@xswap-link/sdk 0.10.11 → 0.10.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/index.global.js +456 -456
- package/dist/index.js +3 -3
- package/dist/index.mjs +3 -3
- package/package.json +2 -1
- package/polyfills/buffer.js +12 -0
- package/src/context/SwapProvider.tsx +11 -2
- package/tsup.config.ts +1 -0
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Mh=Object.create;var zc=Object.defineProperty;var Oh=Object.getOwnPropertyDescriptor;var Bh=Object.getOwnPropertyNames;var Lh=Object.getPrototypeOf,Dh=Object.prototype.hasOwnProperty;var Fh=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Ue=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Fn=(t,e)=>{for(var r in e)zc(t,r,{get:e[r],enumerable:!0})},Uh=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Bh(e))!Dh.call(t,o)&&o!==r&&zc(t,o,{get:()=>e[o],enumerable:!(n=Oh(e,o))||n.enumerable});return t};var Mo=(t,e,r)=>(r=t!=null?Mh(Lh(t)):{},Uh(e||!t||!t.__esModule?zc(r,"default",{value:t,enumerable:!0}):r,t));var ol=Ue((e7,es)=>{"use strict";(function(){"use strict";var t="input is invalid type",e="finalize already called",r=typeof window=="object",n=r?window:{};n.JS_SHA3_NO_WINDOW&&(r=!1);var o=!r&&typeof self=="object",a=!n.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;a?n=global:o&&(n=self);var i=!n.JS_SHA3_NO_COMMON_JS&&typeof es=="object"&&es.exports,s=typeof define=="function"&&define.amd,c=!n.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",d="0123456789abcdef".split(""),f=[31,7936,2031616,520093696],u=[4,1024,262144,67108864],x=[1,256,65536,16777216],m=[6,1536,393216,100663296],p=[0,8,16,24],h=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],w=[224,256,384,512],b=[128,256],T=["hex","buffer","arrayBuffer","array","digest"],k={128:168,256:136};(n.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(l){return Object.prototype.toString.call(l)==="[object Array]"}),c&&(n.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(l){return typeof l=="object"&&l.buffer&&l.buffer.constructor===ArrayBuffer});for(var O=function(l,E,v){return function(I){return new g(l,E,l).update(I)[v]()}},C=function(l,E,v){return function(I,V){return new g(l,E,V).update(I)[v]()}},B=function(l,E,v){return function(I,V,q,ee){return X["cshake"+l].update(I,V,q,ee)[v]()}},P=function(l,E,v){return function(I,V,q,ee){return X["kmac"+l].update(I,V,q,ee)[v]()}},L=function(l,E,v,I){for(var V=0;V<T.length;++V){var q=T[V];l[q]=E(v,I,q)}return l},F=function(l,E){var v=O(l,E,"hex");return v.create=function(){return new g(l,E,l)},v.update=function(I){return v.create().update(I)},L(v,O,l,E)},J=function(l,E){var v=C(l,E,"hex");return v.create=function(I){return new g(l,E,I)},v.update=function(I,V){return v.create(V).update(I)},L(v,C,l,E)},M=function(l,E){var v=k[l],I=B(l,E,"hex");return I.create=function(V,q,ee){return!q&&!ee?X["shake"+l].create(V):new g(l,E,V).bytepad([q,ee],v)},I.update=function(V,q,ee,Z){return I.create(q,ee,Z).update(V)},L(I,B,l,E)},H=function(l,E){var v=k[l],I=P(l,E,"hex");return I.create=function(V,q,ee){return new A(l,E,q).bytepad(["KMAC",ee],v).bytepad([V],v)},I.update=function(V,q,ee,Z){return I.create(V,ee,Z).update(q)},L(I,P,l,E)},G=[{name:"keccak",padding:x,bits:w,createMethod:F},{name:"sha3",padding:m,bits:w,createMethod:F},{name:"shake",padding:f,bits:b,createMethod:J},{name:"cshake",padding:u,bits:b,createMethod:M},{name:"kmac",padding:u,bits:b,createMethod:H}],X={},z=[],te=0;te<G.length;++te)for(var j=G[te],$=j.bits,y=0;y<$.length;++y){var S=j.name+"_"+$[y];if(z.push(S),X[S]=j.createMethod($[y],j.padding),j.name!=="sha3"){var D=j.name+$[y];z.push(D),X[D]=X[S]}}function g(l,E,v){this.blocks=[],this.s=[],this.padding=E,this.outputBits=v,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(l<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=v>>5,this.extraBytes=(v&31)>>3;for(var I=0;I<50;++I)this.s[I]=0}g.prototype.update=function(l){if(this.finalized)throw new Error(e);var E,v=typeof l;if(v!=="string"){if(v==="object"){if(l===null)throw new Error(t);if(c&&l.constructor===ArrayBuffer)l=new Uint8Array(l);else if(!Array.isArray(l)&&(!c||!ArrayBuffer.isView(l)))throw new Error(t)}else throw new Error(t);E=!0}for(var I=this.blocks,V=this.byteCount,q=l.length,ee=this.blockCount,Z=0,ke=this.s,oe,Ce;Z<q;){if(this.reset)for(this.reset=!1,I[0]=this.block,oe=1;oe<ee+1;++oe)I[oe]=0;if(E)for(oe=this.start;Z<q&&oe<V;++Z)I[oe>>2]|=l[Z]<<p[oe++&3];else for(oe=this.start;Z<q&&oe<V;++Z)Ce=l.charCodeAt(Z),Ce<128?I[oe>>2]|=Ce<<p[oe++&3]:Ce<2048?(I[oe>>2]|=(192|Ce>>6)<<p[oe++&3],I[oe>>2]|=(128|Ce&63)<<p[oe++&3]):Ce<55296||Ce>=57344?(I[oe>>2]|=(224|Ce>>12)<<p[oe++&3],I[oe>>2]|=(128|Ce>>6&63)<<p[oe++&3],I[oe>>2]|=(128|Ce&63)<<p[oe++&3]):(Ce=65536+((Ce&1023)<<10|l.charCodeAt(++Z)&1023),I[oe>>2]|=(240|Ce>>18)<<p[oe++&3],I[oe>>2]|=(128|Ce>>12&63)<<p[oe++&3],I[oe>>2]|=(128|Ce>>6&63)<<p[oe++&3],I[oe>>2]|=(128|Ce&63)<<p[oe++&3]);if(this.lastByteIndex=oe,oe>=V){for(this.start=oe-V,this.block=I[ee],oe=0;oe<ee;++oe)ke[oe]^=I[oe];U(ke),this.reset=!0}else this.start=oe}return this},g.prototype.encode=function(l,E){var v=l&255,I=1,V=[v];for(l=l>>8,v=l&255;v>0;)V.unshift(v),l=l>>8,v=l&255,++I;return E?V.push(I):V.unshift(I),this.update(V),V.length},g.prototype.encodeString=function(l){var E,v=typeof l;if(v!=="string"){if(v==="object"){if(l===null)throw new Error(t);if(c&&l.constructor===ArrayBuffer)l=new Uint8Array(l);else if(!Array.isArray(l)&&(!c||!ArrayBuffer.isView(l)))throw new Error(t)}else throw new Error(t);E=!0}var I=0,V=l.length;if(E)I=V;else for(var q=0;q<l.length;++q){var ee=l.charCodeAt(q);ee<128?I+=1:ee<2048?I+=2:ee<55296||ee>=57344?I+=3:(ee=65536+((ee&1023)<<10|l.charCodeAt(++q)&1023),I+=4)}return I+=this.encode(I*8),this.update(l),I},g.prototype.bytepad=function(l,E){for(var v=this.encode(E),I=0;I<l.length;++I)v+=this.encodeString(l[I]);var V=E-v%E,q=[];return q.length=V,this.update(q),this},g.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var l=this.blocks,E=this.lastByteIndex,v=this.blockCount,I=this.s;if(l[E>>2]|=this.padding[E&3],this.lastByteIndex===this.byteCount)for(l[0]=l[v],E=1;E<v+1;++E)l[E]=0;for(l[v-1]|=2147483648,E=0;E<v;++E)I[E]^=l[E];U(I)}},g.prototype.toString=g.prototype.hex=function(){this.finalize();for(var l=this.blockCount,E=this.s,v=this.outputBlocks,I=this.extraBytes,V=0,q=0,ee="",Z;q<v;){for(V=0;V<l&&q<v;++V,++q)Z=E[V],ee+=d[Z>>4&15]+d[Z&15]+d[Z>>12&15]+d[Z>>8&15]+d[Z>>20&15]+d[Z>>16&15]+d[Z>>28&15]+d[Z>>24&15];q%l===0&&(U(E),V=0)}return I&&(Z=E[V],ee+=d[Z>>4&15]+d[Z&15],I>1&&(ee+=d[Z>>12&15]+d[Z>>8&15]),I>2&&(ee+=d[Z>>20&15]+d[Z>>16&15])),ee},g.prototype.arrayBuffer=function(){this.finalize();var l=this.blockCount,E=this.s,v=this.outputBlocks,I=this.extraBytes,V=0,q=0,ee=this.outputBits>>3,Z;I?Z=new ArrayBuffer(v+1<<2):Z=new ArrayBuffer(ee);for(var ke=new Uint32Array(Z);q<v;){for(V=0;V<l&&q<v;++V,++q)ke[q]=E[V];q%l===0&&U(E)}return I&&(ke[V]=E[V],Z=Z.slice(0,ee)),Z},g.prototype.buffer=g.prototype.arrayBuffer,g.prototype.digest=g.prototype.array=function(){this.finalize();for(var l=this.blockCount,E=this.s,v=this.outputBlocks,I=this.extraBytes,V=0,q=0,ee=[],Z,ke;q<v;){for(V=0;V<l&&q<v;++V,++q)Z=q<<2,ke=E[V],ee[Z]=ke&255,ee[Z+1]=ke>>8&255,ee[Z+2]=ke>>16&255,ee[Z+3]=ke>>24&255;q%l===0&&U(E)}return I&&(Z=q<<2,ke=E[V],ee[Z]=ke&255,I>1&&(ee[Z+1]=ke>>8&255),I>2&&(ee[Z+2]=ke>>16&255)),ee};function A(l,E,v){g.call(this,l,E,v)}A.prototype=new g,A.prototype.finalize=function(){return this.encode(this.outputBits,!0),g.prototype.finalize.call(this)};var U=function(l){var E,v,I,V,q,ee,Z,ke,oe,Ce,en,ho,Mn,go,On,bo,Bn,mt,nr,Ct,Ln,yo,wo,vo,Ao,he,Co,Rr,_r,Ee,So,Kt,or,To,ko,Eo,Dn,Po,Io,ar,tn,rn,No,Ro,_o,Q,re,ae,ne,fe,ge,nt,dt,Te,Be,Qe,nn,Ki,Hi,Wi,Gi,qi,Ji;for(I=0;I<48;I+=2)V=l[0]^l[10]^l[20]^l[30]^l[40],q=l[1]^l[11]^l[21]^l[31]^l[41],ee=l[2]^l[12]^l[22]^l[32]^l[42],Z=l[3]^l[13]^l[23]^l[33]^l[43],ke=l[4]^l[14]^l[24]^l[34]^l[44],oe=l[5]^l[15]^l[25]^l[35]^l[45],Ce=l[6]^l[16]^l[26]^l[36]^l[46],en=l[7]^l[17]^l[27]^l[37]^l[47],ho=l[8]^l[18]^l[28]^l[38]^l[48],Mn=l[9]^l[19]^l[29]^l[39]^l[49],E=ho^(ee<<1|Z>>>31),v=Mn^(Z<<1|ee>>>31),l[0]^=E,l[1]^=v,l[10]^=E,l[11]^=v,l[20]^=E,l[21]^=v,l[30]^=E,l[31]^=v,l[40]^=E,l[41]^=v,E=V^(ke<<1|oe>>>31),v=q^(oe<<1|ke>>>31),l[2]^=E,l[3]^=v,l[12]^=E,l[13]^=v,l[22]^=E,l[23]^=v,l[32]^=E,l[33]^=v,l[42]^=E,l[43]^=v,E=ee^(Ce<<1|en>>>31),v=Z^(en<<1|Ce>>>31),l[4]^=E,l[5]^=v,l[14]^=E,l[15]^=v,l[24]^=E,l[25]^=v,l[34]^=E,l[35]^=v,l[44]^=E,l[45]^=v,E=ke^(ho<<1|Mn>>>31),v=oe^(Mn<<1|ho>>>31),l[6]^=E,l[7]^=v,l[16]^=E,l[17]^=v,l[26]^=E,l[27]^=v,l[36]^=E,l[37]^=v,l[46]^=E,l[47]^=v,E=Ce^(V<<1|q>>>31),v=en^(q<<1|V>>>31),l[8]^=E,l[9]^=v,l[18]^=E,l[19]^=v,l[28]^=E,l[29]^=v,l[38]^=E,l[39]^=v,l[48]^=E,l[49]^=v,go=l[0],On=l[1],Q=l[11]<<4|l[10]>>>28,re=l[10]<<4|l[11]>>>28,Rr=l[20]<<3|l[21]>>>29,_r=l[21]<<3|l[20]>>>29,Wi=l[31]<<9|l[30]>>>23,Gi=l[30]<<9|l[31]>>>23,rn=l[40]<<18|l[41]>>>14,No=l[41]<<18|l[40]>>>14,To=l[2]<<1|l[3]>>>31,ko=l[3]<<1|l[2]>>>31,bo=l[13]<<12|l[12]>>>20,Bn=l[12]<<12|l[13]>>>20,ae=l[22]<<10|l[23]>>>22,ne=l[23]<<10|l[22]>>>22,Ee=l[33]<<13|l[32]>>>19,So=l[32]<<13|l[33]>>>19,qi=l[42]<<2|l[43]>>>30,Ji=l[43]<<2|l[42]>>>30,Te=l[5]<<30|l[4]>>>2,Be=l[4]<<30|l[5]>>>2,Eo=l[14]<<6|l[15]>>>26,Dn=l[15]<<6|l[14]>>>26,mt=l[25]<<11|l[24]>>>21,nr=l[24]<<11|l[25]>>>21,fe=l[34]<<15|l[35]>>>17,ge=l[35]<<15|l[34]>>>17,Kt=l[45]<<29|l[44]>>>3,or=l[44]<<29|l[45]>>>3,vo=l[6]<<28|l[7]>>>4,Ao=l[7]<<28|l[6]>>>4,Qe=l[17]<<23|l[16]>>>9,nn=l[16]<<23|l[17]>>>9,Po=l[26]<<25|l[27]>>>7,Io=l[27]<<25|l[26]>>>7,Ct=l[36]<<21|l[37]>>>11,Ln=l[37]<<21|l[36]>>>11,nt=l[47]<<24|l[46]>>>8,dt=l[46]<<24|l[47]>>>8,Ro=l[8]<<27|l[9]>>>5,_o=l[9]<<27|l[8]>>>5,he=l[18]<<20|l[19]>>>12,Co=l[19]<<20|l[18]>>>12,Ki=l[29]<<7|l[28]>>>25,Hi=l[28]<<7|l[29]>>>25,ar=l[38]<<8|l[39]>>>24,tn=l[39]<<8|l[38]>>>24,yo=l[48]<<14|l[49]>>>18,wo=l[49]<<14|l[48]>>>18,l[0]=go^~bo&mt,l[1]=On^~Bn&nr,l[10]=vo^~he&Rr,l[11]=Ao^~Co&_r,l[20]=To^~Eo&Po,l[21]=ko^~Dn&Io,l[30]=Ro^~Q&ae,l[31]=_o^~re&ne,l[40]=Te^~Qe&Ki,l[41]=Be^~nn&Hi,l[2]=bo^~mt&Ct,l[3]=Bn^~nr&Ln,l[12]=he^~Rr&Ee,l[13]=Co^~_r&So,l[22]=Eo^~Po&ar,l[23]=Dn^~Io&tn,l[32]=Q^~ae&fe,l[33]=re^~ne&ge,l[42]=Qe^~Ki&Wi,l[43]=nn^~Hi&Gi,l[4]=mt^~Ct&yo,l[5]=nr^~Ln&wo,l[14]=Rr^~Ee&Kt,l[15]=_r^~So&or,l[24]=Po^~ar&rn,l[25]=Io^~tn&No,l[34]=ae^~fe&nt,l[35]=ne^~ge&dt,l[44]=Ki^~Wi&qi,l[45]=Hi^~Gi&Ji,l[6]=Ct^~yo&go,l[7]=Ln^~wo&On,l[16]=Ee^~Kt&vo,l[17]=So^~or&Ao,l[26]=ar^~rn&To,l[27]=tn^~No&ko,l[36]=fe^~nt&Ro,l[37]=ge^~dt&_o,l[46]=Wi^~qi&Te,l[47]=Gi^~Ji&Be,l[8]=yo^~go&bo,l[9]=wo^~On&Bn,l[18]=Kt^~vo&he,l[19]=or^~Ao&Co,l[28]=rn^~To&Eo,l[29]=No^~ko&Dn,l[38]=nt^~Ro&Q,l[39]=dt^~_o&re,l[48]=qi^~Te&Qe,l[49]=Ji^~Be&nn,l[0]^=h[I],l[1]^=h[I+1]};if(i)es.exports=X;else{for(te=0;te<z.length;++te)n[z[te]]=X[z[te]];s&&define(function(){return X})}})()});var Qo=Ue((qw,eu)=>{"use strict";eu.exports=$l;function $l(t,e){if(!t)throw new Error(e||"Assertion failed")}$l.equal=function(e,r,n){if(e!=r)throw new Error(n||"Assertion failed: "+e+" != "+r)}});var tu=Ue((Jw,C0)=>{"use strict";typeof Object.create=="function"?C0.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:C0.exports=function(e,r){if(r){e.super_=r;var n=function(){};n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}}});var ru=Ue((zw,T0)=>{"use strict";try{if(S0=Fh("util"),typeof S0.inherits!="function")throw"";T0.exports=S0.inherits}catch{T0.exports=tu()}var S0});var Jt=Ue(Ae=>{"use strict";var z2=Qo(),Q2=ru();Ae.inherits=Q2;function X2(t,e){return(t.charCodeAt(e)&64512)!==55296||e<0||e+1>=t.length?!1:(t.charCodeAt(e+1)&64512)===56320}function Z2(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if(typeof t=="string")if(e){if(e==="hex")for(t=t.replace(/[^a-z0-9]+/ig,""),t.length%2!==0&&(t="0"+t),o=0;o<t.length;o+=2)r.push(parseInt(t[o]+t[o+1],16))}else for(var n=0,o=0;o<t.length;o++){var a=t.charCodeAt(o);a<128?r[n++]=a:a<2048?(r[n++]=a>>6|192,r[n++]=a&63|128):X2(t,o)?(a=65536+((a&1023)<<10)+(t.charCodeAt(++o)&1023),r[n++]=a>>18|240,r[n++]=a>>12&63|128,r[n++]=a>>6&63|128,r[n++]=a&63|128):(r[n++]=a>>12|224,r[n++]=a>>6&63|128,r[n++]=a&63|128)}else for(o=0;o<t.length;o++)r[o]=t[o]|0;return r}Ae.toArray=Z2;function Y2(t){for(var e="",r=0;r<t.length;r++)e+=ou(t[r].toString(16));return e}Ae.toHex=Y2;function nu(t){var e=t>>>24|t>>>8&65280|t<<8&16711680|(t&255)<<24;return e>>>0}Ae.htonl=nu;function j2(t,e){for(var r="",n=0;n<t.length;n++){var o=t[n];e==="little"&&(o=nu(o)),r+=au(o.toString(16))}return r}Ae.toHex32=j2;function ou(t){return t.length===1?"0"+t:t}Ae.zero2=ou;function au(t){return t.length===7?"0"+t:t.length===6?"00"+t:t.length===5?"000"+t:t.length===4?"0000"+t:t.length===3?"00000"+t:t.length===2?"000000"+t:t.length===1?"0000000"+t:t}Ae.zero8=au;function $2(t,e,r,n){var o=r-e;z2(o%4===0);for(var a=new Array(o/4),i=0,s=e;i<a.length;i++,s+=4){var c;n==="big"?c=t[s]<<24|t[s+1]<<16|t[s+2]<<8|t[s+3]:c=t[s+3]<<24|t[s+2]<<16|t[s+1]<<8|t[s],a[i]=c>>>0}return a}Ae.join32=$2;function e5(t,e){for(var r=new Array(t.length*4),n=0,o=0;n<t.length;n++,o+=4){var a=t[n];e==="big"?(r[o]=a>>>24,r[o+1]=a>>>16&255,r[o+2]=a>>>8&255,r[o+3]=a&255):(r[o+3]=a>>>24,r[o+2]=a>>>16&255,r[o+1]=a>>>8&255,r[o]=a&255)}return r}Ae.split32=e5;function t5(t,e){return t>>>e|t<<32-e}Ae.rotr32=t5;function r5(t,e){return t<<e|t>>>32-e}Ae.rotl32=r5;function n5(t,e){return t+e>>>0}Ae.sum32=n5;function o5(t,e,r){return t+e+r>>>0}Ae.sum32_3=o5;function a5(t,e,r,n){return t+e+r+n>>>0}Ae.sum32_4=a5;function i5(t,e,r,n,o){return t+e+r+n+o>>>0}Ae.sum32_5=i5;function s5(t,e,r,n){var o=t[e],a=t[e+1],i=n+a>>>0,s=(i<n?1:0)+r+o;t[e]=s>>>0,t[e+1]=i}Ae.sum64=s5;function c5(t,e,r,n){var o=e+n>>>0,a=(o<e?1:0)+t+r;return a>>>0}Ae.sum64_hi=c5;function d5(t,e,r,n){var o=e+n;return o>>>0}Ae.sum64_lo=d5;function f5(t,e,r,n,o,a,i,s){var c=0,d=e;d=d+n>>>0,c+=d<e?1:0,d=d+a>>>0,c+=d<a?1:0,d=d+s>>>0,c+=d<s?1:0;var f=t+r+o+i+c;return f>>>0}Ae.sum64_4_hi=f5;function l5(t,e,r,n,o,a,i,s){var c=e+n+a+s;return c>>>0}Ae.sum64_4_lo=l5;function u5(t,e,r,n,o,a,i,s,c,d){var f=0,u=e;u=u+n>>>0,f+=u<e?1:0,u=u+a>>>0,f+=u<a?1:0,u=u+s>>>0,f+=u<s?1:0,u=u+d>>>0,f+=u<d?1:0;var x=t+r+o+i+c+f;return x>>>0}Ae.sum64_5_hi=u5;function p5(t,e,r,n,o,a,i,s,c,d){var f=e+n+a+s+d;return f>>>0}Ae.sum64_5_lo=p5;function m5(t,e,r){var n=e<<32-r|t>>>r;return n>>>0}Ae.rotr64_hi=m5;function x5(t,e,r){var n=t<<32-r|e>>>r;return n>>>0}Ae.rotr64_lo=x5;function h5(t,e,r){return t>>>r}Ae.shr64_hi=h5;function g5(t,e,r){var n=t<<32-r|e>>>r;return n>>>0}Ae.shr64_lo=g5});var Xo=Ue(su=>{"use strict";var iu=Jt(),b5=Qo();function vs(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}su.BlockHash=vs;vs.prototype.update=function(e,r){if(e=iu.toArray(e,r),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var n=e.length%this._delta8;this.pending=e.slice(e.length-n,e.length),this.pending.length===0&&(this.pending=null),e=iu.join32(e,0,e.length-n,this.endian);for(var o=0;o<e.length;o+=this._delta32)this._update(e,o,o+this._delta32)}return this};vs.prototype.digest=function(e){return this.update(this._pad()),b5(this.pending===null),this._digest(e)};vs.prototype._pad=function(){var e=this.pendingTotal,r=this._delta8,n=r-(e+this.padLength)%r,o=new Array(n+this.padLength);o[0]=128;for(var a=1;a<n;a++)o[a]=0;if(e<<=3,this.endian==="big"){for(var i=8;i<this.padLength;i++)o[a++]=0;o[a++]=0,o[a++]=0,o[a++]=0,o[a++]=0,o[a++]=e>>>24&255,o[a++]=e>>>16&255,o[a++]=e>>>8&255,o[a++]=e&255}else for(o[a++]=e&255,o[a++]=e>>>8&255,o[a++]=e>>>16&255,o[a++]=e>>>24&255,o[a++]=0,o[a++]=0,o[a++]=0,o[a++]=0,i=8;i<this.padLength;i++)o[a++]=0;return o}});var k0=Ue(Vr=>{"use strict";var y5=Jt(),pr=y5.rotr32;function w5(t,e,r,n){if(t===0)return cu(e,r,n);if(t===1||t===3)return fu(e,r,n);if(t===2)return du(e,r,n)}Vr.ft_1=w5;function cu(t,e,r){return t&e^~t&r}Vr.ch32=cu;function du(t,e,r){return t&e^t&r^e&r}Vr.maj32=du;function fu(t,e,r){return t^e^r}Vr.p32=fu;function v5(t){return pr(t,2)^pr(t,13)^pr(t,22)}Vr.s0_256=v5;function A5(t){return pr(t,6)^pr(t,11)^pr(t,25)}Vr.s1_256=A5;function C5(t){return pr(t,7)^pr(t,18)^t>>>3}Vr.g0_256=C5;function S5(t){return pr(t,17)^pr(t,19)^t>>>10}Vr.g1_256=S5});var pu=Ue((Yw,uu)=>{"use strict";var Zo=Jt(),T5=Xo(),k5=k0(),E0=Zo.rotl32,$a=Zo.sum32,E5=Zo.sum32_5,P5=k5.ft_1,lu=T5.BlockHash,I5=[1518500249,1859775393,2400959708,3395469782];function mr(){if(!(this instanceof mr))return new mr;lu.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}Zo.inherits(mr,lu);uu.exports=mr;mr.blockSize=512;mr.outSize=160;mr.hmacStrength=80;mr.padLength=64;mr.prototype._update=function(e,r){for(var n=this.W,o=0;o<16;o++)n[o]=e[r+o];for(;o<n.length;o++)n[o]=E0(n[o-3]^n[o-8]^n[o-14]^n[o-16],1);var a=this.h[0],i=this.h[1],s=this.h[2],c=this.h[3],d=this.h[4];for(o=0;o<n.length;o++){var f=~~(o/20),u=E5(E0(a,5),P5(f,i,s,c),d,n[o],I5[f]);d=c,c=s,s=E0(i,30),i=a,a=u}this.h[0]=$a(this.h[0],a),this.h[1]=$a(this.h[1],i),this.h[2]=$a(this.h[2],s),this.h[3]=$a(this.h[3],c),this.h[4]=$a(this.h[4],d)};mr.prototype._digest=function(e){return e==="hex"?Zo.toHex32(this.h,"big"):Zo.split32(this.h,"big")}});var P0=Ue((jw,xu)=>{"use strict";var Yo=Jt(),N5=Xo(),jo=k0(),R5=Qo(),zt=Yo.sum32,_5=Yo.sum32_4,M5=Yo.sum32_5,O5=jo.ch32,B5=jo.maj32,L5=jo.s0_256,D5=jo.s1_256,F5=jo.g0_256,U5=jo.g1_256,mu=N5.BlockHash,V5=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function xr(){if(!(this instanceof xr))return new xr;mu.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=V5,this.W=new Array(64)}Yo.inherits(xr,mu);xu.exports=xr;xr.blockSize=512;xr.outSize=256;xr.hmacStrength=192;xr.padLength=64;xr.prototype._update=function(e,r){for(var n=this.W,o=0;o<16;o++)n[o]=e[r+o];for(;o<n.length;o++)n[o]=_5(U5(n[o-2]),n[o-7],F5(n[o-15]),n[o-16]);var a=this.h[0],i=this.h[1],s=this.h[2],c=this.h[3],d=this.h[4],f=this.h[5],u=this.h[6],x=this.h[7];for(R5(this.k.length===n.length),o=0;o<n.length;o++){var m=M5(x,D5(d),O5(d,f,u),this.k[o],n[o]),p=zt(L5(a),B5(a,i,s));x=u,u=f,f=d,d=zt(c,m),c=s,s=i,i=a,a=zt(m,p)}this.h[0]=zt(this.h[0],a),this.h[1]=zt(this.h[1],i),this.h[2]=zt(this.h[2],s),this.h[3]=zt(this.h[3],c),this.h[4]=zt(this.h[4],d),this.h[5]=zt(this.h[5],f),this.h[6]=zt(this.h[6],u),this.h[7]=zt(this.h[7],x)};xr.prototype._digest=function(e){return e==="hex"?Yo.toHex32(this.h,"big"):Yo.split32(this.h,"big")}});var bu=Ue(($w,gu)=>{"use strict";var I0=Jt(),hu=P0();function Kr(){if(!(this instanceof Kr))return new Kr;hu.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}I0.inherits(Kr,hu);gu.exports=Kr;Kr.blockSize=512;Kr.outSize=224;Kr.hmacStrength=192;Kr.padLength=64;Kr.prototype._digest=function(e){return e==="hex"?I0.toHex32(this.h.slice(0,7),"big"):I0.split32(this.h.slice(0,7),"big")}});var _0=Ue((ev,Au)=>{"use strict";var ut=Jt(),K5=Xo(),H5=Qo(),hr=ut.rotr64_hi,gr=ut.rotr64_lo,yu=ut.shr64_hi,wu=ut.shr64_lo,dn=ut.sum64,N0=ut.sum64_hi,R0=ut.sum64_lo,W5=ut.sum64_4_hi,G5=ut.sum64_4_lo,q5=ut.sum64_5_hi,J5=ut.sum64_5_lo,vu=K5.BlockHash,z5=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Qt(){if(!(this instanceof Qt))return new Qt;vu.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=z5,this.W=new Array(160)}ut.inherits(Qt,vu);Au.exports=Qt;Qt.blockSize=1024;Qt.outSize=512;Qt.hmacStrength=192;Qt.padLength=128;Qt.prototype._prepareBlock=function(e,r){for(var n=this.W,o=0;o<32;o++)n[o]=e[r+o];for(;o<n.length;o+=2){var a=o3(n[o-4],n[o-3]),i=a3(n[o-4],n[o-3]),s=n[o-14],c=n[o-13],d=r3(n[o-30],n[o-29]),f=n3(n[o-30],n[o-29]),u=n[o-32],x=n[o-31];n[o]=W5(a,i,s,c,d,f,u,x),n[o+1]=G5(a,i,s,c,d,f,u,x)}};Qt.prototype._update=function(e,r){this._prepareBlock(e,r);var n=this.W,o=this.h[0],a=this.h[1],i=this.h[2],s=this.h[3],c=this.h[4],d=this.h[5],f=this.h[6],u=this.h[7],x=this.h[8],m=this.h[9],p=this.h[10],h=this.h[11],w=this.h[12],b=this.h[13],T=this.h[14],k=this.h[15];H5(this.k.length===n.length);for(var O=0;O<n.length;O+=2){var C=T,B=k,P=e3(x,m),L=t3(x,m),F=Q5(x,m,p,h,w,b),J=X5(x,m,p,h,w,b),M=this.k[O],H=this.k[O+1],G=n[O],X=n[O+1],z=q5(C,B,P,L,F,J,M,H,G,X),te=J5(C,B,P,L,F,J,M,H,G,X);C=j5(o,a),B=$5(o,a),P=Z5(o,a,i,s,c,d),L=Y5(o,a,i,s,c,d);var j=N0(C,B,P,L),$=R0(C,B,P,L);T=w,k=b,w=p,b=h,p=x,h=m,x=N0(f,u,z,te),m=R0(u,u,z,te),f=c,u=d,c=i,d=s,i=o,s=a,o=N0(z,te,j,$),a=R0(z,te,j,$)}dn(this.h,0,o,a),dn(this.h,2,i,s),dn(this.h,4,c,d),dn(this.h,6,f,u),dn(this.h,8,x,m),dn(this.h,10,p,h),dn(this.h,12,w,b),dn(this.h,14,T,k)};Qt.prototype._digest=function(e){return e==="hex"?ut.toHex32(this.h,"big"):ut.split32(this.h,"big")};function Q5(t,e,r,n,o){var a=t&r^~t&o;return a<0&&(a+=4294967296),a}function X5(t,e,r,n,o,a){var i=e&n^~e&a;return i<0&&(i+=4294967296),i}function Z5(t,e,r,n,o){var a=t&r^t&o^r&o;return a<0&&(a+=4294967296),a}function Y5(t,e,r,n,o,a){var i=e&n^e&a^n&a;return i<0&&(i+=4294967296),i}function j5(t,e){var r=hr(t,e,28),n=hr(e,t,2),o=hr(e,t,7),a=r^n^o;return a<0&&(a+=4294967296),a}function $5(t,e){var r=gr(t,e,28),n=gr(e,t,2),o=gr(e,t,7),a=r^n^o;return a<0&&(a+=4294967296),a}function e3(t,e){var r=hr(t,e,14),n=hr(t,e,18),o=hr(e,t,9),a=r^n^o;return a<0&&(a+=4294967296),a}function t3(t,e){var r=gr(t,e,14),n=gr(t,e,18),o=gr(e,t,9),a=r^n^o;return a<0&&(a+=4294967296),a}function r3(t,e){var r=hr(t,e,1),n=hr(t,e,8),o=yu(t,e,7),a=r^n^o;return a<0&&(a+=4294967296),a}function n3(t,e){var r=gr(t,e,1),n=gr(t,e,8),o=wu(t,e,7),a=r^n^o;return a<0&&(a+=4294967296),a}function o3(t,e){var r=hr(t,e,19),n=hr(e,t,29),o=yu(t,e,6),a=r^n^o;return a<0&&(a+=4294967296),a}function a3(t,e){var r=gr(t,e,19),n=gr(e,t,29),o=wu(t,e,6),a=r^n^o;return a<0&&(a+=4294967296),a}});var Tu=Ue((tv,Su)=>{"use strict";var M0=Jt(),Cu=_0();function Hr(){if(!(this instanceof Hr))return new Hr;Cu.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}M0.inherits(Hr,Cu);Su.exports=Hr;Hr.blockSize=1024;Hr.outSize=384;Hr.hmacStrength=192;Hr.padLength=128;Hr.prototype._digest=function(e){return e==="hex"?M0.toHex32(this.h.slice(0,12),"big"):M0.split32(this.h.slice(0,12),"big")}});var ku=Ue($o=>{"use strict";$o.sha1=pu();$o.sha224=bu();$o.sha256=P0();$o.sha384=Tu();$o.sha512=_0()});var _u=Ue(Ru=>{"use strict";var qn=Jt(),i3=Xo(),As=qn.rotl32,Eu=qn.sum32,ei=qn.sum32_3,Pu=qn.sum32_4,Nu=i3.BlockHash;function br(){if(!(this instanceof br))return new br;Nu.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}qn.inherits(br,Nu);Ru.ripemd160=br;br.blockSize=512;br.outSize=160;br.hmacStrength=192;br.padLength=64;br.prototype._update=function(e,r){for(var n=this.h[0],o=this.h[1],a=this.h[2],i=this.h[3],s=this.h[4],c=n,d=o,f=a,u=i,x=s,m=0;m<80;m++){var p=Eu(As(Pu(n,Iu(m,o,a,i),e[d3[m]+r],s3(m)),l3[m]),s);n=s,s=i,i=As(a,10),a=o,o=p,p=Eu(As(Pu(c,Iu(79-m,d,f,u),e[f3[m]+r],c3(m)),u3[m]),x),c=x,x=u,u=As(f,10),f=d,d=p}p=ei(this.h[1],a,u),this.h[1]=ei(this.h[2],i,x),this.h[2]=ei(this.h[3],s,c),this.h[3]=ei(this.h[4],n,d),this.h[4]=ei(this.h[0],o,f),this.h[0]=p};br.prototype._digest=function(e){return e==="hex"?qn.toHex32(this.h,"little"):qn.split32(this.h,"little")};function Iu(t,e,r,n){return t<=15?e^r^n:t<=31?e&r|~e&n:t<=47?(e|~r)^n:t<=63?e&n|r&~n:e^(r|~n)}function s3(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function c3(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}var d3=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],f3=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],l3=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],u3=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]});var Ou=Ue((ov,Mu)=>{"use strict";var p3=Jt(),m3=Qo();function ea(t,e,r){if(!(this instanceof ea))return new ea(t,e,r);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(p3.toArray(e,r))}Mu.exports=ea;ea.prototype._init=function(e){e.length>this.blockSize&&(e=new this.Hash().update(e).digest()),m3(e.length<=this.blockSize);for(var r=e.length;r<this.blockSize;r++)e.push(0);for(r=0;r<e.length;r++)e[r]^=54;for(this.inner=new this.Hash().update(e),r=0;r<e.length;r++)e[r]^=106;this.outer=new this.Hash().update(e)};ea.prototype.update=function(e,r){return this.inner.update(e,r),this};ea.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}});var O0=Ue(Bu=>{"use strict";var Ge=Bu;Ge.utils=Jt();Ge.common=Xo();Ge.sha=ku();Ge.ripemd=_u();Ge.hmac=Ou();Ge.sha1=Ge.sha.sha1;Ge.sha256=Ge.sha.sha256;Ge.sha224=Ge.sha.sha224;Ge.sha384=Ge.sha.sha384;Ge.sha512=Ge.sha.sha512;Ge.ripemd160=Ge.ripemd.ripemd160});var ed=Ue(($0,fp)=>{"use strict";(function(t){function e(y){return parseInt(y)===y}function r(y){if(!e(y.length))return!1;for(var S=0;S<y.length;S++)if(!e(y[S])||y[S]<0||y[S]>255)return!1;return!0}function n(y,S){if(y.buffer&&ArrayBuffer.isView(y)&&y.name==="Uint8Array")return S&&(y.slice?y=y.slice():y=Array.prototype.slice.call(y)),y;if(Array.isArray(y)){if(!r(y))throw new Error("Array contains invalid value: "+y);return new Uint8Array(y)}if(e(y.length)&&r(y))return new Uint8Array(y);throw new Error("unsupported array-like object")}function o(y){return new Uint8Array(y)}function a(y,S,D,g,A){(g!=null||A!=null)&&(y.slice?y=y.slice(g,A):y=Array.prototype.slice.call(y,g,A)),S.set(y,D)}var i=function(){function y(D){var g=[],A=0;for(D=encodeURI(D);A<D.length;){var U=D.charCodeAt(A++);U===37?(g.push(parseInt(D.substr(A,2),16)),A+=2):g.push(U)}return n(g)}function S(D){for(var g=[],A=0;A<D.length;){var U=D[A];U<128?(g.push(String.fromCharCode(U)),A++):U>191&&U<224?(g.push(String.fromCharCode((U&31)<<6|D[A+1]&63)),A+=2):(g.push(String.fromCharCode((U&15)<<12|(D[A+1]&63)<<6|D[A+2]&63)),A+=3)}return g.join("")}return{toBytes:y,fromBytes:S}}(),s=function(){function y(g){for(var A=[],U=0;U<g.length;U+=2)A.push(parseInt(g.substr(U,2),16));return A}var S="0123456789abcdef";function D(g){for(var A=[],U=0;U<g.length;U++){var l=g[U];A.push(S[(l&240)>>4]+S[l&15])}return A.join("")}return{toBytes:y,fromBytes:D}}(),c={16:10,24:12,32:14},d=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],f=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],u=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],x=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],m=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],p=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],h=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],w=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],b=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],T=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],k=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],O=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],C=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],B=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],P=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function L(y){for(var S=[],D=0;D<y.length;D+=4)S.push(y[D]<<24|y[D+1]<<16|y[D+2]<<8|y[D+3]);return S}var F=function(y){if(!(this instanceof F))throw Error("AES must be instanitated with `new`");Object.defineProperty(this,"key",{value:n(y,!0)}),this._prepare()};F.prototype._prepare=function(){var y=c[this.key.length];if(y==null)throw new Error("invalid key size (must be 16, 24 or 32 bytes)");this._Ke=[],this._Kd=[];for(var S=0;S<=y;S++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);for(var D=(y+1)*4,g=this.key.length/4,A=L(this.key),U,S=0;S<g;S++)U=S>>2,this._Ke[U][S%4]=A[S],this._Kd[y-U][S%4]=A[S];for(var l=0,E=g,v;E<D;){if(v=A[g-1],A[0]^=f[v>>16&255]<<24^f[v>>8&255]<<16^f[v&255]<<8^f[v>>24&255]^d[l]<<24,l+=1,g!=8)for(var S=1;S<g;S++)A[S]^=A[S-1];else{for(var S=1;S<g/2;S++)A[S]^=A[S-1];v=A[g/2-1],A[g/2]^=f[v&255]^f[v>>8&255]<<8^f[v>>16&255]<<16^f[v>>24&255]<<24;for(var S=g/2+1;S<g;S++)A[S]^=A[S-1]}for(var S=0,I,V;S<g&&E<D;)I=E>>2,V=E%4,this._Ke[I][V]=A[S],this._Kd[y-I][V]=A[S++],E++}for(var I=1;I<y;I++)for(var V=0;V<4;V++)v=this._Kd[I][V],this._Kd[I][V]=O[v>>24&255]^C[v>>16&255]^B[v>>8&255]^P[v&255]},F.prototype.encrypt=function(y){if(y.length!=16)throw new Error("invalid plaintext size (must be 16 bytes)");for(var S=this._Ke.length-1,D=[0,0,0,0],g=L(y),A=0;A<4;A++)g[A]^=this._Ke[0][A];for(var U=1;U<S;U++){for(var A=0;A<4;A++)D[A]=x[g[A]>>24&255]^m[g[(A+1)%4]>>16&255]^p[g[(A+2)%4]>>8&255]^h[g[(A+3)%4]&255]^this._Ke[U][A];g=D.slice()}for(var l=o(16),E,A=0;A<4;A++)E=this._Ke[S][A],l[4*A]=(f[g[A]>>24&255]^E>>24)&255,l[4*A+1]=(f[g[(A+1)%4]>>16&255]^E>>16)&255,l[4*A+2]=(f[g[(A+2)%4]>>8&255]^E>>8)&255,l[4*A+3]=(f[g[(A+3)%4]&255]^E)&255;return l},F.prototype.decrypt=function(y){if(y.length!=16)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var S=this._Kd.length-1,D=[0,0,0,0],g=L(y),A=0;A<4;A++)g[A]^=this._Kd[0][A];for(var U=1;U<S;U++){for(var A=0;A<4;A++)D[A]=w[g[A]>>24&255]^b[g[(A+3)%4]>>16&255]^T[g[(A+2)%4]>>8&255]^k[g[(A+1)%4]&255]^this._Kd[U][A];g=D.slice()}for(var l=o(16),E,A=0;A<4;A++)E=this._Kd[S][A],l[4*A]=(u[g[A]>>24&255]^E>>24)&255,l[4*A+1]=(u[g[(A+3)%4]>>16&255]^E>>16)&255,l[4*A+2]=(u[g[(A+2)%4]>>8&255]^E>>8)&255,l[4*A+3]=(u[g[(A+1)%4]&255]^E)&255;return l};var J=function(y){if(!(this instanceof J))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new F(y)};J.prototype.encrypt=function(y){if(y=n(y),y.length%16!==0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var S=o(y.length),D=o(16),g=0;g<y.length;g+=16)a(y,D,0,g,g+16),D=this._aes.encrypt(D),a(D,S,g);return S},J.prototype.decrypt=function(y){if(y=n(y),y.length%16!==0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var S=o(y.length),D=o(16),g=0;g<y.length;g+=16)a(y,D,0,g,g+16),D=this._aes.decrypt(D),a(D,S,g);return S};var M=function(y,S){if(!(this instanceof M))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Block Chaining",this.name="cbc",!S)S=o(16);else if(S.length!=16)throw new Error("invalid initialation vector size (must be 16 bytes)");this._lastCipherblock=n(S,!0),this._aes=new F(y)};M.prototype.encrypt=function(y){if(y=n(y),y.length%16!==0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var S=o(y.length),D=o(16),g=0;g<y.length;g+=16){a(y,D,0,g,g+16);for(var A=0;A<16;A++)D[A]^=this._lastCipherblock[A];this._lastCipherblock=this._aes.encrypt(D),a(this._lastCipherblock,S,g)}return S},M.prototype.decrypt=function(y){if(y=n(y),y.length%16!==0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var S=o(y.length),D=o(16),g=0;g<y.length;g+=16){a(y,D,0,g,g+16),D=this._aes.decrypt(D);for(var A=0;A<16;A++)S[g+A]=D[A]^this._lastCipherblock[A];a(y,this._lastCipherblock,0,g,g+16)}return S};var H=function(y,S,D){if(!(this instanceof H))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Feedback",this.name="cfb",!S)S=o(16);else if(S.length!=16)throw new Error("invalid initialation vector size (must be 16 size)");D||(D=1),this.segmentSize=D,this._shiftRegister=n(S,!0),this._aes=new F(y)};H.prototype.encrypt=function(y){if(y.length%this.segmentSize!=0)throw new Error("invalid plaintext size (must be segmentSize bytes)");for(var S=n(y,!0),D,g=0;g<S.length;g+=this.segmentSize){D=this._aes.encrypt(this._shiftRegister);for(var A=0;A<this.segmentSize;A++)S[g+A]^=D[A];a(this._shiftRegister,this._shiftRegister,0,this.segmentSize),a(S,this._shiftRegister,16-this.segmentSize,g,g+this.segmentSize)}return S},H.prototype.decrypt=function(y){if(y.length%this.segmentSize!=0)throw new Error("invalid ciphertext size (must be segmentSize bytes)");for(var S=n(y,!0),D,g=0;g<S.length;g+=this.segmentSize){D=this._aes.encrypt(this._shiftRegister);for(var A=0;A<this.segmentSize;A++)S[g+A]^=D[A];a(this._shiftRegister,this._shiftRegister,0,this.segmentSize),a(y,this._shiftRegister,16-this.segmentSize,g,g+this.segmentSize)}return S};var G=function(y,S){if(!(this instanceof G))throw Error("AES must be instanitated with `new`");if(this.description="Output Feedback",this.name="ofb",!S)S=o(16);else if(S.length!=16)throw new Error("invalid initialation vector size (must be 16 bytes)");this._lastPrecipher=n(S,!0),this._lastPrecipherIndex=16,this._aes=new F(y)};G.prototype.encrypt=function(y){for(var S=n(y,!0),D=0;D<S.length;D++)this._lastPrecipherIndex===16&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),S[D]^=this._lastPrecipher[this._lastPrecipherIndex++];return S},G.prototype.decrypt=G.prototype.encrypt;var X=function(y){if(!(this instanceof X))throw Error("Counter must be instanitated with `new`");y!==0&&!y&&(y=1),typeof y=="number"?(this._counter=o(16),this.setValue(y)):this.setBytes(y)};X.prototype.setValue=function(y){if(typeof y!="number"||parseInt(y)!=y)throw new Error("invalid counter value (must be an integer)");for(var S=15;S>=0;--S)this._counter[S]=y%256,y=y>>8},X.prototype.setBytes=function(y){if(y=n(y,!0),y.length!=16)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=y},X.prototype.increment=function(){for(var y=15;y>=0;y--)if(this._counter[y]===255)this._counter[y]=0;else{this._counter[y]++;break}};var z=function(y,S){if(!(this instanceof z))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",S instanceof X||(S=new X(S)),this._counter=S,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new F(y)};z.prototype.encrypt=function(y){for(var S=n(y,!0),D=0;D<S.length;D++)this._remainingCounterIndex===16&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),S[D]^=this._remainingCounter[this._remainingCounterIndex++];return S},z.prototype.decrypt=z.prototype.encrypt;function te(y){y=n(y,!0);var S=16-y.length%16,D=o(y.length+S);a(y,D);for(var g=y.length;g<D.length;g++)D[g]=S;return D}function j(y){if(y=n(y,!0),y.length<16)throw new Error("PKCS#7 invalid length");var S=y[y.length-1];if(S>16)throw new Error("PKCS#7 padding byte out of range");for(var D=y.length-S,g=0;g<S;g++)if(y[D+g]!==S)throw new Error("PKCS#7 invalid padding byte");var A=o(D);return a(y,A,0,0,D),A}var $={AES:F,Counter:X,ModeOfOperation:{ecb:J,cbc:M,cfb:H,ofb:G,ctr:z},utils:{hex:s,utf8:i},padding:{pkcs7:{pad:te,strip:j}},_arrayTest:{coerceArray:n,createArray:o,copyArray:a}};typeof $0<"u"?fp.exports=$:typeof define=="function"&&define.amd?define($):(t.aesjs&&($._aesjs=t.aesjs),t.aesjs=$)})($0)});var pp=Ue((ad,up)=>{"use strict";(function(t){function r(m){let p=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),h=1779033703,w=3144134277,b=1013904242,T=2773480762,k=1359893119,O=2600822924,C=528734635,B=1541459225,P=new Uint32Array(64);function L(z){let te=0,j=z.length;for(;j>=64;){let $=h,y=w,S=b,D=T,g=k,A=O,U=C,l=B,E,v,I,V,q;for(v=0;v<16;v++)I=te+v*4,P[v]=(z[I]&255)<<24|(z[I+1]&255)<<16|(z[I+2]&255)<<8|z[I+3]&255;for(v=16;v<64;v++)E=P[v-2],V=(E>>>17|E<<15)^(E>>>19|E<<13)^E>>>10,E=P[v-15],q=(E>>>7|E<<25)^(E>>>18|E<<14)^E>>>3,P[v]=(V+P[v-7]|0)+(q+P[v-16]|0)|0;for(v=0;v<64;v++)V=(((g>>>6|g<<26)^(g>>>11|g<<21)^(g>>>25|g<<7))+(g&A^~g&U)|0)+(l+(p[v]+P[v]|0)|0)|0,q=(($>>>2|$<<30)^($>>>13|$<<19)^($>>>22|$<<10))+($&y^$&S^y&S)|0,l=U,U=A,A=g,g=D+V|0,D=S,S=y,y=$,$=V+q|0;h=h+$|0,w=w+y|0,b=b+S|0,T=T+D|0,k=k+g|0,O=O+A|0,C=C+U|0,B=B+l|0,te+=64,j-=64}}L(m);let F,J=m.length%64,M=m.length/536870912|0,H=m.length<<3,G=J<56?56:120,X=m.slice(m.length-J,m.length);for(X.push(128),F=J+1;F<G;F++)X.push(0);return X.push(M>>>24&255),X.push(M>>>16&255),X.push(M>>>8&255),X.push(M>>>0&255),X.push(H>>>24&255),X.push(H>>>16&255),X.push(H>>>8&255),X.push(H>>>0&255),L(X),[h>>>24&255,h>>>16&255,h>>>8&255,h>>>0&255,w>>>24&255,w>>>16&255,w>>>8&255,w>>>0&255,b>>>24&255,b>>>16&255,b>>>8&255,b>>>0&255,T>>>24&255,T>>>16&255,T>>>8&255,T>>>0&255,k>>>24&255,k>>>16&255,k>>>8&255,k>>>0&255,O>>>24&255,O>>>16&255,O>>>8&255,O>>>0&255,C>>>24&255,C>>>16&255,C>>>8&255,C>>>0&255,B>>>24&255,B>>>16&255,B>>>8&255,B>>>0&255]}function n(m,p,h){m=m.length<=64?m:r(m);let w=64+p.length+4,b=new Array(w),T=new Array(64),k,O=[];for(k=0;k<64;k++)b[k]=54;for(k=0;k<m.length;k++)b[k]^=m[k];for(k=0;k<p.length;k++)b[64+k]=p[k];for(k=w-4;k<w;k++)b[k]=0;for(k=0;k<64;k++)T[k]=92;for(k=0;k<m.length;k++)T[k]^=m[k];function C(){for(let B=w-1;B>=w-4;B--){if(b[B]++,b[B]<=255)return;b[B]=0}}for(;h>=32;)C(),O=O.concat(r(T.concat(r(b)))),h-=32;return h>0&&(C(),O=O.concat(r(T.concat(r(b))).slice(0,h))),O}function o(m,p,h,w,b){let T;for(c(m,(2*h-1)*16,b,0,16),T=0;T<2*h;T++)s(m,T*16,b,16),i(b,w),c(b,0,m,p+T*16,16);for(T=0;T<h;T++)c(m,p+T*2*16,m,T*16,16);for(T=0;T<h;T++)c(m,p+(T*2+1)*16,m,(T+h)*16,16)}function a(m,p){return m<<p|m>>>32-p}function i(m,p){c(m,0,p,0,16);for(let h=8;h>0;h-=2)p[4]^=a(p[0]+p[12],7),p[8]^=a(p[4]+p[0],9),p[12]^=a(p[8]+p[4],13),p[0]^=a(p[12]+p[8],18),p[9]^=a(p[5]+p[1],7),p[13]^=a(p[9]+p[5],9),p[1]^=a(p[13]+p[9],13),p[5]^=a(p[1]+p[13],18),p[14]^=a(p[10]+p[6],7),p[2]^=a(p[14]+p[10],9),p[6]^=a(p[2]+p[14],13),p[10]^=a(p[6]+p[2],18),p[3]^=a(p[15]+p[11],7),p[7]^=a(p[3]+p[15],9),p[11]^=a(p[7]+p[3],13),p[15]^=a(p[11]+p[7],18),p[1]^=a(p[0]+p[3],7),p[2]^=a(p[1]+p[0],9),p[3]^=a(p[2]+p[1],13),p[0]^=a(p[3]+p[2],18),p[6]^=a(p[5]+p[4],7),p[7]^=a(p[6]+p[5],9),p[4]^=a(p[7]+p[6],13),p[5]^=a(p[4]+p[7],18),p[11]^=a(p[10]+p[9],7),p[8]^=a(p[11]+p[10],9),p[9]^=a(p[8]+p[11],13),p[10]^=a(p[9]+p[8],18),p[12]^=a(p[15]+p[14],7),p[13]^=a(p[12]+p[15],9),p[14]^=a(p[13]+p[12],13),p[15]^=a(p[14]+p[13],18);for(let h=0;h<16;++h)m[h]+=p[h]}function s(m,p,h,w){for(let b=0;b<w;b++)h[b]^=m[p+b]}function c(m,p,h,w,b){for(;b--;)h[w++]=m[p++]}function d(m){if(!m||typeof m.length!="number")return!1;for(let p=0;p<m.length;p++){let h=m[p];if(typeof h!="number"||h%1||h<0||h>=256)return!1}return!0}function f(m,p){if(typeof m!="number"||m%1)throw new Error("invalid "+p);return m}function u(m,p,h,w,b,T,k){if(h=f(h,"N"),w=f(w,"r"),b=f(b,"p"),T=f(T,"dkLen"),h===0||(h&h-1)!==0)throw new Error("N must be power of 2");if(h>2147483647/128/w)throw new Error("N too large");if(w>2147483647/128/b)throw new Error("r too large");if(!d(m))throw new Error("password must be an array or buffer");if(m=Array.prototype.slice.call(m),!d(p))throw new Error("salt must be an array or buffer");p=Array.prototype.slice.call(p);let O=n(m,p,b*128*w),C=new Uint32Array(b*32*w);for(let g=0;g<C.length;g++){let A=g*4;C[g]=(O[A+3]&255)<<24|(O[A+2]&255)<<16|(O[A+1]&255)<<8|(O[A+0]&255)<<0}let B=new Uint32Array(64*w),P=new Uint32Array(32*w*h),L=32*w,F=new Uint32Array(16),J=new Uint32Array(16),M=b*h*2,H=0,G=null,X=!1,z=0,te=0,j,$,y=k?parseInt(1e3/w):4294967295,S=typeof setImmediate<"u"?setImmediate:setTimeout,D=function(){if(X)return k(new Error("cancelled"),H/M);let g;switch(z){case 0:$=te*32*w,c(C,$,B,0,L),z=1,j=0;case 1:g=h-j,g>y&&(g=y);for(let U=0;U<g;U++)c(B,0,P,(j+U)*L,L),o(B,L,w,F,J);if(j+=g,H+=g,k){let U=parseInt(1e3*H/M);if(U!==G){if(X=k(null,H/M),X)break;G=U}}if(j<h)break;j=0,z=2;case 2:g=h-j,g>y&&(g=y);for(let U=0;U<g;U++){let l=(2*w-1)*16,E=B[l]&h-1;s(P,E*L,B,L),o(B,L,w,F,J)}if(j+=g,H+=g,k){let U=parseInt(1e3*H/M);if(U!==G){if(X=k(null,H/M),X)break;G=U}}if(j<h)break;if(c(B,0,C,$,L),te++,te<b){z=0;break}O=[];for(let U=0;U<C.length;U++)O.push(C[U]>>0&255),O.push(C[U]>>8&255),O.push(C[U]>>16&255),O.push(C[U]>>24&255);let A=n(m,O,T);return k&&k(null,1,A),A}k&&S(D)};if(!k)for(;;){let g=D();if(g!=null)return g}D()}let x={scrypt:function(m,p,h,w,b,T,k){return new Promise(function(O,C){let B=0;k&&k(0),u(m,p,h,w,b,T,function(P,L,F){if(P)C(P);else if(F)k&&B!==1&&k(1),O(new Uint8Array(F));else if(k&&L!==B)return B=L,k(L)})})},syncScrypt:function(m,p,h,w,b,T){return new Uint8Array(u(m,p,h,w,b,T))}};typeof ad<"u"?up.exports=x:typeof define=="function"&&define.amd?define(x):t&&(t.scrypt&&(t._scrypt=t.scrypt),t.scrypt=x)})(ad)});import{jsx as Vh}from"react/jsx-runtime";var Rf=()=>Vh("div",{style:{zIndex:10,top:0,right:0,bottom:0,left:0,backgroundColor:"rgba(0,0,0,0.8)",position:"fixed",display:"flex",alignItems:"center",justifyContent:"center"},children:"Waiting for XPay initialization ..."});import{PublicKey as zr}from"@solana/web3.js";var _f=(f=>(f.USDC="USDC",f.BatchQuery="BatchQuery",f.CustomXSwapRouter="CustomXSwapRouter",f.FeeCollector="FeeCollector",f.StakingCosmicCadets="StakingCosmicCadets",f.StakingSolarDivision="StakingSolarDivision",f.StakingIntergalacticCommand="StakingIntergalacticCommand",f.XSwapRouter="XSwapRouter",f.XSwapToken="XSwapToken",f.XSwapRouterSingleChain="XSwapRouterSingleChain",f))(_f||{});var St=(r=>(r.EVM="evm",r.SOLANA="solana",r))(St||{});var Kh=(n=>(n.PROD="production",n.DEV="develop",n.LOCAL="local",n))(Kh||{});var Qc=(n=>(n.DEVNET="devnet",n.TESTNET="testnet",n.MAINNET="mainnet-beta",n))(Qc||{});var Oo=(i=>(i[i.SWAP_INIT=0]="SWAP_INIT",i[i.SIGNING_APPROVAL=1]="SIGNING_APPROVAL",i[i.CONFIRMING_APPROVAL=2]="CONFIRMING_APPROVAL",i[i.SIGNING_TX=3]="SIGNING_TX",i[i.CONFIRMING_TX=4]="CONFIRMING_TX",i[i.COMPLETED=5]="COMPLETED",i))(Oo||{});var Ua=(n=>(n.DEVNET="devnet",n.TESTNET="testnet",n.MAINNET="mainnet",n))(Ua||{});var Mf=(o=>(o[o.DEFAULT=0]="DEFAULT",o[o.FULL_TOKEN_BALANCE=1]="FULL_TOKEN_BALANCE",o[o.FULL_NATIVE_BALANCE=2]="FULL_NATIVE_BALANCE",o[o.COLLECT_TOKEN_BALANCE=3]="COLLECT_TOKEN_BALANCE",o))(Mf||{});var ie={};Fn(ie,{BaseContract:()=>ra,BigNumber:()=>W,Contract:()=>Zn,ContractFactory:()=>oi,FixedNumber:()=>on,Signer:()=>qt,VoidSigner:()=>Gn,Wallet:()=>fi,Wordlist:()=>Ar,constants:()=>Ht,errors:()=>ft,getDefaultProvider:()=>Kp,logger:()=>Hp,providers:()=>Gs,utils:()=>li,version:()=>Ws,wordlists:()=>jn});import Wh from"bn.js";var Of="logger/5.7.0";var Bf=!1,Lf=!1,zi={debug:1,default:2,info:2,warning:3,error:4,off:5},Df=zi.default,Xc=null;function Hh(){try{let t=[];if(["NFD","NFC","NFKD","NFKC"].forEach(e=>{try{if("test".normalize(e)!=="test")throw new Error("bad normalize")}catch{t.push(e)}}),t.length)throw new Error("missing "+t.join(", "));if("\xE9".normalize("NFD")!=="e\u0301")throw new Error("broken implementation")}catch(t){return t.message}return null}var Ff=Hh(),Zc;(function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"})(Zc||(Zc={}));var ft;(function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",t.TRANSACTION_REPLACED="TRANSACTION_REPLACED",t.ACTION_REJECTED="ACTION_REJECTED"})(ft||(ft={}));var Uf="0123456789abcdef",N=class t{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,r){let n=e.toLowerCase();zi[n]==null&&this.throwArgumentError("invalid log level name","logLevel",e),!(Df>zi[n])&&console.log.apply(console,r)}debug(...e){this._log(t.levels.DEBUG,e)}info(...e){this._log(t.levels.INFO,e)}warn(...e){this._log(t.levels.WARNING,e)}makeError(e,r,n){if(Lf)return this.makeError("censored error",r,{});r||(r=t.errors.UNKNOWN_ERROR),n||(n={});let o=[];Object.keys(n).forEach(c=>{let d=n[c];try{if(d instanceof Uint8Array){let f="";for(let u=0;u<d.length;u++)f+=Uf[d[u]>>4],f+=Uf[d[u]&15];o.push(c+"=Uint8Array(0x"+f+")")}else o.push(c+"="+JSON.stringify(d))}catch{o.push(c+"="+JSON.stringify(n[c].toString()))}}),o.push(`code=${r}`),o.push(`version=${this.version}`);let a=e,i="";switch(r){case ft.NUMERIC_FAULT:{i="NUMERIC_FAULT";let c=e;switch(c){case"overflow":case"underflow":case"division-by-zero":i+="-"+c;break;case"negative-power":case"negative-width":i+="-unsupported";break;case"unbound-bitwise-result":i+="-unbound-result";break}break}case ft.CALL_EXCEPTION:case ft.INSUFFICIENT_FUNDS:case ft.MISSING_NEW:case ft.NONCE_EXPIRED:case ft.REPLACEMENT_UNDERPRICED:case ft.TRANSACTION_REPLACED:case ft.UNPREDICTABLE_GAS_LIMIT:i=r;break}i&&(e+=" [ See: https://links.ethers.org/v5-errors-"+i+" ]"),o.length&&(e+=" ("+o.join(", ")+")");let s=new Error(e);return s.reason=a,s.code=r,Object.keys(n).forEach(function(c){s[c]=n[c]}),s}throwError(e,r,n){throw this.makeError(e,r,n)}throwArgumentError(e,r,n){return this.throwError(e,t.errors.INVALID_ARGUMENT,{argument:r,value:n})}assert(e,r,n,o){e||this.throwError(r,n,o)}assertArgument(e,r,n,o){e||this.throwArgumentError(r,n,o)}checkNormalize(e){e==null&&(e="platform missing String.prototype.normalize"),Ff&&this.throwError("platform missing String.prototype.normalize",t.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Ff})}checkSafeUint53(e,r){typeof e=="number"&&(r==null&&(r="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(r,t.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(r,t.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,r,n){n?n=": "+n:n="",e<r&&this.throwError("missing argument"+n,t.errors.MISSING_ARGUMENT,{count:e,expectedCount:r}),e>r&&this.throwError("too many arguments"+n,t.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:r})}checkNew(e,r){(e===Object||e==null)&&this.throwError("missing new",t.errors.MISSING_NEW,{name:r.name})}checkAbstract(e,r){e===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",t.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||e==null)&&this.throwError("missing new",t.errors.MISSING_NEW,{name:r.name})}static globalLogger(){return Xc||(Xc=new t(Of)),Xc}static setCensorship(e,r){if(!e&&r&&this.globalLogger().throwError("cannot permanently disable censorship",t.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),Bf){if(!e)return;this.globalLogger().throwError("error censorship permanent",t.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}Lf=!!e,Bf=!!r}static setLogLevel(e){let r=zi[e.toLowerCase()];if(r==null){t.globalLogger().warn("invalid log level - "+e);return}Df=r}static from(e){return new t(e)}};N.errors=ft;N.levels=Zc;var Vf="bytes/5.7.0";var Re=new N(Vf);function Hf(t){return!!t.toHexString}function Bo(t){return t.slice||(t.slice=function(){let e=Array.prototype.slice.call(arguments);return Bo(new Uint8Array(Array.prototype.slice.apply(t,e)))}),t}function Mr(t){return be(t)&&!(t.length%2)||Tt(t)}function Kf(t){return typeof t=="number"&&t==t&&t%1===0}function Tt(t){if(t==null)return!1;if(t.constructor===Uint8Array)return!0;if(typeof t=="string"||!Kf(t.length)||t.length<0)return!1;for(let e=0;e<t.length;e++){let r=t[e];if(!Kf(r)||r<0||r>=256)return!1}return!0}function R(t,e){if(e||(e={}),typeof t=="number"){Re.checkSafeUint53(t,"invalid arrayify value");let r=[];for(;t;)r.unshift(t&255),t=parseInt(String(t/256));return r.length===0&&r.push(0),Bo(new Uint8Array(r))}if(e.allowMissingPrefix&&typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),Hf(t)&&(t=t.toHexString()),be(t)){let r=t.substring(2);r.length%2&&(e.hexPad==="left"?r="0"+r:e.hexPad==="right"?r+="0":Re.throwArgumentError("hex data is odd-length","value",t));let n=[];for(let o=0;o<r.length;o+=2)n.push(parseInt(r.substring(o,o+2),16));return Bo(new Uint8Array(n))}return Tt(t)?Bo(new Uint8Array(t)):Re.throwArgumentError("invalid arrayify value","value",t)}function xe(t){let e=t.map(o=>R(o)),r=e.reduce((o,a)=>o+a.length,0),n=new Uint8Array(r);return e.reduce((o,a)=>(n.set(a,o),o+a.length),0),Bo(n)}function xt(t){let e=R(t);if(e.length===0)return e;let r=0;for(;r<e.length&&e[r]===0;)r++;return r&&(e=e.slice(r)),e}function Un(t,e){t=R(t),t.length>e&&Re.throwArgumentError("value out of range","value",arguments[0]);let r=new Uint8Array(e);return r.set(t,e-t.length),Bo(r)}function be(t,e){return!(typeof t!="string"||!t.match(/^0x[0-9A-Fa-f]*$/)||e&&t.length!==2+2*e)}var Yc="0123456789abcdef";function K(t,e){if(e||(e={}),typeof t=="number"){Re.checkSafeUint53(t,"invalid hexlify value");let r="";for(;t;)r=Yc[t&15]+r,t=Math.floor(t/16);return r.length?(r.length%2&&(r="0"+r),"0x"+r):"0x00"}if(typeof t=="bigint")return t=t.toString(16),t.length%2?"0x0"+t:"0x"+t;if(e.allowMissingPrefix&&typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),Hf(t))return t.toHexString();if(be(t))return t.length%2&&(e.hexPad==="left"?t="0x0"+t.substring(2):e.hexPad==="right"?t+="0":Re.throwArgumentError("hex data is odd-length","value",t)),t.toLowerCase();if(Tt(t)){let r="0x";for(let n=0;n<t.length;n++){let o=t[n];r+=Yc[(o&240)>>4]+Yc[o&15]}return r}return Re.throwArgumentError("invalid hexlify value","value",t)}function Or(t){if(typeof t!="string")t=K(t);else if(!be(t)||t.length%2)return null;return(t.length-2)/2}function ot(t,e,r){return typeof t!="string"?t=K(t):(!be(t)||t.length%2)&&Re.throwArgumentError("invalid hexData","value",t),e=2+2*e,r!=null?"0x"+t.substring(e,2+2*r):"0x"+t.substring(e)}function kt(t){let e="0x";return t.forEach(r=>{e+=K(r).substring(2)}),e}function Wf(t){let e=jc(K(t,{hexPad:"left"}));return e==="0x"?"0x0":e}function jc(t){typeof t!="string"&&(t=K(t)),be(t)||Re.throwArgumentError("invalid hex string","value",t),t=t.substring(2);let e=0;for(;e<t.length&&t[e]==="0";)e++;return"0x"+t.substring(e)}function we(t,e){for(typeof t!="string"?t=K(t):be(t)||Re.throwArgumentError("invalid hex string","value",t),t.length>2*e+2&&Re.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function ir(t){let e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(Mr(t)){let r=R(t);r.length===64?(e.v=27+(r[32]>>7),r[32]&=127,e.r=K(r.slice(0,32)),e.s=K(r.slice(32,64))):r.length===65?(e.r=K(r.slice(0,32)),e.s=K(r.slice(32,64)),e.v=r[64]):Re.throwArgumentError("invalid signature string","signature",t),e.v<27&&(e.v===0||e.v===1?e.v+=27:Re.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(r[32]|=128),e._vs=K(r.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,e._vs!=null){let o=Un(R(e._vs),32);e._vs=K(o);let a=o[0]>=128?1:0;e.recoveryParam==null?e.recoveryParam=a:e.recoveryParam!==a&&Re.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),o[0]&=127;let i=K(o);e.s==null?e.s=i:e.s!==i&&Re.throwArgumentError("signature v mismatch _vs","signature",t)}if(e.recoveryParam==null)e.v==null?Re.throwArgumentError("signature missing v and recoveryParam","signature",t):e.v===0||e.v===1?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2;else if(e.v==null)e.v=27+e.recoveryParam;else{let o=e.v===0||e.v===1?e.v:1-e.v%2;e.recoveryParam!==o&&Re.throwArgumentError("signature recoveryParam mismatch v","signature",t)}e.r==null||!be(e.r)?Re.throwArgumentError("signature missing or invalid r","signature",t):e.r=we(e.r,32),e.s==null||!be(e.s)?Re.throwArgumentError("signature missing or invalid s","signature",t):e.s=we(e.s,32);let r=R(e.s);r[0]>=128&&Re.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(r[0]|=128);let n=K(r);e._vs&&(be(e._vs)||Re.throwArgumentError("signature invalid _vs","signature",t),e._vs=we(e._vs,32)),e._vs==null?e._vs=n:e._vs!==n&&Re.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}function Va(t){return t=ir(t),K(xe([t.r,t.s,t.recoveryParam?"0x1c":"0x1b"]))}var Qi="bignumber/5.7.0";var Ka=Wh.BN,Br=new N(Qi),$c={},Gf=9007199254740991;function Jf(t){return t!=null&&(W.isBigNumber(t)||typeof t=="number"&&t%1===0||typeof t=="string"&&!!t.match(/^-?[0-9]+$/)||be(t)||typeof t=="bigint"||Tt(t))}var qf=!1,W=class t{constructor(e,r){e!==$c&&Br.throwError("cannot call constructor directly; use BigNumber.from",N.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=r,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return lt(ue(this).fromTwos(e))}toTwos(e){return lt(ue(this).toTwos(e))}abs(){return this._hex[0]==="-"?t.from(this._hex.substring(1)):this}add(e){return lt(ue(this).add(ue(e)))}sub(e){return lt(ue(this).sub(ue(e)))}div(e){return t.from(e).isZero()&&Et("division-by-zero","div"),lt(ue(this).div(ue(e)))}mul(e){return lt(ue(this).mul(ue(e)))}mod(e){let r=ue(e);return r.isNeg()&&Et("division-by-zero","mod"),lt(ue(this).umod(r))}pow(e){let r=ue(e);return r.isNeg()&&Et("negative-power","pow"),lt(ue(this).pow(r))}and(e){let r=ue(e);return(this.isNegative()||r.isNeg())&&Et("unbound-bitwise-result","and"),lt(ue(this).and(r))}or(e){let r=ue(e);return(this.isNegative()||r.isNeg())&&Et("unbound-bitwise-result","or"),lt(ue(this).or(r))}xor(e){let r=ue(e);return(this.isNegative()||r.isNeg())&&Et("unbound-bitwise-result","xor"),lt(ue(this).xor(r))}mask(e){return(this.isNegative()||e<0)&&Et("negative-width","mask"),lt(ue(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&Et("negative-width","shl"),lt(ue(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&Et("negative-width","shr"),lt(ue(this).shrn(e))}eq(e){return ue(this).eq(ue(e))}lt(e){return ue(this).lt(ue(e))}lte(e){return ue(this).lte(ue(e))}gt(e){return ue(this).gt(ue(e))}gte(e){return ue(this).gte(ue(e))}isNegative(){return this._hex[0]==="-"}isZero(){return ue(this).isZero()}toNumber(){try{return ue(this).toNumber()}catch{Et("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return Br.throwError("this platform does not support BigInt",N.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?qf||(qf=!0,Br.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?Br.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",N.errors.UNEXPECTED_ARGUMENT,{}):Br.throwError("BigNumber.toString does not accept parameters",N.errors.UNEXPECTED_ARGUMENT,{})),ue(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof t)return e;if(typeof e=="string")return e.match(/^-?0x[0-9a-f]+$/i)?new t($c,Ha(e)):e.match(/^-?[0-9]+$/)?new t($c,Ha(new Ka(e))):Br.throwArgumentError("invalid BigNumber string","value",e);if(typeof e=="number")return e%1&&Et("underflow","BigNumber.from",e),(e>=Gf||e<=-Gf)&&Et("overflow","BigNumber.from",e),t.from(String(e));let r=e;if(typeof r=="bigint")return t.from(r.toString());if(Tt(r))return t.from(K(r));if(r)if(r.toHexString){let n=r.toHexString();if(typeof n=="string")return t.from(n)}else{let n=r._hex;if(n==null&&r.type==="BigNumber"&&(n=r.hex),typeof n=="string"&&(be(n)||n[0]==="-"&&be(n.substring(1))))return t.from(n)}return Br.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!!(e&&e._isBigNumber)}};function Ha(t){if(typeof t!="string")return Ha(t.toString(16));if(t[0]==="-")return t=t.substring(1),t[0]==="-"&&Br.throwArgumentError("invalid hex","value",t),t=Ha(t),t==="0x00"?t:"-"+t;if(t.substring(0,2)!=="0x"&&(t="0x"+t),t==="0x")return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&t.substring(0,4)==="0x00";)t="0x"+t.substring(4);return t}function lt(t){return W.from(Ha(t))}function ue(t){let e=W.from(t).toHexString();return e[0]==="-"?new Ka("-"+e.substring(3),16):new Ka(e.substring(2),16)}function Et(t,e,r){let n={fault:t,operation:e};return r!=null&&(n.value=r),Br.throwError(t,N.errors.NUMERIC_FAULT,n)}function e0(t){return new Ka(t,36).toString(16)}function t0(t){return new Ka(t,16).toString(36)}var at=new N(Qi),Wa={},Qf=W.from(0),Xf=W.from(-1);function Zf(t,e,r,n){let o={fault:e,operation:r};return n!==void 0&&(o.value=n),at.throwError(t,N.errors.NUMERIC_FAULT,o)}var Ga="0";for(;Ga.length<256;)Ga+=Ga;function r0(t){if(typeof t!="number")try{t=W.from(t).toNumber()}catch{}return typeof t=="number"&&t>=0&&t<=256&&!(t%1)?"1"+Ga.substring(0,t):at.throwArgumentError("invalid decimal size","decimals",t)}function Lo(t,e){e==null&&(e=0);let r=r0(e);t=W.from(t);let n=t.lt(Qf);n&&(t=t.mul(Xf));let o=t.mod(r).toString();for(;o.length<r.length-1;)o="0"+o;o=o.match(/^([0-9]*[1-9]|0)(0*)/)[1];let a=t.div(r).toString();return r.length===1?t=a:t=a+"."+o,n&&(t="-"+t),t}function Pt(t,e){e==null&&(e=0);let r=r0(e);(typeof t!="string"||!t.match(/^-?[0-9.]+$/))&&at.throwArgumentError("invalid decimal value","value",t);let n=t.substring(0,1)==="-";n&&(t=t.substring(1)),t==="."&&at.throwArgumentError("missing value","value",t);let o=t.split(".");o.length>2&&at.throwArgumentError("too many decimal points","value",t);let a=o[0],i=o[1];for(a||(a="0"),i||(i="0");i[i.length-1]==="0";)i=i.substring(0,i.length-1);for(i.length>r.length-1&&Zf("fractional component exceeds decimals","underflow","parseFixed"),i===""&&(i="0");i.length<r.length-1;)i+="0";let s=W.from(a),c=W.from(i),d=s.mul(r).add(c);return n&&(d=d.mul(Xf)),d}var Do=class t{constructor(e,r,n,o){e!==Wa&&at.throwError("cannot use FixedFormat constructor; use FixedFormat.from",N.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=r,this.width=n,this.decimals=o,this.name=(r?"":"u")+"fixed"+String(n)+"x"+String(o),this._multiplier=r0(o),Object.freeze(this)}static from(e){if(e instanceof t)return e;typeof e=="number"&&(e=`fixed128x${e}`);let r=!0,n=128,o=18;if(typeof e=="string"){if(e!=="fixed")if(e==="ufixed")r=!1;else{let a=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);a||at.throwArgumentError("invalid fixed format","format",e),r=a[1]!=="u",n=parseInt(a[2]),o=parseInt(a[3])}}else if(e){let a=(i,s,c)=>e[i]==null?c:(typeof e[i]!==s&&at.throwArgumentError("invalid fixed format ("+i+" not "+s+")","format."+i,e[i]),e[i]);r=a("signed","boolean",r),n=a("width","number",n),o=a("decimals","number",o)}return n%8&&at.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",n),o>80&&at.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",o),new t(Wa,r,n,o)}},on=class t{constructor(e,r,n,o){e!==Wa&&at.throwError("cannot use FixedNumber constructor; use FixedNumber.from",N.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=o,this._hex=r,this._value=n,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&at.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);let r=Pt(this._value,this.format.decimals),n=Pt(e._value,e.format.decimals);return t.fromValue(r.add(n),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);let r=Pt(this._value,this.format.decimals),n=Pt(e._value,e.format.decimals);return t.fromValue(r.sub(n),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);let r=Pt(this._value,this.format.decimals),n=Pt(e._value,e.format.decimals);return t.fromValue(r.mul(n).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);let r=Pt(this._value,this.format.decimals),n=Pt(e._value,e.format.decimals);return t.fromValue(r.mul(this.format._multiplier).div(n),this.format.decimals,this.format)}floor(){let e=this.toString().split(".");e.length===1&&e.push("0");let r=t.from(e[0],this.format),n=!e[1].match(/^(0*)$/);return this.isNegative()&&n&&(r=r.subUnsafe(zf.toFormat(r.format))),r}ceiling(){let e=this.toString().split(".");e.length===1&&e.push("0");let r=t.from(e[0],this.format),n=!e[1].match(/^(0*)$/);return!this.isNegative()&&n&&(r=r.addUnsafe(zf.toFormat(r.format))),r}round(e){e==null&&(e=0);let r=this.toString().split(".");if(r.length===1&&r.push("0"),(e<0||e>80||e%1)&&at.throwArgumentError("invalid decimal count","decimals",e),r[1].length<=e)return this;let n=t.from("1"+Ga.substring(0,e),this.format),o=Gh.toFormat(this.format);return this.mulUnsafe(n).addUnsafe(o).floor().divUnsafe(n)}isZero(){return this._value==="0.0"||this._value==="0"}isNegative(){return this._value[0]==="-"}toString(){return this._value}toHexString(e){if(e==null)return this._hex;e%8&&at.throwArgumentError("invalid byte width","width",e);let r=W.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return we(r,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return t.fromString(this._value,e)}static fromValue(e,r,n){return n==null&&r!=null&&!Jf(r)&&(n=r,r=null),r==null&&(r=0),n==null&&(n="fixed"),t.fromString(Lo(e,r),Do.from(n))}static fromString(e,r){r==null&&(r="fixed");let n=Do.from(r),o=Pt(e,n.decimals);!n.signed&&o.lt(Qf)&&Zf("unsigned value cannot be negative","overflow","value",e);let a=null;n.signed?a=o.toTwos(n.width).toHexString():(a=o.toHexString(),a=we(a,n.width/8));let i=Lo(o,n.decimals);return new t(Wa,a,i,n)}static fromBytes(e,r){r==null&&(r="fixed");let n=Do.from(r);if(R(e).length>n.width/8)throw new Error("overflow");let o=W.from(e);n.signed&&(o=o.fromTwos(n.width));let a=o.toTwos((n.signed?0:1)+n.width).toHexString(),i=Lo(o,n.decimals);return new t(Wa,a,i,n)}static from(e,r){if(typeof e=="string")return t.fromString(e,r);if(Tt(e))return t.fromBytes(e,r);try{return t.fromValue(e,0,r)}catch(n){if(n.code!==N.errors.INVALID_ARGUMENT)throw n}return at.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!!(e&&e._isFixedNumber)}},zf=on.from(1),Gh=on.from("0.5");var Yf="properties/5.7.0";var qh=function(t,e,r,n){function o(a){return a instanceof r?a:new r(function(i){i(a)})}return new(r||(r=Promise))(function(a,i){function s(f){try{d(n.next(f))}catch(u){i(u)}}function c(f){try{d(n.throw(f))}catch(u){i(u)}}function d(f){f.done?a(f.value):o(f.value).then(s,c)}d((n=n.apply(t,e||[])).next())})},Xi=new N(Yf);function _(t,e,r){Object.defineProperty(t,e,{enumerable:!0,value:r,writable:!1})}function Nt(t,e){for(let r=0;r<32;r++){if(t[e])return t[e];if(!t.prototype||typeof t.prototype!="object")break;t=Object.getPrototypeOf(t.prototype).constructor}return null}function it(t){return qh(this,void 0,void 0,function*(){let e=Object.keys(t).map(n=>{let o=t[n];return Promise.resolve(o).then(a=>({key:n,value:a}))});return(yield Promise.all(e)).reduce((n,o)=>(n[o.key]=o.value,n),{})})}function Zi(t,e){(!t||typeof t!="object")&&Xi.throwArgumentError("invalid object","object",t),Object.keys(t).forEach(r=>{e[r]||Xi.throwArgumentError("invalid object key - "+r,"transaction:"+r,t)})}function Le(t){let e={};for(let r in t)e[r]=t[r];return e}var Jh={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function jf(t){if(t==null||Jh[typeof t])return!0;if(Array.isArray(t)||typeof t=="object"){if(!Object.isFrozen(t))return!1;let e=Object.keys(t);for(let r=0;r<e.length;r++){let n=null;try{n=t[e[r]]}catch{continue}if(!jf(n))return!1}return!0}return Xi.throwArgumentError(`Cannot deepCopy ${typeof t}`,"object",t)}function zh(t){if(jf(t))return t;if(Array.isArray(t))return Object.freeze(t.map(e=>sr(e)));if(typeof t=="object"){let e={};for(let r in t){let n=t[r];n!==void 0&&_(e,r,sr(n))}return e}return Xi.throwArgumentError(`Cannot deepCopy ${typeof t}`,"object",t)}function sr(t){return zh(t)}var It=class{constructor(e){for(let r in e)this[r]=sr(e[r])}};var cr="abi/5.7.0";var me=new N(cr),Vn={},$f={calldata:!0,memory:!0,storage:!0},Qh={calldata:!0,memory:!0};function Yi(t,e){if(t==="bytes"||t==="string"){if($f[e])return!0}else if(t==="address"){if(e==="payable")return!0}else if((t.indexOf("[")>=0||t==="tuple")&&Qh[e])return!0;return($f[e]||e==="payable")&&me.throwArgumentError("invalid modifier","name",e),!1}function Xh(t,e){let r=t;function n(s){me.throwArgumentError(`unexpected character at position ${s}`,"param",t)}t=t.replace(/\s/g," ");function o(s){let c={type:"",name:"",parent:s,state:{allowType:!0}};return e&&(c.indexed=!1),c}let a={type:"",name:"",state:{allowType:!0}},i=a;for(let s=0;s<t.length;s++){let c=t[s];switch(c){case"(":i.state.allowType&&i.type===""?i.type="tuple":i.state.allowParams||n(s),i.state.allowType=!1,i.type=Fo(i.type),i.components=[o(i)],i=i.components[0];break;case")":delete i.state,i.name==="indexed"&&(e||n(s),i.indexed=!0,i.name=""),Yi(i.type,i.name)&&(i.name=""),i.type=Fo(i.type);let d=i;i=i.parent,i||n(s),delete d.parent,i.state.allowParams=!1,i.state.allowName=!0,i.state.allowArray=!0;break;case",":delete i.state,i.name==="indexed"&&(e||n(s),i.indexed=!0,i.name=""),Yi(i.type,i.name)&&(i.name=""),i.type=Fo(i.type);let f=o(i.parent);i.parent.components.push(f),delete i.parent,i=f;break;case" ":i.state.allowType&&i.type!==""&&(i.type=Fo(i.type),delete i.state.allowType,i.state.allowName=!0,i.state.allowParams=!0),i.state.allowName&&i.name!==""&&(i.name==="indexed"?(e||n(s),i.indexed&&n(s),i.indexed=!0,i.name=""):Yi(i.type,i.name)?i.name="":i.state.allowName=!1);break;case"[":i.state.allowArray||n(s),i.type+=c,i.state.allowArray=!1,i.state.allowName=!1,i.state.readArray=!0;break;case"]":i.state.readArray||n(s),i.type+=c,i.state.readArray=!1,i.state.allowArray=!0,i.state.allowName=!0;break;default:i.state.allowType?(i.type+=c,i.state.allowParams=!0,i.state.allowArray=!0):i.state.allowName?(i.name+=c,delete i.state.allowArray):i.state.readArray?i.type+=c:n(s)}}return i.parent&&me.throwArgumentError("unexpected eof","param",t),delete a.state,i.name==="indexed"?(e||n(r.length-7),i.indexed&&n(r.length-7),i.indexed=!0,i.name=""):Yi(i.type,i.name)&&(i.name=""),a.type=Fo(a.type),a}function ji(t,e){for(let r in e)_(t,r,e[r])}var pe=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),Zh=new RegExp(/^(.*)\[([0-9]*)\]$/),We=class t{constructor(e,r){e!==Vn&&me.throwError("use fromString",N.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),ji(this,r);let n=this.type.match(Zh);n?ji(this,{arrayLength:parseInt(n[2]||"-1"),arrayChildren:t.fromObject({type:n[1],components:this.components}),baseType:"array"}):ji(this,{arrayLength:null,arrayChildren:null,baseType:this.components!=null?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(e){if(e||(e=pe.sighash),pe[e]||me.throwArgumentError("invalid format type","format",e),e===pe.json){let n={type:this.baseType==="tuple"?"tuple":this.type,name:this.name||void 0};return typeof this.indexed=="boolean"&&(n.indexed=this.indexed),this.components&&(n.components=this.components.map(o=>JSON.parse(o.format(e)))),JSON.stringify(n)}let r="";return this.baseType==="array"?(r+=this.arrayChildren.format(e),r+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):this.baseType==="tuple"?(e!==pe.sighash&&(r+=this.type),r+="("+this.components.map(n=>n.format(e)).join(e===pe.full?", ":",")+")"):r+=this.type,e!==pe.sighash&&(this.indexed===!0&&(r+=" indexed"),e===pe.full&&this.name&&(r+=" "+this.name)),r}static from(e,r){return typeof e=="string"?t.fromString(e,r):t.fromObject(e)}static fromObject(e){return t.isParamType(e)?e:new t(Vn,{name:e.name||null,type:Fo(e.type),indexed:e.indexed==null?null:!!e.indexed,components:e.components?e.components.map(t.fromObject):null})}static fromString(e,r){function n(o){return t.fromObject({name:o.name,type:o.type,indexed:o.indexed,components:o.components})}return n(Xh(e,!!r))}static isParamType(e){return!!(e!=null&&e._isParamType)}};function qa(t,e){return jh(t).map(r=>We.fromString(r,e))}var dr=class t{constructor(e,r){e!==Vn&&me.throwError("use a static from method",N.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),ji(this,r),this._isFragment=!0,Object.freeze(this)}static from(e){return t.isFragment(e)?e:typeof e=="string"?t.fromString(e):t.fromObject(e)}static fromObject(e){if(t.isFragment(e))return e;switch(e.type){case"function":return lr.fromObject(e);case"event":return Lr.fromObject(e);case"constructor":return fr.fromObject(e);case"error":return Kn.fromObject(e);case"fallback":case"receive":return null}return me.throwArgumentError("invalid fragment object","value",e)}static fromString(e){return e=e.replace(/\s/g," "),e=e.replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," "),e=e.trim(),e.split(" ")[0]==="event"?Lr.fromString(e.substring(5).trim()):e.split(" ")[0]==="function"?lr.fromString(e.substring(8).trim()):e.split("(")[0].trim()==="constructor"?fr.fromString(e.trim()):e.split(" ")[0]==="error"?Kn.fromString(e.substring(5).trim()):me.throwArgumentError("unsupported fragment","value",e)}static isFragment(e){return!!(e&&e._isFragment)}},Lr=class t extends dr{format(e){if(e||(e=pe.sighash),pe[e]||me.throwArgumentError("invalid format type","format",e),e===pe.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==pe.sighash&&(r+="event "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===pe.full?", ":",")+") ",e!==pe.sighash&&this.anonymous&&(r+="anonymous "),r.trim()}static from(e){return typeof e=="string"?t.fromString(e):t.fromObject(e)}static fromObject(e){if(t.isEventFragment(e))return e;e.type!=="event"&&me.throwArgumentError("invalid event object","value",e);let r={name:Ja(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(We.fromObject):[],type:"event"};return new t(Vn,r)}static fromString(e){let r=e.match(za);r||me.throwArgumentError("invalid event string","value",e);let n=!1;return r[3].split(" ").forEach(o=>{switch(o.trim()){case"anonymous":n=!0;break;case"":break;default:me.warn("unknown modifier: "+o)}}),t.fromObject({name:r[1].trim(),anonymous:n,inputs:qa(r[2],!0),type:"event"})}static isEventFragment(e){return e&&e._isFragment&&e.type==="event"}};function tl(t,e){e.gas=null;let r=t.split("@");return r.length!==1?(r.length>2&&me.throwArgumentError("invalid human-readable ABI signature","value",t),r[1].match(/^[0-9]+$/)||me.throwArgumentError("invalid human-readable ABI signature gas","value",t),e.gas=W.from(r[1]),r[0]):t}function rl(t,e){e.constant=!1,e.payable=!1,e.stateMutability="nonpayable",t.split(" ").forEach(r=>{switch(r.trim()){case"constant":e.constant=!0;break;case"payable":e.payable=!0,e.stateMutability="payable";break;case"nonpayable":e.payable=!1,e.stateMutability="nonpayable";break;case"pure":e.constant=!0,e.stateMutability="pure";break;case"view":e.constant=!0,e.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+r)}})}function nl(t){let e={constant:!1,payable:!0,stateMutability:"payable"};return t.stateMutability!=null?(e.stateMutability=t.stateMutability,e.constant=e.stateMutability==="view"||e.stateMutability==="pure",t.constant!=null&&!!t.constant!==e.constant&&me.throwArgumentError("cannot have constant function with mutability "+e.stateMutability,"value",t),e.payable=e.stateMutability==="payable",t.payable!=null&&!!t.payable!==e.payable&&me.throwArgumentError("cannot have payable function with mutability "+e.stateMutability,"value",t)):t.payable!=null?(e.payable=!!t.payable,t.constant==null&&!e.payable&&t.type!=="constructor"&&me.throwArgumentError("unable to determine stateMutability","value",t),e.constant=!!t.constant,e.constant?e.stateMutability="view":e.stateMutability=e.payable?"payable":"nonpayable",e.payable&&e.constant&&me.throwArgumentError("cannot have constant payable function","value",t)):t.constant!=null?(e.constant=!!t.constant,e.payable=!e.constant,e.stateMutability=e.constant?"view":"payable"):t.type!=="constructor"&&me.throwArgumentError("unable to determine stateMutability","value",t),e}var fr=class t extends dr{format(e){if(e||(e=pe.sighash),pe[e]||me.throwArgumentError("invalid format type","format",e),e===pe.json)return JSON.stringify({type:"constructor",stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});e===pe.sighash&&me.throwError("cannot format a constructor for sighash",N.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let r="constructor("+this.inputs.map(n=>n.format(e)).join(e===pe.full?", ":",")+") ";return this.stateMutability&&this.stateMutability!=="nonpayable"&&(r+=this.stateMutability+" "),r.trim()}static from(e){return typeof e=="string"?t.fromString(e):t.fromObject(e)}static fromObject(e){if(t.isConstructorFragment(e))return e;e.type!=="constructor"&&me.throwArgumentError("invalid constructor object","value",e);let r=nl(e);r.constant&&me.throwArgumentError("constructor cannot be constant","value",e);let n={name:null,type:e.type,inputs:e.inputs?e.inputs.map(We.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:e.gas?W.from(e.gas):null};return new t(Vn,n)}static fromString(e){let r={type:"constructor"};e=tl(e,r);let n=e.match(za);return(!n||n[1].trim()!=="constructor")&&me.throwArgumentError("invalid constructor string","value",e),r.inputs=qa(n[2].trim(),!1),rl(n[3].trim(),r),t.fromObject(r)}static isConstructorFragment(e){return e&&e._isFragment&&e.type==="constructor"}},lr=class t extends fr{format(e){if(e||(e=pe.sighash),pe[e]||me.throwArgumentError("invalid format type","format",e),e===pe.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(n=>JSON.parse(n.format(e))),outputs:this.outputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==pe.sighash&&(r+="function "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===pe.full?", ":",")+") ",e!==pe.sighash&&(this.stateMutability?this.stateMutability!=="nonpayable"&&(r+=this.stateMutability+" "):this.constant&&(r+="view "),this.outputs&&this.outputs.length&&(r+="returns ("+this.outputs.map(n=>n.format(e)).join(", ")+") "),this.gas!=null&&(r+="@"+this.gas.toString()+" ")),r.trim()}static from(e){return typeof e=="string"?t.fromString(e):t.fromObject(e)}static fromObject(e){if(t.isFunctionFragment(e))return e;e.type!=="function"&&me.throwArgumentError("invalid function object","value",e);let r=nl(e),n={type:e.type,name:Ja(e.name),constant:r.constant,inputs:e.inputs?e.inputs.map(We.fromObject):[],outputs:e.outputs?e.outputs.map(We.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:e.gas?W.from(e.gas):null};return new t(Vn,n)}static fromString(e){let r={type:"function"};e=tl(e,r);let n=e.split(" returns ");n.length>2&&me.throwArgumentError("invalid function string","value",e);let o=n[0].match(za);if(o||me.throwArgumentError("invalid function signature","value",e),r.name=o[1].trim(),r.name&&Ja(r.name),r.inputs=qa(o[2],!1),rl(o[3].trim(),r),n.length>1){let a=n[1].match(za);(a[1].trim()!=""||a[3].trim()!="")&&me.throwArgumentError("unexpected tokens","value",e),r.outputs=qa(a[2],!1)}else r.outputs=[];return t.fromObject(r)}static isFunctionFragment(e){return e&&e._isFragment&&e.type==="function"}};function el(t){let e=t.format();return(e==="Error(string)"||e==="Panic(uint256)")&&me.throwArgumentError(`cannot specify user defined ${e} error`,"fragment",t),t}var Kn=class t extends dr{format(e){if(e||(e=pe.sighash),pe[e]||me.throwArgumentError("invalid format type","format",e),e===pe.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==pe.sighash&&(r+="error "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===pe.full?", ":",")+") ",r.trim()}static from(e){return typeof e=="string"?t.fromString(e):t.fromObject(e)}static fromObject(e){if(t.isErrorFragment(e))return e;e.type!=="error"&&me.throwArgumentError("invalid error object","value",e);let r={type:e.type,name:Ja(e.name),inputs:e.inputs?e.inputs.map(We.fromObject):[]};return el(new t(Vn,r))}static fromString(e){let r={type:"error"},n=e.match(za);return n||me.throwArgumentError("invalid error signature","value",e),r.name=n[1].trim(),r.name&&Ja(r.name),r.inputs=qa(n[2],!1),el(t.fromObject(r))}static isErrorFragment(e){return e&&e._isFragment&&e.type==="error"}};function Fo(t){return t.match(/^uint($|[^1-9])/)?t="uint256"+t.substring(4):t.match(/^int($|[^1-9])/)&&(t="int256"+t.substring(3)),t}var Yh=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function Ja(t){return(!t||!t.match(Yh))&&me.throwArgumentError(`invalid identifier "${t}"`,"value",t),t}var za=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");function jh(t){t=t.trim();let e=[],r="",n=0;for(let o=0;o<t.length;o++){let a=t[o];a===","&&n===0?(e.push(r),r=""):(r+=a,a==="("?n++:a===")"&&(n--,n===-1&&me.throwArgumentError("unbalanced parenthesis","value",t)))}return r&&e.push(r),e}var n0=new N(cr);function Uo(t){let e=[],r=function(n,o){if(Array.isArray(o))for(let a in o){let i=n.slice();i.push(a);try{r(i,o[a])}catch(s){e.push({path:i,error:s})}}};return r([],t),e}var Oe=class{constructor(e,r,n,o){this.name=e,this.type=r,this.localName=n,this.dynamic=o}_throwError(e,r){n0.throwArgumentError(e,this.localName,r)}},Hn=class{constructor(e){_(this,"wordSize",e||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(e)}get data(){return kt(this._data)}get length(){return this._dataLength}_writeData(e){return this._data.push(e),this._dataLength+=e.length,e.length}appendWriter(e){return this._writeData(xe(e._data))}writeBytes(e){let r=R(e),n=r.length%this.wordSize;return n&&(r=xe([r,this._padding.slice(n)])),this._writeData(r)}_getValue(e){let r=R(W.from(e));return r.length>this.wordSize&&n0.throwError("value out-of-bounds",N.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:r.length}),r.length%this.wordSize&&(r=xe([this._padding.slice(r.length%this.wordSize),r])),r}writeValue(e){return this._writeData(this._getValue(e))}writeUpdatableValue(){let e=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,r=>{this._data[e]=this._getValue(r)}}},$i=class t{constructor(e,r,n,o){_(this,"_data",R(e)),_(this,"wordSize",r||32),_(this,"_coerceFunc",n),_(this,"allowLoose",o),this._offset=0}get data(){return K(this._data)}get consumed(){return this._offset}static coerce(e,r){let n=e.match("^u?int([0-9]+)$");return n&&parseInt(n[1])<=48&&(r=r.toNumber()),r}coerce(e,r){return this._coerceFunc?this._coerceFunc(e,r):t.coerce(e,r)}_peekBytes(e,r,n){let o=Math.ceil(r/this.wordSize)*this.wordSize;return this._offset+o>this._data.length&&(this.allowLoose&&n&&this._offset+r<=this._data.length?o=r:n0.throwError("data out-of-bounds",N.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+o})),this._data.slice(this._offset,this._offset+o)}subReader(e){return new t(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,r){let n=this._peekBytes(0,e,!!r);return this._offset+=n.length,n.slice(0,e)}readValue(){return W.from(this.readBytes(this.wordSize))}};var al=Mo(ol());function ce(t){return"0x"+al.default.keccak_256(R(t))}var ts={};Fn(ts,{decode:()=>Qa,encode:()=>Dr});var il="rlp/5.7.0";var ur=new N(il);function sl(t){let e=[];for(;t;)e.unshift(t&255),t>>=8;return e}function cl(t,e,r){let n=0;for(let o=0;o<r;o++)n=n*256+t[e+o];return n}function fl(t){if(Array.isArray(t)){let n=[];if(t.forEach(function(a){n=n.concat(fl(a))}),n.length<=55)return n.unshift(192+n.length),n;let o=sl(n.length);return o.unshift(247+o.length),o.concat(n)}Mr(t)||ur.throwArgumentError("RLP object must be BytesLike","object",t);let e=Array.prototype.slice.call(R(t));if(e.length===1&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;let r=sl(e.length);return r.unshift(183+r.length),r.concat(e)}function Dr(t){return K(fl(t))}function dl(t,e,r,n){let o=[];for(;r<e+1+n;){let a=ll(t,r);o.push(a.result),r+=a.consumed,r>e+1+n&&ur.throwError("child data too short",N.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:o}}function ll(t,e){if(t.length===0&&ur.throwError("data too short",N.errors.BUFFER_OVERRUN,{}),t[e]>=248){let r=t[e]-247;e+1+r>t.length&&ur.throwError("data short segment too short",N.errors.BUFFER_OVERRUN,{});let n=cl(t,e+1,r);return e+1+r+n>t.length&&ur.throwError("data long segment too short",N.errors.BUFFER_OVERRUN,{}),dl(t,e,e+1+r,r+n)}else if(t[e]>=192){let r=t[e]-192;return e+1+r>t.length&&ur.throwError("data array too short",N.errors.BUFFER_OVERRUN,{}),dl(t,e,e+1,r)}else if(t[e]>=184){let r=t[e]-183;e+1+r>t.length&&ur.throwError("data array too short",N.errors.BUFFER_OVERRUN,{});let n=cl(t,e+1,r);e+1+r+n>t.length&&ur.throwError("data array too short",N.errors.BUFFER_OVERRUN,{});let o=K(t.slice(e+1+r,e+1+r+n));return{consumed:1+r+n,result:o}}else if(t[e]>=128){let r=t[e]-128;e+1+r>t.length&&ur.throwError("data too short",N.errors.BUFFER_OVERRUN,{});let n=K(t.slice(e+1,e+1+r));return{consumed:1+r,result:n}}return{consumed:1,result:K(t[e])}}function Qa(t){let e=R(t),r=ll(e,0);return r.consumed!==e.length&&ur.throwArgumentError("invalid rlp data","data",t),r.result}var ul="address/5.7.0";var an=new N(ul);function pl(t){be(t,20)||an.throwArgumentError("invalid address","address",t),t=t.toLowerCase();let e=t.substring(2).split(""),r=new Uint8Array(40);for(let o=0;o<40;o++)r[o]=e[o].charCodeAt(0);let n=R(ce(r));for(let o=0;o<40;o+=2)n[o>>1]>>4>=8&&(e[o]=e[o].toUpperCase()),(n[o>>1]&15)>=8&&(e[o+1]=e[o+1].toUpperCase());return"0x"+e.join("")}var $h=9007199254740991;function e2(t){return Math.log10?Math.log10(t):Math.log(t)/Math.LN10}var o0={};for(let t=0;t<10;t++)o0[String(t)]=String(t);for(let t=0;t<26;t++)o0[String.fromCharCode(65+t)]=String(10+t);var ml=Math.floor(e2($h));function xl(t){t=t.toUpperCase(),t=t.substring(4)+t.substring(0,2)+"00";let e=t.split("").map(n=>o0[n]).join("");for(;e.length>=ml;){let n=e.substring(0,ml);e=parseInt(n,10)%97+e.substring(n.length)}let r=String(98-parseInt(e,10)%97);for(;r.length<2;)r="0"+r;return r}function le(t){let e=null;if(typeof t!="string"&&an.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))t.substring(0,2)!=="0x"&&(t="0x"+t),e=pl(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&an.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==xl(t)&&an.throwArgumentError("bad icap checksum","address",t),e=e0(t.substring(4));e.length<40;)e="0"+e;e=pl("0x"+e)}else an.throwArgumentError("invalid address","address",t);return e}function hl(t){try{return le(t),!0}catch{}return!1}function gl(t){let e=t0(le(t).substring(2)).toUpperCase();for(;e.length<30;)e="0"+e;return"XE"+xl("XE00"+e)+e}function Xa(t){let e=null;try{e=le(t.from)}catch{an.throwArgumentError("missing from address","transaction",t)}let r=xt(R(W.from(t.nonce).toHexString()));return le(ot(ce(Dr([e,r])),12))}function bl(t,e,r){return Or(e)!==32&&an.throwArgumentError("salt must be 32 bytes","salt",e),Or(r)!==32&&an.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",r),le(ot(ce(xe(["0xff",le(t),e,r])),12))}var rs=class extends Oe{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,r){try{r=le(r)}catch(n){this._throwError(n.message,r)}return e.writeValue(r)}decode(e){return le(we(e.readValue().toHexString(),20))}};var ns=class extends Oe{constructor(e){super(e.name,e.type,void 0,e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,r){return this.coder.encode(e,r)}decode(e){return this.coder.decode(e)}};var Vo=new N(cr);function a0(t,e,r){let n=null;if(Array.isArray(r))n=r;else if(r&&typeof r=="object"){let c={};n=e.map(d=>{let f=d.localName;return f||Vo.throwError("cannot encode object for signature with missing names",N.errors.INVALID_ARGUMENT,{argument:"values",coder:d,value:r}),c[f]&&Vo.throwError("cannot encode object for signature with duplicate names",N.errors.INVALID_ARGUMENT,{argument:"values",coder:d,value:r}),c[f]=!0,r[f]})}else Vo.throwArgumentError("invalid tuple value","tuple",r);e.length!==n.length&&Vo.throwArgumentError("types/value length mismatch","tuple",r);let o=new Hn(t.wordSize),a=new Hn(t.wordSize),i=[];e.forEach((c,d)=>{let f=n[d];if(c.dynamic){let u=a.length;c.encode(a,f);let x=o.writeUpdatableValue();i.push(m=>{x(m+u)})}else c.encode(o,f)}),i.forEach(c=>{c(o.length)});let s=t.appendWriter(o);return s+=t.appendWriter(a),s}function i0(t,e){let r=[],n=t.subReader(0);e.forEach(a=>{let i=null;if(a.dynamic){let s=t.readValue(),c=n.subReader(s.toNumber());try{i=a.decode(c)}catch(d){if(d.code===N.errors.BUFFER_OVERRUN)throw d;i=d,i.baseType=a.name,i.name=a.localName,i.type=a.type}}else try{i=a.decode(t)}catch(s){if(s.code===N.errors.BUFFER_OVERRUN)throw s;i=s,i.baseType=a.name,i.name=a.localName,i.type=a.type}i!=null&&r.push(i)});let o=e.reduce((a,i)=>{let s=i.localName;return s&&(a[s]||(a[s]=0),a[s]++),a},{});e.forEach((a,i)=>{let s=a.localName;if(!s||o[s]!==1||(s==="length"&&(s="_length"),r[s]!=null))return;let c=r[i];c instanceof Error?Object.defineProperty(r,s,{enumerable:!0,get:()=>{throw c}}):r[s]=c});for(let a=0;a<r.length;a++){let i=r[a];i instanceof Error&&Object.defineProperty(r,a,{enumerable:!0,get:()=>{throw i}})}return Object.freeze(r)}var os=class extends Oe{constructor(e,r,n){let o=e.type+"["+(r>=0?r:"")+"]",a=r===-1||e.dynamic;super("array",o,n,a),this.coder=e,this.length=r}defaultValue(){let e=this.coder.defaultValue(),r=[];for(let n=0;n<this.length;n++)r.push(e);return r}encode(e,r){Array.isArray(r)||this._throwError("expected array value",r);let n=this.length;n===-1&&(n=r.length,e.writeValue(r.length)),Vo.checkArgumentCount(r.length,n,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let a=0;a<r.length;a++)o.push(this.coder);return a0(e,o,r)}decode(e){let r=this.length;r===-1&&(r=e.readValue().toNumber(),r*32>e._data.length&&Vo.throwError("insufficient data length",N.errors.BUFFER_OVERRUN,{length:e._data.length,count:r}));let n=[];for(let o=0;o<r;o++)n.push(new ns(this.coder));return e.coerce(this.name,i0(e,n))}};var as=class extends Oe{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,r){return e.writeValue(r?1:0)}decode(e){return e.coerce(this.type,!e.readValue().isZero())}};var Za=class extends Oe{constructor(e,r){super(e,e,r,!0)}defaultValue(){return"0x"}encode(e,r){r=R(r);let n=e.writeValue(r.length);return n+=e.writeBytes(r),n}decode(e){return e.readBytes(e.readValue().toNumber(),!0)}},is=class extends Za{constructor(e){super("bytes",e)}decode(e){return e.coerce(this.name,K(super.decode(e)))}};var ss=class extends Oe{constructor(e,r){let n="bytes"+String(e);super(n,n,r,!1),this.size=e}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(e,r){let n=R(r);return n.length!==this.size&&this._throwError("incorrect data length",r),e.writeBytes(n)}decode(e){return e.coerce(this.name,K(e.readBytes(this.size)))}};var cs=class extends Oe{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,r){return r!=null&&this._throwError("not null",r),e.writeBytes([])}decode(e){return e.readBytes(0),e.coerce(this.name,null)}};var Ht={};Fn(Ht,{AddressZero:()=>yl,EtherSymbol:()=>Sl,HashZero:()=>us,MaxInt256:()=>Cl,MaxUint256:()=>ls,MinInt256:()=>Al,NegativeOne:()=>ds,One:()=>fs,Two:()=>wl,WeiPerEther:()=>vl,Zero:()=>Ko});var yl="0x0000000000000000000000000000000000000000";var ds=W.from(-1),Ko=W.from(0),fs=W.from(1),wl=W.from(2),vl=W.from("1000000000000000000"),ls=W.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Al=W.from("-0x8000000000000000000000000000000000000000000000000000000000000000"),Cl=W.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var us="0x0000000000000000000000000000000000000000000000000000000000000000";var Sl="\u039E";var ps=class extends Oe{constructor(e,r,n){let o=(r?"int":"uint")+e*8;super(o,o,n,!1),this.size=e,this.signed=r}defaultValue(){return 0}encode(e,r){let n=W.from(r),o=ls.mask(e.wordSize*8);if(this.signed){let a=o.mask(this.size*8-1);(n.gt(a)||n.lt(a.add(fs).mul(ds)))&&this._throwError("value out-of-bounds",r)}else(n.lt(Ko)||n.gt(o.mask(this.size*8)))&&this._throwError("value out-of-bounds",r);return n=n.toTwos(this.size*8).mask(this.size*8),this.signed&&(n=n.fromTwos(this.size*8).toTwos(8*e.wordSize)),e.writeValue(n)}decode(e){let r=e.readValue().mask(this.size*8);return this.signed&&(r=r.fromTwos(this.size*8)),e.coerce(this.name,r)}};var Tl="strings/5.7.0";var kl=new N(Tl),st;(function(t){t.current="",t.NFC="NFC",t.NFD="NFD",t.NFKC="NFKC",t.NFKD="NFKD"})(st||(st={}));var Xe;(function(t){t.UNEXPECTED_CONTINUE="unexpected continuation byte",t.BAD_PREFIX="bad codepoint prefix",t.OVERRUN="string overrun",t.MISSING_CONTINUE="missing continuation byte",t.OUT_OF_RANGE="out of UTF-8 range",t.UTF16_SURROGATE="UTF-16 surrogate",t.OVERLONG="overlong representation"})(Xe||(Xe={}));function t2(t,e,r,n,o){return kl.throwArgumentError(`invalid codepoint at offset ${e}; ${t}`,"bytes",r)}function El(t,e,r,n,o){if(t===Xe.BAD_PREFIX||t===Xe.UNEXPECTED_CONTINUE){let a=0;for(let i=e+1;i<r.length&&r[i]>>6===2;i++)a++;return a}return t===Xe.OVERRUN?r.length-e-1:0}function r2(t,e,r,n,o){return t===Xe.OVERLONG?(n.push(o),0):(n.push(65533),El(t,e,r,n,o))}var ms=Object.freeze({error:t2,ignore:El,replace:r2});function c0(t,e){e==null&&(e=ms.error),t=R(t);let r=[],n=0;for(;n<t.length;){let o=t[n++];if(o>>7===0){r.push(o);continue}let a=null,i=null;if((o&224)===192)a=1,i=127;else if((o&240)===224)a=2,i=2047;else if((o&248)===240)a=3,i=65535;else{(o&192)===128?n+=e(Xe.UNEXPECTED_CONTINUE,n-1,t,r):n+=e(Xe.BAD_PREFIX,n-1,t,r);continue}if(n-1+a>=t.length){n+=e(Xe.OVERRUN,n-1,t,r);continue}let s=o&(1<<8-a-1)-1;for(let c=0;c<a;c++){let d=t[n];if((d&192)!=128){n+=e(Xe.MISSING_CONTINUE,n,t,r),s=null;break}s=s<<6|d&63,n++}if(s!==null){if(s>1114111){n+=e(Xe.OUT_OF_RANGE,n-1-a,t,r,s);continue}if(s>=55296&&s<=57343){n+=e(Xe.UTF16_SURROGATE,n-1-a,t,r,s);continue}if(s<=i){n+=e(Xe.OVERLONG,n-1-a,t,r,s);continue}r.push(s)}}return r}function ye(t,e=st.current){e!=st.current&&(kl.checkNormalize(),t=t.normalize(e));let r=[];for(let n=0;n<t.length;n++){let o=t.charCodeAt(n);if(o<128)r.push(o);else if(o<2048)r.push(o>>6|192),r.push(o&63|128);else if((o&64512)==55296){n++;let a=t.charCodeAt(n);if(n>=t.length||(a&64512)!==56320)throw new Error("invalid utf-8 string");let i=65536+((o&1023)<<10)+(a&1023);r.push(i>>18|240),r.push(i>>12&63|128),r.push(i>>6&63|128),r.push(i&63|128)}else r.push(o>>12|224),r.push(o>>6&63|128),r.push(o&63|128)}return R(r)}function s0(t){let e="0000"+t.toString(16);return"\\u"+e.substring(e.length-4)}function d0(t,e){return'"'+c0(t,e).map(r=>{if(r<256){switch(r){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(r>=32&&r<127)return String.fromCharCode(r)}return r<=65535?s0(r):(r-=65536,s0((r>>10&1023)+55296)+s0((r&1023)+56320))}).join("")+'"'}function xs(t){return t.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function Wt(t,e){return xs(c0(t,e))}function sn(t,e=st.current){return c0(ye(t,e))}function f0(t){let e=ye(t);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return K(xe([e,us]).slice(0,32))}function l0(t){let e=R(t);if(e.length!==32)throw new Error("invalid bytes32 - not 32 bytes long");if(e[31]!==0)throw new Error("invalid bytes32 string - no null terminator");let r=31;for(;e[r-1]===0;)r--;return Wt(e.slice(0,r))}function n2(t){if(t.length%4!==0)throw new Error("bad data");let e=[];for(let r=0;r<t.length;r+=4)e.push(parseInt(t.substring(r,r+4),16));return e}function u0(t,e){e||(e=function(o){return[parseInt(o,16)]});let r=0,n={};return t.split(",").forEach(o=>{let a=o.split(":");r+=parseInt(a[0],16),n[r]=e(a[1])}),n}function Pl(t){let e=0;return t.split(",").map(r=>{let n=r.split("-");n.length===1?n[1]="0":n[1]===""&&(n[1]="1");let o=e+parseInt(n[0],16);return e=parseInt(n[1],16),{l:o,h:e}})}function p0(t,e){let r=0;for(let n=0;n<e.length;n++){let o=e[n];if(r+=o.l,t>=r&&t<=r+o.h&&(t-r)%(o.d||1)===0){if(o.e&&o.e.indexOf(t-r)!==-1)continue;return o}}return null}var o2=Pl("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),a2="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(t=>parseInt(t,16)),i2=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],s2=u0("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),c2=u0("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),d2=u0("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",n2),f2=Pl("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001");function l2(t){return t.reduce((e,r)=>(r.forEach(n=>{e.push(n)}),e),[])}function u2(t){return!!p0(t,o2)}function p2(t){let e=p0(t,i2);if(e)return[t+e.s];let r=s2[t];if(r)return r;let n=c2[t];if(n)return[t+n[0]];let o=d2[t];return o||null}function m2(t){return!!p0(t,f2)}function m0(t){if(t.match(/^[a-z0-9-]*$/i)&&t.length<=59)return t.toLowerCase();let e=sn(t);e=l2(e.map(n=>{if(a2.indexOf(n)>=0)return[];if(n>=65024&&n<=65039)return[];let o=p2(n);return o||[n]})),e=sn(xs(e),st.NFKC),e.forEach(n=>{if(m2(n))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")}),e.forEach(n=>{if(u2(n))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")});let r=xs(e);if(r.substring(0,1)==="-"||r.substring(2,4)==="--"||r.substring(r.length-1)==="-")throw new Error("invalid hyphen");return r}var hs=class extends Za{constructor(e){super("string",e)}defaultValue(){return""}encode(e,r){return super.encode(e,ye(r))}decode(e){return Wt(super.decode(e))}};var Wn=class extends Oe{constructor(e,r){let n=!1,o=[];e.forEach(i=>{i.dynamic&&(n=!0),o.push(i.type)});let a="tuple("+o.join(",")+")";super("tuple",a,r,n),this.coders=e}defaultValue(){let e=[];this.coders.forEach(n=>{e.push(n.defaultValue())});let r=this.coders.reduce((n,o)=>{let a=o.localName;return a&&(n[a]||(n[a]=0),n[a]++),n},{});return this.coders.forEach((n,o)=>{let a=n.localName;!a||r[a]!==1||(a==="length"&&(a="_length"),e[a]==null&&(e[a]=e[o]))}),Object.freeze(e)}encode(e,r){return a0(e,this.coders,r)}decode(e){return e.coerce(this.name,i0(e,this.coders))}};var gs=new N(cr),x2=new RegExp(/^bytes([0-9]*)$/),h2=new RegExp(/^(u?int)([0-9]*)$/),Ho=class{constructor(e){_(this,"coerceFunc",e||null)}_getCoder(e){switch(e.baseType){case"address":return new rs(e.name);case"bool":return new as(e.name);case"string":return new hs(e.name);case"bytes":return new is(e.name);case"array":return new os(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new Wn((e.components||[]).map(n=>this._getCoder(n)),e.name);case"":return new cs(e.name)}let r=e.type.match(h2);if(r){let n=parseInt(r[2]||"256");return(n===0||n>256||n%8!==0)&&gs.throwArgumentError("invalid "+r[1]+" bit length","param",e),new ps(n/8,r[1]==="int",e.name)}if(r=e.type.match(x2),r){let n=parseInt(r[1]);return(n===0||n>32)&&gs.throwArgumentError("invalid bytes length","param",e),new ss(n,e.name)}return gs.throwArgumentError("invalid type","type",e.type)}_getWordSize(){return 32}_getReader(e,r){return new $i(e,this._getWordSize(),this.coerceFunc,r)}_getWriter(){return new Hn(this._getWordSize())}getDefaultValue(e){let r=e.map(o=>this._getCoder(We.from(o)));return new Wn(r,"_").defaultValue()}encode(e,r){e.length!==r.length&&gs.throwError("types/values length mismatch",N.errors.INVALID_ARGUMENT,{count:{types:e.length,values:r.length},value:{types:e,values:r}});let n=e.map(i=>this._getCoder(We.from(i))),o=new Wn(n,"_"),a=this._getWriter();return o.encode(a,r),a.data}decode(e,r,n){let o=e.map(i=>this._getCoder(We.from(i)));return new Wn(o,"_").decode(this._getReader(R(r),n))}},Ya=new Ho;function ht(t){return ce(ye(t))}var bs="hash/5.7.0";var x0={};Fn(x0,{decode:()=>Wo,encode:()=>ys});function Wo(t){t=atob(t);let e=[];for(let r=0;r<t.length;r++)e.push(t.charCodeAt(r));return R(e)}function ys(t){t=R(t);let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return btoa(e)}function Nl(t,e){e==null&&(e=1);let r=[],n=r.forEach,o=function(a,i){n.call(a,function(s){i>0&&Array.isArray(s)?o(s,i-1):r.push(s)})};return o(t,e),r}function g2(t){let e={};for(let r=0;r<t.length;r++){let n=t[r];e[n[0]]=n[1]}return e}function b2(t){let e=0;function r(){return t[e++]<<8|t[e++]}let n=r(),o=1,a=[0,1];for(let C=1;C<n;C++)a.push(o+=r());let i=r(),s=e;e+=i;let c=0,d=0;function f(){return c==0&&(d=d<<8|t[e++],c=8),d>>--c&1}let u=31,x=Math.pow(2,u),m=x>>>1,p=m>>1,h=x-1,w=0;for(let C=0;C<u;C++)w=w<<1|f();let b=[],T=0,k=x;for(;;){let C=Math.floor(((w-T+1)*o-1)/k),B=0,P=n;for(;P-B>1;){let J=B+P>>>1;C<a[J]?P=J:B=J}if(B==0)break;b.push(B);let L=T+Math.floor(k*a[B]/o),F=T+Math.floor(k*a[B+1]/o)-1;for(;((L^F)&m)==0;)w=w<<1&h|f(),L=L<<1&h,F=F<<1&h|1;for(;L&~F&p;)w=w&m|w<<1&h>>>1|f(),L=L<<1^m,F=(F^m)<<1|m|1;T=L,k=1+F-L}let O=n-4;return b.map(C=>{switch(C-O){case 3:return O+65792+(t[s++]<<16|t[s++]<<8|t[s++]);case 2:return O+256+(t[s++]<<8|t[s++]);case 1:return O+t[s++];default:return C-1}})}function y2(t){let e=0;return()=>t[e++]}function Rl(t){return y2(b2(t))}function w2(t){return t&1?~t>>1:t>>1}function v2(t,e){let r=Array(t);for(let n=0;n<t;n++)r[n]=1+e();return r}function Il(t,e){let r=Array(t);for(let n=0,o=-1;n<t;n++)r[n]=o+=1+e();return r}function A2(t,e){let r=Array(t);for(let n=0,o=0;n<t;n++)r[n]=o+=w2(e());return r}function ja(t,e){let r=Il(t(),t),n=t(),o=Il(n,t),a=v2(n,t);for(let i=0;i<n;i++)for(let s=0;s<a[i];s++)r.push(o[i]+s);return e?r.map(i=>e[i]):r}function _l(t){let e=[];for(;;){let r=t();if(r==0)break;e.push(S2(r,t))}for(;;){let r=t()-1;if(r<0)break;e.push(T2(r,t))}return g2(Nl(e))}function C2(t){let e=[];for(;;){let r=t();if(r==0)break;e.push(r)}return e}function Ml(t,e,r){let n=Array(t).fill(void 0).map(()=>[]);for(let o=0;o<e;o++)A2(t,r).forEach((a,i)=>n[i].push(a));return n}function S2(t,e){let r=1+e(),n=e(),o=C2(e),a=Ml(o.length,1+t,e);return Nl(a.map((i,s)=>{let c=i[0],d=i.slice(1);return Array(o[s]).fill(void 0).map((f,u)=>{let x=u*n;return[c+u*r,d.map(m=>m+x)]})}))}function T2(t,e){let r=1+e();return Ml(r,1+t,e).map(o=>[o[0],o.slice(1)])}function Ol(t){let e=ja(t).sort((n,o)=>n-o);return r();function r(){let n=[];for(;;){let d=ja(t,e);if(d.length==0)break;n.push({set:new Set(d),node:r()})}n.sort((d,f)=>f.set.size-d.set.size);let o=t(),a=o%3;o=o/3|0;let i=!!(o&1);o>>=1;let s=o==1,c=o==2;return{branches:n,valid:a,fe0f:i,save:s,check:c}}}function Bl(){return Rl(Wo("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA=="))}var ws=Bl(),k2=new Set(ja(ws)),E2=new Set(ja(ws)),P2=_l(ws),I2=Ol(ws),Ll=45,Dl=95;function Fl(t){return sn(t)}function N2(t){return t.filter(e=>e!=65039)}function Ul(t){for(let e of t.split(".")){let r=Fl(e);try{for(let n=r.lastIndexOf(Dl)-1;n>=0;n--)if(r[n]!==Dl)throw new Error("underscore only allowed at start");if(r.length>=4&&r.every(n=>n<128)&&r[2]===Ll&&r[3]===Ll)throw new Error("invalid label extension")}catch(n){throw new Error(`Invalid label "${e}": ${n.message}`)}}return t}function Vl(t){return Ul(R2(t,N2))}function R2(t,e){let r=Fl(t).reverse(),n=[];for(;r.length;){let o=M2(r);if(o){n.push(...e(o));continue}let a=r.pop();if(k2.has(a)){n.push(a);continue}if(E2.has(a))continue;let i=P2[a];if(i){n.push(...i);continue}throw new Error(`Disallowed codepoint: 0x${a.toString(16).toUpperCase()}`)}return Ul(_2(String.fromCodePoint(...n)))}function _2(t){return t.normalize("NFC")}function M2(t,e){var r;let n=I2,o,a,i=[],s=t.length;for(e&&(e.length=0);s;){let c=t[--s];if(n=(r=n.branches.find(d=>d.set.has(c)))===null||r===void 0?void 0:r.node,!n)break;if(n.save)a=c;else if(n.check&&c===a)break;i.push(c),n.fe0f&&(i.push(65039),s>0&&t[s-1]==65039&&s--),n.valid&&(o=i.slice(),n.valid==2&&o.splice(1,1),e&&e.push(...t.slice(s).reverse()),t.length=s)}return o}var O2=new N(bs),Hl=new Uint8Array(32);Hl.fill(0);function Kl(t){if(t.length===0)throw new Error("invalid ENS name; empty component");return t}function h0(t){let e=ye(Vl(t)),r=[];if(t.length===0)return r;let n=0;for(let o=0;o<e.length;o++)e[o]===46&&(r.push(Kl(e.slice(n,o))),n=o+1);if(n>=e.length)throw new Error("invalid ENS name; empty component");return r.push(Kl(e.slice(n))),r}function g0(t){try{return h0(t).length!==0}catch{}return!1}function b0(t){typeof t!="string"&&O2.throwArgumentError("invalid ENS name; not a string","name",t);let e=Hl,r=h0(t);for(;r.length;)e=ce(xe([e,ce(r.pop())]));return K(e)}function y0(t){return K(xe(h0(t).map(e=>{if(e.length>63)throw new Error("invalid DNS encoded entry; length exceeds 63 bytes");let r=new Uint8Array(e.length+1);return r.set(e,1),r[0]=r.length-1,r})))+"00"}var Wl=`Ethereum Signed Message:
|
|
1
|
+
var Mh=Object.create;var zc=Object.defineProperty;var Oh=Object.getOwnPropertyDescriptor;var Bh=Object.getOwnPropertyNames;var Lh=Object.getPrototypeOf,Dh=Object.prototype.hasOwnProperty;var Fh=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Ue=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Fn=(t,e)=>{for(var r in e)zc(t,r,{get:e[r],enumerable:!0})},Uh=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Bh(e))!Dh.call(t,o)&&o!==r&&zc(t,o,{get:()=>e[o],enumerable:!(n=Oh(e,o))||n.enumerable});return t};var Mo=(t,e,r)=>(r=t!=null?Mh(Lh(t)):{},Uh(e||!t||!t.__esModule?zc(r,"default",{value:t,enumerable:!0}):r,t));var ol=Ue((e7,es)=>{"use strict";(function(){"use strict";var t="input is invalid type",e="finalize already called",r=typeof window=="object",n=r?window:{};n.JS_SHA3_NO_WINDOW&&(r=!1);var o=!r&&typeof self=="object",a=!n.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;a?n=global:o&&(n=self);var i=!n.JS_SHA3_NO_COMMON_JS&&typeof es=="object"&&es.exports,s=typeof define=="function"&&define.amd,c=!n.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",d="0123456789abcdef".split(""),f=[31,7936,2031616,520093696],u=[4,1024,262144,67108864],x=[1,256,65536,16777216],m=[6,1536,393216,100663296],p=[0,8,16,24],h=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],w=[224,256,384,512],b=[128,256],T=["hex","buffer","arrayBuffer","array","digest"],k={128:168,256:136};(n.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(l){return Object.prototype.toString.call(l)==="[object Array]"}),c&&(n.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(l){return typeof l=="object"&&l.buffer&&l.buffer.constructor===ArrayBuffer});for(var O=function(l,E,v){return function(I){return new g(l,E,l).update(I)[v]()}},C=function(l,E,v){return function(I,V){return new g(l,E,V).update(I)[v]()}},B=function(l,E,v){return function(I,V,q,ee){return X["cshake"+l].update(I,V,q,ee)[v]()}},P=function(l,E,v){return function(I,V,q,ee){return X["kmac"+l].update(I,V,q,ee)[v]()}},L=function(l,E,v,I){for(var V=0;V<T.length;++V){var q=T[V];l[q]=E(v,I,q)}return l},F=function(l,E){var v=O(l,E,"hex");return v.create=function(){return new g(l,E,l)},v.update=function(I){return v.create().update(I)},L(v,O,l,E)},J=function(l,E){var v=C(l,E,"hex");return v.create=function(I){return new g(l,E,I)},v.update=function(I,V){return v.create(V).update(I)},L(v,C,l,E)},M=function(l,E){var v=k[l],I=B(l,E,"hex");return I.create=function(V,q,ee){return!q&&!ee?X["shake"+l].create(V):new g(l,E,V).bytepad([q,ee],v)},I.update=function(V,q,ee,Z){return I.create(q,ee,Z).update(V)},L(I,B,l,E)},H=function(l,E){var v=k[l],I=P(l,E,"hex");return I.create=function(V,q,ee){return new A(l,E,q).bytepad(["KMAC",ee],v).bytepad([V],v)},I.update=function(V,q,ee,Z){return I.create(V,ee,Z).update(q)},L(I,P,l,E)},G=[{name:"keccak",padding:x,bits:w,createMethod:F},{name:"sha3",padding:m,bits:w,createMethod:F},{name:"shake",padding:f,bits:b,createMethod:J},{name:"cshake",padding:u,bits:b,createMethod:M},{name:"kmac",padding:u,bits:b,createMethod:H}],X={},z=[],re=0;re<G.length;++re)for(var j=G[re],$=j.bits,y=0;y<$.length;++y){var S=j.name+"_"+$[y];if(z.push(S),X[S]=j.createMethod($[y],j.padding),j.name!=="sha3"){var D=j.name+$[y];z.push(D),X[D]=X[S]}}function g(l,E,v){this.blocks=[],this.s=[],this.padding=E,this.outputBits=v,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(l<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=v>>5,this.extraBytes=(v&31)>>3;for(var I=0;I<50;++I)this.s[I]=0}g.prototype.update=function(l){if(this.finalized)throw new Error(e);var E,v=typeof l;if(v!=="string"){if(v==="object"){if(l===null)throw new Error(t);if(c&&l.constructor===ArrayBuffer)l=new Uint8Array(l);else if(!Array.isArray(l)&&(!c||!ArrayBuffer.isView(l)))throw new Error(t)}else throw new Error(t);E=!0}for(var I=this.blocks,V=this.byteCount,q=l.length,ee=this.blockCount,Z=0,ke=this.s,oe,Ce;Z<q;){if(this.reset)for(this.reset=!1,I[0]=this.block,oe=1;oe<ee+1;++oe)I[oe]=0;if(E)for(oe=this.start;Z<q&&oe<V;++Z)I[oe>>2]|=l[Z]<<p[oe++&3];else for(oe=this.start;Z<q&&oe<V;++Z)Ce=l.charCodeAt(Z),Ce<128?I[oe>>2]|=Ce<<p[oe++&3]:Ce<2048?(I[oe>>2]|=(192|Ce>>6)<<p[oe++&3],I[oe>>2]|=(128|Ce&63)<<p[oe++&3]):Ce<55296||Ce>=57344?(I[oe>>2]|=(224|Ce>>12)<<p[oe++&3],I[oe>>2]|=(128|Ce>>6&63)<<p[oe++&3],I[oe>>2]|=(128|Ce&63)<<p[oe++&3]):(Ce=65536+((Ce&1023)<<10|l.charCodeAt(++Z)&1023),I[oe>>2]|=(240|Ce>>18)<<p[oe++&3],I[oe>>2]|=(128|Ce>>12&63)<<p[oe++&3],I[oe>>2]|=(128|Ce>>6&63)<<p[oe++&3],I[oe>>2]|=(128|Ce&63)<<p[oe++&3]);if(this.lastByteIndex=oe,oe>=V){for(this.start=oe-V,this.block=I[ee],oe=0;oe<ee;++oe)ke[oe]^=I[oe];U(ke),this.reset=!0}else this.start=oe}return this},g.prototype.encode=function(l,E){var v=l&255,I=1,V=[v];for(l=l>>8,v=l&255;v>0;)V.unshift(v),l=l>>8,v=l&255,++I;return E?V.push(I):V.unshift(I),this.update(V),V.length},g.prototype.encodeString=function(l){var E,v=typeof l;if(v!=="string"){if(v==="object"){if(l===null)throw new Error(t);if(c&&l.constructor===ArrayBuffer)l=new Uint8Array(l);else if(!Array.isArray(l)&&(!c||!ArrayBuffer.isView(l)))throw new Error(t)}else throw new Error(t);E=!0}var I=0,V=l.length;if(E)I=V;else for(var q=0;q<l.length;++q){var ee=l.charCodeAt(q);ee<128?I+=1:ee<2048?I+=2:ee<55296||ee>=57344?I+=3:(ee=65536+((ee&1023)<<10|l.charCodeAt(++q)&1023),I+=4)}return I+=this.encode(I*8),this.update(l),I},g.prototype.bytepad=function(l,E){for(var v=this.encode(E),I=0;I<l.length;++I)v+=this.encodeString(l[I]);var V=E-v%E,q=[];return q.length=V,this.update(q),this},g.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var l=this.blocks,E=this.lastByteIndex,v=this.blockCount,I=this.s;if(l[E>>2]|=this.padding[E&3],this.lastByteIndex===this.byteCount)for(l[0]=l[v],E=1;E<v+1;++E)l[E]=0;for(l[v-1]|=2147483648,E=0;E<v;++E)I[E]^=l[E];U(I)}},g.prototype.toString=g.prototype.hex=function(){this.finalize();for(var l=this.blockCount,E=this.s,v=this.outputBlocks,I=this.extraBytes,V=0,q=0,ee="",Z;q<v;){for(V=0;V<l&&q<v;++V,++q)Z=E[V],ee+=d[Z>>4&15]+d[Z&15]+d[Z>>12&15]+d[Z>>8&15]+d[Z>>20&15]+d[Z>>16&15]+d[Z>>28&15]+d[Z>>24&15];q%l===0&&(U(E),V=0)}return I&&(Z=E[V],ee+=d[Z>>4&15]+d[Z&15],I>1&&(ee+=d[Z>>12&15]+d[Z>>8&15]),I>2&&(ee+=d[Z>>20&15]+d[Z>>16&15])),ee},g.prototype.arrayBuffer=function(){this.finalize();var l=this.blockCount,E=this.s,v=this.outputBlocks,I=this.extraBytes,V=0,q=0,ee=this.outputBits>>3,Z;I?Z=new ArrayBuffer(v+1<<2):Z=new ArrayBuffer(ee);for(var ke=new Uint32Array(Z);q<v;){for(V=0;V<l&&q<v;++V,++q)ke[q]=E[V];q%l===0&&U(E)}return I&&(ke[V]=E[V],Z=Z.slice(0,ee)),Z},g.prototype.buffer=g.prototype.arrayBuffer,g.prototype.digest=g.prototype.array=function(){this.finalize();for(var l=this.blockCount,E=this.s,v=this.outputBlocks,I=this.extraBytes,V=0,q=0,ee=[],Z,ke;q<v;){for(V=0;V<l&&q<v;++V,++q)Z=q<<2,ke=E[V],ee[Z]=ke&255,ee[Z+1]=ke>>8&255,ee[Z+2]=ke>>16&255,ee[Z+3]=ke>>24&255;q%l===0&&U(E)}return I&&(Z=q<<2,ke=E[V],ee[Z]=ke&255,I>1&&(ee[Z+1]=ke>>8&255),I>2&&(ee[Z+2]=ke>>16&255)),ee};function A(l,E,v){g.call(this,l,E,v)}A.prototype=new g,A.prototype.finalize=function(){return this.encode(this.outputBits,!0),g.prototype.finalize.call(this)};var U=function(l){var E,v,I,V,q,ee,Z,ke,oe,Ce,en,ho,Mn,go,On,bo,Bn,mt,nr,Ct,Ln,yo,wo,vo,Ao,he,Co,Rr,_r,Ee,So,Kt,or,To,ko,Eo,Dn,Po,Io,ar,tn,rn,No,Ro,_o,Q,te,ae,ne,fe,ge,nt,dt,Te,Be,Qe,nn,Ki,Hi,Wi,Gi,qi,Ji;for(I=0;I<48;I+=2)V=l[0]^l[10]^l[20]^l[30]^l[40],q=l[1]^l[11]^l[21]^l[31]^l[41],ee=l[2]^l[12]^l[22]^l[32]^l[42],Z=l[3]^l[13]^l[23]^l[33]^l[43],ke=l[4]^l[14]^l[24]^l[34]^l[44],oe=l[5]^l[15]^l[25]^l[35]^l[45],Ce=l[6]^l[16]^l[26]^l[36]^l[46],en=l[7]^l[17]^l[27]^l[37]^l[47],ho=l[8]^l[18]^l[28]^l[38]^l[48],Mn=l[9]^l[19]^l[29]^l[39]^l[49],E=ho^(ee<<1|Z>>>31),v=Mn^(Z<<1|ee>>>31),l[0]^=E,l[1]^=v,l[10]^=E,l[11]^=v,l[20]^=E,l[21]^=v,l[30]^=E,l[31]^=v,l[40]^=E,l[41]^=v,E=V^(ke<<1|oe>>>31),v=q^(oe<<1|ke>>>31),l[2]^=E,l[3]^=v,l[12]^=E,l[13]^=v,l[22]^=E,l[23]^=v,l[32]^=E,l[33]^=v,l[42]^=E,l[43]^=v,E=ee^(Ce<<1|en>>>31),v=Z^(en<<1|Ce>>>31),l[4]^=E,l[5]^=v,l[14]^=E,l[15]^=v,l[24]^=E,l[25]^=v,l[34]^=E,l[35]^=v,l[44]^=E,l[45]^=v,E=ke^(ho<<1|Mn>>>31),v=oe^(Mn<<1|ho>>>31),l[6]^=E,l[7]^=v,l[16]^=E,l[17]^=v,l[26]^=E,l[27]^=v,l[36]^=E,l[37]^=v,l[46]^=E,l[47]^=v,E=Ce^(V<<1|q>>>31),v=en^(q<<1|V>>>31),l[8]^=E,l[9]^=v,l[18]^=E,l[19]^=v,l[28]^=E,l[29]^=v,l[38]^=E,l[39]^=v,l[48]^=E,l[49]^=v,go=l[0],On=l[1],Q=l[11]<<4|l[10]>>>28,te=l[10]<<4|l[11]>>>28,Rr=l[20]<<3|l[21]>>>29,_r=l[21]<<3|l[20]>>>29,Wi=l[31]<<9|l[30]>>>23,Gi=l[30]<<9|l[31]>>>23,rn=l[40]<<18|l[41]>>>14,No=l[41]<<18|l[40]>>>14,To=l[2]<<1|l[3]>>>31,ko=l[3]<<1|l[2]>>>31,bo=l[13]<<12|l[12]>>>20,Bn=l[12]<<12|l[13]>>>20,ae=l[22]<<10|l[23]>>>22,ne=l[23]<<10|l[22]>>>22,Ee=l[33]<<13|l[32]>>>19,So=l[32]<<13|l[33]>>>19,qi=l[42]<<2|l[43]>>>30,Ji=l[43]<<2|l[42]>>>30,Te=l[5]<<30|l[4]>>>2,Be=l[4]<<30|l[5]>>>2,Eo=l[14]<<6|l[15]>>>26,Dn=l[15]<<6|l[14]>>>26,mt=l[25]<<11|l[24]>>>21,nr=l[24]<<11|l[25]>>>21,fe=l[34]<<15|l[35]>>>17,ge=l[35]<<15|l[34]>>>17,Kt=l[45]<<29|l[44]>>>3,or=l[44]<<29|l[45]>>>3,vo=l[6]<<28|l[7]>>>4,Ao=l[7]<<28|l[6]>>>4,Qe=l[17]<<23|l[16]>>>9,nn=l[16]<<23|l[17]>>>9,Po=l[26]<<25|l[27]>>>7,Io=l[27]<<25|l[26]>>>7,Ct=l[36]<<21|l[37]>>>11,Ln=l[37]<<21|l[36]>>>11,nt=l[47]<<24|l[46]>>>8,dt=l[46]<<24|l[47]>>>8,Ro=l[8]<<27|l[9]>>>5,_o=l[9]<<27|l[8]>>>5,he=l[18]<<20|l[19]>>>12,Co=l[19]<<20|l[18]>>>12,Ki=l[29]<<7|l[28]>>>25,Hi=l[28]<<7|l[29]>>>25,ar=l[38]<<8|l[39]>>>24,tn=l[39]<<8|l[38]>>>24,yo=l[48]<<14|l[49]>>>18,wo=l[49]<<14|l[48]>>>18,l[0]=go^~bo&mt,l[1]=On^~Bn&nr,l[10]=vo^~he&Rr,l[11]=Ao^~Co&_r,l[20]=To^~Eo&Po,l[21]=ko^~Dn&Io,l[30]=Ro^~Q&ae,l[31]=_o^~te&ne,l[40]=Te^~Qe&Ki,l[41]=Be^~nn&Hi,l[2]=bo^~mt&Ct,l[3]=Bn^~nr&Ln,l[12]=he^~Rr&Ee,l[13]=Co^~_r&So,l[22]=Eo^~Po&ar,l[23]=Dn^~Io&tn,l[32]=Q^~ae&fe,l[33]=te^~ne&ge,l[42]=Qe^~Ki&Wi,l[43]=nn^~Hi&Gi,l[4]=mt^~Ct&yo,l[5]=nr^~Ln&wo,l[14]=Rr^~Ee&Kt,l[15]=_r^~So&or,l[24]=Po^~ar&rn,l[25]=Io^~tn&No,l[34]=ae^~fe&nt,l[35]=ne^~ge&dt,l[44]=Ki^~Wi&qi,l[45]=Hi^~Gi&Ji,l[6]=Ct^~yo&go,l[7]=Ln^~wo&On,l[16]=Ee^~Kt&vo,l[17]=So^~or&Ao,l[26]=ar^~rn&To,l[27]=tn^~No&ko,l[36]=fe^~nt&Ro,l[37]=ge^~dt&_o,l[46]=Wi^~qi&Te,l[47]=Gi^~Ji&Be,l[8]=yo^~go&bo,l[9]=wo^~On&Bn,l[18]=Kt^~vo&he,l[19]=or^~Ao&Co,l[28]=rn^~To&Eo,l[29]=No^~ko&Dn,l[38]=nt^~Ro&Q,l[39]=dt^~_o&te,l[48]=qi^~Te&Qe,l[49]=Ji^~Be&nn,l[0]^=h[I],l[1]^=h[I+1]};if(i)es.exports=X;else{for(re=0;re<z.length;++re)n[z[re]]=X[z[re]];s&&define(function(){return X})}})()});var Qo=Ue((qw,eu)=>{"use strict";eu.exports=$l;function $l(t,e){if(!t)throw new Error(e||"Assertion failed")}$l.equal=function(e,r,n){if(e!=r)throw new Error(n||"Assertion failed: "+e+" != "+r)}});var tu=Ue((Jw,C0)=>{"use strict";typeof Object.create=="function"?C0.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:C0.exports=function(e,r){if(r){e.super_=r;var n=function(){};n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}}});var ru=Ue((zw,T0)=>{"use strict";try{if(S0=Fh("util"),typeof S0.inherits!="function")throw"";T0.exports=S0.inherits}catch{T0.exports=tu()}var S0});var Jt=Ue(Ae=>{"use strict";var z2=Qo(),Q2=ru();Ae.inherits=Q2;function X2(t,e){return(t.charCodeAt(e)&64512)!==55296||e<0||e+1>=t.length?!1:(t.charCodeAt(e+1)&64512)===56320}function Z2(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if(typeof t=="string")if(e){if(e==="hex")for(t=t.replace(/[^a-z0-9]+/ig,""),t.length%2!==0&&(t="0"+t),o=0;o<t.length;o+=2)r.push(parseInt(t[o]+t[o+1],16))}else for(var n=0,o=0;o<t.length;o++){var a=t.charCodeAt(o);a<128?r[n++]=a:a<2048?(r[n++]=a>>6|192,r[n++]=a&63|128):X2(t,o)?(a=65536+((a&1023)<<10)+(t.charCodeAt(++o)&1023),r[n++]=a>>18|240,r[n++]=a>>12&63|128,r[n++]=a>>6&63|128,r[n++]=a&63|128):(r[n++]=a>>12|224,r[n++]=a>>6&63|128,r[n++]=a&63|128)}else for(o=0;o<t.length;o++)r[o]=t[o]|0;return r}Ae.toArray=Z2;function Y2(t){for(var e="",r=0;r<t.length;r++)e+=ou(t[r].toString(16));return e}Ae.toHex=Y2;function nu(t){var e=t>>>24|t>>>8&65280|t<<8&16711680|(t&255)<<24;return e>>>0}Ae.htonl=nu;function j2(t,e){for(var r="",n=0;n<t.length;n++){var o=t[n];e==="little"&&(o=nu(o)),r+=au(o.toString(16))}return r}Ae.toHex32=j2;function ou(t){return t.length===1?"0"+t:t}Ae.zero2=ou;function au(t){return t.length===7?"0"+t:t.length===6?"00"+t:t.length===5?"000"+t:t.length===4?"0000"+t:t.length===3?"00000"+t:t.length===2?"000000"+t:t.length===1?"0000000"+t:t}Ae.zero8=au;function $2(t,e,r,n){var o=r-e;z2(o%4===0);for(var a=new Array(o/4),i=0,s=e;i<a.length;i++,s+=4){var c;n==="big"?c=t[s]<<24|t[s+1]<<16|t[s+2]<<8|t[s+3]:c=t[s+3]<<24|t[s+2]<<16|t[s+1]<<8|t[s],a[i]=c>>>0}return a}Ae.join32=$2;function e5(t,e){for(var r=new Array(t.length*4),n=0,o=0;n<t.length;n++,o+=4){var a=t[n];e==="big"?(r[o]=a>>>24,r[o+1]=a>>>16&255,r[o+2]=a>>>8&255,r[o+3]=a&255):(r[o+3]=a>>>24,r[o+2]=a>>>16&255,r[o+1]=a>>>8&255,r[o]=a&255)}return r}Ae.split32=e5;function t5(t,e){return t>>>e|t<<32-e}Ae.rotr32=t5;function r5(t,e){return t<<e|t>>>32-e}Ae.rotl32=r5;function n5(t,e){return t+e>>>0}Ae.sum32=n5;function o5(t,e,r){return t+e+r>>>0}Ae.sum32_3=o5;function a5(t,e,r,n){return t+e+r+n>>>0}Ae.sum32_4=a5;function i5(t,e,r,n,o){return t+e+r+n+o>>>0}Ae.sum32_5=i5;function s5(t,e,r,n){var o=t[e],a=t[e+1],i=n+a>>>0,s=(i<n?1:0)+r+o;t[e]=s>>>0,t[e+1]=i}Ae.sum64=s5;function c5(t,e,r,n){var o=e+n>>>0,a=(o<e?1:0)+t+r;return a>>>0}Ae.sum64_hi=c5;function d5(t,e,r,n){var o=e+n;return o>>>0}Ae.sum64_lo=d5;function f5(t,e,r,n,o,a,i,s){var c=0,d=e;d=d+n>>>0,c+=d<e?1:0,d=d+a>>>0,c+=d<a?1:0,d=d+s>>>0,c+=d<s?1:0;var f=t+r+o+i+c;return f>>>0}Ae.sum64_4_hi=f5;function l5(t,e,r,n,o,a,i,s){var c=e+n+a+s;return c>>>0}Ae.sum64_4_lo=l5;function u5(t,e,r,n,o,a,i,s,c,d){var f=0,u=e;u=u+n>>>0,f+=u<e?1:0,u=u+a>>>0,f+=u<a?1:0,u=u+s>>>0,f+=u<s?1:0,u=u+d>>>0,f+=u<d?1:0;var x=t+r+o+i+c+f;return x>>>0}Ae.sum64_5_hi=u5;function p5(t,e,r,n,o,a,i,s,c,d){var f=e+n+a+s+d;return f>>>0}Ae.sum64_5_lo=p5;function m5(t,e,r){var n=e<<32-r|t>>>r;return n>>>0}Ae.rotr64_hi=m5;function x5(t,e,r){var n=t<<32-r|e>>>r;return n>>>0}Ae.rotr64_lo=x5;function h5(t,e,r){return t>>>r}Ae.shr64_hi=h5;function g5(t,e,r){var n=t<<32-r|e>>>r;return n>>>0}Ae.shr64_lo=g5});var Xo=Ue(su=>{"use strict";var iu=Jt(),b5=Qo();function vs(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}su.BlockHash=vs;vs.prototype.update=function(e,r){if(e=iu.toArray(e,r),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var n=e.length%this._delta8;this.pending=e.slice(e.length-n,e.length),this.pending.length===0&&(this.pending=null),e=iu.join32(e,0,e.length-n,this.endian);for(var o=0;o<e.length;o+=this._delta32)this._update(e,o,o+this._delta32)}return this};vs.prototype.digest=function(e){return this.update(this._pad()),b5(this.pending===null),this._digest(e)};vs.prototype._pad=function(){var e=this.pendingTotal,r=this._delta8,n=r-(e+this.padLength)%r,o=new Array(n+this.padLength);o[0]=128;for(var a=1;a<n;a++)o[a]=0;if(e<<=3,this.endian==="big"){for(var i=8;i<this.padLength;i++)o[a++]=0;o[a++]=0,o[a++]=0,o[a++]=0,o[a++]=0,o[a++]=e>>>24&255,o[a++]=e>>>16&255,o[a++]=e>>>8&255,o[a++]=e&255}else for(o[a++]=e&255,o[a++]=e>>>8&255,o[a++]=e>>>16&255,o[a++]=e>>>24&255,o[a++]=0,o[a++]=0,o[a++]=0,o[a++]=0,i=8;i<this.padLength;i++)o[a++]=0;return o}});var k0=Ue(Vr=>{"use strict";var y5=Jt(),pr=y5.rotr32;function w5(t,e,r,n){if(t===0)return cu(e,r,n);if(t===1||t===3)return fu(e,r,n);if(t===2)return du(e,r,n)}Vr.ft_1=w5;function cu(t,e,r){return t&e^~t&r}Vr.ch32=cu;function du(t,e,r){return t&e^t&r^e&r}Vr.maj32=du;function fu(t,e,r){return t^e^r}Vr.p32=fu;function v5(t){return pr(t,2)^pr(t,13)^pr(t,22)}Vr.s0_256=v5;function A5(t){return pr(t,6)^pr(t,11)^pr(t,25)}Vr.s1_256=A5;function C5(t){return pr(t,7)^pr(t,18)^t>>>3}Vr.g0_256=C5;function S5(t){return pr(t,17)^pr(t,19)^t>>>10}Vr.g1_256=S5});var pu=Ue((Yw,uu)=>{"use strict";var Zo=Jt(),T5=Xo(),k5=k0(),E0=Zo.rotl32,$a=Zo.sum32,E5=Zo.sum32_5,P5=k5.ft_1,lu=T5.BlockHash,I5=[1518500249,1859775393,2400959708,3395469782];function mr(){if(!(this instanceof mr))return new mr;lu.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}Zo.inherits(mr,lu);uu.exports=mr;mr.blockSize=512;mr.outSize=160;mr.hmacStrength=80;mr.padLength=64;mr.prototype._update=function(e,r){for(var n=this.W,o=0;o<16;o++)n[o]=e[r+o];for(;o<n.length;o++)n[o]=E0(n[o-3]^n[o-8]^n[o-14]^n[o-16],1);var a=this.h[0],i=this.h[1],s=this.h[2],c=this.h[3],d=this.h[4];for(o=0;o<n.length;o++){var f=~~(o/20),u=E5(E0(a,5),P5(f,i,s,c),d,n[o],I5[f]);d=c,c=s,s=E0(i,30),i=a,a=u}this.h[0]=$a(this.h[0],a),this.h[1]=$a(this.h[1],i),this.h[2]=$a(this.h[2],s),this.h[3]=$a(this.h[3],c),this.h[4]=$a(this.h[4],d)};mr.prototype._digest=function(e){return e==="hex"?Zo.toHex32(this.h,"big"):Zo.split32(this.h,"big")}});var P0=Ue((jw,xu)=>{"use strict";var Yo=Jt(),N5=Xo(),jo=k0(),R5=Qo(),zt=Yo.sum32,_5=Yo.sum32_4,M5=Yo.sum32_5,O5=jo.ch32,B5=jo.maj32,L5=jo.s0_256,D5=jo.s1_256,F5=jo.g0_256,U5=jo.g1_256,mu=N5.BlockHash,V5=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function xr(){if(!(this instanceof xr))return new xr;mu.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=V5,this.W=new Array(64)}Yo.inherits(xr,mu);xu.exports=xr;xr.blockSize=512;xr.outSize=256;xr.hmacStrength=192;xr.padLength=64;xr.prototype._update=function(e,r){for(var n=this.W,o=0;o<16;o++)n[o]=e[r+o];for(;o<n.length;o++)n[o]=_5(U5(n[o-2]),n[o-7],F5(n[o-15]),n[o-16]);var a=this.h[0],i=this.h[1],s=this.h[2],c=this.h[3],d=this.h[4],f=this.h[5],u=this.h[6],x=this.h[7];for(R5(this.k.length===n.length),o=0;o<n.length;o++){var m=M5(x,D5(d),O5(d,f,u),this.k[o],n[o]),p=zt(L5(a),B5(a,i,s));x=u,u=f,f=d,d=zt(c,m),c=s,s=i,i=a,a=zt(m,p)}this.h[0]=zt(this.h[0],a),this.h[1]=zt(this.h[1],i),this.h[2]=zt(this.h[2],s),this.h[3]=zt(this.h[3],c),this.h[4]=zt(this.h[4],d),this.h[5]=zt(this.h[5],f),this.h[6]=zt(this.h[6],u),this.h[7]=zt(this.h[7],x)};xr.prototype._digest=function(e){return e==="hex"?Yo.toHex32(this.h,"big"):Yo.split32(this.h,"big")}});var bu=Ue(($w,gu)=>{"use strict";var I0=Jt(),hu=P0();function Kr(){if(!(this instanceof Kr))return new Kr;hu.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}I0.inherits(Kr,hu);gu.exports=Kr;Kr.blockSize=512;Kr.outSize=224;Kr.hmacStrength=192;Kr.padLength=64;Kr.prototype._digest=function(e){return e==="hex"?I0.toHex32(this.h.slice(0,7),"big"):I0.split32(this.h.slice(0,7),"big")}});var _0=Ue((ev,Au)=>{"use strict";var ut=Jt(),K5=Xo(),H5=Qo(),hr=ut.rotr64_hi,gr=ut.rotr64_lo,yu=ut.shr64_hi,wu=ut.shr64_lo,dn=ut.sum64,N0=ut.sum64_hi,R0=ut.sum64_lo,W5=ut.sum64_4_hi,G5=ut.sum64_4_lo,q5=ut.sum64_5_hi,J5=ut.sum64_5_lo,vu=K5.BlockHash,z5=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Qt(){if(!(this instanceof Qt))return new Qt;vu.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=z5,this.W=new Array(160)}ut.inherits(Qt,vu);Au.exports=Qt;Qt.blockSize=1024;Qt.outSize=512;Qt.hmacStrength=192;Qt.padLength=128;Qt.prototype._prepareBlock=function(e,r){for(var n=this.W,o=0;o<32;o++)n[o]=e[r+o];for(;o<n.length;o+=2){var a=o3(n[o-4],n[o-3]),i=a3(n[o-4],n[o-3]),s=n[o-14],c=n[o-13],d=r3(n[o-30],n[o-29]),f=n3(n[o-30],n[o-29]),u=n[o-32],x=n[o-31];n[o]=W5(a,i,s,c,d,f,u,x),n[o+1]=G5(a,i,s,c,d,f,u,x)}};Qt.prototype._update=function(e,r){this._prepareBlock(e,r);var n=this.W,o=this.h[0],a=this.h[1],i=this.h[2],s=this.h[3],c=this.h[4],d=this.h[5],f=this.h[6],u=this.h[7],x=this.h[8],m=this.h[9],p=this.h[10],h=this.h[11],w=this.h[12],b=this.h[13],T=this.h[14],k=this.h[15];H5(this.k.length===n.length);for(var O=0;O<n.length;O+=2){var C=T,B=k,P=e3(x,m),L=t3(x,m),F=Q5(x,m,p,h,w,b),J=X5(x,m,p,h,w,b),M=this.k[O],H=this.k[O+1],G=n[O],X=n[O+1],z=q5(C,B,P,L,F,J,M,H,G,X),re=J5(C,B,P,L,F,J,M,H,G,X);C=j5(o,a),B=$5(o,a),P=Z5(o,a,i,s,c,d),L=Y5(o,a,i,s,c,d);var j=N0(C,B,P,L),$=R0(C,B,P,L);T=w,k=b,w=p,b=h,p=x,h=m,x=N0(f,u,z,re),m=R0(u,u,z,re),f=c,u=d,c=i,d=s,i=o,s=a,o=N0(z,re,j,$),a=R0(z,re,j,$)}dn(this.h,0,o,a),dn(this.h,2,i,s),dn(this.h,4,c,d),dn(this.h,6,f,u),dn(this.h,8,x,m),dn(this.h,10,p,h),dn(this.h,12,w,b),dn(this.h,14,T,k)};Qt.prototype._digest=function(e){return e==="hex"?ut.toHex32(this.h,"big"):ut.split32(this.h,"big")};function Q5(t,e,r,n,o){var a=t&r^~t&o;return a<0&&(a+=4294967296),a}function X5(t,e,r,n,o,a){var i=e&n^~e&a;return i<0&&(i+=4294967296),i}function Z5(t,e,r,n,o){var a=t&r^t&o^r&o;return a<0&&(a+=4294967296),a}function Y5(t,e,r,n,o,a){var i=e&n^e&a^n&a;return i<0&&(i+=4294967296),i}function j5(t,e){var r=hr(t,e,28),n=hr(e,t,2),o=hr(e,t,7),a=r^n^o;return a<0&&(a+=4294967296),a}function $5(t,e){var r=gr(t,e,28),n=gr(e,t,2),o=gr(e,t,7),a=r^n^o;return a<0&&(a+=4294967296),a}function e3(t,e){var r=hr(t,e,14),n=hr(t,e,18),o=hr(e,t,9),a=r^n^o;return a<0&&(a+=4294967296),a}function t3(t,e){var r=gr(t,e,14),n=gr(t,e,18),o=gr(e,t,9),a=r^n^o;return a<0&&(a+=4294967296),a}function r3(t,e){var r=hr(t,e,1),n=hr(t,e,8),o=yu(t,e,7),a=r^n^o;return a<0&&(a+=4294967296),a}function n3(t,e){var r=gr(t,e,1),n=gr(t,e,8),o=wu(t,e,7),a=r^n^o;return a<0&&(a+=4294967296),a}function o3(t,e){var r=hr(t,e,19),n=hr(e,t,29),o=yu(t,e,6),a=r^n^o;return a<0&&(a+=4294967296),a}function a3(t,e){var r=gr(t,e,19),n=gr(e,t,29),o=wu(t,e,6),a=r^n^o;return a<0&&(a+=4294967296),a}});var Tu=Ue((tv,Su)=>{"use strict";var M0=Jt(),Cu=_0();function Hr(){if(!(this instanceof Hr))return new Hr;Cu.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}M0.inherits(Hr,Cu);Su.exports=Hr;Hr.blockSize=1024;Hr.outSize=384;Hr.hmacStrength=192;Hr.padLength=128;Hr.prototype._digest=function(e){return e==="hex"?M0.toHex32(this.h.slice(0,12),"big"):M0.split32(this.h.slice(0,12),"big")}});var ku=Ue($o=>{"use strict";$o.sha1=pu();$o.sha224=bu();$o.sha256=P0();$o.sha384=Tu();$o.sha512=_0()});var _u=Ue(Ru=>{"use strict";var qn=Jt(),i3=Xo(),As=qn.rotl32,Eu=qn.sum32,ei=qn.sum32_3,Pu=qn.sum32_4,Nu=i3.BlockHash;function br(){if(!(this instanceof br))return new br;Nu.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}qn.inherits(br,Nu);Ru.ripemd160=br;br.blockSize=512;br.outSize=160;br.hmacStrength=192;br.padLength=64;br.prototype._update=function(e,r){for(var n=this.h[0],o=this.h[1],a=this.h[2],i=this.h[3],s=this.h[4],c=n,d=o,f=a,u=i,x=s,m=0;m<80;m++){var p=Eu(As(Pu(n,Iu(m,o,a,i),e[d3[m]+r],s3(m)),l3[m]),s);n=s,s=i,i=As(a,10),a=o,o=p,p=Eu(As(Pu(c,Iu(79-m,d,f,u),e[f3[m]+r],c3(m)),u3[m]),x),c=x,x=u,u=As(f,10),f=d,d=p}p=ei(this.h[1],a,u),this.h[1]=ei(this.h[2],i,x),this.h[2]=ei(this.h[3],s,c),this.h[3]=ei(this.h[4],n,d),this.h[4]=ei(this.h[0],o,f),this.h[0]=p};br.prototype._digest=function(e){return e==="hex"?qn.toHex32(this.h,"little"):qn.split32(this.h,"little")};function Iu(t,e,r,n){return t<=15?e^r^n:t<=31?e&r|~e&n:t<=47?(e|~r)^n:t<=63?e&n|r&~n:e^(r|~n)}function s3(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function c3(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}var d3=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],f3=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],l3=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],u3=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]});var Ou=Ue((ov,Mu)=>{"use strict";var p3=Jt(),m3=Qo();function ea(t,e,r){if(!(this instanceof ea))return new ea(t,e,r);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(p3.toArray(e,r))}Mu.exports=ea;ea.prototype._init=function(e){e.length>this.blockSize&&(e=new this.Hash().update(e).digest()),m3(e.length<=this.blockSize);for(var r=e.length;r<this.blockSize;r++)e.push(0);for(r=0;r<e.length;r++)e[r]^=54;for(this.inner=new this.Hash().update(e),r=0;r<e.length;r++)e[r]^=106;this.outer=new this.Hash().update(e)};ea.prototype.update=function(e,r){return this.inner.update(e,r),this};ea.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}});var O0=Ue(Bu=>{"use strict";var Ge=Bu;Ge.utils=Jt();Ge.common=Xo();Ge.sha=ku();Ge.ripemd=_u();Ge.hmac=Ou();Ge.sha1=Ge.sha.sha1;Ge.sha256=Ge.sha.sha256;Ge.sha224=Ge.sha.sha224;Ge.sha384=Ge.sha.sha384;Ge.sha512=Ge.sha.sha512;Ge.ripemd160=Ge.ripemd.ripemd160});var ed=Ue(($0,fp)=>{"use strict";(function(t){function e(y){return parseInt(y)===y}function r(y){if(!e(y.length))return!1;for(var S=0;S<y.length;S++)if(!e(y[S])||y[S]<0||y[S]>255)return!1;return!0}function n(y,S){if(y.buffer&&ArrayBuffer.isView(y)&&y.name==="Uint8Array")return S&&(y.slice?y=y.slice():y=Array.prototype.slice.call(y)),y;if(Array.isArray(y)){if(!r(y))throw new Error("Array contains invalid value: "+y);return new Uint8Array(y)}if(e(y.length)&&r(y))return new Uint8Array(y);throw new Error("unsupported array-like object")}function o(y){return new Uint8Array(y)}function a(y,S,D,g,A){(g!=null||A!=null)&&(y.slice?y=y.slice(g,A):y=Array.prototype.slice.call(y,g,A)),S.set(y,D)}var i=function(){function y(D){var g=[],A=0;for(D=encodeURI(D);A<D.length;){var U=D.charCodeAt(A++);U===37?(g.push(parseInt(D.substr(A,2),16)),A+=2):g.push(U)}return n(g)}function S(D){for(var g=[],A=0;A<D.length;){var U=D[A];U<128?(g.push(String.fromCharCode(U)),A++):U>191&&U<224?(g.push(String.fromCharCode((U&31)<<6|D[A+1]&63)),A+=2):(g.push(String.fromCharCode((U&15)<<12|(D[A+1]&63)<<6|D[A+2]&63)),A+=3)}return g.join("")}return{toBytes:y,fromBytes:S}}(),s=function(){function y(g){for(var A=[],U=0;U<g.length;U+=2)A.push(parseInt(g.substr(U,2),16));return A}var S="0123456789abcdef";function D(g){for(var A=[],U=0;U<g.length;U++){var l=g[U];A.push(S[(l&240)>>4]+S[l&15])}return A.join("")}return{toBytes:y,fromBytes:D}}(),c={16:10,24:12,32:14},d=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],f=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],u=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],x=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],m=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],p=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],h=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],w=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],b=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],T=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],k=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],O=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],C=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],B=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],P=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function L(y){for(var S=[],D=0;D<y.length;D+=4)S.push(y[D]<<24|y[D+1]<<16|y[D+2]<<8|y[D+3]);return S}var F=function(y){if(!(this instanceof F))throw Error("AES must be instanitated with `new`");Object.defineProperty(this,"key",{value:n(y,!0)}),this._prepare()};F.prototype._prepare=function(){var y=c[this.key.length];if(y==null)throw new Error("invalid key size (must be 16, 24 or 32 bytes)");this._Ke=[],this._Kd=[];for(var S=0;S<=y;S++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);for(var D=(y+1)*4,g=this.key.length/4,A=L(this.key),U,S=0;S<g;S++)U=S>>2,this._Ke[U][S%4]=A[S],this._Kd[y-U][S%4]=A[S];for(var l=0,E=g,v;E<D;){if(v=A[g-1],A[0]^=f[v>>16&255]<<24^f[v>>8&255]<<16^f[v&255]<<8^f[v>>24&255]^d[l]<<24,l+=1,g!=8)for(var S=1;S<g;S++)A[S]^=A[S-1];else{for(var S=1;S<g/2;S++)A[S]^=A[S-1];v=A[g/2-1],A[g/2]^=f[v&255]^f[v>>8&255]<<8^f[v>>16&255]<<16^f[v>>24&255]<<24;for(var S=g/2+1;S<g;S++)A[S]^=A[S-1]}for(var S=0,I,V;S<g&&E<D;)I=E>>2,V=E%4,this._Ke[I][V]=A[S],this._Kd[y-I][V]=A[S++],E++}for(var I=1;I<y;I++)for(var V=0;V<4;V++)v=this._Kd[I][V],this._Kd[I][V]=O[v>>24&255]^C[v>>16&255]^B[v>>8&255]^P[v&255]},F.prototype.encrypt=function(y){if(y.length!=16)throw new Error("invalid plaintext size (must be 16 bytes)");for(var S=this._Ke.length-1,D=[0,0,0,0],g=L(y),A=0;A<4;A++)g[A]^=this._Ke[0][A];for(var U=1;U<S;U++){for(var A=0;A<4;A++)D[A]=x[g[A]>>24&255]^m[g[(A+1)%4]>>16&255]^p[g[(A+2)%4]>>8&255]^h[g[(A+3)%4]&255]^this._Ke[U][A];g=D.slice()}for(var l=o(16),E,A=0;A<4;A++)E=this._Ke[S][A],l[4*A]=(f[g[A]>>24&255]^E>>24)&255,l[4*A+1]=(f[g[(A+1)%4]>>16&255]^E>>16)&255,l[4*A+2]=(f[g[(A+2)%4]>>8&255]^E>>8)&255,l[4*A+3]=(f[g[(A+3)%4]&255]^E)&255;return l},F.prototype.decrypt=function(y){if(y.length!=16)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var S=this._Kd.length-1,D=[0,0,0,0],g=L(y),A=0;A<4;A++)g[A]^=this._Kd[0][A];for(var U=1;U<S;U++){for(var A=0;A<4;A++)D[A]=w[g[A]>>24&255]^b[g[(A+3)%4]>>16&255]^T[g[(A+2)%4]>>8&255]^k[g[(A+1)%4]&255]^this._Kd[U][A];g=D.slice()}for(var l=o(16),E,A=0;A<4;A++)E=this._Kd[S][A],l[4*A]=(u[g[A]>>24&255]^E>>24)&255,l[4*A+1]=(u[g[(A+3)%4]>>16&255]^E>>16)&255,l[4*A+2]=(u[g[(A+2)%4]>>8&255]^E>>8)&255,l[4*A+3]=(u[g[(A+1)%4]&255]^E)&255;return l};var J=function(y){if(!(this instanceof J))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new F(y)};J.prototype.encrypt=function(y){if(y=n(y),y.length%16!==0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var S=o(y.length),D=o(16),g=0;g<y.length;g+=16)a(y,D,0,g,g+16),D=this._aes.encrypt(D),a(D,S,g);return S},J.prototype.decrypt=function(y){if(y=n(y),y.length%16!==0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var S=o(y.length),D=o(16),g=0;g<y.length;g+=16)a(y,D,0,g,g+16),D=this._aes.decrypt(D),a(D,S,g);return S};var M=function(y,S){if(!(this instanceof M))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Block Chaining",this.name="cbc",!S)S=o(16);else if(S.length!=16)throw new Error("invalid initialation vector size (must be 16 bytes)");this._lastCipherblock=n(S,!0),this._aes=new F(y)};M.prototype.encrypt=function(y){if(y=n(y),y.length%16!==0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var S=o(y.length),D=o(16),g=0;g<y.length;g+=16){a(y,D,0,g,g+16);for(var A=0;A<16;A++)D[A]^=this._lastCipherblock[A];this._lastCipherblock=this._aes.encrypt(D),a(this._lastCipherblock,S,g)}return S},M.prototype.decrypt=function(y){if(y=n(y),y.length%16!==0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var S=o(y.length),D=o(16),g=0;g<y.length;g+=16){a(y,D,0,g,g+16),D=this._aes.decrypt(D);for(var A=0;A<16;A++)S[g+A]=D[A]^this._lastCipherblock[A];a(y,this._lastCipherblock,0,g,g+16)}return S};var H=function(y,S,D){if(!(this instanceof H))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Feedback",this.name="cfb",!S)S=o(16);else if(S.length!=16)throw new Error("invalid initialation vector size (must be 16 size)");D||(D=1),this.segmentSize=D,this._shiftRegister=n(S,!0),this._aes=new F(y)};H.prototype.encrypt=function(y){if(y.length%this.segmentSize!=0)throw new Error("invalid plaintext size (must be segmentSize bytes)");for(var S=n(y,!0),D,g=0;g<S.length;g+=this.segmentSize){D=this._aes.encrypt(this._shiftRegister);for(var A=0;A<this.segmentSize;A++)S[g+A]^=D[A];a(this._shiftRegister,this._shiftRegister,0,this.segmentSize),a(S,this._shiftRegister,16-this.segmentSize,g,g+this.segmentSize)}return S},H.prototype.decrypt=function(y){if(y.length%this.segmentSize!=0)throw new Error("invalid ciphertext size (must be segmentSize bytes)");for(var S=n(y,!0),D,g=0;g<S.length;g+=this.segmentSize){D=this._aes.encrypt(this._shiftRegister);for(var A=0;A<this.segmentSize;A++)S[g+A]^=D[A];a(this._shiftRegister,this._shiftRegister,0,this.segmentSize),a(y,this._shiftRegister,16-this.segmentSize,g,g+this.segmentSize)}return S};var G=function(y,S){if(!(this instanceof G))throw Error("AES must be instanitated with `new`");if(this.description="Output Feedback",this.name="ofb",!S)S=o(16);else if(S.length!=16)throw new Error("invalid initialation vector size (must be 16 bytes)");this._lastPrecipher=n(S,!0),this._lastPrecipherIndex=16,this._aes=new F(y)};G.prototype.encrypt=function(y){for(var S=n(y,!0),D=0;D<S.length;D++)this._lastPrecipherIndex===16&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),S[D]^=this._lastPrecipher[this._lastPrecipherIndex++];return S},G.prototype.decrypt=G.prototype.encrypt;var X=function(y){if(!(this instanceof X))throw Error("Counter must be instanitated with `new`");y!==0&&!y&&(y=1),typeof y=="number"?(this._counter=o(16),this.setValue(y)):this.setBytes(y)};X.prototype.setValue=function(y){if(typeof y!="number"||parseInt(y)!=y)throw new Error("invalid counter value (must be an integer)");for(var S=15;S>=0;--S)this._counter[S]=y%256,y=y>>8},X.prototype.setBytes=function(y){if(y=n(y,!0),y.length!=16)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=y},X.prototype.increment=function(){for(var y=15;y>=0;y--)if(this._counter[y]===255)this._counter[y]=0;else{this._counter[y]++;break}};var z=function(y,S){if(!(this instanceof z))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",S instanceof X||(S=new X(S)),this._counter=S,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new F(y)};z.prototype.encrypt=function(y){for(var S=n(y,!0),D=0;D<S.length;D++)this._remainingCounterIndex===16&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),S[D]^=this._remainingCounter[this._remainingCounterIndex++];return S},z.prototype.decrypt=z.prototype.encrypt;function re(y){y=n(y,!0);var S=16-y.length%16,D=o(y.length+S);a(y,D);for(var g=y.length;g<D.length;g++)D[g]=S;return D}function j(y){if(y=n(y,!0),y.length<16)throw new Error("PKCS#7 invalid length");var S=y[y.length-1];if(S>16)throw new Error("PKCS#7 padding byte out of range");for(var D=y.length-S,g=0;g<S;g++)if(y[D+g]!==S)throw new Error("PKCS#7 invalid padding byte");var A=o(D);return a(y,A,0,0,D),A}var $={AES:F,Counter:X,ModeOfOperation:{ecb:J,cbc:M,cfb:H,ofb:G,ctr:z},utils:{hex:s,utf8:i},padding:{pkcs7:{pad:re,strip:j}},_arrayTest:{coerceArray:n,createArray:o,copyArray:a}};typeof $0<"u"?fp.exports=$:typeof define=="function"&&define.amd?define($):(t.aesjs&&($._aesjs=t.aesjs),t.aesjs=$)})($0)});var pp=Ue((ad,up)=>{"use strict";(function(t){function r(m){let p=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),h=1779033703,w=3144134277,b=1013904242,T=2773480762,k=1359893119,O=2600822924,C=528734635,B=1541459225,P=new Uint32Array(64);function L(z){let re=0,j=z.length;for(;j>=64;){let $=h,y=w,S=b,D=T,g=k,A=O,U=C,l=B,E,v,I,V,q;for(v=0;v<16;v++)I=re+v*4,P[v]=(z[I]&255)<<24|(z[I+1]&255)<<16|(z[I+2]&255)<<8|z[I+3]&255;for(v=16;v<64;v++)E=P[v-2],V=(E>>>17|E<<15)^(E>>>19|E<<13)^E>>>10,E=P[v-15],q=(E>>>7|E<<25)^(E>>>18|E<<14)^E>>>3,P[v]=(V+P[v-7]|0)+(q+P[v-16]|0)|0;for(v=0;v<64;v++)V=(((g>>>6|g<<26)^(g>>>11|g<<21)^(g>>>25|g<<7))+(g&A^~g&U)|0)+(l+(p[v]+P[v]|0)|0)|0,q=(($>>>2|$<<30)^($>>>13|$<<19)^($>>>22|$<<10))+($&y^$&S^y&S)|0,l=U,U=A,A=g,g=D+V|0,D=S,S=y,y=$,$=V+q|0;h=h+$|0,w=w+y|0,b=b+S|0,T=T+D|0,k=k+g|0,O=O+A|0,C=C+U|0,B=B+l|0,re+=64,j-=64}}L(m);let F,J=m.length%64,M=m.length/536870912|0,H=m.length<<3,G=J<56?56:120,X=m.slice(m.length-J,m.length);for(X.push(128),F=J+1;F<G;F++)X.push(0);return X.push(M>>>24&255),X.push(M>>>16&255),X.push(M>>>8&255),X.push(M>>>0&255),X.push(H>>>24&255),X.push(H>>>16&255),X.push(H>>>8&255),X.push(H>>>0&255),L(X),[h>>>24&255,h>>>16&255,h>>>8&255,h>>>0&255,w>>>24&255,w>>>16&255,w>>>8&255,w>>>0&255,b>>>24&255,b>>>16&255,b>>>8&255,b>>>0&255,T>>>24&255,T>>>16&255,T>>>8&255,T>>>0&255,k>>>24&255,k>>>16&255,k>>>8&255,k>>>0&255,O>>>24&255,O>>>16&255,O>>>8&255,O>>>0&255,C>>>24&255,C>>>16&255,C>>>8&255,C>>>0&255,B>>>24&255,B>>>16&255,B>>>8&255,B>>>0&255]}function n(m,p,h){m=m.length<=64?m:r(m);let w=64+p.length+4,b=new Array(w),T=new Array(64),k,O=[];for(k=0;k<64;k++)b[k]=54;for(k=0;k<m.length;k++)b[k]^=m[k];for(k=0;k<p.length;k++)b[64+k]=p[k];for(k=w-4;k<w;k++)b[k]=0;for(k=0;k<64;k++)T[k]=92;for(k=0;k<m.length;k++)T[k]^=m[k];function C(){for(let B=w-1;B>=w-4;B--){if(b[B]++,b[B]<=255)return;b[B]=0}}for(;h>=32;)C(),O=O.concat(r(T.concat(r(b)))),h-=32;return h>0&&(C(),O=O.concat(r(T.concat(r(b))).slice(0,h))),O}function o(m,p,h,w,b){let T;for(c(m,(2*h-1)*16,b,0,16),T=0;T<2*h;T++)s(m,T*16,b,16),i(b,w),c(b,0,m,p+T*16,16);for(T=0;T<h;T++)c(m,p+T*2*16,m,T*16,16);for(T=0;T<h;T++)c(m,p+(T*2+1)*16,m,(T+h)*16,16)}function a(m,p){return m<<p|m>>>32-p}function i(m,p){c(m,0,p,0,16);for(let h=8;h>0;h-=2)p[4]^=a(p[0]+p[12],7),p[8]^=a(p[4]+p[0],9),p[12]^=a(p[8]+p[4],13),p[0]^=a(p[12]+p[8],18),p[9]^=a(p[5]+p[1],7),p[13]^=a(p[9]+p[5],9),p[1]^=a(p[13]+p[9],13),p[5]^=a(p[1]+p[13],18),p[14]^=a(p[10]+p[6],7),p[2]^=a(p[14]+p[10],9),p[6]^=a(p[2]+p[14],13),p[10]^=a(p[6]+p[2],18),p[3]^=a(p[15]+p[11],7),p[7]^=a(p[3]+p[15],9),p[11]^=a(p[7]+p[3],13),p[15]^=a(p[11]+p[7],18),p[1]^=a(p[0]+p[3],7),p[2]^=a(p[1]+p[0],9),p[3]^=a(p[2]+p[1],13),p[0]^=a(p[3]+p[2],18),p[6]^=a(p[5]+p[4],7),p[7]^=a(p[6]+p[5],9),p[4]^=a(p[7]+p[6],13),p[5]^=a(p[4]+p[7],18),p[11]^=a(p[10]+p[9],7),p[8]^=a(p[11]+p[10],9),p[9]^=a(p[8]+p[11],13),p[10]^=a(p[9]+p[8],18),p[12]^=a(p[15]+p[14],7),p[13]^=a(p[12]+p[15],9),p[14]^=a(p[13]+p[12],13),p[15]^=a(p[14]+p[13],18);for(let h=0;h<16;++h)m[h]+=p[h]}function s(m,p,h,w){for(let b=0;b<w;b++)h[b]^=m[p+b]}function c(m,p,h,w,b){for(;b--;)h[w++]=m[p++]}function d(m){if(!m||typeof m.length!="number")return!1;for(let p=0;p<m.length;p++){let h=m[p];if(typeof h!="number"||h%1||h<0||h>=256)return!1}return!0}function f(m,p){if(typeof m!="number"||m%1)throw new Error("invalid "+p);return m}function u(m,p,h,w,b,T,k){if(h=f(h,"N"),w=f(w,"r"),b=f(b,"p"),T=f(T,"dkLen"),h===0||(h&h-1)!==0)throw new Error("N must be power of 2");if(h>2147483647/128/w)throw new Error("N too large");if(w>2147483647/128/b)throw new Error("r too large");if(!d(m))throw new Error("password must be an array or buffer");if(m=Array.prototype.slice.call(m),!d(p))throw new Error("salt must be an array or buffer");p=Array.prototype.slice.call(p);let O=n(m,p,b*128*w),C=new Uint32Array(b*32*w);for(let g=0;g<C.length;g++){let A=g*4;C[g]=(O[A+3]&255)<<24|(O[A+2]&255)<<16|(O[A+1]&255)<<8|(O[A+0]&255)<<0}let B=new Uint32Array(64*w),P=new Uint32Array(32*w*h),L=32*w,F=new Uint32Array(16),J=new Uint32Array(16),M=b*h*2,H=0,G=null,X=!1,z=0,re=0,j,$,y=k?parseInt(1e3/w):4294967295,S=typeof setImmediate<"u"?setImmediate:setTimeout,D=function(){if(X)return k(new Error("cancelled"),H/M);let g;switch(z){case 0:$=re*32*w,c(C,$,B,0,L),z=1,j=0;case 1:g=h-j,g>y&&(g=y);for(let U=0;U<g;U++)c(B,0,P,(j+U)*L,L),o(B,L,w,F,J);if(j+=g,H+=g,k){let U=parseInt(1e3*H/M);if(U!==G){if(X=k(null,H/M),X)break;G=U}}if(j<h)break;j=0,z=2;case 2:g=h-j,g>y&&(g=y);for(let U=0;U<g;U++){let l=(2*w-1)*16,E=B[l]&h-1;s(P,E*L,B,L),o(B,L,w,F,J)}if(j+=g,H+=g,k){let U=parseInt(1e3*H/M);if(U!==G){if(X=k(null,H/M),X)break;G=U}}if(j<h)break;if(c(B,0,C,$,L),re++,re<b){z=0;break}O=[];for(let U=0;U<C.length;U++)O.push(C[U]>>0&255),O.push(C[U]>>8&255),O.push(C[U]>>16&255),O.push(C[U]>>24&255);let A=n(m,O,T);return k&&k(null,1,A),A}k&&S(D)};if(!k)for(;;){let g=D();if(g!=null)return g}D()}let x={scrypt:function(m,p,h,w,b,T,k){return new Promise(function(O,C){let B=0;k&&k(0),u(m,p,h,w,b,T,function(P,L,F){if(P)C(P);else if(F)k&&B!==1&&k(1),O(new Uint8Array(F));else if(k&&L!==B)return B=L,k(L)})})},syncScrypt:function(m,p,h,w,b,T){return new Uint8Array(u(m,p,h,w,b,T))}};typeof ad<"u"?up.exports=x:typeof define=="function"&&define.amd?define(x):t&&(t.scrypt&&(t._scrypt=t.scrypt),t.scrypt=x)})(ad)});import{jsx as Vh}from"react/jsx-runtime";var Rf=()=>Vh("div",{style:{zIndex:10,top:0,right:0,bottom:0,left:0,backgroundColor:"rgba(0,0,0,0.8)",position:"fixed",display:"flex",alignItems:"center",justifyContent:"center"},children:"Waiting for XPay initialization ..."});import{PublicKey as zr}from"@solana/web3.js";var _f=(f=>(f.USDC="USDC",f.BatchQuery="BatchQuery",f.CustomXSwapRouter="CustomXSwapRouter",f.FeeCollector="FeeCollector",f.StakingCosmicCadets="StakingCosmicCadets",f.StakingSolarDivision="StakingSolarDivision",f.StakingIntergalacticCommand="StakingIntergalacticCommand",f.XSwapRouter="XSwapRouter",f.XSwapToken="XSwapToken",f.XSwapRouterSingleChain="XSwapRouterSingleChain",f))(_f||{});var St=(r=>(r.EVM="evm",r.SOLANA="solana",r))(St||{});var Kh=(n=>(n.PROD="production",n.DEV="develop",n.LOCAL="local",n))(Kh||{});var Qc=(n=>(n.DEVNET="devnet",n.TESTNET="testnet",n.MAINNET="mainnet-beta",n))(Qc||{});var Oo=(i=>(i[i.SWAP_INIT=0]="SWAP_INIT",i[i.SIGNING_APPROVAL=1]="SIGNING_APPROVAL",i[i.CONFIRMING_APPROVAL=2]="CONFIRMING_APPROVAL",i[i.SIGNING_TX=3]="SIGNING_TX",i[i.CONFIRMING_TX=4]="CONFIRMING_TX",i[i.COMPLETED=5]="COMPLETED",i))(Oo||{});var Ua=(n=>(n.DEVNET="devnet",n.TESTNET="testnet",n.MAINNET="mainnet",n))(Ua||{});var Mf=(o=>(o[o.DEFAULT=0]="DEFAULT",o[o.FULL_TOKEN_BALANCE=1]="FULL_TOKEN_BALANCE",o[o.FULL_NATIVE_BALANCE=2]="FULL_NATIVE_BALANCE",o[o.COLLECT_TOKEN_BALANCE=3]="COLLECT_TOKEN_BALANCE",o))(Mf||{});var ie={};Fn(ie,{BaseContract:()=>ra,BigNumber:()=>W,Contract:()=>Zn,ContractFactory:()=>oi,FixedNumber:()=>on,Signer:()=>qt,VoidSigner:()=>Gn,Wallet:()=>fi,Wordlist:()=>Ar,constants:()=>Ht,errors:()=>ft,getDefaultProvider:()=>Kp,logger:()=>Hp,providers:()=>Gs,utils:()=>li,version:()=>Ws,wordlists:()=>jn});import Wh from"bn.js";var Of="logger/5.7.0";var Bf=!1,Lf=!1,zi={debug:1,default:2,info:2,warning:3,error:4,off:5},Df=zi.default,Xc=null;function Hh(){try{let t=[];if(["NFD","NFC","NFKD","NFKC"].forEach(e=>{try{if("test".normalize(e)!=="test")throw new Error("bad normalize")}catch{t.push(e)}}),t.length)throw new Error("missing "+t.join(", "));if("\xE9".normalize("NFD")!=="e\u0301")throw new Error("broken implementation")}catch(t){return t.message}return null}var Ff=Hh(),Zc;(function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"})(Zc||(Zc={}));var ft;(function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",t.TRANSACTION_REPLACED="TRANSACTION_REPLACED",t.ACTION_REJECTED="ACTION_REJECTED"})(ft||(ft={}));var Uf="0123456789abcdef",N=class t{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,r){let n=e.toLowerCase();zi[n]==null&&this.throwArgumentError("invalid log level name","logLevel",e),!(Df>zi[n])&&console.log.apply(console,r)}debug(...e){this._log(t.levels.DEBUG,e)}info(...e){this._log(t.levels.INFO,e)}warn(...e){this._log(t.levels.WARNING,e)}makeError(e,r,n){if(Lf)return this.makeError("censored error",r,{});r||(r=t.errors.UNKNOWN_ERROR),n||(n={});let o=[];Object.keys(n).forEach(c=>{let d=n[c];try{if(d instanceof Uint8Array){let f="";for(let u=0;u<d.length;u++)f+=Uf[d[u]>>4],f+=Uf[d[u]&15];o.push(c+"=Uint8Array(0x"+f+")")}else o.push(c+"="+JSON.stringify(d))}catch{o.push(c+"="+JSON.stringify(n[c].toString()))}}),o.push(`code=${r}`),o.push(`version=${this.version}`);let a=e,i="";switch(r){case ft.NUMERIC_FAULT:{i="NUMERIC_FAULT";let c=e;switch(c){case"overflow":case"underflow":case"division-by-zero":i+="-"+c;break;case"negative-power":case"negative-width":i+="-unsupported";break;case"unbound-bitwise-result":i+="-unbound-result";break}break}case ft.CALL_EXCEPTION:case ft.INSUFFICIENT_FUNDS:case ft.MISSING_NEW:case ft.NONCE_EXPIRED:case ft.REPLACEMENT_UNDERPRICED:case ft.TRANSACTION_REPLACED:case ft.UNPREDICTABLE_GAS_LIMIT:i=r;break}i&&(e+=" [ See: https://links.ethers.org/v5-errors-"+i+" ]"),o.length&&(e+=" ("+o.join(", ")+")");let s=new Error(e);return s.reason=a,s.code=r,Object.keys(n).forEach(function(c){s[c]=n[c]}),s}throwError(e,r,n){throw this.makeError(e,r,n)}throwArgumentError(e,r,n){return this.throwError(e,t.errors.INVALID_ARGUMENT,{argument:r,value:n})}assert(e,r,n,o){e||this.throwError(r,n,o)}assertArgument(e,r,n,o){e||this.throwArgumentError(r,n,o)}checkNormalize(e){e==null&&(e="platform missing String.prototype.normalize"),Ff&&this.throwError("platform missing String.prototype.normalize",t.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Ff})}checkSafeUint53(e,r){typeof e=="number"&&(r==null&&(r="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(r,t.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(r,t.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,r,n){n?n=": "+n:n="",e<r&&this.throwError("missing argument"+n,t.errors.MISSING_ARGUMENT,{count:e,expectedCount:r}),e>r&&this.throwError("too many arguments"+n,t.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:r})}checkNew(e,r){(e===Object||e==null)&&this.throwError("missing new",t.errors.MISSING_NEW,{name:r.name})}checkAbstract(e,r){e===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",t.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||e==null)&&this.throwError("missing new",t.errors.MISSING_NEW,{name:r.name})}static globalLogger(){return Xc||(Xc=new t(Of)),Xc}static setCensorship(e,r){if(!e&&r&&this.globalLogger().throwError("cannot permanently disable censorship",t.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),Bf){if(!e)return;this.globalLogger().throwError("error censorship permanent",t.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}Lf=!!e,Bf=!!r}static setLogLevel(e){let r=zi[e.toLowerCase()];if(r==null){t.globalLogger().warn("invalid log level - "+e);return}Df=r}static from(e){return new t(e)}};N.errors=ft;N.levels=Zc;var Vf="bytes/5.7.0";var Re=new N(Vf);function Hf(t){return!!t.toHexString}function Bo(t){return t.slice||(t.slice=function(){let e=Array.prototype.slice.call(arguments);return Bo(new Uint8Array(Array.prototype.slice.apply(t,e)))}),t}function Mr(t){return be(t)&&!(t.length%2)||Tt(t)}function Kf(t){return typeof t=="number"&&t==t&&t%1===0}function Tt(t){if(t==null)return!1;if(t.constructor===Uint8Array)return!0;if(typeof t=="string"||!Kf(t.length)||t.length<0)return!1;for(let e=0;e<t.length;e++){let r=t[e];if(!Kf(r)||r<0||r>=256)return!1}return!0}function R(t,e){if(e||(e={}),typeof t=="number"){Re.checkSafeUint53(t,"invalid arrayify value");let r=[];for(;t;)r.unshift(t&255),t=parseInt(String(t/256));return r.length===0&&r.push(0),Bo(new Uint8Array(r))}if(e.allowMissingPrefix&&typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),Hf(t)&&(t=t.toHexString()),be(t)){let r=t.substring(2);r.length%2&&(e.hexPad==="left"?r="0"+r:e.hexPad==="right"?r+="0":Re.throwArgumentError("hex data is odd-length","value",t));let n=[];for(let o=0;o<r.length;o+=2)n.push(parseInt(r.substring(o,o+2),16));return Bo(new Uint8Array(n))}return Tt(t)?Bo(new Uint8Array(t)):Re.throwArgumentError("invalid arrayify value","value",t)}function xe(t){let e=t.map(o=>R(o)),r=e.reduce((o,a)=>o+a.length,0),n=new Uint8Array(r);return e.reduce((o,a)=>(n.set(a,o),o+a.length),0),Bo(n)}function xt(t){let e=R(t);if(e.length===0)return e;let r=0;for(;r<e.length&&e[r]===0;)r++;return r&&(e=e.slice(r)),e}function Un(t,e){t=R(t),t.length>e&&Re.throwArgumentError("value out of range","value",arguments[0]);let r=new Uint8Array(e);return r.set(t,e-t.length),Bo(r)}function be(t,e){return!(typeof t!="string"||!t.match(/^0x[0-9A-Fa-f]*$/)||e&&t.length!==2+2*e)}var Yc="0123456789abcdef";function K(t,e){if(e||(e={}),typeof t=="number"){Re.checkSafeUint53(t,"invalid hexlify value");let r="";for(;t;)r=Yc[t&15]+r,t=Math.floor(t/16);return r.length?(r.length%2&&(r="0"+r),"0x"+r):"0x00"}if(typeof t=="bigint")return t=t.toString(16),t.length%2?"0x0"+t:"0x"+t;if(e.allowMissingPrefix&&typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),Hf(t))return t.toHexString();if(be(t))return t.length%2&&(e.hexPad==="left"?t="0x0"+t.substring(2):e.hexPad==="right"?t+="0":Re.throwArgumentError("hex data is odd-length","value",t)),t.toLowerCase();if(Tt(t)){let r="0x";for(let n=0;n<t.length;n++){let o=t[n];r+=Yc[(o&240)>>4]+Yc[o&15]}return r}return Re.throwArgumentError("invalid hexlify value","value",t)}function Or(t){if(typeof t!="string")t=K(t);else if(!be(t)||t.length%2)return null;return(t.length-2)/2}function ot(t,e,r){return typeof t!="string"?t=K(t):(!be(t)||t.length%2)&&Re.throwArgumentError("invalid hexData","value",t),e=2+2*e,r!=null?"0x"+t.substring(e,2+2*r):"0x"+t.substring(e)}function kt(t){let e="0x";return t.forEach(r=>{e+=K(r).substring(2)}),e}function Wf(t){let e=jc(K(t,{hexPad:"left"}));return e==="0x"?"0x0":e}function jc(t){typeof t!="string"&&(t=K(t)),be(t)||Re.throwArgumentError("invalid hex string","value",t),t=t.substring(2);let e=0;for(;e<t.length&&t[e]==="0";)e++;return"0x"+t.substring(e)}function we(t,e){for(typeof t!="string"?t=K(t):be(t)||Re.throwArgumentError("invalid hex string","value",t),t.length>2*e+2&&Re.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function ir(t){let e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(Mr(t)){let r=R(t);r.length===64?(e.v=27+(r[32]>>7),r[32]&=127,e.r=K(r.slice(0,32)),e.s=K(r.slice(32,64))):r.length===65?(e.r=K(r.slice(0,32)),e.s=K(r.slice(32,64)),e.v=r[64]):Re.throwArgumentError("invalid signature string","signature",t),e.v<27&&(e.v===0||e.v===1?e.v+=27:Re.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(r[32]|=128),e._vs=K(r.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,e._vs!=null){let o=Un(R(e._vs),32);e._vs=K(o);let a=o[0]>=128?1:0;e.recoveryParam==null?e.recoveryParam=a:e.recoveryParam!==a&&Re.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),o[0]&=127;let i=K(o);e.s==null?e.s=i:e.s!==i&&Re.throwArgumentError("signature v mismatch _vs","signature",t)}if(e.recoveryParam==null)e.v==null?Re.throwArgumentError("signature missing v and recoveryParam","signature",t):e.v===0||e.v===1?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2;else if(e.v==null)e.v=27+e.recoveryParam;else{let o=e.v===0||e.v===1?e.v:1-e.v%2;e.recoveryParam!==o&&Re.throwArgumentError("signature recoveryParam mismatch v","signature",t)}e.r==null||!be(e.r)?Re.throwArgumentError("signature missing or invalid r","signature",t):e.r=we(e.r,32),e.s==null||!be(e.s)?Re.throwArgumentError("signature missing or invalid s","signature",t):e.s=we(e.s,32);let r=R(e.s);r[0]>=128&&Re.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(r[0]|=128);let n=K(r);e._vs&&(be(e._vs)||Re.throwArgumentError("signature invalid _vs","signature",t),e._vs=we(e._vs,32)),e._vs==null?e._vs=n:e._vs!==n&&Re.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}function Va(t){return t=ir(t),K(xe([t.r,t.s,t.recoveryParam?"0x1c":"0x1b"]))}var Qi="bignumber/5.7.0";var Ka=Wh.BN,Br=new N(Qi),$c={},Gf=9007199254740991;function Jf(t){return t!=null&&(W.isBigNumber(t)||typeof t=="number"&&t%1===0||typeof t=="string"&&!!t.match(/^-?[0-9]+$/)||be(t)||typeof t=="bigint"||Tt(t))}var qf=!1,W=class t{constructor(e,r){e!==$c&&Br.throwError("cannot call constructor directly; use BigNumber.from",N.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=r,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return lt(ue(this).fromTwos(e))}toTwos(e){return lt(ue(this).toTwos(e))}abs(){return this._hex[0]==="-"?t.from(this._hex.substring(1)):this}add(e){return lt(ue(this).add(ue(e)))}sub(e){return lt(ue(this).sub(ue(e)))}div(e){return t.from(e).isZero()&&Et("division-by-zero","div"),lt(ue(this).div(ue(e)))}mul(e){return lt(ue(this).mul(ue(e)))}mod(e){let r=ue(e);return r.isNeg()&&Et("division-by-zero","mod"),lt(ue(this).umod(r))}pow(e){let r=ue(e);return r.isNeg()&&Et("negative-power","pow"),lt(ue(this).pow(r))}and(e){let r=ue(e);return(this.isNegative()||r.isNeg())&&Et("unbound-bitwise-result","and"),lt(ue(this).and(r))}or(e){let r=ue(e);return(this.isNegative()||r.isNeg())&&Et("unbound-bitwise-result","or"),lt(ue(this).or(r))}xor(e){let r=ue(e);return(this.isNegative()||r.isNeg())&&Et("unbound-bitwise-result","xor"),lt(ue(this).xor(r))}mask(e){return(this.isNegative()||e<0)&&Et("negative-width","mask"),lt(ue(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&Et("negative-width","shl"),lt(ue(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&Et("negative-width","shr"),lt(ue(this).shrn(e))}eq(e){return ue(this).eq(ue(e))}lt(e){return ue(this).lt(ue(e))}lte(e){return ue(this).lte(ue(e))}gt(e){return ue(this).gt(ue(e))}gte(e){return ue(this).gte(ue(e))}isNegative(){return this._hex[0]==="-"}isZero(){return ue(this).isZero()}toNumber(){try{return ue(this).toNumber()}catch{Et("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return Br.throwError("this platform does not support BigInt",N.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?qf||(qf=!0,Br.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?Br.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",N.errors.UNEXPECTED_ARGUMENT,{}):Br.throwError("BigNumber.toString does not accept parameters",N.errors.UNEXPECTED_ARGUMENT,{})),ue(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof t)return e;if(typeof e=="string")return e.match(/^-?0x[0-9a-f]+$/i)?new t($c,Ha(e)):e.match(/^-?[0-9]+$/)?new t($c,Ha(new Ka(e))):Br.throwArgumentError("invalid BigNumber string","value",e);if(typeof e=="number")return e%1&&Et("underflow","BigNumber.from",e),(e>=Gf||e<=-Gf)&&Et("overflow","BigNumber.from",e),t.from(String(e));let r=e;if(typeof r=="bigint")return t.from(r.toString());if(Tt(r))return t.from(K(r));if(r)if(r.toHexString){let n=r.toHexString();if(typeof n=="string")return t.from(n)}else{let n=r._hex;if(n==null&&r.type==="BigNumber"&&(n=r.hex),typeof n=="string"&&(be(n)||n[0]==="-"&&be(n.substring(1))))return t.from(n)}return Br.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!!(e&&e._isBigNumber)}};function Ha(t){if(typeof t!="string")return Ha(t.toString(16));if(t[0]==="-")return t=t.substring(1),t[0]==="-"&&Br.throwArgumentError("invalid hex","value",t),t=Ha(t),t==="0x00"?t:"-"+t;if(t.substring(0,2)!=="0x"&&(t="0x"+t),t==="0x")return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&t.substring(0,4)==="0x00";)t="0x"+t.substring(4);return t}function lt(t){return W.from(Ha(t))}function ue(t){let e=W.from(t).toHexString();return e[0]==="-"?new Ka("-"+e.substring(3),16):new Ka(e.substring(2),16)}function Et(t,e,r){let n={fault:t,operation:e};return r!=null&&(n.value=r),Br.throwError(t,N.errors.NUMERIC_FAULT,n)}function e0(t){return new Ka(t,36).toString(16)}function t0(t){return new Ka(t,16).toString(36)}var at=new N(Qi),Wa={},Qf=W.from(0),Xf=W.from(-1);function Zf(t,e,r,n){let o={fault:e,operation:r};return n!==void 0&&(o.value=n),at.throwError(t,N.errors.NUMERIC_FAULT,o)}var Ga="0";for(;Ga.length<256;)Ga+=Ga;function r0(t){if(typeof t!="number")try{t=W.from(t).toNumber()}catch{}return typeof t=="number"&&t>=0&&t<=256&&!(t%1)?"1"+Ga.substring(0,t):at.throwArgumentError("invalid decimal size","decimals",t)}function Lo(t,e){e==null&&(e=0);let r=r0(e);t=W.from(t);let n=t.lt(Qf);n&&(t=t.mul(Xf));let o=t.mod(r).toString();for(;o.length<r.length-1;)o="0"+o;o=o.match(/^([0-9]*[1-9]|0)(0*)/)[1];let a=t.div(r).toString();return r.length===1?t=a:t=a+"."+o,n&&(t="-"+t),t}function Pt(t,e){e==null&&(e=0);let r=r0(e);(typeof t!="string"||!t.match(/^-?[0-9.]+$/))&&at.throwArgumentError("invalid decimal value","value",t);let n=t.substring(0,1)==="-";n&&(t=t.substring(1)),t==="."&&at.throwArgumentError("missing value","value",t);let o=t.split(".");o.length>2&&at.throwArgumentError("too many decimal points","value",t);let a=o[0],i=o[1];for(a||(a="0"),i||(i="0");i[i.length-1]==="0";)i=i.substring(0,i.length-1);for(i.length>r.length-1&&Zf("fractional component exceeds decimals","underflow","parseFixed"),i===""&&(i="0");i.length<r.length-1;)i+="0";let s=W.from(a),c=W.from(i),d=s.mul(r).add(c);return n&&(d=d.mul(Xf)),d}var Do=class t{constructor(e,r,n,o){e!==Wa&&at.throwError("cannot use FixedFormat constructor; use FixedFormat.from",N.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=r,this.width=n,this.decimals=o,this.name=(r?"":"u")+"fixed"+String(n)+"x"+String(o),this._multiplier=r0(o),Object.freeze(this)}static from(e){if(e instanceof t)return e;typeof e=="number"&&(e=`fixed128x${e}`);let r=!0,n=128,o=18;if(typeof e=="string"){if(e!=="fixed")if(e==="ufixed")r=!1;else{let a=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);a||at.throwArgumentError("invalid fixed format","format",e),r=a[1]!=="u",n=parseInt(a[2]),o=parseInt(a[3])}}else if(e){let a=(i,s,c)=>e[i]==null?c:(typeof e[i]!==s&&at.throwArgumentError("invalid fixed format ("+i+" not "+s+")","format."+i,e[i]),e[i]);r=a("signed","boolean",r),n=a("width","number",n),o=a("decimals","number",o)}return n%8&&at.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",n),o>80&&at.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",o),new t(Wa,r,n,o)}},on=class t{constructor(e,r,n,o){e!==Wa&&at.throwError("cannot use FixedNumber constructor; use FixedNumber.from",N.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=o,this._hex=r,this._value=n,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&at.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);let r=Pt(this._value,this.format.decimals),n=Pt(e._value,e.format.decimals);return t.fromValue(r.add(n),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);let r=Pt(this._value,this.format.decimals),n=Pt(e._value,e.format.decimals);return t.fromValue(r.sub(n),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);let r=Pt(this._value,this.format.decimals),n=Pt(e._value,e.format.decimals);return t.fromValue(r.mul(n).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);let r=Pt(this._value,this.format.decimals),n=Pt(e._value,e.format.decimals);return t.fromValue(r.mul(this.format._multiplier).div(n),this.format.decimals,this.format)}floor(){let e=this.toString().split(".");e.length===1&&e.push("0");let r=t.from(e[0],this.format),n=!e[1].match(/^(0*)$/);return this.isNegative()&&n&&(r=r.subUnsafe(zf.toFormat(r.format))),r}ceiling(){let e=this.toString().split(".");e.length===1&&e.push("0");let r=t.from(e[0],this.format),n=!e[1].match(/^(0*)$/);return!this.isNegative()&&n&&(r=r.addUnsafe(zf.toFormat(r.format))),r}round(e){e==null&&(e=0);let r=this.toString().split(".");if(r.length===1&&r.push("0"),(e<0||e>80||e%1)&&at.throwArgumentError("invalid decimal count","decimals",e),r[1].length<=e)return this;let n=t.from("1"+Ga.substring(0,e),this.format),o=Gh.toFormat(this.format);return this.mulUnsafe(n).addUnsafe(o).floor().divUnsafe(n)}isZero(){return this._value==="0.0"||this._value==="0"}isNegative(){return this._value[0]==="-"}toString(){return this._value}toHexString(e){if(e==null)return this._hex;e%8&&at.throwArgumentError("invalid byte width","width",e);let r=W.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return we(r,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return t.fromString(this._value,e)}static fromValue(e,r,n){return n==null&&r!=null&&!Jf(r)&&(n=r,r=null),r==null&&(r=0),n==null&&(n="fixed"),t.fromString(Lo(e,r),Do.from(n))}static fromString(e,r){r==null&&(r="fixed");let n=Do.from(r),o=Pt(e,n.decimals);!n.signed&&o.lt(Qf)&&Zf("unsigned value cannot be negative","overflow","value",e);let a=null;n.signed?a=o.toTwos(n.width).toHexString():(a=o.toHexString(),a=we(a,n.width/8));let i=Lo(o,n.decimals);return new t(Wa,a,i,n)}static fromBytes(e,r){r==null&&(r="fixed");let n=Do.from(r);if(R(e).length>n.width/8)throw new Error("overflow");let o=W.from(e);n.signed&&(o=o.fromTwos(n.width));let a=o.toTwos((n.signed?0:1)+n.width).toHexString(),i=Lo(o,n.decimals);return new t(Wa,a,i,n)}static from(e,r){if(typeof e=="string")return t.fromString(e,r);if(Tt(e))return t.fromBytes(e,r);try{return t.fromValue(e,0,r)}catch(n){if(n.code!==N.errors.INVALID_ARGUMENT)throw n}return at.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!!(e&&e._isFixedNumber)}},zf=on.from(1),Gh=on.from("0.5");var Yf="properties/5.7.0";var qh=function(t,e,r,n){function o(a){return a instanceof r?a:new r(function(i){i(a)})}return new(r||(r=Promise))(function(a,i){function s(f){try{d(n.next(f))}catch(u){i(u)}}function c(f){try{d(n.throw(f))}catch(u){i(u)}}function d(f){f.done?a(f.value):o(f.value).then(s,c)}d((n=n.apply(t,e||[])).next())})},Xi=new N(Yf);function _(t,e,r){Object.defineProperty(t,e,{enumerable:!0,value:r,writable:!1})}function Nt(t,e){for(let r=0;r<32;r++){if(t[e])return t[e];if(!t.prototype||typeof t.prototype!="object")break;t=Object.getPrototypeOf(t.prototype).constructor}return null}function it(t){return qh(this,void 0,void 0,function*(){let e=Object.keys(t).map(n=>{let o=t[n];return Promise.resolve(o).then(a=>({key:n,value:a}))});return(yield Promise.all(e)).reduce((n,o)=>(n[o.key]=o.value,n),{})})}function Zi(t,e){(!t||typeof t!="object")&&Xi.throwArgumentError("invalid object","object",t),Object.keys(t).forEach(r=>{e[r]||Xi.throwArgumentError("invalid object key - "+r,"transaction:"+r,t)})}function Le(t){let e={};for(let r in t)e[r]=t[r];return e}var Jh={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function jf(t){if(t==null||Jh[typeof t])return!0;if(Array.isArray(t)||typeof t=="object"){if(!Object.isFrozen(t))return!1;let e=Object.keys(t);for(let r=0;r<e.length;r++){let n=null;try{n=t[e[r]]}catch{continue}if(!jf(n))return!1}return!0}return Xi.throwArgumentError(`Cannot deepCopy ${typeof t}`,"object",t)}function zh(t){if(jf(t))return t;if(Array.isArray(t))return Object.freeze(t.map(e=>sr(e)));if(typeof t=="object"){let e={};for(let r in t){let n=t[r];n!==void 0&&_(e,r,sr(n))}return e}return Xi.throwArgumentError(`Cannot deepCopy ${typeof t}`,"object",t)}function sr(t){return zh(t)}var It=class{constructor(e){for(let r in e)this[r]=sr(e[r])}};var cr="abi/5.7.0";var me=new N(cr),Vn={},$f={calldata:!0,memory:!0,storage:!0},Qh={calldata:!0,memory:!0};function Yi(t,e){if(t==="bytes"||t==="string"){if($f[e])return!0}else if(t==="address"){if(e==="payable")return!0}else if((t.indexOf("[")>=0||t==="tuple")&&Qh[e])return!0;return($f[e]||e==="payable")&&me.throwArgumentError("invalid modifier","name",e),!1}function Xh(t,e){let r=t;function n(s){me.throwArgumentError(`unexpected character at position ${s}`,"param",t)}t=t.replace(/\s/g," ");function o(s){let c={type:"",name:"",parent:s,state:{allowType:!0}};return e&&(c.indexed=!1),c}let a={type:"",name:"",state:{allowType:!0}},i=a;for(let s=0;s<t.length;s++){let c=t[s];switch(c){case"(":i.state.allowType&&i.type===""?i.type="tuple":i.state.allowParams||n(s),i.state.allowType=!1,i.type=Fo(i.type),i.components=[o(i)],i=i.components[0];break;case")":delete i.state,i.name==="indexed"&&(e||n(s),i.indexed=!0,i.name=""),Yi(i.type,i.name)&&(i.name=""),i.type=Fo(i.type);let d=i;i=i.parent,i||n(s),delete d.parent,i.state.allowParams=!1,i.state.allowName=!0,i.state.allowArray=!0;break;case",":delete i.state,i.name==="indexed"&&(e||n(s),i.indexed=!0,i.name=""),Yi(i.type,i.name)&&(i.name=""),i.type=Fo(i.type);let f=o(i.parent);i.parent.components.push(f),delete i.parent,i=f;break;case" ":i.state.allowType&&i.type!==""&&(i.type=Fo(i.type),delete i.state.allowType,i.state.allowName=!0,i.state.allowParams=!0),i.state.allowName&&i.name!==""&&(i.name==="indexed"?(e||n(s),i.indexed&&n(s),i.indexed=!0,i.name=""):Yi(i.type,i.name)?i.name="":i.state.allowName=!1);break;case"[":i.state.allowArray||n(s),i.type+=c,i.state.allowArray=!1,i.state.allowName=!1,i.state.readArray=!0;break;case"]":i.state.readArray||n(s),i.type+=c,i.state.readArray=!1,i.state.allowArray=!0,i.state.allowName=!0;break;default:i.state.allowType?(i.type+=c,i.state.allowParams=!0,i.state.allowArray=!0):i.state.allowName?(i.name+=c,delete i.state.allowArray):i.state.readArray?i.type+=c:n(s)}}return i.parent&&me.throwArgumentError("unexpected eof","param",t),delete a.state,i.name==="indexed"?(e||n(r.length-7),i.indexed&&n(r.length-7),i.indexed=!0,i.name=""):Yi(i.type,i.name)&&(i.name=""),a.type=Fo(a.type),a}function ji(t,e){for(let r in e)_(t,r,e[r])}var pe=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),Zh=new RegExp(/^(.*)\[([0-9]*)\]$/),We=class t{constructor(e,r){e!==Vn&&me.throwError("use fromString",N.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),ji(this,r);let n=this.type.match(Zh);n?ji(this,{arrayLength:parseInt(n[2]||"-1"),arrayChildren:t.fromObject({type:n[1],components:this.components}),baseType:"array"}):ji(this,{arrayLength:null,arrayChildren:null,baseType:this.components!=null?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(e){if(e||(e=pe.sighash),pe[e]||me.throwArgumentError("invalid format type","format",e),e===pe.json){let n={type:this.baseType==="tuple"?"tuple":this.type,name:this.name||void 0};return typeof this.indexed=="boolean"&&(n.indexed=this.indexed),this.components&&(n.components=this.components.map(o=>JSON.parse(o.format(e)))),JSON.stringify(n)}let r="";return this.baseType==="array"?(r+=this.arrayChildren.format(e),r+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):this.baseType==="tuple"?(e!==pe.sighash&&(r+=this.type),r+="("+this.components.map(n=>n.format(e)).join(e===pe.full?", ":",")+")"):r+=this.type,e!==pe.sighash&&(this.indexed===!0&&(r+=" indexed"),e===pe.full&&this.name&&(r+=" "+this.name)),r}static from(e,r){return typeof e=="string"?t.fromString(e,r):t.fromObject(e)}static fromObject(e){return t.isParamType(e)?e:new t(Vn,{name:e.name||null,type:Fo(e.type),indexed:e.indexed==null?null:!!e.indexed,components:e.components?e.components.map(t.fromObject):null})}static fromString(e,r){function n(o){return t.fromObject({name:o.name,type:o.type,indexed:o.indexed,components:o.components})}return n(Xh(e,!!r))}static isParamType(e){return!!(e!=null&&e._isParamType)}};function qa(t,e){return jh(t).map(r=>We.fromString(r,e))}var dr=class t{constructor(e,r){e!==Vn&&me.throwError("use a static from method",N.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),ji(this,r),this._isFragment=!0,Object.freeze(this)}static from(e){return t.isFragment(e)?e:typeof e=="string"?t.fromString(e):t.fromObject(e)}static fromObject(e){if(t.isFragment(e))return e;switch(e.type){case"function":return lr.fromObject(e);case"event":return Lr.fromObject(e);case"constructor":return fr.fromObject(e);case"error":return Kn.fromObject(e);case"fallback":case"receive":return null}return me.throwArgumentError("invalid fragment object","value",e)}static fromString(e){return e=e.replace(/\s/g," "),e=e.replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," "),e=e.trim(),e.split(" ")[0]==="event"?Lr.fromString(e.substring(5).trim()):e.split(" ")[0]==="function"?lr.fromString(e.substring(8).trim()):e.split("(")[0].trim()==="constructor"?fr.fromString(e.trim()):e.split(" ")[0]==="error"?Kn.fromString(e.substring(5).trim()):me.throwArgumentError("unsupported fragment","value",e)}static isFragment(e){return!!(e&&e._isFragment)}},Lr=class t extends dr{format(e){if(e||(e=pe.sighash),pe[e]||me.throwArgumentError("invalid format type","format",e),e===pe.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==pe.sighash&&(r+="event "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===pe.full?", ":",")+") ",e!==pe.sighash&&this.anonymous&&(r+="anonymous "),r.trim()}static from(e){return typeof e=="string"?t.fromString(e):t.fromObject(e)}static fromObject(e){if(t.isEventFragment(e))return e;e.type!=="event"&&me.throwArgumentError("invalid event object","value",e);let r={name:Ja(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(We.fromObject):[],type:"event"};return new t(Vn,r)}static fromString(e){let r=e.match(za);r||me.throwArgumentError("invalid event string","value",e);let n=!1;return r[3].split(" ").forEach(o=>{switch(o.trim()){case"anonymous":n=!0;break;case"":break;default:me.warn("unknown modifier: "+o)}}),t.fromObject({name:r[1].trim(),anonymous:n,inputs:qa(r[2],!0),type:"event"})}static isEventFragment(e){return e&&e._isFragment&&e.type==="event"}};function tl(t,e){e.gas=null;let r=t.split("@");return r.length!==1?(r.length>2&&me.throwArgumentError("invalid human-readable ABI signature","value",t),r[1].match(/^[0-9]+$/)||me.throwArgumentError("invalid human-readable ABI signature gas","value",t),e.gas=W.from(r[1]),r[0]):t}function rl(t,e){e.constant=!1,e.payable=!1,e.stateMutability="nonpayable",t.split(" ").forEach(r=>{switch(r.trim()){case"constant":e.constant=!0;break;case"payable":e.payable=!0,e.stateMutability="payable";break;case"nonpayable":e.payable=!1,e.stateMutability="nonpayable";break;case"pure":e.constant=!0,e.stateMutability="pure";break;case"view":e.constant=!0,e.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+r)}})}function nl(t){let e={constant:!1,payable:!0,stateMutability:"payable"};return t.stateMutability!=null?(e.stateMutability=t.stateMutability,e.constant=e.stateMutability==="view"||e.stateMutability==="pure",t.constant!=null&&!!t.constant!==e.constant&&me.throwArgumentError("cannot have constant function with mutability "+e.stateMutability,"value",t),e.payable=e.stateMutability==="payable",t.payable!=null&&!!t.payable!==e.payable&&me.throwArgumentError("cannot have payable function with mutability "+e.stateMutability,"value",t)):t.payable!=null?(e.payable=!!t.payable,t.constant==null&&!e.payable&&t.type!=="constructor"&&me.throwArgumentError("unable to determine stateMutability","value",t),e.constant=!!t.constant,e.constant?e.stateMutability="view":e.stateMutability=e.payable?"payable":"nonpayable",e.payable&&e.constant&&me.throwArgumentError("cannot have constant payable function","value",t)):t.constant!=null?(e.constant=!!t.constant,e.payable=!e.constant,e.stateMutability=e.constant?"view":"payable"):t.type!=="constructor"&&me.throwArgumentError("unable to determine stateMutability","value",t),e}var fr=class t extends dr{format(e){if(e||(e=pe.sighash),pe[e]||me.throwArgumentError("invalid format type","format",e),e===pe.json)return JSON.stringify({type:"constructor",stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});e===pe.sighash&&me.throwError("cannot format a constructor for sighash",N.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let r="constructor("+this.inputs.map(n=>n.format(e)).join(e===pe.full?", ":",")+") ";return this.stateMutability&&this.stateMutability!=="nonpayable"&&(r+=this.stateMutability+" "),r.trim()}static from(e){return typeof e=="string"?t.fromString(e):t.fromObject(e)}static fromObject(e){if(t.isConstructorFragment(e))return e;e.type!=="constructor"&&me.throwArgumentError("invalid constructor object","value",e);let r=nl(e);r.constant&&me.throwArgumentError("constructor cannot be constant","value",e);let n={name:null,type:e.type,inputs:e.inputs?e.inputs.map(We.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:e.gas?W.from(e.gas):null};return new t(Vn,n)}static fromString(e){let r={type:"constructor"};e=tl(e,r);let n=e.match(za);return(!n||n[1].trim()!=="constructor")&&me.throwArgumentError("invalid constructor string","value",e),r.inputs=qa(n[2].trim(),!1),rl(n[3].trim(),r),t.fromObject(r)}static isConstructorFragment(e){return e&&e._isFragment&&e.type==="constructor"}},lr=class t extends fr{format(e){if(e||(e=pe.sighash),pe[e]||me.throwArgumentError("invalid format type","format",e),e===pe.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(n=>JSON.parse(n.format(e))),outputs:this.outputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==pe.sighash&&(r+="function "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===pe.full?", ":",")+") ",e!==pe.sighash&&(this.stateMutability?this.stateMutability!=="nonpayable"&&(r+=this.stateMutability+" "):this.constant&&(r+="view "),this.outputs&&this.outputs.length&&(r+="returns ("+this.outputs.map(n=>n.format(e)).join(", ")+") "),this.gas!=null&&(r+="@"+this.gas.toString()+" ")),r.trim()}static from(e){return typeof e=="string"?t.fromString(e):t.fromObject(e)}static fromObject(e){if(t.isFunctionFragment(e))return e;e.type!=="function"&&me.throwArgumentError("invalid function object","value",e);let r=nl(e),n={type:e.type,name:Ja(e.name),constant:r.constant,inputs:e.inputs?e.inputs.map(We.fromObject):[],outputs:e.outputs?e.outputs.map(We.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:e.gas?W.from(e.gas):null};return new t(Vn,n)}static fromString(e){let r={type:"function"};e=tl(e,r);let n=e.split(" returns ");n.length>2&&me.throwArgumentError("invalid function string","value",e);let o=n[0].match(za);if(o||me.throwArgumentError("invalid function signature","value",e),r.name=o[1].trim(),r.name&&Ja(r.name),r.inputs=qa(o[2],!1),rl(o[3].trim(),r),n.length>1){let a=n[1].match(za);(a[1].trim()!=""||a[3].trim()!="")&&me.throwArgumentError("unexpected tokens","value",e),r.outputs=qa(a[2],!1)}else r.outputs=[];return t.fromObject(r)}static isFunctionFragment(e){return e&&e._isFragment&&e.type==="function"}};function el(t){let e=t.format();return(e==="Error(string)"||e==="Panic(uint256)")&&me.throwArgumentError(`cannot specify user defined ${e} error`,"fragment",t),t}var Kn=class t extends dr{format(e){if(e||(e=pe.sighash),pe[e]||me.throwArgumentError("invalid format type","format",e),e===pe.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==pe.sighash&&(r+="error "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===pe.full?", ":",")+") ",r.trim()}static from(e){return typeof e=="string"?t.fromString(e):t.fromObject(e)}static fromObject(e){if(t.isErrorFragment(e))return e;e.type!=="error"&&me.throwArgumentError("invalid error object","value",e);let r={type:e.type,name:Ja(e.name),inputs:e.inputs?e.inputs.map(We.fromObject):[]};return el(new t(Vn,r))}static fromString(e){let r={type:"error"},n=e.match(za);return n||me.throwArgumentError("invalid error signature","value",e),r.name=n[1].trim(),r.name&&Ja(r.name),r.inputs=qa(n[2],!1),el(t.fromObject(r))}static isErrorFragment(e){return e&&e._isFragment&&e.type==="error"}};function Fo(t){return t.match(/^uint($|[^1-9])/)?t="uint256"+t.substring(4):t.match(/^int($|[^1-9])/)&&(t="int256"+t.substring(3)),t}var Yh=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function Ja(t){return(!t||!t.match(Yh))&&me.throwArgumentError(`invalid identifier "${t}"`,"value",t),t}var za=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");function jh(t){t=t.trim();let e=[],r="",n=0;for(let o=0;o<t.length;o++){let a=t[o];a===","&&n===0?(e.push(r),r=""):(r+=a,a==="("?n++:a===")"&&(n--,n===-1&&me.throwArgumentError("unbalanced parenthesis","value",t)))}return r&&e.push(r),e}var n0=new N(cr);function Uo(t){let e=[],r=function(n,o){if(Array.isArray(o))for(let a in o){let i=n.slice();i.push(a);try{r(i,o[a])}catch(s){e.push({path:i,error:s})}}};return r([],t),e}var Oe=class{constructor(e,r,n,o){this.name=e,this.type=r,this.localName=n,this.dynamic=o}_throwError(e,r){n0.throwArgumentError(e,this.localName,r)}},Hn=class{constructor(e){_(this,"wordSize",e||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(e)}get data(){return kt(this._data)}get length(){return this._dataLength}_writeData(e){return this._data.push(e),this._dataLength+=e.length,e.length}appendWriter(e){return this._writeData(xe(e._data))}writeBytes(e){let r=R(e),n=r.length%this.wordSize;return n&&(r=xe([r,this._padding.slice(n)])),this._writeData(r)}_getValue(e){let r=R(W.from(e));return r.length>this.wordSize&&n0.throwError("value out-of-bounds",N.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:r.length}),r.length%this.wordSize&&(r=xe([this._padding.slice(r.length%this.wordSize),r])),r}writeValue(e){return this._writeData(this._getValue(e))}writeUpdatableValue(){let e=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,r=>{this._data[e]=this._getValue(r)}}},$i=class t{constructor(e,r,n,o){_(this,"_data",R(e)),_(this,"wordSize",r||32),_(this,"_coerceFunc",n),_(this,"allowLoose",o),this._offset=0}get data(){return K(this._data)}get consumed(){return this._offset}static coerce(e,r){let n=e.match("^u?int([0-9]+)$");return n&&parseInt(n[1])<=48&&(r=r.toNumber()),r}coerce(e,r){return this._coerceFunc?this._coerceFunc(e,r):t.coerce(e,r)}_peekBytes(e,r,n){let o=Math.ceil(r/this.wordSize)*this.wordSize;return this._offset+o>this._data.length&&(this.allowLoose&&n&&this._offset+r<=this._data.length?o=r:n0.throwError("data out-of-bounds",N.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+o})),this._data.slice(this._offset,this._offset+o)}subReader(e){return new t(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,r){let n=this._peekBytes(0,e,!!r);return this._offset+=n.length,n.slice(0,e)}readValue(){return W.from(this.readBytes(this.wordSize))}};var al=Mo(ol());function ce(t){return"0x"+al.default.keccak_256(R(t))}var ts={};Fn(ts,{decode:()=>Qa,encode:()=>Dr});var il="rlp/5.7.0";var ur=new N(il);function sl(t){let e=[];for(;t;)e.unshift(t&255),t>>=8;return e}function cl(t,e,r){let n=0;for(let o=0;o<r;o++)n=n*256+t[e+o];return n}function fl(t){if(Array.isArray(t)){let n=[];if(t.forEach(function(a){n=n.concat(fl(a))}),n.length<=55)return n.unshift(192+n.length),n;let o=sl(n.length);return o.unshift(247+o.length),o.concat(n)}Mr(t)||ur.throwArgumentError("RLP object must be BytesLike","object",t);let e=Array.prototype.slice.call(R(t));if(e.length===1&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;let r=sl(e.length);return r.unshift(183+r.length),r.concat(e)}function Dr(t){return K(fl(t))}function dl(t,e,r,n){let o=[];for(;r<e+1+n;){let a=ll(t,r);o.push(a.result),r+=a.consumed,r>e+1+n&&ur.throwError("child data too short",N.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:o}}function ll(t,e){if(t.length===0&&ur.throwError("data too short",N.errors.BUFFER_OVERRUN,{}),t[e]>=248){let r=t[e]-247;e+1+r>t.length&&ur.throwError("data short segment too short",N.errors.BUFFER_OVERRUN,{});let n=cl(t,e+1,r);return e+1+r+n>t.length&&ur.throwError("data long segment too short",N.errors.BUFFER_OVERRUN,{}),dl(t,e,e+1+r,r+n)}else if(t[e]>=192){let r=t[e]-192;return e+1+r>t.length&&ur.throwError("data array too short",N.errors.BUFFER_OVERRUN,{}),dl(t,e,e+1,r)}else if(t[e]>=184){let r=t[e]-183;e+1+r>t.length&&ur.throwError("data array too short",N.errors.BUFFER_OVERRUN,{});let n=cl(t,e+1,r);e+1+r+n>t.length&&ur.throwError("data array too short",N.errors.BUFFER_OVERRUN,{});let o=K(t.slice(e+1+r,e+1+r+n));return{consumed:1+r+n,result:o}}else if(t[e]>=128){let r=t[e]-128;e+1+r>t.length&&ur.throwError("data too short",N.errors.BUFFER_OVERRUN,{});let n=K(t.slice(e+1,e+1+r));return{consumed:1+r,result:n}}return{consumed:1,result:K(t[e])}}function Qa(t){let e=R(t),r=ll(e,0);return r.consumed!==e.length&&ur.throwArgumentError("invalid rlp data","data",t),r.result}var ul="address/5.7.0";var an=new N(ul);function pl(t){be(t,20)||an.throwArgumentError("invalid address","address",t),t=t.toLowerCase();let e=t.substring(2).split(""),r=new Uint8Array(40);for(let o=0;o<40;o++)r[o]=e[o].charCodeAt(0);let n=R(ce(r));for(let o=0;o<40;o+=2)n[o>>1]>>4>=8&&(e[o]=e[o].toUpperCase()),(n[o>>1]&15)>=8&&(e[o+1]=e[o+1].toUpperCase());return"0x"+e.join("")}var $h=9007199254740991;function e2(t){return Math.log10?Math.log10(t):Math.log(t)/Math.LN10}var o0={};for(let t=0;t<10;t++)o0[String(t)]=String(t);for(let t=0;t<26;t++)o0[String.fromCharCode(65+t)]=String(10+t);var ml=Math.floor(e2($h));function xl(t){t=t.toUpperCase(),t=t.substring(4)+t.substring(0,2)+"00";let e=t.split("").map(n=>o0[n]).join("");for(;e.length>=ml;){let n=e.substring(0,ml);e=parseInt(n,10)%97+e.substring(n.length)}let r=String(98-parseInt(e,10)%97);for(;r.length<2;)r="0"+r;return r}function le(t){let e=null;if(typeof t!="string"&&an.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))t.substring(0,2)!=="0x"&&(t="0x"+t),e=pl(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&an.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==xl(t)&&an.throwArgumentError("bad icap checksum","address",t),e=e0(t.substring(4));e.length<40;)e="0"+e;e=pl("0x"+e)}else an.throwArgumentError("invalid address","address",t);return e}function hl(t){try{return le(t),!0}catch{}return!1}function gl(t){let e=t0(le(t).substring(2)).toUpperCase();for(;e.length<30;)e="0"+e;return"XE"+xl("XE00"+e)+e}function Xa(t){let e=null;try{e=le(t.from)}catch{an.throwArgumentError("missing from address","transaction",t)}let r=xt(R(W.from(t.nonce).toHexString()));return le(ot(ce(Dr([e,r])),12))}function bl(t,e,r){return Or(e)!==32&&an.throwArgumentError("salt must be 32 bytes","salt",e),Or(r)!==32&&an.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",r),le(ot(ce(xe(["0xff",le(t),e,r])),12))}var rs=class extends Oe{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,r){try{r=le(r)}catch(n){this._throwError(n.message,r)}return e.writeValue(r)}decode(e){return le(we(e.readValue().toHexString(),20))}};var ns=class extends Oe{constructor(e){super(e.name,e.type,void 0,e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,r){return this.coder.encode(e,r)}decode(e){return this.coder.decode(e)}};var Vo=new N(cr);function a0(t,e,r){let n=null;if(Array.isArray(r))n=r;else if(r&&typeof r=="object"){let c={};n=e.map(d=>{let f=d.localName;return f||Vo.throwError("cannot encode object for signature with missing names",N.errors.INVALID_ARGUMENT,{argument:"values",coder:d,value:r}),c[f]&&Vo.throwError("cannot encode object for signature with duplicate names",N.errors.INVALID_ARGUMENT,{argument:"values",coder:d,value:r}),c[f]=!0,r[f]})}else Vo.throwArgumentError("invalid tuple value","tuple",r);e.length!==n.length&&Vo.throwArgumentError("types/value length mismatch","tuple",r);let o=new Hn(t.wordSize),a=new Hn(t.wordSize),i=[];e.forEach((c,d)=>{let f=n[d];if(c.dynamic){let u=a.length;c.encode(a,f);let x=o.writeUpdatableValue();i.push(m=>{x(m+u)})}else c.encode(o,f)}),i.forEach(c=>{c(o.length)});let s=t.appendWriter(o);return s+=t.appendWriter(a),s}function i0(t,e){let r=[],n=t.subReader(0);e.forEach(a=>{let i=null;if(a.dynamic){let s=t.readValue(),c=n.subReader(s.toNumber());try{i=a.decode(c)}catch(d){if(d.code===N.errors.BUFFER_OVERRUN)throw d;i=d,i.baseType=a.name,i.name=a.localName,i.type=a.type}}else try{i=a.decode(t)}catch(s){if(s.code===N.errors.BUFFER_OVERRUN)throw s;i=s,i.baseType=a.name,i.name=a.localName,i.type=a.type}i!=null&&r.push(i)});let o=e.reduce((a,i)=>{let s=i.localName;return s&&(a[s]||(a[s]=0),a[s]++),a},{});e.forEach((a,i)=>{let s=a.localName;if(!s||o[s]!==1||(s==="length"&&(s="_length"),r[s]!=null))return;let c=r[i];c instanceof Error?Object.defineProperty(r,s,{enumerable:!0,get:()=>{throw c}}):r[s]=c});for(let a=0;a<r.length;a++){let i=r[a];i instanceof Error&&Object.defineProperty(r,a,{enumerable:!0,get:()=>{throw i}})}return Object.freeze(r)}var os=class extends Oe{constructor(e,r,n){let o=e.type+"["+(r>=0?r:"")+"]",a=r===-1||e.dynamic;super("array",o,n,a),this.coder=e,this.length=r}defaultValue(){let e=this.coder.defaultValue(),r=[];for(let n=0;n<this.length;n++)r.push(e);return r}encode(e,r){Array.isArray(r)||this._throwError("expected array value",r);let n=this.length;n===-1&&(n=r.length,e.writeValue(r.length)),Vo.checkArgumentCount(r.length,n,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let a=0;a<r.length;a++)o.push(this.coder);return a0(e,o,r)}decode(e){let r=this.length;r===-1&&(r=e.readValue().toNumber(),r*32>e._data.length&&Vo.throwError("insufficient data length",N.errors.BUFFER_OVERRUN,{length:e._data.length,count:r}));let n=[];for(let o=0;o<r;o++)n.push(new ns(this.coder));return e.coerce(this.name,i0(e,n))}};var as=class extends Oe{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,r){return e.writeValue(r?1:0)}decode(e){return e.coerce(this.type,!e.readValue().isZero())}};var Za=class extends Oe{constructor(e,r){super(e,e,r,!0)}defaultValue(){return"0x"}encode(e,r){r=R(r);let n=e.writeValue(r.length);return n+=e.writeBytes(r),n}decode(e){return e.readBytes(e.readValue().toNumber(),!0)}},is=class extends Za{constructor(e){super("bytes",e)}decode(e){return e.coerce(this.name,K(super.decode(e)))}};var ss=class extends Oe{constructor(e,r){let n="bytes"+String(e);super(n,n,r,!1),this.size=e}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(e,r){let n=R(r);return n.length!==this.size&&this._throwError("incorrect data length",r),e.writeBytes(n)}decode(e){return e.coerce(this.name,K(e.readBytes(this.size)))}};var cs=class extends Oe{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,r){return r!=null&&this._throwError("not null",r),e.writeBytes([])}decode(e){return e.readBytes(0),e.coerce(this.name,null)}};var Ht={};Fn(Ht,{AddressZero:()=>yl,EtherSymbol:()=>Sl,HashZero:()=>us,MaxInt256:()=>Cl,MaxUint256:()=>ls,MinInt256:()=>Al,NegativeOne:()=>ds,One:()=>fs,Two:()=>wl,WeiPerEther:()=>vl,Zero:()=>Ko});var yl="0x0000000000000000000000000000000000000000";var ds=W.from(-1),Ko=W.from(0),fs=W.from(1),wl=W.from(2),vl=W.from("1000000000000000000"),ls=W.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Al=W.from("-0x8000000000000000000000000000000000000000000000000000000000000000"),Cl=W.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var us="0x0000000000000000000000000000000000000000000000000000000000000000";var Sl="\u039E";var ps=class extends Oe{constructor(e,r,n){let o=(r?"int":"uint")+e*8;super(o,o,n,!1),this.size=e,this.signed=r}defaultValue(){return 0}encode(e,r){let n=W.from(r),o=ls.mask(e.wordSize*8);if(this.signed){let a=o.mask(this.size*8-1);(n.gt(a)||n.lt(a.add(fs).mul(ds)))&&this._throwError("value out-of-bounds",r)}else(n.lt(Ko)||n.gt(o.mask(this.size*8)))&&this._throwError("value out-of-bounds",r);return n=n.toTwos(this.size*8).mask(this.size*8),this.signed&&(n=n.fromTwos(this.size*8).toTwos(8*e.wordSize)),e.writeValue(n)}decode(e){let r=e.readValue().mask(this.size*8);return this.signed&&(r=r.fromTwos(this.size*8)),e.coerce(this.name,r)}};var Tl="strings/5.7.0";var kl=new N(Tl),st;(function(t){t.current="",t.NFC="NFC",t.NFD="NFD",t.NFKC="NFKC",t.NFKD="NFKD"})(st||(st={}));var Xe;(function(t){t.UNEXPECTED_CONTINUE="unexpected continuation byte",t.BAD_PREFIX="bad codepoint prefix",t.OVERRUN="string overrun",t.MISSING_CONTINUE="missing continuation byte",t.OUT_OF_RANGE="out of UTF-8 range",t.UTF16_SURROGATE="UTF-16 surrogate",t.OVERLONG="overlong representation"})(Xe||(Xe={}));function t2(t,e,r,n,o){return kl.throwArgumentError(`invalid codepoint at offset ${e}; ${t}`,"bytes",r)}function El(t,e,r,n,o){if(t===Xe.BAD_PREFIX||t===Xe.UNEXPECTED_CONTINUE){let a=0;for(let i=e+1;i<r.length&&r[i]>>6===2;i++)a++;return a}return t===Xe.OVERRUN?r.length-e-1:0}function r2(t,e,r,n,o){return t===Xe.OVERLONG?(n.push(o),0):(n.push(65533),El(t,e,r,n,o))}var ms=Object.freeze({error:t2,ignore:El,replace:r2});function c0(t,e){e==null&&(e=ms.error),t=R(t);let r=[],n=0;for(;n<t.length;){let o=t[n++];if(o>>7===0){r.push(o);continue}let a=null,i=null;if((o&224)===192)a=1,i=127;else if((o&240)===224)a=2,i=2047;else if((o&248)===240)a=3,i=65535;else{(o&192)===128?n+=e(Xe.UNEXPECTED_CONTINUE,n-1,t,r):n+=e(Xe.BAD_PREFIX,n-1,t,r);continue}if(n-1+a>=t.length){n+=e(Xe.OVERRUN,n-1,t,r);continue}let s=o&(1<<8-a-1)-1;for(let c=0;c<a;c++){let d=t[n];if((d&192)!=128){n+=e(Xe.MISSING_CONTINUE,n,t,r),s=null;break}s=s<<6|d&63,n++}if(s!==null){if(s>1114111){n+=e(Xe.OUT_OF_RANGE,n-1-a,t,r,s);continue}if(s>=55296&&s<=57343){n+=e(Xe.UTF16_SURROGATE,n-1-a,t,r,s);continue}if(s<=i){n+=e(Xe.OVERLONG,n-1-a,t,r,s);continue}r.push(s)}}return r}function ye(t,e=st.current){e!=st.current&&(kl.checkNormalize(),t=t.normalize(e));let r=[];for(let n=0;n<t.length;n++){let o=t.charCodeAt(n);if(o<128)r.push(o);else if(o<2048)r.push(o>>6|192),r.push(o&63|128);else if((o&64512)==55296){n++;let a=t.charCodeAt(n);if(n>=t.length||(a&64512)!==56320)throw new Error("invalid utf-8 string");let i=65536+((o&1023)<<10)+(a&1023);r.push(i>>18|240),r.push(i>>12&63|128),r.push(i>>6&63|128),r.push(i&63|128)}else r.push(o>>12|224),r.push(o>>6&63|128),r.push(o&63|128)}return R(r)}function s0(t){let e="0000"+t.toString(16);return"\\u"+e.substring(e.length-4)}function d0(t,e){return'"'+c0(t,e).map(r=>{if(r<256){switch(r){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(r>=32&&r<127)return String.fromCharCode(r)}return r<=65535?s0(r):(r-=65536,s0((r>>10&1023)+55296)+s0((r&1023)+56320))}).join("")+'"'}function xs(t){return t.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function Wt(t,e){return xs(c0(t,e))}function sn(t,e=st.current){return c0(ye(t,e))}function f0(t){let e=ye(t);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return K(xe([e,us]).slice(0,32))}function l0(t){let e=R(t);if(e.length!==32)throw new Error("invalid bytes32 - not 32 bytes long");if(e[31]!==0)throw new Error("invalid bytes32 string - no null terminator");let r=31;for(;e[r-1]===0;)r--;return Wt(e.slice(0,r))}function n2(t){if(t.length%4!==0)throw new Error("bad data");let e=[];for(let r=0;r<t.length;r+=4)e.push(parseInt(t.substring(r,r+4),16));return e}function u0(t,e){e||(e=function(o){return[parseInt(o,16)]});let r=0,n={};return t.split(",").forEach(o=>{let a=o.split(":");r+=parseInt(a[0],16),n[r]=e(a[1])}),n}function Pl(t){let e=0;return t.split(",").map(r=>{let n=r.split("-");n.length===1?n[1]="0":n[1]===""&&(n[1]="1");let o=e+parseInt(n[0],16);return e=parseInt(n[1],16),{l:o,h:e}})}function p0(t,e){let r=0;for(let n=0;n<e.length;n++){let o=e[n];if(r+=o.l,t>=r&&t<=r+o.h&&(t-r)%(o.d||1)===0){if(o.e&&o.e.indexOf(t-r)!==-1)continue;return o}}return null}var o2=Pl("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),a2="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(t=>parseInt(t,16)),i2=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],s2=u0("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),c2=u0("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),d2=u0("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",n2),f2=Pl("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001");function l2(t){return t.reduce((e,r)=>(r.forEach(n=>{e.push(n)}),e),[])}function u2(t){return!!p0(t,o2)}function p2(t){let e=p0(t,i2);if(e)return[t+e.s];let r=s2[t];if(r)return r;let n=c2[t];if(n)return[t+n[0]];let o=d2[t];return o||null}function m2(t){return!!p0(t,f2)}function m0(t){if(t.match(/^[a-z0-9-]*$/i)&&t.length<=59)return t.toLowerCase();let e=sn(t);e=l2(e.map(n=>{if(a2.indexOf(n)>=0)return[];if(n>=65024&&n<=65039)return[];let o=p2(n);return o||[n]})),e=sn(xs(e),st.NFKC),e.forEach(n=>{if(m2(n))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")}),e.forEach(n=>{if(u2(n))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")});let r=xs(e);if(r.substring(0,1)==="-"||r.substring(2,4)==="--"||r.substring(r.length-1)==="-")throw new Error("invalid hyphen");return r}var hs=class extends Za{constructor(e){super("string",e)}defaultValue(){return""}encode(e,r){return super.encode(e,ye(r))}decode(e){return Wt(super.decode(e))}};var Wn=class extends Oe{constructor(e,r){let n=!1,o=[];e.forEach(i=>{i.dynamic&&(n=!0),o.push(i.type)});let a="tuple("+o.join(",")+")";super("tuple",a,r,n),this.coders=e}defaultValue(){let e=[];this.coders.forEach(n=>{e.push(n.defaultValue())});let r=this.coders.reduce((n,o)=>{let a=o.localName;return a&&(n[a]||(n[a]=0),n[a]++),n},{});return this.coders.forEach((n,o)=>{let a=n.localName;!a||r[a]!==1||(a==="length"&&(a="_length"),e[a]==null&&(e[a]=e[o]))}),Object.freeze(e)}encode(e,r){return a0(e,this.coders,r)}decode(e){return e.coerce(this.name,i0(e,this.coders))}};var gs=new N(cr),x2=new RegExp(/^bytes([0-9]*)$/),h2=new RegExp(/^(u?int)([0-9]*)$/),Ho=class{constructor(e){_(this,"coerceFunc",e||null)}_getCoder(e){switch(e.baseType){case"address":return new rs(e.name);case"bool":return new as(e.name);case"string":return new hs(e.name);case"bytes":return new is(e.name);case"array":return new os(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new Wn((e.components||[]).map(n=>this._getCoder(n)),e.name);case"":return new cs(e.name)}let r=e.type.match(h2);if(r){let n=parseInt(r[2]||"256");return(n===0||n>256||n%8!==0)&&gs.throwArgumentError("invalid "+r[1]+" bit length","param",e),new ps(n/8,r[1]==="int",e.name)}if(r=e.type.match(x2),r){let n=parseInt(r[1]);return(n===0||n>32)&&gs.throwArgumentError("invalid bytes length","param",e),new ss(n,e.name)}return gs.throwArgumentError("invalid type","type",e.type)}_getWordSize(){return 32}_getReader(e,r){return new $i(e,this._getWordSize(),this.coerceFunc,r)}_getWriter(){return new Hn(this._getWordSize())}getDefaultValue(e){let r=e.map(o=>this._getCoder(We.from(o)));return new Wn(r,"_").defaultValue()}encode(e,r){e.length!==r.length&&gs.throwError("types/values length mismatch",N.errors.INVALID_ARGUMENT,{count:{types:e.length,values:r.length},value:{types:e,values:r}});let n=e.map(i=>this._getCoder(We.from(i))),o=new Wn(n,"_"),a=this._getWriter();return o.encode(a,r),a.data}decode(e,r,n){let o=e.map(i=>this._getCoder(We.from(i)));return new Wn(o,"_").decode(this._getReader(R(r),n))}},Ya=new Ho;function ht(t){return ce(ye(t))}var bs="hash/5.7.0";var x0={};Fn(x0,{decode:()=>Wo,encode:()=>ys});function Wo(t){t=atob(t);let e=[];for(let r=0;r<t.length;r++)e.push(t.charCodeAt(r));return R(e)}function ys(t){t=R(t);let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return btoa(e)}function Nl(t,e){e==null&&(e=1);let r=[],n=r.forEach,o=function(a,i){n.call(a,function(s){i>0&&Array.isArray(s)?o(s,i-1):r.push(s)})};return o(t,e),r}function g2(t){let e={};for(let r=0;r<t.length;r++){let n=t[r];e[n[0]]=n[1]}return e}function b2(t){let e=0;function r(){return t[e++]<<8|t[e++]}let n=r(),o=1,a=[0,1];for(let C=1;C<n;C++)a.push(o+=r());let i=r(),s=e;e+=i;let c=0,d=0;function f(){return c==0&&(d=d<<8|t[e++],c=8),d>>--c&1}let u=31,x=Math.pow(2,u),m=x>>>1,p=m>>1,h=x-1,w=0;for(let C=0;C<u;C++)w=w<<1|f();let b=[],T=0,k=x;for(;;){let C=Math.floor(((w-T+1)*o-1)/k),B=0,P=n;for(;P-B>1;){let J=B+P>>>1;C<a[J]?P=J:B=J}if(B==0)break;b.push(B);let L=T+Math.floor(k*a[B]/o),F=T+Math.floor(k*a[B+1]/o)-1;for(;((L^F)&m)==0;)w=w<<1&h|f(),L=L<<1&h,F=F<<1&h|1;for(;L&~F&p;)w=w&m|w<<1&h>>>1|f(),L=L<<1^m,F=(F^m)<<1|m|1;T=L,k=1+F-L}let O=n-4;return b.map(C=>{switch(C-O){case 3:return O+65792+(t[s++]<<16|t[s++]<<8|t[s++]);case 2:return O+256+(t[s++]<<8|t[s++]);case 1:return O+t[s++];default:return C-1}})}function y2(t){let e=0;return()=>t[e++]}function Rl(t){return y2(b2(t))}function w2(t){return t&1?~t>>1:t>>1}function v2(t,e){let r=Array(t);for(let n=0;n<t;n++)r[n]=1+e();return r}function Il(t,e){let r=Array(t);for(let n=0,o=-1;n<t;n++)r[n]=o+=1+e();return r}function A2(t,e){let r=Array(t);for(let n=0,o=0;n<t;n++)r[n]=o+=w2(e());return r}function ja(t,e){let r=Il(t(),t),n=t(),o=Il(n,t),a=v2(n,t);for(let i=0;i<n;i++)for(let s=0;s<a[i];s++)r.push(o[i]+s);return e?r.map(i=>e[i]):r}function _l(t){let e=[];for(;;){let r=t();if(r==0)break;e.push(S2(r,t))}for(;;){let r=t()-1;if(r<0)break;e.push(T2(r,t))}return g2(Nl(e))}function C2(t){let e=[];for(;;){let r=t();if(r==0)break;e.push(r)}return e}function Ml(t,e,r){let n=Array(t).fill(void 0).map(()=>[]);for(let o=0;o<e;o++)A2(t,r).forEach((a,i)=>n[i].push(a));return n}function S2(t,e){let r=1+e(),n=e(),o=C2(e),a=Ml(o.length,1+t,e);return Nl(a.map((i,s)=>{let c=i[0],d=i.slice(1);return Array(o[s]).fill(void 0).map((f,u)=>{let x=u*n;return[c+u*r,d.map(m=>m+x)]})}))}function T2(t,e){let r=1+e();return Ml(r,1+t,e).map(o=>[o[0],o.slice(1)])}function Ol(t){let e=ja(t).sort((n,o)=>n-o);return r();function r(){let n=[];for(;;){let d=ja(t,e);if(d.length==0)break;n.push({set:new Set(d),node:r()})}n.sort((d,f)=>f.set.size-d.set.size);let o=t(),a=o%3;o=o/3|0;let i=!!(o&1);o>>=1;let s=o==1,c=o==2;return{branches:n,valid:a,fe0f:i,save:s,check:c}}}function Bl(){return Rl(Wo("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA=="))}var ws=Bl(),k2=new Set(ja(ws)),E2=new Set(ja(ws)),P2=_l(ws),I2=Ol(ws),Ll=45,Dl=95;function Fl(t){return sn(t)}function N2(t){return t.filter(e=>e!=65039)}function Ul(t){for(let e of t.split(".")){let r=Fl(e);try{for(let n=r.lastIndexOf(Dl)-1;n>=0;n--)if(r[n]!==Dl)throw new Error("underscore only allowed at start");if(r.length>=4&&r.every(n=>n<128)&&r[2]===Ll&&r[3]===Ll)throw new Error("invalid label extension")}catch(n){throw new Error(`Invalid label "${e}": ${n.message}`)}}return t}function Vl(t){return Ul(R2(t,N2))}function R2(t,e){let r=Fl(t).reverse(),n=[];for(;r.length;){let o=M2(r);if(o){n.push(...e(o));continue}let a=r.pop();if(k2.has(a)){n.push(a);continue}if(E2.has(a))continue;let i=P2[a];if(i){n.push(...i);continue}throw new Error(`Disallowed codepoint: 0x${a.toString(16).toUpperCase()}`)}return Ul(_2(String.fromCodePoint(...n)))}function _2(t){return t.normalize("NFC")}function M2(t,e){var r;let n=I2,o,a,i=[],s=t.length;for(e&&(e.length=0);s;){let c=t[--s];if(n=(r=n.branches.find(d=>d.set.has(c)))===null||r===void 0?void 0:r.node,!n)break;if(n.save)a=c;else if(n.check&&c===a)break;i.push(c),n.fe0f&&(i.push(65039),s>0&&t[s-1]==65039&&s--),n.valid&&(o=i.slice(),n.valid==2&&o.splice(1,1),e&&e.push(...t.slice(s).reverse()),t.length=s)}return o}var O2=new N(bs),Hl=new Uint8Array(32);Hl.fill(0);function Kl(t){if(t.length===0)throw new Error("invalid ENS name; empty component");return t}function h0(t){let e=ye(Vl(t)),r=[];if(t.length===0)return r;let n=0;for(let o=0;o<e.length;o++)e[o]===46&&(r.push(Kl(e.slice(n,o))),n=o+1);if(n>=e.length)throw new Error("invalid ENS name; empty component");return r.push(Kl(e.slice(n))),r}function g0(t){try{return h0(t).length!==0}catch{}return!1}function b0(t){typeof t!="string"&&O2.throwArgumentError("invalid ENS name; not a string","name",t);let e=Hl,r=h0(t);for(;r.length;)e=ce(xe([e,ce(r.pop())]));return K(e)}function y0(t){return K(xe(h0(t).map(e=>{if(e.length>63)throw new Error("invalid DNS encoded entry; length exceeds 63 bytes");let r=new Uint8Array(e.length+1);return r.set(e,1),r[0]=r.length-1,r})))+"00"}var Wl=`Ethereum Signed Message:
|
|
2
2
|
`;function Go(t){return typeof t=="string"&&(t=ye(t)),ce(xe([ye(Wl),ye(String(t.length)),t]))}var B2=function(t,e,r,n){function o(a){return a instanceof r?a:new r(function(i){i(a)})}return new(r||(r=Promise))(function(a,i){function s(f){try{d(n.next(f))}catch(u){i(u)}}function c(f){try{d(n.throw(f))}catch(u){i(u)}}function d(f){f.done?a(f.value):o(f.value).then(s,c)}d((n=n.apply(t,e||[])).next())})},Pe=new N(bs),zl=new Uint8Array(32);zl.fill(0);var L2=W.from(-1),Ql=W.from(0),Xl=W.from(1),D2=W.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function F2(t){let e=R(t),r=e.length%32;return r?kt([e,zl.slice(r)]):K(e)}var U2=we(Xl.toHexString(),32),V2=we(Ql.toHexString(),32),Gl={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},w0=["name","version","chainId","verifyingContract","salt"];function ql(t){return function(e){return typeof e!="string"&&Pe.throwArgumentError(`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}var K2={name:ql("name"),version:ql("version"),chainId:function(t){try{return W.from(t).toString()}catch{}return Pe.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",t)},verifyingContract:function(t){try{return le(t).toLowerCase()}catch{}return Pe.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){try{let e=R(t);if(e.length!==32)throw new Error("bad length");return K(e)}catch{}return Pe.throwArgumentError('invalid domain value "salt"',"domain.salt",t)}};function v0(t){{let e=t.match(/^(u?)int(\d*)$/);if(e){let r=e[1]==="",n=parseInt(e[2]||"256");(n%8!==0||n>256||e[2]&&e[2]!==String(n))&&Pe.throwArgumentError("invalid numeric width","type",t);let o=D2.mask(r?n-1:n),a=r?o.add(Xl).mul(L2):Ql;return function(i){let s=W.from(i);return(s.lt(a)||s.gt(o))&&Pe.throwArgumentError(`value out-of-bounds for ${t}`,"value",i),we(s.toTwos(256).toHexString(),32)}}}{let e=t.match(/^bytes(\d+)$/);if(e){let r=parseInt(e[1]);return(r===0||r>32||e[1]!==String(r))&&Pe.throwArgumentError("invalid bytes width","type",t),function(n){return R(n).length!==r&&Pe.throwArgumentError(`invalid length for ${t}`,"value",n),F2(n)}}}switch(t){case"address":return function(e){return we(le(e),32)};case"bool":return function(e){return e?U2:V2};case"bytes":return function(e){return ce(e)};case"string":return function(e){return ht(e)}}return null}function Jl(t,e){return`${t}(${e.map(({name:r,type:n})=>n+" "+r).join(",")})`}var Fr=class t{constructor(e){_(this,"types",Object.freeze(sr(e))),_(this,"_encoderCache",{}),_(this,"_types",{});let r={},n={},o={};Object.keys(e).forEach(s=>{r[s]={},n[s]=[],o[s]={}});for(let s in e){let c={};e[s].forEach(d=>{c[d.name]&&Pe.throwArgumentError(`duplicate variable name ${JSON.stringify(d.name)} in ${JSON.stringify(s)}`,"types",e),c[d.name]=!0;let f=d.type.match(/^([^\x5b]*)(\x5b|$)/)[1];f===s&&Pe.throwArgumentError(`circular type reference to ${JSON.stringify(f)}`,"types",e),!v0(f)&&(n[f]||Pe.throwArgumentError(`unknown type ${JSON.stringify(f)}`,"types",e),n[f].push(s),r[s][f]=!0)})}let a=Object.keys(n).filter(s=>n[s].length===0);a.length===0?Pe.throwArgumentError("missing primary type","types",e):a.length>1&&Pe.throwArgumentError(`ambiguous primary types or unused types: ${a.map(s=>JSON.stringify(s)).join(", ")}`,"types",e),_(this,"primaryType",a[0]);function i(s,c){c[s]&&Pe.throwArgumentError(`circular type reference to ${JSON.stringify(s)}`,"types",e),c[s]=!0,Object.keys(r[s]).forEach(d=>{n[d]&&(i(d,c),Object.keys(c).forEach(f=>{o[f][d]=!0}))}),delete c[s]}i(this.primaryType,{});for(let s in o){let c=Object.keys(o[s]);c.sort(),this._types[s]=Jl(s,e[s])+c.map(d=>Jl(d,e[d])).join("")}}getEncoder(e){let r=this._encoderCache[e];return r||(r=this._encoderCache[e]=this._getEncoder(e)),r}_getEncoder(e){{let o=v0(e);if(o)return o}let r=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(r){let o=r[1],a=this.getEncoder(o),i=parseInt(r[3]);return s=>{i>=0&&s.length!==i&&Pe.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",s);let c=s.map(a);return this._types[o]&&(c=c.map(ce)),ce(kt(c))}}let n=this.types[e];if(n){let o=ht(this._types[e]);return a=>{let i=n.map(({name:s,type:c})=>{let d=this.getEncoder(c)(a[s]);return this._types[c]?ce(d):d});return i.unshift(o),kt(i)}}return Pe.throwArgumentError(`unknown type: ${e}`,"type",e)}encodeType(e){let r=this._types[e];return r||Pe.throwArgumentError(`unknown type: ${JSON.stringify(e)}`,"name",e),r}encodeData(e,r){return this.getEncoder(e)(r)}hashStruct(e,r){return ce(this.encodeData(e,r))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,r,n){if(v0(e))return n(e,r);let o=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(o){let i=o[1],s=parseInt(o[3]);return s>=0&&r.length!==s&&Pe.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",r),r.map(c=>this._visit(i,c,n))}let a=this.types[e];return a?a.reduce((i,{name:s,type:c})=>(i[s]=this._visit(c,r[s],n),i),{}):Pe.throwArgumentError(`unknown type: ${e}`,"type",e)}visit(e,r){return this._visit(this.primaryType,e,r)}static from(e){return new t(e)}static getPrimaryType(e){return t.from(e).primaryType}static hashStruct(e,r,n){return t.from(r).hashStruct(e,n)}static hashDomain(e){let r=[];for(let n in e){let o=Gl[n];o||Pe.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),r.push({name:n,type:o})}return r.sort((n,o)=>w0.indexOf(n.name)-w0.indexOf(o.name)),t.hashStruct("EIP712Domain",{EIP712Domain:r},e)}static encode(e,r,n){return kt(["0x1901",t.hashDomain(e),t.from(r).hash(n)])}static hash(e,r,n){return ce(t.encode(e,r,n))}static resolveNames(e,r,n,o){return B2(this,void 0,void 0,function*(){e=Le(e);let a={};e.verifyingContract&&!be(e.verifyingContract,20)&&(a[e.verifyingContract]="0x");let i=t.from(r);i.visit(n,(s,c)=>(s==="address"&&!be(c,20)&&(a[c]="0x"),c));for(let s in a)a[s]=yield o(s);return e.verifyingContract&&a[e.verifyingContract]&&(e.verifyingContract=a[e.verifyingContract]),n=i.visit(n,(s,c)=>s==="address"&&a[c]?a[c]:c),{domain:e,value:n}})}static getPayload(e,r,n){t.hashDomain(e);let o={},a=[];w0.forEach(c=>{let d=e[c];d!=null&&(o[c]=K2[c](d),a.push({name:c,type:Gl[c]}))});let i=t.from(r),s=Le(r);return s.EIP712Domain?Pe.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",r):s.EIP712Domain=a,i.encode(n),{types:s,domain:o,primaryType:i.primaryType,message:i.visit(n,(c,d)=>{if(c.match(/^bytes(\d*)/))return K(R(d));if(c.match(/^u?int/))return W.from(d).toString();switch(c){case"address":return d.toLowerCase();case"bool":return!!d;case"string":return typeof d!="string"&&Pe.throwArgumentError("invalid string","value",d),d}return Pe.throwArgumentError("unsupported type","type",c)})}}};var Ie=new N(cr);var qo=class extends It{},Jo=class extends It{},A0=class extends It{},Ur=class extends It{static isIndexed(e){return!!(e&&e._isIndexed)}},H2={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function Zl(t,e){let r=new Error(`deferred error during ABI decoding triggered accessing ${t}`);return r.error=e,r}var cn=class{constructor(e){let r=[];typeof e=="string"?r=JSON.parse(e):r=e,_(this,"fragments",r.map(n=>dr.from(n)).filter(n=>n!=null)),_(this,"_abiCoder",Nt(new.target,"getAbiCoder")()),_(this,"functions",{}),_(this,"errors",{}),_(this,"events",{}),_(this,"structs",{}),this.fragments.forEach(n=>{let o=null;switch(n.type){case"constructor":if(this.deploy){Ie.warn("duplicate definition - constructor");return}_(this,"deploy",n);return;case"function":o=this.functions;break;case"event":o=this.events;break;case"error":o=this.errors;break;default:return}let a=n.format();if(o[a]){Ie.warn("duplicate definition - "+a);return}o[a]=n}),this.deploy||_(this,"deploy",fr.from({payable:!1,type:"constructor"})),_(this,"_isInterface",!0)}format(e){e||(e=pe.full),e===pe.sighash&&Ie.throwArgumentError("interface does not support formatting sighash","format",e);let r=this.fragments.map(n=>n.format(e));return e===pe.json?JSON.stringify(r.map(n=>JSON.parse(n))):r}static getAbiCoder(){return Ya}static getAddress(e){return le(e)}static getSighash(e){return ot(ht(e.format()),0,4)}static getEventTopic(e){return ht(e.format())}getFunction(e){if(be(e)){for(let n in this.functions)if(e===this.getSighash(n))return this.functions[n];Ie.throwArgumentError("no matching function","sighash",e)}if(e.indexOf("(")===-1){let n=e.trim(),o=Object.keys(this.functions).filter(a=>a.split("(")[0]===n);return o.length===0?Ie.throwArgumentError("no matching function","name",n):o.length>1&&Ie.throwArgumentError("multiple matching functions","name",n),this.functions[o[0]]}let r=this.functions[lr.fromString(e).format()];return r||Ie.throwArgumentError("no matching function","signature",e),r}getEvent(e){if(be(e)){let n=e.toLowerCase();for(let o in this.events)if(n===this.getEventTopic(o))return this.events[o];Ie.throwArgumentError("no matching event","topichash",n)}if(e.indexOf("(")===-1){let n=e.trim(),o=Object.keys(this.events).filter(a=>a.split("(")[0]===n);return o.length===0?Ie.throwArgumentError("no matching event","name",n):o.length>1&&Ie.throwArgumentError("multiple matching events","name",n),this.events[o[0]]}let r=this.events[Lr.fromString(e).format()];return r||Ie.throwArgumentError("no matching event","signature",e),r}getError(e){if(be(e)){let n=Nt(this.constructor,"getSighash");for(let o in this.errors){let a=this.errors[o];if(e===n(a))return this.errors[o]}Ie.throwArgumentError("no matching error","sighash",e)}if(e.indexOf("(")===-1){let n=e.trim(),o=Object.keys(this.errors).filter(a=>a.split("(")[0]===n);return o.length===0?Ie.throwArgumentError("no matching error","name",n):o.length>1&&Ie.throwArgumentError("multiple matching errors","name",n),this.errors[o[0]]}let r=this.errors[lr.fromString(e).format()];return r||Ie.throwArgumentError("no matching error","signature",e),r}getSighash(e){if(typeof e=="string")try{e=this.getFunction(e)}catch(r){try{e=this.getError(e)}catch{throw r}}return Nt(this.constructor,"getSighash")(e)}getEventTopic(e){return typeof e=="string"&&(e=this.getEvent(e)),Nt(this.constructor,"getEventTopic")(e)}_decodeParams(e,r){return this._abiCoder.decode(e,r)}_encodeParams(e,r){return this._abiCoder.encode(e,r)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,r){typeof e=="string"&&(e=this.getError(e));let n=R(r);return K(n.slice(0,4))!==this.getSighash(e)&&Ie.throwArgumentError(`data signature does not match error ${e.name}.`,"data",K(n)),this._decodeParams(e.inputs,n.slice(4))}encodeErrorResult(e,r){return typeof e=="string"&&(e=this.getError(e)),K(xe([this.getSighash(e),this._encodeParams(e.inputs,r||[])]))}decodeFunctionData(e,r){typeof e=="string"&&(e=this.getFunction(e));let n=R(r);return K(n.slice(0,4))!==this.getSighash(e)&&Ie.throwArgumentError(`data signature does not match function ${e.name}.`,"data",K(n)),this._decodeParams(e.inputs,n.slice(4))}encodeFunctionData(e,r){return typeof e=="string"&&(e=this.getFunction(e)),K(xe([this.getSighash(e),this._encodeParams(e.inputs,r||[])]))}decodeFunctionResult(e,r){typeof e=="string"&&(e=this.getFunction(e));let n=R(r),o=null,a="",i=null,s=null,c=null;switch(n.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,n)}catch{}break;case 4:{let d=K(n.slice(0,4)),f=H2[d];if(f)i=this._abiCoder.decode(f.inputs,n.slice(4)),s=f.name,c=f.signature,f.reason&&(o=i[0]),s==="Error"?a=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(i[0])}`:s==="Panic"&&(a=`; VM Exception while processing transaction: reverted with panic code ${i[0]}`);else try{let u=this.getError(d);i=this._abiCoder.decode(u.inputs,n.slice(4)),s=u.name,c=u.format()}catch{}break}}return Ie.throwError("call revert exception"+a,N.errors.CALL_EXCEPTION,{method:e.format(),data:K(r),errorArgs:i,errorName:s,errorSignature:c,reason:o})}encodeFunctionResult(e,r){return typeof e=="string"&&(e=this.getFunction(e)),K(this._abiCoder.encode(e.outputs,r||[]))}encodeFilterTopics(e,r){typeof e=="string"&&(e=this.getEvent(e)),r.length>e.inputs.length&&Ie.throwError("too many arguments for "+e.format(),N.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:r});let n=[];e.anonymous||n.push(this.getEventTopic(e));let o=(a,i)=>a.type==="string"?ht(i):a.type==="bytes"?ce(K(i)):(a.type==="bool"&&typeof i=="boolean"&&(i=i?"0x01":"0x00"),a.type.match(/^u?int/)&&(i=W.from(i).toHexString()),a.type==="address"&&this._abiCoder.encode(["address"],[i]),we(K(i),32));for(r.forEach((a,i)=>{let s=e.inputs[i];if(!s.indexed){a!=null&&Ie.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+s.name,a);return}a==null?n.push(null):s.baseType==="array"||s.baseType==="tuple"?Ie.throwArgumentError("filtering with tuples or arrays not supported","contract."+s.name,a):Array.isArray(a)?n.push(a.map(c=>o(s,c))):n.push(o(s,a))});n.length&&n[n.length-1]===null;)n.pop();return n}encodeEventLog(e,r){typeof e=="string"&&(e=this.getEvent(e));let n=[],o=[],a=[];return e.anonymous||n.push(this.getEventTopic(e)),r.length!==e.inputs.length&&Ie.throwArgumentError("event arguments/values mismatch","values",r),e.inputs.forEach((i,s)=>{let c=r[s];if(i.indexed)if(i.type==="string")n.push(ht(c));else if(i.type==="bytes")n.push(ce(c));else{if(i.baseType==="tuple"||i.baseType==="array")throw new Error("not implemented");n.push(this._abiCoder.encode([i.type],[c]))}else o.push(i),a.push(c)}),{data:this._abiCoder.encode(o,a),topics:n}}decodeEventLog(e,r,n){if(typeof e=="string"&&(e=this.getEvent(e)),n!=null&&!e.anonymous){let x=this.getEventTopic(e);(!be(n[0],32)||n[0].toLowerCase()!==x)&&Ie.throwError("fragment/topic mismatch",N.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:x,value:n[0]}),n=n.slice(1)}let o=[],a=[],i=[];e.inputs.forEach((x,m)=>{x.indexed?x.type==="string"||x.type==="bytes"||x.baseType==="tuple"||x.baseType==="array"?(o.push(We.fromObject({type:"bytes32",name:x.name})),i.push(!0)):(o.push(x),i.push(!1)):(a.push(x),i.push(!1))});let s=n!=null?this._abiCoder.decode(o,xe(n)):null,c=this._abiCoder.decode(a,r,!0),d=[],f=0,u=0;e.inputs.forEach((x,m)=>{if(x.indexed)if(s==null)d[m]=new Ur({_isIndexed:!0,hash:null});else if(i[m])d[m]=new Ur({_isIndexed:!0,hash:s[u++]});else try{d[m]=s[u++]}catch(p){d[m]=p}else try{d[m]=c[f++]}catch(p){d[m]=p}if(x.name&&d[x.name]==null){let p=d[m];p instanceof Error?Object.defineProperty(d,x.name,{enumerable:!0,get:()=>{throw Zl(`property ${JSON.stringify(x.name)}`,p)}}):d[x.name]=p}});for(let x=0;x<d.length;x++){let m=d[x];m instanceof Error&&Object.defineProperty(d,x,{enumerable:!0,get:()=>{throw Zl(`index ${x}`,m)}})}return Object.freeze(d)}parseTransaction(e){let r=this.getFunction(e.data.substring(0,10).toLowerCase());return r?new Jo({args:this._abiCoder.decode(r.inputs,"0x"+e.data.substring(10)),functionFragment:r,name:r.name,signature:r.format(),sighash:this.getSighash(r),value:W.from(e.value||"0")}):null}parseLog(e){let r=this.getEvent(e.topics[0]);return!r||r.anonymous?null:new qo({eventFragment:r,name:r.name,signature:r.format(),topic:this.getEventTopic(r),args:this.decodeEventLog(r,e.data,e.topics)})}parseError(e){let r=K(e),n=this.getError(r.substring(0,10).toLowerCase());return n?new A0({args:this._abiCoder.decode(n.inputs,"0x"+r.substring(10)),errorFragment:n,name:n.name,signature:n.format(),sighash:this.getSighash(n)}):null}static isInterface(e){return!!(e&&e._isInterface)}};var Yl="abstract-provider/5.7.0";var W2=function(t,e,r,n){function o(a){return a instanceof r?a:new r(function(i){i(a)})}return new(r||(r=Promise))(function(a,i){function s(f){try{d(n.next(f))}catch(u){i(u)}}function c(f){try{d(n.throw(f))}catch(u){i(u)}}function d(f){f.done?a(f.value):o(f.value).then(s,c)}d((n=n.apply(t,e||[])).next())})},G2=new N(Yl);var zo=class t{constructor(){G2.checkAbstract(new.target,t),_(this,"_isProvider",!0)}getFeeData(){return W2(this,void 0,void 0,function*(){let{block:e,gasPrice:r}=yield it({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch(i=>null)}),n=null,o=null,a=null;return e&&e.baseFeePerGas&&(n=e.baseFeePerGas,a=W.from("1500000000"),o=e.baseFeePerGas.mul(2).add(a)),{lastBaseFeePerGas:n,maxFeePerGas:o,maxPriorityFeePerGas:a,gasPrice:r}})}addListener(e,r){return this.on(e,r)}removeListener(e,r){return this.off(e,r)}static isProvider(e){return!!(e&&e._isProvider)}};var jl="abstract-signer/5.7.0";var Gt=function(t,e,r,n){function o(a){return a instanceof r?a:new r(function(i){i(a)})}return new(r||(r=Promise))(function(a,i){function s(f){try{d(n.next(f))}catch(u){i(u)}}function c(f){try{d(n.throw(f))}catch(u){i(u)}}function d(f){f.done?a(f.value):o(f.value).then(s,c)}d((n=n.apply(t,e||[])).next())})},Rt=new N(jl),q2=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],J2=[N.errors.INSUFFICIENT_FUNDS,N.errors.NONCE_EXPIRED,N.errors.REPLACEMENT_UNDERPRICED],qt=class t{constructor(){Rt.checkAbstract(new.target,t),_(this,"_isSigner",!0)}getBalance(e){return Gt(this,void 0,void 0,function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),e)})}getTransactionCount(e){return Gt(this,void 0,void 0,function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),e)})}estimateGas(e){return Gt(this,void 0,void 0,function*(){this._checkProvider("estimateGas");let r=yield it(this.checkTransaction(e));return yield this.provider.estimateGas(r)})}call(e,r){return Gt(this,void 0,void 0,function*(){this._checkProvider("call");let n=yield it(this.checkTransaction(e));return yield this.provider.call(n,r)})}sendTransaction(e){return Gt(this,void 0,void 0,function*(){this._checkProvider("sendTransaction");let r=yield this.populateTransaction(e),n=yield this.signTransaction(r);return yield this.provider.sendTransaction(n)})}getChainId(){return Gt(this,void 0,void 0,function*(){return this._checkProvider("getChainId"),(yield this.provider.getNetwork()).chainId})}getGasPrice(){return Gt(this,void 0,void 0,function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()})}getFeeData(){return Gt(this,void 0,void 0,function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()})}resolveName(e){return Gt(this,void 0,void 0,function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(e)})}checkTransaction(e){for(let n in e)q2.indexOf(n)===-1&&Rt.throwArgumentError("invalid transaction key: "+n,"transaction",e);let r=Le(e);return r.from==null?r.from=this.getAddress():r.from=Promise.all([Promise.resolve(r.from),this.getAddress()]).then(n=>(n[0].toLowerCase()!==n[1].toLowerCase()&&Rt.throwArgumentError("from address mismatch","transaction",e),n[0])),r}populateTransaction(e){return Gt(this,void 0,void 0,function*(){let r=yield it(this.checkTransaction(e));r.to!=null&&(r.to=Promise.resolve(r.to).then(o=>Gt(this,void 0,void 0,function*(){if(o==null)return null;let a=yield this.resolveName(o);return a==null&&Rt.throwArgumentError("provided ENS name resolves to null","tx.to",o),a})),r.to.catch(o=>{}));let n=r.maxFeePerGas!=null||r.maxPriorityFeePerGas!=null;if(r.gasPrice!=null&&(r.type===2||n)?Rt.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",e):(r.type===0||r.type===1)&&n&&Rt.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",e),(r.type===2||r.type==null)&&r.maxFeePerGas!=null&&r.maxPriorityFeePerGas!=null)r.type=2;else if(r.type===0||r.type===1)r.gasPrice==null&&(r.gasPrice=this.getGasPrice());else{let o=yield this.getFeeData();if(r.type==null)if(o.maxFeePerGas!=null&&o.maxPriorityFeePerGas!=null)if(r.type=2,r.gasPrice!=null){let a=r.gasPrice;delete r.gasPrice,r.maxFeePerGas=a,r.maxPriorityFeePerGas=a}else r.maxFeePerGas==null&&(r.maxFeePerGas=o.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=o.maxPriorityFeePerGas);else o.gasPrice!=null?(n&&Rt.throwError("network does not support EIP-1559",N.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),r.gasPrice==null&&(r.gasPrice=o.gasPrice),r.type=0):Rt.throwError("failed to get consistent fee data",N.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"});else r.type===2&&(r.maxFeePerGas==null&&(r.maxFeePerGas=o.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=o.maxPriorityFeePerGas))}return r.nonce==null&&(r.nonce=this.getTransactionCount("pending")),r.gasLimit==null&&(r.gasLimit=this.estimateGas(r).catch(o=>{if(J2.indexOf(o.code)>=0)throw o;return Rt.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",N.errors.UNPREDICTABLE_GAS_LIMIT,{error:o,tx:r})})),r.chainId==null?r.chainId=this.getChainId():r.chainId=Promise.all([Promise.resolve(r.chainId),this.getChainId()]).then(o=>(o[1]!==0&&o[0]!==o[1]&&Rt.throwArgumentError("chainId address mismatch","transaction",e),o[0])),yield it(r)})}_checkProvider(e){this.provider||Rt.throwError("missing provider",N.errors.UNSUPPORTED_OPERATION,{operation:e||"_checkProvider"})}static isSigner(e){return!!(e&&e._isSigner)}},Gn=class t extends qt{constructor(e,r){super(),_(this,"address",e),_(this,"provider",r||null)}getAddress(){return Promise.resolve(this.address)}_fail(e,r){return Promise.resolve().then(()=>{Rt.throwError(e,N.errors.UNSUPPORTED_OPERATION,{operation:r})})}signMessage(e){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(e){return this._fail("VoidSigner cannot sign transactions","signTransaction")}_signTypedData(e,r,n){return this._fail("VoidSigner cannot sign typed data","signTypedData")}connect(e){return new t(this.address,e)}};var yr=Mo(O0());import se from"bn.js";function ta(t,e,r){return r={path:e,exports:{},require:function(n,o){return x3(n,o??r.path)}},t(r,r.exports),r.exports}function x3(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var F0=Du;function Du(t,e){if(!t)throw new Error(e||"Assertion failed")}Du.equal=function(e,r,n){if(e!=r)throw new Error(n||"Assertion failed: "+e+" != "+r)};var Xt=ta(function(t,e){"use strict";var r=e;function n(i,s){if(Array.isArray(i))return i.slice();if(!i)return[];var c=[];if(typeof i!="string"){for(var d=0;d<i.length;d++)c[d]=i[d]|0;return c}if(s==="hex"){i=i.replace(/[^a-z0-9]+/ig,""),i.length%2!==0&&(i="0"+i);for(var d=0;d<i.length;d+=2)c.push(parseInt(i[d]+i[d+1],16))}else for(var d=0;d<i.length;d++){var f=i.charCodeAt(d),u=f>>8,x=f&255;u?c.push(u,x):c.push(x)}return c}r.toArray=n;function o(i){return i.length===1?"0"+i:i}r.zero2=o;function a(i){for(var s="",c=0;c<i.length;c++)s+=o(i[c].toString(16));return s}r.toHex=a,r.encode=function(s,c){return c==="hex"?a(s):s}}),gt=ta(function(t,e){"use strict";var r=e;r.assert=F0,r.toArray=Xt.toArray,r.zero2=Xt.zero2,r.toHex=Xt.toHex,r.encode=Xt.encode;function n(c,d,f){var u=new Array(Math.max(c.bitLength(),f)+1);u.fill(0);for(var x=1<<d+1,m=c.clone(),p=0;p<u.length;p++){var h,w=m.andln(x-1);m.isOdd()?(w>(x>>1)-1?h=(x>>1)-w:h=w,m.isubn(h)):h=0,u[p]=h,m.iushrn(1)}return u}r.getNAF=n;function o(c,d){var f=[[],[]];c=c.clone(),d=d.clone();for(var u=0,x=0,m;c.cmpn(-u)>0||d.cmpn(-x)>0;){var p=c.andln(3)+u&3,h=d.andln(3)+x&3;p===3&&(p=-1),h===3&&(h=-1);var w;(p&1)===0?w=0:(m=c.andln(7)+u&7,(m===3||m===5)&&h===2?w=-p:w=p),f[0].push(w);var b;(h&1)===0?b=0:(m=d.andln(7)+x&7,(m===3||m===5)&&p===2?b=-h:b=h),f[1].push(b),2*u===w+1&&(u=1-u),2*x===b+1&&(x=1-x),c.iushrn(1),d.iushrn(1)}return f}r.getJSF=o;function a(c,d,f){var u="_"+d;c.prototype[d]=function(){return this[u]!==void 0?this[u]:this[u]=f.call(this)}}r.cachedProperty=a;function i(c){return typeof c=="string"?r.toArray(c,"hex"):c}r.parseBytes=i;function s(c){return new se(c,"hex","le")}r.intFromLE=s}),Ts=gt.getNAF,h3=gt.getJSF,ks=gt.assert;function ln(t,e){this.type=t,this.p=new se(e.p,16),this.red=e.prime?se.red(e.prime):se.mont(this.p),this.zero=new se(0).toRed(this.red),this.one=new se(1).toRed(this.red),this.two=new se(2).toRed(this.red),this.n=e.n&&new se(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Jn=ln;ln.prototype.point=function(){throw new Error("Not implemented")};ln.prototype.validate=function(){throw new Error("Not implemented")};ln.prototype._fixedNafMul=function(e,r){ks(e.precomputed);var n=e._getDoubles(),o=Ts(r,1,this._bitLength),a=(1<<n.step+1)-(n.step%2===0?2:1);a/=3;var i=[],s,c;for(s=0;s<o.length;s+=n.step){c=0;for(var d=s+n.step-1;d>=s;d--)c=(c<<1)+o[d];i.push(c)}for(var f=this.jpoint(null,null,null),u=this.jpoint(null,null,null),x=a;x>0;x--){for(s=0;s<i.length;s++)c=i[s],c===x?u=u.mixedAdd(n.points[s]):c===-x&&(u=u.mixedAdd(n.points[s].neg()));f=f.add(u)}return f.toP()};ln.prototype._wnafMul=function(e,r){var n=4,o=e._getNAFPoints(n);n=o.wnd;for(var a=o.points,i=Ts(r,n,this._bitLength),s=this.jpoint(null,null,null),c=i.length-1;c>=0;c--){for(var d=0;c>=0&&i[c]===0;c--)d++;if(c>=0&&d++,s=s.dblp(d),c<0)break;var f=i[c];ks(f!==0),e.type==="affine"?f>0?s=s.mixedAdd(a[f-1>>1]):s=s.mixedAdd(a[-f-1>>1].neg()):f>0?s=s.add(a[f-1>>1]):s=s.add(a[-f-1>>1].neg())}return e.type==="affine"?s.toP():s};ln.prototype._wnafMulAdd=function(e,r,n,o,a){var i=this._wnafT1,s=this._wnafT2,c=this._wnafT3,d=0,f,u,x;for(f=0;f<o;f++){x=r[f];var m=x._getNAFPoints(e);i[f]=m.wnd,s[f]=m.points}for(f=o-1;f>=1;f-=2){var p=f-1,h=f;if(i[p]!==1||i[h]!==1){c[p]=Ts(n[p],i[p],this._bitLength),c[h]=Ts(n[h],i[h],this._bitLength),d=Math.max(c[p].length,d),d=Math.max(c[h].length,d);continue}var w=[r[p],null,null,r[h]];r[p].y.cmp(r[h].y)===0?(w[1]=r[p].add(r[h]),w[2]=r[p].toJ().mixedAdd(r[h].neg())):r[p].y.cmp(r[h].y.redNeg())===0?(w[1]=r[p].toJ().mixedAdd(r[h]),w[2]=r[p].add(r[h].neg())):(w[1]=r[p].toJ().mixedAdd(r[h]),w[2]=r[p].toJ().mixedAdd(r[h].neg()));var b=[-3,-1,-5,-7,0,7,5,1,3],T=h3(n[p],n[h]);for(d=Math.max(T[0].length,d),c[p]=new Array(d),c[h]=new Array(d),u=0;u<d;u++){var k=T[0][u]|0,O=T[1][u]|0;c[p][u]=b[(k+1)*3+(O+1)],c[h][u]=0,s[p]=w}}var C=this.jpoint(null,null,null),B=this._wnafT4;for(f=d;f>=0;f--){for(var P=0;f>=0;){var L=!0;for(u=0;u<o;u++)B[u]=c[u][f]|0,B[u]!==0&&(L=!1);if(!L)break;P++,f--}if(f>=0&&P++,C=C.dblp(P),f<0)break;for(u=0;u<o;u++){var F=B[u];F!==0&&(F>0?x=s[u][F-1>>1]:F<0&&(x=s[u][-F-1>>1].neg()),x.type==="affine"?C=C.mixedAdd(x):C=C.add(x))}}for(f=0;f<o;f++)s[f]=null;return a?C:C.toP()};function Mt(t,e){this.curve=t,this.type=e,this.precomputed=null}ln.BasePoint=Mt;Mt.prototype.eq=function(){throw new Error("Not implemented")};Mt.prototype.validate=function(){return this.curve.validate(this)};ln.prototype.decodePoint=function(e,r){e=gt.toArray(e,r);var n=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1===2*n){e[0]===6?ks(e[e.length-1]%2===0):e[0]===7&&ks(e[e.length-1]%2===1);var o=this.point(e.slice(1,1+n),e.slice(1+n,1+2*n));return o}else if((e[0]===2||e[0]===3)&&e.length-1===n)return this.pointFromX(e.slice(1,1+n),e[0]===3);throw new Error("Unknown point format")};Mt.prototype.encodeCompressed=function(e){return this.encode(e,!0)};Mt.prototype._encode=function(e){var r=this.curve.p.byteLength(),n=this.getX().toArray("be",r);return e?[this.getY().isEven()?2:3].concat(n):[4].concat(n,this.getY().toArray("be",r))};Mt.prototype.encode=function(e,r){return gt.encode(this._encode(r),e)};Mt.prototype.precompute=function(e){if(this.precomputed)return this;var r={doubles:null,naf:null,beta:null};return r.naf=this._getNAFPoints(8),r.doubles=this._getDoubles(4,e),r.beta=this._getBeta(),this.precomputed=r,this};Mt.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var r=this.precomputed.doubles;return r?r.points.length>=Math.ceil((e.bitLength()+1)/r.step):!1};Mt.prototype._getDoubles=function(e,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],o=this,a=0;a<r;a+=e){for(var i=0;i<e;i++)o=o.dbl();n.push(o)}return{step:e,points:n}};Mt.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var r=[this],n=(1<<e)-1,o=n===1?null:this.dbl(),a=1;a<n;a++)r[a]=r[a-1].add(o);return{wnd:e,points:r}};Mt.prototype._getBeta=function(){return null};Mt.prototype.dblp=function(e){for(var r=this,n=0;n<e;n++)r=r.dbl();return r};var U0=ta(function(t){typeof Object.create=="function"?t.exports=function(r,n){n&&(r.super_=n,r.prototype=Object.create(n.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(r,n){if(n){r.super_=n;var o=function(){};o.prototype=n.prototype,r.prototype=new o,r.prototype.constructor=r}}}),g3=gt.assert;function Ot(t){Jn.call(this,"short",t),this.a=new se(t.a,16).toRed(this.red),this.b=new se(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}U0(Ot,Jn);var b3=Ot;Ot.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var r,n;if(e.beta)r=new se(e.beta,16).toRed(this.red);else{var o=this._getEndoRoots(this.p);r=o[0].cmp(o[1])<0?o[0]:o[1],r=r.toRed(this.red)}if(e.lambda)n=new se(e.lambda,16);else{var a=this._getEndoRoots(this.n);this.g.mul(a[0]).x.cmp(this.g.x.redMul(r))===0?n=a[0]:(n=a[1],g3(this.g.mul(n).x.cmp(this.g.x.redMul(r))===0))}var i;return e.basis?i=e.basis.map(function(s){return{a:new se(s.a,16),b:new se(s.b,16)}}):i=this._getEndoBasis(n),{beta:r,lambda:n,basis:i}}};Ot.prototype._getEndoRoots=function(e){var r=e===this.p?this.red:se.mont(e),n=new se(2).toRed(r).redInvm(),o=n.redNeg(),a=new se(3).toRed(r).redNeg().redSqrt().redMul(n),i=o.redAdd(a).fromRed(),s=o.redSub(a).fromRed();return[i,s]};Ot.prototype._getEndoBasis=function(e){for(var r=this.n.ushrn(Math.floor(this.n.bitLength()/2)),n=e,o=this.n.clone(),a=new se(1),i=new se(0),s=new se(0),c=new se(1),d,f,u,x,m,p,h,w=0,b,T;n.cmpn(0)!==0;){var k=o.div(n);b=o.sub(k.mul(n)),T=s.sub(k.mul(a));var O=c.sub(k.mul(i));if(!u&&b.cmp(r)<0)d=h.neg(),f=a,u=b.neg(),x=T;else if(u&&++w===2)break;h=b,o=n,n=b,s=a,a=T,c=i,i=O}m=b.neg(),p=T;var C=u.sqr().add(x.sqr()),B=m.sqr().add(p.sqr());return B.cmp(C)>=0&&(m=d,p=f),u.negative&&(u=u.neg(),x=x.neg()),m.negative&&(m=m.neg(),p=p.neg()),[{a:u,b:x},{a:m,b:p}]};Ot.prototype._endoSplit=function(e){var r=this.endo.basis,n=r[0],o=r[1],a=o.b.mul(e).divRound(this.n),i=n.b.neg().mul(e).divRound(this.n),s=a.mul(n.a),c=i.mul(o.a),d=a.mul(n.b),f=i.mul(o.b),u=e.sub(s).sub(c),x=d.add(f).neg();return{k1:u,k2:x}};Ot.prototype.pointFromX=function(e,r){e=new se(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),o=n.redSqrt();if(o.redSqr().redSub(n).cmp(this.zero)!==0)throw new Error("invalid point");var a=o.fromRed().isOdd();return(r&&!a||!r&&a)&&(o=o.redNeg()),this.point(e,o)};Ot.prototype.validate=function(e){if(e.inf)return!0;var r=e.x,n=e.y,o=this.a.redMul(r),a=r.redSqr().redMul(r).redIAdd(o).redIAdd(this.b);return n.redSqr().redISub(a).cmpn(0)===0};Ot.prototype._endoWnafMulAdd=function(e,r,n){for(var o=this._endoWnafT1,a=this._endoWnafT2,i=0;i<e.length;i++){var s=this._endoSplit(r[i]),c=e[i],d=c._getBeta();s.k1.negative&&(s.k1.ineg(),c=c.neg(!0)),s.k2.negative&&(s.k2.ineg(),d=d.neg(!0)),o[i*2]=c,o[i*2+1]=d,a[i*2]=s.k1,a[i*2+1]=s.k2}for(var f=this._wnafMulAdd(1,o,a,i*2,n),u=0;u<i*2;u++)o[u]=null,a[u]=null;return f};function Ve(t,e,r,n){Jn.BasePoint.call(this,t,"affine"),e===null&&r===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new se(e,16),this.y=new se(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}U0(Ve,Jn.BasePoint);Ot.prototype.point=function(e,r,n){return new Ve(this,e,r,n)};Ot.prototype.pointFromJSON=function(e,r){return Ve.fromJSON(this,e,r)};Ve.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var r=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var n=this.curve,o=function(a){return n.point(a.x.redMul(n.endo.beta),a.y)};e.beta=r,r.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(o)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(o)}}}return r}};Ve.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]};Ve.fromJSON=function(e,r,n){typeof r=="string"&&(r=JSON.parse(r));var o=e.point(r[0],r[1],n);if(!r[2])return o;function a(s){return e.point(s[0],s[1],n)}var i=r[2];return o.precomputed={beta:null,doubles:i.doubles&&{step:i.doubles.step,points:[o].concat(i.doubles.points.map(a))},naf:i.naf&&{wnd:i.naf.wnd,points:[o].concat(i.naf.points.map(a))}},o};Ve.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"};Ve.prototype.isInfinity=function(){return this.inf};Ve.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var r=this.y.redSub(e.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(e.x).redInvm()));var n=r.redSqr().redISub(this.x).redISub(e.x),o=r.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,o)};Ve.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var r=this.curve.a,n=this.x.redSqr(),o=e.redInvm(),a=n.redAdd(n).redIAdd(n).redIAdd(r).redMul(o),i=a.redSqr().redISub(this.x.redAdd(this.x)),s=a.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,s)};Ve.prototype.getX=function(){return this.x.fromRed()};Ve.prototype.getY=function(){return this.y.fromRed()};Ve.prototype.mul=function(e){return e=new se(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)};Ve.prototype.mulAdd=function(e,r,n){var o=[this,r],a=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(o,a):this.curve._wnafMulAdd(1,o,a,2)};Ve.prototype.jmulAdd=function(e,r,n){var o=[this,r],a=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(o,a,!0):this.curve._wnafMulAdd(1,o,a,2,!0)};Ve.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)};Ve.prototype.neg=function(e){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,o=function(a){return a.neg()};r.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(o)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(o)}}}return r};Ve.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function qe(t,e,r,n){Jn.BasePoint.call(this,t,"jacobian"),e===null&&r===null&&n===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new se(0)):(this.x=new se(e,16),this.y=new se(r,16),this.z=new se(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}U0(qe,Jn.BasePoint);Ot.prototype.jpoint=function(e,r,n){return new qe(this,e,r,n)};qe.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),r=e.redSqr(),n=this.x.redMul(r),o=this.y.redMul(r).redMul(e);return this.curve.point(n,o)};qe.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};qe.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var r=e.z.redSqr(),n=this.z.redSqr(),o=this.x.redMul(r),a=e.x.redMul(n),i=this.y.redMul(r.redMul(e.z)),s=e.y.redMul(n.redMul(this.z)),c=o.redSub(a),d=i.redSub(s);if(c.cmpn(0)===0)return d.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var f=c.redSqr(),u=f.redMul(c),x=o.redMul(f),m=d.redSqr().redIAdd(u).redISub(x).redISub(x),p=d.redMul(x.redISub(m)).redISub(i.redMul(u)),h=this.z.redMul(e.z).redMul(c);return this.curve.jpoint(m,p,h)};qe.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var r=this.z.redSqr(),n=this.x,o=e.x.redMul(r),a=this.y,i=e.y.redMul(r).redMul(this.z),s=n.redSub(o),c=a.redSub(i);if(s.cmpn(0)===0)return c.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var d=s.redSqr(),f=d.redMul(s),u=n.redMul(d),x=c.redSqr().redIAdd(f).redISub(u).redISub(u),m=c.redMul(u.redISub(x)).redISub(a.redMul(f)),p=this.z.redMul(s);return this.curve.jpoint(x,m,p)};qe.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var n=this;for(r=0;r<e;r++)n=n.dbl();return n}var o=this.curve.a,a=this.curve.tinv,i=this.x,s=this.y,c=this.z,d=c.redSqr().redSqr(),f=s.redAdd(s);for(r=0;r<e;r++){var u=i.redSqr(),x=f.redSqr(),m=x.redSqr(),p=u.redAdd(u).redIAdd(u).redIAdd(o.redMul(d)),h=i.redMul(x),w=p.redSqr().redISub(h.redAdd(h)),b=h.redISub(w),T=p.redMul(b);T=T.redIAdd(T).redISub(m);var k=f.redMul(c);r+1<e&&(d=d.redMul(m)),i=w,c=k,f=T}return this.curve.jpoint(i,f.redMul(a),c)};qe.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()};qe.prototype._zeroDbl=function(){var e,r,n;if(this.zOne){var o=this.x.redSqr(),a=this.y.redSqr(),i=a.redSqr(),s=this.x.redAdd(a).redSqr().redISub(o).redISub(i);s=s.redIAdd(s);var c=o.redAdd(o).redIAdd(o),d=c.redSqr().redISub(s).redISub(s),f=i.redIAdd(i);f=f.redIAdd(f),f=f.redIAdd(f),e=d,r=c.redMul(s.redISub(d)).redISub(f),n=this.y.redAdd(this.y)}else{var u=this.x.redSqr(),x=this.y.redSqr(),m=x.redSqr(),p=this.x.redAdd(x).redSqr().redISub(u).redISub(m);p=p.redIAdd(p);var h=u.redAdd(u).redIAdd(u),w=h.redSqr(),b=m.redIAdd(m);b=b.redIAdd(b),b=b.redIAdd(b),e=w.redISub(p).redISub(p),r=h.redMul(p.redISub(e)).redISub(b),n=this.y.redMul(this.z),n=n.redIAdd(n)}return this.curve.jpoint(e,r,n)};qe.prototype._threeDbl=function(){var e,r,n;if(this.zOne){var o=this.x.redSqr(),a=this.y.redSqr(),i=a.redSqr(),s=this.x.redAdd(a).redSqr().redISub(o).redISub(i);s=s.redIAdd(s);var c=o.redAdd(o).redIAdd(o).redIAdd(this.curve.a),d=c.redSqr().redISub(s).redISub(s);e=d;var f=i.redIAdd(i);f=f.redIAdd(f),f=f.redIAdd(f),r=c.redMul(s.redISub(d)).redISub(f),n=this.y.redAdd(this.y)}else{var u=this.z.redSqr(),x=this.y.redSqr(),m=this.x.redMul(x),p=this.x.redSub(u).redMul(this.x.redAdd(u));p=p.redAdd(p).redIAdd(p);var h=m.redIAdd(m);h=h.redIAdd(h);var w=h.redAdd(h);e=p.redSqr().redISub(w),n=this.y.redAdd(this.z).redSqr().redISub(x).redISub(u);var b=x.redSqr();b=b.redIAdd(b),b=b.redIAdd(b),b=b.redIAdd(b),r=p.redMul(h.redISub(e)).redISub(b)}return this.curve.jpoint(e,r,n)};qe.prototype._dbl=function(){var e=this.curve.a,r=this.x,n=this.y,o=this.z,a=o.redSqr().redSqr(),i=r.redSqr(),s=n.redSqr(),c=i.redAdd(i).redIAdd(i).redIAdd(e.redMul(a)),d=r.redAdd(r);d=d.redIAdd(d);var f=d.redMul(s),u=c.redSqr().redISub(f.redAdd(f)),x=f.redISub(u),m=s.redSqr();m=m.redIAdd(m),m=m.redIAdd(m),m=m.redIAdd(m);var p=c.redMul(x).redISub(m),h=n.redAdd(n).redMul(o);return this.curve.jpoint(u,p,h)};qe.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),r=this.y.redSqr(),n=this.z.redSqr(),o=r.redSqr(),a=e.redAdd(e).redIAdd(e),i=a.redSqr(),s=this.x.redAdd(r).redSqr().redISub(e).redISub(o);s=s.redIAdd(s),s=s.redAdd(s).redIAdd(s),s=s.redISub(i);var c=s.redSqr(),d=o.redIAdd(o);d=d.redIAdd(d),d=d.redIAdd(d),d=d.redIAdd(d);var f=a.redIAdd(s).redSqr().redISub(i).redISub(c).redISub(d),u=r.redMul(f);u=u.redIAdd(u),u=u.redIAdd(u);var x=this.x.redMul(c).redISub(u);x=x.redIAdd(x),x=x.redIAdd(x);var m=this.y.redMul(f.redMul(d.redISub(f)).redISub(s.redMul(c)));m=m.redIAdd(m),m=m.redIAdd(m),m=m.redIAdd(m);var p=this.z.redAdd(s).redSqr().redISub(n).redISub(c);return this.curve.jpoint(x,m,p)};qe.prototype.mul=function(e,r){return e=new se(e,r),this.curve._wnafMul(this,e)};qe.prototype.eq=function(e){if(e.type==="affine")return this.eq(e.toJ());if(this===e)return!0;var r=this.z.redSqr(),n=e.z.redSqr();if(this.x.redMul(n).redISub(e.x.redMul(r)).cmpn(0)!==0)return!1;var o=r.redMul(this.z),a=n.redMul(e.z);return this.y.redMul(a).redISub(e.y.redMul(o)).cmpn(0)===0};qe.prototype.eqXToP=function(e){var r=this.z.redSqr(),n=e.toRed(this.curve.red).redMul(r);if(this.x.cmp(n)===0)return!0;for(var o=e.clone(),a=this.curve.redN.redMul(r);;){if(o.iadd(this.curve.n),o.cmp(this.curve.p)>=0)return!1;if(n.redIAdd(a),this.x.cmp(n)===0)return!0}};qe.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"};qe.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var Cs=ta(function(t,e){"use strict";var r=e;r.base=Jn,r.short=b3,r.mont=null,r.edwards=null}),Ss=ta(function(t,e){"use strict";var r=e,n=gt.assert;function o(s){s.type==="short"?this.curve=new Cs.short(s):s.type==="edwards"?this.curve=new Cs.edwards(s):this.curve=new Cs.mont(s),this.g=this.curve.g,this.n=this.curve.n,this.hash=s.hash,n(this.g.validate(),"Invalid curve"),n(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}r.PresetCurve=o;function a(s,c){Object.defineProperty(r,s,{configurable:!0,enumerable:!0,get:function(){var d=new o(c);return Object.defineProperty(r,s,{configurable:!0,enumerable:!0,value:d}),d}})}a("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:yr.default.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),a("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:yr.default.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),a("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:yr.default.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),a("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:yr.default.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),a("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:yr.default.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),a("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:yr.default.sha256,gRed:!1,g:["9"]}),a("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:yr.default.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var i;try{i=null.crash()}catch{i=void 0}a("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:yr.default.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",i]})});function fn(t){if(!(this instanceof fn))return new fn(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=Xt.toArray(t.entropy,t.entropyEnc||"hex"),r=Xt.toArray(t.nonce,t.nonceEnc||"hex"),n=Xt.toArray(t.pers,t.persEnc||"hex");F0(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}var Fu=fn;fn.prototype._init=function(e,r,n){var o=e.concat(r).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var a=0;a<this.V.length;a++)this.K[a]=0,this.V[a]=1;this._update(o),this._reseed=1,this.reseedInterval=281474976710656};fn.prototype._hmac=function(){return new yr.default.hmac(this.hash,this.K)};fn.prototype._update=function(e){var r=this._hmac().update(this.V).update([0]);e&&(r=r.update(e)),this.K=r.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())};fn.prototype.reseed=function(e,r,n,o){typeof r!="string"&&(o=n,n=r,r=null),e=Xt.toArray(e,r),n=Xt.toArray(n,o),F0(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1};fn.prototype.generate=function(e,r,n,o){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof r!="string"&&(o=n,n=r,r=null),n&&(n=Xt.toArray(n,o||"hex"),this._update(n));for(var a=[];a.length<e;)this.V=this._hmac().update(this.V).digest(),a=a.concat(this.V);var i=a.slice(0,e);return this._update(n),this._reseed++,Xt.encode(i,r)};var D0=gt.assert;function Ze(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var V0=Ze;Ze.fromPublic=function(e,r,n){return r instanceof Ze?r:new Ze(e,{pub:r,pubEnc:n})};Ze.fromPrivate=function(e,r,n){return r instanceof Ze?r:new Ze(e,{priv:r,privEnc:n})};Ze.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}};Ze.prototype.getPublic=function(e,r){return typeof e=="string"&&(r=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),r?this.pub.encode(r,e):this.pub};Ze.prototype.getPrivate=function(e){return e==="hex"?this.priv.toString(16,2):this.priv};Ze.prototype._importPrivate=function(e,r){this.priv=new se(e,r||16),this.priv=this.priv.umod(this.ec.curve.n)};Ze.prototype._importPublic=function(e,r){if(e.x||e.y){this.ec.curve.type==="mont"?D0(e.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&D0(e.x&&e.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(e.x,e.y);return}this.pub=this.ec.curve.decodePoint(e,r)};Ze.prototype.derive=function(e){return e.validate()||D0(e.validate(),"public point not validated"),e.mul(this.priv).getX()};Ze.prototype.sign=function(e,r,n){return this.ec.sign(e,this,r,n)};Ze.prototype.verify=function(e,r){return this.ec.verify(e,r,this)};Ze.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var y3=gt.assert;function Es(t,e){if(t instanceof Es)return t;this._importDER(t,e)||(y3(t.r&&t.s,"Signature without r or s"),this.r=new se(t.r,16),this.s=new se(t.s,16),t.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var Ps=Es;function w3(){this.place=0}function B0(t,e){var r=t[e.place++];if(!(r&128))return r;var n=r&15;if(n===0||n>4)return!1;for(var o=0,a=0,i=e.place;a<n;a++,i++)o<<=8,o|=t[i],o>>>=0;return o<=127?!1:(e.place=i,o)}function Lu(t){for(var e=0,r=t.length-1;!t[e]&&!(t[e+1]&128)&&e<r;)e++;return e===0?t:t.slice(e)}Es.prototype._importDER=function(e,r){e=gt.toArray(e,r);var n=new w3;if(e[n.place++]!==48)return!1;var o=B0(e,n);if(o===!1||o+n.place!==e.length||e[n.place++]!==2)return!1;var a=B0(e,n);if(a===!1)return!1;var i=e.slice(n.place,a+n.place);if(n.place+=a,e[n.place++]!==2)return!1;var s=B0(e,n);if(s===!1||e.length!==s+n.place)return!1;var c=e.slice(n.place,s+n.place);if(i[0]===0)if(i[1]&128)i=i.slice(1);else return!1;if(c[0]===0)if(c[1]&128)c=c.slice(1);else return!1;return this.r=new se(i),this.s=new se(c),this.recoveryParam=null,!0};function L0(t,e){if(e<128){t.push(e);return}var r=1+(Math.log(e)/Math.LN2>>>3);for(t.push(r|128);--r;)t.push(e>>>(r<<3)&255);t.push(e)}Es.prototype.toDER=function(e){var r=this.r.toArray(),n=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),n[0]&128&&(n=[0].concat(n)),r=Lu(r),n=Lu(n);!n[0]&&!(n[1]&128);)n=n.slice(1);var o=[2];L0(o,r.length),o=o.concat(r),o.push(2),L0(o,n.length);var a=o.concat(n),i=[48];return L0(i,a.length),i=i.concat(a),gt.encode(i,e)};var v3=function(){throw new Error("unsupported")},Uu=gt.assert;function _t(t){if(!(this instanceof _t))return new _t(t);typeof t=="string"&&(Uu(Object.prototype.hasOwnProperty.call(Ss,t),"Unknown curve "+t),t=Ss[t]),t instanceof Ss.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var A3=_t;_t.prototype.keyPair=function(e){return new V0(this,e)};_t.prototype.keyFromPrivate=function(e,r){return V0.fromPrivate(this,e,r)};_t.prototype.keyFromPublic=function(e,r){return V0.fromPublic(this,e,r)};_t.prototype.genKeyPair=function(e){e||(e={});for(var r=new Fu({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||v3(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),o=this.n.sub(new se(2));;){var a=new se(r.generate(n));if(!(a.cmp(o)>0))return a.iaddn(1),this.keyFromPrivate(a)}};_t.prototype._truncateToN=function(e,r){var n=e.byteLength()*8-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!r&&e.cmp(this.n)>=0?e.sub(this.n):e};_t.prototype.sign=function(e,r,n,o){typeof n=="object"&&(o=n,n=null),o||(o={}),r=this.keyFromPrivate(r,n),e=this._truncateToN(new se(e,16));for(var a=this.n.byteLength(),i=r.getPrivate().toArray("be",a),s=e.toArray("be",a),c=new Fu({hash:this.hash,entropy:i,nonce:s,pers:o.pers,persEnc:o.persEnc||"utf8"}),d=this.n.sub(new se(1)),f=0;;f++){var u=o.k?o.k(f):new se(c.generate(this.n.byteLength()));if(u=this._truncateToN(u,!0),!(u.cmpn(1)<=0||u.cmp(d)>=0)){var x=this.g.mul(u);if(!x.isInfinity()){var m=x.getX(),p=m.umod(this.n);if(p.cmpn(0)!==0){var h=u.invm(this.n).mul(p.mul(r.getPrivate()).iadd(e));if(h=h.umod(this.n),h.cmpn(0)!==0){var w=(x.getY().isOdd()?1:0)|(m.cmp(p)!==0?2:0);return o.canonical&&h.cmp(this.nh)>0&&(h=this.n.sub(h),w^=1),new Ps({r:p,s:h,recoveryParam:w})}}}}}};_t.prototype.verify=function(e,r,n,o){e=this._truncateToN(new se(e,16)),n=this.keyFromPublic(n,o),r=new Ps(r,"hex");var a=r.r,i=r.s;if(a.cmpn(1)<0||a.cmp(this.n)>=0||i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;var s=i.invm(this.n),c=s.mul(e).umod(this.n),d=s.mul(a).umod(this.n),f;return this.curve._maxwellTrick?(f=this.g.jmulAdd(c,n.getPublic(),d),f.isInfinity()?!1:f.eqXToP(a)):(f=this.g.mulAdd(c,n.getPublic(),d),f.isInfinity()?!1:f.getX().umod(this.n).cmp(a)===0)};_t.prototype.recoverPubKey=function(t,e,r,n){Uu((3&r)===r,"The recovery param is more than two bits"),e=new Ps(e,n);var o=this.n,a=new se(t),i=e.r,s=e.s,c=r&1,d=r>>1;if(i.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error("Unable to find sencond key candinate");d?i=this.curve.pointFromX(i.add(this.curve.n),c):i=this.curve.pointFromX(i,c);var f=e.r.invm(o),u=o.sub(a).mul(f).umod(o),x=s.mul(f).umod(o);return this.g.mulAdd(u,i,x)};_t.prototype.getKeyRecoveryParam=function(t,e,r,n){if(e=new Ps(e,n),e.recoveryParam!==null)return e.recoveryParam;for(var o=0;o<4;o++){var a;try{a=this.recoverPubKey(t,e,o)}catch{continue}if(a.eq(r))return o}throw new Error("Unable to find valid recovery factor")};var C3=ta(function(t,e){"use strict";var r=e;r.version="6.5.4",r.utils=gt,r.rand=function(){throw new Error("unsupported")},r.curve=Cs,r.curves=Ss,r.ec=A3,r.eddsa=null}),Vu=C3.ec;var Ku="signing-key/5.7.0";var H0=new N(Ku),K0=null;function wr(){return K0||(K0=new Vu("secp256k1")),K0}var Bt=class{constructor(e){_(this,"curve","secp256k1"),_(this,"privateKey",K(e)),Or(this.privateKey)!==32&&H0.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");let r=wr().keyFromPrivate(R(this.privateKey));_(this,"publicKey","0x"+r.getPublic(!1,"hex")),_(this,"compressedPublicKey","0x"+r.getPublic(!0,"hex")),_(this,"_isSigningKey",!0)}_addPoint(e){let r=wr().keyFromPublic(R(this.publicKey)),n=wr().keyFromPublic(R(e));return"0x"+r.pub.add(n.pub).encodeCompressed("hex")}signDigest(e){let r=wr().keyFromPrivate(R(this.privateKey)),n=R(e);n.length!==32&&H0.throwArgumentError("bad digest length","digest",e);let o=r.sign(n,{canonical:!0});return ir({recoveryParam:o.recoveryParam,r:we("0x"+o.r.toString(16),32),s:we("0x"+o.s.toString(16),32)})}computeSharedSecret(e){let r=wr().keyFromPrivate(R(this.privateKey)),n=wr().keyFromPublic(R(ti(e)));return we("0x"+r.derive(n.getPublic()).toString(16),32)}static isSigningKey(e){return!!(e&&e._isSigningKey)}};function Is(t,e){let r=ir(e),n={r:R(r.r),s:R(r.s)};return"0x"+wr().recoverPubKey(R(t),n,r.recoveryParam).encode("hex",!1)}function ti(t,e){let r=R(t);if(r.length===32){let n=new Bt(r);return e?"0x"+wr().keyFromPrivate(r).getPublic(!0,"hex"):n.publicKey}else{if(r.length===33)return e?K(r):"0x"+wr().keyFromPublic(r).getPublic(!1,"hex");if(r.length===65)return e?"0x"+wr().keyFromPublic(r).getPublic(!0,"hex"):K(r)}return H0.throwArgumentError("invalid public or private key","key","[REDACTED]")}var Hu="transactions/5.7.0";var je=new N(Hu),Ns;(function(t){t[t.legacy=0]="legacy",t[t.eip2930=1]="eip2930",t[t.eip1559=2]="eip1559"})(Ns||(Ns={}));function G0(t){return t==="0x"?null:le(t)}function Ye(t){return t==="0x"?Ko:W.from(t)}var S3=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],T3={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function Lt(t){let e=ti(t);return le(ot(ce(ot(e,1)),12))}function zn(t,e){return Lt(Is(R(t),e))}function bt(t,e){let r=xt(W.from(t).toHexString());return r.length>32&&je.throwArgumentError("invalid length for "+e,"transaction:"+e,t),r}function W0(t,e){return{address:le(t),storageKeys:(e||[]).map((r,n)=>(Or(r)!==32&&je.throwArgumentError("invalid access list storageKey",`accessList[${t}:${n}]`,r),r.toLowerCase()))}}function Qn(t){if(Array.isArray(t))return t.map((r,n)=>Array.isArray(r)?(r.length>2&&je.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${n}]`,r),W0(r[0],r[1])):W0(r.address,r.storageKeys));let e=Object.keys(t).map(r=>{let n=t[r].reduce((o,a)=>(o[a]=!0,o),{});return W0(r,Object.keys(n).sort())});return e.sort((r,n)=>r.address.localeCompare(n.address)),e}function Wu(t){return Qn(t).map(e=>[e.address,e.storageKeys])}function Gu(t,e){if(t.gasPrice!=null){let n=W.from(t.gasPrice),o=W.from(t.maxFeePerGas||0);n.eq(o)||je.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:n,maxFeePerGas:o})}let r=[bt(t.chainId||0,"chainId"),bt(t.nonce||0,"nonce"),bt(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),bt(t.maxFeePerGas||0,"maxFeePerGas"),bt(t.gasLimit||0,"gasLimit"),t.to!=null?le(t.to):"0x",bt(t.value||0,"value"),t.data||"0x",Wu(t.accessList||[])];if(e){let n=ir(e);r.push(bt(n.recoveryParam,"recoveryParam")),r.push(xt(n.r)),r.push(xt(n.s))}return kt(["0x02",Dr(r)])}function qu(t,e){let r=[bt(t.chainId||0,"chainId"),bt(t.nonce||0,"nonce"),bt(t.gasPrice||0,"gasPrice"),bt(t.gasLimit||0,"gasLimit"),t.to!=null?le(t.to):"0x",bt(t.value||0,"value"),t.data||"0x",Wu(t.accessList||[])];if(e){let n=ir(e);r.push(bt(n.recoveryParam,"recoveryParam")),r.push(xt(n.r)),r.push(xt(n.s))}return kt(["0x01",Dr(r)])}function k3(t,e){Zi(t,T3);let r=[];S3.forEach(function(i){let s=t[i.name]||[],c={};i.numeric&&(c.hexPad="left"),s=R(K(s,c)),i.length&&s.length!==i.length&&s.length>0&&je.throwArgumentError("invalid length for "+i.name,"transaction:"+i.name,s),i.maxLength&&(s=xt(s),s.length>i.maxLength&&je.throwArgumentError("invalid length for "+i.name,"transaction:"+i.name,s)),r.push(K(s))});let n=0;if(t.chainId!=null?(n=t.chainId,typeof n!="number"&&je.throwArgumentError("invalid transaction.chainId","transaction",t)):e&&!Mr(e)&&e.v>28&&(n=Math.floor((e.v-35)/2)),n!==0&&(r.push(K(n)),r.push("0x"),r.push("0x")),!e)return Dr(r);let o=ir(e),a=27+o.recoveryParam;return n!==0?(r.pop(),r.pop(),r.pop(),a+=n*2+8,o.v>28&&o.v!==a&&je.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e)):o.v!==a&&je.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e),r.push(K(a)),r.push(xt(R(o.r))),r.push(xt(R(o.s))),Dr(r)}function ri(t,e){if(t.type==null||t.type===0)return t.accessList!=null&&je.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",t),k3(t,e);switch(t.type){case 1:return qu(t,e);case 2:return Gu(t,e);default:break}return je.throwError(`unsupported transaction type: ${t.type}`,N.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:t.type})}function Ju(t,e,r){try{let n=Ye(e[0]).toNumber();if(n!==0&&n!==1)throw new Error("bad recid");t.v=n}catch{je.throwArgumentError("invalid v for transaction type: 1","v",e[0])}t.r=we(e[1],32),t.s=we(e[2],32);try{let n=ce(r(t));t.from=zn(n,{r:t.r,s:t.s,recoveryParam:t.v})}catch{}}function E3(t){let e=Qa(t.slice(1));e.length!==9&&e.length!==12&&je.throwArgumentError("invalid component count for transaction type: 2","payload",K(t));let r=Ye(e[2]),n=Ye(e[3]),o={type:2,chainId:Ye(e[0]).toNumber(),nonce:Ye(e[1]).toNumber(),maxPriorityFeePerGas:r,maxFeePerGas:n,gasPrice:null,gasLimit:Ye(e[4]),to:G0(e[5]),value:Ye(e[6]),data:e[7],accessList:Qn(e[8])};return e.length===9||(o.hash=ce(t),Ju(o,e.slice(9),Gu)),o}function P3(t){let e=Qa(t.slice(1));e.length!==8&&e.length!==11&&je.throwArgumentError("invalid component count for transaction type: 1","payload",K(t));let r={type:1,chainId:Ye(e[0]).toNumber(),nonce:Ye(e[1]).toNumber(),gasPrice:Ye(e[2]),gasLimit:Ye(e[3]),to:G0(e[4]),value:Ye(e[5]),data:e[6],accessList:Qn(e[7])};return e.length===8||(r.hash=ce(t),Ju(r,e.slice(8),qu)),r}function I3(t){let e=Qa(t);e.length!==9&&e.length!==6&&je.throwArgumentError("invalid raw transaction","rawTransaction",t);let r={nonce:Ye(e[0]).toNumber(),gasPrice:Ye(e[1]),gasLimit:Ye(e[2]),to:G0(e[3]),value:Ye(e[4]),data:e[5],chainId:0};if(e.length===6)return r;try{r.v=W.from(e[6]).toNumber()}catch{return r}if(r.r=we(e[7],32),r.s=we(e[8],32),W.from(r.r).isZero()&&W.from(r.s).isZero())r.chainId=r.v,r.v=0;else{r.chainId=Math.floor((r.v-35)/2),r.chainId<0&&(r.chainId=0);let n=r.v-27,o=e.slice(0,6);r.chainId!==0&&(o.push(K(r.chainId)),o.push("0x"),o.push("0x"),n-=r.chainId*2+8);let a=ce(Dr(o));try{r.from=zn(a,{r:K(r.r),s:K(r.s),recoveryParam:n})}catch{}r.hash=ce(t)}return r.type=null,r}function zu(t){let e=R(t);if(e[0]>127)return I3(e);switch(e[0]){case 1:return P3(e);case 2:return E3(e);default:break}return je.throwError(`unsupported transaction type: ${e[0]}`,N.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:e[0]})}var Qu="contracts/5.7.0";var un=function(t,e,r,n){function o(a){return a instanceof r?a:new r(function(i){i(a)})}return new(r||(r=Promise))(function(a,i){function s(f){try{d(n.next(f))}catch(u){i(u)}}function c(f){try{d(n.throw(f))}catch(u){i(u)}}function d(f){f.done?a(f.value):o(f.value).then(s,c)}d((n=n.apply(t,e||[])).next())})},ve=new N(Qu),N3={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0,customData:!0,ccipReadEnabled:!0};function Rs(t,e){return un(this,void 0,void 0,function*(){let r=yield e;typeof r!="string"&&ve.throwArgumentError("invalid address or ENS name","name",r);try{return le(r)}catch{}t||ve.throwError("a provider or signer is needed to resolve ENS names",N.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});let n=yield t.resolveName(r);return n==null&&ve.throwArgumentError("resolver or addr is not configured for ENS name","name",r),n})}function ni(t,e,r){return un(this,void 0,void 0,function*(){return Array.isArray(r)?yield Promise.all(r.map((n,o)=>ni(t,Array.isArray(e)?e[o]:e[n.name],n))):r.type==="address"?yield Rs(t,e):r.type==="tuple"?yield ni(t,e,r.components):r.baseType==="array"?Array.isArray(e)?yield Promise.all(e.map(n=>ni(t,n,r.arrayChildren))):Promise.reject(ve.makeError("invalid value for array",N.errors.INVALID_ARGUMENT,{argument:"value",value:e})):e})}function Os(t,e,r){return un(this,void 0,void 0,function*(){let n={};r.length===e.inputs.length+1&&typeof r[r.length-1]=="object"&&(n=Le(r.pop())),ve.checkArgumentCount(r.length,e.inputs.length,"passed to contract"),t.signer?n.from?n.from=it({override:Rs(t.signer,n.from),signer:t.signer.getAddress()}).then(d=>un(this,void 0,void 0,function*(){return le(d.signer)!==d.override&&ve.throwError("Contract with a Signer cannot override from",N.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),d.override})):n.from=t.signer.getAddress():n.from&&(n.from=Rs(t.provider,n.from));let o=yield it({args:ni(t.signer||t.provider,r,e.inputs),address:t.resolvedAddress,overrides:it(n)||{}}),a=t.interface.encodeFunctionData(e,o.args),i={data:a,to:o.address},s=o.overrides;if(s.nonce!=null&&(i.nonce=W.from(s.nonce).toNumber()),s.gasLimit!=null&&(i.gasLimit=W.from(s.gasLimit)),s.gasPrice!=null&&(i.gasPrice=W.from(s.gasPrice)),s.maxFeePerGas!=null&&(i.maxFeePerGas=W.from(s.maxFeePerGas)),s.maxPriorityFeePerGas!=null&&(i.maxPriorityFeePerGas=W.from(s.maxPriorityFeePerGas)),s.from!=null&&(i.from=s.from),s.type!=null&&(i.type=s.type),s.accessList!=null&&(i.accessList=Qn(s.accessList)),i.gasLimit==null&&e.gas!=null){let d=21e3,f=R(a);for(let u=0;u<f.length;u++)d+=4,f[u]&&(d+=64);i.gasLimit=W.from(e.gas).add(d)}if(s.value){let d=W.from(s.value);!d.isZero()&&!e.payable&&ve.throwError("non-payable method cannot override value",N.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:n.value}),i.value=d}s.customData&&(i.customData=Le(s.customData)),s.ccipReadEnabled&&(i.ccipReadEnabled=!!s.ccipReadEnabled),delete n.nonce,delete n.gasLimit,delete n.gasPrice,delete n.from,delete n.value,delete n.type,delete n.accessList,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.customData,delete n.ccipReadEnabled;let c=Object.keys(n).filter(d=>n[d]!=null);return c.length&&ve.throwError(`cannot override ${c.map(d=>JSON.stringify(d)).join(",")}`,N.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:c}),i})}function R3(t,e){return function(...r){return Os(t,e,r)}}function _3(t,e){let r=t.signer||t.provider;return function(...n){return un(this,void 0,void 0,function*(){r||ve.throwError("estimate require a provider or signer",N.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});let o=yield Os(t,e,n);return yield r.estimateGas(o)})}}function Zu(t,e){let r=e.wait.bind(e);e.wait=n=>r(n).then(o=>(o.events=o.logs.map(a=>{let i=sr(a),s=null;try{s=t.interface.parseLog(a)}catch{}return s&&(i.args=s.args,i.decode=(c,d)=>t.interface.decodeEventLog(s.eventFragment,c,d),i.event=s.name,i.eventSignature=s.signature),i.removeListener=()=>t.provider,i.getBlock=()=>t.provider.getBlock(o.blockHash),i.getTransaction=()=>t.provider.getTransaction(o.transactionHash),i.getTransactionReceipt=()=>Promise.resolve(o),i}),o))}function Yu(t,e,r){let n=t.signer||t.provider;return function(...o){return un(this,void 0,void 0,function*(){let a;if(o.length===e.inputs.length+1&&typeof o[o.length-1]=="object"){let c=Le(o.pop());c.blockTag!=null&&(a=yield c.blockTag),delete c.blockTag,o.push(c)}t.deployTransaction!=null&&(yield t._deployed(a));let i=yield Os(t,e,o),s=yield n.call(i,a);try{let c=t.interface.decodeFunctionResult(e,s);return r&&e.outputs.length===1&&(c=c[0]),c}catch(c){throw c.code===N.errors.CALL_EXCEPTION&&(c.address=t.address,c.args=o,c.transaction=i),c}})}}function M3(t,e){return function(...r){return un(this,void 0,void 0,function*(){t.signer||ve.throwError("sending a transaction requires a signer",N.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),t.deployTransaction!=null&&(yield t._deployed());let n=yield Os(t,e,r),o=yield t.signer.sendTransaction(n);return Zu(t,o),o})}}function Xu(t,e,r){return e.constant?Yu(t,e,r):M3(t,e)}function ju(t){return t.address&&(t.topics==null||t.topics.length===0)?"*":(t.address||"*")+"@"+(t.topics?t.topics.map(e=>Array.isArray(e)?e.join("|"):e).join(":"):"")}var Xn=class{constructor(e,r){_(this,"tag",e),_(this,"filter",r),this._listeners=[]}addListener(e,r){this._listeners.push({listener:e,once:r})}removeListener(e){let r=!1;this._listeners=this._listeners.filter(n=>r||n.listener!==e?!0:(r=!0,!1))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map(e=>e.listener)}listenerCount(){return this._listeners.length}run(e){let r=this.listenerCount();return this._listeners=this._listeners.filter(n=>{let o=e.slice();return setTimeout(()=>{n.listener.apply(this,o)},0),!n.once}),r}prepareEvent(e){}getEmit(e){return[e]}},q0=class extends Xn{constructor(){super("error",null)}},_s=class extends Xn{constructor(e,r,n,o){let a={address:e},i=r.getEventTopic(n);o?(i!==o[0]&&ve.throwArgumentError("topic mismatch","topics",o),a.topics=o.slice()):a.topics=[i],super(ju(a),a),_(this,"address",e),_(this,"interface",r),_(this,"fragment",n)}prepareEvent(e){super.prepareEvent(e),e.event=this.fragment.name,e.eventSignature=this.fragment.format(),e.decode=(r,n)=>this.interface.decodeEventLog(this.fragment,r,n);try{e.args=this.interface.decodeEventLog(this.fragment,e.data,e.topics)}catch(r){e.args=null,e.decodeError=r}}getEmit(e){let r=Uo(e.args);if(r.length)throw r[0].error;let n=(e.args||[]).slice();return n.push(e),n}},Ms=class extends Xn{constructor(e,r){super("*",{address:e}),_(this,"address",e),_(this,"interface",r)}prepareEvent(e){super.prepareEvent(e);try{let r=this.interface.parseLog(e);e.event=r.name,e.eventSignature=r.signature,e.decode=(n,o)=>this.interface.decodeEventLog(r.eventFragment,n,o),e.args=r.args}catch{}}},ra=class{constructor(e,r,n){_(this,"interface",Nt(new.target,"getInterface")(r)),n==null?(_(this,"provider",null),_(this,"signer",null)):qt.isSigner(n)?(_(this,"provider",n.provider||null),_(this,"signer",n)):zo.isProvider(n)?(_(this,"provider",n),_(this,"signer",null)):ve.throwArgumentError("invalid signer or provider","signerOrProvider",n),_(this,"callStatic",{}),_(this,"estimateGas",{}),_(this,"functions",{}),_(this,"populateTransaction",{}),_(this,"filters",{});{let i={};Object.keys(this.interface.events).forEach(s=>{let c=this.interface.events[s];_(this.filters,s,(...d)=>({address:this.address,topics:this.interface.encodeFilterTopics(c,d)})),i[c.name]||(i[c.name]=[]),i[c.name].push(s)}),Object.keys(i).forEach(s=>{let c=i[s];c.length===1?_(this.filters,s,this.filters[c[0]]):ve.warn(`Duplicate definition of ${s} (${c.join(", ")})`)})}if(_(this,"_runningEvents",{}),_(this,"_wrappedEmits",{}),e==null&&ve.throwArgumentError("invalid contract address or ENS name","addressOrName",e),_(this,"address",e),this.provider)_(this,"resolvedAddress",Rs(this.provider,e));else try{_(this,"resolvedAddress",Promise.resolve(le(e)))}catch{ve.throwError("provider is required to use ENS name as contract address",N.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}this.resolvedAddress.catch(i=>{});let o={},a={};Object.keys(this.interface.functions).forEach(i=>{let s=this.interface.functions[i];if(a[i]){ve.warn(`Duplicate ABI entry for ${JSON.stringify(i)}`);return}a[i]=!0;{let c=s.name;o[`%${c}`]||(o[`%${c}`]=[]),o[`%${c}`].push(i)}this[i]==null&&_(this,i,Xu(this,s,!0)),this.functions[i]==null&&_(this.functions,i,Xu(this,s,!1)),this.callStatic[i]==null&&_(this.callStatic,i,Yu(this,s,!0)),this.populateTransaction[i]==null&&_(this.populateTransaction,i,R3(this,s)),this.estimateGas[i]==null&&_(this.estimateGas,i,_3(this,s))}),Object.keys(o).forEach(i=>{let s=o[i];if(s.length>1)return;i=i.substring(1);let c=s[0];try{this[i]==null&&_(this,i,this[c])}catch{}this.functions[i]==null&&_(this.functions,i,this.functions[c]),this.callStatic[i]==null&&_(this.callStatic,i,this.callStatic[c]),this.populateTransaction[i]==null&&_(this.populateTransaction,i,this.populateTransaction[c]),this.estimateGas[i]==null&&_(this.estimateGas,i,this.estimateGas[c])})}static getContractAddress(e){return Xa(e)}static getInterface(e){return cn.isInterface(e)?e:new cn(e)}deployed(){return this._deployed()}_deployed(e){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then(()=>this):this._deployedPromise=this.provider.getCode(this.address,e).then(r=>(r==="0x"&&ve.throwError("contract not deployed",N.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this))),this._deployedPromise}fallback(e){this.signer||ve.throwError("sending a transactions require a signer",N.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});let r=Le(e||{});return["from","to"].forEach(function(n){r[n]!=null&&ve.throwError("cannot override "+n,N.errors.UNSUPPORTED_OPERATION,{operation:n})}),r.to=this.resolvedAddress,this.deployed().then(()=>this.signer.sendTransaction(r))}connect(e){typeof e=="string"&&(e=new Gn(e,this.provider));let r=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&_(r,"deployTransaction",this.deployTransaction),r}attach(e){return new this.constructor(e,this.interface,this.signer||this.provider)}static isIndexed(e){return Ur.isIndexed(e)}_normalizeRunningEvent(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e}_getRunningEvent(e){if(typeof e=="string"){if(e==="error")return this._normalizeRunningEvent(new q0);if(e==="event")return this._normalizeRunningEvent(new Xn("event",null));if(e==="*")return this._normalizeRunningEvent(new Ms(this.address,this.interface));let r=this.interface.getEvent(e);return this._normalizeRunningEvent(new _s(this.address,this.interface,r))}if(e.topics&&e.topics.length>0){try{let n=e.topics[0];if(typeof n!="string")throw new Error("invalid topic");let o=this.interface.getEvent(n);return this._normalizeRunningEvent(new _s(this.address,this.interface,o,e.topics))}catch{}let r={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new Xn(ju(r),r))}return this._normalizeRunningEvent(new Ms(this.address,this.interface))}_checkRunningEvents(e){if(e.listenerCount()===0){delete this._runningEvents[e.tag];let r=this._wrappedEmits[e.tag];r&&e.filter&&(this.provider.off(e.filter,r),delete this._wrappedEmits[e.tag])}}_wrapEvent(e,r,n){let o=sr(r);return o.removeListener=()=>{n&&(e.removeListener(n),this._checkRunningEvents(e))},o.getBlock=()=>this.provider.getBlock(r.blockHash),o.getTransaction=()=>this.provider.getTransaction(r.transactionHash),o.getTransactionReceipt=()=>this.provider.getTransactionReceipt(r.transactionHash),e.prepareEvent(o),o}_addEventListener(e,r,n){if(this.provider||ve.throwError("events require a provider or a signer with a provider",N.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(r,n),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){let o=a=>{let i=this._wrapEvent(e,a,r);if(i.decodeError==null)try{let s=e.getEmit(i);this.emit(e.filter,...s)}catch(s){i.decodeError=s.error}e.filter!=null&&this.emit("event",i),i.decodeError!=null&&this.emit("error",i.decodeError,i)};this._wrappedEmits[e.tag]=o,e.filter!=null&&this.provider.on(e.filter,o)}}queryFilter(e,r,n){let o=this._getRunningEvent(e),a=Le(o.filter);return typeof r=="string"&&be(r,32)?(n!=null&&ve.throwArgumentError("cannot specify toBlock with blockhash","toBlock",n),a.blockHash=r):(a.fromBlock=r??0,a.toBlock=n??"latest"),this.provider.getLogs(a).then(i=>i.map(s=>this._wrapEvent(o,s,null)))}on(e,r){return this._addEventListener(this._getRunningEvent(e),r,!1),this}once(e,r){return this._addEventListener(this._getRunningEvent(e),r,!0),this}emit(e,...r){if(!this.provider)return!1;let n=this._getRunningEvent(e),o=n.run(r)>0;return this._checkRunningEvents(n),o}listenerCount(e){return this.provider?e==null?Object.keys(this._runningEvents).reduce((r,n)=>r+this._runningEvents[n].listenerCount(),0):this._getRunningEvent(e).listenerCount():0}listeners(e){if(!this.provider)return[];if(e==null){let r=[];for(let n in this._runningEvents)this._runningEvents[n].listeners().forEach(o=>{r.push(o)});return r}return this._getRunningEvent(e).listeners()}removeAllListeners(e){if(!this.provider)return this;if(e==null){for(let n in this._runningEvents){let o=this._runningEvents[n];o.removeAllListeners(),this._checkRunningEvents(o)}return this}let r=this._getRunningEvent(e);return r.removeAllListeners(),this._checkRunningEvents(r),this}off(e,r){if(!this.provider)return this;let n=this._getRunningEvent(e);return n.removeListener(r),this._checkRunningEvents(n),this}removeListener(e,r){return this.off(e,r)}},Zn=class extends ra{},oi=class{constructor(e,r,n){let o=null;typeof r=="string"?o=r:Tt(r)?o=K(r):r&&typeof r.object=="string"?o=r.object:o="!",o.substring(0,2)!=="0x"&&(o="0x"+o),(!be(o)||o.length%2)&&ve.throwArgumentError("invalid bytecode","bytecode",r),n&&!qt.isSigner(n)&&ve.throwArgumentError("invalid signer","signer",n),_(this,"bytecode",o),_(this,"interface",Nt(new.target,"getInterface")(e)),_(this,"signer",n||null)}getDeployTransaction(...e){let r={};if(e.length===this.interface.deploy.inputs.length+1&&typeof e[e.length-1]=="object"){r=Le(e.pop());for(let n in r)if(!N3[n])throw new Error("unknown transaction override "+n)}return["data","from","to"].forEach(n=>{r[n]!=null&&ve.throwError("cannot override "+n,N.errors.UNSUPPORTED_OPERATION,{operation:n})}),r.value&&!W.from(r.value).isZero()&&!this.interface.deploy.payable&&ve.throwError("non-payable constructor cannot override value",N.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:r.value}),ve.checkArgumentCount(e.length,this.interface.deploy.inputs.length," in Contract constructor"),r.data=K(xe([this.bytecode,this.interface.encodeDeploy(e)])),r}deploy(...e){return un(this,void 0,void 0,function*(){let r={};e.length===this.interface.deploy.inputs.length+1&&(r=e.pop()),ve.checkArgumentCount(e.length,this.interface.deploy.inputs.length," in Contract constructor");let n=yield ni(this.signer,e,this.interface.deploy.inputs);n.push(r);let o=this.getDeployTransaction(...n),a=yield this.signer.sendTransaction(o),i=Nt(this.constructor,"getContractAddress")(a),s=Nt(this.constructor,"getContract")(i,this.interface,this.signer);return Zu(s,a),_(s,"deployTransaction",a),s})}attach(e){return this.constructor.getContract(e,this.interface,this.signer)}connect(e){return new this.constructor(this.interface,this.bytecode,e)}static fromSolidity(e,r){e==null&&ve.throwError("missing compiler output",N.errors.MISSING_ARGUMENT,{argument:"compilerOutput"}),typeof e=="string"&&(e=JSON.parse(e));let n=e.abi,o=null;return e.bytecode?o=e.bytecode:e.evm&&e.evm.bytecode&&(o=e.evm.bytecode),new this(n,o,r)}static getInterface(e){return Zn.getInterface(e)}static getContractAddress(e){return Xa(e)}static getContract(e,r,n){return new Zn(e,r,n)}};var Bs=class{constructor(e){_(this,"alphabet",e),_(this,"base",e.length),_(this,"_alphabetMap",{}),_(this,"_leader",e.charAt(0));for(let r=0;r<e.length;r++)this._alphabetMap[e.charAt(r)]=r}encode(e){let r=R(e);if(r.length===0)return"";let n=[0];for(let a=0;a<r.length;++a){let i=r[a];for(let s=0;s<n.length;++s)i+=n[s]<<8,n[s]=i%this.base,i=i/this.base|0;for(;i>0;)n.push(i%this.base),i=i/this.base|0}let o="";for(let a=0;r[a]===0&&a<r.length-1;++a)o+=this._leader;for(let a=n.length-1;a>=0;--a)o+=this.alphabet[n[a]];return o}decode(e){if(typeof e!="string")throw new TypeError("Expected String");let r=[];if(e.length===0)return new Uint8Array(r);r.push(0);for(let n=0;n<e.length;n++){let o=this._alphabetMap[e[n]];if(o===void 0)throw new Error("Non-base"+this.base+" character");let a=o;for(let i=0;i<r.length;++i)a+=r[i]*this.base,r[i]=a&255,a>>=8;for(;a>0;)r.push(a&255),a>>=8}for(let n=0;e[n]===this._leader&&n<e.length-1;++n)r.push(0);return R(new Uint8Array(r.reverse()))}},Vv=new Bs("abcdefghijklmnopqrstuvwxyz234567"),ai=new Bs("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");var na=Mo(O0());var vr;(function(t){t.sha256="sha256",t.sha512="sha512"})(vr||(vr={}));var $u="sha2/5.7.0";var O3=new N($u);function ii(t){return"0x"+na.default.ripemd160().update(R(t)).digest("hex")}function Zt(t){return"0x"+na.default.sha256().update(R(t)).digest("hex")}function J0(t){return"0x"+na.default.sha512().update(R(t)).digest("hex")}function Wr(t,e,r){return vr[t]||O3.throwError("unsupported algorithm "+t,N.errors.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:t}),"0x"+na.default.hmac(na.default[t],R(e)).update(R(r)).digest("hex")}function Yn(t,e,r,n,o){t=R(t),e=R(e);let a,i=1,s=new Uint8Array(n),c=new Uint8Array(e.length+4);c.set(e);let d,f;for(let u=1;u<=i;u++){c[e.length]=u>>24&255,c[e.length+1]=u>>16&255,c[e.length+2]=u>>8&255,c[e.length+3]=u&255;let x=R(Wr(o,t,c));a||(a=x.length,f=new Uint8Array(a),i=Math.ceil(n/a),d=n-(i-1)*a),f.set(x);for(let h=1;h<r;h++){x=R(Wr(o,t,x));for(let w=0;w<a;w++)f[w]^=x[w]}let m=(u-1)*a,p=u===i?d:a;s.set(R(f).slice(0,p),m)}return K(s)}var ep="wordlists/5.7.0";var B3=!1,tp=new N(ep),Ar=class t{constructor(e){tp.checkAbstract(new.target,t),_(this,"locale",e)}split(e){return e.toLowerCase().split(/ +/g)}join(e){return e.join(" ")}static check(e){let r=[];for(let n=0;n<2048;n++){let o=e.getWord(n);if(n!==e.getWordIndex(o))return"0x";r.push(o)}return ht(r.join(`
|
|
3
3
|
`)+`
|
|
4
4
|
`)}static register(e,r){if(r||(r=e.locale),B3)try{let n=window;n._ethers&&n._ethers.wordlists&&(n._ethers.wordlists[r]||_(n._ethers.wordlists,r,e))}catch{}}};var L3="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo",si=null;function rp(t){if(si==null&&(si=L3.replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),Ar.check(t)!=="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"))throw si=null,new Error("BIP39 Wordlist for en (English) FAILED")}var z0=class extends Ar{constructor(){super("en")}getWord(e){return rp(this),si[e]}getWordIndex(e){return rp(this),si.indexOf(e)}},Q0=new z0;Ar.register(Q0);var jn={en:Q0};var np="hdnode/5.7.0";var ci=new N(np),D3=W.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),F3=ye("Bitcoin seed"),aa=2147483648;function ap(t){return(1<<t)-1<<8-t}function U3(t){return(1<<t)-1}function Ls(t){return we(K(t),32)}function op(t){return ai.encode(xe([t,ot(Zt(Zt(t)),0,4)]))}function X0(t){if(t==null)return jn.en;if(typeof t=="string"){let e=jn[t];return e==null&&ci.throwArgumentError("unknown locale","wordlist",t),e}return t}var oa={},Gr="m/44'/60'/0'/0/0",Cr=class t{constructor(e,r,n,o,a,i,s,c){if(e!==oa)throw new Error("HDNode constructor cannot be called directly");if(r){let d=new Bt(r);_(this,"privateKey",d.privateKey),_(this,"publicKey",d.compressedPublicKey)}else _(this,"privateKey",null),_(this,"publicKey",K(n));_(this,"parentFingerprint",o),_(this,"fingerprint",ot(ii(Zt(this.publicKey)),0,4)),_(this,"address",Lt(this.publicKey)),_(this,"chainCode",a),_(this,"index",i),_(this,"depth",s),c==null?(_(this,"mnemonic",null),_(this,"path",null)):typeof c=="string"?(_(this,"mnemonic",null),_(this,"path",c)):(_(this,"mnemonic",c),_(this,"path",c.path))}get extendedKey(){if(this.depth>=256)throw new Error("Depth too large!");return op(xe([this.privateKey!=null?"0x0488ADE4":"0x0488B21E",K(this.depth),this.parentFingerprint,we(K(this.index),4),this.chainCode,this.privateKey!=null?xe(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new t(oa,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(e){if(e>4294967295)throw new Error("invalid index - "+String(e));let r=this.path;r&&(r+="/"+(e&~aa));let n=new Uint8Array(37);if(e&aa){if(!this.privateKey)throw new Error("cannot derive child of neutered node");n.set(R(this.privateKey),1),r&&(r+="'")}else n.set(R(this.publicKey));for(let u=24;u>=0;u-=8)n[33+(u>>3)]=e>>24-u&255;let o=R(Wr(vr.sha512,this.chainCode,n)),a=o.slice(0,32),i=o.slice(32),s=null,c=null;this.privateKey?s=Ls(W.from(a).add(this.privateKey).mod(D3)):c=new Bt(K(a))._addPoint(this.publicKey);let d=r,f=this.mnemonic;return f&&(d=Object.freeze({phrase:f.phrase,path:r,locale:f.locale||"en"})),new t(oa,s,c,this.fingerprint,Ls(i),e,this.depth+1,d)}derivePath(e){let r=e.split("/");if(r.length===0||r[0]==="m"&&this.depth!==0)throw new Error("invalid path - "+e);r[0]==="m"&&r.shift();let n=this;for(let o=0;o<r.length;o++){let a=r[o];if(a.match(/^[0-9]+'$/)){let i=parseInt(a.substring(0,a.length-1));if(i>=aa)throw new Error("invalid path index - "+a);n=n._derive(aa+i)}else if(a.match(/^[0-9]+$/)){let i=parseInt(a);if(i>=aa)throw new Error("invalid path index - "+a);n=n._derive(i)}else throw new Error("invalid path component - "+a)}return n}static _fromSeed(e,r){let n=R(e);if(n.length<16||n.length>64)throw new Error("invalid seed");let o=R(Wr(vr.sha512,F3,n));return new t(oa,Ls(o.slice(0,32)),null,"0x00000000",Ls(o.slice(32)),0,0,r)}static fromMnemonic(e,r,n){return n=X0(n),e=$n(ia(e,n),n),t._fromSeed(Z0(e,r),{phrase:e,path:"m",locale:n.locale})}static fromSeed(e){return t._fromSeed(e,null)}static fromExtendedKey(e){let r=ai.decode(e);(r.length!==82||op(r.slice(0,78))!==e)&&ci.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");let n=r[4],o=K(r.slice(5,9)),a=parseInt(K(r.slice(9,13)).substring(2),16),i=K(r.slice(13,45)),s=r.slice(45,78);switch(K(r.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new t(oa,null,K(s),o,i,a,n,null);case"0x0488ade4":case"0x04358394 ":if(s[0]!==0)break;return new t(oa,K(s.slice(1)),null,o,i,a,n,null)}return ci.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}};function Z0(t,e){e||(e="");let r=ye("mnemonic"+e,st.NFKD);return Yn(ye(t,st.NFKD),r,2048,64,"sha512")}function ia(t,e){e=X0(e),ci.checkNormalize();let r=e.split(t);if(r.length%3!==0)throw new Error("invalid mnemonic");let n=R(new Uint8Array(Math.ceil(11*r.length/8))),o=0;for(let d=0;d<r.length;d++){let f=e.getWordIndex(r[d].normalize("NFKD"));if(f===-1)throw new Error("invalid mnemonic");for(let u=0;u<11;u++)f&1<<10-u&&(n[o>>3]|=1<<7-o%8),o++}let a=32*r.length/3,i=r.length/3,s=ap(i);if((R(Zt(n.slice(0,a/8)))[0]&s)!==(n[n.length-1]&s))throw new Error("invalid checksum");return K(n.slice(0,a/8))}function $n(t,e){if(e=X0(e),t=R(t),t.length%4!==0||t.length<16||t.length>32)throw new Error("invalid entropy");let r=[0],n=11;for(let i=0;i<t.length;i++)n>8?(r[r.length-1]<<=8,r[r.length-1]|=t[i],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=t[i]>>8-n,r.push(t[i]&U3(8-n)),n+=3);let o=t.length/4,a=R(Zt(t))[0]&ap(o);return r[r.length-1]<<=o,r[r.length-1]|=a>>8-o,e.join(r.map(i=>e.getWord(i)))}function ip(t,e){try{return ia(t,e),!0}catch{}return!1}function sp(t){return(typeof t!="number"||t<0||t>=aa||t%1)&&ci.throwArgumentError("invalid account index","index",t),`m/44'/60'/${t}'/0/0`}var cp="random/5.7.0";var Y0=new N(cp);function V3(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}var dp=V3(),Ds=dp.crypto||dp.msCrypto;(!Ds||!Ds.getRandomValues)&&(Y0.warn("WARNING: Missing strong random number source"),Ds={getRandomValues:function(t){return Y0.throwError("no secure random source avaialble",N.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});function Sr(t){(t<=0||t>1024||t%1||t!=t)&&Y0.throwArgumentError("invalid length","length",t);let e=new Uint8Array(t);return Ds.getRandomValues(e),R(e)}function j0(t){t=t.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}var td=Mo(ed());var Fs="json-wallets/5.7.0";function qr(t){return typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),R(t)}function sa(t,e){for(t=String(t);t.length<e;)t="0"+t;return t}function di(t){return typeof t=="string"?ye(t,st.NFKC):R(t)}function Ne(t,e){let r=t,n=e.toLowerCase().split("/");for(let o=0;o<n.length;o++){let a=null;for(let i in r)if(i.toLowerCase()===n[o]){a=r[i];break}if(a===null)return null;r=a}return r}function lp(t){let e=R(t);e[6]=e[6]&15|64,e[8]=e[8]&63|128;let r=K(e);return[r.substring(2,10),r.substring(10,14),r.substring(14,18),r.substring(18,22),r.substring(22,34)].join("-")}var K3=new N(Fs),rd=class extends It{isCrowdsaleAccount(e){return!!(e&&e._isCrowdsaleAccount)}};function nd(t,e){let r=JSON.parse(t);e=di(e);let n=le(Ne(r,"ethaddr")),o=qr(Ne(r,"encseed"));(!o||o.length%16!==0)&&K3.throwArgumentError("invalid encseed","json",t);let a=R(Yn(e,e,2e3,32,"sha256")).slice(0,16),i=o.slice(0,16),s=o.slice(16),c=new td.default.ModeOfOperation.cbc(a,i),d=td.default.padding.pkcs7.strip(R(c.decrypt(s))),f="";for(let m=0;m<d.length;m++)f+=String.fromCharCode(d[m]);let u=ye(f),x=ce(u);return new rd({_isCrowdsaleAccount:!0,address:n,privateKey:x})}function Us(t){let e=null;try{e=JSON.parse(t)}catch{return!1}return e.encseed&&e.ethaddr}function Vs(t){let e=null;try{e=JSON.parse(t)}catch{return!1}return!(!e.version||parseInt(e.version)!==e.version||parseInt(e.version)!==3)}function od(t){if(Us(t))try{return le(JSON.parse(t).ethaddr)}catch{return null}if(Vs(t))try{return le(JSON.parse(t).address)}catch{return null}return null}var Jr=Mo(ed()),Ks=Mo(pp());var H3=function(t,e,r,n){function o(a){return a instanceof r?a:new r(function(i){i(a)})}return new(r||(r=Promise))(function(a,i){function s(f){try{d(n.next(f))}catch(u){i(u)}}function c(f){try{d(n.throw(f))}catch(u){i(u)}}function d(f){f.done?a(f.value):o(f.value).then(s,c)}d((n=n.apply(t,e||[])).next())})},id=new N(Fs);function mp(t){return t!=null&&t.mnemonic&&t.mnemonic.phrase}var sd=class extends It{isKeystoreAccount(e){return!!(e&&e._isKeystoreAccount)}};function W3(t,e,r){if(Ne(t,"crypto/cipher")==="aes-128-ctr"){let o=qr(Ne(t,"crypto/cipherparams/iv")),a=new Jr.default.Counter(o),i=new Jr.default.ModeOfOperation.ctr(e,a);return R(i.decrypt(r))}return null}function xp(t,e){let r=qr(Ne(t,"crypto/ciphertext"));if(K(ce(xe([e.slice(16,32),r]))).substring(2)!==Ne(t,"crypto/mac").toLowerCase())throw new Error("invalid password");let o=W3(t,e.slice(0,16),r);o||id.throwError("unsupported cipher",N.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});let a=e.slice(32,64),i=Lt(o);if(t.address){let c=t.address.toLowerCase();if(c.substring(0,2)!=="0x"&&(c="0x"+c),le(c)!==i)throw new Error("address mismatch")}let s={_isKeystoreAccount:!0,address:i,privateKey:K(o)};if(Ne(t,"x-ethers/version")==="0.1"){let c=qr(Ne(t,"x-ethers/mnemonicCiphertext")),d=qr(Ne(t,"x-ethers/mnemonicCounter")),f=new Jr.default.Counter(d),u=new Jr.default.ModeOfOperation.ctr(a,f),x=Ne(t,"x-ethers/path")||Gr,m=Ne(t,"x-ethers/locale")||"en",p=R(u.decrypt(c));try{let h=$n(p,m),w=Cr.fromMnemonic(h,null,m).derivePath(x);if(w.privateKey!=s.privateKey)throw new Error("mnemonic mismatch");s.mnemonic=w.mnemonic}catch(h){if(h.code!==N.errors.INVALID_ARGUMENT||h.argument!=="wordlist")throw h}}return new sd(s)}function hp(t,e,r,n,o){return R(Yn(t,e,r,n,o))}function G3(t,e,r,n,o){return Promise.resolve(hp(t,e,r,n,o))}function gp(t,e,r,n,o){let a=di(e),i=Ne(t,"crypto/kdf");if(i&&typeof i=="string"){let s=function(c,d){return id.throwArgumentError("invalid key-derivation function parameters",c,d)};if(i.toLowerCase()==="scrypt"){let c=qr(Ne(t,"crypto/kdfparams/salt")),d=parseInt(Ne(t,"crypto/kdfparams/n")),f=parseInt(Ne(t,"crypto/kdfparams/r")),u=parseInt(Ne(t,"crypto/kdfparams/p"));(!d||!f||!u)&&s("kdf",i),(d&d-1)!==0&&s("N",d);let x=parseInt(Ne(t,"crypto/kdfparams/dklen"));return x!==32&&s("dklen",x),n(a,c,d,f,u,64,o)}else if(i.toLowerCase()==="pbkdf2"){let c=qr(Ne(t,"crypto/kdfparams/salt")),d=null,f=Ne(t,"crypto/kdfparams/prf");f==="hmac-sha256"?d="sha256":f==="hmac-sha512"?d="sha512":s("prf",f);let u=parseInt(Ne(t,"crypto/kdfparams/c")),x=parseInt(Ne(t,"crypto/kdfparams/dklen"));return x!==32&&s("dklen",x),r(a,c,u,x,d)}}return id.throwArgumentError("unsupported key-derivation function","kdf",i)}function bp(t,e){let r=JSON.parse(t),n=gp(r,e,hp,Ks.default.syncScrypt);return xp(r,n)}function yp(t,e,r){return H3(this,void 0,void 0,function*(){let n=JSON.parse(t),o=yield gp(n,e,G3,Ks.default.scrypt,r);return xp(n,o)})}function cd(t,e,r,n){try{if(le(t.address)!==Lt(t.privateKey))throw new Error("address/privateKey mismatch");if(mp(t)){let w=t.mnemonic;if(Cr.fromMnemonic(w.phrase,null,w.locale).derivePath(w.path||Gr).privateKey!=t.privateKey)throw new Error("mnemonic mismatch")}}catch(w){return Promise.reject(w)}typeof r=="function"&&!n&&(n=r,r={}),r||(r={});let o=R(t.privateKey),a=di(e),i=null,s=null,c=null;if(mp(t)){let w=t.mnemonic;i=R(ia(w.phrase,w.locale||"en")),s=w.path||Gr,c=w.locale||"en"}let d=r.client;d||(d="ethers.js");let f=null;r.salt?f=R(r.salt):f=Sr(32);let u=null;if(r.iv){if(u=R(r.iv),u.length!==16)throw new Error("invalid iv")}else u=Sr(16);let x=null;if(r.uuid){if(x=R(r.uuid),x.length!==16)throw new Error("invalid uuid")}else x=Sr(16);let m=1<<17,p=8,h=1;return r.scrypt&&(r.scrypt.N&&(m=r.scrypt.N),r.scrypt.r&&(p=r.scrypt.r),r.scrypt.p&&(h=r.scrypt.p)),Ks.default.scrypt(a,f,m,p,h,64,n).then(w=>{w=R(w);let b=w.slice(0,16),T=w.slice(16,32),k=w.slice(32,64),O=new Jr.default.Counter(u),C=new Jr.default.ModeOfOperation.ctr(b,O),B=R(C.encrypt(o)),P=ce(xe([T,B])),L={address:t.address.substring(2).toLowerCase(),id:lp(x),version:3,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:K(u).substring(2)},ciphertext:K(B).substring(2),kdf:"scrypt",kdfparams:{salt:K(f).substring(2),n:m,dklen:32,p:h,r:p},mac:P.substring(2)}};if(i){let F=Sr(16),J=new Jr.default.Counter(F),M=new Jr.default.ModeOfOperation.ctr(k,J),H=R(M.encrypt(i)),G=new Date,X=G.getUTCFullYear()+"-"+sa(G.getUTCMonth()+1,2)+"-"+sa(G.getUTCDate(),2)+"T"+sa(G.getUTCHours(),2)+"-"+sa(G.getUTCMinutes(),2)+"-"+sa(G.getUTCSeconds(),2)+".0Z";L["x-ethers"]={client:d,gethFilename:"UTC--"+X+"--"+L.address,mnemonicCounter:K(F).substring(2),mnemonicCiphertext:K(H).substring(2),path:s,locale:c,version:"0.1"}}return JSON.stringify(L)})}function wp(t,e,r){if(Us(t)){r&&r(0);let n=nd(t,e);return r&&r(1),Promise.resolve(n)}return Vs(t)?yp(t,e,r):Promise.reject(new Error("invalid JSON wallet"))}function vp(t,e){if(Us(t))return nd(t,e);if(Vs(t))return bp(t,e);throw new Error("invalid JSON wallet")}var Ap="wallet/5.7.0";var Cp=function(t,e,r,n){function o(a){return a instanceof r?a:new r(function(i){i(a)})}return new(r||(r=Promise))(function(a,i){function s(f){try{d(n.next(f))}catch(u){i(u)}}function c(f){try{d(n.throw(f))}catch(u){i(u)}}function d(f){f.done?a(f.value):o(f.value).then(s,c)}d((n=n.apply(t,e||[])).next())})},ca=new N(Ap);function q3(t){return t!=null&&be(t.privateKey,32)&&t.address!=null}function J3(t){let e=t.mnemonic;return e&&e.phrase}var fi=class t extends qt{constructor(e,r){if(super(),q3(e)){let n=new Bt(e.privateKey);if(_(this,"_signingKey",()=>n),_(this,"address",Lt(this.publicKey)),this.address!==le(e.address)&&ca.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),J3(e)){let o=e.mnemonic;_(this,"_mnemonic",()=>({phrase:o.phrase,path:o.path||Gr,locale:o.locale||"en"}));let a=this.mnemonic,i=Cr.fromMnemonic(a.phrase,null,a.locale).derivePath(a.path);Lt(i.privateKey)!==this.address&&ca.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else _(this,"_mnemonic",()=>null)}else{if(Bt.isSigningKey(e))e.curve!=="secp256k1"&&ca.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),_(this,"_signingKey",()=>e);else{typeof e=="string"&&e.match(/^[0-9a-f]*$/i)&&e.length===64&&(e="0x"+e);let n=new Bt(e);_(this,"_signingKey",()=>n)}_(this,"_mnemonic",()=>null),_(this,"address",Lt(this.publicKey))}r&&!zo.isProvider(r)&&ca.throwArgumentError("invalid provider","provider",r),_(this,"provider",r||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(e){return new t(this,e)}signTransaction(e){return it(e).then(r=>{r.from!=null&&(le(r.from)!==this.address&&ca.throwArgumentError("transaction from address mismatch","transaction.from",e.from),delete r.from);let n=this._signingKey().signDigest(ce(ri(r)));return ri(r,n)})}signMessage(e){return Cp(this,void 0,void 0,function*(){return Va(this._signingKey().signDigest(Go(e)))})}_signTypedData(e,r,n){return Cp(this,void 0,void 0,function*(){let o=yield Fr.resolveNames(e,r,n,a=>(this.provider==null&&ca.throwError("cannot resolve ENS names without a provider",N.errors.UNSUPPORTED_OPERATION,{operation:"resolveName",value:a}),this.provider.resolveName(a)));return Va(this._signingKey().signDigest(Fr.hash(o.domain,r,o.value)))})}encrypt(e,r,n){if(typeof r=="function"&&!n&&(n=r,r={}),n&&typeof n!="function")throw new Error("invalid callback");return r||(r={}),cd(this,e,r,n)}static createRandom(e){let r=Sr(16);e||(e={}),e.extraEntropy&&(r=R(ot(ce(xe([r,e.extraEntropy])),0,16)));let n=$n(r,e.locale);return t.fromMnemonic(n,e.path,e.locale)}static fromEncryptedJson(e,r,n){return wp(e,r,n).then(o=>new t(o))}static fromEncryptedJsonSync(e,r){return new t(vp(e,r))}static fromMnemonic(e,r,n){return r||(r=Gr),new t(Cr.fromMnemonic(e,null,n).derivePath(r))}};function Sp(t,e){return zn(Go(t),e)}function Tp(t,e,r,n){return zn(Fr.hash(t,e,r),n)}import*as Gs from"@ethersproject/providers";import{getDefaultProvider as Kp}from"@ethersproject/providers";var li={};Fn(li,{AbiCoder:()=>Ho,ConstructorFragment:()=>fr,ErrorFragment:()=>Kn,EventFragment:()=>Lr,FormatTypes:()=>pe,Fragment:()=>dr,FunctionFragment:()=>lr,HDNode:()=>Cr,Indexed:()=>Ur,Interface:()=>cn,LogDescription:()=>qo,Logger:()=>N,ParamType:()=>We,RLP:()=>ts,SigningKey:()=>Bt,SupportedAlgorithm:()=>vr,TransactionDescription:()=>Jo,TransactionTypes:()=>Ns,UnicodeNormalizationForm:()=>st,Utf8ErrorFuncs:()=>ms,Utf8ErrorReason:()=>Xe,_TypedDataEncoder:()=>Fr,_fetchData:()=>ld,_toEscapedUtf8String:()=>d0,accessListify:()=>Qn,arrayify:()=>R,base58:()=>ai,base64:()=>x0,checkProperties:()=>Zi,checkResultErrors:()=>Uo,commify:()=>Mp,computeAddress:()=>Lt,computeHmac:()=>Wr,computePublicKey:()=>ti,concat:()=>xe,deepCopy:()=>sr,defaultAbiCoder:()=>Ya,defaultPath:()=>Gr,defineReadOnly:()=>_,dnsEncode:()=>y0,entropyToMnemonic:()=>$n,fetchJson:()=>Up,formatBytes32String:()=>f0,formatEther:()=>Op,formatUnits:()=>dd,getAccountPath:()=>sp,getAddress:()=>le,getContractAddress:()=>Xa,getCreate2Address:()=>bl,getIcapAddress:()=>gl,getJsonWalletAddress:()=>od,getStatic:()=>Nt,hashMessage:()=>Go,hexConcat:()=>kt,hexDataLength:()=>Or,hexDataSlice:()=>ot,hexStripZeros:()=>jc,hexValue:()=>Wf,hexZeroPad:()=>we,hexlify:()=>K,id:()=>ht,isAddress:()=>hl,isBytes:()=>Tt,isBytesLike:()=>Mr,isHexString:()=>be,isValidMnemonic:()=>ip,isValidName:()=>g0,joinSignature:()=>Va,keccak256:()=>ce,mnemonicToEntropy:()=>ia,mnemonicToSeed:()=>Z0,namehash:()=>b0,nameprep:()=>m0,parseBytes32String:()=>l0,parseEther:()=>Bp,parseTransaction:()=>zu,parseUnits:()=>fd,poll:()=>Vp,randomBytes:()=>Sr,recoverAddress:()=>zn,recoverPublicKey:()=>Is,resolveProperties:()=>it,ripemd160:()=>ii,serializeTransaction:()=>ri,sha256:()=>Zt,sha512:()=>J0,shallowCopy:()=>Le,shuffled:()=>j0,solidityKeccak256:()=>Pp,solidityPack:()=>Hs,soliditySha256:()=>Ip,splitSignature:()=>ir,stripZeros:()=>xt,toUtf8Bytes:()=>ye,toUtf8CodePoints:()=>sn,toUtf8String:()=>Wt,verifyMessage:()=>Sp,verifyTypedData:()=>Tp,zeroPad:()=>Un});var kp="solidity/5.7.0";var z3=new RegExp("^bytes([0-9]+)$"),Q3=new RegExp("^(u?int)([0-9]*)$"),X3=new RegExp("^(.*)\\[([0-9]*)\\]$"),Z3="0000000000000000000000000000000000000000000000000000000000000000",da=new N(kp);function Ep(t,e,r){switch(t){case"address":return r?Un(e,32):R(e);case"string":return ye(e);case"bytes":return R(e);case"bool":return e=e?"0x01":"0x00",r?Un(e,32):R(e)}let n=t.match(Q3);if(n){let o=parseInt(n[2]||"256");return(n[2]&&String(o)!==n[2]||o%8!==0||o===0||o>256)&&da.throwArgumentError("invalid number type","type",t),r&&(o=256),e=W.from(e).toTwos(o),Un(e,o/8)}if(n=t.match(z3),n){let o=parseInt(n[1]);return(String(o)!==n[1]||o===0||o>32)&&da.throwArgumentError("invalid bytes type","type",t),R(e).byteLength!==o&&da.throwArgumentError(`invalid value for ${t}`,"value",e),r?R((e+Z3).substring(0,66)):e}if(n=t.match(X3),n&&Array.isArray(e)){let o=n[1];parseInt(n[2]||String(e.length))!=e.length&&da.throwArgumentError(`invalid array length for ${t}`,"value",e);let i=[];return e.forEach(function(s){i.push(Ep(o,s,!0))}),xe(i)}return da.throwArgumentError("invalid type","type",t)}function Hs(t,e){t.length!=e.length&&da.throwArgumentError("wrong number of values; expected ${ types.length }","values",e);let r=[];return t.forEach(function(n,o){r.push(Ep(n,e[o]))}),K(xe(r))}function Pp(t,e){return ce(Hs(t,e))}function Ip(t,e){return Zt(Hs(t,e))}var Np="units/5.7.0";var Rp=new N(Np),_p=["wei","kwei","mwei","gwei","szabo","finney","ether"];function Mp(t){let e=String(t).split(".");(e.length>2||!e[0].match(/^-?[0-9]*$/)||e[1]&&!e[1].match(/^[0-9]*$/)||t==="."||t==="-.")&&Rp.throwArgumentError("invalid value","value",t);let r=e[0],n="";for(r.substring(0,1)==="-"&&(n="-",r=r.substring(1));r.substring(0,1)==="0";)r=r.substring(1);r===""&&(r="0");let o="";for(e.length===2&&(o="."+(e[1]||"0"));o.length>2&&o[o.length-1]==="0";)o=o.substring(0,o.length-1);let a=[];for(;r.length;)if(r.length<=3){a.unshift(r);break}else{let i=r.length-3;a.unshift(r.substring(i)),r=r.substring(0,i)}return n+a.join(",")+o}function dd(t,e){if(typeof e=="string"){let r=_p.indexOf(e);r!==-1&&(e=3*r)}return Lo(t,e??18)}function fd(t,e){if(typeof t!="string"&&Rp.throwArgumentError("value must be a string","value",t),typeof e=="string"){let r=_p.indexOf(e);r!==-1&&(e=3*r)}return Pt(t,e??18)}function Op(t){return dd(t,18)}function Bp(t){return fd(t,18)}var Lp="web/5.7.1";var Y3=function(t,e,r,n){function o(a){return a instanceof r?a:new r(function(i){i(a)})}return new(r||(r=Promise))(function(a,i){function s(f){try{d(n.next(f))}catch(u){i(u)}}function c(f){try{d(n.throw(f))}catch(u){i(u)}}function d(f){f.done?a(f.value):o(f.value).then(s,c)}d((n=n.apply(t,e||[])).next())})};function Dp(t,e){return Y3(this,void 0,void 0,function*(){e==null&&(e={});let r={method:e.method||"GET",headers:e.headers||{},body:e.body||void 0};if(e.skipFetchSetup!==!0&&(r.mode="cors",r.cache="no-cache",r.credentials="same-origin",r.redirect="follow",r.referrer="client"),e.fetchOptions!=null){let i=e.fetchOptions;i.mode&&(r.mode=i.mode),i.cache&&(r.cache=i.cache),i.credentials&&(r.credentials=i.credentials),i.redirect&&(r.redirect=i.redirect),i.referrer&&(r.referrer=i.referrer)}let n=yield fetch(t,r),o=yield n.arrayBuffer(),a={};return n.headers.forEach?n.headers.forEach((i,s)=>{a[s.toLowerCase()]=i}):n.headers.keys().forEach(i=>{a[i.toLowerCase()]=n.headers.get(i)}),{headers:a,statusCode:n.status,statusMessage:n.statusText,body:R(new Uint8Array(o))}})}var j3=function(t,e,r,n){function o(a){return a instanceof r?a:new r(function(i){i(a)})}return new(r||(r=Promise))(function(a,i){function s(f){try{d(n.next(f))}catch(u){i(u)}}function c(f){try{d(n.throw(f))}catch(u){i(u)}}function d(f){f.done?a(f.value):o(f.value).then(s,c)}d((n=n.apply(t,e||[])).next())})},Yt=new N(Lp);function Fp(t){return new Promise(e=>{setTimeout(e,t)})}function pn(t,e){if(t==null)return null;if(typeof t=="string")return t;if(Mr(t)){if(e&&(e.split("/")[0]==="text"||e.split(";")[0].trim()==="application/json"))try{return Wt(t)}catch{}return K(t)}return t}function $3(t){return ye(t.replace(/%([0-9a-f][0-9a-f])/gi,(e,r)=>String.fromCharCode(parseInt(r,16))))}function ld(t,e,r){let n=typeof t=="object"&&t.throttleLimit!=null?t.throttleLimit:12;Yt.assertArgument(n>0&&n%1===0,"invalid connection throttle limit","connection.throttleLimit",n);let o=typeof t=="object"?t.throttleCallback:null,a=typeof t=="object"&&typeof t.throttleSlotInterval=="number"?t.throttleSlotInterval:100;Yt.assertArgument(a>0&&a%1===0,"invalid connection throttle slot interval","connection.throttleSlotInterval",a);let i=typeof t=="object"?!!t.errorPassThrough:!1,s={},c=null,d={method:"GET"},f=!1,u=2*60*1e3;if(typeof t=="string")c=t;else if(typeof t=="object"){if((t==null||t.url==null)&&Yt.throwArgumentError("missing URL","connection.url",t),c=t.url,typeof t.timeout=="number"&&t.timeout>0&&(u=t.timeout),t.headers)for(let b in t.headers)s[b.toLowerCase()]={key:b,value:String(t.headers[b])},["if-none-match","if-modified-since"].indexOf(b.toLowerCase())>=0&&(f=!0);if(d.allowGzip=!!t.allowGzip,t.user!=null&&t.password!=null){c.substring(0,6)!=="https:"&&t.allowInsecureAuthentication!==!0&&Yt.throwError("basic authentication requires a secure https url",N.errors.INVALID_ARGUMENT,{argument:"url",url:c,user:t.user,password:"[REDACTED]"});let b=t.user+":"+t.password;s.authorization={key:"Authorization",value:"Basic "+ys(ye(b))}}t.skipFetchSetup!=null&&(d.skipFetchSetup=!!t.skipFetchSetup),t.fetchOptions!=null&&(d.fetchOptions=Le(t.fetchOptions))}let x=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),m=c?c.match(x):null;if(m)try{let b={statusCode:200,statusMessage:"OK",headers:{"content-type":m[1]||"text/plain"},body:m[2]?Wo(m[3]):$3(m[3])},T=b.body;return r&&(T=r(b.body,b)),Promise.resolve(T)}catch(b){Yt.throwError("processing response error",N.errors.SERVER_ERROR,{body:pn(m[1],m[2]),error:b,requestBody:null,requestMethod:"GET",url:c})}e&&(d.method="POST",d.body=e,s["content-type"]==null&&(s["content-type"]={key:"Content-Type",value:"application/octet-stream"}),s["content-length"]==null&&(s["content-length"]={key:"Content-Length",value:String(e.length)}));let p={};Object.keys(s).forEach(b=>{let T=s[b];p[T.key]=T.value}),d.headers=p;let h=function(){let b=null;return{promise:new Promise(function(O,C){u&&(b=setTimeout(()=>{b!=null&&(b=null,C(Yt.makeError("timeout",N.errors.TIMEOUT,{requestBody:pn(d.body,p["content-type"]),requestMethod:d.method,timeout:u,url:c})))},u))}),cancel:function(){b!=null&&(clearTimeout(b),b=null)}}}(),w=function(){return j3(this,void 0,void 0,function*(){for(let b=0;b<n;b++){let T=null;try{if(T=yield Dp(c,d),b<n){if(T.statusCode===301||T.statusCode===302){let O=T.headers.location||"";if(d.method==="GET"&&O.match(/^https:/)){c=T.headers.location;continue}}else if(T.statusCode===429){let O=!0;if(o&&(O=yield o(b,c)),O){let C=0,B=T.headers["retry-after"];typeof B=="string"&&B.match(/^[1-9][0-9]*$/)?C=parseInt(B)*1e3:C=a*parseInt(String(Math.random()*Math.pow(2,b))),yield Fp(C);continue}}}}catch(O){T=O.response,T==null&&(h.cancel(),Yt.throwError("missing response",N.errors.SERVER_ERROR,{requestBody:pn(d.body,p["content-type"]),requestMethod:d.method,serverError:O,url:c}))}let k=T.body;if(f&&T.statusCode===304?k=null:!i&&(T.statusCode<200||T.statusCode>=300)&&(h.cancel(),Yt.throwError("bad response",N.errors.SERVER_ERROR,{status:T.statusCode,headers:T.headers,body:pn(k,T.headers?T.headers["content-type"]:null),requestBody:pn(d.body,p["content-type"]),requestMethod:d.method,url:c})),r)try{let O=yield r(k,T);return h.cancel(),O}catch(O){if(O.throttleRetry&&b<n){let C=!0;if(o&&(C=yield o(b,c)),C){let B=a*parseInt(String(Math.random()*Math.pow(2,b)));yield Fp(B);continue}}h.cancel(),Yt.throwError("processing response error",N.errors.SERVER_ERROR,{body:pn(k,T.headers?T.headers["content-type"]:null),error:O,requestBody:pn(d.body,p["content-type"]),requestMethod:d.method,url:c})}return h.cancel(),k}return Yt.throwError("failed response",N.errors.SERVER_ERROR,{requestBody:pn(d.body,p["content-type"]),requestMethod:d.method,url:c})})}();return Promise.race([h.promise,w])}function Up(t,e,r){let n=(a,i)=>{let s=null;if(a!=null)try{s=JSON.parse(Wt(a))}catch(c){Yt.throwError("invalid JSON",N.errors.SERVER_ERROR,{body:a,error:c})}return r&&(s=r(s,i)),s},o=null;if(e!=null){o=ye(e);let a=typeof t=="string"?{url:t}:Le(t);a.headers?Object.keys(a.headers).filter(s=>s.toLowerCase()==="content-type").length!==0||(a.headers=Le(a.headers),a.headers["content-type"]="application/json"):a.headers={"content-type":"application/json"},t=a}return ld(t,o,n)}function Vp(t,e){return e||(e={}),e=Le(e),e.floor==null&&(e.floor=0),e.ceiling==null&&(e.ceiling=1e4),e.interval==null&&(e.interval=250),new Promise(function(r,n){let o=null,a=!1,i=()=>a?!1:(a=!0,o&&clearTimeout(o),!0);e.timeout&&(o=setTimeout(()=>{i()&&n(new Error("timeout"))},e.timeout));let s=e.retryLimit,c=0;function d(){return t().then(function(f){if(f!==void 0)i()&&r(f);else if(e.oncePoll)e.oncePoll.once("poll",d);else if(e.onceBlock)e.onceBlock.once("block",d);else if(!a){if(c++,c>s){i()&&n(new Error("retry limit reached"));return}let u=e.interval*parseInt(String(Math.random()*Math.pow(2,c)));u<e.floor&&(u=e.floor),u>e.ceiling&&(u=e.ceiling),setTimeout(d,u)}return null},function(f){i()&&n(f)})}d()})}var Ws="ethers/5.7.2";var Hp=new N(Ws);try{let t=window;t._ethers==null&&(t._ethers=ie)}catch{}var qs={1:{8453:18e5,42161:18e5,10:18e5,137:18e5,43114:18e5},8453:{42161:18e5,10:18e5,1:18e5,137:18e5,43114:18e5},42161:{8453:18e5,10:18e5,1:18e5,137:18e5,43114:18e5},10:{8453:18e5,42161:18e5,1:18e5,137:18e5,43114:18e5},137:{8453:18e5,42161:18e5,1:18e5,137:18e5,43114:18e5},43114:{8453:18e5,42161:18e5,1:18e5,137:18e5,43114:18e5},43113:{80001:18e5},80001:{43113:18e5}};var Wp=new zr("So11111111111111111111111111111111111111112"),Gp=new zr("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"),qp=new zr("Ccip8ZTcM2qHjVt8FYHtuCAqjc637yLKnsJ5q5r2e6eL"),Jp=new zr("FeeQhewH1cd6ZyHqhfMiKAQntgzPT6bWwK26cJ5qSFo6"),zp=new zr("LinkhB3afbBKb2EQQu7s7umdZceV3wcvAUJhQAfQ23L"),Qp=new zr("11111111111111111111111111111111"),Xp=new zr("52XvWQKuZHRjnR7qHsEGE532jqgQ3MBiBMgVkBowP1LD"),Zp=new zr("RmnXLft1mSEwDgMKu2okYuHkiazxntFFcZFrrcXxYg7"),Yp="metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",eo="https://orbital-thrilling-water.solana-mainnet.quiknode.pro/6b4a6d73d2cbe0590ce45bad3b375b183acef83f/",ui=new zr("JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4"),VS="evm",Js=/^[0-9]*[.,]?[0-9]*$/;var KS=30*1e3*60,HS=30*1e3;var fa="1",ud=Ht.AddressZero,zs="1",pd="0x8fe815417913a93ea99049fc0718ee1647a2a07c",la="https://ccip.chain.link/",jp=6e4,md="Request deprecated",Qs=30*60*1e3;var xd=1.1,$p="MessageSent(bytes32,uint64,address,bytes,address,uint256,uint256,address,uint256)",e1=["event MessageSent(bytes32 indexed messageId, uint64 indexed destinationChainSelector, address indexed sender, bytes data, address token, uint256 tokenAmount, uint256 valueForInstantCcipRecieve, address transferedToken, uint256 transferedTokenAmount)"],t1="MessageReceived(bytes32,uint64,address,bytes,address,uint256)",r1=["event MessageReceived(bytes32 indexed messageId, uint64 indexed sourceChainSelector, address indexed sender, bytes data, address token, uint256 tokenAmount)"];var n1=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"}];var o1=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint64",name:"destinationChainSelector",type:"uint64"}],name:"DestinationChainNotWhitelisted",type:"error"},{inputs:[],name:"FailedToSendNative",type:"error"},{inputs:[],name:"IncorrectArrayLength",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[{internalType:"address",name:"router",type:"address"}],name:"InvalidRouter",type:"error"},{inputs:[{internalType:"address",name:"messageExecutor",type:"address"}],name:"MessageAlreadyExecuted",type:"error"},{inputs:[],name:"MessageMustTransferOnlyOneToken",type:"error"},{inputs:[{internalType:"uint64",name:"chainId",type:"uint64"}],name:"NoXSwapRouterOnSelectedChain",type:"error"},{inputs:[{internalType:"uint256",name:"currentBalance",type:"uint256"},{internalType:"uint256",name:"calculatedFees",type:"uint256"}],name:"NotEnoughBalance",type:"error"},{inputs:[{internalType:"uint64",name:"sourceChainSelector",type:"uint64"},{internalType:"address",name:"sender",type:"address"}],name:"SenderNotWhitelisted",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"TokenNotWhitelisted",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousAdmin",type:"address"},{indexed:!1,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"beacon",type:"address"}],name:"BeaconUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenAmount",type:"uint256"}],name:"EmergencyWithdraw",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"messageId",type:"bytes32"},{indexed:!0,internalType:"uint64",name:"sourceChainSelector",type:"uint64"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenAmount",type:"uint256"}],name:"ExecutorRunFailed",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newExecutor",type:"address"}],name:"ExecutorUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"messageId",type:"bytes32"},{indexed:!0,internalType:"address",name:"messageExecutor",type:"address"},{indexed:!0,internalType:"bytes32",name:"executionHash",type:"bytes32"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenAmount",type:"uint256"}],name:"FundsReturnedForMessageExecution",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"messageId",type:"bytes32"},{indexed:!0,internalType:"uint64",name:"sourceChainSelector",type:"uint64"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenAmount",type:"uint256"}],name:"MessageReceived",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"messageId",type:"bytes32"},{indexed:!0,internalType:"uint64",name:"destinationChainSelector",type:"uint64"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"valueForInstantCcipRecieve",type:"uint256"},{indexed:!1,internalType:"address",name:"transferedToken",type:"address"},{indexed:!1,internalType:"uint256",name:"transferedTokenAmount",type:"uint256"}],name:"MessageSent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newFeeCollectorAddress",type:"address"}],name:"SetFeeCollectorAddress",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newFeeOracleAddress",type:"address"}],name:"SetFeeOracleAddress",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{inputs:[{components:[{internalType:"bytes32",name:"messageId",type:"bytes32"},{internalType:"uint64",name:"sourceChainSelector",type:"uint64"},{internalType:"bytes",name:"sender",type:"bytes"},{internalType:"bytes",name:"data",type:"bytes"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct Client.EVMTokenAmount[]",name:"destTokenAmounts",type:"tuple[]"}],internalType:"struct Client.Any2EVMMessage",name:"message",type:"tuple"}],name:"ccipReceive",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64",name:"",type:"uint64"}],name:"chainSelectorToXSwapRouterMap",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_tokenToWithdraw",type:"address"},{internalType:"uint256",name:"_amountToWithdraw",type:"uint256"}],name:"emergencyWithdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"feeCollectorAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeOracleAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_paymentToken",type:"address"},{internalType:"uint64",name:"_destinationChainSelector",type:"uint64"},{components:[{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint256",name:"estimatedAmountOut",type:"uint256"},{components:[{internalType:"enum CallType",name:"callType",type:"uint8"},{internalType:"address",name:"target",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"payload",type:"bytes"}],internalType:"struct Call[]",name:"calls",type:"tuple[]"}],internalType:"struct SwapDataDestination",name:"_swapDestinationData",type:"tuple"},{internalType:"address",name:"_token",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"},{internalType:"uint256",name:"_gasLimit",type:"uint256"}],name:"getFees",outputs:[{components:[{internalType:"uint256",name:"ccipFee",type:"uint256"},{components:[{internalType:"uint256",name:"tokenFee",type:"uint256"},{internalType:"uint256",name:"nativeFee",type:"uint256"}],internalType:"struct XSwapFee",name:"xSwapFee",type:"tuple"}],internalType:"struct MessageFees",name:"fees",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"getRouter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_ccipRouter",type:"address"},{internalType:"address",name:"_feeOracle",type:"address"},{internalType:"address",name:"_feeCollector",type:"address"},{internalType:"address",name:"_xSwapExecutor",type:"address"},{internalType:"address",name:"_owner",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"messageId",type:"bytes32"},{internalType:"uint64",name:"sourceChainSelector",type:"uint64"},{internalType:"bytes",name:"sender",type:"bytes"},{internalType:"bytes",name:"data",type:"bytes"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct Client.EVMTokenAmount[]",name:"destTokenAmounts",type:"tuple[]"}],internalType:"struct Client.Any2EVMMessage",name:"_any2EvmMessage",type:"tuple"}],name:"instantCcipReceive",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"messageExecutionHashToExecutorMap",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeCollectorAddress",type:"address"}],name:"setFeeCollectorAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeOracleAddress",type:"address"}],name:"setFeeOracleAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_router",type:"address"}],name:"setRouter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_xSwapExecutor",type:"address"}],name:"setXSwapExecutor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"_paymentToken",type:"address"},{internalType:"uint64",name:"_destinationChainSelector",type:"uint64"},{components:[{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint256",name:"estimatedAmountOut",type:"uint256"},{components:[{internalType:"enum CallType",name:"callType",type:"uint8"},{internalType:"address",name:"target",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"payload",type:"bytes"}],internalType:"struct Call[]",name:"calls",type:"tuple[]"}],internalType:"struct SwapDataDestination",name:"_swapDestinationData",type:"tuple"},{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint256",name:"estimatedAmountOut",type:"uint256"},{internalType:"uint256",name:"valueForDestinationGas",type:"uint256"},{internalType:"uint256",name:"valueForInstantCcipRecieve",type:"uint256"},{components:[{internalType:"enum CallType",name:"callType",type:"uint8"},{internalType:"address",name:"target",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"payload",type:"bytes"}],internalType:"struct Call[]",name:"calls",type:"tuple[]"}],internalType:"struct SwapDataOrigin",name:"_swapOriginData",type:"tuple"},{internalType:"uint256",name:"_gasLimit",type:"uint256"}],name:"swapAndSendMessage",outputs:[{internalType:"bytes32",name:"messageId",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64",name:"_chainSelector",type:"uint64"},{internalType:"address",name:"_xSwapRouter",type:"address"}],name:"updateChainSelectorToXSwapRouterMap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64[]",name:"_chainSelectors",type:"uint64[]"},{internalType:"address[]",name:"_xSwapRouters",type:"address[]"}],name:"updateChainSelectorToXSwapRouterMapMany",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64",name:"_sourceChainSelector",type:"uint64"},{internalType:"address",name:"_sender",type:"address"},{internalType:"bool",name:"_isWhitelisted",type:"bool"}],name:"updateWhitelistSender",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64[]",name:"_sourceChainSelectors",type:"uint64[]"},{internalType:"address[]",name:"_senders",type:"address[]"},{internalType:"bool[]",name:"_areWhitelisted",type:"bool[]"}],name:"updateWhitelistSenderMany",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_token",type:"address"},{internalType:"bool",name:"_isWhitelisted",type:"bool"}],name:"updateWhitelistToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint64",name:"",type:"uint64"},{internalType:"address",name:"",type:"address"}],name:"whitelistedSenders",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"whitelistedTokens",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"xSwapExecutor",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}];var a1=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint64",name:"destinationChainSelector",type:"uint64"}],name:"DestinationChainNotWhitelisted",type:"error"},{inputs:[],name:"FailedToSendNative",type:"error"},{inputs:[],name:"IncorrectArrayLength",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"InsufficientTokenBalance",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[{internalType:"address",name:"sourceTokenAddress",type:"address"},{internalType:"uint64",name:"chainId",type:"uint64"},{internalType:"address",name:"destinationTokenAddress",type:"address"}],name:"InvalidMappedTokenOnSelectedChain",type:"error"},{inputs:[{internalType:"address",name:"router",type:"address"}],name:"InvalidRouter",type:"error"},{inputs:[{internalType:"uint64",name:"chainId",type:"uint64"}],name:"NoCorrespondingRouterOnSelectedChain",type:"error"},{inputs:[{internalType:"uint256",name:"currentBalance",type:"uint256"},{internalType:"uint256",name:"calculatedFees",type:"uint256"}],name:"NotEnoughBalance",type:"error"},{inputs:[{internalType:"uint64",name:"sourceChainSelector",type:"uint64"},{internalType:"address",name:"sender",type:"address"}],name:"SenderNotWhitelisted",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"TokenNotWhitelisted",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousAdmin",type:"address"},{indexed:!1,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"beacon",type:"address"}],name:"BeaconUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenAmount",type:"uint256"}],name:"EmergencyWithdraw",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"messageId",type:"bytes32"},{indexed:!0,internalType:"uint64",name:"sourceChainSelector",type:"uint64"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"}],name:"MessageReceived",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"messageId",type:"bytes32"},{indexed:!0,internalType:"uint64",name:"destinationChainSelector",type:"uint64"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"address",name:"burnedToken",type:"address"},{indexed:!1,internalType:"address",name:"mintedToken",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"MessageSent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newFeeCollectorAddress",type:"address"}],name:"SetFeeCollectorAddress",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newFeeOracleAddress",type:"address"}],name:"SetFeeOracleAddress",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{inputs:[{components:[{internalType:"bytes32",name:"messageId",type:"bytes32"},{internalType:"uint64",name:"sourceChainSelector",type:"uint64"},{internalType:"bytes",name:"sender",type:"bytes"},{internalType:"bytes",name:"data",type:"bytes"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct Client.EVMTokenAmount[]",name:"destTokenAmounts",type:"tuple[]"}],internalType:"struct Client.Any2EVMMessage",name:"message",type:"tuple"}],name:"ccipReceive",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64",name:"",type:"uint64"}],name:"chainSelectorToCorrespondingRouterMap",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_tokenToWithdraw",type:"address"},{internalType:"uint256",name:"_amountToWithdraw",type:"uint256"}],name:"emergencyWithdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"feeCollectorAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeOracleAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_paymentToken",type:"address"},{internalType:"uint64",name:"_destinationChainSelector",type:"uint64"},{components:[{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"sourceTokenAddress",type:"address"},{internalType:"address",name:"destinationTokenAddress",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenData",name:"_tokenData",type:"tuple"},{internalType:"uint256",name:"_gasLimit",type:"uint256"}],name:"getFees",outputs:[{components:[{internalType:"uint256",name:"ccipFee",type:"uint256"},{components:[{internalType:"uint256",name:"tokenFee",type:"uint256"},{internalType:"uint256",name:"nativeFee",type:"uint256"}],internalType:"struct XSwapFee",name:"xSwapFee",type:"tuple"}],internalType:"struct MessageFees",name:"fees",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"getRouter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_ccipRouter",type:"address"},{internalType:"address",name:"_feeOracle",type:"address"},{internalType:"address",name:"_feeCollector",type:"address"},{internalType:"address",name:"_owner",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_paymentToken",type:"address"},{internalType:"uint64",name:"_destinationChainSelector",type:"uint64"},{components:[{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"sourceTokenAddress",type:"address"},{internalType:"address",name:"destinationTokenAddress",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenData",name:"_tokenData",type:"tuple"},{internalType:"uint256",name:"_gasLimit",type:"uint256"}],name:"sendMessage",outputs:[{internalType:"bytes32",name:"messageId",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_feeCollectorAddress",type:"address"}],name:"setFeeCollectorAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeOracleAddress",type:"address"}],name:"setFeeOracleAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_sourceTokenAddress",type:"address"},{internalType:"uint64",name:"_destinationChainSelector",type:"uint64"},{internalType:"address",name:"_destinationTokenAddress",type:"address"}],name:"setMappedTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_router",type:"address"}],name:"setRouter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint64",name:"",type:"uint64"}],name:"sourceTokenToDestinationChainSelectorToDestinationTokenMap",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64",name:"_chainSelector",type:"uint64"},{internalType:"address",name:"_correspondingRouter",type:"address"}],name:"updateChainSelectorToCorrespondingRouterMap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64[]",name:"_chainSelectors",type:"uint64[]"},{internalType:"address[]",name:"_correspondingRouters",type:"address[]"}],name:"updateChainSelectorToCorrespondingRouterMapMany",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64",name:"_sourceChainSelector",type:"uint64"},{internalType:"address",name:"_sender",type:"address"},{internalType:"bool",name:"_isWhitelisted",type:"bool"}],name:"updateWhitelistSender",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64[]",name:"_sourceChainSelectors",type:"uint64[]"},{internalType:"address[]",name:"_senders",type:"address[]"},{internalType:"bool[]",name:"_areWhitelisted",type:"bool[]"}],name:"updateWhitelistSenderMany",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_token",type:"address"},{internalType:"bool",name:"_isWhitelisted",type:"bool"}],name:"updateWhitelistToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint64",name:"",type:"uint64"},{internalType:"address",name:"",type:"address"}],name:"whitelistedSenders",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"whitelistedTokens",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}];var i1=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AmountExceedStakedBalance",type:"error"},{inputs:[],name:"ClaimingPaused",type:"error"},{inputs:[],name:"InsufficientFee",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[],name:"NoStakedTokens",type:"error"},{inputs:[],name:"NoTokensToWithdraw",type:"error"},{inputs:[],name:"NotEnoughTokensToStake",type:"error"},{inputs:[],name:"NothingToClaim",type:"error"},{inputs:[],name:"NothingToCompound",type:"error"},{inputs:[],name:"NothingToRestake",type:"error"},{inputs:[],name:"NothingToStake",type:"error"},{inputs:[],name:"StakingPoolLimitReached",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"apr",type:"uint256"}],name:"APRUpdate",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousAdmin",type:"address"},{indexed:!1,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"beacon",type:"address"}],name:"BeaconUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Claim",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Compound",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferStarted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Restake",type:"event"},{anonymous:!1,inputs:[{components:[{internalType:"uint256",name:"xPowerMultiplier",type:"uint256"},{internalType:"uint256",name:"startTimestamp",type:"uint256"},{internalType:"uint256",name:"endTimestamp",type:"uint256"}],indexed:!1,internalType:"struct StakingStableAPR.BoostEvent",name:"newBoostEvent",type:"tuple"}],name:"SetBoostEvent",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"compoundingBonus",type:"uint256"}],name:"SetCompoundingBonus",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"feeBurner",type:"address"}],name:"SetFeeBurner",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"feeCollector",type:"address"}],name:"SetFeeCollector",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"isClaimingPaused",type:"bool"}],name:"SetIsClaimingPaused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"nativeFeeForAction",type:"uint256"}],name:"SetNativeFeeForAction",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"stakingPoolLimit",type:"uint256"}],name:"SetStakingPoolLimit",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract IERC20",name:"newStakingToken",type:"address"}],name:"SetStakingToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newUnbondingDuration",type:"uint256"}],name:"SetUnbondingDuration",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newUnbondingInitialBurnPercentage",type:"uint256"}],name:"SetUnbondingInitialBurnPercentage",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newXPowerMultiplier",type:"uint256"}],name:"SetXPowerMultiplier",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"tokensFrom",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Stake",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"endTimestamp",type:"uint256"}],name:"Unstake",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdraw",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawTokensBurnedByUsers",type:"event"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"aprPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"aprPeriods",outputs:[{internalType:"uint256",name:"start",type:"uint256"},{internalType:"uint256",name:"apr",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"boostEvent",outputs:[{internalType:"uint256",name:"xPowerMultiplier",type:"uint256"},{internalType:"uint256",name:"startTimestamp",type:"uint256"},{internalType:"uint256",name:"endTimestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"claim",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"compound",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"compoundingBonus",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"}],name:"emergencyTokenWithdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"feeBurner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeCollector",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"staker",type:"address"}],name:"getStaker",outputs:[{components:[{internalType:"address",name:"walletAddress",type:"address"},{internalType:"uint256",name:"xPower",type:"uint256"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"claimableReward",type:"uint256"},{internalType:"uint256",name:"compoundableReward",type:"uint256"},{internalType:"uint256",name:"withdrawableFromUnbonding",type:"uint256"}],internalType:"struct StakingStableAPR.StakerResponse",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"offset",type:"uint256"}],name:"getStakers",outputs:[{components:[{internalType:"address",name:"walletAddress",type:"address"},{internalType:"uint256",name:"xPower",type:"uint256"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"claimableReward",type:"uint256"},{internalType:"uint256",name:"compoundableReward",type:"uint256"},{internalType:"uint256",name:"withdrawableFromUnbonding",type:"uint256"}],internalType:"struct StakingStableAPR.StakerResponse[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getStakingInfo",outputs:[{components:[{internalType:"uint256",name:"totalStakedAmount",type:"uint256"},{internalType:"uint256",name:"stakingPoolLimit",type:"uint256"},{internalType:"uint256",name:"unbondingDuration",type:"uint256"},{internalType:"uint256",name:"nativeFeeForAction",type:"uint256"},{internalType:"uint256",name:"stakersCount",type:"uint256"},{internalType:"uint256",name:"compoundingBonus",type:"uint256"},{internalType:"uint256",name:"currentAPR",type:"uint256"},{internalType:"uint256",name:"xPowerMultiplier",type:"uint256"}],internalType:"struct StakingStableAPR.StakingInfo",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"staker",type:"address"}],name:"getUnbonding",outputs:[{components:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"xPower",type:"uint256"},{internalType:"uint256",name:"startTimestamp",type:"uint256"},{internalType:"uint256",name:"endTimestamp",type:"uint256"}],internalType:"struct StakingStableAPR.Unbonding",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"_stakingToken",type:"address"},{internalType:"uint256",name:"_unbondingDuration",type:"uint256"},{internalType:"uint256",name:"_unbondingInitialBurnPercentage",type:"uint256"},{internalType:"uint256",name:"_stakingPoolLimit",type:"uint256"},{internalType:"uint256",name:"_nativeFeeForAction",type:"uint256"},{internalType:"address",name:"_feeCollector",type:"address"},{internalType:"address",name:"_feeBurner",type:"address"},{internalType:"uint256",name:"_compoundingBonus",type:"uint256"},{internalType:"uint256",name:"_apr",type:"uint256"},{internalType:"uint256",name:"_xPowerMultiplier",type:"uint256"},{internalType:"address",name:"_owner",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"isClaimingPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"nativeFeeForAction",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"restake",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"secondsInYear",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_apr",type:"uint256"}],name:"setAPR",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"xPowerMultiplier",type:"uint256"},{internalType:"uint256",name:"startTimestamp",type:"uint256"},{internalType:"uint256",name:"endTimestamp",type:"uint256"}],internalType:"struct StakingStableAPR.BoostEvent",name:"_boostEvent",type:"tuple"}],name:"setBoostEvent",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_compoundingBonus",type:"uint256"}],name:"setCompoundingBonus",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeBurner",type:"address"}],name:"setFeeBurner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeCollector",type:"address"}],name:"setFeeCollector",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_isClaimingPaused",type:"bool"}],name:"setIsClaimingPaused",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_nativeFeeForAction",type:"uint256"}],name:"setNativeFeeForAction",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_stakingPoolLimit",type:"uint256"}],name:"setStakingPoolLimit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"_stakingToken",type:"address"}],name:"setStakingToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_unbondingDuration",type:"uint256"}],name:"setUnbondingDuration",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_unbondingInitialBurnPercentage",type:"uint256"}],name:"setUnbondingInitialBurnPercentage",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_xPowerMultiplier",type:"uint256"}],name:"setXPowerMultiplier",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"stake",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"user",type:"address"}],name:"stakeFor",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"stakerAddresses",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"stakers",outputs:[{internalType:"uint256",name:"lastUpdate",type:"uint256"},{internalType:"uint256",name:"pendingReward",type:"uint256"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"xPower",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stakersCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stakingPoolLimit",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stakingToken",outputs:[{internalType:"contract IERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalStakedAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unbondingDuration",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"unbondingInitialBurnPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"unbondings",outputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"xPower",type:"uint256"},{internalType:"uint256",name:"startTimestamp",type:"uint256"},{internalType:"uint256",name:"endTimestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountToUnstake",type:"uint256"}],name:"unstake",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"withdraw",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"withdrawTokensBurnedByUsers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawableTokensBurnedByUsers",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"xPowerMultiplier",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}];var Tr=n1,s1=o1;var c1=a1,d1=i1;var $e={42161:{USDC:"0xaf88d065e77c8cc2239327c5edb3a432268e5831",BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},43114:{USDC:"0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},8453:{USDC:"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",CustomXSwapRouter:"0x9B64aC0aD647768838a3957Bc12c40E1C539cb93",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",StakingCosmicCadets:"0x67798736bFb7d9A1F143215E258fe15Da68c85F0",StakingSolarDivision:"0xF86e9f328e840658bAc6C5726a76ba4db1eFe923",StakingIntergalacticCommand:"0x29A09C1642222eE5ae14EF19445f1326BCFCAC01",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapToken:"0x8fe815417913a93ea99049fc0718ee1647a2a07c",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},1:{USDC:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",CustomXSwapRouter:"0x9B64aC0aD647768838a3957Bc12c40E1C539cb93",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapToken:"0x8fe815417913a93ea99049fc0718ee1647a2a07c",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},10:{USDC:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},137:{USDC:"0xf1e3a5842eeef51f2967b3f05d45dd4f4205ff40",BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},34443:{BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},592:{BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},81457:{BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},42220:{BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},100:{BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},255:{BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},5e3:{BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},109:{BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},1111:{BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},48900:{BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},56:{BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},1088:{BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},59144:{BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},534352:{BatchQuery:"0xb5f9934ea0810ef5faa677e8c68c6983b88664b1",FeeCollector:"0xb37275558f02f05104c2ba35199d16adeb43432f",XSwapRouter:"0xe1c14b9f065dead2e89ee35382f8bd42bdb87a04",XSwapRouterSingleChain:"0x0bb24c4302889ea0fb22dfacbb845e5602f35972"},"mainnet-beta":{FeeCollector:"XSwapfFzSz84kkGk5PCYzLrntPfLubFRJGbJRQjC7th"}};var ag=new ie.utils.Interface(Tr),f1=async(t,e,r)=>{let n=ie.getDefaultProvider(r);if(e===ie.constants.AddressZero)return ie.utils.formatEther(await n.getBalance(t));let o=new ie.Contract(e,Tr,n);return ie.utils.formatUnits(await o.balanceOf(t),await o.decimals())};var l1=(t,e=5)=>t?`${t?.substring(0,e)}...${t.substring(t.length-e,t.length)}`:"";import pi from"bignumber.js";var jt=t=>(pi.config({DECIMAL_PLACES:0}),W.from(new pi(t).div(1).toFixed())),De=({amount:t,decimals:e,precisionFractionalPlaces:r,prettifySmallNumber:n=!1})=>{let o=Math.pow(10,e);pi.config({DECIMAL_PLACES:r});let a=new pi(t).div(o).toFixed();return n&&a==="0"&&t!=="0"?`<${(1/10**r).toFixed(r)}`:a},Xs=({amount:t,decimals:e})=>{let r=Math.pow(10,e),n=new pi(t||"0");return jt(n.mul(r).toFixed()).toString()};function hd(t){let e=typeof t=="string"?t:t?.message||"An unknown error occurred";if(e+=t?.data?.message||"",e.match(/User denied transaction signature/i)||e.match(/User rejected the request/i)||e.match(/User rejected transaction/i))return"Transaction was cancelled.";if(e.includes("insufficient funds"))return"Insufficient funds to complete the transaction.";if(e.includes("gas price too low"))return"Gas price is too low. Please increase the gas price and try again.";if(e.includes("nonce too low"))return"Transaction nonce is too low. Please reset your account in MetaMask and try again.";if(e.includes("execution reverted")){let r=e.match(/reason: (.+?)(?:, method|$)/)?.[1];return r?`Transaction failed: ${r}`:"Transaction failed during contract execution."}if(e.includes("exceeds block gas limit"))return"Transaction exceeded gas limit. Please try again with a higher gas limit.";if(e.includes("network error")||e.includes("connection error"))return"Network error. Please check your internet connection and try again.";if(e.includes("MetaMask Tx Signature:"))return"MetaMask error: "+e.split("MetaMask Tx Signature:")[1].trim();if(t.code)switch(t.code){case ie.errors.INVALID_ARGUMENT:return"Invalid argument provided to the transaction.";case ie.errors.MISSING_ARGUMENT:return"Missing required argument for the transaction.";case ie.errors.UNEXPECTED_ARGUMENT:return"Unexpected argument provided to the transaction.";case ie.errors.CALL_EXCEPTION:return"Contract call failed. The transaction might have been reverted.";case ie.errors.INSUFFICIENT_FUNDS:return"Insufficient funds to complete the transaction.";case ie.errors.NONCE_EXPIRED:return"Transaction nonce has expired. Please try again.";case ie.errors.REPLACEMENT_UNDERPRICED:return"Replacement transaction underpriced. Please increase the gas price.";case ie.errors.UNPREDICTABLE_GAS_LIMIT:return"Unable to estimate gas limit. The transaction might fail.";default:return"An error occurred: "+t.message}return"An error occurred while processing the transaction. Please try again."}import{PublicKey as u1}from"@solana/web3.js";var mi=t=>`${t?.substring(0,5)}...${t?.substring(t.length-5,t.length)}`,ua=t=>/^0x[a-fA-F0-9]{40}$/.test(t),Zs=t=>{try{let e=new u1(t);return u1.isOnCurve(e)}catch{return!1}};import{format as AT}from"date-fns";var gd=(t,e)=>{for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(Object.prototype.hasOwnProperty.call(t,r)&&typeof t[r]=="object"&&typeof e[r]=="object"?gd(t[r],e[r]):t[r]=e[r]);return{...t}};var Ke=typeof window>"u",pa=(t,e,r)=>!t||ie.utils.isAddress(t)?t:r.find(n=>n.chainId===e)?.tokens.find(n=>n.tokenId===t)?.address?.toLowerCase(),bd=(t,e)=>[...t].map(r=>({...r,disabled:e.includes(r.chainId)})).sort((r,n)=>r.disabled===n.disabled?0:r.disabled?1:-1);import{createRoot as wd}from"react-dom/client";var Ys=`*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x:;--tw-pan-y:;--tw-pinch-zoom:;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position:;--tw-gradient-via-position:;--tw-gradient-to-position:;--tw-ordinal:;--tw-slashed-zero:;--tw-numeric-figure:;--tw-numeric-spacing:;--tw-numeric-fraction:;--tw-ring-inset:;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur:;--tw-brightness:;--tw-contrast:;--tw-grayscale:;--tw-hue-rotate:;--tw-invert:;--tw-saturate:;--tw-sepia:;--tw-drop-shadow:;--tw-backdrop-blur:;--tw-backdrop-brightness:;--tw-backdrop-contrast:;--tw-backdrop-grayscale:;--tw-backdrop-hue-rotate:;--tw-backdrop-invert:;--tw-backdrop-opacity:;--tw-backdrop-saturate:;--tw-backdrop-sepia:;--tw-contain-size:;--tw-contain-layout:;--tw-contain-paint:;--tw-contain-style:}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x:;--tw-pan-y:;--tw-pinch-zoom:;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position:;--tw-gradient-via-position:;--tw-gradient-to-position:;--tw-ordinal:;--tw-slashed-zero:;--tw-numeric-figure:;--tw-numeric-spacing:;--tw-numeric-fraction:;--tw-ring-inset:;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur:;--tw-brightness:;--tw-contrast:;--tw-grayscale:;--tw-hue-rotate:;--tw-invert:;--tw-saturate:;--tw-sepia:;--tw-drop-shadow:;--tw-backdrop-blur:;--tw-backdrop-brightness:;--tw-backdrop-contrast:;--tw-backdrop-grayscale:;--tw-backdrop-hue-rotate:;--tw-backdrop-invert:;--tw-backdrop-opacity:;--tw-backdrop-saturate:;--tw-backdrop-sepia:;--tw-contain-size:;--tw-contain-layout:;--tw-contain-paint:;--tw-contain-style:}/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::before,::after{--tw-content:''}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:var(--font-family,'Satoshi-Medium',Tahoma,Verdana,ui-sans-serif);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type='button']),input:where([type='reset']),input:where([type='submit']){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type='search']{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role="button"]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden="until-found"])){display:none}.gradient-slippage-container-blue{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:color-mix(in srgb,var(--main-accent-light) calc(0.8 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:color-mix(in srgb,var(--main-accent-dark) calc(0.8 * 100%),transparent) var(--tw-gradient-to-position)}.x-border{border-width:1px;border-style:solid;border-color:color-mix(in srgb,var(--text-primary) calc(var(--tw-border-opacity,1) * 100%),transparent);--tw-border-opacity:0.1}.selected-chain-item{border-radius:1rem;border-color:color-mix(in srgb,var(--text-primary) calc(var(--tw-border-opacity,1) * 100%),transparent);--tw-border-opacity:0.1;background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity,1) * 100%),transparent);--tw-bg-opacity:0.1}.disabled-chain-item{border-radius:1rem;--tw-border-opacity:0.1;background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity,1) * 100%),transparent);--tw-bg-opacity:0.1;opacity:0.7}.horizontal-separator{height:0.125rem;width:100%;background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity,1) * 100%),transparent);--tw-bg-opacity:0.1}.vertical-separator{height:100%;width:0.125rem;background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity,1) * 100%),transparent);--tw-bg-opacity:0.6}.token-picker-container{display:flex;cursor:pointer;align-items:center;gap:0.75rem;padding-top:0.5rem;padding-bottom:0.5rem;padding-left:1rem;padding-right:1rem}.token-picker-container:hover{background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity,1) * 100%),transparent);--tw-bg-opacity:0.1}.btn{position:relative;z-index:1;margin:0px;appearance:none;white-space:nowrap;border-style:none;background-color:transparent;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn:hover{cursor:pointer}.btn-disabled{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));opacity:0.5}.btn-disabled:hover{cursor:not-allowed}.btn--full-width{width:100%}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0px}.bottom-0{bottom:0px}.bottom-5{bottom:1.25rem}.left-0{left:0px}.left-1\\/2{left:50%}.right-0{right:0px}.right-2{right:0.5rem}.top-0{top:0px}.top-1\\/2{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\\[1\\]{z-index:1}.z-\\[3\\]{z-index:3}.m-0{margin:0px}.mx-0{margin-left:0px;margin-right:0px}.mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.mx-\\[-16px\\]{margin-left:-16px;margin-right:-16px}.my-3{margin-top:0.75rem;margin-bottom:0.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mb-2{margin-bottom:0.5rem}.mb-4{margin-bottom:1rem}.ml-1\\.5{margin-left:0.375rem}.ml-2{margin-left:0.5rem}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-2{height:0.5rem}.h-3\\.5{height:0.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\\[12px\\]{height:12px}.h-\\[14px\\]{height:14px}.h-\\[16px\\]{height:16px}.h-\\[18px\\]{height:18px}.h-\\[1px\\]{height:1px}.h-\\[20px\\]{height:20px}.h-\\[30px\\]{height:30px}.h-\\[34px\\]{height:34px}.h-full{height:100%}.max-h-0{max-height:0px}.max-h-\\[200px\\]{max-height:200px}.min-h-\\[43px\\]{min-height:43px}.min-h-\\[532px\\]{min-height:532px}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-3\\.5{width:0.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\\[100px\\]{width:100px}.w-\\[14px\\]{width:14px}.w-\\[150px\\]{width:150px}.w-\\[18px\\]{width:18px}.w-\\[34px\\]{width:34px}.w-\\[48px\\]{width:48px}.w-\\[50px\\]{width:50px}.w-\\[60px\\]{width:60px}.w-\\[calc\\(100\\%\\+32px\\)\\]{width:calc(100% + 32px)}.w-full{width:100%}.w-min{width:min-content}.w-x_modal{width:var(--modal-width)}.min-w-9{min-width:2.25rem}.min-w-\\[108px\\]{min-width:108px}.min-w-\\[340px\\]{min-width:340px}.min-w-x_modal{min-width:var(--modal-width,340px)}.max-w-80{max-width:20rem}.max-w-\\[160px\\]{max-width:160px}.max-w-\\[500px\\]{max-width:500px}.max-w-x_modal{max-width:var(--modal-width,480px)}.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.grow{flex-grow:1}.grow-0{flex-grow:0}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-5{--tw-translate-x:-1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-5{--tw-translate-y:-1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[12px\\]{--tw-translate-x:12px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[-4px\\]{--tw-translate-y:-4px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin-slow{animation:spin 3s linear infinite}.\\!cursor-not-allowed{cursor:not-allowed !important}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:0.25rem}.gap-2{gap:0.5rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\\[11px\\]{gap:11px}.gap-x-1{column-gap:0.25rem}.gap-x-10{column-gap:2.5rem}.gap-y-2{row-gap:0.5rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-nowrap{text-wrap:nowrap}.rounded{border-radius:0.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\\[32px\\]{border-radius:32px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:0.5rem}.rounded-md{border-radius:0.375rem}.rounded-xl{border-radius:0.75rem}.rounded-b-\\[11px\\]{border-bottom-right-radius:11px;border-bottom-left-radius:11px}.border{border-width:1px}.border-2{border-width:2px}.border-\\[1px\\]{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-none{border-style:none}.border-\\[rgba\\(255\\2c 255\\2c 255\\2c 0\\.1\\)\\]{border-color:rgba(255,255,255,0.1)}.border-t_bg_secondary{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--bg-secondary) calc(var(--tw-border-opacity,1) * 100%),transparent)}.border-t_error_dark{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--error-dark) calc(var(--tw-border-opacity,1) * 100%),transparent)}.border-t_main_accent_dark{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--main-accent-dark) calc(var(--tw-border-opacity,1) * 100%),transparent)}.border-t_success_dark{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--success-dark) calc(var(--tw-border-opacity,1) * 100%),transparent)}.border-t_text_primary{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--text-primary) calc(var(--tw-border-opacity,1) * 100%),transparent)}.border-t_warning_dark{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--warning-dark) calc(var(--tw-border-opacity,1) * 100%),transparent)}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-x_alert{--tw-border-opacity:1;border-color:rgb(255 183 77/var(--tw-border-opacity,1))}.border-x_orange{--tw-border-opacity:1;border-color:rgb(255 167 38/var(--tw-border-opacity,1))}.border-opacity-0{--tw-border-opacity:0}.border-opacity-10{--tw-border-opacity:0.1}.border-opacity-60{--tw-border-opacity:0.6}.bg-\\[rgba\\(0\\2c 0\\2c 0\\2c 0\\.8\\)\\]{background-color:rgba(0,0,0,0.8)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-t_bg_primary{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--bg-primary) calc(var(--tw-bg-opacity,1) * 100%),transparent)}.bg-t_bg_secondary{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--bg-secondary) calc(var(--tw-bg-opacity,1) * 100%),transparent)}.bg-t_bg_tertiary{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity,1) * 100%),transparent)}.bg-t_button_pr_off_bg{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--button-pr-off-bg) calc(var(--tw-bg-opacity,1) * 100%),transparent)}.bg-t_main_accent_light{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--main-accent-light) calc(var(--tw-bg-opacity,1) * 100%),transparent)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-opacity-15{--tw-bg-opacity:0.15}.bg-opacity-30{--tw-bg-opacity:0.3}.bg-opacity-5{--tw-bg-opacity:0.05}.bg-opacity-80{--tw-bg-opacity:0.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-t_error_dark\\/15{--tw-gradient-from:color-mix(in srgb,var(--error-dark) calc(0.15 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_main_accent_light{--tw-gradient-from:color-mix(in srgb,var(--main-accent-light) calc(1 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:color-mix(in srgb,var(--main-accent-light) calc(0 * 100%),transparent) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_main_accent_light\\/20{--tw-gradient-from:color-mix(in srgb,var(--main-accent-light) calc(0.2 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_success_light\\/20{--tw-gradient-from:color-mix(in srgb,var(--success-light) calc(0.2 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_warning_dark\\/15{--tw-gradient-from:color-mix(in srgb,var(--warning-dark) calc(0.15 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-t_bg_secondary\\/15{--tw-gradient-to:color-mix(in srgb,var(--bg-secondary) calc(0.15 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_main_accent_dark{--tw-gradient-to:color-mix(in srgb,var(--main-accent-dark) calc(1 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_main_accent_dark\\/20{--tw-gradient-to:color-mix(in srgb,var(--main-accent-dark) calc(0.2 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_success_dark\\/20{--tw-gradient-to:color-mix(in srgb,var(--success-dark) calc(0.2 * 100%),transparent) var(--tw-gradient-to-position)}.fill-t_chainlink_logo{fill:color-mix(in srgb,var(--chainlink-logo) calc(1 * 100%),transparent)}.fill-t_main_accent_light{fill:color-mix(in srgb,var(--main-accent-light) calc(1 * 100%),transparent)}.fill-t_success_dark{fill:color-mix(in srgb,var(--success-dark) calc(1 * 100%),transparent)}.fill-t_success_light{fill:color-mix(in srgb,var(--success-light) calc(1 * 100%),transparent)}.fill-t_text_primary{fill:color-mix(in srgb,var(--text-primary) calc(1 * 100%),transparent)}.fill-white{fill:#fff}.p-0{padding:0px}.p-1{padding:0.25rem}.p-2{padding:0.5rem}.p-3{padding:0.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-\\[14px\\]{padding:14px}.p-\\[15px\\]{padding:15px}.p-\\[1px\\]{padding:1px}.px-0{padding-left:0px;padding-right:0px}.px-0\\.5{padding-left:0.125rem;padding-right:0.125rem}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0{padding-top:0px;padding-bottom:0px}.py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-1{padding-bottom:0.25rem}.pl-2{padding-left:0.5rem}.pl-4{padding-left:1rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:0.25rem}.pr-2{padding-right:0.5rem}.pr-\\[14px\\]{padding-right:14px}.pt-3{padding-top:0.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-\\[10px\\]{padding-top:10px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-sans-bold{font-family:var(--font-family,'Satoshi-Bold',Tahoma,Verdana,ui-sans-serif)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\\[12px\\]{font-size:12px}.text-\\[15px\\]{font-size:15px}.text-\\[16px\\]{font-size:16px}.text-base{font-size:1rem;line-height:1.5rem}.text-base\\/4{font-size:1rem;line-height:1rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.\\!leading-3{line-height:.75rem !important}.leading-10{line-height:2.5rem}.leading-\\[0px\\]{line-height:0px}.leading-\\[14px\\]{line-height:14px}.leading-none{line-height:1}.text-\\[\\#9e9e9e\\]{--tw-text-opacity:1;color:rgb(158 158 158/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-t_button_pr_off_text{--tw-text-opacity:1;color:color-mix(in srgb,var(--button-pr-off-text) calc(var(--tw-text-opacity,1) * 100%),transparent)}.text-t_button_pr_text{--tw-text-opacity:1;color:color-mix(in srgb,var(--button-pr-text) calc(var(--tw-text-opacity,1) * 100%),transparent)}.text-t_success_light{--tw-text-opacity:1;color:color-mix(in srgb,var(--success-light) calc(var(--tw-text-opacity,1) * 100%),transparent)}.text-t_text_green{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-green) calc(var(--tw-text-opacity,1) * 100%),transparent)}.text-t_text_orange{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-orange) calc(var(--tw-text-opacity,1) * 100%),transparent)}.text-t_text_primary{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-primary) calc(var(--tw-text-opacity,1) * 100%),transparent)}.text-t_text_red{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-red) calc(var(--tw-text-opacity,1) * 100%),transparent)}.text-t_text_secondary{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-secondary) calc(var(--tw-text-opacity,1) * 100%),transparent)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-x_alert_light{--tw-text-opacity:1;color:rgb(255 226 183/var(--tw-text-opacity,1))}.\\!text-opacity-50{--tw-text-opacity:0.5 !important}.text-opacity-10{--tw-text-opacity:0.1}.text-opacity-50{--tw-text-opacity:0.5}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:0.2}.opacity-50{opacity:0.5}.opacity-60{opacity:0.6}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[0_0_6px_rgba\\(255\\2c 0\\2c 0\\2c 0\\.5\\)\\]{--tw-shadow:0 0 6px rgba(255,0,0,0.5);--tw-shadow-colored:0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[0_0_6px_rgba\\(255\\2c 165\\2c 0\\2c 0\\.5\\)\\]{--tw-shadow:0 0 6px rgba(255,165,0,0.5);--tw-shadow-colored:0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0/0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline-0{outline-width:0px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-200{transition-duration:200ms}.duration-300{transition-duration:300ms}:host{color:white;line-height:1.5rem;font-size:1rem;*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--bg-tertiary) 15%,transparent) var(--bg-primary)}*::-webkit-scrollbar{width:4px}*::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}*::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--bg-tertiary) 15%,transparent);border-radius:4px}}.SnackbarContainer-top,.notistack-SnackbarContainer{top:100px !important}.hover\\:selected-chain-item:hover{border-radius:1rem;border-color:color-mix(in srgb,var(--text-primary) calc(var(--tw-border-opacity,1) * 100%),transparent);--tw-border-opacity:0.1;background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity,1) * 100%),transparent);--tw-bg-opacity:0.1}.hover\\:selected-wallet-item:hover{border-radius:1rem;border-color:color-mix(in srgb,var(--text-primary) calc(var(--tw-border-opacity,1) * 100%),transparent);--tw-border-opacity:0.1;background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity,1) * 100%),transparent);--tw-bg-opacity:0.1}.placeholder\\:text-t_text_primary\\/20::placeholder{color:color-mix(in srgb,var(--text-primary) calc(0.2 * 100%),transparent)}.hover\\:cursor-default:hover{cursor:default}.hover\\:cursor-pointer:hover{cursor:pointer}.hover\\:bg-t_bg_tertiary:hover{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity,1) * 100%),transparent)}.hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-t_main_accent_light:hover{--tw-gradient-from:color-mix(in srgb,var(--main-accent-light) calc(1 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:color-mix(in srgb,var(--main-accent-light) calc(0 * 100%),transparent) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-t_main_accent_dark:hover{--tw-gradient-to:color-mix(in srgb,var(--main-accent-dark) calc(1 * 100%),transparent) var(--tw-gradient-to-position)}.hover\\:fill-t_main_accent_light:hover{fill:color-mix(in srgb,var(--main-accent-light) calc(1 * 100%),transparent)}.hover\\:opacity-100:hover{opacity:1}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.group:hover .group-hover\\:opacity-100{opacity:1}@media (min-width:640px){.sm\\:grid{display:grid}.sm\\:w-auto{width:auto}.sm\\:grid-flow-col{grid-auto-flow:column}.sm\\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.sm\\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.sm\\:text-sm{font-size:0.875rem;line-height:1.25rem}}
|
|
@@ -87,8 +87,8 @@ nuik2Z3UwnCBNAiE2pBa3qQbD26+YBAnrbNmr4xK8wpDThAKwhdiuoIjum4saQg0VdFRVSxiR01e
|
|
|
87
87
|
+tHaDt+BgfDlGm2DttBa4/DGMuCH953whNoGi6isW570Vx/IE8K2bFvZCKFspI1QCiFtbGWDUgih
|
|
88
88
|
EEYyDQde+0pTfR+Wmen0BJLu0r6ONsMwNA4n0jC0MEyNMBVG+JhcW37DNCMzk6fe0P6/6ZaOfwAl
|
|
89
89
|
LqsAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjQtMDUtMjdUMTE6NTQ6MjkrMDA6MDCo6mafAAAAJXRF
|
|
90
|
-
WHRkYXRlOm1vZGlmeQAyMDI0LTA1LTI3VDExOjU0OjI5KzAwOjAw2bfeIwAAAABJRU5ErkJggg==`})});import{jsx as cm}from"react/jsx-runtime";var dm=()=>cm("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:cm("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M5.89761 2.45159L5.12155 4.38335C4.92404 4.875 4.56316 5.26745 4.11108 5.48225L2.33478 6.32623L4.11108 7.17021C4.56316 7.38501 4.92404 7.77746 5.12155 8.26911L5.89761 10.2009L6.67367 8.26911C6.87118 7.77746 7.23206 7.38501 7.68414 7.17021L9.46044 6.32623L7.68414 5.48225C7.23206 5.26745 6.87118 4.875 6.67367 4.38335L5.89761 2.45159ZM11.6352 7.3349C11.4478 7.35272 11.2681 7.47472 11.1863 7.70089L10.5417 9.48369C10.4927 9.61935 10.3985 9.72999 10.2779 9.79365L8.66756 10.6438C8.26644 10.8556 8.26644 11.477 8.66756 11.6888L10.2779 12.539C10.3985 12.6026 10.4927 12.7133 10.5417 12.8489L11.1863 14.6317C11.3639 15.1228 12.0028 15.1228 12.1804 14.6317L12.825 12.8489C12.874 12.7133 12.9682 12.6026 13.0888 12.539L14.6992 11.6888C15.1003 11.477 15.1003 10.8556 14.6992 10.6438L13.0888 9.79365C12.9682 9.72999 12.874 9.61935 12.825 9.48369L12.1804 7.70089C12.0846 7.43603 11.8546 7.31403 11.6352 7.3349ZM8.11177 8.23467C7.90628 8.33231 7.74225 8.51069 7.65247 8.73417L6.71328 11.072C6.40235 11.8459 5.39287 11.846 5.08194 11.072L4.14275 8.73417C4.05297 8.51069 3.88894 8.33231 3.68344 8.23467L1.53375 7.21328C0.822083 6.87514 0.822082 5.77732 1.53375 5.43918L3.68344 4.41779C3.88894 4.32015 4.05297 4.14177 4.14275 3.91829L5.08194 1.58047C5.39287 0.806512 6.40235 0.806511 6.71328 1.58047L7.65247 3.91829C7.74225 4.14177 7.90628 4.32015 8.11177 4.41779L10.2615 5.43918C10.6624 5.6297 10.8375 6.06138 10.7866 6.46247C10.7472 6.77325 10.5722 7.06566 10.2615 7.21328L8.11177 8.23467ZM11.6834 9.50062L11.5358 9.90876C11.3886 10.3157 11.1062 10.6477 10.7444 10.8386L10.1237 11.1663L10.7444 11.494C11.1062 11.6849 11.3886 12.0169 11.5358 12.4239L11.6834 12.832L11.8309 12.4239C11.9781 12.0169 12.2606 11.6849 12.6223 11.494L13.243 11.1663L12.6223 10.8386C12.2606 10.6477 11.9781 10.3157 11.8309 9.90876L11.6834 9.50062Z",fill:"white"})});import{createContext as Mg,useCallback as sc,useContext as Og,useMemo as Bg,useState as fm}from"react";import{useAccount as Lg,useConnect as Dg,useDisconnect as Fg}from"wagmi";import{useWallet as Ug}from"@solana/wallet-adapter-react";import{jsx as Vg}from"react/jsx-runtime";var lm=Mg({}),um=({children:t})=>{let[e,r]=fm(!1),[n,o]=fm(!1),{address:a,isConnected:i,chainId:s}=Lg(),{connect:c,connectors:d}=Dg(),{disconnect:f}=Fg(),u=Ug(),x=sc(async()=>{c({connector:d[0]})},[c,d]),m=sc(async()=>{await u.connect()},[u]),p=sc(()=>new Promise(b=>b(f())),[f]),h=sc(()=>u.disconnect(),[u]),w=Bg(()=>({evm:{address:a?.toString(),isConnected:i,chainId:s?.toString(),connectWallet:x,disconnectWallet:p},solana:{address:u.publicKey?.toBase58(),isConnected:!!u.publicKey,chainId:"mainnet-beta",connectWallet:m,disconnectWallet:h}}),[a,i,s,x,p,u.publicKey,m,h]);return Vg(lm.Provider,{value:{openEVMWalletModal:e,setOpenEVMWalletModal:r,openSolanaWalletModal:n,setOpenSolanaWalletModal:o,...w},children:t})},Ft=()=>Og(lm);import{useMemo as Kg}from"react";var gi=()=>Kg(()=>({query:async(t,e,r=[])=>t?.provider?await t[e](...r):null,execute:async(t,e,r=[],n={})=>{try{if(t?.provider){let o=await t.estimateGas[e](...r,n);return n.gasLimit||(n.gasLimit=Math.floor(o.toNumber()*xd)),await t[e](...r,n)}return null}catch(o){let a;try{a=t?.interface.parseError(o?.error?.data?.data)}catch{throw o?.error?.data?.message?new Error(o?.error?.data?.message):o}throw new Error(a?.name)}},executeCalldata:async(t,e)=>{try{let r=await t.estimateGas({...e});return await t.sendTransaction({...e,gasLimit:Math.floor(r.toNumber()*xd)})}catch(r){throw r?.error?.data?.message?new Error(r?.error?.data?.message):r}}}),[]),Ed=gi;import{useCallback as GI}from"react";import{useCallback as Hg,useRef as Wg}from"react";var pm=({delayMs:t,instantExecution:e})=>{let r=Wg(null);return{debounce:Hg(o=>{r.current&&(clearTimeout(r.current),r.current=null),e&&e(),r.current=setTimeout(o,t)},[t,e])}};import{useCallback as $I}from"react";var eN=new ie.utils.Interface(d1);import{Program as Jg}from"@coral-xyz/anchor";var cc={version:"0.1.0",name:"jupiter",instructions:[{name:"route",docs:["route_plan Topologically sorted trade DAG"],accounts:[{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"userTransferAuthority",isMut:!1,isSigner:!0},{name:"userSourceTokenAccount",isMut:!0,isSigner:!1},{name:"userDestinationTokenAccount",isMut:!0,isSigner:!1},{name:"destinationTokenAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"destinationMint",isMut:!1,isSigner:!1},{name:"platformFeeAccount",isMut:!0,isSigner:!1,isOptional:!0}],args:[{name:"routePlan",type:{vec:{defined:"RoutePlanStep"}}},{name:"inAmount",type:"u64"},{name:"quotedOutAmount",type:"u64"},{name:"slippageBps",type:"u16"},{name:"platformFeeBps",type:"u8"}],returns:"u64"},{name:"routeWithTokenLedger",accounts:[{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"userTransferAuthority",isMut:!1,isSigner:!0},{name:"userSourceTokenAccount",isMut:!0,isSigner:!1},{name:"userDestinationTokenAccount",isMut:!0,isSigner:!1},{name:"destinationTokenAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"destinationMint",isMut:!1,isSigner:!1},{name:"platformFeeAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"tokenLedger",isMut:!1,isSigner:!1}],args:[{name:"routePlan",type:{vec:{defined:"RoutePlanStep"}}},{name:"quotedOutAmount",type:"u64"},{name:"slippageBps",type:"u16"},{name:"platformFeeBps",type:"u8"}],returns:"u64"},{name:"sharedAccountsRoute",docs:["Route by using program owned token accounts and open orders accounts."],accounts:[{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"programAuthority",isMut:!1,isSigner:!1},{name:"userTransferAuthority",isMut:!1,isSigner:!0},{name:"sourceTokenAccount",isMut:!0,isSigner:!1},{name:"programSourceTokenAccount",isMut:!0,isSigner:!1},{name:"programDestinationTokenAccount",isMut:!0,isSigner:!1},{name:"destinationTokenAccount",isMut:!0,isSigner:!1},{name:"sourceMint",isMut:!1,isSigner:!1},{name:"destinationMint",isMut:!1,isSigner:!1},{name:"platformFeeAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"token2022Program",isMut:!1,isSigner:!1,isOptional:!0}],args:[{name:"id",type:"u8"},{name:"routePlan",type:{vec:{defined:"RoutePlanStep"}}},{name:"inAmount",type:"u64"},{name:"quotedOutAmount",type:"u64"},{name:"slippageBps",type:"u16"},{name:"platformFeeBps",type:"u8"}],returns:"u64"},{name:"sharedAccountsRouteWithTokenLedger",accounts:[{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"programAuthority",isMut:!1,isSigner:!1},{name:"userTransferAuthority",isMut:!1,isSigner:!0},{name:"sourceTokenAccount",isMut:!0,isSigner:!1},{name:"programSourceTokenAccount",isMut:!0,isSigner:!1},{name:"programDestinationTokenAccount",isMut:!0,isSigner:!1},{name:"destinationTokenAccount",isMut:!0,isSigner:!1},{name:"sourceMint",isMut:!1,isSigner:!1},{name:"destinationMint",isMut:!1,isSigner:!1},{name:"platformFeeAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"token2022Program",isMut:!1,isSigner:!1,isOptional:!0},{name:"tokenLedger",isMut:!1,isSigner:!1}],args:[{name:"id",type:"u8"},{name:"routePlan",type:{vec:{defined:"RoutePlanStep"}}},{name:"quotedOutAmount",type:"u64"},{name:"slippageBps",type:"u16"},{name:"platformFeeBps",type:"u8"}],returns:"u64"},{name:"exactOutRoute",accounts:[{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"userTransferAuthority",isMut:!1,isSigner:!0},{name:"userSourceTokenAccount",isMut:!0,isSigner:!1},{name:"userDestinationTokenAccount",isMut:!0,isSigner:!1},{name:"destinationTokenAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"sourceMint",isMut:!1,isSigner:!1},{name:"destinationMint",isMut:!1,isSigner:!1},{name:"platformFeeAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"token2022Program",isMut:!1,isSigner:!1,isOptional:!0}],args:[{name:"routePlan",type:{vec:{defined:"RoutePlanStep"}}},{name:"outAmount",type:"u64"},{name:"quotedInAmount",type:"u64"},{name:"slippageBps",type:"u16"},{name:"platformFeeBps",type:"u8"}],returns:"u64"},{name:"sharedAccountsExactOutRoute",docs:["Route by using program owned token accounts and open orders accounts."],accounts:[{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"programAuthority",isMut:!1,isSigner:!1},{name:"userTransferAuthority",isMut:!1,isSigner:!0},{name:"sourceTokenAccount",isMut:!0,isSigner:!1},{name:"programSourceTokenAccount",isMut:!0,isSigner:!1},{name:"programDestinationTokenAccount",isMut:!0,isSigner:!1},{name:"destinationTokenAccount",isMut:!0,isSigner:!1},{name:"sourceMint",isMut:!1,isSigner:!1},{name:"destinationMint",isMut:!1,isSigner:!1},{name:"platformFeeAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"token2022Program",isMut:!1,isSigner:!1,isOptional:!0}],args:[{name:"id",type:"u8"},{name:"routePlan",type:{vec:{defined:"RoutePlanStep"}}},{name:"outAmount",type:"u64"},{name:"quotedInAmount",type:"u64"},{name:"slippageBps",type:"u16"},{name:"platformFeeBps",type:"u8"}],returns:"u64"},{name:"setTokenLedger",accounts:[{name:"tokenLedger",isMut:!0,isSigner:!1},{name:"tokenAccount",isMut:!1,isSigner:!1}],args:[]},{name:"createOpenOrders",accounts:[{name:"openOrders",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"dexProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"market",isMut:!1,isSigner:!1}],args:[]},{name:"createTokenAccount",accounts:[{name:"tokenAccount",isMut:!0,isSigner:!1},{name:"user",isMut:!0,isSigner:!0},{name:"mint",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"bump",type:"u8"}]},{name:"createProgramOpenOrders",accounts:[{name:"openOrders",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"programAuthority",isMut:!1,isSigner:!1},{name:"dexProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"market",isMut:!1,isSigner:!1}],args:[{name:"id",type:"u8"}]},{name:"claim",accounts:[{name:"wallet",isMut:!0,isSigner:!1},{name:"programAuthority",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"id",type:"u8"}],returns:"u64"},{name:"claimToken",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"wallet",isMut:!1,isSigner:!1},{name:"programAuthority",isMut:!1,isSigner:!1},{name:"programTokenAccount",isMut:!0,isSigner:!1},{name:"destinationTokenAccount",isMut:!0,isSigner:!1},{name:"mint",isMut:!1,isSigner:!1},{name:"associatedTokenTokenProgram",isMut:!1,isSigner:!1},{name:"associatedTokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"id",type:"u8"}],returns:"u64"},{name:"createTokenLedger",accounts:[{name:"tokenLedger",isMut:!0,isSigner:!0},{name:"payer",isMut:!0,isSigner:!0},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]}],accounts:[{name:"TokenLedger",type:{kind:"struct",fields:[{name:"tokenAccount",type:"publicKey"},{name:"amount",type:"u64"}]}}],types:[{name:"AmountWithSlippage",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"slippageBps",type:"u16"}]}},{name:"RoutePlanStep",type:{kind:"struct",fields:[{name:"swap",type:{defined:"Swap"}},{name:"percent",type:"u8"},{name:"inputIndex",type:"u8"},{name:"outputIndex",type:"u8"}]}},{name:"PlatformFeeType",type:{kind:"enum",variants:[{name:"SourceMint",fields:[{name:"mint",type:"publicKey"}]},{name:"DestinationMint",fields:[{name:"mint",type:"publicKey"}]},{name:"Zero"}]}},{name:"Side",type:{kind:"enum",variants:[{name:"Bid"},{name:"Ask"}]}},{name:"Swap",type:{kind:"enum",variants:[{name:"Saber"},{name:"SaberAddDecimalsDeposit"},{name:"SaberAddDecimalsWithdraw"},{name:"TokenSwap"},{name:"Sencha"},{name:"Step"},{name:"Cropper"},{name:"Raydium"},{name:"Crema",fields:[{name:"aToB",type:"bool"}]},{name:"Lifinity"},{name:"Mercurial"},{name:"Cykura"},{name:"Serum",fields:[{name:"side",type:{defined:"Side"}}]},{name:"MarinadeDeposit"},{name:"MarinadeUnstake"},{name:"Aldrin",fields:[{name:"side",type:{defined:"Side"}}]},{name:"AldrinV2",fields:[{name:"side",type:{defined:"Side"}}]},{name:"Whirlpool",fields:[{name:"aToB",type:"bool"}]},{name:"Invariant",fields:[{name:"xToY",type:"bool"}]},{name:"Meteora"},{name:"GooseFX"},{name:"DeltaFi",fields:[{name:"stable",type:"bool"}]},{name:"Balansol"},{name:"MarcoPolo",fields:[{name:"xToY",type:"bool"}]},{name:"Dradex",fields:[{name:"side",type:{defined:"Side"}}]},{name:"LifinityV2"},{name:"RaydiumClmm"},{name:"Openbook",fields:[{name:"side",type:{defined:"Side"}}]},{name:"Phoenix",fields:[{name:"side",type:{defined:"Side"}}]},{name:"Symmetry",fields:[{name:"fromTokenId",type:"u64"},{name:"toTokenId",type:"u64"}]},{name:"TokenSwapV2"},{name:"HeliumTreasuryManagementRedeemV0"},{name:"StakeDexStakeWrappedSol"},{name:"StakeDexSwapViaStake",fields:[{name:"bridgeStakeSeed",type:"u32"}]},{name:"GooseFXV2"},{name:"Perps"},{name:"PerpsAddLiquidity"},{name:"PerpsRemoveLiquidity"},{name:"MeteoraDlmm"},{name:"OpenBookV2",fields:[{name:"side",type:{defined:"Side"}}]},{name:"RaydiumClmmV2"},{name:"StakeDexPrefundWithdrawStakeAndDepositStake",fields:[{name:"bridgeStakeSeed",type:"u32"}]},{name:"Clone",fields:[{name:"poolIndex",type:"u8"},{name:"quantityIsInput",type:"bool"},{name:"quantityIsCollateral",type:"bool"}]},{name:"SanctumS",fields:[{name:"srcLstValueCalcAccs",type:"u8"},{name:"dstLstValueCalcAccs",type:"u8"},{name:"srcLstIndex",type:"u32"},{name:"dstLstIndex",type:"u32"}]},{name:"SanctumSAddLiquidity",fields:[{name:"lstValueCalcAccs",type:"u8"},{name:"lstIndex",type:"u32"}]},{name:"SanctumSRemoveLiquidity",fields:[{name:"lstValueCalcAccs",type:"u8"},{name:"lstIndex",type:"u32"}]},{name:"RaydiumCP"},{name:"WhirlpoolSwapV2",fields:[{name:"aToB",type:"bool"},{name:"remainingAccountsInfo",type:{option:{defined:"RemainingAccountsInfo"}}}]},{name:"OneIntro"},{name:"PumpdotfunWrappedBuy"},{name:"PumpdotfunWrappedSell"},{name:"PerpsV2"},{name:"PerpsV2AddLiquidity"},{name:"PerpsV2RemoveLiquidity"},{name:"MoonshotWrappedBuy"},{name:"MoonshotWrappedSell"},{name:"StabbleStableSwap"},{name:"StabbleWeightedSwap"},{name:"Obric",fields:[{name:"xToY",type:"bool"}]},{name:"FoxBuyFromEstimatedCost"},{name:"FoxClaimPartial",fields:[{name:"isY",type:"bool"}]},{name:"SolFi",fields:[{name:"isQuoteToBase",type:"bool"}]}]}},{name:"RemainingAccountsSlice",type:{kind:"struct",fields:[{name:"accountsType",type:{defined:"AccountsType"}},{name:"length",type:"u8"}]}},{name:"RemainingAccountsInfo",type:{kind:"struct",fields:[{name:"slices",type:{vec:{defined:"RemainingAccountsSlice"}}}]}},{name:"AccountsType",type:{kind:"enum",variants:[{name:"TransferHookA"},{name:"TransferHookB"}]}}],events:[{name:"SwapEvent",fields:[{name:"amm",type:"publicKey",index:!1},{name:"inputMint",type:"publicKey",index:!1},{name:"inputAmount",type:"u64",index:!1},{name:"outputMint",type:"publicKey",index:!1},{name:"outputAmount",type:"u64",index:!1}]},{name:"FeeEvent",fields:[{name:"account",type:"publicKey",index:!1},{name:"mint",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]}],errors:[{code:6e3,name:"EmptyRoute",msg:"Empty route"},{code:6001,name:"SlippageToleranceExceeded",msg:"Slippage tolerance exceeded"},{code:6002,name:"InvalidCalculation",msg:"Invalid calculation"},{code:6003,name:"MissingPlatformFeeAccount",msg:"Missing platform fee account"},{code:6004,name:"InvalidSlippage",msg:"Invalid slippage"},{code:6005,name:"NotEnoughPercent",msg:"Not enough percent to 100"},{code:6006,name:"InvalidInputIndex",msg:"Token input index is invalid"},{code:6007,name:"InvalidOutputIndex",msg:"Token output index is invalid"},{code:6008,name:"NotEnoughAccountKeys",msg:"Not Enough Account keys"},{code:6009,name:"NonZeroMinimumOutAmountNotSupported",msg:"Non zero minimum out amount not supported"},{code:6010,name:"InvalidRoutePlan",msg:"Invalid route plan"},{code:6011,name:"InvalidReferralAuthority",msg:"Invalid referral authority"},{code:6012,name:"LedgerTokenAccountDoesNotMatch",msg:"Token account doesn't match the ledger"},{code:6013,name:"InvalidTokenLedger",msg:"Invalid token ledger"},{code:6014,name:"IncorrectTokenProgramID",msg:"Token program ID is invalid"},{code:6015,name:"TokenProgramNotProvided",msg:"Token program not provided"},{code:6016,name:"SwapNotSupported",msg:"Swap not supported"},{code:6017,name:"ExactOutAmountNotMatched",msg:"Exact out amount doesn't match"},{code:6018,name:"SourceAndDestinationMintCannotBeTheSame",msg:"Source mint and destination mint cannot the same"}]};import{utils as mm}from"@coral-xyz/anchor";function xm(t,e){let r=[];if(e&&e.meta){let{meta:n}=e;n.innerInstructions?.map(async o=>{o.instructions.map(async a=>{if(!a.programId.equals(ui)||!("data"in a))return;let i=mm.bytes.bs58.decode(a.data),s=mm.bytes.base64.encode(i.subarray(8)),c=t.coder.events.decode(s);c&&r.push(c)})})}return r}import{BorshCoder as Gg}from"@coral-xyz/anchor";var dc=class{constructor(e){this.programId=e,this.coder=new Gg(cc)}getInstructionNameAndTransferAuthorityAndLastAccount(e){for(let r of e){if(!r.programId.equals(this.programId))continue;let n=this.coder.instruction.decode(r.data,"base58");if(n&&r&&this.isRouting(n.name)){let o=n.name,a=this.getTransferAuthorityIndex(o);if(a===void 0)continue;let i=r.accounts[a]?.toString()||"",s=r.accounts[r.accounts.length-1]?.toString()||"";return[n.name,i,s]}}return[]}getTransferAuthorityIndex(e){switch(e){case"route":case"exactOutRoute":case"routeWithTokenLedger":return 1;case"sharedAccountsRoute":case"sharedAccountsRouteWithTokenLedger":case"sharedAccountsExactOutRoute":return 2}}getInstructions(e){let r=[];for(let n of e.transaction.message.instructions)n.programId.equals(this.programId)&&r.push(n);for(let n of e.meta?.innerInstructions||[])for(let o of n.instructions)o.programId.equals(this.programId)&&r.push(o);return r}getInitialAndFinalSwapPositions(e){for(let r of e){if(!r.programId.equals(this.programId))continue;let n=this.coder.instruction.decode(r.data,"base58");if(n&&this.isRouting(n.name)){let o=n.data.routePlan,a=0,i=o.length,s=[];for(let d=0;d<o.length;d++)o[d].inputIndex===a&&s.push(d);let c=[];for(let d=0;d<o.length;d++)o[d].outputIndex===i&&c.push(d);if(c.length===0&&this.isCircular(n.data.routePlan))for(let d=0;d<n.data.routePlan.length;d++)n.data.routePlan[d].outputIndex===0&&c.push(d);return[s,c]}}}getExactOutAmount(e){for(let r of e){if(!r.programId.equals(this.programId)||!("data"in r))continue;let n=this.coder.instruction.decode(r.data,"base58");if(n&&this.isExactIn(n.name))return n.data.quotedOutAmount.toString()}}getExactInAmount(e){for(let r of e){if(!r.programId.equals(this.programId)||!("data"in r))continue;let n=this.coder.instruction.decode(r.data,"base58");if(n&&this.isExactOut(n.name))return n.data.quotedInAmount.toString()}}isExactIn(e){return e==="route"||e==="routeWithTokenLedger"||e==="sharedAccountsRoute"||e==="sharedAccountsRouteWithTokenLedger"}isExactOut(e){return e==="sharedAccountsExactOutRoute"||e==="exactOutRoute"}isRouting(e){return e==="route"||e==="routeWithTokenLedger"||e==="sharedAccountsRoute"||e==="sharedAccountsRouteWithTokenLedger"||e==="sharedAccountsExactOutRoute"||e==="exactOutRoute"}isCircular(e){if(!e||e.length===0)return!1;let r=new Map(e.map(a=>[a.inputIndex,a.outputIndex])),n=new Set,o=e[0].inputIndex;for(;!n.has(o);){if(n.has(o))return o===e[0].inputIndex;if(n.add(o),!r.has(o))return!1;o=r.get(o)}}};import fc from"bignumber.js";var bi=class{static fromBigInt(e,r=0){return new fc(e.toString()).div(new fc(10).pow(r))}static fromBN(e,r=0){return new fc(e.toString()).div(new fc(10).pow(r))}},qg=["JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4","JUP4Fb2cqiRUcaTHdrPC8h2gNsA2ETXiPDD33WcGuJB","JUP2jxvXaqu7NQY1GmNF4m1vodw12LVXYxbFL2uJvfo","JUP3c2Uh3WA4Ng34tw6kPd2G4C5BB21Xo36Je1s32Ph"],hm=t=>{if(!t||!t.transaction||!t.transaction.message)return!1;for(let e of t.meta?.innerInstructions||[])for(let r of e.instructions){let n=r.programId?.toString();if(n&&qg.includes(n))return!0}return!1};import lc from"bignumber.js";import{unpackMint as zg}from"@solana/spl-token";var Qg=new Jg(cc,ui,{}),Xg=(t,e)=>t.reduce((r,n)=>(n.name===e&&r.push(n.data),r),new Array);async function bm(t,e,r){let n=ui,o=new Map;if(!r.meta?.logMessages)throw new Error("Missing log messages...");let i=new dc(n),s=xm(Qg,r),c=Xg(s,"SwapEvent");if(c.length===0)return;let d=new Array;c.forEach(J=>{d.push(J.inputMint),d.push(J.outputMint)});let f=await e.getMultipleAccountsInfo(d);d.forEach((J,M)=>{let H=f[M];H&&o.set(J.toBase58(),H)});let u=await Zg(o,c),x=i.getInstructions(r),m=i.getInitialAndFinalSwapPositions(x);if(!m)throw new Error("Failed to get initial and final swap positions");let[p,h]=m,w=p[0],b=h[0],T=u[w]?.inMint,O=u.filter((J,M)=>p?.includes(M)&&J.inMint===T).reduce((J,M)=>J.plus(new lc(M.inAmount||"0")),new lc(0)),C=u[b]?.outMint,P=u.filter((J,M)=>h?.includes(M)&&J.outMint===C).reduce((J,M)=>J.plus(new lc(M.outAmount||"0")),new lc(0)),L=r.meta?.status?.Ok===null,F={};return F.hash=t,F.timestamp=r.blockTime??0,F.amountWei=O.toString(),F.tokenAddress=T,F.tokenOutAmount=P.toString(),F.tokenOutAddress=C,F.sourceChainId="mainnet-beta",F.targetChainId="mainnet-beta",F.status=L?"DONE":"REVERTED",F}async function Zg(t,e){return await Promise.all(e.map(n=>Yg(t,n)))}async function Yg(t,e){let r=e.inputMint.toBase58(),n=e.inputAmount.toString(),o=gm(t,e.inputMint),a=bi.fromBN(e.inputAmount,o),i=e.outputMint.toBase58(),s=e.outputAmount.toString(),c=gm(t,e.outputMint),d=bi.fromBN(e.outputAmount,c);return{inMint:r,inAmount:n,inAmountInDecimal:a,outMint:i,outAmount:s,outAmountInDecimal:d}}function gm(t,e){let r=t.get(e.toBase58());if(r)return zg(e,r,r.owner).decimals}import $g from"bignumber.js";import{useSnackbar as e6}from"notistack";import{createContext as t6,useCallback as uc,useContext as r6,useEffect as pc,useMemo as n6,useState as mc}from"react";import{jsx as ma,jsxs as a6}from"react/jsx-runtime";var wm=t6({}),vm="pending_transactions",Pd=()=>Ke?{}:JSON.parse(localStorage.getItem(vm)||"{}"),Id=t=>{Ke||localStorage.setItem(vm,JSON.stringify(t))};async function o6(t){let e=[];for(let r=0;r<t.length;r++)try{let n=t[r];if(!n)continue;let o=n.transaction.signatures[0];if(!o)continue;let a=new ym(eo,"confirmed"),i=await bm(o,a,n);i&&e.push(i)}catch(n){console.error("Error processing transaction:",n)}return e}var Am=({children:t})=>{let{evm:e,solana:r}=Ft(),{address:n}=e,{address:o}=r,[a,i]=mc([]),[s,c]=mc([]),[d,f]=mc(!1),[u,x]=mc(!1),{enqueueSnackbar:m,closeSnackbar:p}=e6(),{debounce:h}=pm({delayMs:600});pc(()=>{Ke||localStorage.removeItem("transactions-history")},[]);let w=async(P,L=50)=>{let F=new ym(eo,"confirmed"),J=new jg(P);try{let M=await F.getSignaturesForAddress(J,{limit:L}),G=(await F.getParsedTransactions(M.map(z=>z.signature),{maxSupportedTransactionVersion:0})).filter(z=>!!z).filter(z=>hm(z));return await o6(G)}catch(M){return console.error("Error fetching transactions:",M),[]}},b=async()=>{if(!o){x(!0);return}try{let P=await w(o);i(P)}finally{x(!0)}};pc(()=>{o?b():(i([]),x(!0))},[o]);let T=uc(async()=>{try{if(!n)return;let P=[],L=await w1({walletAddress:n});for(let H of L.history){if(!H.source)continue;let G;H.failed&&(G="REVERTED"),H.target?G="DONE":G="IN_PROGRESS";let X=new Date(H.source?.blockTime).getTime(),z=Qs;if(new $g(H.source.valueForInstantCcipRecieve||"0").gt(0))z=X+30*1e3;else{let te=X+qs?.[H.source.blockchainId]?.[H.source.targetBlockchainId];te&&(z=te)}P.push({messageId:H.messageId,hash:H.source.transactionHash,timestamp:X/1e3,sourceChainId:H.source.blockchainId,targetChainId:H.source.targetBlockchainId,amountWei:H.source.tokenAmount,tokenAddress:H.source.tokenAddress,tokenOutAddress:H.target?.tokenAddress||H.source.tokenOutAddress,tokenOutAmount:H.target?.tokenAmount||H.source.estimatedAmountOut,estimatedDeliveryTimestamp:z,status:G})}let F={};for(let H of P)F[H.hash]=H;let J=Pd(),M={};for(let[H,G]of Object.entries(J)){if(H.toLowerCase()!==n.toLowerCase())continue;let X=[];for(let z of G){let te=z.hash,j=F[te];if(!j){P.push(z),X.push(z);continue}j&&z.status==="DONE"&&j?.status==="IN_PROGRESS"&&(j.status="DONE"),j.status==="DONE"||j.status}M[H.toLowerCase()]=X}Id(M),c(P.sort((H,G)=>G.timestamp-H.timestamp))}catch(P){console.error(P),m(ma(Xr,{message:{text:"Failed to fetch history!",variant:"error"}}),{persist:!1})}finally{f(!0)}},[n,m]);pc(()=>{d||h(T);let P=setInterval(()=>{h(T)},6e4);return()=>clearInterval(P)},[n,T,h,d]);let k=uc((P,L)=>{c(F=>{let J=F.filter(H=>H.hash!==P.hash),M=Pd();return Id({...M,[L]:[P,...J]}),[P,...J]})},[]),O=uc(P=>{m(ma(Xr,{message:{text:"Destination chain transaction mined successfully!",variant:"success",action:()=>a6("div",{className:"flex items-center flex-nowrap",children:[ma(Dt,{type:"button",onClick:()=>{window.open(`${la}${P}`)},children:"View"}),ma("div",{className:"transaction-provider__close fill-white leading-[0px]",onClick:()=>p(P),children:ma(Me,{})})]})}}),{persist:!1,key:P})},[p,m]),C=uc((P,L)=>{c(F=>{let J=F.map(H=>H.hash===P.hash&&H.status!=="DONE"?P:H),M=Pd();switch(Id({...M,[L]:[...J]}),P.status){case"DONE":{O(P.hash);break}case"REVERTED":break}return[...J]})},[O]);pc(()=>{f(!1),x(!1),c([]),i([])},[n,o]);let B=n6(()=>({history:s,addTransactionToLocalHistory:k,updateTransactionInLocalHistory:C,historyLoadedOnce:d,solanaHistory:a,solanaHistoryLoadedOnce:u}),[s,k,C,d,a,u]);return ma(wm.Provider,{value:B,children:t})};function xa(){return r6(wm)}import km from"bignumber.js";import{createContext as d6,useCallback as ha,useContext as f6,useEffect as et,useMemo as He,useRef as Em,useState as Se}from"react";var Cm=({supportedChains:t})=>{let e=t.find(r=>r.chainId===fa)||t[0];if(!e)throw new Error("getDefaultSourceChain > couldn't find default source chain");return e},Sm=({supportedChains:t})=>{let e=t.find(r=>r.chainId===zs)||t[0];if(!e)throw new Error("getDefaultDestinationChain > couldn't find default destination chain");return e},xc=(t,e,r,n)=>{if(!t.tokens.some(s=>s.supported))return;let a=t.tokens.find(s=>s.address.toLowerCase()===e.toLowerCase()&&s.supported);if(a)return a;let i=t.tokens.find(s=>r?s.supported&&s.tokenId!==n:s.supported);if(i)return i},i6=({chain:t,bridgeTokensDictionary:e})=>{if(!t)return;let r=t.tokens.find(o=>o.tokenId==="XSWAP");if(r)return r;let n=Object.keys(e[t.chainId]||{})[0];return t.tokens.find(o=>o.address.toLowerCase()===n?.toLowerCase())},Nd=t=>t.swapSupported,Rd=({sourceChain:t,targetChain:e})=>{if(!t)throw new Error("isSwapTargetChainValid > sourceChain should be defined.");return e.swapSupported&&t.supportedDstForSwap?.includes(e.chainId)},_d=t=>!t||t.bridgeSupported,Tm=({sourceChain:t,targetChain:e,sourceToken:r})=>{let n=!0,o=!0,a=!1;return t&&e&&(n=!!t.supportedDstForBridge?.includes(e.chainId)),r&&e&&(o=!!e.tokens.find(i=>i.tokenId===r.tokenId)),t&&e&&(a=t.chainId===e.chainId),o&&!a&&n},s6=({source:t,target:e,supportedChains:r})=>{let n=t.chain||Cm({supportedChains:r}),o=e.chain||Sm({supportedChains:r}),a=t.token||xc(n,ud),i=e.token||xc(o,pd,n.chainId===o.chainId,a?.tokenId);if(!n||!o||!a||!i)return{source:{chain:void 0,token:void 0},target:{chain:void 0,token:void 0}};if(!Nd(n)&&(n=Cm({supportedChains:r}),a=void 0,!Nd(n)&&(console.error("[WRONG CONFIG] default swap source chain is invalid."),n=r.find(s=>Nd(s)),!n)))throw new Error("mapToValidSwap > None of the chains supports swap. Couldn't set source chain.");if(!Rd({sourceChain:n,targetChain:o})&&(o=Sm({supportedChains:r}),i=void 0,!Rd({sourceChain:n,targetChain:o})&&(console.error("[WRONG CONFIG] default swap target chain is invalid."),o=r.find(s=>Rd({sourceChain:n,targetChain:s})),!o)))throw new Error("mapToValidSwap > None of the chains supports swap. Couldn't set target chain.");return a=n.tokens.find(s=>s.tokenId===a?.tokenId&&s.supported),i=o.tokens.find(s=>s.tokenId===i?.tokenId&&s.supported),a||(a=xc(n,ud)),(!i||a===i)&&(i=xc(o,pd,n.chainId===o.chainId,a?.tokenId)),{source:{chain:n,token:a},target:{chain:o,token:i}}},c6=({source:t,target:e,supportedChains:r,bridgeTokensDictionary:n})=>{let o=t.chain,a=e.chain,i=t.token,s=e.token;if(!_d(o)&&(o=void 0,i=void 0,!_d(o)&&(console.error("[WRONG CONFIG] default bridge source chain is invalid."),o=r.find(c=>_d(c)),!o)))throw new Error("mapToValidSwap > None of the chains supports bridge. Couldn't set source chain.");if(Tm({sourceChain:o,targetChain:a,sourceToken:i})||(s=void 0,Tm({sourceChain:o,targetChain:a,sourceToken:i})||(a=void 0)),i&&o&&(i=o.tokens.find(c=>c.tokenId===i?.tokenId&&c.supported),i&&(Object.keys(n[o.chainId]?.[o.ecosystem==="solana"?i.address:i.address.toLowerCase()]||{}).length>0||(i=void 0))),s&&a&&(s=a.tokens.find(c=>c.tokenId===s?.tokenId&&c.supported)),!i){let c=i6({chain:o,bridgeTokensDictionary:n});c&&o&&a&&!!n[o.chainId]?.[c.address.toLowerCase()]?.[a.chainId]?i=c:i=void 0}if(i?.tokenId!==s?.tokenId&&(s=void 0),!s)if(i&&o&&a){let c=n[o.chainId]?.[o.ecosystem==="solana"?i.address:i.address.toLowerCase()]?.[a.chainId];s=a.tokens.find(f=>f.address.toLowerCase()===c?.toLowerCase())}else s=void 0;return!s&&i&&(a=void 0),{source:{chain:o,token:i},target:{chain:a,token:s}}},hc=({type:t,...e})=>t==="SWAP"?s6(e):c6(e);import{Connection as l6,PublicKey as u6}from"@solana/web3.js";import{jsx as p6}from"react/jsx-runtime";var Je=()=>{throw new Error("Not implemented")},_e={bridgeUI:!1,integrationConfig:{},supportedChains:[],tab:"Swap",overlay:!1,error:"",feeToken:void 0,srcChain:void 0,srcChainTokensOptions:[],srcChainOtherTokensOptions:[],tokenPrices:{},dstChain:void 0,dstChainTokensOptions:[],dstChainOtherTokensOptions:[],srcToken:void 0,dstTokenLocked:!1,dstChainLocked:!1,srcTokenLocked:!1,srcChainLocked:!1,dstToken:void 0,srcValue:"",srcValueWei:"",srcValueUsd:null,dstValue:"",dstValueWei:"",dstValueUsd:null,dstValueMin:"",expressDelivery:!0,infiniteApproval:!0,slippage:"1.5",route:void 0,isAsyncDataLoaded:!1,srcTokenBalanceWei:"",srcTokenBalanceInfo:"-",isFetchingBalance:!1,isFetchingBalances:!1,isFetchingRoute:!1,isExpressDeliveryActive:!0,setTab:Je,setError:Je,setSrcChain:Je,setDstChain:Je,setSrcToken:Je,setDstToken:Je,setSrcValue:Je,setExpressDelivery:Je,setInfiniteApproval:Je,setSlippage:Je,setRoute:Je,setSrcTokenBalanceWei:Je,quoteRoute:Je,refreshBalance:Je,findTokenDataByAddressAndChain:Je,bridgeTokensDictionary:null,onConnectWallet:Je,hasOnConnectWalletCallback:!1,srcChainOptions:[],dstChainOptions:[],addTokenToChainIfNotExists:Je},Pm=d6(_e),Im=({children:t,integrationConfig:e,supportedChains:r,overlay:n})=>{let{evm:o,solana:a}=Ft(),{address:i,chainId:s}=o,{address:c}=a,[d,f]=Se(!1),[u,x]=Se(_e.tab),[m,p]=Se(_e.error),[h,w]=Se(_e.expressDelivery),[b,T]=Se(_e.slippage),[k,O]=Se(_e.infiniteApproval),[C,B]=Se(_e.srcChain),[P,L]=Se(_e.dstChain),[F,J]=Se(_e.feeToken),[M,H]=Se(_e.srcToken),[G,X]=Se(_e.dstToken),[z,te]=Se(_e.tokenPrices),[j,$]=Se({}),[y,S]=Se([]),[D,g]=Se(_e.srcValue),[A,U]=Se(_e.srcTokenBalanceWei),[l,E]=Se(_e.srcChainTokensOptions),[v,I]=Se(_e.dstChainTokensOptions),[V,q]=Se(_e.srcChainOtherTokensOptions),[ee,Z]=Se(_e.dstChainOtherTokensOptions),[ke,oe]=Se([]),[Ce,en]=Se([]),[ho,Mn]=Se(_e.isFetchingBalance),[go,On]=Se(_e.isFetchingBalances),[bo,Bn]=Se(_e.isFetchingRoute),[mt,nr]=Se(_e.route),Ct=Em(null),Ln=Em(crypto.randomUUID()),yo=He(()=>!!e?.srcTokenLocked,[e?.srcTokenLocked]),wo=He(()=>!!e?.dstTokenLocked,[e?.dstTokenLocked]),vo=He(()=>!!e?.dstChainLocked,[e?.dstChainLocked]),Ao=He(()=>!!e?.srcChainLocked,[e?.srcChainLocked]),he=He(()=>!!e.bridge,[e.bridge]),Co=He(()=>!!(e.onConnectWallet||window.xPayOnConnectWallet),[e.onConnectWallet]),Rr=He(()=>{let Q=Ke?{}:JSON.parse(localStorage.getItem("custom-tokens")||"{}"),re={};return r.forEach(ae=>{re[ae.chainId]={},ae.tokens.forEach(ne=>{re[ae.chainId][ne.address]=ne})}),gd(re,Q)},[r]),_r=He(()=>{let Q={};return Object.entries(Rr).forEach(([re,ae])=>{Q[re]=Object.entries(ae).filter(([,ne])=>ne.supported).sort(([,ne],[,fe])=>fe.priority-ne.priority).map(([,ne])=>({chainId:re,...ne}))}),Q},[Rr]),Ee=He(()=>{if(!y||y.length===0)return null;let Q={},re=(ae,ne,fe,ge)=>{Q[ae]||(Q[ae]={}),Q[ae][ne]||(Q[ae][ne]={}),Q[ae][ne][fe]=ge};for(let ae of y){let ne=Object.entries(ae);if(ne.length!==2)continue;let[fe,ge]=ne[0],[nt,dt]=ne[1];re(fe,ge,nt,dt),re(nt,dt,fe,ge)}return Object.keys(Q).length>0?Q:null},[y]),So=He(()=>M&&C&&z&&z[C.chainId]&&z[C.chainId]?.[M.address]?(Number(D)*Number(z[C.chainId]?.[M.address])).toFixed(2):null,[z,M,D,C]),Kt=He(()=>Xs({amount:D,decimals:M?.decimals||18}),[M?.decimals,D]),or=He(()=>De({amount:mt?.estAmountOut||"0",decimals:G?.decimals||18,precisionFractionalPlaces:Math.min(8,G?.decimals||18)}),[mt]),To=He(()=>Xs({amount:or,decimals:G?.decimals||18}),[G?.decimals,or]),ko=He(()=>G&&P&&z&&z[P?.chainId]&&z[P?.chainId]?.[G.address]?(Number(or)*Number(z[P?.chainId]?.[G.address])).toFixed(2):null,[z,G,or,P]),Eo=He(()=>De({amount:mt?.minAmountOut||"0",decimals:G?.decimals||18,precisionFractionalPlaces:Math.min(4,G?.decimals||18)}),[mt]),Dn=He(()=>h&&!!mt&&W.from(mt.xSwapFees?.expressDeliveryFee||"0").gt("0"),[h,mt]),Po=He(()=>r.length>0&&y.length>0,[r,y]),Io=He(()=>{if(!M||!A||!i&&!c)return"";if(jt(A).eq(0))return"0";let Q=De({amount:A,decimals:M.decimals,precisionFractionalPlaces:M.decimals});return new km(Q).lt("0.00001")?"<0.00001":De({amount:A,decimals:M.decimals,precisionFractionalPlaces:5})},[i,c,M,A]),ar=ha(Q=>{if(!Q)return[];if(!he)return _r[Q]||[];if(!_r[Q]||!Ee)return[];let re=Object.keys(Ee[Q]||{});return _r[Q].filter(ae=>re.includes(ae.address))},[Ee,he,_r]),tn=ha(async()=>{if(!C||!P||!M||!G||!Kt||jt(Kt).eq(0)||he&&!Ee||he&&C.ecosystem!=="evm"){nr(void 0);return}let{source:Q,target:re}=hc({source:{chain:C,token:M},target:{chain:P,token:G},type:he?"BRIDGE":"SWAP",supportedChains:r,bridgeTokensDictionary:Ee||{}});if(!(Q.chain?.chainId!==C?.chainId||re.chain?.chainId!==P?.chainId||Q.token?.address!==M?.address||re.token?.address!==G?.address))try{if(p(""),Bn(!0),Ct.current&&Ct.current.abort(md),Ct.current=new AbortController,C.ecosystem==="solana"){let ne={...await y1({integratorId:e.integratorId,fromToken:M.address,toToken:G.address,fromAmount:Kt,fromAddress:c||$e[C.chainId]?.FeeCollector||"",slippage:Number(b)}),ecosystem:"solana"};nr(ne)}else{let ne={...await vd({integratorId:e.integratorId,fromChain:C.chainId,toChain:P.chainId,fromAddress:i||$e[C.chainId]?.FeeCollector||"",toAddress:P.ecosystem==="solana"?c||$e[P.chainId]?.FeeCollector||"":i||$e[P.chainId]?.FeeCollector||"",fromToken:M.address,toToken:G.address,fromAmount:Kt,slippage:Number(b),customContractCalls:e.customContractCalls,paymentToken:Ht.AddressZero,expressDelivery:h,infiniteApproval:k,integratorFee:e.integratorFee,integratorFeeReceiverAddress:e.integratorFeeReceiverAddress},Ct.current.signal),ecosystem:"evm"};nr(ne)}Ct.current=null}catch(ae){ae!==md&&(Ct.current=null,console.error(ae),p("Could not find route!"),nr(void 0))}finally{Ct.current||Bn(!1)}},[i,he,P,G,vd,Dn,b,C,M,Kt]),rn=ha(async()=>{if(!i&&!c||!C?.publicRpcUrls[0]||!M||!M?.address)return;let Q=crypto.randomUUID();Ln.current=Q,Mn(!0);let re="0";if(C?.ecosystem==="evm"&&i){let ae=await f1(i,M.address,C?.publicRpcUrls[0]);re=Xs({amount:ae,decimals:M.decimals})}else if(C?.ecosystem==="solana"&&c){let ae=new u6(c),ne=new l6(C.publicRpcUrls[0]);if(M.address===Wp.toBase58())re=new km(await ne.getBalance(ae)).toString();else{let ge=(await ne.getParsedTokenAccountsByOwner(ae,{programId:Gp})).value.find(nt=>nt.account.data.parsed.info.mint===M.address);ge?re=ge.account.data.parsed.info.tokenAmount.amount:re="0"}}Q===Ln.current&&(U(re),Mn(!1))},[i,c,C,M]),No=ha((Q,re)=>Rr[re]?.[Q],[Rr]),Ro=ha(()=>{e.onConnectWallet?e.onConnectWallet():window.xPayOnConnectWallet&&window.xPayOnConnectWallet()},[e]),_o=ha((Q,re)=>{let ae=r.find(ge=>ge.chainId===Q);if(!ae)return ae;let fe=ae.tokens.some(ge=>ge.address.toLowerCase()===re.address.toLowerCase())?ae:{...ae,tokens:[...ae.tokens,re]};B(fe),H(re)},[r]);return et(()=>{if(r.length>0){let Q=r.map(re=>re.chainId);v1({chainId:Q}).then(re=>{te(re)})}},[r]),et(()=>{(async()=>{let Q=await C1();S(Q)})()},[]),et(()=>{tn()},[tn]),et(()=>{rn()},[rn]),et(()=>{(i||c)&&r.length>0&&(On(!0),A1({walletAddress:i,solanaWalletAddress:c}).then(Q=>{$(Q),On(!1)}))},[i,c,r.length]),et(()=>{C?.chainId==="mainnet-beta"?J(C?.tokens.find(({address:Q})=>Q==="So11111111111111111111111111111111111111112")):J(C?.tokens.find(({address:Q})=>Q.toLowerCase()===Ht.AddressZero.toLowerCase()))},[C]),et(()=>{(async()=>{let Q=P?.chainId===C?.chainId,re=ar(C?.chainId).filter(({symbol:Te})=>Q?Te!==G?.symbol:!0);E(re);let ae=ar(P?.chainId).filter(({symbol:Te})=>Q?Te!==M?.symbol:!0);I(ae);let ne=[],fe=r.filter(({chainId:Te,web3Environment:Be,swapSupported:Qe,bridgeSupported:nn})=>Te!==C?.chainId&&Be==="mainnet"&&(he&&nn||!he&&Qe));for(let{chainId:Te}of fe)ne.push(...ar(Te).filter(({symbol:Be})=>Te===P?.chainId?Be!==G?.symbol:!0));q(ne);let ge=[],nt=r.filter(({chainId:Te,web3Environment:Be,swapSupported:Qe,bridgeSupported:nn})=>Te!==P?.chainId&&Be==="mainnet"&&(he&&nn&&C?.supportedDstForBridge?.includes(Te)||!he&&Qe&&C?.supportedDstForSwap?.includes(Te)));for(let{chainId:Te}of nt)ge.push(...ar(Te).filter(({symbol:Be})=>Te===C?.chainId?Be!==M?.symbol:!0));Z(ge);let dt=Te=>Te.map(Be=>({...Be,balance:W.from(j[Be.chainId]?.[Be.address]||0)}));E(dt(re)),I(dt(ae)),q(dt(ne)),Z(dt(ge))})()},[he,C,P,ar,r,M?.symbol,G?.symbol,j]),et(()=>{let Q=r.filter(({web3Environment:ne,swapSupported:fe,bridgeSupported:ge})=>ne==="mainnet"&&(he&&ge||!he&&fe)),re=[];if(he&&P&&G&&Ee){let ne=Q.filter(({chainId:fe})=>{let ge=Ee[fe]||{};return Object.values(ge).some(nt=>nt[P.chainId])});re=Q.filter(fe=>!ne.some(ge=>ge.chainId===fe.chainId)).map(fe=>fe.chainId)}let ae=new Set;if(C&&Q.filter(ne=>he?!C.supportedDstForBridge?.includes(ne.chainId):!C.supportedDstForSwap?.includes(ne.chainId)).forEach(ne=>ae.add(ne.chainId)),he&&C&&Ee&&!M){let ne=Ee[C.chainId];ne?Q.filter(fe=>!Object.values(ne).some(ge=>ge[fe.chainId])).forEach(fe=>ae.add(fe.chainId)):Q.forEach(fe=>ae.add(fe.chainId))}if(he&&C&&Ee&&M){let ne=Ee[C.chainId]?.[M.address];Q.filter(fe=>!ne?.[fe.chainId]).forEach(fe=>ae.add(fe.chainId))}oe(bd(Q,re)),en(bd(Q,[...ae]))},[r,he,C,M,P,G,Ee]),et(()=>{if(!s||!d||e?.srcChainId)return;let Q=r.find(({chainId:re})=>re===`${s}`);Q&&B(Q)},[s,d,r,e?.srcChainId]),et(()=>{d&&(H(void 0),X(void 0),B(void 0),L(void 0))},[he]),et(()=>{if(d||!r||r.length===0||!Ee)return;let Q=C||e?.srcChainId||(s?`${s}`:void 0)||(he?void 0:fa),re=r.find(({chainId:Qe})=>Qe===Q),ae=P||e?.dstChainId||(he?void 0:zs),ne=r.find(({chainId:Qe})=>Qe===ae),fe,ge,nt=pa(e.srcTokenAddr,e?.srcChainId,r),dt=pa(e.dstTokenAddr,e?.dstChainId,r);re&&(ge=re.tokens.find(({address:Qe})=>Qe.toLowerCase()===nt?.toLowerCase())),ne&&(fe=ne.tokens.find(({address:Qe})=>Qe.toLowerCase()===dt?.toLowerCase()));let{source:Te,target:Be}=hc({source:{chain:re,token:ge},target:{chain:ne,token:fe},type:he?"BRIDGE":"SWAP",supportedChains:r,bridgeTokensDictionary:Ee});B(Te.chain),L(Be.chain),H(Te.token),X(Be.token),f(!0)},[e?.srcChainId,e?.srcTokenAddr,e?.dstChainId,e?.dstTokenAddr,r,he,s,d,Ee]),et(()=>{if(!Ee||r.length===0||!d)return;let{source:Q,target:re}=hc({source:{chain:C,token:M},target:{chain:P,token:G},type:he?"BRIDGE":"SWAP",supportedChains:r,bridgeTokensDictionary:Ee});Q.chain?.chainId!==C?.chainId&&B(Q.chain),re.chain?.chainId!==P?.chainId&&L(re.chain),(Q.token?.address!==M?.address||Q.token?.name!==M?.name)&&H(Q.token),(re.token?.address!==G?.address||re.token?.name!==G?.name)&&X(re.token)},[C,M,P,G,he,r,Ee,d]),et(()=>{d&&(e.onDstChainChange?e.onDstChainChange(P?.chainId):window.xPayOnDstChainChange&&window.xPayOnDstChainChange(P?.chainId))},[e.onDstChainChange,P]),et(()=>{if(!d)return;let Q=G?{address:G.address.toLowerCase(),symbol:G.tokenId}:void 0;e.onDstTokenChange?e.onDstTokenChange(Q):window.xPayOnDstTokenChange&&window.xPayOnDstTokenChange(Q)},[e.onDstTokenChange,G]),et(()=>{d&&(e.onSrcChainChange?e.onSrcChainChange(C?.chainId):window.xPayOnSrcChainChange&&window.xPayOnSrcChainChange(C?.chainId))},[e.onSrcChainChange,C]),et(()=>{if(!d)return;let Q=M?{address:M.address.toLowerCase(),symbol:M.tokenId}:void 0;e.onSrcTokenChange?e.onSrcTokenChange(Q):window.xPayOnSrcTokenChange&&window.xPayOnSrcTokenChange(Q)},[e.onSrcTokenChange,M]),p6(Pm.Provider,{value:{bridgeUI:he,integrationConfig:e,supportedChains:r,tab:u,setTab:x,overlay:n,error:m,setError:p,feeToken:F,srcChain:C,setSrcChain:B,srcChainTokensOptions:l,srcChainOtherTokensOptions:V,srcChainOptions:ke,dstChainOptions:Ce,tokenPrices:z,dstChain:P,setDstChain:L,dstChainTokensOptions:v,dstChainOtherTokensOptions:ee,srcToken:M,setSrcToken:H,dstToken:G,setDstToken:X,srcValue:D,setSrcValue:g,srcValueWei:Kt,srcValueUsd:So,dstValue:or,dstValueWei:To,dstValueUsd:ko,dstValueMin:Eo,expressDelivery:h,setExpressDelivery:w,infiniteApproval:k,setInfiniteApproval:O,slippage:b,setSlippage:T,route:mt,setRoute:nr,isAsyncDataLoaded:Po,srcTokenBalanceWei:A,setSrcTokenBalanceWei:U,srcTokenBalanceInfo:Io,isFetchingRoute:bo,isFetchingBalance:ho,isFetchingBalances:go,isExpressDeliveryActive:Dn,quoteRoute:tn,refreshBalance:rn,findTokenDataByAddressAndChain:No,srcTokenLocked:yo,srcChainLocked:Ao,dstTokenLocked:wo,dstChainLocked:vo,bridgeTokensDictionary:Ee,onConnectWallet:Ro,hasOnConnectWalletCallback:Co,addTokenToChainIfNotExists:_o},children:t})},Y=()=>f6(Pm);import{Connection as m6}from"@solana/web3.js";import{createContext as x6,useCallback as Md,useContext as h6,useMemo as Nm}from"react";import{jsx as g6}from"react/jsx-runtime";var Rm=x6({}),_m=({children:t})=>{let e=Md(async({executeTransaction:i,handlers:s})=>{try{let c=await i();if(!c)throw new Error("Transaction is undefined");s?.onConfirm?.(c);let d=await c.wait();s?.onSuccess?.(d)}catch(c){console.error(c),s?.onError?.(c)}},[]),r=Nm(()=>new m6(eo,"confirmed"),[]),n=Md(async({executeTransaction:i,handlers:s})=>{try{let c=await i();if(!c)throw new Error("Transaction is undefined");s?.onConfirm?.(c);let d=await r.sendTransaction(c,{skipPreflight:!1,preflightCommitment:"confirmed"}),f=await r.getLatestBlockhash(),u=await r.confirmTransaction({signature:d,blockhash:f.blockhash,lastValidBlockHeight:f.lastValidBlockHeight},"confirmed");if(u.value.err)throw new Error(`Transaction failed: ${JSON.stringify(u.value.err)}`);s?.onSuccess?.(d)}catch(c){console.error(c),s?.onError?.(c)}},[r]),o=Md(({executeTransaction:i,handlers:s,network:c="evm"})=>{let d=Date.now();return c==="evm"?e({executeTransaction:i,handlers:s}):c==="solana"&&n({executeTransaction:i,handlers:s}),d},[e,n]),a=Nm(()=>({enqueueTransaction:o}),[o]);return g6(Rm.Provider,{value:a,children:t})};function Mm(){return h6(Rm)}import{useEffect as v6,useMemo as A6,useState as C6}from"react";import{useAccount as S6}from"wagmi";import{useMemo as b6}from"react";import{useConnectorClient as y6}from"wagmi";function w6(t){let{account:e,transport:r}=t;return new Gs.Web3Provider(r,"any").getSigner(e.address)}async function Om({chainId:t}={}){let{data:e}=y6({chainId:t});return b6(()=>e?w6(e):void 0,[e])}var T6=()=>{let[t,e]=C6(),r=Om();v6(()=>{r.then(a=>e(a))},[r]);let n=S6();return{networks:{evm:A6(()=>({networkName:"EVM",chainId:n.chainId?.toString()||fa,address:n.address,signer:t,provider:t?.provider}),[n.address,n.chainId,t])}}},ga=T6;import{useCallback as hx}from"react";import{useMemo as P6,useState as I6}from"react";import{jsx as Od,jsxs as k6}from"react/jsx-runtime";var Bm=()=>{let{isExpressDeliveryActive:t}=Y();return k6("div",{className:"flex items-center",children:[Od("div",{className:`w-4 h-4 mr-1 ${t?"fill-t_success_light":"fill-t_text_primary opacity-50"} `,children:Od($1,{})}),Od("span",{className:`text-xs font-medium sm:text-sm ${t?"text-t_success_light":"opacity-50"}`,children:t?"Fast ~ 30sec ":"Normal ~ 30min"})]})};import{jsx as Bd,jsxs as E6}from"react/jsx-runtime";var Lm=({name:t,value:e})=>{let{isFetchingRoute:r}=Y();return E6("div",{className:"flex gap-x-1 justify-between text-xs font-medium",children:[Bd("div",{className:"opacity-60",children:t}),Bd("div",{children:r?Bd($t,{className:"w-[60px] h-full"}):e})]})};import{jsx as Ld}from"react/jsx-runtime";var Dm=()=>{let{route:t,slippage:e,feeToken:r,dstToken:n,expressDelivery:o}=Y(),a=[{name:"CCIP Fee: ",value:`${De({amount:t?.xSwapFees.ccipFee||"0",decimals:r?.decimals||18,precisionFractionalPlaces:5})||0} ${r?.symbol||""}`},{name:"Native Fee: ",value:`${De({amount:t?.xSwapFees.xSwapFee.nativeFee||"0",decimals:r?.decimals||18,precisionFractionalPlaces:5})||0} ${r?.symbol||""}`},...o?[{name:"Express delivery Fee: ",value:`${De({amount:t?.xSwapFees.expressDeliveryFee||"0",decimals:r?.decimals||18,precisionFractionalPlaces:5})||0} ${r?.symbol||""}`}]:[],{name:"Slippage: ",value:`${e}%`},{name:"Min out: ",value:`${De({amount:t?.minAmountOut||"0",decimals:n?.decimals||18,precisionFractionalPlaces:5})||0} ${n?.symbol||""}`}];return Ld("div",{className:"border-t border-solid border-t_text_primary border-opacity-10 pt-3 mt-3",children:Ld("div",{className:`flex flex-col gap-y-2 gap-x-10 sm:grid ${a.length===4?"sm:grid-rows-2":"sm:grid-rows-3"} sm:grid-flow-col`,children:a.map(({name:i,value:s})=>Ld(Lm,{name:i,value:s},i))})})};import{jsx as er,jsxs as gc}from"react/jsx-runtime";var bc=()=>{let[t,e]=I6(!1),{route:r,feeToken:n,isFetchingRoute:o,srcChain:a,dstChain:i}=Y(),s=P6(()=>{if(!r)return"0";let c=jt(r.xSwapFees.ccipFee||"0").add(jt(r.xSwapFees.xSwapFee.nativeFee||"0")).add(jt(r.xSwapFees.expressDeliveryFee||"0")).toString();return De({amount:c,decimals:n?.decimals||18,precisionFractionalPlaces:5})},[n?.decimals,r]);return er("div",{className:"flex flex-col x-border rounded-xl py-2 px-4 bg-t_bg_tertiary bg-opacity-5",children:gc("button",{"aria-label":`${t?"Collapse":"Expand"} fees panel`,type:"button",onClick:()=>e(c=>!c),children:[gc("div",{className:"flex justify-between",children:[gc("div",{className:"flex gap-2 items-center text-xs font-medium sm:text-sm fill-t_text_primary",children:[er(tm,{}),er("p",{className:"opacity-60",children:"Fee: "}),o?er($t,{className:"w-[100px] h-full"}):er("p",{children:`${s} ${n?.symbol||""}`})]}),gc("div",{className:"flex gap-2 items-center fill-t_text_primary",children:[r&&!o&&a?.chainId!==i?.chainId&&er(Bm,{}),t?er("div",{className:"w-4 h-2 rotate-180",children:er(no,{})}):er("div",{className:"w-4 h-2",children:er(no,{})})]})]}),t&&er(Dm,{})]})})};import{jsx as yc}from"react/jsx-runtime";var Fm=()=>yc("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 p-1 border border-solid border-t_text_primary border-opacity-10 rounded-xl bg-t_bg_secondary",children:yc("div",{className:"relative bg-gradient-to-r from-t_main_accent_light to-t_main_accent_dark w-8 h-8 rounded-xl",children:yc("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 fill-white",children:yc(nc,{})})})});import*as N6 from"viem/chains";import{mainnet as Um}from"viem/chains";import{createConfig as R6,createStorage as _6,http as M6}from"@wagmi/core";import{walletConnect as O6}from"@wagmi/connectors";var B6=_6({key:"xpay.wagmi.store",storage:Ke?void 0:localStorage}),Vm=t=>{let e=L6(t),r=D6(e);return R6({chains:e,transports:r,connectors:[O6({projectId:"c392898b45ac587a280b5eb33e92aeb0",showQrModal:!0})],storage:B6})},L6=t=>{let e=[Um];return e.push(...Object.values(N6).filter(r=>r.id!==Um.id&&t.some(({chainId:n})=>n===r.id.toString()))),e},D6=t=>{let e={};return t.forEach(r=>{e[r.id]=M6()}),e};import{useEffect as F6,useState as Km}from"react";import{createPortal as U6}from"react-dom";import{jsx as K6}from"react/jsx-runtime";var V6={TOP:"-translate-x-1/2 -translate-y-full",BOTTOM:"-translate-x-1/2",LEFT:"-translate-x-full -translate-y-1/2",RIGHT:"-translate-y-1/2"},ba=({id:t,position:e,text:r,triggerRef:n})=>{let[o,a]=Km({top:0,left:0}),[i,s]=Km(!1);return F6(()=>{let c=n.current,d=()=>{if(!c)return;let x=c.getBoundingClientRect();switch(e){case"TOP":{a({top:x.top,left:x.left+x.width/2});break}case"BOTTOM":{a({top:x.top+x.height,left:x.left+x.width/2});break}case"LEFT":{a({top:x.top+x.height/2,left:x.left});break}case"RIGHT":{a({top:x.top+x.height/2,left:x.left+x.width});break}}},f=()=>{d(),s(!0)},u=()=>{s(!1)};return c&&(c.addEventListener("mouseenter",f),c.addEventListener("mouseleave",u)),window.addEventListener("scroll",d,!0),window.addEventListener("resize",d,!0),()=>{c&&(c.removeEventListener("mouseenter",f),c.removeEventListener("mouseleave",u)),window.removeEventListener("scroll",d,!0),window.removeEventListener("resize",d,!0)}},[n,e]),U6(i&&K6("div",{id:t,className:`fixed z-50 x-border rounded-xl shadow-lg py-2 px-4 bg-t_bg_primary text-sm text-t_text_primary text-opacity-50 max-w-80 ${V6[e]}`,style:{top:o.top,left:o.left},children:r}),to,t)};import{useRef as H6}from"react";import{jsx as yi,jsxs as Hm}from"react/jsx-runtime";var Wm=({onCloseClick:t})=>{let e=H6(null);return Hm("div",{className:"flex justify-between items-center text-base font-medium",children:[yi("div",{className:"text-t_text_primary",children:"Confirmation"}),Hm("div",{className:"flex gap-4 items-center",children:[yi(ba,{text:"To sign the transaction open the wallet you have used to connect with XSwap.",position:"BOTTOM",triggerRef:e,id:"connect-wallet-to-sign-tx-tooltip"}),yi(oo,{ref:e,className:"cursor-help fill-t_main_accent_light w-[18px] h-[18px]"}),yi("div",{className:"w-4 h-4 fill-t_text_primary cursor-pointer",onClick:t,children:yi(Me,{})})]})]})};import{useMemo as Gm}from"react";import{jsx as tt,jsxs as Dd}from"react/jsx-runtime";var qm=()=>{let{txStatus:t,txNeedsApproval:e,txMsg:r}=Er(),n=Gm(()=>[{icon:a=>tt("div",{className:`${a}`,children:tt(Td,{})}),title:"sign approval transaction",state:t===1?"triggered":t>1?"completed":"none",show:r?t===1||t===2:e},{icon:a=>tt("div",{className:`${a}`,children:tt(kd,{})}),title:"confirming approval transaction...",state:t===2?"triggered":t>2?"completed":"none",show:r?t===1||t===2:e},{icon:a=>tt("div",{className:`${a}`,children:tt(Td,{})}),title:"sign transaction",state:t===3?"triggered":t>3?"completed":"none",show:r?t===3||t===4:!0},{icon:a=>tt("div",{className:`${a}`,children:tt(kd,{})}),title:"confirming transaction...",state:t===4?"triggered":t>4?"completed":"none",show:r?t===3||t===4:!0}],[r,e,t]),o=Gm(()=>n.filter(({show:a})=>a),[n]);return tt("div",{className:"flex flex-col gap-1",children:o.map(({icon:a,title:i,state:s},c)=>Dd("div",{className:"flex flex-col px-4 gap-1",children:[Dd("div",{className:"flex justify-between items-center",children:[Dd("div",{className:"flex items-center gap-2",children:[a(`${s==="triggered"?"fill-t_main_accent_light":"fill-t_text_primary opacity-50"}`),tt("div",{className:`${s!=="triggered"?"opacity-50":s==="triggered"&&"text-t_text_secondary"}`,children:i})]}),tt("div",{children:s==="completed"?tt("div",{className:"fill-t_success_dark",children:tt(oc,{})}):s==="triggered"?tt("div",{className:"animate-spin-slow fill-t_main_accent_light",children:tt(nm,{})}):null})]}),c!==o.length-1&&tt("div",{className:"vertical-separator py-3 ml-2"})]},i))})};import{useMemo as wc}from"react";import{jsx as wi,jsxs as vi}from"react/jsx-runtime";var Fd=({type:t})=>{let{srcToken:e,srcChain:r,dstToken:n,dstChain:o,srcValue:a,srcValueUsd:i,dstValue:s,dstValueUsd:c}=Y(),d=wc(()=>t==="source"?e:n,[n,e,t]),f=wc(()=>t==="source"?r:o,[o,r,t]),u=wc(()=>t==="source"?a:s,[s,a,t]),x=wc(()=>t==="source"?i:c,[c,i,t]);return vi("div",{className:"flex justify-between bg-gradient-to-r from-t_main_accent_light/20 to-t_main_accent_dark/20 p-5 rounded-xl",children:[vi("div",{className:"flex flex-col",children:[wi("div",{className:"opacity-60 text-sm mb-2",children:`You ${t==="source"?"pay":"receive"}`}),wi("div",{className:`${t==="destination"&&"text-t_text_secondary"}`,children:u}),x&&vi("div",{className:"opacity-60",children:["$",x]})]}),vi("div",{className:"flex items-center gap-3",children:[vi("div",{className:"flex flex-col text-right",children:[wi("div",{children:d?.symbol}),wi("div",{className:"opacity-60",children:f?.displayName})]}),wi(xn,{token:d,className:"w-9 h-9",generatedLogoClassName:"w-9 h-9"})]})]})};import{useWallet as Db}from"@solana/wallet-adapter-react";import{Connection as Fb,Keypair as Ub,PublicKey as ki,VersionedTransaction as Vb}from"@solana/web3.js";import*as ix from"@coral-xyz/anchor";import{AnchorProvider as xb}from"@coral-xyz/anchor";import*as Jm from"@coral-xyz/borsh";import{PublicKey as W6}from"@solana/web3.js";var Fe=new W6("Ccip8ZTcM2qHjVt8FYHtuCAqjc637yLKnsJ5q5r2e6eL");var hn=class hn{constructor(e){}static async fetch(e,r,n=Fe){let o=await e.getAccountInfo(r);if(o===null)return null;if(!o.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(o.data)}static async fetchMultiple(e,r,n=Fe){return(await e.getMultipleAccountsInfo(r)).map(a=>{if(a===null)return null;if(!a.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(a.data)})}static decode(e){if(!e.slice(0,8).equals(hn.discriminator))throw new Error("invalid account discriminator");let r=hn.layout.decode(e.slice(8));return new hn({})}toJSON(){return{}}static fromJSON(e){return new hn({})}};hn.discriminator=Buffer.from([247,97,179,16,207,36,236,132]),hn.layout=Jm.struct([]);var Ud=hn;import{PublicKey as Ca}from"@solana/web3.js";import ab from"bn.js";import*as yt from"@coral-xyz/borsh";var Pr={};Fn(Pr,{Default:()=>ao,V1:()=>io,fromDecoded:()=>G6,fromJSON:()=>q6,layout:()=>J6});import*as Ai from"@coral-xyz/borsh";var ao=class{constructor(){this.discriminator=0;this.kind="Default"}toJSON(){return{kind:"Default"}}toEncodable(){return{Default:{}}}};ao.discriminator=0,ao.kind="Default";var io=class{constructor(){this.discriminator=1;this.kind="V1"}toJSON(){return{kind:"V1"}}toEncodable(){return{V1:{}}}};io.discriminator=1,io.kind="V1";function G6(t){if(typeof t!="object")throw new Error("Invalid enum object");if("Default"in t)return new ao;if("V1"in t)return new io;throw new Error("Invalid enum object")}function q6(t){switch(t.kind){case"Default":return new ao;case"V1":return new io}}function J6(t){let e=Ai.rustEnum([Ai.struct([],"Default"),Ai.struct([],"V1")]);return t!==void 0?e.replicate(t):e}var wa={};Fn(wa,{None:()=>so,Rollback:()=>fo,Upgrade:()=>co,fromDecoded:()=>z6,fromJSON:()=>Q6,layout:()=>X6});import*as ya from"@coral-xyz/borsh";var so=class{constructor(){this.discriminator=0;this.kind="None"}toJSON(){return{kind:"None"}}toEncodable(){return{None:{}}}};so.discriminator=0,so.kind="None";var co=class{constructor(){this.discriminator=1;this.kind="Upgrade"}toJSON(){return{kind:"Upgrade"}}toEncodable(){return{Upgrade:{}}}};co.discriminator=1,co.kind="Upgrade";var fo=class{constructor(){this.discriminator=2;this.kind="Rollback"}toJSON(){return{kind:"Rollback"}}toEncodable(){return{Rollback:{}}}};fo.discriminator=2,fo.kind="Rollback";function z6(t){if(typeof t!="object")throw new Error("Invalid enum object");if("None"in t)return new so;if("Upgrade"in t)return new co;if("Rollback"in t)return new fo;throw new Error("Invalid enum object")}function Q6(t){switch(t.kind){case"None":return new so;case"Upgrade":return new co;case"Rollback":return new fo}}function X6(t){let e=ya.rustEnum([ya.struct([],"None"),ya.struct([],"Upgrade"),ya.struct([],"Rollback")]);return t!==void 0?e.replicate(t):e}import j_ from"bn.js";import*as vc from"@coral-xyz/borsh";import{PublicKey as tM}from"@solana/web3.js";import*as Ac from"@coral-xyz/borsh";import{PublicKey as oM}from"@solana/web3.js";import*as Vd from"@coral-xyz/borsh";import{PublicKey as j6}from"@solana/web3.js";import*as Ir from"@coral-xyz/borsh";var Yr=class t{constructor(e){this.receiver=e.receiver,this.data=e.data,this.tokenAmounts=e.tokenAmounts.map(r=>new Zr({...r})),this.feeToken=e.feeToken,this.extraArgs=e.extraArgs}static layout(e){return Ir.struct([Ir.vecU8("receiver"),Ir.vecU8("data"),Ir.vec(Zr.layout(),"tokenAmounts"),Ir.publicKey("feeToken"),Ir.vecU8("extraArgs")],e)}static fromDecoded(e){return new t({receiver:new Uint8Array(e.receiver.buffer,e.receiver.byteOffset,e.receiver.length),data:new Uint8Array(e.data.buffer,e.data.byteOffset,e.data.length),tokenAmounts:e.tokenAmounts.map(r=>Zr.fromDecoded(r)),feeToken:e.feeToken,extraArgs:new Uint8Array(e.extraArgs.buffer,e.extraArgs.byteOffset,e.extraArgs.length)})}static toEncodable(e){return{receiver:Buffer.from(e.receiver.buffer,e.receiver.byteOffset,e.receiver.length),data:Buffer.from(e.data.buffer,e.data.byteOffset,e.data.length),tokenAmounts:e.tokenAmounts.map(r=>Zr.toEncodable(r)),feeToken:e.feeToken,extraArgs:Buffer.from(e.extraArgs.buffer,e.extraArgs.byteOffset,e.extraArgs.length)}}toJSON(){return{receiver:Array.from(this.receiver.values()),data:Array.from(this.data.values()),tokenAmounts:this.tokenAmounts.map(e=>e.toJSON()),feeToken:this.feeToken.toString(),extraArgs:Array.from(this.extraArgs.values())}}static fromJSON(e){return new t({receiver:Uint8Array.from(e.receiver),data:Uint8Array.from(e.data),tokenAmounts:e.tokenAmounts.map(r=>Zr.fromJSON(r)),feeToken:new j6(e.feeToken),extraArgs:Uint8Array.from(e.extraArgs)})}toEncodable(){return t.toEncodable(this)}};import{PublicKey as $6}from"@solana/web3.js";import eb from"bn.js";import*as va from"@coral-xyz/borsh";var Zr=class t{constructor(e){this.token=e.token,this.amount=e.amount}static layout(e){return va.struct([va.publicKey("token"),va.u64("amount")],e)}static fromDecoded(e){return new t({token:e.token,amount:e.amount})}static toEncodable(e){return{token:e.token,amount:e.amount}}toJSON(){return{token:this.token.toString(),amount:this.amount.toString()}}static fromJSON(e){return new t({token:new $6(e.token),amount:new eb(e.amount)})}toEncodable(){return t.toEncodable(this)}};import*as Kd from"@coral-xyz/borsh";import{PublicKey as tb}from"@solana/web3.js";import Qm from"bn.js";import*as gn from"@coral-xyz/borsh";var Aa=class t{constructor(e){this.amount=e.amount,this.juels=e.juels,this.token=e.token}static layout(e){return gn.struct([gn.u64("amount"),gn.u128("juels"),gn.publicKey("token")],e)}static fromDecoded(e){return new t({amount:e.amount,juels:e.juels,token:e.token})}static toEncodable(e){return{amount:e.amount,juels:e.juels,token:e.token}}toJSON(){return{amount:this.amount.toString(),juels:this.juels.toString(),token:this.token.toString()}}static fromJSON(e){return new t({amount:new Qm(e.amount),juels:new Qm(e.juels),token:new tb(e.token)})}toEncodable(){return t.toEncodable(this)}};import Xm from"bn.js";import*as Ci from"@coral-xyz/borsh";var bn=class t{constructor(e){this.sequenceNumber=e.sequenceNumber,this.sequenceNumberToRestore=e.sequenceNumberToRestore,this.restoreOnAction=e.restoreOnAction}static layout(e){return Ci.struct([Ci.u64("sequenceNumber"),Ci.u64("sequenceNumberToRestore"),wa.layout("restoreOnAction")],e)}static fromDecoded(e){return new t({sequenceNumber:e.sequenceNumber,sequenceNumberToRestore:e.sequenceNumberToRestore,restoreOnAction:wa.fromDecoded(e.restoreOnAction)})}static toEncodable(e){return{sequenceNumber:e.sequenceNumber,sequenceNumberToRestore:e.sequenceNumberToRestore,restoreOnAction:e.restoreOnAction.toEncodable()}}toJSON(){return{sequenceNumber:this.sequenceNumber.toString(),sequenceNumberToRestore:this.sequenceNumberToRestore.toString(),restoreOnAction:this.restoreOnAction.toJSON()}}static fromJSON(e){return new t({sequenceNumber:new Xm(e.sequenceNumber),sequenceNumberToRestore:new Xm(e.sequenceNumberToRestore),restoreOnAction:wa.fromJSON(e.restoreOnAction)})}toEncodable(){return t.toEncodable(this)}};import{PublicKey as rb}from"@solana/web3.js";import*as wn from"@coral-xyz/borsh";var yn=class t{constructor(e){this.laneCodeVersion=e.laneCodeVersion,this.allowedSenders=e.allowedSenders,this.allowListEnabled=e.allowListEnabled}static layout(e){return wn.struct([Pr.layout("laneCodeVersion"),wn.vec(wn.publicKey(),"allowedSenders"),wn.bool("allowListEnabled")],e)}static fromDecoded(e){return new t({laneCodeVersion:Pr.fromDecoded(e.laneCodeVersion),allowedSenders:e.allowedSenders,allowListEnabled:e.allowListEnabled})}static toEncodable(e){return{laneCodeVersion:e.laneCodeVersion.toEncodable(),allowedSenders:e.allowedSenders,allowListEnabled:e.allowListEnabled}}toJSON(){return{laneCodeVersion:this.laneCodeVersion.toJSON(),allowedSenders:this.allowedSenders.map(e=>e.toString()),allowListEnabled:this.allowListEnabled}}static fromJSON(e){return new t({laneCodeVersion:Pr.fromJSON(e.laneCodeVersion),allowedSenders:e.allowedSenders.map(r=>new rb(r)),allowListEnabled:e.allowListEnabled})}toEncodable(){return t.toEncodable(this)}};import*as Zm from"@coral-xyz/borsh";import*as Hd from"@coral-xyz/borsh";import AM from"bn.js";import*as Ym from"@coral-xyz/borsh";import TM from"bn.js";import*as Wd from"@coral-xyz/borsh";var vn=class vn{constructor(e){this.version=e.version,this.defaultCodeVersion=e.defaultCodeVersion,this.svmChainSelector=e.svmChainSelector,this.owner=e.owner,this.proposedOwner=e.proposedOwner,this.feeQuoter=e.feeQuoter,this.rmnRemote=e.rmnRemote,this.linkTokenMint=e.linkTokenMint,this.feeAggregator=e.feeAggregator}static async fetch(e,r,n=Fe){let o=await e.getAccountInfo(r);if(o===null)return null;if(!o.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(o.data)}static async fetchMultiple(e,r,n=Fe){return(await e.getMultipleAccountsInfo(r)).map(a=>{if(a===null)return null;if(!a.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(a.data)})}static decode(e){if(!e.slice(0,8).equals(vn.discriminator))throw new Error("invalid account discriminator");let r=vn.layout.decode(e.slice(8));return new vn({version:r.version,defaultCodeVersion:Pr.fromDecoded(r.defaultCodeVersion),svmChainSelector:r.svmChainSelector,owner:r.owner,proposedOwner:r.proposedOwner,feeQuoter:r.feeQuoter,rmnRemote:r.rmnRemote,linkTokenMint:r.linkTokenMint,feeAggregator:r.feeAggregator})}toJSON(){return{version:this.version,defaultCodeVersion:this.defaultCodeVersion.toJSON(),svmChainSelector:this.svmChainSelector.toString(),owner:this.owner.toString(),proposedOwner:this.proposedOwner.toString(),feeQuoter:this.feeQuoter.toString(),rmnRemote:this.rmnRemote.toString(),linkTokenMint:this.linkTokenMint.toString(),feeAggregator:this.feeAggregator.toString()}}static fromJSON(e){return new vn({version:e.version,defaultCodeVersion:Pr.fromJSON(e.defaultCodeVersion),svmChainSelector:new ab(e.svmChainSelector),owner:new Ca(e.owner),proposedOwner:new Ca(e.proposedOwner),feeQuoter:new Ca(e.feeQuoter),rmnRemote:new Ca(e.rmnRemote),linkTokenMint:new Ca(e.linkTokenMint),feeAggregator:new Ca(e.feeAggregator)})}};vn.discriminator=Buffer.from([155,12,170,224,30,250,204,130]),vn.layout=yt.struct([yt.u8("version"),Pr.layout("defaultCodeVersion"),yt.u64("svmChainSelector"),yt.publicKey("owner"),yt.publicKey("proposedOwner"),yt.publicKey("feeQuoter"),yt.publicKey("rmnRemote"),yt.publicKey("linkTokenMint"),yt.publicKey("feeAggregator")]);var Gd=vn;import ib from"bn.js";import*as Sa from"@coral-xyz/borsh";var An=class An{constructor(e){this.version=e.version,this.chainSelector=e.chainSelector,this.state=new bn({...e.state}),this.config=new yn({...e.config})}static async fetch(e,r,n=Fe){let o=await e.getAccountInfo(r);if(o===null)return null;if(!o.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(o.data)}static async fetchMultiple(e,r,n=Fe){return(await e.getMultipleAccountsInfo(r)).map(a=>{if(a===null)return null;if(!a.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(a.data)})}static decode(e){if(!e.slice(0,8).equals(An.discriminator))throw new Error("invalid account discriminator");let r=An.layout.decode(e.slice(8));return new An({version:r.version,chainSelector:r.chainSelector,state:bn.fromDecoded(r.state),config:yn.fromDecoded(r.config)})}toJSON(){return{version:this.version,chainSelector:this.chainSelector.toString(),state:this.state.toJSON(),config:this.config.toJSON()}}static fromJSON(e){return new An({version:e.version,chainSelector:new ib(e.chainSelector),state:bn.fromJSON(e.state),config:yn.fromJSON(e.config)})}};An.discriminator=Buffer.from([77,18,241,132,212,54,218,16]),An.layout=Sa.struct([Sa.u8("version"),Sa.u64("chainSelector"),bn.layout("state"),yn.layout("config")]);var qd=An;import sb from"bn.js";import*as Ta from"@coral-xyz/borsh";var Cn=class Cn{constructor(e){this.version=e.version,this.counter=e.counter}static async fetch(e,r,n=Fe){let o=await e.getAccountInfo(r);if(o===null)return null;if(!o.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(o.data)}static async fetchMultiple(e,r,n=Fe){return(await e.getMultipleAccountsInfo(r)).map(a=>{if(a===null)return null;if(!a.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(a.data)})}static decode(e){if(!e.slice(0,8).equals(Cn.discriminator))throw new Error("invalid account discriminator");let r=Cn.layout.decode(e.slice(8));return new Cn({version:r.version,counter:r.counter})}toJSON(){return{version:this.version,counter:this.counter.toString()}}static fromJSON(e){return new Cn({version:e.version,counter:new sb(e.counter)})}};Cn.discriminator=Buffer.from([143,197,147,95,106,165,50,43]),Cn.layout=Ta.struct([Ta.u8("version"),Ta.u64("counter")]);var Jd=Cn;import{PublicKey as Cc}from"@solana/web3.js";import cb from"bn.js";import*as wt from"@coral-xyz/borsh";var Sn=class Sn{constructor(e){this.version=e.version,this.administrator=e.administrator,this.pendingAdministrator=e.pendingAdministrator,this.lookupTable=e.lookupTable,this.writableIndexes=e.writableIndexes,this.mint=e.mint}static async fetch(e,r,n=Fe){let o=await e.getAccountInfo(r);if(o===null)return null;if(!o.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(o.data)}static async fetchMultiple(e,r,n=Fe){return(await e.getMultipleAccountsInfo(r)).map(a=>{if(a===null)return null;if(!a.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(a.data)})}static decode(e){if(!e.slice(0,8).equals(Sn.discriminator))throw new Error("invalid account discriminator");let r=Sn.layout.decode(e.slice(8));return new Sn({version:r.version,administrator:r.administrator,pendingAdministrator:r.pendingAdministrator,lookupTable:r.lookupTable,writableIndexes:r.writableIndexes,mint:r.mint})}toJSON(){return{version:this.version,administrator:this.administrator.toString(),pendingAdministrator:this.pendingAdministrator.toString(),lookupTable:this.lookupTable.toString(),writableIndexes:this.writableIndexes.map(e=>e.toString()),mint:this.mint.toString()}}static fromJSON(e){return new Sn({version:e.version,administrator:new Cc(e.administrator),pendingAdministrator:new Cc(e.pendingAdministrator),lookupTable:new Cc(e.lookupTable),writableIndexes:e.writableIndexes.map(r=>new cb(r)),mint:new Cc(e.mint)})}};Sn.discriminator=Buffer.from([70,92,207,200,76,17,57,114]),Sn.layout=wt.struct([wt.u8("version"),wt.publicKey("administrator"),wt.publicKey("pendingAdministrator"),wt.publicKey("lookupTable"),wt.array(wt.u128(),2,"writableIndexes"),wt.publicKey("mint")]);var ka=Sn;import{PublicKey as Ea}from"@solana/web3.js";function Tn(t){let e=BigInt(t),r=Buffer.alloc(8);return r.writeBigUInt64LE(e),r}var Pa={CONFIG:"config",FEE_BILLING_SIGNER:"fee_billing_signer",TOKEN_ADMIN_REGISTRY:"token_admin_registry",DEST_CHAIN_STATE:"dest_chain_state",NONCE:"nonce",ALLOWED_OFFRAMP:"allowed_offramp",EXTERNAL_TOKEN_POOLS_SIGNER:"external_token_pools_signer",APPROVED_CCIP_SENDER:"approved_ccip_sender",EXTERNAL_EXECUTION_CONFIG:"external_execution_config",TOKEN_POOL_CHAIN_CONFIG:"ccip_tokenpool_chainconfig"};function Sc(t){return Ea.findProgramAddressSync([Buffer.from(Pa.CONFIG)],t)}function jm(t){return Ea.findProgramAddressSync([Buffer.from(Pa.FEE_BILLING_SIGNER)],t)}function $m(t,e){return Ea.findProgramAddressSync([Buffer.from(Pa.TOKEN_ADMIN_REGISTRY),t.toBuffer()],e)}function Tc(t,e){return Ea.findProgramAddressSync([Buffer.from(Pa.DEST_CHAIN_STATE),Tn(t)],e)}function ex(t,e,r){return Ea.findProgramAddressSync([Buffer.from(Pa.NONCE),Tn(t),e.toBuffer()],r)}function tx(t,e,r){return Ea.findProgramAddressSync([Buffer.from(Pa.TOKEN_POOL_CHAIN_CONFIG),Tn(t),e.toBuffer()],r)}import{PublicKey as kc}from"@solana/web3.js";function Ec(t){return kc.findProgramAddressSync([Buffer.from("config")],t)}function Pc(t,e){return kc.findProgramAddressSync([Buffer.from("dest_chain"),Tn(t)],e)}function lo(t,e){return kc.findProgramAddressSync([Buffer.from("fee_billing_token_config"),t.toBuffer()],e)}function Ic(t,e,r){return kc.findProgramAddressSync([Buffer.from("per_chain_per_token_config"),Tn(t),e.toBuffer()],r)}import{PublicKey as rx}from"@solana/web3.js";function nx(t){return rx.findProgramAddressSync([Buffer.from("config")],t)}function ox(t){return rx.findProgramAddressSync([Buffer.from("curses")],t)}import{PublicKey as RO}from"@solana/web3.js";var _O={EXTERNAL_EXECUTION_CONFIG:Buffer.from("external_execution_config"),STATE:Buffer.from("state"),CONFIG:Buffer.from("config"),DEST_CHAIN_STATE:Buffer.from("dest_chain_state"),FEE_BILLING_SIGNER:Buffer.from("fee_billing_signer"),NONCE:Buffer.from("nonce"),FEE_BILLING_TOKEN_CONFIG:Buffer.from("fee_billing_token_config"),CURSES:Buffer.from("curses")};import{PublicKey as db}from"@solana/web3.js";var LO=new db("BPFLoaderUpgradeab1e11111111111111111111111");import fb from"loglevel";var ax="ccip",lb={level:2,timestamps:!0};function Ti(t,e){let r={...lb,...e},n=t?`${ax}:${t}`:ax,o=fb.getLogger(n);return o.setLevel(r.level),{trace:Si(o,"trace",r),debug:Si(o,"debug",r),info:Si(o,"info",r),warn:Si(o,"warn",r),error:Si(o,"error",r),setLevel(i){o.setLevel(i)},getLevel(){return o.getLevel()}}}function Si(t,e,r){return function(...n){if(!(ub(e)<t.getLevel()))if(r.timestamps){let a=new Date().toISOString();if(e==="trace"){let i=n.map(s=>typeof s=="object"&&s!==null?JSON.stringify(s,null,2):s);console.log(`TRACE: [${a}]`,...i)}else t[e](`[${a}]`,...n)}else if(e==="trace"){let a=n.map(i=>typeof i=="object"&&i!==null?JSON.stringify(i,null,2):i);console.log("TRACE:",...a)}else t[e](...n)}}function ub(t){switch(t){case"trace":return 0;case"debug":return 1;case"info":return 2;case"warn":return 3;case"error":return 4;default:return 2}}var JO=Ti("");function pb(t,e,r){let n=t instanceof Error?t:new Error(String(t));return n.context=e,r&&r.error(`Error: ${n.message}`,{context:e,stack:n.stack}),n}function Ut(t){return(e,r)=>pb(e,r,t)}var Nc=class{constructor(e){this.context=e;this.logger=e.logger??Ti("account-reader",{level:2}),this.provider=new xb(e.provider.connection,e.provider.wallet,{}),ix.setProvider(this.provider),this.programId=e.config.ccipRouterProgramId,this.logger.debug(`CCIPAccountReader initialized: programId=${this.programId.toString()}`)}async getTokenAdminRegistry(e){let r=Ut(this.logger);try{this.logger.debug(`Fetching token admin registry for mint: ${e.toString()}`),this.logger.trace(`Program ID: ${this.programId.toString()}`);let[n]=$m(e,this.programId);this.logger.trace(`Token admin registry PDA: ${n.toString()}`);let o=await ka.fetch(this.context.provider.connection,n,this.programId);if(!o)throw new Error(`Token admin registry not found for mint: ${e.toString()}`);return this.logger.trace("Retrieved token admin registry:",{mint:o.mint.toString(),administrator:o.administrator.toString(),lookupTable:o.lookupTable.toString()}),o}catch(n){throw r(n,{operation:"getTokenAdminRegistry",mint:e.toString(),programId:this.programId.toString()})}}};import{PublicKey as cx,TransactionMessage as bb,VersionedTransaction as yb}from"@solana/web3.js";import{NATIVE_MINT as wb}from"@solana/spl-token";import{TransactionInstruction as hb}from"@solana/web3.js";import*as Rc from"@coral-xyz/borsh";var gb=Rc.struct([Rc.u64("destChainSelector"),Yr.layout("message")]);function sx(t,e,r=Fe){let n=[{pubkey:e.config,isSigner:!1,isWritable:!1},{pubkey:e.destChainState,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoter,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterConfig,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterDestChain,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterBillingTokenConfig,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterLinkTokenConfig,isSigner:!1,isWritable:!1}],o=Buffer.from([115,195,235,161,25,219,60,29]),a=Buffer.alloc(1e3),i=gb.encode({destChainSelector:t.destChainSelector,message:Yr.toEncodable(t.message)},a),s=Buffer.concat([o,a]).slice(0,8+i);return new hb({keys:n,programId:r,data:s})}async function dx(t,e){let r=t.logger,n=t.config,o=t.provider.connection,a=t.provider.getAddress();if(!r)throw new Error("Logger is required for calculateFee");let i=Ut(r),s=BigInt(e.destChainSelector.toString());r.info(`Calculating fee for destination chain ${e.destChainSelector.toString()}`);let c=e.message.feeToken.equals(cx.default)?wb:e.message.feeToken;r.debug(`Using fee token: ${c.toString()} (${e.message.feeToken.equals(cx.default)?"Native SOL":"SPL Token"})`),r.debug("Building accounts for getFee instruction");let d=await vb(n,s,c);r.trace("Fee accounts:",{config:d.config.toString(),destChainState:d.destChainState.toString(),feeQuoter:d.feeQuoter.toString(),feeQuoterConfig:d.feeQuoterConfig.toString(),feeQuoterDestChain:d.feeQuoterDestChain.toString(),feeQuoterBillingTokenConfig:d.feeQuoterBillingTokenConfig.toString(),feeQuoterLinkTokenConfig:d.feeQuoterLinkTokenConfig.toString()}),r.debug("Creating getFee instruction arguments");let f={destChainSelector:e.destChainSelector,message:{receiver:e.message.receiver,data:e.message.data,tokenAmounts:e.message.tokenAmounts,feeToken:e.message.feeToken,extraArgs:e.message.extraArgs}};r.debug("Creating getFee instruction");let u=sx(f,d,n.ccipRouterProgramId),x=[];r.debug(`Processing ${e.message.tokenAmounts.length} token amounts for remaining accounts`);for(let b of e.message.tokenAmounts)try{r.trace(`Processing token: ${b.token.toString()}, amount: ${b.amount.toString()}`);let[T]=lo(b.token,n.feeQuoterProgramId),[k]=Ic(s,b.token,n.feeQuoterProgramId);r.trace("Found token configs:",{tokenBillingConfig:T.toString(),perChainPerTokenConfig:k.toString()}),x.push({pubkey:T,isWritable:!1,isSigner:!1},{pubkey:k,isWritable:!1,isSigner:!1})}catch(T){i(T,{operation:"getFee:processToken",token:b.token.toString(),amount:b.amount.toString(),destChainSelector:s.toString()})}x.length>0&&(r.debug(`Adding ${x.length} remaining accounts to the instruction`),u.keys.push(...x)),r.trace("Complete instruction accounts:",u.keys.map((b,T)=>({index:T,pubkey:b.pubkey.toString(),isSigner:b.isSigner,isWritable:b.isWritable}))),r.debug("Getting recent blockhash for transaction");let{blockhash:m}=await o.getLatestBlockhash("confirmed");r.debug("Creating versioned transaction for simulation");let p=new bb({payerKey:a,recentBlockhash:m,instructions:[u]}).compileToV0Message(),h=new yb(p);await t.provider.signTransaction(h),r.debug("Simulating transaction to get fee result");let w=await o.simulateTransaction(h,{commitment:"confirmed",sigVerify:!1});if(w.value.logs){r.trace("Simulation logs:",w.value.logs);let b=w.value.logs.find(T=>T.includes(`Program return: ${n.ccipRouterProgramId.toString()}`));if(b){r.debug("Found CCIP program return log");let T=b.split(`Program return: ${n.ccipRouterProgramId.toString()} `);if(T.length>1){let k=T[1].trim(),O=Buffer.from(k,"base64");r.debug("Decoding fee result data");let C=Aa.layout().decode(O),B=Aa.fromDecoded(C);return r.info(`Fee calculation complete: ${B.amount.toString()} tokens`),B}}r.error("Could not find CCIP program return log in simulation logs")}else r.error("Simulation did not return any logs");throw i(new Error("Could not parse fee from transaction return data"),{operation:"getFee",destChainSelector:e.destChainSelector.toString(),feeToken:e.message.feeToken.toString(),simulationStatus:w?.value?.err||"No specific error",hasLogs:!!w?.value?.logs,logCount:w?.value?.logs?.length||0})}async function vb(t,e,r){let[n]=Sc(t.ccipRouterProgramId),[o]=Tc(e,t.ccipRouterProgramId),[a]=Ec(t.feeQuoterProgramId),[i]=Pc(e,t.feeQuoterProgramId),[s]=lo(r,t.feeQuoterProgramId),[c]=lo(t.linkTokenMint,t.feeQuoterProgramId);return{config:n,destChainState:o,feeQuoter:t.feeQuoterProgramId,feeQuoterConfig:a,feeQuoterDestChain:i,feeQuoterBillingTokenConfig:s,feeQuoterLinkTokenConfig:c}}async function fx(t,e){if(!t.logger)throw new Error("Logger is required for parseCCIPMessageSentEvent");let r=t.logger,n=t.config,o=t.provider.connection,a=Ut(r);try{r.info(`Parsing CCIP message sent event for transaction: ${e}`),r.debug("Fetching transaction details with logs");let i=await o.getParsedTransaction(e,{commitment:"confirmed",maxSupportedTransactionVersion:0});if(!i||!i.meta||!i.meta.logMessages)return r.warn(`No transaction logs found for ${e}`),{messageId:void 0};let s=n.ccipRouterProgramId.toString();r.debug(`Looking for program return log from CCIP Router: ${s}`),r.trace("Transaction logs:",i.meta.logMessages);let c=i.meta.logMessages.find(d=>d.includes(`Program return: ${s}`));if(c){r.debug("Found CCIP program return log");let d=c.split(`Program return: ${s} `);if(d.length>1){let f=d[1].trim();r.trace(`Extracted base64 data: ${f}`);let x="0x"+Buffer.from(f,"base64").toString("hex");return r.info(`Successfully extracted messageId: ${x}`),{messageId:x}}}return r.warn("Could not find CCIP Router program return log in transaction logs"),{messageId:void 0}}catch(i){return a(new Error("Failed to parse message ID from transaction"),{operation:"parseCCIPMessageSentEvent",txSignature:e,error:i instanceof Error?i.message:String(i)}),{messageId:void 0}}}import{BN as Ab}from"@coral-xyz/anchor";function lx(t,e){if(e&&e.debug("Creating extraArgs buffer for CCIP message"),!t){e&&e.warn("No options provided, creating default extraArgs with allowOutOfOrderExecution=true to avoid error 8030");let f=Buffer.from([24,29,207,16]),u=Buffer.alloc(16,0),x=Buffer.from([1]),m=Buffer.concat([u,x]),p=Buffer.concat([f,m]);return e&&e.trace("Created default extraArgs buffer with allowOutOfOrderExecution=true"),p}let r=t.gasLimit||0,n=null;t.allowOutOfOrderExecution===void 0?n="allowOutOfOrderExecution not specified, defaulting to true to avoid FeeQuoter error 8030":t.allowOutOfOrderExecution===!1&&(n="allowOutOfOrderExecution=false was explicitly specified but is not supported by FeeQuoter. Forcing to true to avoid error 8030."),n&&e&&e.warn(n);let o=!0;if(e){let f=t.allowOutOfOrderExecution===!1?" (forced)":t.allowOutOfOrderExecution===void 0?" (default)":"";e.debug(`ExtraArgs options - gasLimit: ${r}, allowOutOfOrderExecution: true${f}`)}let a=Buffer.from([24,29,207,16]);e&&e.trace("Using EVM ExtraArgs V2 type tag: 0x181dcf10");let i=new Ab(r).toArrayLike(Buffer,"le",16);e&&e.trace(`Gas limit buffer (LE, 16 bytes): 0x${i.toString("hex")}`);let s=Buffer.from([1]);e&&e.trace("AllowOutOfOrderExecution byte: 0x01 (true)");let c=Buffer.concat([i,s]),d=Buffer.concat([a,c]);return e&&e.trace(`Final extraArgs buffer (${d.length} bytes): 0x${d.toString("hex")}`),d}import{PublicKey as mx,VersionedTransaction as Tb,SystemProgram as kb,TransactionMessage as Eb}from"@solana/web3.js";import{getAssociatedTokenAddress as zd,TOKEN_PROGRAM_ID as Pb,NATIVE_MINT as Ib,TOKEN_2022_PROGRAM_ID as px,ASSOCIATED_TOKEN_PROGRAM_ID as Qd}from"@solana/spl-token";import{BN as Nb}from"@coral-xyz/anchor";import{TransactionInstruction as Cb}from"@solana/web3.js";import*as Ia from"@coral-xyz/borsh";var Sb=Ia.struct([Ia.u64("destChainSelector"),Yr.layout("message"),Ia.vecU8("tokenIndexes")]);function ux(t,e,r=Fe){let n=[{pubkey:e.config,isSigner:!1,isWritable:!1},{pubkey:e.destChainState,isSigner:!1,isWritable:!0},{pubkey:e.nonce,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!0},{pubkey:e.systemProgram,isSigner:!1,isWritable:!1},{pubkey:e.feeTokenProgram,isSigner:!1,isWritable:!1},{pubkey:e.feeTokenMint,isSigner:!1,isWritable:!1},{pubkey:e.feeTokenUserAssociatedAccount,isSigner:!1,isWritable:!1},{pubkey:e.feeTokenReceiver,isSigner:!1,isWritable:!0},{pubkey:e.feeBillingSigner,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoter,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterConfig,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterDestChain,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterBillingTokenConfig,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterLinkTokenConfig,isSigner:!1,isWritable:!1},{pubkey:e.rmnRemote,isSigner:!1,isWritable:!1},{pubkey:e.rmnRemoteCurses,isSigner:!1,isWritable:!1},{pubkey:e.rmnRemoteConfig,isSigner:!1,isWritable:!1}],o=Buffer.from([108,216,134,191,249,234,33,84]),a=Buffer.alloc(1e3),i=Sb.encode({destChainSelector:t.destChainSelector,message:Yr.toEncodable(t.message),tokenIndexes:Buffer.from(t.tokenIndexes.buffer,t.tokenIndexes.byteOffset,t.tokenIndexes.length)},a),s=Buffer.concat([o,a]).slice(0,8+i);return new Cb({keys:n,programId:r,data:s})}async function xx(t,e,r,n,o){if(!t.logger)throw new Error("Logger is required for sendCCIPMessage");let a=t.logger,i=t.config,s=t.provider.connection,c=Ut(a);a.info(`Sending CCIP message to destination chain ${e.destChainSelector.toString()}`);let d=e.feeToken.equals(mx.default),f=d?Ib:e.feeToken;a.debug(`Using fee token: ${f.toString()} (${d?"Native SOL":"SPL Token"})`);let u=Pb;if(!d)try{let J=await s.getAccountInfo(f);J?u=J.owner:u=px}catch{u=px}let x=BigInt(e.destChainSelector.toString()),m=t.provider.getAddress(),p=await Rb(i,x,e,f,u,d,m,a),{tokenIndexes:h,remainingAccounts:w,lookupTableList:b}=await _b(e,s,u,r,a,i,m),T={destChainSelector:e.destChainSelector,message:{receiver:e.receiver,data:e.data,tokenAmounts:e.tokenAmounts,feeToken:e.feeToken,extraArgs:e.extraArgs},tokenIndexes:new Uint8Array(h)},k=ux(T,p,i.ccipRouterProgramId);w.length>0&&k.keys.push(...w),a.trace("Complete instruction accounts:",k.keys.map((J,M)=>({index:M,pubkey:J.pubkey.toString(),isSigner:J.isSigner,isWritable:J.isWritable})));let{blockhash:O,lastValidBlockHeight:C}=await s.getLatestBlockhash({commitment:"finalized"}),B=[];n&&B.push(n),B.push(k);let P=new Eb({payerKey:m,recentBlockhash:O,instructions:B}).compileToV0Message(b),L=new Tb(P);await t.provider.signTransaction(L);let F=await s.sendTransaction(L,{skipPreflight:o?.skipPreflight??!1,preflightCommitment:"processed",maxRetries:5});return await s.confirmTransaction({signature:F,blockhash:O,lastValidBlockHeight:C},"finalized"),a.info(`CCIP message sent successfully: ${F}`),F}async function Rb(t,e,r,n,o,a,i,s){let c=Ut(s);try{s.info(`Building accounts for CCIP send to chain ${e.toString()}`),s.debug(`Fee token: ${n.toString()} (${a?"Native SOL":"SPL Token"})`);let[d]=Sc(t.ccipRouterProgramId),[f]=Tc(e,t.ccipRouterProgramId),[u]=ex(e,i,t.ccipRouterProgramId),[x]=jm(t.ccipRouterProgramId),[m]=Ec(t.feeQuoterProgramId),[p]=Pc(e,t.feeQuoterProgramId),[h]=lo(n,t.feeQuoterProgramId),[w]=lo(t.linkTokenMint,t.feeQuoterProgramId),[b]=ox(t.rmnRemoteProgramId),[T]=nx(t.rmnRemoteProgramId);s.debug(`Deriving token accounts for fee token: ${n.toString()}`);let k=a?mx.default:await zd(n,i,!0,o,Qd),O=await zd(n,x,!0,o,Qd);return{authority:i,config:d,destChainState:f,nonce:u,systemProgram:kb.programId,feeTokenProgram:o,feeTokenMint:n,feeTokenUserAssociatedAccount:k,feeTokenReceiver:O,feeBillingSigner:x,feeQuoter:t.feeQuoterProgramId,feeQuoterConfig:m,feeQuoterDestChain:p,feeQuoterBillingTokenConfig:h,feeQuoterLinkTokenConfig:w,rmnRemote:t.rmnRemoteProgramId,rmnRemoteCurses:b,rmnRemoteConfig:T}}catch(d){throw c(d,{operation:"buildCCIPSendAccounts",destChainSelector:e.toString(),feeToken:n.toString(),isNativeSol:a})}}async function _b(t,e,r,n,o,a,i){let s=Ut(o);o.debug(`Building token accounts for ${t.tokenAmounts.length} tokens`);let c=[],d=[],f=[],u=0;for(let x of t.tokenAmounts)try{let m=x.token;o.debug(`Processing token: ${m.toString()}, amount: ${x.amount.toString()}`);let p=r;try{let L=await e.getAccountInfo(m);L?(p=L.owner,o.debug(`Auto-detected token program: ${p.toString()} for token: ${m.toString()}`)):o.warn(`Token mint info not found for ${m.toString()}, using fallback token program`)}catch(L){o.warn(`Error determining token program, using fallback: ${L instanceof Error?L.message:String(L)}`)}let h=await n.getTokenAdminRegistry(m);o.debug(`Retrieved token admin registry for ${m.toString()}`);let w=await Mb(e,h.lookupTable,o);f.push(w);let b=w.state.addresses,T=Ob(b,o),k=await zd(m,i,!0,p,Qd),[O]=Ic(BigInt(t.destChainSelector.toString()),m,a.feeQuoterProgramId),[C]=tx(BigInt(t.destChainSelector.toString()),m,T),B=Bb(k,O,C,b,h.writableIndexes,o);c.push(u);let P=B.length;u+=P,d.push(...B),o.debug(`Added ${P} token-specific accounts for ${m.toString()}`)}catch(m){throw s(m,{operation:"buildTokenAccountsForSend",token:x.token.toString(),amount:x.amount.toString()})}return{tokenIndexes:c,remainingAccounts:d,lookupTableList:f}}async function Mb(t,e,r){let n=Ut(r);r.debug(`Fetching lookup table: ${e.toString()}`);let{value:o}=await t.getAddressLookupTable(e);if(!o)throw n(new Error(`Lookup table not found: ${e.toString()}`),{operation:"getLookupTableAccount",lookupTableAddress:e.toString()});if(o.state.addresses.length<7)throw n(new Error(`Lookup table has insufficient accounts: ${o.state.addresses.length} (needs at least 7)`),{operation:"getLookupTableAccount",lookupTableAddress:e.toString(),addressCount:o.state.addresses.length});return r.trace(`Lookup table fetched with ${o.state.addresses.length} addresses`),o}function Ob(t,e){let r=Ut(e);if(t.length<=2)throw r(new Error("Lookup table doesn't have enough entries to determine pool program"),{operation:"getPoolProgram",addressCount:t.length});let n=t[2];return e.debug(`Using pool program: ${n.toString()} (index 2 in lookup table)`),n}function Bb(t,e,r,n,o,a){let i=n[0];a.trace("Building token lookup accounts",{userTokenAccount:t.toString(),tokenBillingConfig:e.toString(),poolChainConfig:r.toString(),lookupTableAddress:i.toString(),entriesCount:n.length});let s=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:e,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!1}],c=n.slice(1).map((d,f)=>{let u=Lb(f+1,o,a);return{pubkey:d,isSigner:!1,isWritable:u}});return[...s,...c]}function Lb(t,e,r){if(t===0)return!1;let n=Math.floor(t/128),o=n===0?127-t%128:255-t%128;if(n<e.length){let a=new Nb(1).shln(o);return!e[n].and(a).isZero()}return!1}var _c=class{constructor(e){this.context={provider:e.provider,config:e.config,logger:e.logger??Ti("client",{level:2})},this.accountReader=new Nc(this.context)}get provider(){return this.context.provider}get config(){return this.context.config}get logger(){return this.context.logger}getAccountReader(){return this.accountReader}async getFee(e){return dx(this.context,e)}async send(e,r,n){return xx(this.context,e,this.accountReader,r,n)}async sendWithMessageId(e,r,n){let o=await this.send(e,r,n),a=await fx(this.context,o);return{txSignature:o,messageId:a.messageId}}createExtraArgs(e){return lx(e,this.context.logger)}};import{Keypair as XB}from"@solana/web3.js";import gx from"bignumber.js";import{Fragment as Kb,jsx as kn,jsxs as Xd}from"react/jsx-runtime";var bx=({onCloseClick:t})=>{let{supportedChains:e,srcChain:r,srcToken:n,dstChain:o,dstToken:a,srcValueWei:i,dstValueWei:s,route:c,refreshBalance:d,bridgeUI:f}=Y(),{txStatus:u,setTxStatus:x,txMsg:m,enqueueTransaction:p,setTxNeedsApproval:h}=Er(),{addTransactionToLocalHistory:w,updateTransactionInLocalHistory:b}=xa(),{networks:{evm:{signer:T,address:k}}}=ga(),O=Db(),C=gi(),B=hx(async L=>{if(!r||!o||!n||!a||!c)return;let F={hash:L.transactionHash,timestamp:Date.now()/1e3,sourceChainId:r.chainId,targetChainId:o.chainId,amountWei:i,tokenAddress:n.address,tokenOutAddress:a?.address,tokenOutAmount:s,estimatedDeliveryTimestamp:Number(c.xSwapFees.expressDeliveryFee||"0")>0?Date.now()/1e3*1e3+30*1e3:Date.now()/1e3*1e3+qs?.[r?.chainId]?.[o?.chainId]||Qs,status:"IN_PROGRESS"};if(r.chainId===o.chainId)F.estimatedDeliveryTimestamp=F.timestamp,F.status="DONE";else{let J="MessageSent(bytes32,uint64,address,bytes,address,uint256,uint256,address,uint256)",M="MessageReceived(bytes32,uint64,address,bytes,address,uint256)",H="MessageSent(bytes32,uint64,address,address,address,address,uint256)",G="MessageReceived(bytes32,uint64,address,bytes)",X=ie.getDefaultProvider(e.find(te=>te.ecosystem==="evm"&&te.chainId===o.chainId)?.publicRpcUrls[0]),z=async(te,j,$)=>{let y=L.logs?.find(S=>S.topics[0]===ie.utils.id(j));if(y){let S=y?.topics[1];F.messageId=S;let D=new ie.Contract($e[o.chainId][te],te==="XSwapRouter"?s1:c1,X),g={address:$e[o.chainId]?.[te],topics:[ie.utils.id($),S]};(await D.queryFilter(g)).length>0?(F.status="DONE",b(F,L.from)):D.once(g,()=>{F.status="DONE",b(F,L.from)})}};await z("XSwapRouter",J,M),await z("CustomXSwapRouter",H,G)}w(F,L.from)},[w,b,r,o,n,a,i,s,e,c]),P=hx(async()=>{if(n)if(c&&c.ecosystem==="evm"){let L=()=>{p({executeTransaction:()=>{if(!(!c.transactions.swap||!T))return C.executeCalldata(T,c.transactions.swap)},txStatus:3,handlers:{onSuccess:F=>{x(5),d(),B(F),r?.chainId&&o?.chainId&&r?.chainId!==o?.chainId&&yx(r?.chainId,F.transactionHash,a?.address,s)}}})};n.address!==Ht.AddressZero&&c.transactions.approve?(h(!0),p({executeTransaction:()=>{if(!(!c.transactions.approve||!T))return C.executeCalldata(T,c.transactions.approve)},txStatus:1,handlers:{onSuccess:()=>L()}})):(h(!1),L())}else r?.ecosystem==="solana"&&p({executeTransaction:async()=>{if(f){let J={connection:new Fb(eo,"confirmed"),wallet:Ub.generate(),getAddress(){return O.publicKey||ki.default},async signTransaction(j){let $=await O.signTransaction?.(j);if(!$)throw new Error("Failed to sign the transaction.");return $}},M={ccipRouterProgramId:qp,feeQuoterProgramId:Jp,tokenMint:new ki(n.address),rmnRemoteProgramId:Zp,linkTokenMint:zp,nativeSol:ki.default,systemProgramId:Qp,programId:Xp},H={provider:J,config:M},G=new _c(H),X=G.createExtraArgs({gasLimit:0,allowOutOfOrderExecution:!0});if(!a)return;let z={destChainSelector:new gx(o?.ccipChainId??""),receiver:Buffer.from(k&&k.startsWith("0x")?k.slice(2):k||"","hex"),data:Buffer.alloc(0),tokenAmounts:[{token:new ki(n.address),amount:new gx(i.toString())}],feeToken:ki.default,extraArgs:X},te=await G.sendWithMessageId(z);console.log(`Message sent! Transaction: ${te.txSignature}`),console.log(`Message ID: ${te.messageId}`)}if(!c||!c.swapTransaction||!O)return;let L=Vb.deserialize(Buffer.from(c.swapTransaction,"base64"));return O.signTransaction?.(L)},txStatus:3,handlers:{onSuccess:()=>{x(5),d()}},network:"solana"})},[n,c,r?.ecosystem,r?.chainId,p,T,C,x,d,B,o?.chainId,o?.ccipChainId,a,s,h,f,O,k,i]);return Xd("div",{className:"flex flex-col text-t_text_primary gap-5",children:[kn(Wm,{onCloseClick:t}),m?kn("div",{children:m}):Xd(Kb,{children:[Xd("div",{className:"relative flex flex-col gap-5 fill-white",children:[kn(Fd,{type:"source"}),kn(Fm,{}),kn(Fd,{type:"destination"})]}),kn(bc,{})]}),u===0?kn(Dt,{variant:"filled-squared",onClick:()=>{P()},type:"button",className:"text-white border-none h-14 text-sm font-bold w-full py-5 cursor-pointer bg-gradient-to-r from-t_main_accent_light to-t_main_accent_dark rounded-lg",children:"Sign and swap"}):kn(qm,{})]})};import{jsx as Zd,jsxs as wx}from"react/jsx-runtime";var Yd=({chain:t,token:e,value:r})=>wx("div",{className:"flex items-center gap-2",children:[Zd(En,{chain:t,token:e,chainLogoClassName:"w-5",tokenLogoClassName:"w-9 h-9",generatedLogoClassName:"w-9 h-9 text-[16px]"}),wx("div",{className:"flex flex-col w-min sm:w-auto",children:[Zd("div",{children:`${r} ${e?.symbol}`}),Zd("div",{className:"opacity-60",children:t?.displayName})]})]});import{Fragment as vx,jsx as ze,jsxs as Ei}from"react/jsx-runtime";var Ax=({onCloseClick:t})=>{let{txError:e,txExplorerUrl:r,txMsg:n}=Er(),{isExpressDeliveryActive:o,srcChain:a,srcToken:i,dstChain:s,dstToken:c,srcValue:d,dstValue:f}=Y();return ze("div",{className:"flex flex-col gap-5 text-t_text_primary justify-center items-center",children:e?Ei(vx,{children:[ze("div",{className:"flex justify-end fill-t_text_primary cursor-pointer w-full",onClick:t,children:ze(Me,{className:"w-3.5 h-3.5"})}),ze(K1,{}),ze("div",{className:"text-2xl font-bold",children:"Transaction failed"}),ze("div",{className:"text-center",children:e})]}):Ei(vx,{children:[ze("div",{className:"flex justify-end fill-t_text_primary cursor-pointer w-full",onClick:t,children:ze(Me,{className:"w-3.5 h-3.5"})}),ze(Z1,{}),Ei("div",{className:"flex flex-col items-center",children:[ze("div",{className:"text-2xl font-bold",children:"Transaction success!"}),!n&&a!==s&&ze("div",{className:"text-sm font-normal opacity-60",children:`Approximated time of delivery: ${o?"30 sec":"30 min"}`})]}),!n&&Ei("div",{className:"flex items-center gap-2",children:[ze(Yd,{chain:a,token:i,value:d}),ze("div",{className:"-rotate-90 flex justify-center w-8 fill-t_text_primary opacity-50",children:ze(nc,{})}),ze(Yd,{chain:s,token:c,value:f})]}),Ei("a",{href:r,target:"_blank",rel:"noreferrer",className:"flex gap-4 items-center mb-2 fill-t_main_accent_light",children:[ze("p",{className:"text-t_text_secondary underline",children:"View details on Explorer"}),ze(q1,{})]})]})})};import{jsx as Cx}from"react/jsx-runtime";var Sx=({onCloseClick:t})=>{let{txStatus:e,txError:r}=Er();return e===5||r?Cx(Ax,{onCloseClick:t}):Cx(bx,{onCloseClick:t})};import{useSnackbar as Hb}from"notistack";import{createContext as Wb,useCallback as Na,useContext as Gb,useEffect as qb,useMemo as jd,useRef as Tx,useState as jr}from"react";import{jsx as rt,jsxs as Mc}from"react/jsx-runtime";var kx=Wb({}),Ex=({children:t})=>{let{evm:e,solana:r}=Ft(),{chainId:n}=e,{chainId:o}=r,{enqueueTransaction:a}=Mm(),{enqueueSnackbar:i,closeSnackbar:s}=Hb(),[c,d]=jr("evm"),f=Tx(!1),[u,x]=jr(!1),[m,p]=jr(""),h=Tx(),[w,b]=jr(""),[T,k]=jr(""),[O,C]=jr(void 0),[B,P]=jr(!1),[L,F]=jr(!1),[J,M]=jr(0),{supportedChains:H,setSrcValue:G}=Y(),X=U=>{h.current===U&&(f.current=!1,x(!1))};qb(()=>{if(!u&&(w&&(i(rt(Xr,{message:{text:w,variant:"error"}})),b("")),B&&m)){let U=m;i(rt(Xr,{message:{text:`Transaction ${l1(m)} is about to be mined!`,variant:"warning",action:()=>Mc("div",{className:"flex items-center flex-nowrap",children:[rt(Dt,{type:"button",onClick:()=>{window.open(`${H.find(l=>l.chainId===n?.toString()&&l.ecosystem===c)?.transactionExplorer}/${m}`||"")},children:"Check"}),rt("div",{className:"fill-t_text_primary w-[14px] h-[14px] cursor-pointer p-[14px] leading-[0px]",onClick:()=>s(U),children:rt(Me,{})})]}),animation:()=>rt(Nr,{className:"w-4 h-4"})}}),{persist:!0,key:U}),p("")}},[B,c,m,w,i,s,n,u,H]);let z=Na((U,l,E)=>{let v=`${l}/${U}`;if(E){let V=E.events?.find(q=>q.event==="MessageSent")?.args?.messageId;return V?`${la}${V}`:v}else return v},[]),te=Na((U,l,E=!0)=>{let v={...l};return v.onConfirm=I=>{h.current===U&&(l?.onConfirm&&l?.onConfirm(I),p(I?.hash||""),M(V=>V+1))},v.onSuccess=I=>{if(s(I?.transactionHash),h.current!==U||(C(I),b(""),P(!1),l?.onSuccess&&l.onSuccess(I),f.current||!E))return;let V=`${m}-success`;i(rt(Xr,{message:{text:"Transaction mined successfully!",variant:"success",action:()=>Mc("div",{className:"flex items-center flex-nowrap",children:[rt(Dt,{type:"button",onClick:()=>{window.open(z(m,H.find(q=>q.chainId===n?.toString()&&q.ecosystem===c)?.transactionExplorer||"",I))},children:"View"}),rt("div",{className:"fill-t_text_primary w-[14px] h-[14px] cursor-pointer p-[14px] leading-[0px]",onClick:()=>s(V),children:rt(Me,{})})]})}}),{persist:!1,key:V})},v.onError=I=>{h.current===U&&(b(hd(I)),l?.onError?.(I),P(!1))},v},[s,m,i,z,H,n,c]),j=Na((U,l,E=!0)=>{let v={...l};return v.onConfirm=I=>{h.current===U&&(l?.onConfirm&&l?.onConfirm(I),M(V=>V+1))},v.onSuccess=I=>{if(s(I),h.current!==U||(l?.onSuccess&&l?.onSuccess(I),p(I||""),b(""),P(!1),f.current||!E))return;let V=`${m}-success`;i(rt(Xr,{message:{text:"Transaction mined successfully!",variant:"success",action:()=>Mc("div",{className:"flex items-center flex-nowrap",children:[rt(Dt,{type:"button",onClick:()=>{window.open(z(m,H.find(q=>q.chainId===o?.toString()&&q.ecosystem===c)?.transactionExplorer||""))},children:"View"}),rt("div",{className:"fill-t_text_primary w-[14px] h-[14px] cursor-pointer p-[14px] leading-[0px]",onClick:()=>s(V),children:rt(Me,{})})]})}}),{persist:!1,key:V})},v.onError=I=>{h.current===U&&(b(hd(I)),l?.onError?.(I),P(!1))},v},[s,m,i,z,H,o,c]),$=Na(({executeTransaction:U,txStatus:l,txMsg:E="",handlers:v,network:I="evm",showDefaultSuccessMessage:V=!0})=>{let q=Date.now(),ee=v;return I==="evm"?ee=te(q,v,V):I==="solana"&&(ee=j(q,v,V)),a({executeTransaction:U,txStatus:l,handlers:ee,network:I}),h.current=q,f.current=!0,p(""),b(""),k(E),M(l),C(void 0),P(!0),d(I),x(!0),q},[te,j,a]),y=jd(()=>z(m,H.find(U=>(U.chainId===n?.toString()||U.chainId===o?.toString())&&U.ecosystem===c)?.transactionExplorer||"",O),[n,o,c,z,H,m,O]),S=Na(U=>{x(U),f.current=U},[]),D=jd(()=>w?"error":J===5?"success":"neutral",[w,J]),g=jd(()=>({enqueueTransaction:$,closeTransactionModal:X,isTxModalOpen:u,setTxModalOpen:x,loading:B,txStatus:J,setTxStatus:M,txExplorerUrl:y,txHash:m,txError:w,txMsg:T,setTxMsg:k,setTxError:b,txNeedsApproval:L,setTxNeedsApproval:F}),[$,u,B,J,y,m,w,T,L]),A=Na(()=>{b(""),G(""),S(!1)},[b,G,S]);return Mc(kx.Provider,{value:g,children:[u&&rt(Px,{id:"tx_modal",className:"max-w-x_modal",type:D,onCloseClick:A,children:rt(Sx,{onCloseClick:A})}),t]})};function Er(){return Gb(kx)}import{jsx as Ix}from"react/jsx-runtime";var uo=({className:t,children:e,onClose:r})=>{let{overlay:n}=Y();return Ix("div",{className:`${n?"fixed bg-[rgba(0,0,0,0.8)]":"absolute"} top-0 left-0 right-0 bottom-0 flex items-center justify-center z-10 ${t||""}`,onMouseDown:o=>{o.target===o.currentTarget&&n&&(o.stopPropagation(),o.nativeEvent.stopImmediatePropagation(),o.preventDefault(),r())},children:Ix("div",{className:"flex flex-col bg-t_bg_primary rounded-3xl p-4 w-full min-w-[340px]",style:{height:n?"600px":"100%",maxWidth:"480px",maxHeight:"100%"},children:e})})};import{jsx as $d,jsxs as Jb}from"react/jsx-runtime";var ef=()=>Jb("div",{className:"flex justify-center items-center gap-2 my-3",children:[$d("span",{className:"text-t_text_primary opacity-50",children:"Powered by"}),$d("div",{className:"flex items-center gap-1 fill-t_chainlink_logo",children:$d(M1,{})})]});import{forwardRef as zb,useCallback as Qb,useMemo as Xb}from"react";import{jsx as Zb}from"react/jsx-runtime";var Pi=zb(({value:t,onChange:e,id:r,placeholder:n,regex:o,className:a,disabled:i},s)=>{let c=Xb(()=>t.length<2?2:t.length,[t]),d=Qb(f=>{f.target.value!=="."&&o.test(f.target.value)&&e(f.target.value.replace(/,/g,"."))},[e,o,r]);return Zb("input",{ref:s,id:r,type:"text",size:c,placeholder:n||"0",pattern:o.toString(),inputMode:"decimal",spellCheck:"false",autoComplete:"off",autoCorrect:"off",disabled:i,value:t,onChange:d,className:a})});Pi.displayName="SafeInput";import{jsx as Yb}from"react/jsx-runtime";var $t=({className:t})=>Yb("div",{className:`bg-t_bg_tertiary bg-opacity-15 rounded animate-pulse ${t||""}`});import{jsx as tf,jsxs as jb}from"react/jsx-runtime";var Nr=({className:t})=>tf("div",{role:"status",className:t||"",children:jb("svg",{"aria-hidden":"true",className:`animate-spin fill-t_text_primary text-t_text_primary text-opacity-10 ${t||""}`,viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[tf("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),tf("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]})});import{useMemo as Ly}from"react";import{Fragment as $b,jsx as $r,jsxs as ey}from"react/jsx-runtime";var Nx=({onClose:t})=>{let{tab:e,setTab:r,overlay:n}=Y();return $r("div",{className:"flex gap-5 items-center",children:e==="Swap"?ey($b,{children:[$r("button",{type:"button",onClick:()=>r("Settings"),"aria-label":"Open settings",className:"fill-white",children:$r(z1,{})}),$r("button",{type:"button",onClick:()=>r("History"),"aria-label":"Open history",className:"fill-white",children:$r(W1,{})}),n&&$r("button",{type:"button",onClick:()=>t(),"aria-label":"Close",className:"fill-t_text_primary",children:$r(Me,{})})]}):$r("button",{type:"button",onClick:()=>{r("Swap")},"aria-label":"Switch to swap view",className:"fill-t_text_primary",children:$r(Me,{})})})};import{jsx as Rx,jsxs as ty}from"react/jsx-runtime";var _x=({onClose:t})=>{let{tab:e,bridgeUI:r}=Y();return ty("div",{className:"flex justify-between mt-2 px-4",children:[Rx("div",{className:"text-xl font-sans-bold font-bold",children:e==="Swap"&&r?"Bridge":e}),Rx(Nx,{onClose:t})]})};import{useMemo as Mx}from"react";import{Virtuoso as ry}from"react-virtuoso";import{jsx as Ra}from"react/jsx-runtime";var Ox=()=>{let{history:t,historyLoadedOnce:e,solanaHistory:r,solanaHistoryLoadedOnce:n}=xa(),{solana:{address:o}}=Ft(),a=Mx(()=>[...t,...o?r:[]].sort((c,d)=>d.timestamp-c.timestamp),[t,r,o]),i=Mx(()=>!a||a.length===0?e&&(o?n:!0)?Ra("div",{className:"text-center py-4 text-[#9e9e9e]",children:"Your history is empty"}):Ra("div",{className:"flex justify-center w-full py-4 fill-t_text_primary",children:Ra(Nr,{className:"w-8 h-8"})}):Ra(ry,{data:a,style:{height:"532px"},itemContent:(s,c)=>Ra(Bx,{transaction:c})}),[e,n,a,o]);return Ra("div",{className:"flex-1 overflow-hidden",children:i})};import{jsx as rf,jsxs as ny}from"react/jsx-runtime";var Ii=({checked:t,onClick:e})=>rf("div",{children:ny("span",{className:"inline-flex w-14 h-9 p-3 relative align-middle box-border overflow-hidden cursor-pointer",onClick:e,children:[rf("span",{className:"h-full w-full rounded-lg bg-t_bg_tertiary bg-opacity-30"}),rf("span",{className:`transition-all w-5 h-5 rounded-full absolute translate-y-[-4px]
|
|
91
|
-
${t?"translate-x-[12px] bg-t_main_accent_light":"bg-t_bg_tertiary"} `})]})});Ii.displayName="ToggleButton";import{useRef as oy}from"react";import{jsx as _a,jsxs as Lx}from"react/jsx-runtime";var Dx=()=>{let t=oy(null),{infiniteApproval:e,setInfiniteApproval:r}=Y();return Lx("div",{className:"flex flex-col gap-5 pt-5 border-t border-solid border-white border-opacity-10",children:[_a("h1",{className:"text-sm font-medium text-left",children:"Approval"}),_a("div",{className:"flex gap-2 items-center justify-between flex-wrap",children:Lx("div",{className:"flex items-center",children:[_a("h2",{className:"text-xs",children:"Infinite approval: "}),_a(Ii,{checked:e,onClick:()=>{r(n=>!n)}}),_a(ba,{text:"Enabling infinite approval allows to access your tokens without requiring repeated approvals for each transaction. This streamlines multiple transactions but may pose a security risk if the spender's address is compromised.",position:"BOTTOM",triggerRef:t,id:"infinite-approval-tooltip"}),_a(oo,{ref:t,className:"cursor-help fill-t_main_accent_light w-[18px] h-[18px]"})]})})]})};import{useRef as ay}from"react";import{jsx as Ma,jsxs as Oc}from"react/jsx-runtime";var Fx=()=>{let t=ay(null),{expressDelivery:e,setExpressDelivery:r}=Y();return Oc("div",{className:"flex flex-col gap-5 pt-5 border-t border-solid border-t_text_primary border-opacity-10",children:[Ma("h1",{className:"text-sm font-medium text-left",children:"Delivery"}),Oc("div",{className:"flex gap-2 items-center justify-between flex-wrap",children:[Oc("div",{className:"flex items-center",children:[Ma("h2",{className:"text-xs",children:"Express delivery: "}),Ma(Ii,{checked:e,onClick:()=>{r(n=>!n)}}),Ma(ba,{text:"Express delivery is a special feature of XSwap that reduces transaction time across chains to around 30 seconds. It is currently available for swaps below a value of $1000 USD.",position:"BOTTOM",triggerRef:t,id:"express-delivery-tooltip"}),Ma(oo,{ref:t,className:"cursor-help fill-t_main_accent_light w-[18px] h-[18px]"})]}),Oc("div",{className:"text-xs font-medium",children:[Ma("span",{className:"text-xs font-medium opacity-60",children:"Max time: "}),e?"30 sec":"30 min"]})]})]})};import{useState as iy}from"react";import{jsx as Pn,jsxs as Bc}from"react/jsx-runtime";var Ux=()=>{let{slippage:t,setSlippage:e}=Y(),[r,n]=iy(t),o=s=>{s.length===0?(n(""),e(a)):(s.length>=5&&(s=s.substring(0,5)),Number(s)<=100&&(n(s),e(s)))},a="1.5";return Bc("div",{className:"flex flex-col gap-5 pt-5 border-t border-solid border-t_text_primary border-opacity-10",children:[Pn("h1",{className:"text-sm font-medium text-left",children:"Slippage"}),Bc("div",{className:"flex items-center gap-2 w-full",children:[Pn("div",{className:"flex items-center bg-t_bg_tertiary bg-opacity-5 p-1 border border-solid border-t_text_primary border-opacity-10 rounded-xl gap-2",children:["0.5","1.5","3.0"].map(s=>Pn("button",{type:"button",onClick:()=>o(s),className:`block rounded-lg text-sm bg-transparent h-7 px-1 hover:bg-gradient-to-r hover:from-t_main_accent_light hover:to-t_main_accent_dark hover:opacity-100 ${t===s?"gradient-slippage-container-blue text-white opacity-100":"text-t_text_primary opacity-20"}`,children:`${s}%`},s))}),Pn("div",{className:`${r?"gradient-slippage-container-blue p-[1px] rounded-xl":""}`,children:Bc("div",{className:"bg-t_bg_primary p-1 h-full border border-solid border-t_text_primary border-opacity-10 rounded-xl",children:[Pn(Pi,{id:"slippage-input",placeholder:"1.5",regex:Js,value:r,onChange:o,className:`text-sm leading-none bg-transparent px-0.5 placeholder:text-t_text_primary/20 focus:outline-none ${r?"text-t_text_primary":"text-white"} `})," ","%"]})})]}),Bc("div",{className:"text-sm opacity-60",children:[Pn("p",{children:"Slippage is the price variation you are willing to accept in the event that the price of the trade changes while it is processing."}),Pn("br",{}),Pn("p",{children:"If the trade fails due to too low slippage, you will receive USDC on the destination chain."})]})]})};import{jsx as nf,jsxs as sy}from"react/jsx-runtime";var Vx=()=>sy("div",{className:"flex flex-col gap-5 px-4",children:[nf(Fx,{}),nf(Dx,{}),nf(Ux,{})]});import{jsx as Ni}from"react/jsx-runtime";var Kx=()=>{let{dstChain:t,dstToken:e,srcChain:r,srcToken:n,setDstChain:o,setDstToken:a,setSrcChain:i,setSrcToken:s}=Y();return Ni("div",{className:"h-[1px] w-full",children:Ni("button",{onClick:()=>{o(r),i(t),a(n),s(e)},"aria-label":"Switch target token with the source token",className:"absolute -translate-y-5 left-1/2 -translate-x-5 p-1 border border-solid border-t_text_primary border-opacity-10 rounded-xl bg-t_bg_secondary",children:Ni("div",{className:"relative bg-gradient-to-r from-t_main_accent_light to-t_main_accent_dark w-8 h-8 rounded-lg",children:Ni("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 fill-white",children:Ni(_1,{})})})})})};var of={1:["0xdac17f958d2ee523a2206206994597c13d831ec7"]};import{useCallback as af,useMemo as cy}from"react";var Hx=({rpcChainId:t,currentChainId:e,signer:r,tokenAddress:n})=>{let o=Ed(),{supportedChains:a}=Y(),i=cy(()=>{let s=a.find(c=>c.ecosystem==="evm"&&c.chainId===t)?.publicRpcUrls[0];return s&&n?new ie.Contract(n,Tr,r&&(!e||e===t)?r:ie.getDefaultProvider(s)):null},[t,e,r,n,a]);return{balanceOf:af(async s=>await o.query(i,"balanceOf",[s]),[i,o]),allowance:af(async(s,c)=>await o.query(i,"allowance",[s,c]),[i,o]),approve:af(async(s,c)=>await o.execute(i,"approve",[c,s]),[i,o])}};import{useCallback as qx,useEffect as uy,useMemo as Oa,useState as py}from"react";import{useAccount as my,useSwitchChain as xy}from"wagmi";import{useCallback as Wx}from"react";import{useConnect as dy}from"wagmi";import{useWallet as fy}from"@solana/wallet-adapter-react";import{Fragment as Gx,jsx as Vt,jsxs as Ri}from"react/jsx-runtime";var ly=({connector:t,className:e})=>{switch(t.name){case"WalletConnect":return Vt(am,{className:`w-[34px] h-[34px] rounded-md ${e||""}`});default:return Vt("img",{src:t.icon,alt:t.name,className:`w-[34px] h-[34px] rounded-md ${e||""}`})}},sf=({ecosystem:t,className:e,onClose:r})=>{let{connectors:n,connectAsync:o}=dy(),{wallets:a,select:i,connect:s}=fy(),c=Wx(async f=>{try{await o({connector:f})}catch(u){console.error("Failed to connect EVM wallet:",u)}finally{r()}},[o,r]),d=Wx(async f=>{try{i(f),await s()}catch(u){console.error("Failed to connect Solana wallet:",u)}finally{r()}},[s,i,r]);return Ri("div",{className:`flex flex-col h-full ${e||""}`,children:[Ri("div",{className:"flex justify-between",children:[Vt("div",{className:"text-base/4 mb-4 text-t_text_primary",children:"Pick wallet"}),Vt("div",{className:"w-4 h-4 fill-t_text_primary cursor-pointer",onClick:r,children:Vt(Me,{})})]}),Vt("div",{className:"horizontal-separator"}),Ri("div",{className:"h-full pt-4",children:[t==="evm"&&Vt(Gx,{children:n.map(f=>Ri("button",{onClick:()=>c(f),className:"flex items-center w-full gap-3 mt-2 mb-2 cursor-pointer p-4 border border-solid border-white border-opacity-0 hover:selected-wallet-item",children:[Vt(ly,{connector:f}),Vt("div",{className:"text-t_text_primary",children:f.name})]},f.id))}),t==="solana"&&Vt(Gx,{children:a.map(f=>Ri("button",{onClick:()=>d(f.adapter.name),className:"flex items-center w-full gap-3 mt-2 mb-2 cursor-pointer p-4 border border-solid border-white border-opacity-0 hover:selected-wallet-item",children:[Vt("img",{src:f.adapter.icon,alt:f.adapter.name,className:`w-[34px] h-[34px] rounded-md ${e||""}`}),Vt("div",{className:"text-t_text_primary",children:f.adapter.name})]},f.adapter.name))})]})]})};import{Fragment as hy,jsx as _i,jsxs as gy}from"react/jsx-runtime";var Jx=()=>{let{address:t,chainId:e}=my(),{switchChainAsync:r}=xy(),{integrationConfig:n}=Y(),{bridgeUI:o,error:a,srcChain:i,dstChain:s,srcToken:c,dstToken:d,srcValueWei:f,isFetchingRoute:u,isAsyncDataLoaded:x,hasOnConnectWalletCallback:m,onConnectWallet:p}=Y(),{setTxStatus:h,setTxMsg:w,setTxModalOpen:b,enqueueTransaction:T}=Er(),k=Oa(()=>i?.chainId,[i?.chainId]),O=Oa(()=>s?.chainId,[s?.chainId]),C=Oa(()=>c?.address,[c?.address]),B=Oa(()=>d?.address,[d?.address]),[P,L]=py("0"),{networks:{evm:F}}=ga(),{openEVMWalletModal:J,setOpenEVMWalletModal:M,openSolanaWalletModal:H,setOpenSolanaWalletModal:G,solana:X}=Ft(),{allowance:z,approve:te}=Hx({rpcChainId:k,currentChainId:F.chainId,signer:F.signer,tokenAddress:C}),j=Oa(()=>k?k===O?$e[k]?.XSwapRouterSingleChain||"":$e[k]?.XSwapRouter||"":"",[k,O]),$=qx(async()=>{if(j&&F.address)try{let D=await z(F.address,j);L(D.toString())}catch{L("0")}else L("0")},[z,F.address,j]);uy(()=>{k&&of[k]?.includes(C)&&$()},[$,k,C]);let y=qx(()=>{h(0),w(""),b(!0)},[b,w,h]),S=Oa(()=>x?a?{text:a,fn:()=>{},disabled:!0}:i?.ecosystem!=="solana"&&!t?{text:n.defaultWalletPicker||m?"Connect Wallet":"Connect Wallet First",fn:()=>{n.defaultWalletPicker?M(!0):m&&p()},disabled:!n.defaultWalletPicker&&!m}:!k||!O||!C||!B?{text:"Select Tokens",fn:()=>{},disabled:!0}:k===O&&C.toLowerCase()===B.toLowerCase()?{text:"Change Token",fn:()=>{},disabled:!0}:i?.ecosystem==="solana"&&!X.address?{text:"Connect Solana Wallet",fn:()=>{G(!0)},disabled:!1}:i?.ecosystem!=="solana"&&e?.toString()!==k?{text:"Change Chain",fn:async()=>await r({chainId:Number(k)}),disabled:!1}:jt(f||"0").lte(jt("0"))?{text:"Enter Token Amount",fn:()=>{},disabled:!0}:u?{text:"Fetching Route",fn:()=>{},disabled:!0}:of[k]?.includes(C)&&P!=="0"&&W.from(P).lt(W.from(f))?{text:"Reset Approval",fn:async()=>{T({executeTransaction:()=>te("0",j),txStatus:1,txMsg:"You are going to reset your approval",handlers:{onSuccess:()=>{$(),h(5)}}})},disabled:!1}:{text:o?"Bridge":"Swap",fn:async()=>{y()},disabled:!1}:{text:"Loading XPay...",fn:()=>{},disabled:!0},[x,a,i?.ecosystem,t,k,O,C,B,X.address,e,f,u,P,o,n.defaultWalletPicker,m,M,p,G,r,T,te,j,$,h,y]);return gy(hy,{children:[J&&_i(uo,{onClose:()=>M(!1),children:_i(sf,{ecosystem:"evm",onClose:()=>M(!1)})}),H&&_i(uo,{onClose:()=>G(!1),children:_i(sf,{ecosystem:"solana",onClose:()=>G(!1)})}),_i("button",{type:"button",disabled:S.disabled,onClick:S.fn,className:`text-xl font-sans-bold font-bold w-full py-5 cursor-pointer disabled:cursor-not-allowed rounded-2xl border-none ${S.disabled?"bg-t_button_pr_off_bg text-t_button_pr_off_text":"bg-gradient-to-r from-t_main_accent_light to-t_main_accent_dark text-t_button_pr_text"}`,children:S.text})]})};import{useMemo as uh}from"react";import{useMemo as yy}from"react";import{jsx as cf,jsxs as by}from"react/jsx-runtime";var zx=()=>{let{srcTokenBalanceInfo:t,isFetchingBalance:e}=Y();return by("div",{className:"flex flex-col items-end",children:[cf("p",{className:"text-xs font-medium opacity-60",children:"Balance:"}),e?cf($t,{className:"w-[50px] h-[16px]"}):cf("p",{className:`text-xs font-medium ${!t&&"opacity-60"}`,children:t||"-"})]})};import{Fragment as Qx,jsx as In,jsxs as Lc}from"react/jsx-runtime";var Xx=({type:t})=>{let{srcValue:e,srcValueUsd:r,dstValue:n,dstValueUsd:o,setSrcValue:a,isFetchingRoute:i}=Y(),s=yy(()=>t==="source"?r:o,[o,r,t]);return Lc("div",{className:"flex justify-between items-center w-full p-4 gap-8 overflow-hidden",children:[In("div",{className:"flex flex-col font-medium w-full overflow-hidden text-left",children:t==="source"?Lc(Qx,{children:[In(Pi,{id:"swap-amount-input",className:"bg-transparent border-none p-0 text-xl outline-0 font-sans-bold font-bold",regex:Js,value:e,onChange:c=>a(c)}),s&&In("div",{className:"text-sx opacity-60",children:`$${s}`})]}):i?Lc("div",{className:"flex flex-col gap-1",children:[In($t,{className:"w-[150px] h-[30px]"}),In($t,{className:"w-[100px] h-[20px]"})]}):Lc(Qx,{children:[In("div",{className:"text-xl text-t_text_secondary font-sans-bold font-bold",children:n||0}),s&&In("div",{className:"text-sx opacity-60",children:`$${s}`})]})}),t==="source"&&In(zx,{})]})};import{useMemo as $x,useState as Ty}from"react";import{useMemo as wy,useState as vy,useRef as Ay,useEffect as Cy}from"react";import{Virtuoso as Sy}from"react-virtuoso";import{useMemo as df}from"react";import{jsx as Ba,jsxs as ff}from"react/jsx-runtime";var Zx=({chain:t,type:e,onClick:r,disabled:n})=>{let{networks:{evm:o}}=ga(),{srcChain:a,dstChain:i,bridgeUI:s}=Y(),c=df(()=>e==="source"?a?.chainId:i?.chainId,[i,a,e]),d=df(()=>o.signer&&o.chainId===t.chainId,[t.chainId,o.chainId,o.signer]),f=df(()=>{if(s)return e==="destination"?a?.chainId:i?.chainId},[s,i?.chainId,a?.chainId,e]),x=t.chainId===f?"Transfers between the same chains are not available":n?s?"Token is not available on this chain":`Swap from ${a?.displayName||"the source chain"} to this chain is currently not supported.`:"";return Ba("div",{className:"group relative",children:ff("div",{onClick:()=>{t.chainId===f||n||r(t.chainId)},className:`flex justify-between items-center gap-2 mt-2 mb-2 cursor-pointer p-4 border border-solid border-white border-opacity-0 hover:selected-chain-item ${c===t.chainId?"selected-chain-item":""} ${t.chainId===f||n?"disabled-chain-item cursor-default":""}`,children:[ff("div",{className:"flex gap-3 items-center w-full",children:[Ba("img",{src:t.image,alt:t.name,className:"w-[34px] h-[34px]"}),Ba("p",{children:t.displayName})]}),x&&Ba("div",{className:"w-full text-center opacity-0 group-hover:opacity-100 text-xs transition-opacity duration-200",children:x}),d&&ff("div",{className:"flex items-baseline gap-1",children:[Ba(U1,{}),Ba("div",{className:"text-t_text_green",children:"connected"})]})]})})};import{jsx as rr,jsxs as Yx}from"react/jsx-runtime";var jx=({type:t,onClose:e})=>{let{setSrcChain:r,setDstChain:n,srcChainOptions:o,dstChainOptions:a}=Y(),[i,s]=vy(""),c=Ay(null);Cy(()=>{c.current&&setTimeout(()=>{c.current?.focus()},10)},[]);let d=wy(()=>{let u=t==="source"?o:a;return i?u.filter(x=>{let m=i.toLowerCase();return x.displayName.toLowerCase().includes(m)||x.chainId.toLowerCase().includes(m)}):u},[t,o,a,i]),f=u=>{let x=d.find(({chainId:m})=>m===u);if(!x)throw new Error("ChainPicker > selected chain id that is absent in chain options list.");t==="source"?r(x):n(x),e()};return Yx("div",{className:"flex flex-col h-full",children:[Yx("div",{className:"flex justify-between",children:[rr("div",{className:"text-base/4 text-t_text_primary mb-4",children:`Pick ${t} chain`}),rr("div",{className:"w-4 h-4 fill-t_text_primary cursor-pointer",onClick:e,children:rr(Me,{})})]}),rr(Dc,{ref:c,inputIcon:rr("div",{className:"fill-t_text_primary",children:rr(ac,{})}),placeholder:"Search chain name",value:i,handleChange:s}),rr("div",{className:"horizontal-separator mt-4"}),rr("div",{className:"h-full pt-4",children:d.length?rr(Sy,{style:{height:"100%"},data:d,itemContent:(u,x)=>rr(Zx,{chain:x,type:t,disabled:x.disabled,onClick:f})}):rr("div",{className:"flex justify-center mt-4",children:"No chain found."})})]})};import{Fragment as ky,jsx as po,jsxs as lf}from"react/jsx-runtime";var eh=({chain:t,type:e,className:r})=>{let{srcChainLocked:n,dstChainLocked:o}=Y(),a=$x(()=>e==="destination"&&o,[e,o]),i=$x(()=>e==="source"&&n,[e,n]),[s,c]=Ty(!1);return lf(ky,{children:[s&&po(uo,{onClose:()=>c(!1),children:po(jx,{type:e,onClose:()=>c(!1)})}),po("button",{type:"button",disabled:a||i,onClick:()=>c(!0),className:`${r||""}`,children:lf("div",{className:"flex justify-between items-center p-4 gap-8",children:[lf("div",{className:"flex flex-col font-medium items-start",children:[po("p",{className:"text-xs opacity-60",children:e==="source"?"From:":"To:"}),po("p",{className:`${t?"":"opacity-60"}`,children:t?t.displayName:"Select"})]}),!a&&!i&&po("div",{className:"w-4 h-2 fill-t_text_primary",children:po(no,{})})]})})]})};import{jsx as th}from"react/jsx-runtime";var rh=({type:t})=>{let{srcToken:e,srcTokenBalanceWei:r,srcTokenBalanceInfo:n,setSrcValue:o}=Y();return th("button",{type:"button",className:`flex items-center w-16 justify-center p-4 gap-8 ${!n&&"opacity-60"} ${t==="source"&&"border-l border-solid border-t_text_primary border-opacity-10"}`,disabled:!n,onClick:()=>o(De({amount:r,decimals:e?.decimals||18,precisionFractionalPlaces:e?.decimals||18})),children:t==="source"&&th("p",{className:`border-b border-solid border-t_text_primary ${!n&&"border-opacity-60"}`,children:"Max"})})};import{useMemo as Di,useState as My}from"react";import{faCheck as Py}from"@fortawesome/free-solid-svg-icons";import{FontAwesomeIcon as Iy}from"@fortawesome/react-fontawesome";import{useCallback as pf,useEffect as Fc,useMemo as Bi,useRef as ih,useState as La}from"react";import{GroupedVirtuoso as Ny}from"react-virtuoso";import{jsx as uf,jsxs as nh}from"react/jsx-runtime";var oh=({token:t,selectedTokenAddress:e,onClick:r})=>nh("button",{type:"button",className:`flex gap-2 py-2 pr-[14px] pl-2 items-center border border-solid border-t_text_primary border-opacity-10 rounded-3xl text-start hover:bg-t_bg_tertiary hover:bg-opacity-10 ${t.address.toLowerCase()===e?.toLowerCase()?"bg-t_bg_tertiary bg-opacity-10":"bg-t_bg_primary"}`,onClick:r,children:[uf(xn,{token:t,className:"w-6 h-6",generatedLogoClassName:"w-6 h-6"}),nh("div",{className:"flex flex-col gap-1 text-xs font-medium !leading-3",children:[uf("div",{className:"text-t_text_primary",children:t.name}),uf("div",{className:"text-t_text_primary text-opacity-50",children:t.symbol})]})]});import{useMemo as Mi}from"react";import{useAccount as Ey}from"wagmi";import{jsx as Nn,jsxs as Oi}from"react/jsx-runtime";var ah=({token:t,selectedTokenAddress:e,onClick:r,selectedChainId:n,panelType:o})=>{let{supportedChains:a,tokenPrices:i,isFetchingBalances:s,integrationConfig:c}=Y(),{address:d}=Ey(),f=Mi(()=>a.find(({chainId:h})=>h===t.chainId),[a,t]),u=Mi(()=>i[t.chainId]?.[t.address],[t,i]),x=Mi(()=>!t.balance||!t.decimals?null:Number(ie.utils.formatUnits(t.balance,t.decimals)),[t.balance,t.decimals]),m=Mi(()=>t.balance&&!t.balance.eq(0),[t.balance]),p=Mi(()=>!x||!u||!m?null:x*+u,[x,u,m]);return Oi("div",{className:`token-picker-container ${t.address.toLowerCase()===e?.toLowerCase()&&n&&t.chainId===n?"bg-t_bg_tertiary bg-opacity-10":""}`,onClick:r,children:[Nn(En,{token:t,chain:f,tokenLogoClassName:"min-w-9 w-9 h-9",generatedLogoClassName:"min-w-9 w-9 h-9 text-[16px]",chainLogoClassName:"w-5"}),Oi("div",{className:"flex justify-between items-center gap-1 w-full",children:[Oi("div",{className:"text-left",children:[Oi("div",{className:"text-sm font-medium text-ellipsis text-t_text_primary flex items-center gap-1",children:[t.name,c?.highlightedDstTokens?.includes(t.symbol)&&o==="destination"&&Nn("div",{className:"flex items-center justify-center text-white rounded-full border-t_bg_secondary w-3.5 h-3.5 text-xs",title:"AI-powered token",children:Nn(dm,{})})]}),Nn("div",{className:"text-xs text-t_text_primary text-opacity-50 font-medium",children:t.symbol})]}),t.balance&&t.decimals&&d&&!s&&Oi("div",{className:"text-right",children:[Nn("div",{className:"text-xs text-t_text_primary",children:t.balance.eq(0)||x>1e-4?De({amount:t.balance.toString(),decimals:t.decimals,precisionFractionalPlaces:4}):"<0.0001"}),m&&Nn("div",{className:"text-xs text-t_text_primary text-opacity-50",children:p?`$${p.toFixed(2)}`:"$ -"})]}),d&&s&&Nn("div",{children:Nn($t,{className:"w-[48px] h-[12px]"})})]})]})};import{useAccount as Ry}from"wagmi";import{Connection as _y,PublicKey as mf}from"@solana/web3.js";import{Fragment as xf,jsx as de,jsxs as pt}from"react/jsx-runtime";var sh=({chain:t,tokens:e,otherTokens:r,selectedTokenAddress:n,isOpen:o,onSelect:a,setModalOpen:i,type:s})=>{let[c,d]=La(""),[f,u]=La(!1),[x,m]=La(!1),[p,h]=La(!1),[w,b]=La(null),[T,k]=La(!0),O=ih(0),C=ih(null),{bridgeUI:B,supportedChains:P,findTokenDataByAddressAndChain:L,tokenPrices:F,addTokenToChainIfNotExists:J}=Y(),{address:M}=Ry(),H=gi();Fc(()=>{m(!1),u(!1)},[o]);let G=pf(()=>{if(t&&w&&(ua(c)||Zs(c))){let g={};Ke||(g=JSON.parse(localStorage.getItem("custom-tokens")||"{}"));let A={address:w.address,symbol:w.symbol,name:w.name,tokenId:w.address,decimals:w.decimals,quickPick:!1,supported:!0,priority:0,chainId:t.chainId};Ke||(g[t.chainId]={...g[t.chainId]||{},[c.toLowerCase()]:A},localStorage.setItem("custom-tokens",JSON.stringify(g))),J(A.chainId,A),i(!1)}},[t,w,c,J,i]),X=pf(async()=>{let g=Date.now();O.current=g;let A=P.find(({ecosystem:l,chainId:E})=>l==="evm"&&E===t?.chainId)?.publicRpcUrls[0],U=new ie.Contract(c.toLowerCase(),Tr,ie.getDefaultProvider(A));h(!0);try{let l=await Promise.all([H.query(U,"decimals"),H.query(U,"name"),H.query(U,"symbol")]);if(g!==O.current)return;let[E,v,I]=l;b({address:c.toLowerCase(),decimals:E,name:v,symbol:I})}catch{b(null)}finally{g===O.current&&h(!1)}},[t,c,H,P]),z=pf(async()=>{let g=Date.now();O.current=g;let A=P.find(({ecosystem:U,chainId:l})=>U==="solana"&&l===t?.chainId)?.publicRpcUrls[0];if(!A||!c||!Zs(c)){b(null),h(!1);return}h(!0);try{let U=new _y(A,"confirmed"),l=new mf(c),E=await U.getParsedAccountInfo(l);if(!E?.value?.data||!("parsed"in E.value.data)||E.value.data.program!=="spl-token"){b(null);return}let v=E.value.data.parsed.info.decimals;if(g!==O.current)return;let I=new mf(Yp),[V]=mf.findProgramAddressSync([Buffer.from("metadata"),I.toBuffer(),l.toBuffer()],I),q=await U.getAccountInfo(V);if(!q)throw new Error("Metadata account not found");let ee=Buffer.from(q.data),Z=1;Z+=32,Z+=32;let ke=Math.min(ee.readUInt32LE(Z),32);Z+=4;let oe=ee.slice(Z,Z+ke).toString("utf8").replace(/\0/g,"");Z+=32;let Ce=Math.min(ee.readUInt32LE(Z),10);Z+=4;let en=ee.slice(Z,Z+Ce).toString("utf8").replace(/\0/g,"");b({address:c,name:oe||`Token ${c.slice(0,4)}...${c.slice(-4)}`,symbol:en||c.slice(0,4),decimals:v})}catch(U){console.error("Error fetching Solana token data:",U),b(null)}finally{g===O.current&&h(!1)}},[t,c,P]);Fc(()=>{!B&&t&&!L(c.toLowerCase(),t.chainId)?t.ecosystem==="evm"&&ua(c)?X():t.ecosystem==="solana"&&Zs(c)?z():(h(!1),b(null)):(h(!1),b(null))},[B,c,X,z,L,t]),Fc(()=>{d("")},[o]);let te=(g,A)=>g.toLowerCase().indexOf(A.toLowerCase())>-1,j=Bi(()=>e?.filter(g=>te(g.symbol,c)||te(g.name,c)||g.address.toLowerCase()===c.toLowerCase()),[c,e]),$=Bi(()=>r?.filter(g=>te(g.symbol,c)||te(g.name,c)||g.address.toLowerCase()===c.toLowerCase()),[c,r]);Fc(()=>{o&&C.current&&setTimeout(()=>{C.current?.focus()},10)},[o]);let y=Bi(()=>{let g=v=>{if(!v.balance||!v.decimals)return 0;let I=Number(ie.utils.formatUnits(v.balance,v.decimals)),V=F[v.chainId]?.[v.address];return V?I*Number(V):0},A=[...j.filter(v=>W.from(v?.balance||"0").gt(0)),...$.filter(v=>W.from(v?.balance||"0").gt(0))].sort((v,I)=>{let V=g(v),q=g(I);return q!==V?q-V:I.priority-v.priority}),U=j.filter(v=>W.from(v?.balance||"0").eq(0)).sort((v,I)=>I.priority-v.priority),l=$.filter(v=>W.from(v?.balance||"0").eq(0)).sort((v,I)=>I.priority-v.priority);return(t?[...M&&A.length?[A]:[],U,l]:[...M&&A.length?[A]:[],[...U,...l]]).flat()},[j,$,t,M,F]),S=Bi(()=>y.filter(g=>g.balance?.gt(0)),[y]),D=Bi(()=>t?[...M&&S.length?[S]:[],j,$]:[...M&&S.length?[S]:[],$],[t,M,S,j,$]);return x?pt(xf,{children:[pt("div",{className:"flex justify-between",children:[de("div",{className:"text-base/4 mb-4",children:"Import token"}),de("div",{className:"w-4 h-4 fill-t_text_primary cursor-pointer",onClick:()=>i(!1),children:de(Me,{})})]}),pt("div",{className:"flex flex-col h-full gap-2",children:[w&&pt("div",{className:"token-picker-container grow-0 bg-t_bg_secondary border border-solid border-t_text_primary border-opacity-10 rounded-xl py-2 pr-2 pl-4 hover:cursor-pointer",children:[de(Li,{tokenName:w.name,className:"w-9 h-9 text-[15px]"}),pt("div",{className:"flex justify-between items-center gap-1 overflow-hidden grow",children:[de("div",{className:"overflow-hidden whitespace-nowrap text-ellipsis text-sm font-medium",children:w.name}),de("div",{className:"token-picker__all__symbol",children:w.symbol})]}),pt("div",{className:"text-sm flex items-center",children:[mi(c.toLowerCase()),de("button",{type:"button",onClick:()=>navigator.clipboard.writeText(w.address.toLowerCase()),"aria-label":`Copy ${w.symbol} token address`,className:"flex items-center p-2 fill-white cursor-pointer hover:fill-t_main_accent_light",children:de(D1,{className:"w-5 h-5"})})]})]}),de("div",{className:"px-2 py-4 rounded-xl border border-x_orange text-sm",children:"Ensure that you have verified the token address and confirmed its correctness"}),pt("div",{className:"bg-t_bg_secondary border border-solid border-t_text_primary border-opacity-10 rounded-xl p-2",children:[de("div",{className:"text-sm mb-2",children:"Be mindful that anyone can create tokens, even counterfeit versions of existing ones. Certain tokens and their technical specifications might not be compatible with XSwap services. By importing such custom tokens, you acknowledge and consent to the associated risks."}),pt("button",{type:"button",onClick:()=>u(g=>!g),className:"flex items-center",children:[de("div",{className:"flex justify-center items-center p-1 w-6 h-6 border-2 border-white rounded-md mr-2",children:f&&de(Iy,{icon:Py,className:"w-4 h-4"})}),de("div",{className:"font-bold",children:"Accept"})]})]}),de("div",{className:"flex grow items-end justify-center",children:de(Dt,{type:"button",disabled:!f,className:`token-picker__import-button w-full ${f?"":"!cursor-not-allowed"}`,onClick:G,children:"Import"})})]})]}):pt(xf,{children:[pt("div",{className:"flex justify-between",children:[de("div",{className:"text-base/4 text-t_text_primary mb-4",children:`Pick ${s} token`}),de("div",{className:"w-4 h-4 fill-t_text_primary cursor-pointer",onClick:()=>i(!1),children:de(Me,{})})]}),de(Dc,{ref:C,inputIcon:de("div",{className:"fill-t_text_primary",children:de(ac,{})}),placeholder:"Search name or paste address",value:c,handleChange:d}),de("div",{className:`flex flex-wrap gap-1 my-4 mx-0 transition-all duration-300 ${T?"opacity-100 max-h-[200px]":"opacity-0 max-h-0 overflow-hidden"}`,children:e.filter(g=>g?.quickPick).map(g=>de(oh,{token:g,selectedTokenAddress:n,onClick:()=>{a(g),i(!1)}},g.address))}),de("div",{className:"flex flex-col mx-0 h-full",children:p?de("div",{className:"flex justify-center w-full py-4 px-0",children:de(Nr,{className:"w-9 h-9"})}):de(xf,{children:w?pt("div",{className:"token-picker-container hover:cursor-default",children:[de(En,{token:w,chain:t,tokenLogoClassName:"w-9 h-9",generatedLogoClassName:"w-9 h-9 text-[16px]",chainLogoClassName:"w-5"}),pt("div",{className:"flex justify-between items-center gap-1 overflow-hidden grow",children:[pt("div",{children:[de("div",{className:"text-sm font-medium text-ellipsis",children:w.name}),de("div",{className:"text-xs text-t_text_primary !text-opacity-50 font-medium",children:t?.displayName})]}),de("div",{className:"token-picker__all__symbol",children:w.symbol})]}),de("div",{children:de(Dt,{type:"button",className:"h-8 py-0 px-4 text-t_text_primary leading-[14px] rounded-[32px] bg-gradient-to-r from-t_main_accent_light to-t_main_accent_dark",onClick:()=>m(!0),children:"Import"})})]}):de("div",{className:"flex flex-col h-full gap-8 w-[calc(100%+32px)] mx-[-16px]",children:de(Ny,{style:{maxHeight:"400px",height:"100%"},groupCounts:D.map(g=>g?.length),scrollerRef:g=>{g&&g.addEventListener("scroll",A=>{let U=A.target;k(U.scrollTop<10)})},groupContent:g=>pt("div",{className:"py-1 bg-t_bg_primary text-t_text_primary",children:[de("div",{className:"px-4 text-left",children:(()=>{if(t)switch(g){case 0:return M?S.length?"My tokens":`${t.displayName} network`:`${t.displayName} network`;case 1:return M?`${t.displayName} network`:"Other networks";case 2:return"Other networks";default:return"Undefined group"}else switch(g){case 0:return M&&S.length?"My tokens":"All networks";case 1:return"All networks";default:return"Undefined group"}})()}),de("div",{className:"horizontal-separator"}),!D[g]?.length&&de("div",{className:"text-center py-1",children:"No token found"})]}),itemContent:g=>y[g]&&de(ah,{panelType:s,token:y[g],selectedChainId:t?.chainId,selectedTokenAddress:n,onClick:()=>{a(y[g]),i(!1)}})})})})})]})};import{Fragment as Oy,jsx as Rn,jsxs as Uc}from"react/jsx-runtime";var ch=({chain:t,token:e,type:r,className:n})=>{let{bridgeUI:o,srcChainTokensOptions:a,srcChainOtherTokensOptions:i,dstChainTokensOptions:s,dstChainOtherTokensOptions:c,setSrcToken:d,setSrcChain:f,supportedChains:u,setDstToken:x,setDstChain:m,dstTokenLocked:p,srcTokenLocked:h}=Y(),w=Di(()=>r==="destination"&&p,[r,p]),b=Di(()=>r==="source"&&h,[r,h]),[T,k]=My(!1),O=Di(()=>r==="source"?a:s,[s,a,r]),C=Di(()=>r==="destination"&&o,[o,r]),B=Di(()=>r==="source"?i:c,[c,i,r]),P=L=>{let F=u.find(J=>J.chainId===L.chainId);r==="source"?(d(L),f(F)):(x(L),m(F)),k(!1)};return Uc(Oy,{children:[T&&Rn(uo,{onClose:()=>k(!1),className:"z-[3]",children:Rn(sh,{type:r,chain:t,tokens:O,otherTokens:B,selectedTokenAddress:e?.address,onSelect:P,isOpen:T,setModalOpen:k})}),Rn("button",{type:"button",disabled:C||w||b,onClick:()=>{k(!0)},className:`${n||""}`,children:Uc("div",{className:"flex justify-between items-center p-4 gap-8 border-r border-solid border-t_text_primary border-opacity-10",children:[Uc("div",{className:"flex gap-2 items-center",children:[Rn(xn,{token:e,className:"w-9 h-9",generatedLogoClassName:"w-9 h-9 text-[16px]"}),Uc("div",{className:"flex flex-col font-medium items-start",children:[Rn("p",{className:"text-xs opacity-60",children:"Token: "}),Rn("p",{className:`${e?"":"opacity-60"}`,children:e?e.symbol:r==="destination"&&o?"-":"Select"})]})]}),!C&&!w&&!b&&Rn("div",{className:"w-4 h-2 fill-t_text_primary",children:Rn(no,{})})]})})]})};import{useCallback as dh}from"react";import{Fragment as By,jsx as _n,jsxs as fh}from"react/jsx-runtime";var lh=({chain:t,type:e,className:r})=>{let{setOpenEVMWalletModal:n,setOpenSolanaWalletModal:o,evm:a,solana:i}=Ft(),s=dh(()=>{t&&(t.ecosystem==="evm"?(n(!0),a.connectWallet()):t.ecosystem==="solana"&&(o(!0),i.connectWallet()))},[t,a,i,n,o]),c=dh(d=>{if(d==="evm")return mi(a.address||"");if(d==="solana")return mi(i.address||"")},[a,i]);return _n(By,{children:_n("button",{type:"button",onClick:()=>s(),className:`${r||""}`,children:_n("div",{className:"flex justify-between items-center p-4 gap-8",children:_n("div",{className:"flex flex-col items-start",children:e==="source"?fh("div",{className:"flex items-center gap-2",children:[_n("p",{className:"text-xs font-medium opacity-60",children:"Sender:"}),t&&_n("p",{className:"text-sm font-medium",children:c(t.ecosystem)})]}):fh("div",{className:"flex items-center gap-2",children:[_n("p",{className:"text-xs font-medium opacity-60",children:"Receiver:"}),t&&_n("p",{className:"text-sm font-medium",children:c(t.ecosystem)})]})})})})})};import{jsx as Da,jsxs as hf}from"react/jsx-runtime";var gf=({type:t})=>{let{srcChain:e,srcToken:r,dstChain:n,dstToken:o}=Y(),a=uh(()=>t==="source"?r:o,[t,r,o]),i=uh(()=>t==="source"?e:n,[t,e,n]);return hf("div",{className:"flex flex-col x-border rounded-xl bg-t_bg_tertiary bg-opacity-5",children:[Da("div",{className:"flex border-b border-solid border-t_text_primary border-opacity-10",children:Da(lh,{chain:i,type:t,className:"w-full flex-grow"})}),hf("div",{className:"flex border-b border-solid border-t_text_primary border-opacity-10",children:[Da(ch,{chain:i,token:a,type:t,className:"w-full flex-grow"}),Da(eh,{chain:i,type:t,className:"w-full max-w-[160px]"})]}),hf("div",{className:`flex justify-between rounded-b-[11px] ${t==="destination"&&"bg-gradient-to-r from-t_main_accent_light/20 to-t_main_accent_dark/20"}`,children:[Da(Xx,{type:t}),Da(rh,{type:t})]})]})};import{jsx as Fi,jsxs as ph}from"react/jsx-runtime";var mh=()=>ph("div",{className:"flex flex-col gap-6 fill-t_text_primary",children:[ph("div",{className:"flex flex-col gap-[11px]",children:[Fi(gf,{type:"source"}),Fi(Kx,{}),Fi(gf,{type:"destination"})]}),Fi(bc,{}),Fi(Jx,{})]});import{jsx as Vc,jsxs as Dy}from"react/jsx-runtime";var bf=({onClose:t})=>{let{tab:e}=Y(),r=Ly(()=>e==="Settings"?Vc(Vx,{}):e==="History"?Vc(Ox,{}):Vc(mh,{}),[e]);return Dy("div",{className:"relative flex flex-col gap-4 p-2 text-t_text_primary bg-t_bg_primary rounded-2xl flex-1",children:[Vc(_x,{onClose:t}),r]})};import{forwardRef as Fy}from"react";import{Fragment as Uy,jsx as Ui,jsxs as xh}from"react/jsx-runtime";var Dc=Fy((t,e)=>{let{inputIcon:r,required:n,name:o,value:a,placeholder:i,type:s,handleChange:c,error:d,warning:f,disabled:u=!1,className:x=""}=t;return xh(Uy,{children:[xh("div",{className:"flex items-center border border-solid border-t_text_primary border-opacity-10 rounded-lg py-0 px-3 gap-2 bg-t_bg_secondary ",children:[r,Ui("input",{ref:e,disabled:u,required:!!n,name:o||"",value:a,placeholder:i,type:s||"text",className:`relative h-10 leading-10 z-[1] outline-none w-full text-t_text_primary bg-transparent border-none ${d?"border border-t_error_dark bg-gradient-to-r from-t_error_dark/15 to-t_bg_secondary/15 px-3 shadow-[0_0_6px_rgba(255,0,0,0.5)]":""} ${f?"border-t_warning_dark bg-gradient-to-r from-t_warning_dark/15 to-t_bg_secondary/15 px-3 shadow-[0_0_6px_rgba(255,165,0,0.5)]":""} ${x}`,onChange:m=>c(m.target.value)})]}),d&&Ui("div",{className:"flex justify-between pt-[10px]",children:Ui("div",{className:"px-5 text-t_text_red",children:d})}),f&&Ui("div",{className:"flex justify-between pt-[10px]",children:Ui("div",{className:"px-5 text-t_text_orange",children:f})})]})});import{useState as hh,useEffect as Vy,useCallback as Kc}from"react";var Fa=class{static getTimeFromSeconds(e){let r=Math.floor(e/86400),n=Math.floor(e%(60*60*24)/(60*60)),o=Math.floor(e%(60*60)/60),a=Math.floor(e%60);return{days:r,hours:n,minutes:o,seconds:a}}static getSecondsFromExpiry(e){let r=new Date().getTime(),n=e.getTime();return Math.max(0,(n-r)/1e3)}},Ky=({expiryTimestamp:t,onExpire:e,autoStart:r=!0})=>{let[n,o]=hh(r),[a,i]=hh(Fa.getSecondsFromExpiry(t)),s=Kc(()=>{let u=Fa.getSecondsFromExpiry(t);u<=0&&(e&&e(),o(!1)),i(u)},[t,e]);Vy(()=>{if(!n)return;let u=setInterval(s,1e3);return()=>clearInterval(u)},[n,s]);let c=Kc(()=>o(!1),[]),d=Kc(()=>o(!0),[]),f=Kc(u=>{o(!0),i(Fa.getSecondsFromExpiry(u))},[]);return{...Fa.getTimeFromSeconds(a),isRunning:n,pause:c,resume:d,restart:f}},gh=Ky;import{useEffect as Hy,useState as Wy}from"react";import{Fragment as yf,jsx as Vi,jsxs as Gy}from"react/jsx-runtime";var bh=({expiryTimestamp:t,displayFormat:e=2,customTextOnExpire:r})=>{let[n,o]=Wy(t.getTime()<Date.now()),{seconds:a,minutes:i,hours:s,days:c,restart:d}=gh({expiryTimestamp:t,onExpire:()=>o(!0)});return Hy(()=>{d(t)},[t]),Vi(yf,{children:n&&r?Vi(yf,{children:r}):Gy(yf,{children:[e===0&&Vi("span",{children:`${(c*24+s)*60+i}:${a.toString().padStart(2,"0")}`}),e===1&&Vi("span",{children:`${c*24+s}:${i.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`}),e===2&&Vi("span",{children:`${c}:${s.toString().padStart(2,"0")}:${i.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`})]})})};import{useEffect as Jy,useState as zy}from"react";import{jsx as qy}from"react/jsx-runtime";var Li=({tokenName:t,className:e})=>qy("div",{className:`rounded-full bg-white shadow-sm flex items-center justify-center text-black ${e}`,children:t.substring(0,1)});import{jsx as wf}from"react/jsx-runtime";var xn=({token:t,className:e,generatedLogoClassName:r})=>{let[n,o]=zy(!1);return Jy(()=>{o(!1)},[t?.address]),t?n?wf(Li,{tokenName:t.name,className:r}):t?.image?wf("img",{src:t.image,alt:t.name,className:`border border-solid border-t_text_primary border-opacity-10 rounded-2xl ${e}`,onError:()=>o(!0)}):wf(Li,{tokenName:t.name,className:r}):null};import{jsx as yh,jsxs as Qy}from"react/jsx-runtime";var En=({token:t,chain:e,tokenLogoClassName:r,generatedLogoClassName:n,chainLogoClassName:o})=>Qy("div",{className:"relative flex items-end pr-1 pb-1",children:[yh(xn,{token:t,className:r,generatedLogoClassName:n}),e&&yh("img",{src:e.image,alt:e.name,className:`absolute bottom-0 right-0 border border-solid border-t_bg_secondary rounded-3xl ${o}`})]});import{useEffect as Af,useMemo as Cf}from"react";import{ErrorBoundary as $y}from"react-error-boundary";function Xy(t,e){function r(o){let a=document.getElementById(o);if(a&&a.shadowRoot){let i=new CSSStyleSheet;i.replaceSync(`:host { ${t}: ${e}; }`),a.shadowRoot.adoptedStyleSheets=[...a.shadowRoot.adoptedStyleSheets,i]}}["xpay-root","xpay-tx-status","xpay-widget"].forEach(r)}var Zy={mainAccentLight:"#3681C6",mainAccentDark:"#2B4A9D",bgPrimary:"#FFFFFF",bgSecondary:"#FFFFFF1a",bgTertiary:"#020202",textPrimary:"#020202",textSecondary:"#3681C6",textRed:"#C62828",textOrange:"#FF6F00",textGreen:"#2E7D32",clickSecondary:"#3681C6",clickTertiary:"#020202",buttonPrText:"#ffffff",buttonPrOffBg:"#0202024D",buttonPrOffText:"#020202",labelText:"#FFFFFF",successDark:"#2E7D32",successLight:"#4CAF50",infoDark:"#3C3C3B",infoLight:"#90A4AE",warningDark:"#FF6F00",warningLight:"#FFCA28",errorDark:"#C62828",errorLight:"#F44336",chainlinkLogo:"#375BD2"},Yy={mainAccentLight:"#3681C6",mainAccentDark:"#2B4A9D",bgPrimary:"#020202",bgSecondary:"#0F0F0F",bgTertiary:"#ffffff",textPrimary:"#FFFFFF",textSecondary:"#3681C6",textRed:"#F44336",textOrange:"#FFCA28",textGreen:"#4CAF50",clickSecondary:"#3681C6",clickTertiary:"#FFFFFF",buttonPrText:"#FFFFFF",buttonPrOffBg:"#272727",buttonPrOffText:"#90A4AE",labelText:"#FFFFFF",successDark:"#2E7D32",successLight:"#4CAF50",infoDark:"#3C3C3B",infoLight:"#D1D3D4",warningDark:"#FF6F00",warningLight:"#FFCA28",errorDark:"#C62828",errorLight:"#F44336",chainlinkLogo:"white"},jy={mainAccentLight:"--main-accent-light",mainAccentDark:"--main-accent-dark",bgPrimary:"--bg-primary",bgSecondary:"--bg-secondary",bgTertiary:"--bg-tertiary",textPrimary:"--text-primary",textSecondary:"--text-secondary",textTertiary:"--text-tertiary",textRed:"--text-red",textOrange:"--text-orange",textGreen:"--text-green",clickPrimary:"--click-primary",clickSecondary:"--click-secondary",clickTertiary:"--click-tertiary",buttonPrBg:"--button-pr-bg",buttonPrText:"--button-pr-text",buttonPrOffBg:"--button-pr-off-bg",buttonPrOffText:"--button-pr-off-text",labelBg:"--label-bg",labelText:"--label-text",successDark:"--success-dark",successLight:"--success-light",infoDark:"--info-dark",infoLight:"--info-light",warningDark:"--warning-dark",warningLight:"--warning-light",errorDark:"--error-dark",errorLight:"--error-light",width:"--modal-width",chainlinkLogo:"--chainlink-logo",fontFamily:"--font-family"};function wh(t,e){let n={...t?{...Zy}:{...Yy},...e};for(let[o,a]of Object.entries(n)){let i=jy[o];i&&Xy(i,a)}}import{Fragment as r4,jsx as ct,jsxs as vf}from"react/jsx-runtime";var e4=t=>({...t,dstTokenAddr:t.dstTokenAddr?.toLowerCase(),srcTokenAddr:t.srcTokenAddr?.toLowerCase()}),t4=({onPendingTransactionsChange:t})=>{let{history:e}=xa(),r=Cf(()=>e.filter(n=>n.status==="IN_PROGRESS"),[e]);return Af(()=>{t?t(r):window.xPayOnPendingTransactionsChange&&window.xPayOnPendingTransactionsChange(r)},[t,r]),ct(r4,{})},Sf=t=>{let e=Cf(()=>e4(t),[t]),{integratorId:r,dstChainId:n,dstTokenAddr:o,srcChainId:a,srcTokenAddr:i,customContractCalls:s,desc:c,dstDisplayTokenAddr:d,supportedChains:f,onSubmit:u,onClose:x,overlay:m,lightTheme:p,defaultWalletPicker:h,styles:w,onPendingTransactionsChange:b,dstTokenLocked:T,dstChainLocked:k,srcTokenLocked:O,srcChainLocked:C,onDstTokenChange:B,onDstChainChange:P,onSrcTokenChange:L,onSrcChainChange:F,bridge:J,onConnectWallet:M,override:H,integratorFee:G,integratorFeeReceiverAddress:X,highlightedDstTokens:z}=e,te=$=>{$.stopPropagation(),$.nativeEvent.stopImmediatePropagation(),$.target===$.currentTarget&&m&&x()},j=Cf(()=>Vm(f),[f]);return Af(()=>{wh(p,w)},[p,w]),Af(()=>{H?.apiUrl&&ec(H?.apiUrl)},[H?.apiUrl]),ct($y,{FallbackComponent:()=>ct("div",{children:"Something went wrong, please contact XSwap."}),children:ct(S1,{wagmiConfig:j,children:ct(um,{children:vf(Am,{children:[ct(t4,{onPendingTransactionsChange:b}),ct(Im,{integrationConfig:{integratorId:r,dstChainId:n,dstTokenAddr:o,srcChainId:a,srcTokenAddr:i,customContractCalls:s,desc:c,dstDisplayTokenAddr:d,defaultWalletPicker:h,dstTokenLocked:T,dstChainLocked:k,srcTokenLocked:O,srcChainLocked:C,onDstTokenChange:B,onDstChainChange:P,onSrcTokenChange:L,onSrcChainChange:F,bridge:J,onConnectWallet:M,integratorFee:G,integratorFeeReceiverAddress:X,highlightedDstTokens:z},supportedChains:f,overlay:m,children:ct(_m,{children:ct(Ex,{children:m?ct("div",{className:"top-0 left-0 right-0 bottom-0 bg-[rgba(0,0,0,0.8)] fixed flex flex-col items-center justify-center z-10",onMouseDown:te,children:vf("div",{className:"relative bg-t_bg_primary rounded-2xl overflow-auto text-t_text_primary border-[1px] border-solid border-[rgba(255,255,255,0.1)] w-x_modal min-w-x_modal max-w-x_modal min-h-[532px]",children:[ct(bf,{onSubmit:u,onClose:x}),ct(ef,{})]})}):vf("div",{className:"bg-t_bg_primary rounded-2xl overflow-auto text-t_text_primary border-[1px] border-solid border-[rgba(255,255,255,0.1)] min-h-[532px] w-x_modal min-w-x_modal max-w-x_modal flex flex-col",children:[ct(bf,{onSubmit:()=>{},onClose:()=>{}}),ct(ef,{})]})})})})]})})})})},vh=async({integratorId:t,dstChainId:e,dstTokenAddr:r,srcChainId:n,srcTokenAddr:o,customContractCalls:a,desc:i,dstDisplayTokenAddr:s,supportedChains:c,lightTheme:d,defaultWalletPicker:f,styles:u,onPendingTransactionsChange:x,dstTokenLocked:m,dstChainLocked:p,srcTokenLocked:h,srcChainLocked:w,override:b})=>{try{if(Qr===null)throw new Error("XPay was incorrectly initialized");return await g1(),await new Promise(()=>{if(Qr===null)throw new Error("XPay was incorrectly initialized");Qr.render(ct(Sf,{integratorId:t,dstChainId:e,dstTokenAddr:r,srcChainId:n,srcTokenAddr:o,customContractCalls:a,desc:i,dstDisplayTokenAddr:s,supportedChains:c,lightTheme:d,styles:u,onSubmit:()=>{Qr&&Qr.render("")},onClose:()=>{Qr&&Qr.render("")},overlay:!0,defaultWalletPicker:f,onPendingTransactionsChange:x,dstTokenLocked:m,dstChainLocked:p,srcTokenLocked:h,srcChainLocked:w,override:b}))})}catch(T){throw new Error(`XSwap component error, ${T}`)}};import{faArrowRight as n4,faArrowUpRightFromSquare as o4,faHourglassHalf as a4}from"@fortawesome/free-solid-svg-icons";import{FontAwesomeIcon as Ef}from"@fortawesome/react-fontawesome";import{format as i4}from"date-fns";import{useCallback as s4}from"react";import{jsx as Tf,jsxs as Ah}from"react/jsx-runtime";var kf=({chain:t,token:e,amount:r})=>Ah("div",{className:"flex gap-2",children:[Tf(En,{token:e,chain:t,tokenLogoClassName:"min-w-9 w-9 h-9",generatedLogoClassName:"min-w-9 w-9 h-9 text-[16px]",chainLogoClassName:"w-5"}),Ah("div",{className:"flex flex-col text-[12px]",children:[Tf("div",{className:"text-t_text_primary text-nowrap",children:`${Number(r)<1e-4?"<0.0001":r} ${e?.symbol?e?.symbol:"unknown"}`}),Tf("div",{className:"text-xs text-t_text_primary text-opacity-50",children:t?.displayName})]})]});import{Fragment as c4,jsx as vt,jsxs as mo}from"react/jsx-runtime";var Hc=({transaction:t,supportedChains:e,srcToken:r,dstToken:n})=>{let a=s4(f=>i4(new Date(f*1e3),"d MMM yyyy HH:mm:ss"),[])(t.timestamp),i=De({amount:t.amountWei,decimals:r?.decimals||18,precisionFractionalPlaces:4}),s=De({amount:t?.tokenOutAmount||"0",decimals:n?.decimals||18,precisionFractionalPlaces:4}),c=e.find(f=>f.chainId===t.sourceChainId),d=e.find(f=>f.chainId===t.targetChainId);return mo("div",{className:"flex flex-col border border-t_text_primary border-opacity-10 rounded-lg bg-t_bg_primary p-4 gap-4 mb-2",children:[mo("div",{className:"flex items-center gap-2 border-b border-solid border-t_text_primary border-opacity-10 pb-1",children:[vt("div",{className:"text-xs text-t_text_primary text-opacity-50",children:a}),mo("div",{className:"flex grow justify-end items-center h-6",children:[t.status==="IN_PROGRESS"?mo("div",{className:"flex items-center grow justify-end text-xs",children:[vt(Ef,{icon:a4,className:"w-4 h-4 mr-1 text-t_text_orange"}),mo("div",{className:"text-xs text-t_text_orange min-w-[108px]",children:["In progress (",vt(bh,{displayFormat:0,expiryTimestamp:new Date(t.estimatedDeliveryTimestamp),customTextOnExpire:"finalizing"}),")"]})]}):t.status==="DONE"?vt("div",{className:"flex items-center grow justify-end text-xs",children:vt("div",{className:"mr-1 text-t_text_green",children:"Done"})}):t.status==="REVERTED"?vt("div",{className:"flex items-center grow justify-end text-xs",children:vt("div",{className:"mr-1 text-t_text_red",children:"Reverted"})}):null,vt("a",{href:`${t.messageId?`${la}${t.messageId}`:`${e.find(f=>f.chainId===t.sourceChainId)?.transactionExplorer}/${t.hash}`} `,target:"_blank",rel:"noreferrer",className:"no-underline ml-1.5 text-t_text_primary","aria-label":"Show the transaction in the chain explorer",children:vt(Ef,{icon:o4,className:"w-[14px] h-[14px] text-t_text_primary"})})]})]}),vt("div",{className:"flex flex-wrap gap-8",children:mo("div",{className:"flex items-center gap-2",children:[vt(kf,{chain:c,token:r,amount:i}),t.tokenOutAddress&&mo(c4,{children:[vt(Ef,{icon:n4,className:"w-5 h-5 text-t_text_primary opacity-50 mx-1.5"}),vt(kf,{chain:d,token:n,amount:s})]})]})})]})};import{jsx as d4}from"react/jsx-runtime";var Bx=({transaction:t})=>{let{supportedChains:e,findTokenDataByAddressAndChain:r}=Y(),n=r(t.sourceChainId==="mainnet-beta"?t.tokenAddress:t.tokenAddress.toLowerCase(),t.sourceChainId),o=t.tokenOutAddress?r(t.sourceChainId==="mainnet-beta"?t.tokenOutAddress:t.tokenOutAddress?.toLowerCase(),t.targetChainId):void 0;return d4(Hc,{transaction:t,supportedChains:e,srcToken:n,dstToken:o})};import{createPortal as f4}from"react-dom";import{jsx as Ch}from"react/jsx-runtime";var Px=({id:t,children:e,onCloseClick:r,type:n="waiting",className:o})=>f4(Ch("div",{className:"fixed box-border inset-0 z-20 flex items-center justify-center bg-black bg-opacity-80",onMouseDown:i=>{i.stopPropagation(),i.nativeEvent.stopImmediatePropagation(),i.target===i.currentTarget&&r()},children:Ch("div",{className:`relative bg-t_bg_primary rounded-3xl p-4 w-full min-w-[340px] overflow-auto max-w-x_modal border-2 ${n==="error"?"border-t_error_dark":n==="success"?"border-t_success_dark":n==="warning"?"border-t_warning_dark":n==="waiting"?"border-t_main_accent_dark":"border-t_text_primary border-opacity-10"} ${o}`,children:e})}),to,t);import{useMemo as Sh,useState as l4}from"react";import{Fragment as p4,jsx as At,jsxs as Pf}from"react/jsx-runtime";var u4=({transaction:t,supportedChains:e,srcToken:r,dstToken:n})=>{let[o,a]=l4(!1),i=Sh(()=>t?.status==="DONE"?"bg-t_bg_primary bg-gradient-to-r from-t_success_light/20 to-t_success_dark/20":"bg-t_bg_primary bg-gradient-to-r from-t_main_accent_light/20 to-t_main_accent_dark/20]",[t]),s=Sh(()=>t?.status==="DONE"?"border border-solid border-t_success_dark":"border border-solid border-t_main_accent_dark",[t]);return Pf("div",{className:"flex gap-2 items-end justify-end flex-wrap",onClick:()=>a(c=>!c),children:[o&&At(Hc,{transaction:t,supportedChains:e,srcToken:r,dstToken:n}),At("div",{className:`text-t_text_primary rounded-xl h-14 w-20 mb-2 cursor-pointer ${i} ${s}`,children:Pf("div",{className:"flex gap-2 items-center h-14 w-20 justify-center fill-t_text_primary",children:[At("div",{className:`${o?"rotate-180":""}`,children:At(N1,{})}),At("div",{className:"relative flex items-center justify-center w-9 h-9",children:t?.status==="DONE"?At("div",{className:"w-5 h-5 fill-t_success_dark",children:At(oc,{})}):Pf(p4,{children:[At("div",{className:"w-5 h-5",children:At(sm,{})}),At("div",{className:"absolute flex items-center justify-center top-0 left-0 right-0 bottom-0 text-t_text_primary",children:At(Nr,{className:"w-10 h-10"})})]})})]})})]})},xo=[],Th=t=>{xo.some(({transaction:e})=>e.hash===e.hash)||xo.push(t)},kh=t=>{xo=[...xo.filter(r=>r.transaction.hash!==t)]},Eh=t=>{xo=xo.map(e=>e.transaction.hash===t?{...e,transaction:{...e.transaction,status:"DONE"}}:e)},Wc=()=>{let t=xo.map(e=>At(u4,{...e},e.transaction.hash));if($s===null)throw new Error("XPay was incorrectly initialized");$s.render(At("div",{className:"fixed bottom-5 right-2 flex flex-col gap-3 pl-9 items-end w-full z-50",children:t}))};import m4 from"@r2wc/core";import Ph from"react";import{createRoot as x4}from"react-dom/client";var h4=(t,e,r)=>{let n=x4(t),o=Ph.createElement(e,r);return n.render(o),{root:n,ReactComponent:e}},g4=({root:t,ReactComponent:e},r)=>{let n=Ph.createElement(e,r);t.render(n)},b4=({root:t})=>{t.unmount()},Ih=(t,e={})=>m4(t,e,{mount:h4,update:g4,unmount:b4});import{useEffect as Rh,useState as Gc}from"react";var Nh=t=>{let e=Ke?{}:JSON.parse(localStorage.getItem("custom-tokens")||"{}"),r=Object.entries(e).reduce((n,[o,a])=>(n[o]=Object.values(a),n),{});return t.map(n=>{let o=r[n.chainId]||[];if(o.length===0)return n;let a=o.filter(i=>!n.tokens.some(s=>s.address.toLowerCase()===i.address.toLowerCase()));return a.length===0?n:{...n,tokens:[...n.tokens,...a.map(i=>({...i}))]}})};import{Fragment as w4,jsx as qc,jsxs as v4}from"react/jsx-runtime";var y4=({integratorId:t,dstChain:e,dstToken:r,srcChain:n,srcToken:o,customContractCalls:a=[],desc:i,dstDisplayToken:s,lightTheme:c,defaultWalletPicker:d,styles:f,onPendingTransactionsChange:u,dstTokenLocked:x,dstChainLocked:m,srcTokenLocked:p,srcChainLocked:h,onDstTokenChange:w,onDstChainChange:b,onSrcTokenChange:T,onSrcChainChange:k,onConnectWallet:O,bridge:C,override:B,integratorFee:P,integratorFeeReceiverAddress:L,highlightedDstTokens:F})=>{let[J,M]=Gc(!0),[H,G]=Gc([]),[X,z]=Gc(void 0),[te,j]=Gc(void 0);Rh(()=>{(async()=>{M(!0),B?.apiUrl&&ec(B.apiUrl);let y=(await ro()).filter(({web3Environment:D,bridgeSupported:g,swapSupported:A})=>D==="mainnet"&&(g||A)),S=Nh(y);G(S),M(!1)})()},[]);let $=(()=>{try{return typeof f=="string"?JSON.parse(f):f||void 0}catch(y){console.error("Error parsing styles:",y)}})();return Rh(()=>{let y=pa(o,n,H),S=pa(r,e,H);z(y),j(S)},[o,n,r,e,H]),v4(w4,{children:[qc("style",{children:Ys}),J?qc("div",{className:"min-h-[532px] w-full flex items-center justify-center",children:qc(Nr,{className:"w-10 h-10"})}):qc(Sf,{integratorId:t,dstChainId:e,dstTokenAddr:te,srcChainId:n,srcTokenAddr:X,customContractCalls:a,desc:i,dstDisplayTokenAddr:s,supportedChains:H,overlay:!1,lightTheme:c,defaultWalletPicker:d,styles:$,onPendingTransactionsChange:u,dstTokenLocked:x,dstChainLocked:m,srcTokenLocked:p,srcChainLocked:h,onDstTokenChange:w,onDstChainChange:b,onSrcTokenChange:T,onSrcChainChange:k,onConnectWallet:O,bridge:C,override:B,integratorFee:P,integratorFeeReceiverAddress:L,highlightedDstTokens:F})]})},Jc=()=>{if(Ke||typeof customElements>"u")return{};let t=Ih(y4,{shadow:"open",props:{integratorId:"string",dstChain:"string",dstToken:"string",srcChain:"string",srcToken:"string",customContractCalls:"json",desc:"string",dstDisplayToken:"string",lightTheme:"boolean",defaultWalletPicker:"boolean",styles:"json",onPendingTransactionsChange:"function",dstTokenLocked:"boolean",dstChainLocked:"boolean",srcTokenLocked:"boolean",srcChainLocked:"boolean",bridge:"boolean",onDstTokenChange:"function",onDstChainChange:"function",onSrcTokenChange:"function",onSrcChainChange:"function",override:"json",integratorFee:"number",integratorFeeReceiverAddress:"string",highlightedDstTokens:"json"}});return t.prototype.connectedCallback=function(){this.id="xpay-widget"},t};import{isServer as A4}from"@tanstack/react-query";import{useEffect as C4}from"react";import{jsx as T4}from"react/jsx-runtime";var S4=Jc();!A4&&typeof customElements<"u"&&(customElements.get("xpay-widget")||customElements.define("xpay-widget",S4));var If=({integratorId:t,dstChain:e,dstToken:r,srcChain:n,srcToken:o,customContractCalls:a=[],desc:i,dstDisplayToken:s,lightTheme:c,defaultWalletPicker:d,styles:f,onPendingTransactionsChange:u,dstTokenLocked:x,dstChainLocked:m,srcTokenLocked:p,srcChainLocked:h,onDstTokenChange:w,onDstChainChange:b,onSrcTokenChange:T,onSrcChainChange:k,onConnectWallet:O,bridge:C,override:B,integratorFee:P,integratorFeeReceiverAddress:L,highlightedDstTokens:F})=>(C4(()=>{window.xPayOnPendingTransactionsChange=u,window.xPayOnDstTokenChange=w,window.xPayOnDstChainChange=b,window.xPayOnSrcTokenChange=T,window.xPayOnSrcChainChange=k,window.xPayOnConnectWallet=O},[u,w,b,T,k,O]),T4("xpay-widget",{"integrator-id":t,"dst-chain":e,"dst-token":r,"src-chain":n,"src-token":o,"custom-contract-calls":JSON.stringify(a),desc:i,"dst-display-token":s,"light-theme":c,"default-wallet-picker":d,styles:typeof f=="string"?f:JSON.stringify(f),"dst-token-locked":x,"dst-chain-locked":m,"src-token-locked":p,"src-chain-locked":h,bridge:C,override:JSON.stringify(B),"integrator-fee":P,"integrator-fee-receiver-address":L,"highlighted-dst-tokens":JSON.stringify(F)}));import k4 from"async-retry";var _h=async(t,e)=>{let r=t.publicRpcUrls[0],n=new ie.Contract(e.toLowerCase(),Tr,ie.getDefaultProvider(r));try{let o=async(d,f,u=[])=>d?.provider?await d[f](...u):null,a=await Promise.all([o(n,"decimals"),o(n,"name"),o(n,"symbol")]),[i,s,c]=a;return{address:e,symbol:c,tokenId:e,name:s,decimals:i,quickPick:!1,supported:!0,priority:0}}catch{throw new Error(`Provided token ${e} does not exists on chain ${t.displayName}`)}};var yx=async(t,e,r,n)=>{let o=await E4(t,e),a=(await ro()).filter(({web3Environment:P,swapSupported:L})=>P==="mainnet"&&L),i=o.logs?.find(P=>P.topics[0]===ie.utils.id($p));if(!i)throw new Error(`No transaction event found for chain ${t} tx ${e}`);let s=i?.topics[1],d=new ie.utils.Interface(e1).parseLog(i);if(!d)throw new Error(`No transaction event arguments found for chain ${t} tx ${e}`);let f=d.args,u=a.find(P=>P.chainId===t.toString());if(!u)throw new Error(`Unknown src chain ${t}`);let x=(f?.token.toString()).toLowerCase(),m=u.tokens.find(P=>P.address.toLowerCase()===x);m||(m=await _h(u,x));let p=a.find(P=>P.ccipChainId===f?.destinationChainSelector?.toString()),h=p?.chainId;if(!h)throw new Error("Unknown destination chain!");let w;r&&(w=p.tokens.find(P=>P.address.toLowerCase()===r.toLowerCase()));let b=Date.now()/1e3,T={hash:o.transactionHash,timestamp:b,sourceChainId:u.chainId,targetChainId:p.chainId,amountWei:f?.tokenAmount.toString(),tokenAddress:m.address,tokenOutAddress:w?.address,tokenOutAmount:n,estimatedDeliveryTimestamp:f?.valueForInstantCcipRecieve.toString()!=="0"?b*1e3+30*1e3:b*1e3+30*60*1e3,status:"IN_PROGRESS"};Th({transaction:T,supportedChains:a,dstToken:w,srcToken:m}),Wc();let k=$e[h]?.XSwapRouter;if(!k)throw new Error("Unknown destination XSwapRouter!");let O=new ie.Contract(k,r1,ie.getDefaultProvider(a.find(P=>P.chainId===h)?.publicRpcUrls[0])),C={address:k,topics:[ie.utils.id(t1),s]},B=async()=>{Eh(e),Wc(),await new Promise(P=>setTimeout(()=>P(!0),jp)),kh(e),Wc()};Ad({transferId:s}).then(P=>{P.status==="DONE"?B():(setTimeout(()=>Ad({transferId:s}).then(L=>{L.status==="DONE"&&B()}),30*60*1e3),O.once(C,()=>B()))})},E4=async(t,e)=>{try{let r=(await ro()).find(o=>o.chainId===t),n=new ie.providers.JsonRpcProvider(r?.publicRpcUrls[0]);return await k4(async()=>{let o=await n.getTransactionReceipt(e);if(!o)throw new Error("Couldn't fetch tx receipt");return o})}catch{throw new Error(`Couldn't fetch tx ${e} receipt on chain ${t}`)}};var Nf=async({integratorId:t,dstChain:e,dstToken:r,srcChain:n,srcToken:o,customContractCalls:a=[],desc:i,dstDisplayToken:s,lightTheme:c,defaultWalletPicker:d,styles:f,onPendingTransactionsChange:u,dstTokenLocked:x,dstChainLocked:m,srcTokenLocked:p,srcChainLocked:h,onDstTokenChange:w,onDstChainChange:b,onSrcTokenChange:T,onSrcChainChange:k,bridge:O,highlightedDstTokens:C})=>{let B=(await ro()).filter(({web3Environment:P,swapSupported:L})=>P==="mainnet"&&L);P4(t,B,e,r,n,o),await vh({integratorId:t,dstChainId:e,dstTokenAddr:r,srcChainId:n,srcTokenAddr:o,customContractCalls:a,desc:i,dstDisplayTokenAddr:s,supportedChains:B,lightTheme:c,defaultWalletPicker:d,styles:f,onPendingTransactionsChange:u,dstTokenLocked:x,dstChainLocked:m,srcTokenLocked:p,srcChainLocked:h,onDstTokenChange:w,onDstChainChange:b,onSrcTokenChange:T,onSrcChainChange:k,bridge:O,highlightedDstTokens:C})},P4=(t,e,r,n,o,a)=>{if(!t)throw new Error("Provide integratorId or contact the team to generate one.");if(r){if(!e.find(({chainId:s})=>s===r))throw new Error(`Provided chain '${r}' is not supported`);if(n&&!ua(n))throw new Error(`Provided token address ${n} on chain ${r} is invalid`)}if(o){if(!e.find(({chainId:s})=>s===o))throw new Error(`Provided chain '${o}' is not supported`);if(a&&!ua(a))throw new Error(`Provided token address ${a} on chain ${o} is invalid`)}};var I4=Jc();h1();var N4={openTransactionModal:Nf,TxWidget:If,TxWidgetWC:I4},UW=N4;export{_f as ContractName,St as Ecosystem,Kh as Environment,Qc as SolanaWeb3Network,Oo as TxStatus,If as TxWidget,I4 as TxWidgetWC,Ua as Web3Environment,Mf as XSwapCallType,UW as default,Nf as openTransactionModal};
|
|
90
|
+
WHRkYXRlOm1vZGlmeQAyMDI0LTA1LTI3VDExOjU0OjI5KzAwOjAw2bfeIwAAAABJRU5ErkJggg==`})});import{jsx as cm}from"react/jsx-runtime";var dm=()=>cm("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:cm("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M5.89761 2.45159L5.12155 4.38335C4.92404 4.875 4.56316 5.26745 4.11108 5.48225L2.33478 6.32623L4.11108 7.17021C4.56316 7.38501 4.92404 7.77746 5.12155 8.26911L5.89761 10.2009L6.67367 8.26911C6.87118 7.77746 7.23206 7.38501 7.68414 7.17021L9.46044 6.32623L7.68414 5.48225C7.23206 5.26745 6.87118 4.875 6.67367 4.38335L5.89761 2.45159ZM11.6352 7.3349C11.4478 7.35272 11.2681 7.47472 11.1863 7.70089L10.5417 9.48369C10.4927 9.61935 10.3985 9.72999 10.2779 9.79365L8.66756 10.6438C8.26644 10.8556 8.26644 11.477 8.66756 11.6888L10.2779 12.539C10.3985 12.6026 10.4927 12.7133 10.5417 12.8489L11.1863 14.6317C11.3639 15.1228 12.0028 15.1228 12.1804 14.6317L12.825 12.8489C12.874 12.7133 12.9682 12.6026 13.0888 12.539L14.6992 11.6888C15.1003 11.477 15.1003 10.8556 14.6992 10.6438L13.0888 9.79365C12.9682 9.72999 12.874 9.61935 12.825 9.48369L12.1804 7.70089C12.0846 7.43603 11.8546 7.31403 11.6352 7.3349ZM8.11177 8.23467C7.90628 8.33231 7.74225 8.51069 7.65247 8.73417L6.71328 11.072C6.40235 11.8459 5.39287 11.846 5.08194 11.072L4.14275 8.73417C4.05297 8.51069 3.88894 8.33231 3.68344 8.23467L1.53375 7.21328C0.822083 6.87514 0.822082 5.77732 1.53375 5.43918L3.68344 4.41779C3.88894 4.32015 4.05297 4.14177 4.14275 3.91829L5.08194 1.58047C5.39287 0.806512 6.40235 0.806511 6.71328 1.58047L7.65247 3.91829C7.74225 4.14177 7.90628 4.32015 8.11177 4.41779L10.2615 5.43918C10.6624 5.6297 10.8375 6.06138 10.7866 6.46247C10.7472 6.77325 10.5722 7.06566 10.2615 7.21328L8.11177 8.23467ZM11.6834 9.50062L11.5358 9.90876C11.3886 10.3157 11.1062 10.6477 10.7444 10.8386L10.1237 11.1663L10.7444 11.494C11.1062 11.6849 11.3886 12.0169 11.5358 12.4239L11.6834 12.832L11.8309 12.4239C11.9781 12.0169 12.2606 11.6849 12.6223 11.494L13.243 11.1663L12.6223 10.8386C12.2606 10.6477 11.9781 10.3157 11.8309 9.90876L11.6834 9.50062Z",fill:"white"})});import{createContext as Mg,useCallback as sc,useContext as Og,useMemo as Bg,useState as fm}from"react";import{useAccount as Lg,useConnect as Dg,useDisconnect as Fg}from"wagmi";import{useWallet as Ug}from"@solana/wallet-adapter-react";import{jsx as Vg}from"react/jsx-runtime";var lm=Mg({}),um=({children:t})=>{let[e,r]=fm(!1),[n,o]=fm(!1),{address:a,isConnected:i,chainId:s}=Lg(),{connect:c,connectors:d}=Dg(),{disconnect:f}=Fg(),u=Ug(),x=sc(async()=>{c({connector:d[0]})},[c,d]),m=sc(async()=>{await u.connect()},[u]),p=sc(()=>new Promise(b=>b(f())),[f]),h=sc(()=>u.disconnect(),[u]),w=Bg(()=>({evm:{address:a?.toString(),isConnected:i,chainId:s?.toString(),connectWallet:x,disconnectWallet:p},solana:{address:u.publicKey?.toBase58(),isConnected:!!u.publicKey,chainId:"mainnet-beta",connectWallet:m,disconnectWallet:h}}),[a,i,s,x,p,u.publicKey,m,h]);return Vg(lm.Provider,{value:{openEVMWalletModal:e,setOpenEVMWalletModal:r,openSolanaWalletModal:n,setOpenSolanaWalletModal:o,...w},children:t})},Ft=()=>Og(lm);import{useMemo as Kg}from"react";var gi=()=>Kg(()=>({query:async(t,e,r=[])=>t?.provider?await t[e](...r):null,execute:async(t,e,r=[],n={})=>{try{if(t?.provider){let o=await t.estimateGas[e](...r,n);return n.gasLimit||(n.gasLimit=Math.floor(o.toNumber()*xd)),await t[e](...r,n)}return null}catch(o){let a;try{a=t?.interface.parseError(o?.error?.data?.data)}catch{throw o?.error?.data?.message?new Error(o?.error?.data?.message):o}throw new Error(a?.name)}},executeCalldata:async(t,e)=>{try{let r=await t.estimateGas({...e});return await t.sendTransaction({...e,gasLimit:Math.floor(r.toNumber()*xd)})}catch(r){throw r?.error?.data?.message?new Error(r?.error?.data?.message):r}}}),[]),Ed=gi;import{useCallback as GI}from"react";import{useCallback as Hg,useRef as Wg}from"react";var pm=({delayMs:t,instantExecution:e})=>{let r=Wg(null);return{debounce:Hg(o=>{r.current&&(clearTimeout(r.current),r.current=null),e&&e(),r.current=setTimeout(o,t)},[t,e])}};import{useCallback as $I}from"react";var eN=new ie.utils.Interface(d1);import{Program as Jg}from"@coral-xyz/anchor";var cc={version:"0.1.0",name:"jupiter",instructions:[{name:"route",docs:["route_plan Topologically sorted trade DAG"],accounts:[{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"userTransferAuthority",isMut:!1,isSigner:!0},{name:"userSourceTokenAccount",isMut:!0,isSigner:!1},{name:"userDestinationTokenAccount",isMut:!0,isSigner:!1},{name:"destinationTokenAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"destinationMint",isMut:!1,isSigner:!1},{name:"platformFeeAccount",isMut:!0,isSigner:!1,isOptional:!0}],args:[{name:"routePlan",type:{vec:{defined:"RoutePlanStep"}}},{name:"inAmount",type:"u64"},{name:"quotedOutAmount",type:"u64"},{name:"slippageBps",type:"u16"},{name:"platformFeeBps",type:"u8"}],returns:"u64"},{name:"routeWithTokenLedger",accounts:[{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"userTransferAuthority",isMut:!1,isSigner:!0},{name:"userSourceTokenAccount",isMut:!0,isSigner:!1},{name:"userDestinationTokenAccount",isMut:!0,isSigner:!1},{name:"destinationTokenAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"destinationMint",isMut:!1,isSigner:!1},{name:"platformFeeAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"tokenLedger",isMut:!1,isSigner:!1}],args:[{name:"routePlan",type:{vec:{defined:"RoutePlanStep"}}},{name:"quotedOutAmount",type:"u64"},{name:"slippageBps",type:"u16"},{name:"platformFeeBps",type:"u8"}],returns:"u64"},{name:"sharedAccountsRoute",docs:["Route by using program owned token accounts and open orders accounts."],accounts:[{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"programAuthority",isMut:!1,isSigner:!1},{name:"userTransferAuthority",isMut:!1,isSigner:!0},{name:"sourceTokenAccount",isMut:!0,isSigner:!1},{name:"programSourceTokenAccount",isMut:!0,isSigner:!1},{name:"programDestinationTokenAccount",isMut:!0,isSigner:!1},{name:"destinationTokenAccount",isMut:!0,isSigner:!1},{name:"sourceMint",isMut:!1,isSigner:!1},{name:"destinationMint",isMut:!1,isSigner:!1},{name:"platformFeeAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"token2022Program",isMut:!1,isSigner:!1,isOptional:!0}],args:[{name:"id",type:"u8"},{name:"routePlan",type:{vec:{defined:"RoutePlanStep"}}},{name:"inAmount",type:"u64"},{name:"quotedOutAmount",type:"u64"},{name:"slippageBps",type:"u16"},{name:"platformFeeBps",type:"u8"}],returns:"u64"},{name:"sharedAccountsRouteWithTokenLedger",accounts:[{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"programAuthority",isMut:!1,isSigner:!1},{name:"userTransferAuthority",isMut:!1,isSigner:!0},{name:"sourceTokenAccount",isMut:!0,isSigner:!1},{name:"programSourceTokenAccount",isMut:!0,isSigner:!1},{name:"programDestinationTokenAccount",isMut:!0,isSigner:!1},{name:"destinationTokenAccount",isMut:!0,isSigner:!1},{name:"sourceMint",isMut:!1,isSigner:!1},{name:"destinationMint",isMut:!1,isSigner:!1},{name:"platformFeeAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"token2022Program",isMut:!1,isSigner:!1,isOptional:!0},{name:"tokenLedger",isMut:!1,isSigner:!1}],args:[{name:"id",type:"u8"},{name:"routePlan",type:{vec:{defined:"RoutePlanStep"}}},{name:"quotedOutAmount",type:"u64"},{name:"slippageBps",type:"u16"},{name:"platformFeeBps",type:"u8"}],returns:"u64"},{name:"exactOutRoute",accounts:[{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"userTransferAuthority",isMut:!1,isSigner:!0},{name:"userSourceTokenAccount",isMut:!0,isSigner:!1},{name:"userDestinationTokenAccount",isMut:!0,isSigner:!1},{name:"destinationTokenAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"sourceMint",isMut:!1,isSigner:!1},{name:"destinationMint",isMut:!1,isSigner:!1},{name:"platformFeeAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"token2022Program",isMut:!1,isSigner:!1,isOptional:!0}],args:[{name:"routePlan",type:{vec:{defined:"RoutePlanStep"}}},{name:"outAmount",type:"u64"},{name:"quotedInAmount",type:"u64"},{name:"slippageBps",type:"u16"},{name:"platformFeeBps",type:"u8"}],returns:"u64"},{name:"sharedAccountsExactOutRoute",docs:["Route by using program owned token accounts and open orders accounts."],accounts:[{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"programAuthority",isMut:!1,isSigner:!1},{name:"userTransferAuthority",isMut:!1,isSigner:!0},{name:"sourceTokenAccount",isMut:!0,isSigner:!1},{name:"programSourceTokenAccount",isMut:!0,isSigner:!1},{name:"programDestinationTokenAccount",isMut:!0,isSigner:!1},{name:"destinationTokenAccount",isMut:!0,isSigner:!1},{name:"sourceMint",isMut:!1,isSigner:!1},{name:"destinationMint",isMut:!1,isSigner:!1},{name:"platformFeeAccount",isMut:!0,isSigner:!1,isOptional:!0},{name:"token2022Program",isMut:!1,isSigner:!1,isOptional:!0}],args:[{name:"id",type:"u8"},{name:"routePlan",type:{vec:{defined:"RoutePlanStep"}}},{name:"outAmount",type:"u64"},{name:"quotedInAmount",type:"u64"},{name:"slippageBps",type:"u16"},{name:"platformFeeBps",type:"u8"}],returns:"u64"},{name:"setTokenLedger",accounts:[{name:"tokenLedger",isMut:!0,isSigner:!1},{name:"tokenAccount",isMut:!1,isSigner:!1}],args:[]},{name:"createOpenOrders",accounts:[{name:"openOrders",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"dexProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"market",isMut:!1,isSigner:!1}],args:[]},{name:"createTokenAccount",accounts:[{name:"tokenAccount",isMut:!0,isSigner:!1},{name:"user",isMut:!0,isSigner:!0},{name:"mint",isMut:!1,isSigner:!1},{name:"tokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"bump",type:"u8"}]},{name:"createProgramOpenOrders",accounts:[{name:"openOrders",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"programAuthority",isMut:!1,isSigner:!1},{name:"dexProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"market",isMut:!1,isSigner:!1}],args:[{name:"id",type:"u8"}]},{name:"claim",accounts:[{name:"wallet",isMut:!0,isSigner:!1},{name:"programAuthority",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"id",type:"u8"}],returns:"u64"},{name:"claimToken",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"wallet",isMut:!1,isSigner:!1},{name:"programAuthority",isMut:!1,isSigner:!1},{name:"programTokenAccount",isMut:!0,isSigner:!1},{name:"destinationTokenAccount",isMut:!0,isSigner:!1},{name:"mint",isMut:!1,isSigner:!1},{name:"associatedTokenTokenProgram",isMut:!1,isSigner:!1},{name:"associatedTokenProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"id",type:"u8"}],returns:"u64"},{name:"createTokenLedger",accounts:[{name:"tokenLedger",isMut:!0,isSigner:!0},{name:"payer",isMut:!0,isSigner:!0},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]}],accounts:[{name:"TokenLedger",type:{kind:"struct",fields:[{name:"tokenAccount",type:"publicKey"},{name:"amount",type:"u64"}]}}],types:[{name:"AmountWithSlippage",type:{kind:"struct",fields:[{name:"amount",type:"u64"},{name:"slippageBps",type:"u16"}]}},{name:"RoutePlanStep",type:{kind:"struct",fields:[{name:"swap",type:{defined:"Swap"}},{name:"percent",type:"u8"},{name:"inputIndex",type:"u8"},{name:"outputIndex",type:"u8"}]}},{name:"PlatformFeeType",type:{kind:"enum",variants:[{name:"SourceMint",fields:[{name:"mint",type:"publicKey"}]},{name:"DestinationMint",fields:[{name:"mint",type:"publicKey"}]},{name:"Zero"}]}},{name:"Side",type:{kind:"enum",variants:[{name:"Bid"},{name:"Ask"}]}},{name:"Swap",type:{kind:"enum",variants:[{name:"Saber"},{name:"SaberAddDecimalsDeposit"},{name:"SaberAddDecimalsWithdraw"},{name:"TokenSwap"},{name:"Sencha"},{name:"Step"},{name:"Cropper"},{name:"Raydium"},{name:"Crema",fields:[{name:"aToB",type:"bool"}]},{name:"Lifinity"},{name:"Mercurial"},{name:"Cykura"},{name:"Serum",fields:[{name:"side",type:{defined:"Side"}}]},{name:"MarinadeDeposit"},{name:"MarinadeUnstake"},{name:"Aldrin",fields:[{name:"side",type:{defined:"Side"}}]},{name:"AldrinV2",fields:[{name:"side",type:{defined:"Side"}}]},{name:"Whirlpool",fields:[{name:"aToB",type:"bool"}]},{name:"Invariant",fields:[{name:"xToY",type:"bool"}]},{name:"Meteora"},{name:"GooseFX"},{name:"DeltaFi",fields:[{name:"stable",type:"bool"}]},{name:"Balansol"},{name:"MarcoPolo",fields:[{name:"xToY",type:"bool"}]},{name:"Dradex",fields:[{name:"side",type:{defined:"Side"}}]},{name:"LifinityV2"},{name:"RaydiumClmm"},{name:"Openbook",fields:[{name:"side",type:{defined:"Side"}}]},{name:"Phoenix",fields:[{name:"side",type:{defined:"Side"}}]},{name:"Symmetry",fields:[{name:"fromTokenId",type:"u64"},{name:"toTokenId",type:"u64"}]},{name:"TokenSwapV2"},{name:"HeliumTreasuryManagementRedeemV0"},{name:"StakeDexStakeWrappedSol"},{name:"StakeDexSwapViaStake",fields:[{name:"bridgeStakeSeed",type:"u32"}]},{name:"GooseFXV2"},{name:"Perps"},{name:"PerpsAddLiquidity"},{name:"PerpsRemoveLiquidity"},{name:"MeteoraDlmm"},{name:"OpenBookV2",fields:[{name:"side",type:{defined:"Side"}}]},{name:"RaydiumClmmV2"},{name:"StakeDexPrefundWithdrawStakeAndDepositStake",fields:[{name:"bridgeStakeSeed",type:"u32"}]},{name:"Clone",fields:[{name:"poolIndex",type:"u8"},{name:"quantityIsInput",type:"bool"},{name:"quantityIsCollateral",type:"bool"}]},{name:"SanctumS",fields:[{name:"srcLstValueCalcAccs",type:"u8"},{name:"dstLstValueCalcAccs",type:"u8"},{name:"srcLstIndex",type:"u32"},{name:"dstLstIndex",type:"u32"}]},{name:"SanctumSAddLiquidity",fields:[{name:"lstValueCalcAccs",type:"u8"},{name:"lstIndex",type:"u32"}]},{name:"SanctumSRemoveLiquidity",fields:[{name:"lstValueCalcAccs",type:"u8"},{name:"lstIndex",type:"u32"}]},{name:"RaydiumCP"},{name:"WhirlpoolSwapV2",fields:[{name:"aToB",type:"bool"},{name:"remainingAccountsInfo",type:{option:{defined:"RemainingAccountsInfo"}}}]},{name:"OneIntro"},{name:"PumpdotfunWrappedBuy"},{name:"PumpdotfunWrappedSell"},{name:"PerpsV2"},{name:"PerpsV2AddLiquidity"},{name:"PerpsV2RemoveLiquidity"},{name:"MoonshotWrappedBuy"},{name:"MoonshotWrappedSell"},{name:"StabbleStableSwap"},{name:"StabbleWeightedSwap"},{name:"Obric",fields:[{name:"xToY",type:"bool"}]},{name:"FoxBuyFromEstimatedCost"},{name:"FoxClaimPartial",fields:[{name:"isY",type:"bool"}]},{name:"SolFi",fields:[{name:"isQuoteToBase",type:"bool"}]}]}},{name:"RemainingAccountsSlice",type:{kind:"struct",fields:[{name:"accountsType",type:{defined:"AccountsType"}},{name:"length",type:"u8"}]}},{name:"RemainingAccountsInfo",type:{kind:"struct",fields:[{name:"slices",type:{vec:{defined:"RemainingAccountsSlice"}}}]}},{name:"AccountsType",type:{kind:"enum",variants:[{name:"TransferHookA"},{name:"TransferHookB"}]}}],events:[{name:"SwapEvent",fields:[{name:"amm",type:"publicKey",index:!1},{name:"inputMint",type:"publicKey",index:!1},{name:"inputAmount",type:"u64",index:!1},{name:"outputMint",type:"publicKey",index:!1},{name:"outputAmount",type:"u64",index:!1}]},{name:"FeeEvent",fields:[{name:"account",type:"publicKey",index:!1},{name:"mint",type:"publicKey",index:!1},{name:"amount",type:"u64",index:!1}]}],errors:[{code:6e3,name:"EmptyRoute",msg:"Empty route"},{code:6001,name:"SlippageToleranceExceeded",msg:"Slippage tolerance exceeded"},{code:6002,name:"InvalidCalculation",msg:"Invalid calculation"},{code:6003,name:"MissingPlatformFeeAccount",msg:"Missing platform fee account"},{code:6004,name:"InvalidSlippage",msg:"Invalid slippage"},{code:6005,name:"NotEnoughPercent",msg:"Not enough percent to 100"},{code:6006,name:"InvalidInputIndex",msg:"Token input index is invalid"},{code:6007,name:"InvalidOutputIndex",msg:"Token output index is invalid"},{code:6008,name:"NotEnoughAccountKeys",msg:"Not Enough Account keys"},{code:6009,name:"NonZeroMinimumOutAmountNotSupported",msg:"Non zero minimum out amount not supported"},{code:6010,name:"InvalidRoutePlan",msg:"Invalid route plan"},{code:6011,name:"InvalidReferralAuthority",msg:"Invalid referral authority"},{code:6012,name:"LedgerTokenAccountDoesNotMatch",msg:"Token account doesn't match the ledger"},{code:6013,name:"InvalidTokenLedger",msg:"Invalid token ledger"},{code:6014,name:"IncorrectTokenProgramID",msg:"Token program ID is invalid"},{code:6015,name:"TokenProgramNotProvided",msg:"Token program not provided"},{code:6016,name:"SwapNotSupported",msg:"Swap not supported"},{code:6017,name:"ExactOutAmountNotMatched",msg:"Exact out amount doesn't match"},{code:6018,name:"SourceAndDestinationMintCannotBeTheSame",msg:"Source mint and destination mint cannot the same"}]};import{utils as mm}from"@coral-xyz/anchor";function xm(t,e){let r=[];if(e&&e.meta){let{meta:n}=e;n.innerInstructions?.map(async o=>{o.instructions.map(async a=>{if(!a.programId.equals(ui)||!("data"in a))return;let i=mm.bytes.bs58.decode(a.data),s=mm.bytes.base64.encode(i.subarray(8)),c=t.coder.events.decode(s);c&&r.push(c)})})}return r}import{BorshCoder as Gg}from"@coral-xyz/anchor";var dc=class{constructor(e){this.programId=e,this.coder=new Gg(cc)}getInstructionNameAndTransferAuthorityAndLastAccount(e){for(let r of e){if(!r.programId.equals(this.programId))continue;let n=this.coder.instruction.decode(r.data,"base58");if(n&&r&&this.isRouting(n.name)){let o=n.name,a=this.getTransferAuthorityIndex(o);if(a===void 0)continue;let i=r.accounts[a]?.toString()||"",s=r.accounts[r.accounts.length-1]?.toString()||"";return[n.name,i,s]}}return[]}getTransferAuthorityIndex(e){switch(e){case"route":case"exactOutRoute":case"routeWithTokenLedger":return 1;case"sharedAccountsRoute":case"sharedAccountsRouteWithTokenLedger":case"sharedAccountsExactOutRoute":return 2}}getInstructions(e){let r=[];for(let n of e.transaction.message.instructions)n.programId.equals(this.programId)&&r.push(n);for(let n of e.meta?.innerInstructions||[])for(let o of n.instructions)o.programId.equals(this.programId)&&r.push(o);return r}getInitialAndFinalSwapPositions(e){for(let r of e){if(!r.programId.equals(this.programId))continue;let n=this.coder.instruction.decode(r.data,"base58");if(n&&this.isRouting(n.name)){let o=n.data.routePlan,a=0,i=o.length,s=[];for(let d=0;d<o.length;d++)o[d].inputIndex===a&&s.push(d);let c=[];for(let d=0;d<o.length;d++)o[d].outputIndex===i&&c.push(d);if(c.length===0&&this.isCircular(n.data.routePlan))for(let d=0;d<n.data.routePlan.length;d++)n.data.routePlan[d].outputIndex===0&&c.push(d);return[s,c]}}}getExactOutAmount(e){for(let r of e){if(!r.programId.equals(this.programId)||!("data"in r))continue;let n=this.coder.instruction.decode(r.data,"base58");if(n&&this.isExactIn(n.name))return n.data.quotedOutAmount.toString()}}getExactInAmount(e){for(let r of e){if(!r.programId.equals(this.programId)||!("data"in r))continue;let n=this.coder.instruction.decode(r.data,"base58");if(n&&this.isExactOut(n.name))return n.data.quotedInAmount.toString()}}isExactIn(e){return e==="route"||e==="routeWithTokenLedger"||e==="sharedAccountsRoute"||e==="sharedAccountsRouteWithTokenLedger"}isExactOut(e){return e==="sharedAccountsExactOutRoute"||e==="exactOutRoute"}isRouting(e){return e==="route"||e==="routeWithTokenLedger"||e==="sharedAccountsRoute"||e==="sharedAccountsRouteWithTokenLedger"||e==="sharedAccountsExactOutRoute"||e==="exactOutRoute"}isCircular(e){if(!e||e.length===0)return!1;let r=new Map(e.map(a=>[a.inputIndex,a.outputIndex])),n=new Set,o=e[0].inputIndex;for(;!n.has(o);){if(n.has(o))return o===e[0].inputIndex;if(n.add(o),!r.has(o))return!1;o=r.get(o)}}};import fc from"bignumber.js";var bi=class{static fromBigInt(e,r=0){return new fc(e.toString()).div(new fc(10).pow(r))}static fromBN(e,r=0){return new fc(e.toString()).div(new fc(10).pow(r))}},qg=["JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4","JUP4Fb2cqiRUcaTHdrPC8h2gNsA2ETXiPDD33WcGuJB","JUP2jxvXaqu7NQY1GmNF4m1vodw12LVXYxbFL2uJvfo","JUP3c2Uh3WA4Ng34tw6kPd2G4C5BB21Xo36Je1s32Ph"],hm=t=>{if(!t||!t.transaction||!t.transaction.message)return!1;for(let e of t.meta?.innerInstructions||[])for(let r of e.instructions){let n=r.programId?.toString();if(n&&qg.includes(n))return!0}return!1};import lc from"bignumber.js";import{unpackMint as zg}from"@solana/spl-token";var Qg=new Jg(cc,ui,{}),Xg=(t,e)=>t.reduce((r,n)=>(n.name===e&&r.push(n.data),r),new Array);async function bm(t,e,r){let n=ui,o=new Map;if(!r.meta?.logMessages)throw new Error("Missing log messages...");let i=new dc(n),s=xm(Qg,r),c=Xg(s,"SwapEvent");if(c.length===0)return;let d=new Array;c.forEach(J=>{d.push(J.inputMint),d.push(J.outputMint)});let f=await e.getMultipleAccountsInfo(d);d.forEach((J,M)=>{let H=f[M];H&&o.set(J.toBase58(),H)});let u=await Zg(o,c),x=i.getInstructions(r),m=i.getInitialAndFinalSwapPositions(x);if(!m)throw new Error("Failed to get initial and final swap positions");let[p,h]=m,w=p[0],b=h[0],T=u[w]?.inMint,O=u.filter((J,M)=>p?.includes(M)&&J.inMint===T).reduce((J,M)=>J.plus(new lc(M.inAmount||"0")),new lc(0)),C=u[b]?.outMint,P=u.filter((J,M)=>h?.includes(M)&&J.outMint===C).reduce((J,M)=>J.plus(new lc(M.outAmount||"0")),new lc(0)),L=r.meta?.status?.Ok===null,F={};return F.hash=t,F.timestamp=r.blockTime??0,F.amountWei=O.toString(),F.tokenAddress=T,F.tokenOutAmount=P.toString(),F.tokenOutAddress=C,F.sourceChainId="mainnet-beta",F.targetChainId="mainnet-beta",F.status=L?"DONE":"REVERTED",F}async function Zg(t,e){return await Promise.all(e.map(n=>Yg(t,n)))}async function Yg(t,e){let r=e.inputMint.toBase58(),n=e.inputAmount.toString(),o=gm(t,e.inputMint),a=bi.fromBN(e.inputAmount,o),i=e.outputMint.toBase58(),s=e.outputAmount.toString(),c=gm(t,e.outputMint),d=bi.fromBN(e.outputAmount,c);return{inMint:r,inAmount:n,inAmountInDecimal:a,outMint:i,outAmount:s,outAmountInDecimal:d}}function gm(t,e){let r=t.get(e.toBase58());if(r)return zg(e,r,r.owner).decimals}import $g from"bignumber.js";import{useSnackbar as e6}from"notistack";import{createContext as t6,useCallback as uc,useContext as r6,useEffect as pc,useMemo as n6,useState as mc}from"react";import{jsx as ma,jsxs as a6}from"react/jsx-runtime";var wm=t6({}),vm="pending_transactions",Pd=()=>Ke?{}:JSON.parse(localStorage.getItem(vm)||"{}"),Id=t=>{Ke||localStorage.setItem(vm,JSON.stringify(t))};async function o6(t){let e=[];for(let r=0;r<t.length;r++)try{let n=t[r];if(!n)continue;let o=n.transaction.signatures[0];if(!o)continue;let a=new ym(eo,"confirmed"),i=await bm(o,a,n);i&&e.push(i)}catch(n){console.error("Error processing transaction:",n)}return e}var Am=({children:t})=>{let{evm:e,solana:r}=Ft(),{address:n}=e,{address:o}=r,[a,i]=mc([]),[s,c]=mc([]),[d,f]=mc(!1),[u,x]=mc(!1),{enqueueSnackbar:m,closeSnackbar:p}=e6(),{debounce:h}=pm({delayMs:600});pc(()=>{Ke||localStorage.removeItem("transactions-history")},[]);let w=async(P,L=50)=>{let F=new ym(eo,"confirmed"),J=new jg(P);try{let M=await F.getSignaturesForAddress(J,{limit:L}),G=(await F.getParsedTransactions(M.map(z=>z.signature),{maxSupportedTransactionVersion:0})).filter(z=>!!z).filter(z=>hm(z));return await o6(G)}catch(M){return console.error("Error fetching transactions:",M),[]}},b=async()=>{if(!o){x(!0);return}try{let P=await w(o);i(P)}finally{x(!0)}};pc(()=>{o?b():(i([]),x(!0))},[o]);let T=uc(async()=>{try{if(!n)return;let P=[],L=await w1({walletAddress:n});for(let H of L.history){if(!H.source)continue;let G;H.failed&&(G="REVERTED"),H.target?G="DONE":G="IN_PROGRESS";let X=new Date(H.source?.blockTime).getTime(),z=Qs;if(new $g(H.source.valueForInstantCcipRecieve||"0").gt(0))z=X+30*1e3;else{let re=X+qs?.[H.source.blockchainId]?.[H.source.targetBlockchainId];re&&(z=re)}P.push({messageId:H.messageId,hash:H.source.transactionHash,timestamp:X/1e3,sourceChainId:H.source.blockchainId,targetChainId:H.source.targetBlockchainId,amountWei:H.source.tokenAmount,tokenAddress:H.source.tokenAddress,tokenOutAddress:H.target?.tokenAddress||H.source.tokenOutAddress,tokenOutAmount:H.target?.tokenAmount||H.source.estimatedAmountOut,estimatedDeliveryTimestamp:z,status:G})}let F={};for(let H of P)F[H.hash]=H;let J=Pd(),M={};for(let[H,G]of Object.entries(J)){if(H.toLowerCase()!==n.toLowerCase())continue;let X=[];for(let z of G){let re=z.hash,j=F[re];if(!j){P.push(z),X.push(z);continue}j&&z.status==="DONE"&&j?.status==="IN_PROGRESS"&&(j.status="DONE"),j.status==="DONE"||j.status}M[H.toLowerCase()]=X}Id(M),c(P.sort((H,G)=>G.timestamp-H.timestamp))}catch(P){console.error(P),m(ma(Xr,{message:{text:"Failed to fetch history!",variant:"error"}}),{persist:!1})}finally{f(!0)}},[n,m]);pc(()=>{d||h(T);let P=setInterval(()=>{h(T)},6e4);return()=>clearInterval(P)},[n,T,h,d]);let k=uc((P,L)=>{c(F=>{let J=F.filter(H=>H.hash!==P.hash),M=Pd();return Id({...M,[L]:[P,...J]}),[P,...J]})},[]),O=uc(P=>{m(ma(Xr,{message:{text:"Destination chain transaction mined successfully!",variant:"success",action:()=>a6("div",{className:"flex items-center flex-nowrap",children:[ma(Dt,{type:"button",onClick:()=>{window.open(`${la}${P}`)},children:"View"}),ma("div",{className:"transaction-provider__close fill-white leading-[0px]",onClick:()=>p(P),children:ma(Me,{})})]})}}),{persist:!1,key:P})},[p,m]),C=uc((P,L)=>{c(F=>{let J=F.map(H=>H.hash===P.hash&&H.status!=="DONE"?P:H),M=Pd();switch(Id({...M,[L]:[...J]}),P.status){case"DONE":{O(P.hash);break}case"REVERTED":break}return[...J]})},[O]);pc(()=>{f(!1),x(!1),c([]),i([])},[n,o]);let B=n6(()=>({history:s,addTransactionToLocalHistory:k,updateTransactionInLocalHistory:C,historyLoadedOnce:d,solanaHistory:a,solanaHistoryLoadedOnce:u}),[s,k,C,d,a,u]);return ma(wm.Provider,{value:B,children:t})};function xa(){return r6(wm)}import km from"bignumber.js";import{createContext as d6,useCallback as ha,useContext as f6,useEffect as et,useMemo as He,useRef as Em,useState as Se}from"react";var Cm=({supportedChains:t})=>{let e=t.find(r=>r.chainId===fa)||t[0];if(!e)throw new Error("getDefaultSourceChain > couldn't find default source chain");return e},Sm=({supportedChains:t})=>{let e=t.find(r=>r.chainId===zs)||t[0];if(!e)throw new Error("getDefaultDestinationChain > couldn't find default destination chain");return e},xc=(t,e,r,n)=>{if(!t.tokens.some(s=>s.supported))return;let a=t.tokens.find(s=>s.address.toLowerCase()===e.toLowerCase()&&s.supported);if(a)return a;let i=t.tokens.find(s=>r?s.supported&&s.tokenId!==n:s.supported);if(i)return i},i6=({chain:t,bridgeTokensDictionary:e})=>{if(!t)return;let r=t.tokens.find(o=>o.tokenId==="XSWAP");if(r)return r;let n=Object.keys(e[t.chainId]||{})[0];return t.tokens.find(o=>o.address.toLowerCase()===n?.toLowerCase())},Nd=t=>t.swapSupported,Rd=({sourceChain:t,targetChain:e})=>{if(!t)throw new Error("isSwapTargetChainValid > sourceChain should be defined.");return e.swapSupported&&t.supportedDstForSwap?.includes(e.chainId)},_d=t=>!t||t.bridgeSupported,Tm=({sourceChain:t,targetChain:e,sourceToken:r})=>{let n=!0,o=!0,a=!1;return t&&e&&(n=!!t.supportedDstForBridge?.includes(e.chainId)),r&&e&&(o=!!e.tokens.find(i=>i.tokenId===r.tokenId)),t&&e&&(a=t.chainId===e.chainId),o&&!a&&n},s6=({source:t,target:e,supportedChains:r})=>{let n=t.chain||Cm({supportedChains:r}),o=e.chain||Sm({supportedChains:r}),a=t.token||xc(n,ud),i=e.token||xc(o,pd,n.chainId===o.chainId,a?.tokenId);if(!n||!o||!a||!i)return{source:{chain:void 0,token:void 0},target:{chain:void 0,token:void 0}};if(!Nd(n)&&(n=Cm({supportedChains:r}),a=void 0,!Nd(n)&&(console.error("[WRONG CONFIG] default swap source chain is invalid."),n=r.find(s=>Nd(s)),!n)))throw new Error("mapToValidSwap > None of the chains supports swap. Couldn't set source chain.");if(!Rd({sourceChain:n,targetChain:o})&&(o=Sm({supportedChains:r}),i=void 0,!Rd({sourceChain:n,targetChain:o})&&(console.error("[WRONG CONFIG] default swap target chain is invalid."),o=r.find(s=>Rd({sourceChain:n,targetChain:s})),!o)))throw new Error("mapToValidSwap > None of the chains supports swap. Couldn't set target chain.");return a=n.tokens.find(s=>s.tokenId===a?.tokenId&&s.supported),i=o.tokens.find(s=>s.tokenId===i?.tokenId&&s.supported),a||(a=xc(n,ud)),(!i||a===i)&&(i=xc(o,pd,n.chainId===o.chainId,a?.tokenId)),{source:{chain:n,token:a},target:{chain:o,token:i}}},c6=({source:t,target:e,supportedChains:r,bridgeTokensDictionary:n})=>{let o=t.chain,a=e.chain,i=t.token,s=e.token;if(!_d(o)&&(o=void 0,i=void 0,!_d(o)&&(console.error("[WRONG CONFIG] default bridge source chain is invalid."),o=r.find(c=>_d(c)),!o)))throw new Error("mapToValidSwap > None of the chains supports bridge. Couldn't set source chain.");if(Tm({sourceChain:o,targetChain:a,sourceToken:i})||(s=void 0,Tm({sourceChain:o,targetChain:a,sourceToken:i})||(a=void 0)),i&&o&&(i=o.tokens.find(c=>c.tokenId===i?.tokenId&&c.supported),i&&(Object.keys(n[o.chainId]?.[o.ecosystem==="solana"?i.address:i.address.toLowerCase()]||{}).length>0||(i=void 0))),s&&a&&(s=a.tokens.find(c=>c.tokenId===s?.tokenId&&c.supported)),!i){let c=i6({chain:o,bridgeTokensDictionary:n});c&&o&&a&&!!n[o.chainId]?.[c.address.toLowerCase()]?.[a.chainId]?i=c:i=void 0}if(i?.tokenId!==s?.tokenId&&(s=void 0),!s)if(i&&o&&a){let c=n[o.chainId]?.[o.ecosystem==="solana"?i.address:i.address.toLowerCase()]?.[a.chainId];s=a.tokens.find(f=>f.address.toLowerCase()===c?.toLowerCase())}else s=void 0;return!s&&i&&(a=void 0),{source:{chain:o,token:i},target:{chain:a,token:s}}},hc=({type:t,...e})=>t==="SWAP"?s6(e):c6(e);import{Connection as l6,PublicKey as u6}from"@solana/web3.js";import{jsx as p6}from"react/jsx-runtime";var Je=()=>{throw new Error("Not implemented")},_e={bridgeUI:!1,integrationConfig:{},supportedChains:[],tab:"Swap",overlay:!1,error:"",feeToken:void 0,srcChain:void 0,srcChainTokensOptions:[],srcChainOtherTokensOptions:[],tokenPrices:{},dstChain:void 0,dstChainTokensOptions:[],dstChainOtherTokensOptions:[],srcToken:void 0,dstTokenLocked:!1,dstChainLocked:!1,srcTokenLocked:!1,srcChainLocked:!1,dstToken:void 0,srcValue:"",srcValueWei:"",srcValueUsd:null,dstValue:"",dstValueWei:"",dstValueUsd:null,dstValueMin:"",expressDelivery:!0,infiniteApproval:!0,slippage:"1.5",route:void 0,isAsyncDataLoaded:!1,srcTokenBalanceWei:"",srcTokenBalanceInfo:"-",isFetchingBalance:!1,isFetchingBalances:!1,isFetchingRoute:!1,isExpressDeliveryActive:!0,setTab:Je,setError:Je,setSrcChain:Je,setDstChain:Je,setSrcToken:Je,setDstToken:Je,setSrcValue:Je,setExpressDelivery:Je,setInfiniteApproval:Je,setSlippage:Je,setRoute:Je,setSrcTokenBalanceWei:Je,quoteRoute:Je,refreshBalance:Je,findTokenDataByAddressAndChain:Je,bridgeTokensDictionary:null,onConnectWallet:Je,hasOnConnectWalletCallback:!1,srcChainOptions:[],dstChainOptions:[],addTokenToChainIfNotExists:Je},Pm=d6(_e),Im=({children:t,integrationConfig:e,supportedChains:r,overlay:n})=>{let{evm:o,solana:a}=Ft(),{address:i,chainId:s}=o,{address:c}=a,[d,f]=Se(!1),[u,x]=Se(_e.tab),[m,p]=Se(_e.error),[h,w]=Se(_e.expressDelivery),[b,T]=Se(_e.slippage),[k,O]=Se(_e.infiniteApproval),[C,B]=Se(_e.srcChain),[P,L]=Se(_e.dstChain),[F,J]=Se(_e.feeToken),[M,H]=Se(_e.srcToken),[G,X]=Se(_e.dstToken),[z,re]=Se(_e.tokenPrices),[j,$]=Se({}),[y,S]=Se([]),[D,g]=Se(_e.srcValue),[A,U]=Se(_e.srcTokenBalanceWei),[l,E]=Se(_e.srcChainTokensOptions),[v,I]=Se(_e.dstChainTokensOptions),[V,q]=Se(_e.srcChainOtherTokensOptions),[ee,Z]=Se(_e.dstChainOtherTokensOptions),[ke,oe]=Se([]),[Ce,en]=Se([]),[ho,Mn]=Se(_e.isFetchingBalance),[go,On]=Se(_e.isFetchingBalances),[bo,Bn]=Se(_e.isFetchingRoute),[mt,nr]=Se(_e.route),Ct=Em(null),Ln=Em(crypto.randomUUID()),yo=He(()=>!!e?.srcTokenLocked,[e?.srcTokenLocked]),wo=He(()=>!!e?.dstTokenLocked,[e?.dstTokenLocked]),vo=He(()=>!!e?.dstChainLocked,[e?.dstChainLocked]),Ao=He(()=>!!e?.srcChainLocked,[e?.srcChainLocked]),he=He(()=>!!e.bridge,[e.bridge]),Co=He(()=>!!(e.onConnectWallet||window.xPayOnConnectWallet),[e.onConnectWallet]),Rr=He(()=>{let Q=Ke?{}:JSON.parse(localStorage.getItem("custom-tokens")||"{}"),te={};return r.forEach(ae=>{te[ae.chainId]={},ae.tokens.forEach(ne=>{te[ae.chainId][ne.address]=ne})}),gd(te,Q)},[r]),_r=He(()=>{let Q={};return Object.entries(Rr).forEach(([te,ae])=>{Q[te]=Object.entries(ae).filter(([,ne])=>ne.supported).sort(([,ne],[,fe])=>fe.priority-ne.priority).map(([,ne])=>({chainId:te,...ne}))}),Q},[Rr]),Ee=He(()=>{if(!y||y.length===0)return null;let Q={},te=(ae,ne,fe,ge)=>{Q[ae]||(Q[ae]={}),Q[ae][ne]||(Q[ae][ne]={}),Q[ae][ne][fe]=ge};for(let ae of y){let ne=Object.entries(ae);if(ne.length!==2)continue;let[fe,ge]=ne[0],[nt,dt]=ne[1];te(fe,ge,nt,dt),te(nt,dt,fe,ge)}return Object.keys(Q).length>0?Q:null},[y]),So=He(()=>M&&C&&z&&z[C.chainId]&&z[C.chainId]?.[M.address]?(Number(D)*Number(z[C.chainId]?.[M.address])).toFixed(2):null,[z,M,D,C]),Kt=He(()=>Xs({amount:D,decimals:M?.decimals||18}),[M?.decimals,D]),or=He(()=>De({amount:mt?.estAmountOut||"0",decimals:G?.decimals||18,precisionFractionalPlaces:Math.min(8,G?.decimals||18)}),[mt]),To=He(()=>Xs({amount:or,decimals:G?.decimals||18}),[G?.decimals,or]),ko=He(()=>G&&P&&z&&z[P?.chainId]&&z[P?.chainId]?.[G.address]?(Number(or)*Number(z[P?.chainId]?.[G.address])).toFixed(2):null,[z,G,or,P]),Eo=He(()=>De({amount:mt?.minAmountOut||"0",decimals:G?.decimals||18,precisionFractionalPlaces:Math.min(4,G?.decimals||18)}),[mt]),Dn=He(()=>h&&!!mt&&W.from(mt.xSwapFees?.expressDeliveryFee||"0").gt("0"),[h,mt]),Po=He(()=>r.length>0&&y.length>0,[r,y]),Io=He(()=>{if(!M||!A||!i&&!c)return"";if(jt(A).eq(0))return"0";let Q=De({amount:A,decimals:M.decimals,precisionFractionalPlaces:M.decimals});return new km(Q).lt("0.00001")?"<0.00001":De({amount:A,decimals:M.decimals,precisionFractionalPlaces:5})},[i,c,M,A]),ar=ha(Q=>{if(!Q)return[];if(!he)return _r[Q]||[];if(!_r[Q]||!Ee)return[];let te=Object.keys(Ee[Q]||{});return _r[Q].filter(ae=>te.includes(ae.address))},[Ee,he,_r]),tn=ha(async()=>{if(!C||!P||!M||!G||!Kt||jt(Kt).eq(0)||he&&!Ee||he&&C.ecosystem!=="evm"){nr(void 0);return}let{source:Q,target:te}=hc({source:{chain:C,token:M},target:{chain:P,token:G},type:he?"BRIDGE":"SWAP",supportedChains:r,bridgeTokensDictionary:Ee||{}});if(!(Q.chain?.chainId!==C?.chainId||te.chain?.chainId!==P?.chainId||Q.token?.address!==M?.address||te.token?.address!==G?.address))try{if(p(""),Bn(!0),Ct.current&&Ct.current.abort(md),Ct.current=new AbortController,C.ecosystem==="solana"){let ne={...await y1({integratorId:e.integratorId,fromToken:M.address,toToken:G.address,fromAmount:Kt,fromAddress:c||$e[C.chainId]?.FeeCollector||"",slippage:Number(b)}),ecosystem:"solana"};nr(ne)}else{let ne={...await vd({integratorId:e.integratorId,fromChain:C.chainId,toChain:P.chainId,fromAddress:i||$e[C.chainId]?.FeeCollector||"",toAddress:P.ecosystem==="solana"?c||$e[P.chainId]?.FeeCollector||"":i||$e[P.chainId]?.FeeCollector||"",fromToken:M.address,toToken:G.address,fromAmount:Kt,slippage:Number(b),customContractCalls:e.customContractCalls,paymentToken:Ht.AddressZero,expressDelivery:h,infiniteApproval:k,integratorFee:e.integratorFee,integratorFeeReceiverAddress:e.integratorFeeReceiverAddress},Ct.current.signal),ecosystem:"evm"};nr(ne)}Ct.current=null}catch(ae){ae!==md&&(Ct.current=null,console.error(ae),p("Could not find route!"),nr(void 0))}finally{Ct.current||Bn(!1)}},[i,he,P,G,vd,Dn,b,C,M,Kt]),rn=ha(async()=>{if(!i&&!c||!C?.publicRpcUrls[0]||!M||!M?.address)return;let Q=crypto.randomUUID();Ln.current=Q,Mn(!0);let te="0";if(C?.ecosystem==="evm"&&i){let ae=await f1(i,M.address,C?.publicRpcUrls[0]);te=Xs({amount:ae,decimals:M.decimals})}else if(C?.ecosystem==="solana"&&c){let ae=new u6(c),ne=new l6(C.publicRpcUrls[0]);if(M.address===Wp.toBase58())te=new km(await ne.getBalance(ae)).toString();else{let ge=(await ne.getParsedTokenAccountsByOwner(ae,{programId:Gp})).value.find(nt=>nt.account.data.parsed.info.mint===M.address);ge?te=ge.account.data.parsed.info.tokenAmount.amount:te="0"}}Q===Ln.current&&(U(te),Mn(!1))},[i,c,C,M]),No=ha((Q,te)=>Rr[te]?.[Q],[Rr]),Ro=ha(()=>{e.onConnectWallet?e.onConnectWallet():window.xPayOnConnectWallet&&window.xPayOnConnectWallet()},[e]),_o=ha((Q,te)=>{let ae=r.find(ge=>ge.chainId===Q);if(!ae)return ae;let fe=ae.tokens.some(ge=>ge.address.toLowerCase()===te.address.toLowerCase())?ae:{...ae,tokens:[...ae.tokens,te]};B(fe),H(te)},[r]);return et(()=>{if(r.length>0){let Q=r.map(te=>te.chainId);v1({chainId:Q}).then(te=>{re(te)})}},[r]),et(()=>{(async()=>{let Q=await C1();S(Q)})()},[]),et(()=>{tn()},[tn]),et(()=>{rn()},[rn]),et(()=>{let Q=!1;return(i||c)&&r.length>0&&(On(!0),A1({walletAddress:i,solanaWalletAddress:c}).then(te=>{Q||($(te),On(!1))})),()=>{Q=!0}},[i,c,r.length]),et(()=>{C?.chainId==="mainnet-beta"?J(C?.tokens.find(({address:Q})=>Q==="So11111111111111111111111111111111111111112")):J(C?.tokens.find(({address:Q})=>Q.toLowerCase()===Ht.AddressZero.toLowerCase()))},[C]),et(()=>{(async()=>{let Q=P?.chainId===C?.chainId,te=ar(C?.chainId).filter(({symbol:Te})=>Q?Te!==G?.symbol:!0);E(te);let ae=ar(P?.chainId).filter(({symbol:Te})=>Q?Te!==M?.symbol:!0);I(ae);let ne=[],fe=r.filter(({chainId:Te,web3Environment:Be,swapSupported:Qe,bridgeSupported:nn})=>Te!==C?.chainId&&Be==="mainnet"&&(he&&nn||!he&&Qe));for(let{chainId:Te}of fe)ne.push(...ar(Te).filter(({symbol:Be})=>Te===P?.chainId?Be!==G?.symbol:!0));q(ne);let ge=[],nt=r.filter(({chainId:Te,web3Environment:Be,swapSupported:Qe,bridgeSupported:nn})=>Te!==P?.chainId&&Be==="mainnet"&&(he&&nn&&C?.supportedDstForBridge?.includes(Te)||!he&&Qe&&C?.supportedDstForSwap?.includes(Te)));for(let{chainId:Te}of nt)ge.push(...ar(Te).filter(({symbol:Be})=>Te===C?.chainId?Be!==M?.symbol:!0));Z(ge);let dt=Te=>Te.map(Be=>({...Be,balance:W.from(j[Be.chainId]?.[Be.address]||0)}));E(dt(te)),I(dt(ae)),q(dt(ne)),Z(dt(ge))})()},[he,C,P,ar,r,M?.symbol,G?.symbol,j]),et(()=>{let Q=r.filter(({web3Environment:ne,swapSupported:fe,bridgeSupported:ge})=>ne==="mainnet"&&(he&&ge||!he&&fe)),te=[];if(he&&P&&G&&Ee){let ne=Q.filter(({chainId:fe})=>{let ge=Ee[fe]||{};return Object.values(ge).some(nt=>nt[P.chainId])});te=Q.filter(fe=>!ne.some(ge=>ge.chainId===fe.chainId)).map(fe=>fe.chainId)}let ae=new Set;if(C&&Q.filter(ne=>he?!C.supportedDstForBridge?.includes(ne.chainId):!C.supportedDstForSwap?.includes(ne.chainId)).forEach(ne=>ae.add(ne.chainId)),he&&C&&Ee&&!M){let ne=Ee[C.chainId];ne?Q.filter(fe=>!Object.values(ne).some(ge=>ge[fe.chainId])).forEach(fe=>ae.add(fe.chainId)):Q.forEach(fe=>ae.add(fe.chainId))}if(he&&C&&Ee&&M){let ne=Ee[C.chainId]?.[M.address];Q.filter(fe=>!ne?.[fe.chainId]).forEach(fe=>ae.add(fe.chainId))}oe(bd(Q,te)),en(bd(Q,[...ae]))},[r,he,C,M,P,G,Ee]),et(()=>{if(!s||!d||e?.srcChainId)return;let Q=r.find(({chainId:te})=>te===`${s}`);Q&&B(Q)},[s,d,r,e?.srcChainId]),et(()=>{d&&(H(void 0),X(void 0),B(void 0),L(void 0))},[he]),et(()=>{if(d||!r||r.length===0||!Ee)return;let Q=C||e?.srcChainId||(s?`${s}`:void 0)||(he?void 0:fa),te=r.find(({chainId:Qe})=>Qe===Q),ae=P||e?.dstChainId||(he?void 0:zs),ne=r.find(({chainId:Qe})=>Qe===ae),fe,ge,nt=pa(e.srcTokenAddr,e?.srcChainId,r),dt=pa(e.dstTokenAddr,e?.dstChainId,r);te&&(ge=te.tokens.find(({address:Qe})=>Qe.toLowerCase()===nt?.toLowerCase())),ne&&(fe=ne.tokens.find(({address:Qe})=>Qe.toLowerCase()===dt?.toLowerCase()));let{source:Te,target:Be}=hc({source:{chain:te,token:ge},target:{chain:ne,token:fe},type:he?"BRIDGE":"SWAP",supportedChains:r,bridgeTokensDictionary:Ee});B(Te.chain),L(Be.chain),H(Te.token),X(Be.token),f(!0)},[e?.srcChainId,e?.srcTokenAddr,e?.dstChainId,e?.dstTokenAddr,r,he,s,d,Ee]),et(()=>{if(!Ee||r.length===0||!d)return;let{source:Q,target:te}=hc({source:{chain:C,token:M},target:{chain:P,token:G},type:he?"BRIDGE":"SWAP",supportedChains:r,bridgeTokensDictionary:Ee});Q.chain?.chainId!==C?.chainId&&B(Q.chain),te.chain?.chainId!==P?.chainId&&L(te.chain),(Q.token?.address!==M?.address||Q.token?.name!==M?.name)&&H(Q.token),(te.token?.address!==G?.address||te.token?.name!==G?.name)&&X(te.token)},[C,M,P,G,he,r,Ee,d]),et(()=>{d&&(e.onDstChainChange?e.onDstChainChange(P?.chainId):window.xPayOnDstChainChange&&window.xPayOnDstChainChange(P?.chainId))},[e.onDstChainChange,P]),et(()=>{if(!d)return;let Q=G?{address:G.address.toLowerCase(),symbol:G.tokenId}:void 0;e.onDstTokenChange?e.onDstTokenChange(Q):window.xPayOnDstTokenChange&&window.xPayOnDstTokenChange(Q)},[e.onDstTokenChange,G]),et(()=>{d&&(e.onSrcChainChange?e.onSrcChainChange(C?.chainId):window.xPayOnSrcChainChange&&window.xPayOnSrcChainChange(C?.chainId))},[e.onSrcChainChange,C]),et(()=>{if(!d)return;let Q=M?{address:M.address.toLowerCase(),symbol:M.tokenId}:void 0;e.onSrcTokenChange?e.onSrcTokenChange(Q):window.xPayOnSrcTokenChange&&window.xPayOnSrcTokenChange(Q)},[e.onSrcTokenChange,M]),p6(Pm.Provider,{value:{bridgeUI:he,integrationConfig:e,supportedChains:r,tab:u,setTab:x,overlay:n,error:m,setError:p,feeToken:F,srcChain:C,setSrcChain:B,srcChainTokensOptions:l,srcChainOtherTokensOptions:V,srcChainOptions:ke,dstChainOptions:Ce,tokenPrices:z,dstChain:P,setDstChain:L,dstChainTokensOptions:v,dstChainOtherTokensOptions:ee,srcToken:M,setSrcToken:H,dstToken:G,setDstToken:X,srcValue:D,setSrcValue:g,srcValueWei:Kt,srcValueUsd:So,dstValue:or,dstValueWei:To,dstValueUsd:ko,dstValueMin:Eo,expressDelivery:h,setExpressDelivery:w,infiniteApproval:k,setInfiniteApproval:O,slippage:b,setSlippage:T,route:mt,setRoute:nr,isAsyncDataLoaded:Po,srcTokenBalanceWei:A,setSrcTokenBalanceWei:U,srcTokenBalanceInfo:Io,isFetchingRoute:bo,isFetchingBalance:ho,isFetchingBalances:go,isExpressDeliveryActive:Dn,quoteRoute:tn,refreshBalance:rn,findTokenDataByAddressAndChain:No,srcTokenLocked:yo,srcChainLocked:Ao,dstTokenLocked:wo,dstChainLocked:vo,bridgeTokensDictionary:Ee,onConnectWallet:Ro,hasOnConnectWalletCallback:Co,addTokenToChainIfNotExists:_o},children:t})},Y=()=>f6(Pm);import{Connection as m6}from"@solana/web3.js";import{createContext as x6,useCallback as Md,useContext as h6,useMemo as Nm}from"react";import{jsx as g6}from"react/jsx-runtime";var Rm=x6({}),_m=({children:t})=>{let e=Md(async({executeTransaction:i,handlers:s})=>{try{let c=await i();if(!c)throw new Error("Transaction is undefined");s?.onConfirm?.(c);let d=await c.wait();s?.onSuccess?.(d)}catch(c){console.error(c),s?.onError?.(c)}},[]),r=Nm(()=>new m6(eo,"confirmed"),[]),n=Md(async({executeTransaction:i,handlers:s})=>{try{let c=await i();if(!c)throw new Error("Transaction is undefined");s?.onConfirm?.(c);let d=await r.sendTransaction(c,{skipPreflight:!1,preflightCommitment:"confirmed"}),f=await r.getLatestBlockhash(),u=await r.confirmTransaction({signature:d,blockhash:f.blockhash,lastValidBlockHeight:f.lastValidBlockHeight},"confirmed");if(u.value.err)throw new Error(`Transaction failed: ${JSON.stringify(u.value.err)}`);s?.onSuccess?.(d)}catch(c){console.error(c),s?.onError?.(c)}},[r]),o=Md(({executeTransaction:i,handlers:s,network:c="evm"})=>{let d=Date.now();return c==="evm"?e({executeTransaction:i,handlers:s}):c==="solana"&&n({executeTransaction:i,handlers:s}),d},[e,n]),a=Nm(()=>({enqueueTransaction:o}),[o]);return g6(Rm.Provider,{value:a,children:t})};function Mm(){return h6(Rm)}import{useEffect as v6,useMemo as A6,useState as C6}from"react";import{useAccount as S6}from"wagmi";import{useMemo as b6}from"react";import{useConnectorClient as y6}from"wagmi";function w6(t){let{account:e,transport:r}=t;return new Gs.Web3Provider(r,"any").getSigner(e.address)}async function Om({chainId:t}={}){let{data:e}=y6({chainId:t});return b6(()=>e?w6(e):void 0,[e])}var T6=()=>{let[t,e]=C6(),r=Om();v6(()=>{r.then(a=>e(a))},[r]);let n=S6();return{networks:{evm:A6(()=>({networkName:"EVM",chainId:n.chainId?.toString()||fa,address:n.address,signer:t,provider:t?.provider}),[n.address,n.chainId,t])}}},ga=T6;import{useCallback as hx}from"react";import{useMemo as P6,useState as I6}from"react";import{jsx as Od,jsxs as k6}from"react/jsx-runtime";var Bm=()=>{let{isExpressDeliveryActive:t}=Y();return k6("div",{className:"flex items-center",children:[Od("div",{className:`w-4 h-4 mr-1 ${t?"fill-t_success_light":"fill-t_text_primary opacity-50"} `,children:Od($1,{})}),Od("span",{className:`text-xs font-medium sm:text-sm ${t?"text-t_success_light":"opacity-50"}`,children:t?"Fast ~ 30sec ":"Normal ~ 30min"})]})};import{jsx as Bd,jsxs as E6}from"react/jsx-runtime";var Lm=({name:t,value:e})=>{let{isFetchingRoute:r}=Y();return E6("div",{className:"flex gap-x-1 justify-between text-xs font-medium",children:[Bd("div",{className:"opacity-60",children:t}),Bd("div",{children:r?Bd($t,{className:"w-[60px] h-full"}):e})]})};import{jsx as Ld}from"react/jsx-runtime";var Dm=()=>{let{route:t,slippage:e,feeToken:r,dstToken:n,expressDelivery:o}=Y(),a=[{name:"CCIP Fee: ",value:`${De({amount:t?.xSwapFees.ccipFee||"0",decimals:r?.decimals||18,precisionFractionalPlaces:5})||0} ${r?.symbol||""}`},{name:"Native Fee: ",value:`${De({amount:t?.xSwapFees.xSwapFee.nativeFee||"0",decimals:r?.decimals||18,precisionFractionalPlaces:5})||0} ${r?.symbol||""}`},...o?[{name:"Express delivery Fee: ",value:`${De({amount:t?.xSwapFees.expressDeliveryFee||"0",decimals:r?.decimals||18,precisionFractionalPlaces:5})||0} ${r?.symbol||""}`}]:[],{name:"Slippage: ",value:`${e}%`},{name:"Min out: ",value:`${De({amount:t?.minAmountOut||"0",decimals:n?.decimals||18,precisionFractionalPlaces:5})||0} ${n?.symbol||""}`}];return Ld("div",{className:"border-t border-solid border-t_text_primary border-opacity-10 pt-3 mt-3",children:Ld("div",{className:`flex flex-col gap-y-2 gap-x-10 sm:grid ${a.length===4?"sm:grid-rows-2":"sm:grid-rows-3"} sm:grid-flow-col`,children:a.map(({name:i,value:s})=>Ld(Lm,{name:i,value:s},i))})})};import{jsx as er,jsxs as gc}from"react/jsx-runtime";var bc=()=>{let[t,e]=I6(!1),{route:r,feeToken:n,isFetchingRoute:o,srcChain:a,dstChain:i}=Y(),s=P6(()=>{if(!r)return"0";let c=jt(r.xSwapFees.ccipFee||"0").add(jt(r.xSwapFees.xSwapFee.nativeFee||"0")).add(jt(r.xSwapFees.expressDeliveryFee||"0")).toString();return De({amount:c,decimals:n?.decimals||18,precisionFractionalPlaces:5})},[n?.decimals,r]);return er("div",{className:"flex flex-col x-border rounded-xl py-2 px-4 bg-t_bg_tertiary bg-opacity-5",children:gc("button",{"aria-label":`${t?"Collapse":"Expand"} fees panel`,type:"button",onClick:()=>e(c=>!c),children:[gc("div",{className:"flex justify-between",children:[gc("div",{className:"flex gap-2 items-center text-xs font-medium sm:text-sm fill-t_text_primary",children:[er(tm,{}),er("p",{className:"opacity-60",children:"Fee: "}),o?er($t,{className:"w-[100px] h-full"}):er("p",{children:`${s} ${n?.symbol||""}`})]}),gc("div",{className:"flex gap-2 items-center fill-t_text_primary",children:[r&&!o&&a?.chainId!==i?.chainId&&er(Bm,{}),t?er("div",{className:"w-4 h-2 rotate-180",children:er(no,{})}):er("div",{className:"w-4 h-2",children:er(no,{})})]})]}),t&&er(Dm,{})]})})};import{jsx as yc}from"react/jsx-runtime";var Fm=()=>yc("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 p-1 border border-solid border-t_text_primary border-opacity-10 rounded-xl bg-t_bg_secondary",children:yc("div",{className:"relative bg-gradient-to-r from-t_main_accent_light to-t_main_accent_dark w-8 h-8 rounded-xl",children:yc("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 fill-white",children:yc(nc,{})})})});import*as N6 from"viem/chains";import{mainnet as Um}from"viem/chains";import{createConfig as R6,createStorage as _6,http as M6}from"@wagmi/core";import{walletConnect as O6}from"@wagmi/connectors";var B6=_6({key:"xpay.wagmi.store",storage:Ke?void 0:localStorage}),Vm=t=>{let e=L6(t),r=D6(e);return R6({chains:e,transports:r,connectors:[O6({projectId:"c392898b45ac587a280b5eb33e92aeb0",showQrModal:!0})],storage:B6})},L6=t=>{let e=[Um];return e.push(...Object.values(N6).filter(r=>r.id!==Um.id&&t.some(({chainId:n})=>n===r.id.toString()))),e},D6=t=>{let e={};return t.forEach(r=>{e[r.id]=M6()}),e};import{useEffect as F6,useState as Km}from"react";import{createPortal as U6}from"react-dom";import{jsx as K6}from"react/jsx-runtime";var V6={TOP:"-translate-x-1/2 -translate-y-full",BOTTOM:"-translate-x-1/2",LEFT:"-translate-x-full -translate-y-1/2",RIGHT:"-translate-y-1/2"},ba=({id:t,position:e,text:r,triggerRef:n})=>{let[o,a]=Km({top:0,left:0}),[i,s]=Km(!1);return F6(()=>{let c=n.current,d=()=>{if(!c)return;let x=c.getBoundingClientRect();switch(e){case"TOP":{a({top:x.top,left:x.left+x.width/2});break}case"BOTTOM":{a({top:x.top+x.height,left:x.left+x.width/2});break}case"LEFT":{a({top:x.top+x.height/2,left:x.left});break}case"RIGHT":{a({top:x.top+x.height/2,left:x.left+x.width});break}}},f=()=>{d(),s(!0)},u=()=>{s(!1)};return c&&(c.addEventListener("mouseenter",f),c.addEventListener("mouseleave",u)),window.addEventListener("scroll",d,!0),window.addEventListener("resize",d,!0),()=>{c&&(c.removeEventListener("mouseenter",f),c.removeEventListener("mouseleave",u)),window.removeEventListener("scroll",d,!0),window.removeEventListener("resize",d,!0)}},[n,e]),U6(i&&K6("div",{id:t,className:`fixed z-50 x-border rounded-xl shadow-lg py-2 px-4 bg-t_bg_primary text-sm text-t_text_primary text-opacity-50 max-w-80 ${V6[e]}`,style:{top:o.top,left:o.left},children:r}),to,t)};import{useRef as H6}from"react";import{jsx as yi,jsxs as Hm}from"react/jsx-runtime";var Wm=({onCloseClick:t})=>{let e=H6(null);return Hm("div",{className:"flex justify-between items-center text-base font-medium",children:[yi("div",{className:"text-t_text_primary",children:"Confirmation"}),Hm("div",{className:"flex gap-4 items-center",children:[yi(ba,{text:"To sign the transaction open the wallet you have used to connect with XSwap.",position:"BOTTOM",triggerRef:e,id:"connect-wallet-to-sign-tx-tooltip"}),yi(oo,{ref:e,className:"cursor-help fill-t_main_accent_light w-[18px] h-[18px]"}),yi("div",{className:"w-4 h-4 fill-t_text_primary cursor-pointer",onClick:t,children:yi(Me,{})})]})]})};import{useMemo as Gm}from"react";import{jsx as tt,jsxs as Dd}from"react/jsx-runtime";var qm=()=>{let{txStatus:t,txNeedsApproval:e,txMsg:r}=Er(),n=Gm(()=>[{icon:a=>tt("div",{className:`${a}`,children:tt(Td,{})}),title:"sign approval transaction",state:t===1?"triggered":t>1?"completed":"none",show:r?t===1||t===2:e},{icon:a=>tt("div",{className:`${a}`,children:tt(kd,{})}),title:"confirming approval transaction...",state:t===2?"triggered":t>2?"completed":"none",show:r?t===1||t===2:e},{icon:a=>tt("div",{className:`${a}`,children:tt(Td,{})}),title:"sign transaction",state:t===3?"triggered":t>3?"completed":"none",show:r?t===3||t===4:!0},{icon:a=>tt("div",{className:`${a}`,children:tt(kd,{})}),title:"confirming transaction...",state:t===4?"triggered":t>4?"completed":"none",show:r?t===3||t===4:!0}],[r,e,t]),o=Gm(()=>n.filter(({show:a})=>a),[n]);return tt("div",{className:"flex flex-col gap-1",children:o.map(({icon:a,title:i,state:s},c)=>Dd("div",{className:"flex flex-col px-4 gap-1",children:[Dd("div",{className:"flex justify-between items-center",children:[Dd("div",{className:"flex items-center gap-2",children:[a(`${s==="triggered"?"fill-t_main_accent_light":"fill-t_text_primary opacity-50"}`),tt("div",{className:`${s!=="triggered"?"opacity-50":s==="triggered"&&"text-t_text_secondary"}`,children:i})]}),tt("div",{children:s==="completed"?tt("div",{className:"fill-t_success_dark",children:tt(oc,{})}):s==="triggered"?tt("div",{className:"animate-spin-slow fill-t_main_accent_light",children:tt(nm,{})}):null})]}),c!==o.length-1&&tt("div",{className:"vertical-separator py-3 ml-2"})]},i))})};import{useMemo as wc}from"react";import{jsx as wi,jsxs as vi}from"react/jsx-runtime";var Fd=({type:t})=>{let{srcToken:e,srcChain:r,dstToken:n,dstChain:o,srcValue:a,srcValueUsd:i,dstValue:s,dstValueUsd:c}=Y(),d=wc(()=>t==="source"?e:n,[n,e,t]),f=wc(()=>t==="source"?r:o,[o,r,t]),u=wc(()=>t==="source"?a:s,[s,a,t]),x=wc(()=>t==="source"?i:c,[c,i,t]);return vi("div",{className:"flex justify-between bg-gradient-to-r from-t_main_accent_light/20 to-t_main_accent_dark/20 p-5 rounded-xl",children:[vi("div",{className:"flex flex-col",children:[wi("div",{className:"opacity-60 text-sm mb-2",children:`You ${t==="source"?"pay":"receive"}`}),wi("div",{className:`${t==="destination"&&"text-t_text_secondary"}`,children:u}),x&&vi("div",{className:"opacity-60",children:["$",x]})]}),vi("div",{className:"flex items-center gap-3",children:[vi("div",{className:"flex flex-col text-right",children:[wi("div",{children:d?.symbol}),wi("div",{className:"opacity-60",children:f?.displayName})]}),wi(xn,{token:d,className:"w-9 h-9",generatedLogoClassName:"w-9 h-9"})]})]})};import{useWallet as Db}from"@solana/wallet-adapter-react";import{Connection as Fb,Keypair as Ub,PublicKey as ki,VersionedTransaction as Vb}from"@solana/web3.js";import*as ix from"@coral-xyz/anchor";import{AnchorProvider as xb}from"@coral-xyz/anchor";import*as Jm from"@coral-xyz/borsh";import{PublicKey as W6}from"@solana/web3.js";var Fe=new W6("Ccip8ZTcM2qHjVt8FYHtuCAqjc637yLKnsJ5q5r2e6eL");var hn=class hn{constructor(e){}static async fetch(e,r,n=Fe){let o=await e.getAccountInfo(r);if(o===null)return null;if(!o.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(o.data)}static async fetchMultiple(e,r,n=Fe){return(await e.getMultipleAccountsInfo(r)).map(a=>{if(a===null)return null;if(!a.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(a.data)})}static decode(e){if(!e.slice(0,8).equals(hn.discriminator))throw new Error("invalid account discriminator");let r=hn.layout.decode(e.slice(8));return new hn({})}toJSON(){return{}}static fromJSON(e){return new hn({})}};hn.discriminator=Buffer.from([247,97,179,16,207,36,236,132]),hn.layout=Jm.struct([]);var Ud=hn;import{PublicKey as Ca}from"@solana/web3.js";import ab from"bn.js";import*as yt from"@coral-xyz/borsh";var Pr={};Fn(Pr,{Default:()=>ao,V1:()=>io,fromDecoded:()=>G6,fromJSON:()=>q6,layout:()=>J6});import*as Ai from"@coral-xyz/borsh";var ao=class{constructor(){this.discriminator=0;this.kind="Default"}toJSON(){return{kind:"Default"}}toEncodable(){return{Default:{}}}};ao.discriminator=0,ao.kind="Default";var io=class{constructor(){this.discriminator=1;this.kind="V1"}toJSON(){return{kind:"V1"}}toEncodable(){return{V1:{}}}};io.discriminator=1,io.kind="V1";function G6(t){if(typeof t!="object")throw new Error("Invalid enum object");if("Default"in t)return new ao;if("V1"in t)return new io;throw new Error("Invalid enum object")}function q6(t){switch(t.kind){case"Default":return new ao;case"V1":return new io}}function J6(t){let e=Ai.rustEnum([Ai.struct([],"Default"),Ai.struct([],"V1")]);return t!==void 0?e.replicate(t):e}var wa={};Fn(wa,{None:()=>so,Rollback:()=>fo,Upgrade:()=>co,fromDecoded:()=>z6,fromJSON:()=>Q6,layout:()=>X6});import*as ya from"@coral-xyz/borsh";var so=class{constructor(){this.discriminator=0;this.kind="None"}toJSON(){return{kind:"None"}}toEncodable(){return{None:{}}}};so.discriminator=0,so.kind="None";var co=class{constructor(){this.discriminator=1;this.kind="Upgrade"}toJSON(){return{kind:"Upgrade"}}toEncodable(){return{Upgrade:{}}}};co.discriminator=1,co.kind="Upgrade";var fo=class{constructor(){this.discriminator=2;this.kind="Rollback"}toJSON(){return{kind:"Rollback"}}toEncodable(){return{Rollback:{}}}};fo.discriminator=2,fo.kind="Rollback";function z6(t){if(typeof t!="object")throw new Error("Invalid enum object");if("None"in t)return new so;if("Upgrade"in t)return new co;if("Rollback"in t)return new fo;throw new Error("Invalid enum object")}function Q6(t){switch(t.kind){case"None":return new so;case"Upgrade":return new co;case"Rollback":return new fo}}function X6(t){let e=ya.rustEnum([ya.struct([],"None"),ya.struct([],"Upgrade"),ya.struct([],"Rollback")]);return t!==void 0?e.replicate(t):e}import j_ from"bn.js";import*as vc from"@coral-xyz/borsh";import{PublicKey as tM}from"@solana/web3.js";import*as Ac from"@coral-xyz/borsh";import{PublicKey as oM}from"@solana/web3.js";import*as Vd from"@coral-xyz/borsh";import{PublicKey as j6}from"@solana/web3.js";import*as Ir from"@coral-xyz/borsh";var Yr=class t{constructor(e){this.receiver=e.receiver,this.data=e.data,this.tokenAmounts=e.tokenAmounts.map(r=>new Zr({...r})),this.feeToken=e.feeToken,this.extraArgs=e.extraArgs}static layout(e){return Ir.struct([Ir.vecU8("receiver"),Ir.vecU8("data"),Ir.vec(Zr.layout(),"tokenAmounts"),Ir.publicKey("feeToken"),Ir.vecU8("extraArgs")],e)}static fromDecoded(e){return new t({receiver:new Uint8Array(e.receiver.buffer,e.receiver.byteOffset,e.receiver.length),data:new Uint8Array(e.data.buffer,e.data.byteOffset,e.data.length),tokenAmounts:e.tokenAmounts.map(r=>Zr.fromDecoded(r)),feeToken:e.feeToken,extraArgs:new Uint8Array(e.extraArgs.buffer,e.extraArgs.byteOffset,e.extraArgs.length)})}static toEncodable(e){return{receiver:Buffer.from(e.receiver.buffer,e.receiver.byteOffset,e.receiver.length),data:Buffer.from(e.data.buffer,e.data.byteOffset,e.data.length),tokenAmounts:e.tokenAmounts.map(r=>Zr.toEncodable(r)),feeToken:e.feeToken,extraArgs:Buffer.from(e.extraArgs.buffer,e.extraArgs.byteOffset,e.extraArgs.length)}}toJSON(){return{receiver:Array.from(this.receiver.values()),data:Array.from(this.data.values()),tokenAmounts:this.tokenAmounts.map(e=>e.toJSON()),feeToken:this.feeToken.toString(),extraArgs:Array.from(this.extraArgs.values())}}static fromJSON(e){return new t({receiver:Uint8Array.from(e.receiver),data:Uint8Array.from(e.data),tokenAmounts:e.tokenAmounts.map(r=>Zr.fromJSON(r)),feeToken:new j6(e.feeToken),extraArgs:Uint8Array.from(e.extraArgs)})}toEncodable(){return t.toEncodable(this)}};import{PublicKey as $6}from"@solana/web3.js";import eb from"bn.js";import*as va from"@coral-xyz/borsh";var Zr=class t{constructor(e){this.token=e.token,this.amount=e.amount}static layout(e){return va.struct([va.publicKey("token"),va.u64("amount")],e)}static fromDecoded(e){return new t({token:e.token,amount:e.amount})}static toEncodable(e){return{token:e.token,amount:e.amount}}toJSON(){return{token:this.token.toString(),amount:this.amount.toString()}}static fromJSON(e){return new t({token:new $6(e.token),amount:new eb(e.amount)})}toEncodable(){return t.toEncodable(this)}};import*as Kd from"@coral-xyz/borsh";import{PublicKey as tb}from"@solana/web3.js";import Qm from"bn.js";import*as gn from"@coral-xyz/borsh";var Aa=class t{constructor(e){this.amount=e.amount,this.juels=e.juels,this.token=e.token}static layout(e){return gn.struct([gn.u64("amount"),gn.u128("juels"),gn.publicKey("token")],e)}static fromDecoded(e){return new t({amount:e.amount,juels:e.juels,token:e.token})}static toEncodable(e){return{amount:e.amount,juels:e.juels,token:e.token}}toJSON(){return{amount:this.amount.toString(),juels:this.juels.toString(),token:this.token.toString()}}static fromJSON(e){return new t({amount:new Qm(e.amount),juels:new Qm(e.juels),token:new tb(e.token)})}toEncodable(){return t.toEncodable(this)}};import Xm from"bn.js";import*as Ci from"@coral-xyz/borsh";var bn=class t{constructor(e){this.sequenceNumber=e.sequenceNumber,this.sequenceNumberToRestore=e.sequenceNumberToRestore,this.restoreOnAction=e.restoreOnAction}static layout(e){return Ci.struct([Ci.u64("sequenceNumber"),Ci.u64("sequenceNumberToRestore"),wa.layout("restoreOnAction")],e)}static fromDecoded(e){return new t({sequenceNumber:e.sequenceNumber,sequenceNumberToRestore:e.sequenceNumberToRestore,restoreOnAction:wa.fromDecoded(e.restoreOnAction)})}static toEncodable(e){return{sequenceNumber:e.sequenceNumber,sequenceNumberToRestore:e.sequenceNumberToRestore,restoreOnAction:e.restoreOnAction.toEncodable()}}toJSON(){return{sequenceNumber:this.sequenceNumber.toString(),sequenceNumberToRestore:this.sequenceNumberToRestore.toString(),restoreOnAction:this.restoreOnAction.toJSON()}}static fromJSON(e){return new t({sequenceNumber:new Xm(e.sequenceNumber),sequenceNumberToRestore:new Xm(e.sequenceNumberToRestore),restoreOnAction:wa.fromJSON(e.restoreOnAction)})}toEncodable(){return t.toEncodable(this)}};import{PublicKey as rb}from"@solana/web3.js";import*as wn from"@coral-xyz/borsh";var yn=class t{constructor(e){this.laneCodeVersion=e.laneCodeVersion,this.allowedSenders=e.allowedSenders,this.allowListEnabled=e.allowListEnabled}static layout(e){return wn.struct([Pr.layout("laneCodeVersion"),wn.vec(wn.publicKey(),"allowedSenders"),wn.bool("allowListEnabled")],e)}static fromDecoded(e){return new t({laneCodeVersion:Pr.fromDecoded(e.laneCodeVersion),allowedSenders:e.allowedSenders,allowListEnabled:e.allowListEnabled})}static toEncodable(e){return{laneCodeVersion:e.laneCodeVersion.toEncodable(),allowedSenders:e.allowedSenders,allowListEnabled:e.allowListEnabled}}toJSON(){return{laneCodeVersion:this.laneCodeVersion.toJSON(),allowedSenders:this.allowedSenders.map(e=>e.toString()),allowListEnabled:this.allowListEnabled}}static fromJSON(e){return new t({laneCodeVersion:Pr.fromJSON(e.laneCodeVersion),allowedSenders:e.allowedSenders.map(r=>new rb(r)),allowListEnabled:e.allowListEnabled})}toEncodable(){return t.toEncodable(this)}};import*as Zm from"@coral-xyz/borsh";import*as Hd from"@coral-xyz/borsh";import AM from"bn.js";import*as Ym from"@coral-xyz/borsh";import TM from"bn.js";import*as Wd from"@coral-xyz/borsh";var vn=class vn{constructor(e){this.version=e.version,this.defaultCodeVersion=e.defaultCodeVersion,this.svmChainSelector=e.svmChainSelector,this.owner=e.owner,this.proposedOwner=e.proposedOwner,this.feeQuoter=e.feeQuoter,this.rmnRemote=e.rmnRemote,this.linkTokenMint=e.linkTokenMint,this.feeAggregator=e.feeAggregator}static async fetch(e,r,n=Fe){let o=await e.getAccountInfo(r);if(o===null)return null;if(!o.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(o.data)}static async fetchMultiple(e,r,n=Fe){return(await e.getMultipleAccountsInfo(r)).map(a=>{if(a===null)return null;if(!a.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(a.data)})}static decode(e){if(!e.slice(0,8).equals(vn.discriminator))throw new Error("invalid account discriminator");let r=vn.layout.decode(e.slice(8));return new vn({version:r.version,defaultCodeVersion:Pr.fromDecoded(r.defaultCodeVersion),svmChainSelector:r.svmChainSelector,owner:r.owner,proposedOwner:r.proposedOwner,feeQuoter:r.feeQuoter,rmnRemote:r.rmnRemote,linkTokenMint:r.linkTokenMint,feeAggregator:r.feeAggregator})}toJSON(){return{version:this.version,defaultCodeVersion:this.defaultCodeVersion.toJSON(),svmChainSelector:this.svmChainSelector.toString(),owner:this.owner.toString(),proposedOwner:this.proposedOwner.toString(),feeQuoter:this.feeQuoter.toString(),rmnRemote:this.rmnRemote.toString(),linkTokenMint:this.linkTokenMint.toString(),feeAggregator:this.feeAggregator.toString()}}static fromJSON(e){return new vn({version:e.version,defaultCodeVersion:Pr.fromJSON(e.defaultCodeVersion),svmChainSelector:new ab(e.svmChainSelector),owner:new Ca(e.owner),proposedOwner:new Ca(e.proposedOwner),feeQuoter:new Ca(e.feeQuoter),rmnRemote:new Ca(e.rmnRemote),linkTokenMint:new Ca(e.linkTokenMint),feeAggregator:new Ca(e.feeAggregator)})}};vn.discriminator=Buffer.from([155,12,170,224,30,250,204,130]),vn.layout=yt.struct([yt.u8("version"),Pr.layout("defaultCodeVersion"),yt.u64("svmChainSelector"),yt.publicKey("owner"),yt.publicKey("proposedOwner"),yt.publicKey("feeQuoter"),yt.publicKey("rmnRemote"),yt.publicKey("linkTokenMint"),yt.publicKey("feeAggregator")]);var Gd=vn;import ib from"bn.js";import*as Sa from"@coral-xyz/borsh";var An=class An{constructor(e){this.version=e.version,this.chainSelector=e.chainSelector,this.state=new bn({...e.state}),this.config=new yn({...e.config})}static async fetch(e,r,n=Fe){let o=await e.getAccountInfo(r);if(o===null)return null;if(!o.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(o.data)}static async fetchMultiple(e,r,n=Fe){return(await e.getMultipleAccountsInfo(r)).map(a=>{if(a===null)return null;if(!a.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(a.data)})}static decode(e){if(!e.slice(0,8).equals(An.discriminator))throw new Error("invalid account discriminator");let r=An.layout.decode(e.slice(8));return new An({version:r.version,chainSelector:r.chainSelector,state:bn.fromDecoded(r.state),config:yn.fromDecoded(r.config)})}toJSON(){return{version:this.version,chainSelector:this.chainSelector.toString(),state:this.state.toJSON(),config:this.config.toJSON()}}static fromJSON(e){return new An({version:e.version,chainSelector:new ib(e.chainSelector),state:bn.fromJSON(e.state),config:yn.fromJSON(e.config)})}};An.discriminator=Buffer.from([77,18,241,132,212,54,218,16]),An.layout=Sa.struct([Sa.u8("version"),Sa.u64("chainSelector"),bn.layout("state"),yn.layout("config")]);var qd=An;import sb from"bn.js";import*as Ta from"@coral-xyz/borsh";var Cn=class Cn{constructor(e){this.version=e.version,this.counter=e.counter}static async fetch(e,r,n=Fe){let o=await e.getAccountInfo(r);if(o===null)return null;if(!o.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(o.data)}static async fetchMultiple(e,r,n=Fe){return(await e.getMultipleAccountsInfo(r)).map(a=>{if(a===null)return null;if(!a.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(a.data)})}static decode(e){if(!e.slice(0,8).equals(Cn.discriminator))throw new Error("invalid account discriminator");let r=Cn.layout.decode(e.slice(8));return new Cn({version:r.version,counter:r.counter})}toJSON(){return{version:this.version,counter:this.counter.toString()}}static fromJSON(e){return new Cn({version:e.version,counter:new sb(e.counter)})}};Cn.discriminator=Buffer.from([143,197,147,95,106,165,50,43]),Cn.layout=Ta.struct([Ta.u8("version"),Ta.u64("counter")]);var Jd=Cn;import{PublicKey as Cc}from"@solana/web3.js";import cb from"bn.js";import*as wt from"@coral-xyz/borsh";var Sn=class Sn{constructor(e){this.version=e.version,this.administrator=e.administrator,this.pendingAdministrator=e.pendingAdministrator,this.lookupTable=e.lookupTable,this.writableIndexes=e.writableIndexes,this.mint=e.mint}static async fetch(e,r,n=Fe){let o=await e.getAccountInfo(r);if(o===null)return null;if(!o.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(o.data)}static async fetchMultiple(e,r,n=Fe){return(await e.getMultipleAccountsInfo(r)).map(a=>{if(a===null)return null;if(!a.owner.equals(n))throw new Error("account doesn't belong to this program");return this.decode(a.data)})}static decode(e){if(!e.slice(0,8).equals(Sn.discriminator))throw new Error("invalid account discriminator");let r=Sn.layout.decode(e.slice(8));return new Sn({version:r.version,administrator:r.administrator,pendingAdministrator:r.pendingAdministrator,lookupTable:r.lookupTable,writableIndexes:r.writableIndexes,mint:r.mint})}toJSON(){return{version:this.version,administrator:this.administrator.toString(),pendingAdministrator:this.pendingAdministrator.toString(),lookupTable:this.lookupTable.toString(),writableIndexes:this.writableIndexes.map(e=>e.toString()),mint:this.mint.toString()}}static fromJSON(e){return new Sn({version:e.version,administrator:new Cc(e.administrator),pendingAdministrator:new Cc(e.pendingAdministrator),lookupTable:new Cc(e.lookupTable),writableIndexes:e.writableIndexes.map(r=>new cb(r)),mint:new Cc(e.mint)})}};Sn.discriminator=Buffer.from([70,92,207,200,76,17,57,114]),Sn.layout=wt.struct([wt.u8("version"),wt.publicKey("administrator"),wt.publicKey("pendingAdministrator"),wt.publicKey("lookupTable"),wt.array(wt.u128(),2,"writableIndexes"),wt.publicKey("mint")]);var ka=Sn;import{PublicKey as Ea}from"@solana/web3.js";function Tn(t){let e=BigInt(t),r=Buffer.alloc(8);return r.writeBigUInt64LE(e),r}var Pa={CONFIG:"config",FEE_BILLING_SIGNER:"fee_billing_signer",TOKEN_ADMIN_REGISTRY:"token_admin_registry",DEST_CHAIN_STATE:"dest_chain_state",NONCE:"nonce",ALLOWED_OFFRAMP:"allowed_offramp",EXTERNAL_TOKEN_POOLS_SIGNER:"external_token_pools_signer",APPROVED_CCIP_SENDER:"approved_ccip_sender",EXTERNAL_EXECUTION_CONFIG:"external_execution_config",TOKEN_POOL_CHAIN_CONFIG:"ccip_tokenpool_chainconfig"};function Sc(t){return Ea.findProgramAddressSync([Buffer.from(Pa.CONFIG)],t)}function jm(t){return Ea.findProgramAddressSync([Buffer.from(Pa.FEE_BILLING_SIGNER)],t)}function $m(t,e){return Ea.findProgramAddressSync([Buffer.from(Pa.TOKEN_ADMIN_REGISTRY),t.toBuffer()],e)}function Tc(t,e){return Ea.findProgramAddressSync([Buffer.from(Pa.DEST_CHAIN_STATE),Tn(t)],e)}function ex(t,e,r){return Ea.findProgramAddressSync([Buffer.from(Pa.NONCE),Tn(t),e.toBuffer()],r)}function tx(t,e,r){return Ea.findProgramAddressSync([Buffer.from(Pa.TOKEN_POOL_CHAIN_CONFIG),Tn(t),e.toBuffer()],r)}import{PublicKey as kc}from"@solana/web3.js";function Ec(t){return kc.findProgramAddressSync([Buffer.from("config")],t)}function Pc(t,e){return kc.findProgramAddressSync([Buffer.from("dest_chain"),Tn(t)],e)}function lo(t,e){return kc.findProgramAddressSync([Buffer.from("fee_billing_token_config"),t.toBuffer()],e)}function Ic(t,e,r){return kc.findProgramAddressSync([Buffer.from("per_chain_per_token_config"),Tn(t),e.toBuffer()],r)}import{PublicKey as rx}from"@solana/web3.js";function nx(t){return rx.findProgramAddressSync([Buffer.from("config")],t)}function ox(t){return rx.findProgramAddressSync([Buffer.from("curses")],t)}import{PublicKey as RO}from"@solana/web3.js";var _O={EXTERNAL_EXECUTION_CONFIG:Buffer.from("external_execution_config"),STATE:Buffer.from("state"),CONFIG:Buffer.from("config"),DEST_CHAIN_STATE:Buffer.from("dest_chain_state"),FEE_BILLING_SIGNER:Buffer.from("fee_billing_signer"),NONCE:Buffer.from("nonce"),FEE_BILLING_TOKEN_CONFIG:Buffer.from("fee_billing_token_config"),CURSES:Buffer.from("curses")};import{PublicKey as db}from"@solana/web3.js";var LO=new db("BPFLoaderUpgradeab1e11111111111111111111111");import fb from"loglevel";var ax="ccip",lb={level:2,timestamps:!0};function Ti(t,e){let r={...lb,...e},n=t?`${ax}:${t}`:ax,o=fb.getLogger(n);return o.setLevel(r.level),{trace:Si(o,"trace",r),debug:Si(o,"debug",r),info:Si(o,"info",r),warn:Si(o,"warn",r),error:Si(o,"error",r),setLevel(i){o.setLevel(i)},getLevel(){return o.getLevel()}}}function Si(t,e,r){return function(...n){if(!(ub(e)<t.getLevel()))if(r.timestamps){let a=new Date().toISOString();if(e==="trace"){let i=n.map(s=>typeof s=="object"&&s!==null?JSON.stringify(s,null,2):s);console.log(`TRACE: [${a}]`,...i)}else t[e](`[${a}]`,...n)}else if(e==="trace"){let a=n.map(i=>typeof i=="object"&&i!==null?JSON.stringify(i,null,2):i);console.log("TRACE:",...a)}else t[e](...n)}}function ub(t){switch(t){case"trace":return 0;case"debug":return 1;case"info":return 2;case"warn":return 3;case"error":return 4;default:return 2}}var JO=Ti("");function pb(t,e,r){let n=t instanceof Error?t:new Error(String(t));return n.context=e,r&&r.error(`Error: ${n.message}`,{context:e,stack:n.stack}),n}function Ut(t){return(e,r)=>pb(e,r,t)}var Nc=class{constructor(e){this.context=e;this.logger=e.logger??Ti("account-reader",{level:2}),this.provider=new xb(e.provider.connection,e.provider.wallet,{}),ix.setProvider(this.provider),this.programId=e.config.ccipRouterProgramId,this.logger.debug(`CCIPAccountReader initialized: programId=${this.programId.toString()}`)}async getTokenAdminRegistry(e){let r=Ut(this.logger);try{this.logger.debug(`Fetching token admin registry for mint: ${e.toString()}`),this.logger.trace(`Program ID: ${this.programId.toString()}`);let[n]=$m(e,this.programId);this.logger.trace(`Token admin registry PDA: ${n.toString()}`);let o=await ka.fetch(this.context.provider.connection,n,this.programId);if(!o)throw new Error(`Token admin registry not found for mint: ${e.toString()}`);return this.logger.trace("Retrieved token admin registry:",{mint:o.mint.toString(),administrator:o.administrator.toString(),lookupTable:o.lookupTable.toString()}),o}catch(n){throw r(n,{operation:"getTokenAdminRegistry",mint:e.toString(),programId:this.programId.toString()})}}};import{PublicKey as cx,TransactionMessage as bb,VersionedTransaction as yb}from"@solana/web3.js";import{NATIVE_MINT as wb}from"@solana/spl-token";import{TransactionInstruction as hb}from"@solana/web3.js";import*as Rc from"@coral-xyz/borsh";var gb=Rc.struct([Rc.u64("destChainSelector"),Yr.layout("message")]);function sx(t,e,r=Fe){let n=[{pubkey:e.config,isSigner:!1,isWritable:!1},{pubkey:e.destChainState,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoter,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterConfig,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterDestChain,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterBillingTokenConfig,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterLinkTokenConfig,isSigner:!1,isWritable:!1}],o=Buffer.from([115,195,235,161,25,219,60,29]),a=Buffer.alloc(1e3),i=gb.encode({destChainSelector:t.destChainSelector,message:Yr.toEncodable(t.message)},a),s=Buffer.concat([o,a]).slice(0,8+i);return new hb({keys:n,programId:r,data:s})}async function dx(t,e){let r=t.logger,n=t.config,o=t.provider.connection,a=t.provider.getAddress();if(!r)throw new Error("Logger is required for calculateFee");let i=Ut(r),s=BigInt(e.destChainSelector.toString());r.info(`Calculating fee for destination chain ${e.destChainSelector.toString()}`);let c=e.message.feeToken.equals(cx.default)?wb:e.message.feeToken;r.debug(`Using fee token: ${c.toString()} (${e.message.feeToken.equals(cx.default)?"Native SOL":"SPL Token"})`),r.debug("Building accounts for getFee instruction");let d=await vb(n,s,c);r.trace("Fee accounts:",{config:d.config.toString(),destChainState:d.destChainState.toString(),feeQuoter:d.feeQuoter.toString(),feeQuoterConfig:d.feeQuoterConfig.toString(),feeQuoterDestChain:d.feeQuoterDestChain.toString(),feeQuoterBillingTokenConfig:d.feeQuoterBillingTokenConfig.toString(),feeQuoterLinkTokenConfig:d.feeQuoterLinkTokenConfig.toString()}),r.debug("Creating getFee instruction arguments");let f={destChainSelector:e.destChainSelector,message:{receiver:e.message.receiver,data:e.message.data,tokenAmounts:e.message.tokenAmounts,feeToken:e.message.feeToken,extraArgs:e.message.extraArgs}};r.debug("Creating getFee instruction");let u=sx(f,d,n.ccipRouterProgramId),x=[];r.debug(`Processing ${e.message.tokenAmounts.length} token amounts for remaining accounts`);for(let b of e.message.tokenAmounts)try{r.trace(`Processing token: ${b.token.toString()}, amount: ${b.amount.toString()}`);let[T]=lo(b.token,n.feeQuoterProgramId),[k]=Ic(s,b.token,n.feeQuoterProgramId);r.trace("Found token configs:",{tokenBillingConfig:T.toString(),perChainPerTokenConfig:k.toString()}),x.push({pubkey:T,isWritable:!1,isSigner:!1},{pubkey:k,isWritable:!1,isSigner:!1})}catch(T){i(T,{operation:"getFee:processToken",token:b.token.toString(),amount:b.amount.toString(),destChainSelector:s.toString()})}x.length>0&&(r.debug(`Adding ${x.length} remaining accounts to the instruction`),u.keys.push(...x)),r.trace("Complete instruction accounts:",u.keys.map((b,T)=>({index:T,pubkey:b.pubkey.toString(),isSigner:b.isSigner,isWritable:b.isWritable}))),r.debug("Getting recent blockhash for transaction");let{blockhash:m}=await o.getLatestBlockhash("confirmed");r.debug("Creating versioned transaction for simulation");let p=new bb({payerKey:a,recentBlockhash:m,instructions:[u]}).compileToV0Message(),h=new yb(p);await t.provider.signTransaction(h),r.debug("Simulating transaction to get fee result");let w=await o.simulateTransaction(h,{commitment:"confirmed",sigVerify:!1});if(w.value.logs){r.trace("Simulation logs:",w.value.logs);let b=w.value.logs.find(T=>T.includes(`Program return: ${n.ccipRouterProgramId.toString()}`));if(b){r.debug("Found CCIP program return log");let T=b.split(`Program return: ${n.ccipRouterProgramId.toString()} `);if(T.length>1){let k=T[1].trim(),O=Buffer.from(k,"base64");r.debug("Decoding fee result data");let C=Aa.layout().decode(O),B=Aa.fromDecoded(C);return r.info(`Fee calculation complete: ${B.amount.toString()} tokens`),B}}r.error("Could not find CCIP program return log in simulation logs")}else r.error("Simulation did not return any logs");throw i(new Error("Could not parse fee from transaction return data"),{operation:"getFee",destChainSelector:e.destChainSelector.toString(),feeToken:e.message.feeToken.toString(),simulationStatus:w?.value?.err||"No specific error",hasLogs:!!w?.value?.logs,logCount:w?.value?.logs?.length||0})}async function vb(t,e,r){let[n]=Sc(t.ccipRouterProgramId),[o]=Tc(e,t.ccipRouterProgramId),[a]=Ec(t.feeQuoterProgramId),[i]=Pc(e,t.feeQuoterProgramId),[s]=lo(r,t.feeQuoterProgramId),[c]=lo(t.linkTokenMint,t.feeQuoterProgramId);return{config:n,destChainState:o,feeQuoter:t.feeQuoterProgramId,feeQuoterConfig:a,feeQuoterDestChain:i,feeQuoterBillingTokenConfig:s,feeQuoterLinkTokenConfig:c}}async function fx(t,e){if(!t.logger)throw new Error("Logger is required for parseCCIPMessageSentEvent");let r=t.logger,n=t.config,o=t.provider.connection,a=Ut(r);try{r.info(`Parsing CCIP message sent event for transaction: ${e}`),r.debug("Fetching transaction details with logs");let i=await o.getParsedTransaction(e,{commitment:"confirmed",maxSupportedTransactionVersion:0});if(!i||!i.meta||!i.meta.logMessages)return r.warn(`No transaction logs found for ${e}`),{messageId:void 0};let s=n.ccipRouterProgramId.toString();r.debug(`Looking for program return log from CCIP Router: ${s}`),r.trace("Transaction logs:",i.meta.logMessages);let c=i.meta.logMessages.find(d=>d.includes(`Program return: ${s}`));if(c){r.debug("Found CCIP program return log");let d=c.split(`Program return: ${s} `);if(d.length>1){let f=d[1].trim();r.trace(`Extracted base64 data: ${f}`);let x="0x"+Buffer.from(f,"base64").toString("hex");return r.info(`Successfully extracted messageId: ${x}`),{messageId:x}}}return r.warn("Could not find CCIP Router program return log in transaction logs"),{messageId:void 0}}catch(i){return a(new Error("Failed to parse message ID from transaction"),{operation:"parseCCIPMessageSentEvent",txSignature:e,error:i instanceof Error?i.message:String(i)}),{messageId:void 0}}}import{BN as Ab}from"@coral-xyz/anchor";function lx(t,e){if(e&&e.debug("Creating extraArgs buffer for CCIP message"),!t){e&&e.warn("No options provided, creating default extraArgs with allowOutOfOrderExecution=true to avoid error 8030");let f=Buffer.from([24,29,207,16]),u=Buffer.alloc(16,0),x=Buffer.from([1]),m=Buffer.concat([u,x]),p=Buffer.concat([f,m]);return e&&e.trace("Created default extraArgs buffer with allowOutOfOrderExecution=true"),p}let r=t.gasLimit||0,n=null;t.allowOutOfOrderExecution===void 0?n="allowOutOfOrderExecution not specified, defaulting to true to avoid FeeQuoter error 8030":t.allowOutOfOrderExecution===!1&&(n="allowOutOfOrderExecution=false was explicitly specified but is not supported by FeeQuoter. Forcing to true to avoid error 8030."),n&&e&&e.warn(n);let o=!0;if(e){let f=t.allowOutOfOrderExecution===!1?" (forced)":t.allowOutOfOrderExecution===void 0?" (default)":"";e.debug(`ExtraArgs options - gasLimit: ${r}, allowOutOfOrderExecution: true${f}`)}let a=Buffer.from([24,29,207,16]);e&&e.trace("Using EVM ExtraArgs V2 type tag: 0x181dcf10");let i=new Ab(r).toArrayLike(Buffer,"le",16);e&&e.trace(`Gas limit buffer (LE, 16 bytes): 0x${i.toString("hex")}`);let s=Buffer.from([1]);e&&e.trace("AllowOutOfOrderExecution byte: 0x01 (true)");let c=Buffer.concat([i,s]),d=Buffer.concat([a,c]);return e&&e.trace(`Final extraArgs buffer (${d.length} bytes): 0x${d.toString("hex")}`),d}import{PublicKey as mx,VersionedTransaction as Tb,SystemProgram as kb,TransactionMessage as Eb}from"@solana/web3.js";import{getAssociatedTokenAddress as zd,TOKEN_PROGRAM_ID as Pb,NATIVE_MINT as Ib,TOKEN_2022_PROGRAM_ID as px,ASSOCIATED_TOKEN_PROGRAM_ID as Qd}from"@solana/spl-token";import{BN as Nb}from"@coral-xyz/anchor";import{TransactionInstruction as Cb}from"@solana/web3.js";import*as Ia from"@coral-xyz/borsh";var Sb=Ia.struct([Ia.u64("destChainSelector"),Yr.layout("message"),Ia.vecU8("tokenIndexes")]);function ux(t,e,r=Fe){let n=[{pubkey:e.config,isSigner:!1,isWritable:!1},{pubkey:e.destChainState,isSigner:!1,isWritable:!0},{pubkey:e.nonce,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!0},{pubkey:e.systemProgram,isSigner:!1,isWritable:!1},{pubkey:e.feeTokenProgram,isSigner:!1,isWritable:!1},{pubkey:e.feeTokenMint,isSigner:!1,isWritable:!1},{pubkey:e.feeTokenUserAssociatedAccount,isSigner:!1,isWritable:!1},{pubkey:e.feeTokenReceiver,isSigner:!1,isWritable:!0},{pubkey:e.feeBillingSigner,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoter,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterConfig,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterDestChain,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterBillingTokenConfig,isSigner:!1,isWritable:!1},{pubkey:e.feeQuoterLinkTokenConfig,isSigner:!1,isWritable:!1},{pubkey:e.rmnRemote,isSigner:!1,isWritable:!1},{pubkey:e.rmnRemoteCurses,isSigner:!1,isWritable:!1},{pubkey:e.rmnRemoteConfig,isSigner:!1,isWritable:!1}],o=Buffer.from([108,216,134,191,249,234,33,84]),a=Buffer.alloc(1e3),i=Sb.encode({destChainSelector:t.destChainSelector,message:Yr.toEncodable(t.message),tokenIndexes:Buffer.from(t.tokenIndexes.buffer,t.tokenIndexes.byteOffset,t.tokenIndexes.length)},a),s=Buffer.concat([o,a]).slice(0,8+i);return new Cb({keys:n,programId:r,data:s})}async function xx(t,e,r,n,o){if(!t.logger)throw new Error("Logger is required for sendCCIPMessage");let a=t.logger,i=t.config,s=t.provider.connection,c=Ut(a);a.info(`Sending CCIP message to destination chain ${e.destChainSelector.toString()}`);let d=e.feeToken.equals(mx.default),f=d?Ib:e.feeToken;a.debug(`Using fee token: ${f.toString()} (${d?"Native SOL":"SPL Token"})`);let u=Pb;if(!d)try{let J=await s.getAccountInfo(f);J?u=J.owner:u=px}catch{u=px}let x=BigInt(e.destChainSelector.toString()),m=t.provider.getAddress(),p=await Rb(i,x,e,f,u,d,m,a),{tokenIndexes:h,remainingAccounts:w,lookupTableList:b}=await _b(e,s,u,r,a,i,m),T={destChainSelector:e.destChainSelector,message:{receiver:e.receiver,data:e.data,tokenAmounts:e.tokenAmounts,feeToken:e.feeToken,extraArgs:e.extraArgs},tokenIndexes:new Uint8Array(h)},k=ux(T,p,i.ccipRouterProgramId);w.length>0&&k.keys.push(...w),a.trace("Complete instruction accounts:",k.keys.map((J,M)=>({index:M,pubkey:J.pubkey.toString(),isSigner:J.isSigner,isWritable:J.isWritable})));let{blockhash:O,lastValidBlockHeight:C}=await s.getLatestBlockhash({commitment:"finalized"}),B=[];n&&B.push(n),B.push(k);let P=new Eb({payerKey:m,recentBlockhash:O,instructions:B}).compileToV0Message(b),L=new Tb(P);await t.provider.signTransaction(L);let F=await s.sendTransaction(L,{skipPreflight:o?.skipPreflight??!1,preflightCommitment:"processed",maxRetries:5});return await s.confirmTransaction({signature:F,blockhash:O,lastValidBlockHeight:C},"finalized"),a.info(`CCIP message sent successfully: ${F}`),F}async function Rb(t,e,r,n,o,a,i,s){let c=Ut(s);try{s.info(`Building accounts for CCIP send to chain ${e.toString()}`),s.debug(`Fee token: ${n.toString()} (${a?"Native SOL":"SPL Token"})`);let[d]=Sc(t.ccipRouterProgramId),[f]=Tc(e,t.ccipRouterProgramId),[u]=ex(e,i,t.ccipRouterProgramId),[x]=jm(t.ccipRouterProgramId),[m]=Ec(t.feeQuoterProgramId),[p]=Pc(e,t.feeQuoterProgramId),[h]=lo(n,t.feeQuoterProgramId),[w]=lo(t.linkTokenMint,t.feeQuoterProgramId),[b]=ox(t.rmnRemoteProgramId),[T]=nx(t.rmnRemoteProgramId);s.debug(`Deriving token accounts for fee token: ${n.toString()}`);let k=a?mx.default:await zd(n,i,!0,o,Qd),O=await zd(n,x,!0,o,Qd);return{authority:i,config:d,destChainState:f,nonce:u,systemProgram:kb.programId,feeTokenProgram:o,feeTokenMint:n,feeTokenUserAssociatedAccount:k,feeTokenReceiver:O,feeBillingSigner:x,feeQuoter:t.feeQuoterProgramId,feeQuoterConfig:m,feeQuoterDestChain:p,feeQuoterBillingTokenConfig:h,feeQuoterLinkTokenConfig:w,rmnRemote:t.rmnRemoteProgramId,rmnRemoteCurses:b,rmnRemoteConfig:T}}catch(d){throw c(d,{operation:"buildCCIPSendAccounts",destChainSelector:e.toString(),feeToken:n.toString(),isNativeSol:a})}}async function _b(t,e,r,n,o,a,i){let s=Ut(o);o.debug(`Building token accounts for ${t.tokenAmounts.length} tokens`);let c=[],d=[],f=[],u=0;for(let x of t.tokenAmounts)try{let m=x.token;o.debug(`Processing token: ${m.toString()}, amount: ${x.amount.toString()}`);let p=r;try{let L=await e.getAccountInfo(m);L?(p=L.owner,o.debug(`Auto-detected token program: ${p.toString()} for token: ${m.toString()}`)):o.warn(`Token mint info not found for ${m.toString()}, using fallback token program`)}catch(L){o.warn(`Error determining token program, using fallback: ${L instanceof Error?L.message:String(L)}`)}let h=await n.getTokenAdminRegistry(m);o.debug(`Retrieved token admin registry for ${m.toString()}`);let w=await Mb(e,h.lookupTable,o);f.push(w);let b=w.state.addresses,T=Ob(b,o),k=await zd(m,i,!0,p,Qd),[O]=Ic(BigInt(t.destChainSelector.toString()),m,a.feeQuoterProgramId),[C]=tx(BigInt(t.destChainSelector.toString()),m,T),B=Bb(k,O,C,b,h.writableIndexes,o);c.push(u);let P=B.length;u+=P,d.push(...B),o.debug(`Added ${P} token-specific accounts for ${m.toString()}`)}catch(m){throw s(m,{operation:"buildTokenAccountsForSend",token:x.token.toString(),amount:x.amount.toString()})}return{tokenIndexes:c,remainingAccounts:d,lookupTableList:f}}async function Mb(t,e,r){let n=Ut(r);r.debug(`Fetching lookup table: ${e.toString()}`);let{value:o}=await t.getAddressLookupTable(e);if(!o)throw n(new Error(`Lookup table not found: ${e.toString()}`),{operation:"getLookupTableAccount",lookupTableAddress:e.toString()});if(o.state.addresses.length<7)throw n(new Error(`Lookup table has insufficient accounts: ${o.state.addresses.length} (needs at least 7)`),{operation:"getLookupTableAccount",lookupTableAddress:e.toString(),addressCount:o.state.addresses.length});return r.trace(`Lookup table fetched with ${o.state.addresses.length} addresses`),o}function Ob(t,e){let r=Ut(e);if(t.length<=2)throw r(new Error("Lookup table doesn't have enough entries to determine pool program"),{operation:"getPoolProgram",addressCount:t.length});let n=t[2];return e.debug(`Using pool program: ${n.toString()} (index 2 in lookup table)`),n}function Bb(t,e,r,n,o,a){let i=n[0];a.trace("Building token lookup accounts",{userTokenAccount:t.toString(),tokenBillingConfig:e.toString(),poolChainConfig:r.toString(),lookupTableAddress:i.toString(),entriesCount:n.length});let s=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:e,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!1}],c=n.slice(1).map((d,f)=>{let u=Lb(f+1,o,a);return{pubkey:d,isSigner:!1,isWritable:u}});return[...s,...c]}function Lb(t,e,r){if(t===0)return!1;let n=Math.floor(t/128),o=n===0?127-t%128:255-t%128;if(n<e.length){let a=new Nb(1).shln(o);return!e[n].and(a).isZero()}return!1}var _c=class{constructor(e){this.context={provider:e.provider,config:e.config,logger:e.logger??Ti("client",{level:2})},this.accountReader=new Nc(this.context)}get provider(){return this.context.provider}get config(){return this.context.config}get logger(){return this.context.logger}getAccountReader(){return this.accountReader}async getFee(e){return dx(this.context,e)}async send(e,r,n){return xx(this.context,e,this.accountReader,r,n)}async sendWithMessageId(e,r,n){let o=await this.send(e,r,n),a=await fx(this.context,o);return{txSignature:o,messageId:a.messageId}}createExtraArgs(e){return lx(e,this.context.logger)}};import{Keypair as XB}from"@solana/web3.js";import gx from"bignumber.js";import{Fragment as Kb,jsx as kn,jsxs as Xd}from"react/jsx-runtime";var bx=({onCloseClick:t})=>{let{supportedChains:e,srcChain:r,srcToken:n,dstChain:o,dstToken:a,srcValueWei:i,dstValueWei:s,route:c,refreshBalance:d,bridgeUI:f}=Y(),{txStatus:u,setTxStatus:x,txMsg:m,enqueueTransaction:p,setTxNeedsApproval:h}=Er(),{addTransactionToLocalHistory:w,updateTransactionInLocalHistory:b}=xa(),{networks:{evm:{signer:T,address:k}}}=ga(),O=Db(),C=gi(),B=hx(async L=>{if(!r||!o||!n||!a||!c)return;let F={hash:L.transactionHash,timestamp:Date.now()/1e3,sourceChainId:r.chainId,targetChainId:o.chainId,amountWei:i,tokenAddress:n.address,tokenOutAddress:a?.address,tokenOutAmount:s,estimatedDeliveryTimestamp:Number(c.xSwapFees.expressDeliveryFee||"0")>0?Date.now()/1e3*1e3+30*1e3:Date.now()/1e3*1e3+qs?.[r?.chainId]?.[o?.chainId]||Qs,status:"IN_PROGRESS"};if(r.chainId===o.chainId)F.estimatedDeliveryTimestamp=F.timestamp,F.status="DONE";else{let J="MessageSent(bytes32,uint64,address,bytes,address,uint256,uint256,address,uint256)",M="MessageReceived(bytes32,uint64,address,bytes,address,uint256)",H="MessageSent(bytes32,uint64,address,address,address,address,uint256)",G="MessageReceived(bytes32,uint64,address,bytes)",X=ie.getDefaultProvider(e.find(re=>re.ecosystem==="evm"&&re.chainId===o.chainId)?.publicRpcUrls[0]),z=async(re,j,$)=>{let y=L.logs?.find(S=>S.topics[0]===ie.utils.id(j));if(y){let S=y?.topics[1];F.messageId=S;let D=new ie.Contract($e[o.chainId][re],re==="XSwapRouter"?s1:c1,X),g={address:$e[o.chainId]?.[re],topics:[ie.utils.id($),S]};(await D.queryFilter(g)).length>0?(F.status="DONE",b(F,L.from)):D.once(g,()=>{F.status="DONE",b(F,L.from)})}};await z("XSwapRouter",J,M),await z("CustomXSwapRouter",H,G)}w(F,L.from)},[w,b,r,o,n,a,i,s,e,c]),P=hx(async()=>{if(n)if(c&&c.ecosystem==="evm"){let L=()=>{p({executeTransaction:()=>{if(!(!c.transactions.swap||!T))return C.executeCalldata(T,c.transactions.swap)},txStatus:3,handlers:{onSuccess:F=>{x(5),d(),B(F),r?.chainId&&o?.chainId&&r?.chainId!==o?.chainId&&yx(r?.chainId,F.transactionHash,a?.address,s)}}})};n.address!==Ht.AddressZero&&c.transactions.approve?(h(!0),p({executeTransaction:()=>{if(!(!c.transactions.approve||!T))return C.executeCalldata(T,c.transactions.approve)},txStatus:1,handlers:{onSuccess:()=>L()}})):(h(!1),L())}else r?.ecosystem==="solana"&&p({executeTransaction:async()=>{if(f){let J={connection:new Fb(eo,"confirmed"),wallet:Ub.generate(),getAddress(){return O.publicKey||ki.default},async signTransaction(j){let $=await O.signTransaction?.(j);if(!$)throw new Error("Failed to sign the transaction.");return $}},M={ccipRouterProgramId:qp,feeQuoterProgramId:Jp,tokenMint:new ki(n.address),rmnRemoteProgramId:Zp,linkTokenMint:zp,nativeSol:ki.default,systemProgramId:Qp,programId:Xp},H={provider:J,config:M},G=new _c(H),X=G.createExtraArgs({gasLimit:0,allowOutOfOrderExecution:!0});if(!a)return;let z={destChainSelector:new gx(o?.ccipChainId??""),receiver:Buffer.from(k&&k.startsWith("0x")?k.slice(2):k||"","hex"),data:Buffer.alloc(0),tokenAmounts:[{token:new ki(n.address),amount:new gx(i.toString())}],feeToken:ki.default,extraArgs:X},re=await G.sendWithMessageId(z);console.log(`Message sent! Transaction: ${re.txSignature}`),console.log(`Message ID: ${re.messageId}`)}if(!c||!c.swapTransaction||!O)return;let L=Vb.deserialize(Buffer.from(c.swapTransaction,"base64"));return O.signTransaction?.(L)},txStatus:3,handlers:{onSuccess:()=>{x(5),d()}},network:"solana"})},[n,c,r?.ecosystem,r?.chainId,p,T,C,x,d,B,o?.chainId,o?.ccipChainId,a,s,h,f,O,k,i]);return Xd("div",{className:"flex flex-col text-t_text_primary gap-5",children:[kn(Wm,{onCloseClick:t}),m?kn("div",{children:m}):Xd(Kb,{children:[Xd("div",{className:"relative flex flex-col gap-5 fill-white",children:[kn(Fd,{type:"source"}),kn(Fm,{}),kn(Fd,{type:"destination"})]}),kn(bc,{})]}),u===0?kn(Dt,{variant:"filled-squared",onClick:()=>{P()},type:"button",className:"text-white border-none h-14 text-sm font-bold w-full py-5 cursor-pointer bg-gradient-to-r from-t_main_accent_light to-t_main_accent_dark rounded-lg",children:"Sign and swap"}):kn(qm,{})]})};import{jsx as Zd,jsxs as wx}from"react/jsx-runtime";var Yd=({chain:t,token:e,value:r})=>wx("div",{className:"flex items-center gap-2",children:[Zd(En,{chain:t,token:e,chainLogoClassName:"w-5",tokenLogoClassName:"w-9 h-9",generatedLogoClassName:"w-9 h-9 text-[16px]"}),wx("div",{className:"flex flex-col w-min sm:w-auto",children:[Zd("div",{children:`${r} ${e?.symbol}`}),Zd("div",{className:"opacity-60",children:t?.displayName})]})]});import{Fragment as vx,jsx as ze,jsxs as Ei}from"react/jsx-runtime";var Ax=({onCloseClick:t})=>{let{txError:e,txExplorerUrl:r,txMsg:n}=Er(),{isExpressDeliveryActive:o,srcChain:a,srcToken:i,dstChain:s,dstToken:c,srcValue:d,dstValue:f}=Y();return ze("div",{className:"flex flex-col gap-5 text-t_text_primary justify-center items-center",children:e?Ei(vx,{children:[ze("div",{className:"flex justify-end fill-t_text_primary cursor-pointer w-full",onClick:t,children:ze(Me,{className:"w-3.5 h-3.5"})}),ze(K1,{}),ze("div",{className:"text-2xl font-bold",children:"Transaction failed"}),ze("div",{className:"text-center",children:e})]}):Ei(vx,{children:[ze("div",{className:"flex justify-end fill-t_text_primary cursor-pointer w-full",onClick:t,children:ze(Me,{className:"w-3.5 h-3.5"})}),ze(Z1,{}),Ei("div",{className:"flex flex-col items-center",children:[ze("div",{className:"text-2xl font-bold",children:"Transaction success!"}),!n&&a!==s&&ze("div",{className:"text-sm font-normal opacity-60",children:`Approximated time of delivery: ${o?"30 sec":"30 min"}`})]}),!n&&Ei("div",{className:"flex items-center gap-2",children:[ze(Yd,{chain:a,token:i,value:d}),ze("div",{className:"-rotate-90 flex justify-center w-8 fill-t_text_primary opacity-50",children:ze(nc,{})}),ze(Yd,{chain:s,token:c,value:f})]}),Ei("a",{href:r,target:"_blank",rel:"noreferrer",className:"flex gap-4 items-center mb-2 fill-t_main_accent_light",children:[ze("p",{className:"text-t_text_secondary underline",children:"View details on Explorer"}),ze(q1,{})]})]})})};import{jsx as Cx}from"react/jsx-runtime";var Sx=({onCloseClick:t})=>{let{txStatus:e,txError:r}=Er();return e===5||r?Cx(Ax,{onCloseClick:t}):Cx(bx,{onCloseClick:t})};import{useSnackbar as Hb}from"notistack";import{createContext as Wb,useCallback as Na,useContext as Gb,useEffect as qb,useMemo as jd,useRef as Tx,useState as jr}from"react";import{jsx as rt,jsxs as Mc}from"react/jsx-runtime";var kx=Wb({}),Ex=({children:t})=>{let{evm:e,solana:r}=Ft(),{chainId:n}=e,{chainId:o}=r,{enqueueTransaction:a}=Mm(),{enqueueSnackbar:i,closeSnackbar:s}=Hb(),[c,d]=jr("evm"),f=Tx(!1),[u,x]=jr(!1),[m,p]=jr(""),h=Tx(),[w,b]=jr(""),[T,k]=jr(""),[O,C]=jr(void 0),[B,P]=jr(!1),[L,F]=jr(!1),[J,M]=jr(0),{supportedChains:H,setSrcValue:G}=Y(),X=U=>{h.current===U&&(f.current=!1,x(!1))};qb(()=>{if(!u&&(w&&(i(rt(Xr,{message:{text:w,variant:"error"}})),b("")),B&&m)){let U=m;i(rt(Xr,{message:{text:`Transaction ${l1(m)} is about to be mined!`,variant:"warning",action:()=>Mc("div",{className:"flex items-center flex-nowrap",children:[rt(Dt,{type:"button",onClick:()=>{window.open(`${H.find(l=>l.chainId===n?.toString()&&l.ecosystem===c)?.transactionExplorer}/${m}`||"")},children:"Check"}),rt("div",{className:"fill-t_text_primary w-[14px] h-[14px] cursor-pointer p-[14px] leading-[0px]",onClick:()=>s(U),children:rt(Me,{})})]}),animation:()=>rt(Nr,{className:"w-4 h-4"})}}),{persist:!0,key:U}),p("")}},[B,c,m,w,i,s,n,u,H]);let z=Na((U,l,E)=>{let v=`${l}/${U}`;if(E){let V=E.events?.find(q=>q.event==="MessageSent")?.args?.messageId;return V?`${la}${V}`:v}else return v},[]),re=Na((U,l,E=!0)=>{let v={...l};return v.onConfirm=I=>{h.current===U&&(l?.onConfirm&&l?.onConfirm(I),p(I?.hash||""),M(V=>V+1))},v.onSuccess=I=>{if(s(I?.transactionHash),h.current!==U||(C(I),b(""),P(!1),l?.onSuccess&&l.onSuccess(I),f.current||!E))return;let V=`${m}-success`;i(rt(Xr,{message:{text:"Transaction mined successfully!",variant:"success",action:()=>Mc("div",{className:"flex items-center flex-nowrap",children:[rt(Dt,{type:"button",onClick:()=>{window.open(z(m,H.find(q=>q.chainId===n?.toString()&&q.ecosystem===c)?.transactionExplorer||"",I))},children:"View"}),rt("div",{className:"fill-t_text_primary w-[14px] h-[14px] cursor-pointer p-[14px] leading-[0px]",onClick:()=>s(V),children:rt(Me,{})})]})}}),{persist:!1,key:V})},v.onError=I=>{h.current===U&&(b(hd(I)),l?.onError?.(I),P(!1))},v},[s,m,i,z,H,n,c]),j=Na((U,l,E=!0)=>{let v={...l};return v.onConfirm=I=>{h.current===U&&(l?.onConfirm&&l?.onConfirm(I),M(V=>V+1))},v.onSuccess=I=>{if(s(I),h.current!==U||(l?.onSuccess&&l?.onSuccess(I),p(I||""),b(""),P(!1),f.current||!E))return;let V=`${m}-success`;i(rt(Xr,{message:{text:"Transaction mined successfully!",variant:"success",action:()=>Mc("div",{className:"flex items-center flex-nowrap",children:[rt(Dt,{type:"button",onClick:()=>{window.open(z(m,H.find(q=>q.chainId===o?.toString()&&q.ecosystem===c)?.transactionExplorer||""))},children:"View"}),rt("div",{className:"fill-t_text_primary w-[14px] h-[14px] cursor-pointer p-[14px] leading-[0px]",onClick:()=>s(V),children:rt(Me,{})})]})}}),{persist:!1,key:V})},v.onError=I=>{h.current===U&&(b(hd(I)),l?.onError?.(I),P(!1))},v},[s,m,i,z,H,o,c]),$=Na(({executeTransaction:U,txStatus:l,txMsg:E="",handlers:v,network:I="evm",showDefaultSuccessMessage:V=!0})=>{let q=Date.now(),ee=v;return I==="evm"?ee=re(q,v,V):I==="solana"&&(ee=j(q,v,V)),a({executeTransaction:U,txStatus:l,handlers:ee,network:I}),h.current=q,f.current=!0,p(""),b(""),k(E),M(l),C(void 0),P(!0),d(I),x(!0),q},[re,j,a]),y=jd(()=>z(m,H.find(U=>(U.chainId===n?.toString()||U.chainId===o?.toString())&&U.ecosystem===c)?.transactionExplorer||"",O),[n,o,c,z,H,m,O]),S=Na(U=>{x(U),f.current=U},[]),D=jd(()=>w?"error":J===5?"success":"neutral",[w,J]),g=jd(()=>({enqueueTransaction:$,closeTransactionModal:X,isTxModalOpen:u,setTxModalOpen:x,loading:B,txStatus:J,setTxStatus:M,txExplorerUrl:y,txHash:m,txError:w,txMsg:T,setTxMsg:k,setTxError:b,txNeedsApproval:L,setTxNeedsApproval:F}),[$,u,B,J,y,m,w,T,L]),A=Na(()=>{b(""),G(""),S(!1)},[b,G,S]);return Mc(kx.Provider,{value:g,children:[u&&rt(Px,{id:"tx_modal",className:"max-w-x_modal",type:D,onCloseClick:A,children:rt(Sx,{onCloseClick:A})}),t]})};function Er(){return Gb(kx)}import{jsx as Ix}from"react/jsx-runtime";var uo=({className:t,children:e,onClose:r})=>{let{overlay:n}=Y();return Ix("div",{className:`${n?"fixed bg-[rgba(0,0,0,0.8)]":"absolute"} top-0 left-0 right-0 bottom-0 flex items-center justify-center z-10 ${t||""}`,onMouseDown:o=>{o.target===o.currentTarget&&n&&(o.stopPropagation(),o.nativeEvent.stopImmediatePropagation(),o.preventDefault(),r())},children:Ix("div",{className:"flex flex-col bg-t_bg_primary rounded-3xl p-4 w-full min-w-[340px]",style:{height:n?"600px":"100%",maxWidth:"480px",maxHeight:"100%"},children:e})})};import{jsx as $d,jsxs as Jb}from"react/jsx-runtime";var ef=()=>Jb("div",{className:"flex justify-center items-center gap-2 my-3",children:[$d("span",{className:"text-t_text_primary opacity-50",children:"Powered by"}),$d("div",{className:"flex items-center gap-1 fill-t_chainlink_logo",children:$d(M1,{})})]});import{forwardRef as zb,useCallback as Qb,useMemo as Xb}from"react";import{jsx as Zb}from"react/jsx-runtime";var Pi=zb(({value:t,onChange:e,id:r,placeholder:n,regex:o,className:a,disabled:i},s)=>{let c=Xb(()=>t.length<2?2:t.length,[t]),d=Qb(f=>{f.target.value!=="."&&o.test(f.target.value)&&e(f.target.value.replace(/,/g,"."))},[e,o,r]);return Zb("input",{ref:s,id:r,type:"text",size:c,placeholder:n||"0",pattern:o.toString(),inputMode:"decimal",spellCheck:"false",autoComplete:"off",autoCorrect:"off",disabled:i,value:t,onChange:d,className:a})});Pi.displayName="SafeInput";import{jsx as Yb}from"react/jsx-runtime";var $t=({className:t})=>Yb("div",{className:`bg-t_bg_tertiary bg-opacity-15 rounded animate-pulse ${t||""}`});import{jsx as tf,jsxs as jb}from"react/jsx-runtime";var Nr=({className:t})=>tf("div",{role:"status",className:t||"",children:jb("svg",{"aria-hidden":"true",className:`animate-spin fill-t_text_primary text-t_text_primary text-opacity-10 ${t||""}`,viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[tf("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),tf("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]})});import{useMemo as Ly}from"react";import{Fragment as $b,jsx as $r,jsxs as ey}from"react/jsx-runtime";var Nx=({onClose:t})=>{let{tab:e,setTab:r,overlay:n}=Y();return $r("div",{className:"flex gap-5 items-center",children:e==="Swap"?ey($b,{children:[$r("button",{type:"button",onClick:()=>r("Settings"),"aria-label":"Open settings",className:"fill-white",children:$r(z1,{})}),$r("button",{type:"button",onClick:()=>r("History"),"aria-label":"Open history",className:"fill-white",children:$r(W1,{})}),n&&$r("button",{type:"button",onClick:()=>t(),"aria-label":"Close",className:"fill-t_text_primary",children:$r(Me,{})})]}):$r("button",{type:"button",onClick:()=>{r("Swap")},"aria-label":"Switch to swap view",className:"fill-t_text_primary",children:$r(Me,{})})})};import{jsx as Rx,jsxs as ty}from"react/jsx-runtime";var _x=({onClose:t})=>{let{tab:e,bridgeUI:r}=Y();return ty("div",{className:"flex justify-between mt-2 px-4",children:[Rx("div",{className:"text-xl font-sans-bold font-bold",children:e==="Swap"&&r?"Bridge":e}),Rx(Nx,{onClose:t})]})};import{useMemo as Mx}from"react";import{Virtuoso as ry}from"react-virtuoso";import{jsx as Ra}from"react/jsx-runtime";var Ox=()=>{let{history:t,historyLoadedOnce:e,solanaHistory:r,solanaHistoryLoadedOnce:n}=xa(),{solana:{address:o}}=Ft(),a=Mx(()=>[...t,...o?r:[]].sort((c,d)=>d.timestamp-c.timestamp),[t,r,o]),i=Mx(()=>!a||a.length===0?e&&(o?n:!0)?Ra("div",{className:"text-center py-4 text-[#9e9e9e]",children:"Your history is empty"}):Ra("div",{className:"flex justify-center w-full py-4 fill-t_text_primary",children:Ra(Nr,{className:"w-8 h-8"})}):Ra(ry,{data:a,style:{height:"532px"},itemContent:(s,c)=>Ra(Bx,{transaction:c})}),[e,n,a,o]);return Ra("div",{className:"flex-1 overflow-hidden",children:i})};import{jsx as rf,jsxs as ny}from"react/jsx-runtime";var Ii=({checked:t,onClick:e})=>rf("div",{children:ny("span",{className:"inline-flex w-14 h-9 p-3 relative align-middle box-border overflow-hidden cursor-pointer",onClick:e,children:[rf("span",{className:"h-full w-full rounded-lg bg-t_bg_tertiary bg-opacity-30"}),rf("span",{className:`transition-all w-5 h-5 rounded-full absolute translate-y-[-4px]
|
|
91
|
+
${t?"translate-x-[12px] bg-t_main_accent_light":"bg-t_bg_tertiary"} `})]})});Ii.displayName="ToggleButton";import{useRef as oy}from"react";import{jsx as _a,jsxs as Lx}from"react/jsx-runtime";var Dx=()=>{let t=oy(null),{infiniteApproval:e,setInfiniteApproval:r}=Y();return Lx("div",{className:"flex flex-col gap-5 pt-5 border-t border-solid border-white border-opacity-10",children:[_a("h1",{className:"text-sm font-medium text-left",children:"Approval"}),_a("div",{className:"flex gap-2 items-center justify-between flex-wrap",children:Lx("div",{className:"flex items-center",children:[_a("h2",{className:"text-xs",children:"Infinite approval: "}),_a(Ii,{checked:e,onClick:()=>{r(n=>!n)}}),_a(ba,{text:"Enabling infinite approval allows to access your tokens without requiring repeated approvals for each transaction. This streamlines multiple transactions but may pose a security risk if the spender's address is compromised.",position:"BOTTOM",triggerRef:t,id:"infinite-approval-tooltip"}),_a(oo,{ref:t,className:"cursor-help fill-t_main_accent_light w-[18px] h-[18px]"})]})})]})};import{useRef as ay}from"react";import{jsx as Ma,jsxs as Oc}from"react/jsx-runtime";var Fx=()=>{let t=ay(null),{expressDelivery:e,setExpressDelivery:r}=Y();return Oc("div",{className:"flex flex-col gap-5 pt-5 border-t border-solid border-t_text_primary border-opacity-10",children:[Ma("h1",{className:"text-sm font-medium text-left",children:"Delivery"}),Oc("div",{className:"flex gap-2 items-center justify-between flex-wrap",children:[Oc("div",{className:"flex items-center",children:[Ma("h2",{className:"text-xs",children:"Express delivery: "}),Ma(Ii,{checked:e,onClick:()=>{r(n=>!n)}}),Ma(ba,{text:"Express delivery is a special feature of XSwap that reduces transaction time across chains to around 30 seconds. It is currently available for swaps below a value of $1000 USD.",position:"BOTTOM",triggerRef:t,id:"express-delivery-tooltip"}),Ma(oo,{ref:t,className:"cursor-help fill-t_main_accent_light w-[18px] h-[18px]"})]}),Oc("div",{className:"text-xs font-medium",children:[Ma("span",{className:"text-xs font-medium opacity-60",children:"Max time: "}),e?"30 sec":"30 min"]})]})]})};import{useState as iy}from"react";import{jsx as Pn,jsxs as Bc}from"react/jsx-runtime";var Ux=()=>{let{slippage:t,setSlippage:e}=Y(),[r,n]=iy(t),o=s=>{s.length===0?(n(""),e(a)):(s.length>=5&&(s=s.substring(0,5)),Number(s)<=100&&(n(s),e(s)))},a="1.5";return Bc("div",{className:"flex flex-col gap-5 pt-5 border-t border-solid border-t_text_primary border-opacity-10",children:[Pn("h1",{className:"text-sm font-medium text-left",children:"Slippage"}),Bc("div",{className:"flex items-center gap-2 w-full",children:[Pn("div",{className:"flex items-center bg-t_bg_tertiary bg-opacity-5 p-1 border border-solid border-t_text_primary border-opacity-10 rounded-xl gap-2",children:["0.5","1.5","3.0"].map(s=>Pn("button",{type:"button",onClick:()=>o(s),className:`block rounded-lg text-sm bg-transparent h-7 px-1 hover:bg-gradient-to-r hover:from-t_main_accent_light hover:to-t_main_accent_dark hover:opacity-100 ${t===s?"gradient-slippage-container-blue text-white opacity-100":"text-t_text_primary opacity-20"}`,children:`${s}%`},s))}),Pn("div",{className:`${r?"gradient-slippage-container-blue p-[1px] rounded-xl":""}`,children:Bc("div",{className:"bg-t_bg_primary p-1 h-full border border-solid border-t_text_primary border-opacity-10 rounded-xl",children:[Pn(Pi,{id:"slippage-input",placeholder:"1.5",regex:Js,value:r,onChange:o,className:`text-sm leading-none bg-transparent px-0.5 placeholder:text-t_text_primary/20 focus:outline-none ${r?"text-t_text_primary":"text-white"} `})," ","%"]})})]}),Bc("div",{className:"text-sm opacity-60",children:[Pn("p",{children:"Slippage is the price variation you are willing to accept in the event that the price of the trade changes while it is processing."}),Pn("br",{}),Pn("p",{children:"If the trade fails due to too low slippage, you will receive USDC on the destination chain."})]})]})};import{jsx as nf,jsxs as sy}from"react/jsx-runtime";var Vx=()=>sy("div",{className:"flex flex-col gap-5 px-4",children:[nf(Fx,{}),nf(Dx,{}),nf(Ux,{})]});import{jsx as Ni}from"react/jsx-runtime";var Kx=()=>{let{dstChain:t,dstToken:e,srcChain:r,srcToken:n,setDstChain:o,setDstToken:a,setSrcChain:i,setSrcToken:s}=Y();return Ni("div",{className:"h-[1px] w-full",children:Ni("button",{onClick:()=>{o(r),i(t),a(n),s(e)},"aria-label":"Switch target token with the source token",className:"absolute -translate-y-5 left-1/2 -translate-x-5 p-1 border border-solid border-t_text_primary border-opacity-10 rounded-xl bg-t_bg_secondary",children:Ni("div",{className:"relative bg-gradient-to-r from-t_main_accent_light to-t_main_accent_dark w-8 h-8 rounded-lg",children:Ni("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 fill-white",children:Ni(_1,{})})})})})};var of={1:["0xdac17f958d2ee523a2206206994597c13d831ec7"]};import{useCallback as af,useMemo as cy}from"react";var Hx=({rpcChainId:t,currentChainId:e,signer:r,tokenAddress:n})=>{let o=Ed(),{supportedChains:a}=Y(),i=cy(()=>{let s=a.find(c=>c.ecosystem==="evm"&&c.chainId===t)?.publicRpcUrls[0];return s&&n?new ie.Contract(n,Tr,r&&(!e||e===t)?r:ie.getDefaultProvider(s)):null},[t,e,r,n,a]);return{balanceOf:af(async s=>await o.query(i,"balanceOf",[s]),[i,o]),allowance:af(async(s,c)=>await o.query(i,"allowance",[s,c]),[i,o]),approve:af(async(s,c)=>await o.execute(i,"approve",[c,s]),[i,o])}};import{useCallback as qx,useEffect as uy,useMemo as Oa,useState as py}from"react";import{useAccount as my,useSwitchChain as xy}from"wagmi";import{useCallback as Wx}from"react";import{useConnect as dy}from"wagmi";import{useWallet as fy}from"@solana/wallet-adapter-react";import{Fragment as Gx,jsx as Vt,jsxs as Ri}from"react/jsx-runtime";var ly=({connector:t,className:e})=>{switch(t.name){case"WalletConnect":return Vt(am,{className:`w-[34px] h-[34px] rounded-md ${e||""}`});default:return Vt("img",{src:t.icon,alt:t.name,className:`w-[34px] h-[34px] rounded-md ${e||""}`})}},sf=({ecosystem:t,className:e,onClose:r})=>{let{connectors:n,connectAsync:o}=dy(),{wallets:a,select:i,connect:s}=fy(),c=Wx(async f=>{try{await o({connector:f})}catch(u){console.error("Failed to connect EVM wallet:",u)}finally{r()}},[o,r]),d=Wx(async f=>{try{i(f),await s()}catch(u){console.error("Failed to connect Solana wallet:",u)}finally{r()}},[s,i,r]);return Ri("div",{className:`flex flex-col h-full ${e||""}`,children:[Ri("div",{className:"flex justify-between",children:[Vt("div",{className:"text-base/4 mb-4 text-t_text_primary",children:"Pick wallet"}),Vt("div",{className:"w-4 h-4 fill-t_text_primary cursor-pointer",onClick:r,children:Vt(Me,{})})]}),Vt("div",{className:"horizontal-separator"}),Ri("div",{className:"h-full pt-4",children:[t==="evm"&&Vt(Gx,{children:n.map(f=>Ri("button",{onClick:()=>c(f),className:"flex items-center w-full gap-3 mt-2 mb-2 cursor-pointer p-4 border border-solid border-white border-opacity-0 hover:selected-wallet-item",children:[Vt(ly,{connector:f}),Vt("div",{className:"text-t_text_primary",children:f.name})]},f.id))}),t==="solana"&&Vt(Gx,{children:a.map(f=>Ri("button",{onClick:()=>d(f.adapter.name),className:"flex items-center w-full gap-3 mt-2 mb-2 cursor-pointer p-4 border border-solid border-white border-opacity-0 hover:selected-wallet-item",children:[Vt("img",{src:f.adapter.icon,alt:f.adapter.name,className:`w-[34px] h-[34px] rounded-md ${e||""}`}),Vt("div",{className:"text-t_text_primary",children:f.adapter.name})]},f.adapter.name))})]})]})};import{Fragment as hy,jsx as _i,jsxs as gy}from"react/jsx-runtime";var Jx=()=>{let{address:t,chainId:e}=my(),{switchChainAsync:r}=xy(),{integrationConfig:n}=Y(),{bridgeUI:o,error:a,srcChain:i,dstChain:s,srcToken:c,dstToken:d,srcValueWei:f,isFetchingRoute:u,isAsyncDataLoaded:x,hasOnConnectWalletCallback:m,onConnectWallet:p}=Y(),{setTxStatus:h,setTxMsg:w,setTxModalOpen:b,enqueueTransaction:T}=Er(),k=Oa(()=>i?.chainId,[i?.chainId]),O=Oa(()=>s?.chainId,[s?.chainId]),C=Oa(()=>c?.address,[c?.address]),B=Oa(()=>d?.address,[d?.address]),[P,L]=py("0"),{networks:{evm:F}}=ga(),{openEVMWalletModal:J,setOpenEVMWalletModal:M,openSolanaWalletModal:H,setOpenSolanaWalletModal:G,solana:X}=Ft(),{allowance:z,approve:re}=Hx({rpcChainId:k,currentChainId:F.chainId,signer:F.signer,tokenAddress:C}),j=Oa(()=>k?k===O?$e[k]?.XSwapRouterSingleChain||"":$e[k]?.XSwapRouter||"":"",[k,O]),$=qx(async()=>{if(j&&F.address)try{let D=await z(F.address,j);L(D.toString())}catch{L("0")}else L("0")},[z,F.address,j]);uy(()=>{k&&of[k]?.includes(C)&&$()},[$,k,C]);let y=qx(()=>{h(0),w(""),b(!0)},[b,w,h]),S=Oa(()=>x?a?{text:a,fn:()=>{},disabled:!0}:i?.ecosystem!=="solana"&&!t?{text:n.defaultWalletPicker||m?"Connect Wallet":"Connect Wallet First",fn:()=>{n.defaultWalletPicker?M(!0):m&&p()},disabled:!n.defaultWalletPicker&&!m}:!k||!O||!C||!B?{text:"Select Tokens",fn:()=>{},disabled:!0}:k===O&&C.toLowerCase()===B.toLowerCase()?{text:"Change Token",fn:()=>{},disabled:!0}:i?.ecosystem==="solana"&&!X.address?{text:"Connect Solana Wallet",fn:()=>{G(!0)},disabled:!1}:i?.ecosystem!=="solana"&&e?.toString()!==k?{text:"Change Chain",fn:async()=>await r({chainId:Number(k)}),disabled:!1}:jt(f||"0").lte(jt("0"))?{text:"Enter Token Amount",fn:()=>{},disabled:!0}:u?{text:"Fetching Route",fn:()=>{},disabled:!0}:of[k]?.includes(C)&&P!=="0"&&W.from(P).lt(W.from(f))?{text:"Reset Approval",fn:async()=>{T({executeTransaction:()=>re("0",j),txStatus:1,txMsg:"You are going to reset your approval",handlers:{onSuccess:()=>{$(),h(5)}}})},disabled:!1}:{text:o?"Bridge":"Swap",fn:async()=>{y()},disabled:!1}:{text:"Loading XPay...",fn:()=>{},disabled:!0},[x,a,i?.ecosystem,t,k,O,C,B,X.address,e,f,u,P,o,n.defaultWalletPicker,m,M,p,G,r,T,re,j,$,h,y]);return gy(hy,{children:[J&&_i(uo,{onClose:()=>M(!1),children:_i(sf,{ecosystem:"evm",onClose:()=>M(!1)})}),H&&_i(uo,{onClose:()=>G(!1),children:_i(sf,{ecosystem:"solana",onClose:()=>G(!1)})}),_i("button",{type:"button",disabled:S.disabled,onClick:S.fn,className:`text-xl font-sans-bold font-bold w-full py-5 cursor-pointer disabled:cursor-not-allowed rounded-2xl border-none ${S.disabled?"bg-t_button_pr_off_bg text-t_button_pr_off_text":"bg-gradient-to-r from-t_main_accent_light to-t_main_accent_dark text-t_button_pr_text"}`,children:S.text})]})};import{useMemo as uh}from"react";import{useMemo as yy}from"react";import{jsx as cf,jsxs as by}from"react/jsx-runtime";var zx=()=>{let{srcTokenBalanceInfo:t,isFetchingBalance:e}=Y();return by("div",{className:"flex flex-col items-end",children:[cf("p",{className:"text-xs font-medium opacity-60",children:"Balance:"}),e?cf($t,{className:"w-[50px] h-[16px]"}):cf("p",{className:`text-xs font-medium ${!t&&"opacity-60"}`,children:t||"-"})]})};import{Fragment as Qx,jsx as In,jsxs as Lc}from"react/jsx-runtime";var Xx=({type:t})=>{let{srcValue:e,srcValueUsd:r,dstValue:n,dstValueUsd:o,setSrcValue:a,isFetchingRoute:i}=Y(),s=yy(()=>t==="source"?r:o,[o,r,t]);return Lc("div",{className:"flex justify-between items-center w-full p-4 gap-8 overflow-hidden",children:[In("div",{className:"flex flex-col font-medium w-full overflow-hidden text-left",children:t==="source"?Lc(Qx,{children:[In(Pi,{id:"swap-amount-input",className:"bg-transparent border-none p-0 text-xl outline-0 font-sans-bold font-bold",regex:Js,value:e,onChange:c=>a(c)}),s&&In("div",{className:"text-sx opacity-60",children:`$${s}`})]}):i?Lc("div",{className:"flex flex-col gap-1",children:[In($t,{className:"w-[150px] h-[30px]"}),In($t,{className:"w-[100px] h-[20px]"})]}):Lc(Qx,{children:[In("div",{className:"text-xl text-t_text_secondary font-sans-bold font-bold",children:n||0}),s&&In("div",{className:"text-sx opacity-60",children:`$${s}`})]})}),t==="source"&&In(zx,{})]})};import{useMemo as $x,useState as Ty}from"react";import{useMemo as wy,useState as vy,useRef as Ay,useEffect as Cy}from"react";import{Virtuoso as Sy}from"react-virtuoso";import{useMemo as df}from"react";import{jsx as Ba,jsxs as ff}from"react/jsx-runtime";var Zx=({chain:t,type:e,onClick:r,disabled:n})=>{let{networks:{evm:o}}=ga(),{srcChain:a,dstChain:i,bridgeUI:s}=Y(),c=df(()=>e==="source"?a?.chainId:i?.chainId,[i,a,e]),d=df(()=>o.signer&&o.chainId===t.chainId,[t.chainId,o.chainId,o.signer]),f=df(()=>{if(s)return e==="destination"?a?.chainId:i?.chainId},[s,i?.chainId,a?.chainId,e]),x=t.chainId===f?"Transfers between the same chains are not available":n?s?"Token is not available on this chain":`Swap from ${a?.displayName||"the source chain"} to this chain is currently not supported.`:"";return Ba("div",{className:"group relative",children:ff("div",{onClick:()=>{t.chainId===f||n||r(t.chainId)},className:`flex justify-between items-center gap-2 mt-2 mb-2 cursor-pointer p-4 border border-solid border-white border-opacity-0 hover:selected-chain-item ${c===t.chainId?"selected-chain-item":""} ${t.chainId===f||n?"disabled-chain-item cursor-default":""}`,children:[ff("div",{className:"flex gap-3 items-center w-full",children:[Ba("img",{src:t.image,alt:t.name,className:"w-[34px] h-[34px]"}),Ba("p",{children:t.displayName})]}),x&&Ba("div",{className:"w-full text-center opacity-0 group-hover:opacity-100 text-xs transition-opacity duration-200",children:x}),d&&ff("div",{className:"flex items-baseline gap-1",children:[Ba(U1,{}),Ba("div",{className:"text-t_text_green",children:"connected"})]})]})})};import{jsx as rr,jsxs as Yx}from"react/jsx-runtime";var jx=({type:t,onClose:e})=>{let{setSrcChain:r,setDstChain:n,srcChainOptions:o,dstChainOptions:a}=Y(),[i,s]=vy(""),c=Ay(null);Cy(()=>{c.current&&setTimeout(()=>{c.current?.focus()},10)},[]);let d=wy(()=>{let u=t==="source"?o:a;return i?u.filter(x=>{let m=i.toLowerCase();return x.displayName.toLowerCase().includes(m)||x.chainId.toLowerCase().includes(m)}):u},[t,o,a,i]),f=u=>{let x=d.find(({chainId:m})=>m===u);if(!x)throw new Error("ChainPicker > selected chain id that is absent in chain options list.");t==="source"?r(x):n(x),e()};return Yx("div",{className:"flex flex-col h-full",children:[Yx("div",{className:"flex justify-between",children:[rr("div",{className:"text-base/4 text-t_text_primary mb-4",children:`Pick ${t} chain`}),rr("div",{className:"w-4 h-4 fill-t_text_primary cursor-pointer",onClick:e,children:rr(Me,{})})]}),rr(Dc,{ref:c,inputIcon:rr("div",{className:"fill-t_text_primary",children:rr(ac,{})}),placeholder:"Search chain name",value:i,handleChange:s}),rr("div",{className:"horizontal-separator mt-4"}),rr("div",{className:"h-full pt-4",children:d.length?rr(Sy,{style:{height:"100%"},data:d,itemContent:(u,x)=>rr(Zx,{chain:x,type:t,disabled:x.disabled,onClick:f})}):rr("div",{className:"flex justify-center mt-4",children:"No chain found."})})]})};import{Fragment as ky,jsx as po,jsxs as lf}from"react/jsx-runtime";var eh=({chain:t,type:e,className:r})=>{let{srcChainLocked:n,dstChainLocked:o}=Y(),a=$x(()=>e==="destination"&&o,[e,o]),i=$x(()=>e==="source"&&n,[e,n]),[s,c]=Ty(!1);return lf(ky,{children:[s&&po(uo,{onClose:()=>c(!1),children:po(jx,{type:e,onClose:()=>c(!1)})}),po("button",{type:"button",disabled:a||i,onClick:()=>c(!0),className:`${r||""}`,children:lf("div",{className:"flex justify-between items-center p-4 gap-8",children:[lf("div",{className:"flex flex-col font-medium items-start",children:[po("p",{className:"text-xs opacity-60",children:e==="source"?"From:":"To:"}),po("p",{className:`${t?"":"opacity-60"}`,children:t?t.displayName:"Select"})]}),!a&&!i&&po("div",{className:"w-4 h-2 fill-t_text_primary",children:po(no,{})})]})})]})};import{jsx as th}from"react/jsx-runtime";var rh=({type:t})=>{let{srcToken:e,srcTokenBalanceWei:r,srcTokenBalanceInfo:n,setSrcValue:o}=Y();return th("button",{type:"button",className:`flex items-center w-16 justify-center p-4 gap-8 ${!n&&"opacity-60"} ${t==="source"&&"border-l border-solid border-t_text_primary border-opacity-10"}`,disabled:!n,onClick:()=>o(De({amount:r,decimals:e?.decimals||18,precisionFractionalPlaces:e?.decimals||18})),children:t==="source"&&th("p",{className:`border-b border-solid border-t_text_primary ${!n&&"border-opacity-60"}`,children:"Max"})})};import{useMemo as Di,useState as My}from"react";import{faCheck as Py}from"@fortawesome/free-solid-svg-icons";import{FontAwesomeIcon as Iy}from"@fortawesome/react-fontawesome";import{useCallback as pf,useEffect as Fc,useMemo as Bi,useRef as ih,useState as La}from"react";import{GroupedVirtuoso as Ny}from"react-virtuoso";import{jsx as uf,jsxs as nh}from"react/jsx-runtime";var oh=({token:t,selectedTokenAddress:e,onClick:r})=>nh("button",{type:"button",className:`flex gap-2 py-2 pr-[14px] pl-2 items-center border border-solid border-t_text_primary border-opacity-10 rounded-3xl text-start hover:bg-t_bg_tertiary hover:bg-opacity-10 ${t.address.toLowerCase()===e?.toLowerCase()?"bg-t_bg_tertiary bg-opacity-10":"bg-t_bg_primary"}`,onClick:r,children:[uf(xn,{token:t,className:"w-6 h-6",generatedLogoClassName:"w-6 h-6"}),nh("div",{className:"flex flex-col gap-1 text-xs font-medium !leading-3",children:[uf("div",{className:"text-t_text_primary",children:t.name}),uf("div",{className:"text-t_text_primary text-opacity-50",children:t.symbol})]})]});import{useMemo as Mi}from"react";import{useAccount as Ey}from"wagmi";import{jsx as Nn,jsxs as Oi}from"react/jsx-runtime";var ah=({token:t,selectedTokenAddress:e,onClick:r,selectedChainId:n,panelType:o})=>{let{supportedChains:a,tokenPrices:i,isFetchingBalances:s,integrationConfig:c}=Y(),{address:d}=Ey(),f=Mi(()=>a.find(({chainId:h})=>h===t.chainId),[a,t]),u=Mi(()=>i[t.chainId]?.[t.address],[t,i]),x=Mi(()=>!t.balance||!t.decimals?null:Number(ie.utils.formatUnits(t.balance,t.decimals)),[t.balance,t.decimals]),m=Mi(()=>t.balance&&!t.balance.eq(0),[t.balance]),p=Mi(()=>!x||!u||!m?null:x*+u,[x,u,m]);return Oi("div",{className:`token-picker-container ${t.address.toLowerCase()===e?.toLowerCase()&&n&&t.chainId===n?"bg-t_bg_tertiary bg-opacity-10":""}`,onClick:r,children:[Nn(En,{token:t,chain:f,tokenLogoClassName:"min-w-9 w-9 h-9",generatedLogoClassName:"min-w-9 w-9 h-9 text-[16px]",chainLogoClassName:"w-5"}),Oi("div",{className:"flex justify-between items-center gap-1 w-full",children:[Oi("div",{className:"text-left",children:[Oi("div",{className:"text-sm font-medium text-ellipsis text-t_text_primary flex items-center gap-1",children:[t.name,c?.highlightedDstTokens?.includes(t.symbol)&&o==="destination"&&Nn("div",{className:"flex items-center justify-center text-white rounded-full border-t_bg_secondary w-3.5 h-3.5 text-xs",title:"AI-powered token",children:Nn(dm,{})})]}),Nn("div",{className:"text-xs text-t_text_primary text-opacity-50 font-medium",children:t.symbol})]}),t.balance&&t.decimals&&d&&!s&&Oi("div",{className:"text-right",children:[Nn("div",{className:"text-xs text-t_text_primary",children:t.balance.eq(0)||x>1e-4?De({amount:t.balance.toString(),decimals:t.decimals,precisionFractionalPlaces:4}):"<0.0001"}),m&&Nn("div",{className:"text-xs text-t_text_primary text-opacity-50",children:p?`$${p.toFixed(2)}`:"$ -"})]}),d&&s&&Nn("div",{children:Nn($t,{className:"w-[48px] h-[12px]"})})]})]})};import{useAccount as Ry}from"wagmi";import{Connection as _y,PublicKey as mf}from"@solana/web3.js";import{Fragment as xf,jsx as de,jsxs as pt}from"react/jsx-runtime";var sh=({chain:t,tokens:e,otherTokens:r,selectedTokenAddress:n,isOpen:o,onSelect:a,setModalOpen:i,type:s})=>{let[c,d]=La(""),[f,u]=La(!1),[x,m]=La(!1),[p,h]=La(!1),[w,b]=La(null),[T,k]=La(!0),O=ih(0),C=ih(null),{bridgeUI:B,supportedChains:P,findTokenDataByAddressAndChain:L,tokenPrices:F,addTokenToChainIfNotExists:J}=Y(),{address:M}=Ry(),H=gi();Fc(()=>{m(!1),u(!1)},[o]);let G=pf(()=>{if(t&&w&&(ua(c)||Zs(c))){let g={};Ke||(g=JSON.parse(localStorage.getItem("custom-tokens")||"{}"));let A={address:w.address,symbol:w.symbol,name:w.name,tokenId:w.address,decimals:w.decimals,quickPick:!1,supported:!0,priority:0,chainId:t.chainId};Ke||(g[t.chainId]={...g[t.chainId]||{},[c.toLowerCase()]:A},localStorage.setItem("custom-tokens",JSON.stringify(g))),J(A.chainId,A),i(!1)}},[t,w,c,J,i]),X=pf(async()=>{let g=Date.now();O.current=g;let A=P.find(({ecosystem:l,chainId:E})=>l==="evm"&&E===t?.chainId)?.publicRpcUrls[0],U=new ie.Contract(c.toLowerCase(),Tr,ie.getDefaultProvider(A));h(!0);try{let l=await Promise.all([H.query(U,"decimals"),H.query(U,"name"),H.query(U,"symbol")]);if(g!==O.current)return;let[E,v,I]=l;b({address:c.toLowerCase(),decimals:E,name:v,symbol:I})}catch{b(null)}finally{g===O.current&&h(!1)}},[t,c,H,P]),z=pf(async()=>{let g=Date.now();O.current=g;let A=P.find(({ecosystem:U,chainId:l})=>U==="solana"&&l===t?.chainId)?.publicRpcUrls[0];if(!A||!c||!Zs(c)){b(null),h(!1);return}h(!0);try{let U=new _y(A,"confirmed"),l=new mf(c),E=await U.getParsedAccountInfo(l);if(!E?.value?.data||!("parsed"in E.value.data)||E.value.data.program!=="spl-token"){b(null);return}let v=E.value.data.parsed.info.decimals;if(g!==O.current)return;let I=new mf(Yp),[V]=mf.findProgramAddressSync([Buffer.from("metadata"),I.toBuffer(),l.toBuffer()],I),q=await U.getAccountInfo(V);if(!q)throw new Error("Metadata account not found");let ee=Buffer.from(q.data),Z=1;Z+=32,Z+=32;let ke=Math.min(ee.readUInt32LE(Z),32);Z+=4;let oe=ee.slice(Z,Z+ke).toString("utf8").replace(/\0/g,"");Z+=32;let Ce=Math.min(ee.readUInt32LE(Z),10);Z+=4;let en=ee.slice(Z,Z+Ce).toString("utf8").replace(/\0/g,"");b({address:c,name:oe||`Token ${c.slice(0,4)}...${c.slice(-4)}`,symbol:en||c.slice(0,4),decimals:v})}catch(U){console.error("Error fetching Solana token data:",U),b(null)}finally{g===O.current&&h(!1)}},[t,c,P]);Fc(()=>{!B&&t&&!L(c.toLowerCase(),t.chainId)?t.ecosystem==="evm"&&ua(c)?X():t.ecosystem==="solana"&&Zs(c)?z():(h(!1),b(null)):(h(!1),b(null))},[B,c,X,z,L,t]),Fc(()=>{d("")},[o]);let re=(g,A)=>g.toLowerCase().indexOf(A.toLowerCase())>-1,j=Bi(()=>e?.filter(g=>re(g.symbol,c)||re(g.name,c)||g.address.toLowerCase()===c.toLowerCase()),[c,e]),$=Bi(()=>r?.filter(g=>re(g.symbol,c)||re(g.name,c)||g.address.toLowerCase()===c.toLowerCase()),[c,r]);Fc(()=>{o&&C.current&&setTimeout(()=>{C.current?.focus()},10)},[o]);let y=Bi(()=>{let g=v=>{if(!v.balance||!v.decimals)return 0;let I=Number(ie.utils.formatUnits(v.balance,v.decimals)),V=F[v.chainId]?.[v.address];return V?I*Number(V):0},A=[...j.filter(v=>W.from(v?.balance||"0").gt(0)),...$.filter(v=>W.from(v?.balance||"0").gt(0))].sort((v,I)=>{let V=g(v),q=g(I);return q!==V?q-V:I.priority-v.priority}),U=j.filter(v=>W.from(v?.balance||"0").eq(0)).sort((v,I)=>I.priority-v.priority),l=$.filter(v=>W.from(v?.balance||"0").eq(0)).sort((v,I)=>I.priority-v.priority);return(t?[...M&&A.length?[A]:[],U,l]:[...M&&A.length?[A]:[],[...U,...l]]).flat()},[j,$,t,M,F]),S=Bi(()=>y.filter(g=>g.balance?.gt(0)),[y]),D=Bi(()=>t?[...M&&S.length?[S]:[],j,$]:[...M&&S.length?[S]:[],$],[t,M,S,j,$]);return x?pt(xf,{children:[pt("div",{className:"flex justify-between",children:[de("div",{className:"text-base/4 mb-4",children:"Import token"}),de("div",{className:"w-4 h-4 fill-t_text_primary cursor-pointer",onClick:()=>i(!1),children:de(Me,{})})]}),pt("div",{className:"flex flex-col h-full gap-2",children:[w&&pt("div",{className:"token-picker-container grow-0 bg-t_bg_secondary border border-solid border-t_text_primary border-opacity-10 rounded-xl py-2 pr-2 pl-4 hover:cursor-pointer",children:[de(Li,{tokenName:w.name,className:"w-9 h-9 text-[15px]"}),pt("div",{className:"flex justify-between items-center gap-1 overflow-hidden grow",children:[de("div",{className:"overflow-hidden whitespace-nowrap text-ellipsis text-sm font-medium",children:w.name}),de("div",{className:"token-picker__all__symbol",children:w.symbol})]}),pt("div",{className:"text-sm flex items-center",children:[mi(c.toLowerCase()),de("button",{type:"button",onClick:()=>navigator.clipboard.writeText(w.address.toLowerCase()),"aria-label":`Copy ${w.symbol} token address`,className:"flex items-center p-2 fill-white cursor-pointer hover:fill-t_main_accent_light",children:de(D1,{className:"w-5 h-5"})})]})]}),de("div",{className:"px-2 py-4 rounded-xl border border-x_orange text-sm",children:"Ensure that you have verified the token address and confirmed its correctness"}),pt("div",{className:"bg-t_bg_secondary border border-solid border-t_text_primary border-opacity-10 rounded-xl p-2",children:[de("div",{className:"text-sm mb-2",children:"Be mindful that anyone can create tokens, even counterfeit versions of existing ones. Certain tokens and their technical specifications might not be compatible with XSwap services. By importing such custom tokens, you acknowledge and consent to the associated risks."}),pt("button",{type:"button",onClick:()=>u(g=>!g),className:"flex items-center",children:[de("div",{className:"flex justify-center items-center p-1 w-6 h-6 border-2 border-white rounded-md mr-2",children:f&&de(Iy,{icon:Py,className:"w-4 h-4"})}),de("div",{className:"font-bold",children:"Accept"})]})]}),de("div",{className:"flex grow items-end justify-center",children:de(Dt,{type:"button",disabled:!f,className:`token-picker__import-button w-full ${f?"":"!cursor-not-allowed"}`,onClick:G,children:"Import"})})]})]}):pt(xf,{children:[pt("div",{className:"flex justify-between",children:[de("div",{className:"text-base/4 text-t_text_primary mb-4",children:`Pick ${s} token`}),de("div",{className:"w-4 h-4 fill-t_text_primary cursor-pointer",onClick:()=>i(!1),children:de(Me,{})})]}),de(Dc,{ref:C,inputIcon:de("div",{className:"fill-t_text_primary",children:de(ac,{})}),placeholder:"Search name or paste address",value:c,handleChange:d}),de("div",{className:`flex flex-wrap gap-1 my-4 mx-0 transition-all duration-300 ${T?"opacity-100 max-h-[200px]":"opacity-0 max-h-0 overflow-hidden"}`,children:e.filter(g=>g?.quickPick).map(g=>de(oh,{token:g,selectedTokenAddress:n,onClick:()=>{a(g),i(!1)}},g.address))}),de("div",{className:"flex flex-col mx-0 h-full",children:p?de("div",{className:"flex justify-center w-full py-4 px-0",children:de(Nr,{className:"w-9 h-9"})}):de(xf,{children:w?pt("div",{className:"token-picker-container hover:cursor-default",children:[de(En,{token:w,chain:t,tokenLogoClassName:"w-9 h-9",generatedLogoClassName:"w-9 h-9 text-[16px]",chainLogoClassName:"w-5"}),pt("div",{className:"flex justify-between items-center gap-1 overflow-hidden grow",children:[pt("div",{children:[de("div",{className:"text-sm font-medium text-ellipsis",children:w.name}),de("div",{className:"text-xs text-t_text_primary !text-opacity-50 font-medium",children:t?.displayName})]}),de("div",{className:"token-picker__all__symbol",children:w.symbol})]}),de("div",{children:de(Dt,{type:"button",className:"h-8 py-0 px-4 text-t_text_primary leading-[14px] rounded-[32px] bg-gradient-to-r from-t_main_accent_light to-t_main_accent_dark",onClick:()=>m(!0),children:"Import"})})]}):de("div",{className:"flex flex-col h-full gap-8 w-[calc(100%+32px)] mx-[-16px]",children:de(Ny,{style:{maxHeight:"400px",height:"100%"},groupCounts:D.map(g=>g?.length),scrollerRef:g=>{g&&g.addEventListener("scroll",A=>{let U=A.target;k(U.scrollTop<10)})},groupContent:g=>pt("div",{className:"py-1 bg-t_bg_primary text-t_text_primary",children:[de("div",{className:"px-4 text-left",children:(()=>{if(t)switch(g){case 0:return M?S.length?"My tokens":`${t.displayName} network`:`${t.displayName} network`;case 1:return M?`${t.displayName} network`:"Other networks";case 2:return"Other networks";default:return"Undefined group"}else switch(g){case 0:return M&&S.length?"My tokens":"All networks";case 1:return"All networks";default:return"Undefined group"}})()}),de("div",{className:"horizontal-separator"}),!D[g]?.length&&de("div",{className:"text-center py-1",children:"No token found"})]}),itemContent:g=>y[g]&&de(ah,{panelType:s,token:y[g],selectedChainId:t?.chainId,selectedTokenAddress:n,onClick:()=>{a(y[g]),i(!1)}})})})})})]})};import{Fragment as Oy,jsx as Rn,jsxs as Uc}from"react/jsx-runtime";var ch=({chain:t,token:e,type:r,className:n})=>{let{bridgeUI:o,srcChainTokensOptions:a,srcChainOtherTokensOptions:i,dstChainTokensOptions:s,dstChainOtherTokensOptions:c,setSrcToken:d,setSrcChain:f,supportedChains:u,setDstToken:x,setDstChain:m,dstTokenLocked:p,srcTokenLocked:h}=Y(),w=Di(()=>r==="destination"&&p,[r,p]),b=Di(()=>r==="source"&&h,[r,h]),[T,k]=My(!1),O=Di(()=>r==="source"?a:s,[s,a,r]),C=Di(()=>r==="destination"&&o,[o,r]),B=Di(()=>r==="source"?i:c,[c,i,r]),P=L=>{let F=u.find(J=>J.chainId===L.chainId);r==="source"?(d(L),f(F)):(x(L),m(F)),k(!1)};return Uc(Oy,{children:[T&&Rn(uo,{onClose:()=>k(!1),className:"z-[3]",children:Rn(sh,{type:r,chain:t,tokens:O,otherTokens:B,selectedTokenAddress:e?.address,onSelect:P,isOpen:T,setModalOpen:k})}),Rn("button",{type:"button",disabled:C||w||b,onClick:()=>{k(!0)},className:`${n||""}`,children:Uc("div",{className:"flex justify-between items-center p-4 gap-8 border-r border-solid border-t_text_primary border-opacity-10",children:[Uc("div",{className:"flex gap-2 items-center",children:[Rn(xn,{token:e,className:"w-9 h-9",generatedLogoClassName:"w-9 h-9 text-[16px]"}),Uc("div",{className:"flex flex-col font-medium items-start",children:[Rn("p",{className:"text-xs opacity-60",children:"Token: "}),Rn("p",{className:`${e?"":"opacity-60"}`,children:e?e.symbol:r==="destination"&&o?"-":"Select"})]})]}),!C&&!w&&!b&&Rn("div",{className:"w-4 h-2 fill-t_text_primary",children:Rn(no,{})})]})})]})};import{useCallback as dh}from"react";import{Fragment as By,jsx as _n,jsxs as fh}from"react/jsx-runtime";var lh=({chain:t,type:e,className:r})=>{let{setOpenEVMWalletModal:n,setOpenSolanaWalletModal:o,evm:a,solana:i}=Ft(),s=dh(()=>{t&&(t.ecosystem==="evm"?(n(!0),a.connectWallet()):t.ecosystem==="solana"&&(o(!0),i.connectWallet()))},[t,a,i,n,o]),c=dh(d=>{if(d==="evm")return mi(a.address||"");if(d==="solana")return mi(i.address||"")},[a,i]);return _n(By,{children:_n("button",{type:"button",onClick:()=>s(),className:`${r||""}`,children:_n("div",{className:"flex justify-between items-center p-4 gap-8",children:_n("div",{className:"flex flex-col items-start",children:e==="source"?fh("div",{className:"flex items-center gap-2",children:[_n("p",{className:"text-xs font-medium opacity-60",children:"Sender:"}),t&&_n("p",{className:"text-sm font-medium",children:c(t.ecosystem)})]}):fh("div",{className:"flex items-center gap-2",children:[_n("p",{className:"text-xs font-medium opacity-60",children:"Receiver:"}),t&&_n("p",{className:"text-sm font-medium",children:c(t.ecosystem)})]})})})})})};import{jsx as Da,jsxs as hf}from"react/jsx-runtime";var gf=({type:t})=>{let{srcChain:e,srcToken:r,dstChain:n,dstToken:o}=Y(),a=uh(()=>t==="source"?r:o,[t,r,o]),i=uh(()=>t==="source"?e:n,[t,e,n]);return hf("div",{className:"flex flex-col x-border rounded-xl bg-t_bg_tertiary bg-opacity-5",children:[Da("div",{className:"flex border-b border-solid border-t_text_primary border-opacity-10",children:Da(lh,{chain:i,type:t,className:"w-full flex-grow"})}),hf("div",{className:"flex border-b border-solid border-t_text_primary border-opacity-10",children:[Da(ch,{chain:i,token:a,type:t,className:"w-full flex-grow"}),Da(eh,{chain:i,type:t,className:"w-full max-w-[160px]"})]}),hf("div",{className:`flex justify-between rounded-b-[11px] ${t==="destination"&&"bg-gradient-to-r from-t_main_accent_light/20 to-t_main_accent_dark/20"}`,children:[Da(Xx,{type:t}),Da(rh,{type:t})]})]})};import{jsx as Fi,jsxs as ph}from"react/jsx-runtime";var mh=()=>ph("div",{className:"flex flex-col gap-6 fill-t_text_primary",children:[ph("div",{className:"flex flex-col gap-[11px]",children:[Fi(gf,{type:"source"}),Fi(Kx,{}),Fi(gf,{type:"destination"})]}),Fi(bc,{}),Fi(Jx,{})]});import{jsx as Vc,jsxs as Dy}from"react/jsx-runtime";var bf=({onClose:t})=>{let{tab:e}=Y(),r=Ly(()=>e==="Settings"?Vc(Vx,{}):e==="History"?Vc(Ox,{}):Vc(mh,{}),[e]);return Dy("div",{className:"relative flex flex-col gap-4 p-2 text-t_text_primary bg-t_bg_primary rounded-2xl flex-1",children:[Vc(_x,{onClose:t}),r]})};import{forwardRef as Fy}from"react";import{Fragment as Uy,jsx as Ui,jsxs as xh}from"react/jsx-runtime";var Dc=Fy((t,e)=>{let{inputIcon:r,required:n,name:o,value:a,placeholder:i,type:s,handleChange:c,error:d,warning:f,disabled:u=!1,className:x=""}=t;return xh(Uy,{children:[xh("div",{className:"flex items-center border border-solid border-t_text_primary border-opacity-10 rounded-lg py-0 px-3 gap-2 bg-t_bg_secondary ",children:[r,Ui("input",{ref:e,disabled:u,required:!!n,name:o||"",value:a,placeholder:i,type:s||"text",className:`relative h-10 leading-10 z-[1] outline-none w-full text-t_text_primary bg-transparent border-none ${d?"border border-t_error_dark bg-gradient-to-r from-t_error_dark/15 to-t_bg_secondary/15 px-3 shadow-[0_0_6px_rgba(255,0,0,0.5)]":""} ${f?"border-t_warning_dark bg-gradient-to-r from-t_warning_dark/15 to-t_bg_secondary/15 px-3 shadow-[0_0_6px_rgba(255,165,0,0.5)]":""} ${x}`,onChange:m=>c(m.target.value)})]}),d&&Ui("div",{className:"flex justify-between pt-[10px]",children:Ui("div",{className:"px-5 text-t_text_red",children:d})}),f&&Ui("div",{className:"flex justify-between pt-[10px]",children:Ui("div",{className:"px-5 text-t_text_orange",children:f})})]})});import{useState as hh,useEffect as Vy,useCallback as Kc}from"react";var Fa=class{static getTimeFromSeconds(e){let r=Math.floor(e/86400),n=Math.floor(e%(60*60*24)/(60*60)),o=Math.floor(e%(60*60)/60),a=Math.floor(e%60);return{days:r,hours:n,minutes:o,seconds:a}}static getSecondsFromExpiry(e){let r=new Date().getTime(),n=e.getTime();return Math.max(0,(n-r)/1e3)}},Ky=({expiryTimestamp:t,onExpire:e,autoStart:r=!0})=>{let[n,o]=hh(r),[a,i]=hh(Fa.getSecondsFromExpiry(t)),s=Kc(()=>{let u=Fa.getSecondsFromExpiry(t);u<=0&&(e&&e(),o(!1)),i(u)},[t,e]);Vy(()=>{if(!n)return;let u=setInterval(s,1e3);return()=>clearInterval(u)},[n,s]);let c=Kc(()=>o(!1),[]),d=Kc(()=>o(!0),[]),f=Kc(u=>{o(!0),i(Fa.getSecondsFromExpiry(u))},[]);return{...Fa.getTimeFromSeconds(a),isRunning:n,pause:c,resume:d,restart:f}},gh=Ky;import{useEffect as Hy,useState as Wy}from"react";import{Fragment as yf,jsx as Vi,jsxs as Gy}from"react/jsx-runtime";var bh=({expiryTimestamp:t,displayFormat:e=2,customTextOnExpire:r})=>{let[n,o]=Wy(t.getTime()<Date.now()),{seconds:a,minutes:i,hours:s,days:c,restart:d}=gh({expiryTimestamp:t,onExpire:()=>o(!0)});return Hy(()=>{d(t)},[t]),Vi(yf,{children:n&&r?Vi(yf,{children:r}):Gy(yf,{children:[e===0&&Vi("span",{children:`${(c*24+s)*60+i}:${a.toString().padStart(2,"0")}`}),e===1&&Vi("span",{children:`${c*24+s}:${i.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`}),e===2&&Vi("span",{children:`${c}:${s.toString().padStart(2,"0")}:${i.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`})]})})};import{useEffect as Jy,useState as zy}from"react";import{jsx as qy}from"react/jsx-runtime";var Li=({tokenName:t,className:e})=>qy("div",{className:`rounded-full bg-white shadow-sm flex items-center justify-center text-black ${e}`,children:t.substring(0,1)});import{jsx as wf}from"react/jsx-runtime";var xn=({token:t,className:e,generatedLogoClassName:r})=>{let[n,o]=zy(!1);return Jy(()=>{o(!1)},[t?.address]),t?n?wf(Li,{tokenName:t.name,className:r}):t?.image?wf("img",{src:t.image,alt:t.name,className:`border border-solid border-t_text_primary border-opacity-10 rounded-2xl ${e}`,onError:()=>o(!0)}):wf(Li,{tokenName:t.name,className:r}):null};import{jsx as yh,jsxs as Qy}from"react/jsx-runtime";var En=({token:t,chain:e,tokenLogoClassName:r,generatedLogoClassName:n,chainLogoClassName:o})=>Qy("div",{className:"relative flex items-end pr-1 pb-1",children:[yh(xn,{token:t,className:r,generatedLogoClassName:n}),e&&yh("img",{src:e.image,alt:e.name,className:`absolute bottom-0 right-0 border border-solid border-t_bg_secondary rounded-3xl ${o}`})]});import{useEffect as Af,useMemo as Cf}from"react";import{ErrorBoundary as $y}from"react-error-boundary";function Xy(t,e){function r(o){let a=document.getElementById(o);if(a&&a.shadowRoot){let i=new CSSStyleSheet;i.replaceSync(`:host { ${t}: ${e}; }`),a.shadowRoot.adoptedStyleSheets=[...a.shadowRoot.adoptedStyleSheets,i]}}["xpay-root","xpay-tx-status","xpay-widget"].forEach(r)}var Zy={mainAccentLight:"#3681C6",mainAccentDark:"#2B4A9D",bgPrimary:"#FFFFFF",bgSecondary:"#FFFFFF1a",bgTertiary:"#020202",textPrimary:"#020202",textSecondary:"#3681C6",textRed:"#C62828",textOrange:"#FF6F00",textGreen:"#2E7D32",clickSecondary:"#3681C6",clickTertiary:"#020202",buttonPrText:"#ffffff",buttonPrOffBg:"#0202024D",buttonPrOffText:"#020202",labelText:"#FFFFFF",successDark:"#2E7D32",successLight:"#4CAF50",infoDark:"#3C3C3B",infoLight:"#90A4AE",warningDark:"#FF6F00",warningLight:"#FFCA28",errorDark:"#C62828",errorLight:"#F44336",chainlinkLogo:"#375BD2"},Yy={mainAccentLight:"#3681C6",mainAccentDark:"#2B4A9D",bgPrimary:"#020202",bgSecondary:"#0F0F0F",bgTertiary:"#ffffff",textPrimary:"#FFFFFF",textSecondary:"#3681C6",textRed:"#F44336",textOrange:"#FFCA28",textGreen:"#4CAF50",clickSecondary:"#3681C6",clickTertiary:"#FFFFFF",buttonPrText:"#FFFFFF",buttonPrOffBg:"#272727",buttonPrOffText:"#90A4AE",labelText:"#FFFFFF",successDark:"#2E7D32",successLight:"#4CAF50",infoDark:"#3C3C3B",infoLight:"#D1D3D4",warningDark:"#FF6F00",warningLight:"#FFCA28",errorDark:"#C62828",errorLight:"#F44336",chainlinkLogo:"white"},jy={mainAccentLight:"--main-accent-light",mainAccentDark:"--main-accent-dark",bgPrimary:"--bg-primary",bgSecondary:"--bg-secondary",bgTertiary:"--bg-tertiary",textPrimary:"--text-primary",textSecondary:"--text-secondary",textTertiary:"--text-tertiary",textRed:"--text-red",textOrange:"--text-orange",textGreen:"--text-green",clickPrimary:"--click-primary",clickSecondary:"--click-secondary",clickTertiary:"--click-tertiary",buttonPrBg:"--button-pr-bg",buttonPrText:"--button-pr-text",buttonPrOffBg:"--button-pr-off-bg",buttonPrOffText:"--button-pr-off-text",labelBg:"--label-bg",labelText:"--label-text",successDark:"--success-dark",successLight:"--success-light",infoDark:"--info-dark",infoLight:"--info-light",warningDark:"--warning-dark",warningLight:"--warning-light",errorDark:"--error-dark",errorLight:"--error-light",width:"--modal-width",chainlinkLogo:"--chainlink-logo",fontFamily:"--font-family"};function wh(t,e){let n={...t?{...Zy}:{...Yy},...e};for(let[o,a]of Object.entries(n)){let i=jy[o];i&&Xy(i,a)}}import{Fragment as r4,jsx as ct,jsxs as vf}from"react/jsx-runtime";var e4=t=>({...t,dstTokenAddr:t.dstTokenAddr?.toLowerCase(),srcTokenAddr:t.srcTokenAddr?.toLowerCase()}),t4=({onPendingTransactionsChange:t})=>{let{history:e}=xa(),r=Cf(()=>e.filter(n=>n.status==="IN_PROGRESS"),[e]);return Af(()=>{t?t(r):window.xPayOnPendingTransactionsChange&&window.xPayOnPendingTransactionsChange(r)},[t,r]),ct(r4,{})},Sf=t=>{let e=Cf(()=>e4(t),[t]),{integratorId:r,dstChainId:n,dstTokenAddr:o,srcChainId:a,srcTokenAddr:i,customContractCalls:s,desc:c,dstDisplayTokenAddr:d,supportedChains:f,onSubmit:u,onClose:x,overlay:m,lightTheme:p,defaultWalletPicker:h,styles:w,onPendingTransactionsChange:b,dstTokenLocked:T,dstChainLocked:k,srcTokenLocked:O,srcChainLocked:C,onDstTokenChange:B,onDstChainChange:P,onSrcTokenChange:L,onSrcChainChange:F,bridge:J,onConnectWallet:M,override:H,integratorFee:G,integratorFeeReceiverAddress:X,highlightedDstTokens:z}=e,re=$=>{$.stopPropagation(),$.nativeEvent.stopImmediatePropagation(),$.target===$.currentTarget&&m&&x()},j=Cf(()=>Vm(f),[f]);return Af(()=>{wh(p,w)},[p,w]),Af(()=>{H?.apiUrl&&ec(H?.apiUrl)},[H?.apiUrl]),ct($y,{FallbackComponent:()=>ct("div",{children:"Something went wrong, please contact XSwap."}),children:ct(S1,{wagmiConfig:j,children:ct(um,{children:vf(Am,{children:[ct(t4,{onPendingTransactionsChange:b}),ct(Im,{integrationConfig:{integratorId:r,dstChainId:n,dstTokenAddr:o,srcChainId:a,srcTokenAddr:i,customContractCalls:s,desc:c,dstDisplayTokenAddr:d,defaultWalletPicker:h,dstTokenLocked:T,dstChainLocked:k,srcTokenLocked:O,srcChainLocked:C,onDstTokenChange:B,onDstChainChange:P,onSrcTokenChange:L,onSrcChainChange:F,bridge:J,onConnectWallet:M,integratorFee:G,integratorFeeReceiverAddress:X,highlightedDstTokens:z},supportedChains:f,overlay:m,children:ct(_m,{children:ct(Ex,{children:m?ct("div",{className:"top-0 left-0 right-0 bottom-0 bg-[rgba(0,0,0,0.8)] fixed flex flex-col items-center justify-center z-10",onMouseDown:re,children:vf("div",{className:"relative bg-t_bg_primary rounded-2xl overflow-auto text-t_text_primary border-[1px] border-solid border-[rgba(255,255,255,0.1)] w-x_modal min-w-x_modal max-w-x_modal min-h-[532px]",children:[ct(bf,{onSubmit:u,onClose:x}),ct(ef,{})]})}):vf("div",{className:"bg-t_bg_primary rounded-2xl overflow-auto text-t_text_primary border-[1px] border-solid border-[rgba(255,255,255,0.1)] min-h-[532px] w-x_modal min-w-x_modal max-w-x_modal flex flex-col",children:[ct(bf,{onSubmit:()=>{},onClose:()=>{}}),ct(ef,{})]})})})})]})})})})},vh=async({integratorId:t,dstChainId:e,dstTokenAddr:r,srcChainId:n,srcTokenAddr:o,customContractCalls:a,desc:i,dstDisplayTokenAddr:s,supportedChains:c,lightTheme:d,defaultWalletPicker:f,styles:u,onPendingTransactionsChange:x,dstTokenLocked:m,dstChainLocked:p,srcTokenLocked:h,srcChainLocked:w,override:b})=>{try{if(Qr===null)throw new Error("XPay was incorrectly initialized");return await g1(),await new Promise(()=>{if(Qr===null)throw new Error("XPay was incorrectly initialized");Qr.render(ct(Sf,{integratorId:t,dstChainId:e,dstTokenAddr:r,srcChainId:n,srcTokenAddr:o,customContractCalls:a,desc:i,dstDisplayTokenAddr:s,supportedChains:c,lightTheme:d,styles:u,onSubmit:()=>{Qr&&Qr.render("")},onClose:()=>{Qr&&Qr.render("")},overlay:!0,defaultWalletPicker:f,onPendingTransactionsChange:x,dstTokenLocked:m,dstChainLocked:p,srcTokenLocked:h,srcChainLocked:w,override:b}))})}catch(T){throw new Error(`XSwap component error, ${T}`)}};import{faArrowRight as n4,faArrowUpRightFromSquare as o4,faHourglassHalf as a4}from"@fortawesome/free-solid-svg-icons";import{FontAwesomeIcon as Ef}from"@fortawesome/react-fontawesome";import{format as i4}from"date-fns";import{useCallback as s4}from"react";import{jsx as Tf,jsxs as Ah}from"react/jsx-runtime";var kf=({chain:t,token:e,amount:r})=>Ah("div",{className:"flex gap-2",children:[Tf(En,{token:e,chain:t,tokenLogoClassName:"min-w-9 w-9 h-9",generatedLogoClassName:"min-w-9 w-9 h-9 text-[16px]",chainLogoClassName:"w-5"}),Ah("div",{className:"flex flex-col text-[12px]",children:[Tf("div",{className:"text-t_text_primary text-nowrap",children:`${Number(r)<1e-4?"<0.0001":r} ${e?.symbol?e?.symbol:"unknown"}`}),Tf("div",{className:"text-xs text-t_text_primary text-opacity-50",children:t?.displayName})]})]});import{Fragment as c4,jsx as vt,jsxs as mo}from"react/jsx-runtime";var Hc=({transaction:t,supportedChains:e,srcToken:r,dstToken:n})=>{let a=s4(f=>i4(new Date(f*1e3),"d MMM yyyy HH:mm:ss"),[])(t.timestamp),i=De({amount:t.amountWei,decimals:r?.decimals||18,precisionFractionalPlaces:4}),s=De({amount:t?.tokenOutAmount||"0",decimals:n?.decimals||18,precisionFractionalPlaces:4}),c=e.find(f=>f.chainId===t.sourceChainId),d=e.find(f=>f.chainId===t.targetChainId);return mo("div",{className:"flex flex-col border border-t_text_primary border-opacity-10 rounded-lg bg-t_bg_primary p-4 gap-4 mb-2",children:[mo("div",{className:"flex items-center gap-2 border-b border-solid border-t_text_primary border-opacity-10 pb-1",children:[vt("div",{className:"text-xs text-t_text_primary text-opacity-50",children:a}),mo("div",{className:"flex grow justify-end items-center h-6",children:[t.status==="IN_PROGRESS"?mo("div",{className:"flex items-center grow justify-end text-xs",children:[vt(Ef,{icon:a4,className:"w-4 h-4 mr-1 text-t_text_orange"}),mo("div",{className:"text-xs text-t_text_orange min-w-[108px]",children:["In progress (",vt(bh,{displayFormat:0,expiryTimestamp:new Date(t.estimatedDeliveryTimestamp),customTextOnExpire:"finalizing"}),")"]})]}):t.status==="DONE"?vt("div",{className:"flex items-center grow justify-end text-xs",children:vt("div",{className:"mr-1 text-t_text_green",children:"Done"})}):t.status==="REVERTED"?vt("div",{className:"flex items-center grow justify-end text-xs",children:vt("div",{className:"mr-1 text-t_text_red",children:"Reverted"})}):null,vt("a",{href:`${t.messageId?`${la}${t.messageId}`:`${e.find(f=>f.chainId===t.sourceChainId)?.transactionExplorer}/${t.hash}`} `,target:"_blank",rel:"noreferrer",className:"no-underline ml-1.5 text-t_text_primary","aria-label":"Show the transaction in the chain explorer",children:vt(Ef,{icon:o4,className:"w-[14px] h-[14px] text-t_text_primary"})})]})]}),vt("div",{className:"flex flex-wrap gap-8",children:mo("div",{className:"flex items-center gap-2",children:[vt(kf,{chain:c,token:r,amount:i}),t.tokenOutAddress&&mo(c4,{children:[vt(Ef,{icon:n4,className:"w-5 h-5 text-t_text_primary opacity-50 mx-1.5"}),vt(kf,{chain:d,token:n,amount:s})]})]})})]})};import{jsx as d4}from"react/jsx-runtime";var Bx=({transaction:t})=>{let{supportedChains:e,findTokenDataByAddressAndChain:r}=Y(),n=r(t.sourceChainId==="mainnet-beta"?t.tokenAddress:t.tokenAddress.toLowerCase(),t.sourceChainId),o=t.tokenOutAddress?r(t.sourceChainId==="mainnet-beta"?t.tokenOutAddress:t.tokenOutAddress?.toLowerCase(),t.targetChainId):void 0;return d4(Hc,{transaction:t,supportedChains:e,srcToken:n,dstToken:o})};import{createPortal as f4}from"react-dom";import{jsx as Ch}from"react/jsx-runtime";var Px=({id:t,children:e,onCloseClick:r,type:n="waiting",className:o})=>f4(Ch("div",{className:"fixed box-border inset-0 z-20 flex items-center justify-center bg-black bg-opacity-80",onMouseDown:i=>{i.stopPropagation(),i.nativeEvent.stopImmediatePropagation(),i.target===i.currentTarget&&r()},children:Ch("div",{className:`relative bg-t_bg_primary rounded-3xl p-4 w-full min-w-[340px] overflow-auto max-w-x_modal border-2 ${n==="error"?"border-t_error_dark":n==="success"?"border-t_success_dark":n==="warning"?"border-t_warning_dark":n==="waiting"?"border-t_main_accent_dark":"border-t_text_primary border-opacity-10"} ${o}`,children:e})}),to,t);import{useMemo as Sh,useState as l4}from"react";import{Fragment as p4,jsx as At,jsxs as Pf}from"react/jsx-runtime";var u4=({transaction:t,supportedChains:e,srcToken:r,dstToken:n})=>{let[o,a]=l4(!1),i=Sh(()=>t?.status==="DONE"?"bg-t_bg_primary bg-gradient-to-r from-t_success_light/20 to-t_success_dark/20":"bg-t_bg_primary bg-gradient-to-r from-t_main_accent_light/20 to-t_main_accent_dark/20]",[t]),s=Sh(()=>t?.status==="DONE"?"border border-solid border-t_success_dark":"border border-solid border-t_main_accent_dark",[t]);return Pf("div",{className:"flex gap-2 items-end justify-end flex-wrap",onClick:()=>a(c=>!c),children:[o&&At(Hc,{transaction:t,supportedChains:e,srcToken:r,dstToken:n}),At("div",{className:`text-t_text_primary rounded-xl h-14 w-20 mb-2 cursor-pointer ${i} ${s}`,children:Pf("div",{className:"flex gap-2 items-center h-14 w-20 justify-center fill-t_text_primary",children:[At("div",{className:`${o?"rotate-180":""}`,children:At(N1,{})}),At("div",{className:"relative flex items-center justify-center w-9 h-9",children:t?.status==="DONE"?At("div",{className:"w-5 h-5 fill-t_success_dark",children:At(oc,{})}):Pf(p4,{children:[At("div",{className:"w-5 h-5",children:At(sm,{})}),At("div",{className:"absolute flex items-center justify-center top-0 left-0 right-0 bottom-0 text-t_text_primary",children:At(Nr,{className:"w-10 h-10"})})]})})]})})]})},xo=[],Th=t=>{xo.some(({transaction:e})=>e.hash===e.hash)||xo.push(t)},kh=t=>{xo=[...xo.filter(r=>r.transaction.hash!==t)]},Eh=t=>{xo=xo.map(e=>e.transaction.hash===t?{...e,transaction:{...e.transaction,status:"DONE"}}:e)},Wc=()=>{let t=xo.map(e=>At(u4,{...e},e.transaction.hash));if($s===null)throw new Error("XPay was incorrectly initialized");$s.render(At("div",{className:"fixed bottom-5 right-2 flex flex-col gap-3 pl-9 items-end w-full z-50",children:t}))};import m4 from"@r2wc/core";import Ph from"react";import{createRoot as x4}from"react-dom/client";var h4=(t,e,r)=>{let n=x4(t),o=Ph.createElement(e,r);return n.render(o),{root:n,ReactComponent:e}},g4=({root:t,ReactComponent:e},r)=>{let n=Ph.createElement(e,r);t.render(n)},b4=({root:t})=>{t.unmount()},Ih=(t,e={})=>m4(t,e,{mount:h4,update:g4,unmount:b4});import{useEffect as Rh,useState as Gc}from"react";var Nh=t=>{let e=Ke?{}:JSON.parse(localStorage.getItem("custom-tokens")||"{}"),r=Object.entries(e).reduce((n,[o,a])=>(n[o]=Object.values(a),n),{});return t.map(n=>{let o=r[n.chainId]||[];if(o.length===0)return n;let a=o.filter(i=>!n.tokens.some(s=>s.address.toLowerCase()===i.address.toLowerCase()));return a.length===0?n:{...n,tokens:[...n.tokens,...a.map(i=>({...i}))]}})};import{Fragment as w4,jsx as qc,jsxs as v4}from"react/jsx-runtime";var y4=({integratorId:t,dstChain:e,dstToken:r,srcChain:n,srcToken:o,customContractCalls:a=[],desc:i,dstDisplayToken:s,lightTheme:c,defaultWalletPicker:d,styles:f,onPendingTransactionsChange:u,dstTokenLocked:x,dstChainLocked:m,srcTokenLocked:p,srcChainLocked:h,onDstTokenChange:w,onDstChainChange:b,onSrcTokenChange:T,onSrcChainChange:k,onConnectWallet:O,bridge:C,override:B,integratorFee:P,integratorFeeReceiverAddress:L,highlightedDstTokens:F})=>{let[J,M]=Gc(!0),[H,G]=Gc([]),[X,z]=Gc(void 0),[re,j]=Gc(void 0);Rh(()=>{(async()=>{M(!0),B?.apiUrl&&ec(B.apiUrl);let y=(await ro()).filter(({web3Environment:D,bridgeSupported:g,swapSupported:A})=>D==="mainnet"&&(g||A)),S=Nh(y);G(S),M(!1)})()},[]);let $=(()=>{try{return typeof f=="string"?JSON.parse(f):f||void 0}catch(y){console.error("Error parsing styles:",y)}})();return Rh(()=>{let y=pa(o,n,H),S=pa(r,e,H);z(y),j(S)},[o,n,r,e,H]),v4(w4,{children:[qc("style",{children:Ys}),J?qc("div",{className:"min-h-[532px] w-full flex items-center justify-center",children:qc(Nr,{className:"w-10 h-10"})}):qc(Sf,{integratorId:t,dstChainId:e,dstTokenAddr:re,srcChainId:n,srcTokenAddr:X,customContractCalls:a,desc:i,dstDisplayTokenAddr:s,supportedChains:H,overlay:!1,lightTheme:c,defaultWalletPicker:d,styles:$,onPendingTransactionsChange:u,dstTokenLocked:x,dstChainLocked:m,srcTokenLocked:p,srcChainLocked:h,onDstTokenChange:w,onDstChainChange:b,onSrcTokenChange:T,onSrcChainChange:k,onConnectWallet:O,bridge:C,override:B,integratorFee:P,integratorFeeReceiverAddress:L,highlightedDstTokens:F})]})},Jc=()=>{if(Ke||typeof customElements>"u")return{};let t=Ih(y4,{shadow:"open",props:{integratorId:"string",dstChain:"string",dstToken:"string",srcChain:"string",srcToken:"string",customContractCalls:"json",desc:"string",dstDisplayToken:"string",lightTheme:"boolean",defaultWalletPicker:"boolean",styles:"json",onPendingTransactionsChange:"function",dstTokenLocked:"boolean",dstChainLocked:"boolean",srcTokenLocked:"boolean",srcChainLocked:"boolean",bridge:"boolean",onDstTokenChange:"function",onDstChainChange:"function",onSrcTokenChange:"function",onSrcChainChange:"function",override:"json",integratorFee:"number",integratorFeeReceiverAddress:"string",highlightedDstTokens:"json"}});return t.prototype.connectedCallback=function(){this.id="xpay-widget"},t};import{isServer as A4}from"@tanstack/react-query";import{useEffect as C4}from"react";import{jsx as T4}from"react/jsx-runtime";var S4=Jc();!A4&&typeof customElements<"u"&&(customElements.get("xpay-widget")||customElements.define("xpay-widget",S4));var If=({integratorId:t,dstChain:e,dstToken:r,srcChain:n,srcToken:o,customContractCalls:a=[],desc:i,dstDisplayToken:s,lightTheme:c,defaultWalletPicker:d,styles:f,onPendingTransactionsChange:u,dstTokenLocked:x,dstChainLocked:m,srcTokenLocked:p,srcChainLocked:h,onDstTokenChange:w,onDstChainChange:b,onSrcTokenChange:T,onSrcChainChange:k,onConnectWallet:O,bridge:C,override:B,integratorFee:P,integratorFeeReceiverAddress:L,highlightedDstTokens:F})=>(C4(()=>{window.xPayOnPendingTransactionsChange=u,window.xPayOnDstTokenChange=w,window.xPayOnDstChainChange=b,window.xPayOnSrcTokenChange=T,window.xPayOnSrcChainChange=k,window.xPayOnConnectWallet=O},[u,w,b,T,k,O]),T4("xpay-widget",{"integrator-id":t,"dst-chain":e,"dst-token":r,"src-chain":n,"src-token":o,"custom-contract-calls":JSON.stringify(a),desc:i,"dst-display-token":s,"light-theme":c,"default-wallet-picker":d,styles:typeof f=="string"?f:JSON.stringify(f),"dst-token-locked":x,"dst-chain-locked":m,"src-token-locked":p,"src-chain-locked":h,bridge:C,override:JSON.stringify(B),"integrator-fee":P,"integrator-fee-receiver-address":L,"highlighted-dst-tokens":JSON.stringify(F)}));import k4 from"async-retry";var _h=async(t,e)=>{let r=t.publicRpcUrls[0],n=new ie.Contract(e.toLowerCase(),Tr,ie.getDefaultProvider(r));try{let o=async(d,f,u=[])=>d?.provider?await d[f](...u):null,a=await Promise.all([o(n,"decimals"),o(n,"name"),o(n,"symbol")]),[i,s,c]=a;return{address:e,symbol:c,tokenId:e,name:s,decimals:i,quickPick:!1,supported:!0,priority:0}}catch{throw new Error(`Provided token ${e} does not exists on chain ${t.displayName}`)}};var yx=async(t,e,r,n)=>{let o=await E4(t,e),a=(await ro()).filter(({web3Environment:P,swapSupported:L})=>P==="mainnet"&&L),i=o.logs?.find(P=>P.topics[0]===ie.utils.id($p));if(!i)throw new Error(`No transaction event found for chain ${t} tx ${e}`);let s=i?.topics[1],d=new ie.utils.Interface(e1).parseLog(i);if(!d)throw new Error(`No transaction event arguments found for chain ${t} tx ${e}`);let f=d.args,u=a.find(P=>P.chainId===t.toString());if(!u)throw new Error(`Unknown src chain ${t}`);let x=(f?.token.toString()).toLowerCase(),m=u.tokens.find(P=>P.address.toLowerCase()===x);m||(m=await _h(u,x));let p=a.find(P=>P.ccipChainId===f?.destinationChainSelector?.toString()),h=p?.chainId;if(!h)throw new Error("Unknown destination chain!");let w;r&&(w=p.tokens.find(P=>P.address.toLowerCase()===r.toLowerCase()));let b=Date.now()/1e3,T={hash:o.transactionHash,timestamp:b,sourceChainId:u.chainId,targetChainId:p.chainId,amountWei:f?.tokenAmount.toString(),tokenAddress:m.address,tokenOutAddress:w?.address,tokenOutAmount:n,estimatedDeliveryTimestamp:f?.valueForInstantCcipRecieve.toString()!=="0"?b*1e3+30*1e3:b*1e3+30*60*1e3,status:"IN_PROGRESS"};Th({transaction:T,supportedChains:a,dstToken:w,srcToken:m}),Wc();let k=$e[h]?.XSwapRouter;if(!k)throw new Error("Unknown destination XSwapRouter!");let O=new ie.Contract(k,r1,ie.getDefaultProvider(a.find(P=>P.chainId===h)?.publicRpcUrls[0])),C={address:k,topics:[ie.utils.id(t1),s]},B=async()=>{Eh(e),Wc(),await new Promise(P=>setTimeout(()=>P(!0),jp)),kh(e),Wc()};Ad({transferId:s}).then(P=>{P.status==="DONE"?B():(setTimeout(()=>Ad({transferId:s}).then(L=>{L.status==="DONE"&&B()}),30*60*1e3),O.once(C,()=>B()))})},E4=async(t,e)=>{try{let r=(await ro()).find(o=>o.chainId===t),n=new ie.providers.JsonRpcProvider(r?.publicRpcUrls[0]);return await k4(async()=>{let o=await n.getTransactionReceipt(e);if(!o)throw new Error("Couldn't fetch tx receipt");return o})}catch{throw new Error(`Couldn't fetch tx ${e} receipt on chain ${t}`)}};var Nf=async({integratorId:t,dstChain:e,dstToken:r,srcChain:n,srcToken:o,customContractCalls:a=[],desc:i,dstDisplayToken:s,lightTheme:c,defaultWalletPicker:d,styles:f,onPendingTransactionsChange:u,dstTokenLocked:x,dstChainLocked:m,srcTokenLocked:p,srcChainLocked:h,onDstTokenChange:w,onDstChainChange:b,onSrcTokenChange:T,onSrcChainChange:k,bridge:O,highlightedDstTokens:C})=>{let B=(await ro()).filter(({web3Environment:P,swapSupported:L})=>P==="mainnet"&&L);P4(t,B,e,r,n,o),await vh({integratorId:t,dstChainId:e,dstTokenAddr:r,srcChainId:n,srcTokenAddr:o,customContractCalls:a,desc:i,dstDisplayTokenAddr:s,supportedChains:B,lightTheme:c,defaultWalletPicker:d,styles:f,onPendingTransactionsChange:u,dstTokenLocked:x,dstChainLocked:m,srcTokenLocked:p,srcChainLocked:h,onDstTokenChange:w,onDstChainChange:b,onSrcTokenChange:T,onSrcChainChange:k,bridge:O,highlightedDstTokens:C})},P4=(t,e,r,n,o,a)=>{if(!t)throw new Error("Provide integratorId or contact the team to generate one.");if(r){if(!e.find(({chainId:s})=>s===r))throw new Error(`Provided chain '${r}' is not supported`);if(n&&!ua(n))throw new Error(`Provided token address ${n} on chain ${r} is invalid`)}if(o){if(!e.find(({chainId:s})=>s===o))throw new Error(`Provided chain '${o}' is not supported`);if(a&&!ua(a))throw new Error(`Provided token address ${a} on chain ${o} is invalid`)}};var I4=Jc();h1();var N4={openTransactionModal:Nf,TxWidget:If,TxWidgetWC:I4},UW=N4;export{_f as ContractName,St as Ecosystem,Kh as Environment,Qc as SolanaWeb3Network,Oo as TxStatus,If as TxWidget,I4 as TxWidgetWC,Ua as Web3Environment,Mf as XSwapCallType,UW as default,Nf as openTransactionModal};
|
|
92
92
|
/*! Bundled license information:
|
|
93
93
|
|
|
94
94
|
js-sha3/src/sha3.js:
|