@depay/widgets 12.16.8 → 12.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -85,7 +85,7 @@ qf((function(e,t){}));var dS=qf((function(e){e.exports=hS})),fS=dS.createContext
85
85
  * https://github.com/MikeMcl/decimal.js
86
86
  * Copyright (c) 2022 Michael Mclaughlin <M8ch88l@gmail.com>
87
87
  * MIT Licence
88
- */function pj(e){var t,n,r,i=e.length-1,o="",a=e[0];if(i>0){for(o+=a,t=1;t<i;t++)(n=7-(r=e[t]+"").length)&&(o+=Tj(n)),o+=r;(n=7-(r=(a=e[t])+"").length)&&(o+=Tj(n))}else if(0===a)return"0";for(;a%10==0;)a/=10;return o+a}function yj(e,t,n){if(e!==~~e||e<t||e>n)throw Error(nj+e)}function mj(e,t,n,r){var i,o,a,s;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=7,i=0):(i=Math.ceil((t+1)/7),t%=7),o=oj(10,7-t),s=e[i]%o|0,null==r?t<3?(0==t?s=s/100|0:1==t&&(s=s/10|0),a=n<4&&99999==s||n>3&&49999==s||5e4==s||0==s):a=(n<4&&s+1==o||n>3&&s+1==o/2)&&(e[i+1]/o/100|0)==oj(10,t-2)-1||(s==o/2||0==s)&&0==(e[i+1]/o/100|0):t<4?(0==t?s=s/1e3|0:1==t?s=s/100|0:2==t&&(s=s/10|0),a=(r||n<4)&&9999==s||!r&&n>3&&4999==s):a=((r||n<4)&&s+1==o||!r&&n>3&&s+1==o/2)&&(e[i+1]/o/1e3|0)==oj(10,t-3)-1,a}function gj(e,t,n){for(var r,i,o=[0],a=0,s=e.length;a<s;){for(i=o.length;i--;)o[i]*=t;for(o[0]+=XS.indexOf(e.charAt(a++)),r=0;r<o.length;r++)o[r]>n-1&&(void 0===o[r+1]&&(o[r+1]=0),o[r+1]+=o[r]/n|0,o[r]%=n)}return o.reverse()}fj.absoluteValue=fj.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),wj(e)},fj.ceil=function(){return wj(new this.constructor(this),this.e+1,2)},fj.clampedTo=fj.clamp=function(e,t){var n=this,r=n.constructor;if(e=new r(e),t=new r(t),!e.s||!t.s)return new r(NaN);if(e.gt(t))throw Error(nj+t);return n.cmp(e)<0?e:n.cmp(t)>0?t:new r(n)},fj.comparedTo=fj.cmp=function(e){var t,n,r,i,o=this,a=o.d,s=(e=new o.constructor(e)).d,u=o.s,c=e.s;if(!a||!s)return u&&c?u!==c?u:a===s?0:!a^u<0?1:-1:NaN;if(!a[0]||!s[0])return a[0]?u:s[0]?-c:0;if(u!==c)return u;if(o.e!==e.e)return o.e>e.e^u<0?1:-1;for(t=0,n=(r=a.length)<(i=s.length)?r:i;t<n;++t)if(a[t]!==s[t])return a[t]>s[t]^u<0?1:-1;return r===i?0:r>i^u<0?1:-1},fj.cosine=fj.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+7,r.rounding=1,n=function(e,t){var n,r,i;if(t.isZero())return t;(r=t.d.length)<32?i=(1/zj(4,n=Math.ceil(r/3))).toString():(n=16,i="2.3283064365386962890625e-10");e.precision+=n,t=Oj(e,1,t.times(i),new e(1));for(var o=n;o--;){var a=t.times(t);t=a.times(a).minus(a).times(8).plus(1)}return e.precision-=n,t}(r,Pj(r,n)),r.precision=e,r.rounding=t,wj(2==qS||3==qS?n.neg():n,e,t,!0)):new r(1):new r(NaN)},fj.cubeRoot=fj.cbrt=function(){var e,t,n,r,i,o,a,s,u,c,l=this,h=l.constructor;if(!l.isFinite()||l.isZero())return new h(l);for(tj=!1,(o=l.s*oj(l.s*l,1/3))&&Math.abs(o)!=1/0?r=new h(o.toString()):(n=pj(l.d),(o=((e=l.e)-n.length+1)%3)&&(n+=1==o||-2==o?"0":"00"),o=oj(n,1/3),e=ij((e+1)/3)-(e%3==(e<0?-1:2)),(r=new h(n=o==1/0?"5e"+e:(n=o.toExponential()).slice(0,n.indexOf("e")+1)+e)).s=l.s),a=(e=h.precision)+3;;)if(c=(u=(s=r).times(s).times(s)).plus(l),r=vj(c.plus(l).times(s),c.plus(u),a+2,1),pj(s.d).slice(0,a)===(n=pj(r.d)).slice(0,a)){if("9999"!=(n=n.slice(a-3,a+1))&&(i||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(wj(r,e+1,1),t=!r.times(r).times(r).eq(l));break}if(!i&&(wj(s,e+1,0),s.times(s).times(s).eq(l))){r=s;break}a+=4,i=1}return tj=!0,wj(r,e,h.rounding,t)},fj.decimalPlaces=fj.dp=function(){var e,t=this.d,n=NaN;if(t){if(n=7*((e=t.length-1)-ij(this.e/7)),e=t[e])for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n},fj.dividedBy=fj.div=function(e){return vj(this,new this.constructor(e))},fj.dividedToIntegerBy=fj.divToInt=function(e){var t=this.constructor;return wj(vj(this,new t(e),0,1,1),t.precision,t.rounding)},fj.equals=fj.eq=function(e){return 0===this.cmp(e)},fj.floor=function(){return wj(new this.constructor(this),this.e+1,3)},fj.greaterThan=fj.gt=function(e){return this.cmp(e)>0},fj.greaterThanOrEqualTo=fj.gte=function(e){var t=this.cmp(e);return 1==t||0===t},fj.hyperbolicCosine=fj.cosh=function(){var e,t,n,r,i,o=this,a=o.constructor,s=new a(1);if(!o.isFinite())return new a(o.s?1/0:NaN);if(o.isZero())return s;n=a.precision,r=a.rounding,a.precision=n+Math.max(o.e,o.sd())+4,a.rounding=1,(i=o.d.length)<32?t=(1/zj(4,e=Math.ceil(i/3))).toString():(e=16,t="2.3283064365386962890625e-10"),o=Oj(a,1,o.times(t),new a(1),!0);for(var u,c=e,l=new a(8);c--;)u=o.times(o),o=s.minus(u.times(l.minus(u.times(l))));return wj(o,a.precision=n,a.rounding=r,!0)},fj.hyperbolicSine=fj.sinh=function(){var e,t,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,n=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,(r=i.d.length)<3)i=Oj(o,2,i,i,!0);else{e=(e=1.4*Math.sqrt(r))>16?16:0|e,i=Oj(o,2,i=i.times(1/zj(5,e)),i,!0);for(var a,s=new o(5),u=new o(16),c=new o(20);e--;)a=i.times(i),i=i.times(s.plus(a.times(u.times(a).plus(c))))}return o.precision=t,o.rounding=n,wj(i,t,n,!0)},fj.hyperbolicTangent=fj.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,vj(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)},fj.inverseCosine=fj.acos=function(){var e,t=this,n=t.constructor,r=t.abs().cmp(1),i=n.precision,o=n.rounding;return-1!==r?0===r?t.isNeg()?Ij(n,i,o):new n(0):new n(NaN):t.isZero()?Ij(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,t=t.asin(),e=Ij(n,i+4,o).times(.5),n.precision=i,n.rounding=o,e.minus(t))},fj.inverseHyperbolicCosine=fj.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,tj=!1,n=n.times(n).minus(1).sqrt().plus(n),tj=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)},fj.inverseHyperbolicSine=fj.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,tj=!1,n=n.times(n).plus(1).sqrt().plus(n),tj=!0,r.precision=e,r.rounding=t,n.ln())},fj.inverseHyperbolicTangent=fj.atanh=function(){var e,t,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,r=i.sd(),Math.max(r,e)<2*-i.e-1?wj(new o(i),e,t,!0):(o.precision=n=r-i.e,i=vj(i.plus(1),new o(1).minus(i),n+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)},fj.inverseSine=fj.asin=function(){var e,t,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),n=o.precision,r=o.rounding,-1!==t?0===t?((e=Ij(o,n+4,r).times(.5)).s=i.s,e):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))},fj.inverseTangent=fj.atan=function(){var e,t,n,r,i,o,a,s,u,c=this,l=c.constructor,h=l.precision,d=l.rounding;if(c.isFinite()){if(c.isZero())return new l(c);if(c.abs().eq(1)&&h+4<=dj)return(a=Ij(l,h+4,d).times(.25)).s=c.s,a}else{if(!c.s)return new l(NaN);if(h+4<=dj)return(a=Ij(l,h+4,d).times(.5)).s=c.s,a}for(l.precision=s=h+10,l.rounding=1,e=n=Math.min(28,s/7+2|0);e;--e)c=c.div(c.times(c).plus(1).sqrt().plus(1));for(tj=!1,t=Math.ceil(s/7),r=1,u=c.times(c),a=new l(c),i=c;-1!==e;)if(i=i.times(u),o=a.minus(i.div(r+=2)),i=i.times(u),void 0!==(a=o.plus(i.div(r+=2))).d[t])for(e=t;a.d[e]===o.d[e]&&e--;);return n&&(a=a.times(2<<n-1)),tj=!0,wj(a,l.precision=h,l.rounding=d,!0)},fj.isFinite=function(){return!!this.d},fj.isInteger=fj.isInt=function(){return!!this.d&&ij(this.e/7)>this.d.length-2},fj.isNaN=function(){return!this.s},fj.isNegative=fj.isNeg=function(){return this.s<0},fj.isPositive=fj.isPos=function(){return this.s>0},fj.isZero=function(){return!!this.d&&0===this.d[0]},fj.lessThan=fj.lt=function(e){return this.cmp(e)<0},fj.lessThanOrEqualTo=fj.lte=function(e){return this.cmp(e)<1},fj.logarithm=fj.log=function(e){var t,n,r,i,o,a,s,u,c=this,l=c.constructor,h=l.precision,d=l.rounding;if(null==e)e=new l(10),t=!0;else{if(n=(e=new l(e)).d,e.s<0||!n||!n[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(n=c.d,c.s<0||!n||!n[0]||c.eq(1))return new l(n&&!n[0]?-1/0:1!=c.s?NaN:n?0:1/0);if(t)if(n.length>1)o=!0;else{for(i=n[0];i%10==0;)i/=10;o=1!==i}if(tj=!1,a=Sj(c,s=h+5),r=t?Aj(l,s+10):Sj(e,s),mj((u=vj(a,r,s,1)).d,i=h,d))do{if(a=Sj(c,s+=10),r=t?Aj(l,s+10):Sj(e,s),u=vj(a,r,s,1),!o){+pj(u.d).slice(i+1,i+15)+1==1e14&&(u=wj(u,h+1,0));break}}while(mj(u.d,i+=10,d));return tj=!0,wj(u,h,d)},fj.minus=fj.sub=function(e){var t,n,r,i,o,a,s,u,c,l,h,d,f=this,p=f.constructor;if(e=new p(e),!f.d||!e.d)return f.s&&e.s?f.d?e.s=-e.s:e=new p(e.d||f.s!==e.s?f:NaN):e=new p(NaN),e;if(f.s!=e.s)return e.s=-e.s,f.plus(e);if(c=f.d,d=e.d,s=p.precision,u=p.rounding,!c[0]||!d[0]){if(d[0])e.s=-e.s;else{if(!c[0])return new p(3===u?-0:0);e=new p(f)}return tj?wj(e,s,u):e}if(n=ij(e.e/7),l=ij(f.e/7),c=c.slice(),o=l-n){for((h=o<0)?(t=c,o=-o,a=d.length):(t=d,n=l,a=c.length),o>(r=Math.max(Math.ceil(s/7),a)+2)&&(o=r,t.length=1),t.reverse(),r=o;r--;)t.push(0);t.reverse()}else{for((h=(r=c.length)<(a=d.length))&&(a=r),r=0;r<a;r++)if(c[r]!=d[r]){h=c[r]<d[r];break}o=0}for(h&&(t=c,c=d,d=t,e.s=-e.s),a=c.length,r=d.length-a;r>0;--r)c[a++]=0;for(r=d.length;r>o;){if(c[--r]<d[r]){for(i=r;i&&0===c[--i];)c[i]=lj-1;--c[i],c[r]+=lj}c[r]-=d[r]}for(;0===c[--a];)c.pop();for(;0===c[0];c.shift())--n;return c[0]?(e.d=c,e.e=Mj(c,n),tj?wj(e,s,u):e):new p(3===u?-0:0)},fj.modulo=fj.mod=function(e){var t,n=this,r=n.constructor;return e=new r(e),!n.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||n.d&&!n.d[0]?wj(new r(n),r.precision,r.rounding):(tj=!1,9==r.modulo?(t=vj(n,e.abs(),0,3,1)).s*=e.s:t=vj(n,e,0,r.modulo,1),t=t.times(e),tj=!0,n.minus(t))},fj.naturalExponential=fj.exp=function(){return Lj(this)},fj.naturalLogarithm=fj.ln=function(){return Sj(this)},fj.negated=fj.neg=function(){var e=new this.constructor(this);return e.s=-e.s,wj(e)},fj.plus=fj.add=function(e){var t,n,r,i,o,a,s,u,c,l,h=this,d=h.constructor;if(e=new d(e),!h.d||!e.d)return h.s&&e.s?h.d||(e=new d(e.d||h.s===e.s?h:NaN)):e=new d(NaN),e;if(h.s!=e.s)return e.s=-e.s,h.minus(e);if(c=h.d,l=e.d,s=d.precision,u=d.rounding,!c[0]||!l[0])return l[0]||(e=new d(h)),tj?wj(e,s,u):e;if(o=ij(h.e/7),r=ij(e.e/7),c=c.slice(),i=o-r){for(i<0?(n=c,i=-i,a=l.length):(n=l,r=o,a=c.length),i>(a=(o=Math.ceil(s/7))>a?o+1:a+1)&&(i=a,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for((a=c.length)-(i=l.length)<0&&(i=a,n=l,l=c,c=n),t=0;i;)t=(c[--i]=c[i]+l[i]+t)/lj|0,c[i]%=lj;for(t&&(c.unshift(t),++r),a=c.length;0==c[--a];)c.pop();return e.d=c,e.e=Mj(c,r),tj?wj(e,s,u):e},fj.precision=fj.sd=function(e){var t,n=this;if(void 0!==e&&e!==!!e&&1!==e&&0!==e)throw Error(nj+e);return n.d?(t=Nj(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t},fj.round=function(){var e=this,t=e.constructor;return wj(new t(e),e.e+1,t.rounding)},fj.sine=fj.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+7,r.rounding=1,n=function(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:Oj(e,2,t,t);n=(n=1.4*Math.sqrt(r))>16?16:0|n,t=t.times(1/zj(5,n)),t=Oj(e,2,t,t);for(var i,o=new e(5),a=new e(16),s=new e(20);n--;)i=t.times(t),t=t.times(o.plus(i.times(a.times(i).minus(s))));return t}(r,Pj(r,n)),r.precision=e,r.rounding=t,wj(qS>2?n.neg():n,e,t,!0)):new r(NaN)},fj.squareRoot=fj.sqrt=function(){var e,t,n,r,i,o,a=this,s=a.d,u=a.e,c=a.s,l=a.constructor;if(1!==c||!s||!s[0])return new l(!c||c<0&&(!s||s[0])?NaN:s?a:1/0);for(tj=!1,0==(c=Math.sqrt(+a))||c==1/0?(((t=pj(s)).length+u)%2==0&&(t+="0"),c=Math.sqrt(t),u=ij((u+1)/2)-(u<0||u%2),r=new l(t=c==1/0?"5e"+u:(t=c.toExponential()).slice(0,t.indexOf("e")+1)+u)):r=new l(c.toString()),n=(u=l.precision)+3;;)if(r=(o=r).plus(vj(a,o,n+2,1)).times(.5),pj(o.d).slice(0,n)===(t=pj(r.d)).slice(0,n)){if("9999"!=(t=t.slice(n-3,n+1))&&(i||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(wj(r,u+1,1),e=!r.times(r).eq(a));break}if(!i&&(wj(o,u+1,0),o.times(o).eq(a))){r=o;break}n+=4,i=1}return tj=!0,wj(r,u,l.rounding,e)},fj.tangent=fj.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,(n=n.sin()).s=1,n=vj(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,wj(2==qS||4==qS?n.neg():n,e,t,!0)):new r(NaN)},fj.times=fj.mul=function(e){var t,n,r,i,o,a,s,u,c,l=this,h=l.constructor,d=l.d,f=(e=new h(e)).d;if(e.s*=l.s,!(d&&d[0]&&f&&f[0]))return new h(!e.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:d&&f?0*e.s:e.s/0);for(n=ij(l.e/7)+ij(e.e/7),(u=d.length)<(c=f.length)&&(o=d,d=f,f=o,a=u,u=c,c=a),o=[],r=a=u+c;r--;)o.push(0);for(r=c;--r>=0;){for(t=0,i=u+r;i>r;)s=o[i]+f[r]*d[i-r-1]+t,o[i--]=s%lj|0,t=s/lj|0;o[i]=(o[i]+t)%lj|0}for(;!o[--a];)o.pop();return t?++n:o.shift(),e.d=o,e.e=Mj(o,n),tj?wj(e,h.precision,h.rounding):e},fj.toBinary=function(e,t){return _j(this,2,e,t)},fj.toDecimalPlaces=fj.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),void 0===e?n:(yj(e,0,1e9),void 0===t?t=r.rounding:yj(t,0,8),wj(n,e+n.e+1,t))},fj.toExponential=function(e,t){var n,r=this,i=r.constructor;return void 0===e?n=bj(r,!0):(yj(e,0,1e9),void 0===t?t=i.rounding:yj(t,0,8),n=bj(r=wj(new i(r),e+1,t),!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n},fj.toFixed=function(e,t){var n,r,i=this,o=i.constructor;return void 0===e?n=bj(i):(yj(e,0,1e9),void 0===t?t=o.rounding:yj(t,0,8),n=bj(r=wj(new o(i),e+i.e+1,t),!1,e+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n},fj.toFraction=function(e){var t,n,r,i,o,a,s,u,c,l,h,d,f=this,p=f.d,y=f.constructor;if(!p)return new y(f);if(c=n=new y(1),r=u=new y(0),a=(o=(t=new y(r)).e=Nj(p)-f.e-1)%7,t.d[0]=oj(10,a<0?7+a:a),null==e)e=o>0?t:c;else{if(!(s=new y(e)).isInt()||s.lt(c))throw Error(nj+s);e=s.gt(t)?o>0?t:c:s}for(tj=!1,s=new y(pj(p)),l=y.precision,y.precision=o=7*p.length*2;h=vj(s,t,0,1,1),1!=(i=n.plus(h.times(r))).cmp(e);)n=r,r=i,i=c,c=u.plus(h.times(i)),u=i,i=t,t=s.minus(h.times(i)),s=i;return i=vj(e.minus(n),r,0,1,1),u=u.plus(i.times(c)),n=n.plus(i.times(r)),u.s=c.s=f.s,d=vj(c,r,o,1).minus(f).abs().cmp(vj(u,n,o,1).minus(f).abs())<1?[c,r]:[u,n],y.precision=l,tj=!0,d},fj.toHexadecimal=fj.toHex=function(e,t){return _j(this,16,e,t)},fj.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),null==e){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),void 0===t?t=r.rounding:yj(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(tj=!1,n=vj(n,e,0,t,1).times(e),tj=!0,wj(n)):(e.s=n.s,n=e),n},fj.toNumber=function(){return+this},fj.toOctal=function(e,t){return _j(this,8,e,t)},fj.toPower=fj.pow=function(e){var t,n,r,i,o,a,s=this,u=s.constructor,c=+(e=new u(e));if(!(s.d&&e.d&&s.d[0]&&e.d[0]))return new u(oj(+s,c));if((s=new u(s)).eq(1))return s;if(r=u.precision,o=u.rounding,e.eq(1))return wj(s,r,o);if((t=ij(e.e/7))>=e.d.length-1&&(n=c<0?-c:c)<=9007199254740991)return i=Ej(u,s,n,r),e.s<0?new u(1).div(i):wj(i,r,o);if((a=s.s)<0){if(t<e.d.length-1)return new u(NaN);if(0==(1&e.d[t])&&(a=1),0==s.e&&1==s.d[0]&&1==s.d.length)return s.s=a,s}return(t=0!=(n=oj(+s,c))&&isFinite(n)?new u(n+"").e:ij(c*(Math.log("0."+pj(s.d))/Math.LN10+s.e+1)))>u.maxE+1||t<u.minE-1?new u(t>0?a/0:0):(tj=!1,u.rounding=s.s=1,n=Math.min(12,(t+"").length),(i=Lj(e.times(Sj(s,r+n)),r)).d&&mj((i=wj(i,r+5,1)).d,r,o)&&(t=r+10,+pj((i=wj(Lj(e.times(Sj(s,t+n)),t),t+5,1)).d).slice(r+1,r+15)+1==1e14&&(i=wj(i,r+1,0))),i.s=a,tj=!0,u.rounding=o,wj(i,r,o))},fj.toPrecision=function(e,t){var n,r=this,i=r.constructor;return void 0===e?n=bj(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(yj(e,1,1e9),void 0===t?t=i.rounding:yj(t,0,8),n=bj(r=wj(new i(r),e,t),e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n},fj.toSignificantDigits=fj.toSD=function(e,t){var n=this.constructor;return void 0===e?(e=n.precision,t=n.rounding):(yj(e,1,1e9),void 0===t?t=n.rounding:yj(t,0,8)),wj(new n(this),e,t)},fj.toString=function(){var e=this,t=e.constructor,n=bj(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n},fj.truncated=fj.trunc=function(){return wj(new this.constructor(this),this.e+1,1)},fj.valueOf=fj.toJSON=function(){var e=this,t=e.constructor,n=bj(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};var vj=function(){function e(e,t,n){var r,i=0,o=e.length;for(e=e.slice();o--;)r=e[o]*t+i,e[o]=r%n|0,i=r/n|0;return i&&e.unshift(i),e}function t(e,t,n,r){var i,o;if(n!=r)o=n>r?1:-1;else for(i=o=0;i<n;i++)if(e[i]!=t[i]){o=e[i]>t[i]?1:-1;break}return o}function n(e,t,n,r){for(var i=0;n--;)e[n]-=i,i=e[n]<t[n]?1:0,e[n]=i*r+e[n]-t[n];for(;!e[0]&&e.length>1;)e.shift()}return function(r,i,o,a,s,u){var c,l,h,d,f,p,y,m,g,v,w,b,M,A,I,N,T,E,x,k,L=r.constructor,S=r.s==i.s?1:-1,j=r.d,D=i.d;if(!(j&&j[0]&&D&&D[0]))return new L(r.s&&i.s&&(j?!D||j[0]!=D[0]:D)?j&&0==j[0]||!D?0*S:S/0:NaN);for(u?(f=1,l=r.e-i.e):(u=lj,f=7,l=ij(r.e/f)-ij(i.e/f)),x=D.length,T=j.length,v=(g=new L(S)).d=[],h=0;D[h]==(j[h]||0);h++);if(D[h]>(j[h]||0)&&l--,null==o?(A=o=L.precision,a=L.rounding):A=s?o+(r.e-i.e)+1:o,A<0)v.push(1),p=!0;else{if(A=A/f+2|0,h=0,1==x){for(d=0,D=D[0],A++;(h<T||d)&&A--;h++)I=d*u+(j[h]||0),v[h]=I/D|0,d=I%D|0;p=d||h<T}else{for((d=u/(D[0]+1)|0)>1&&(D=e(D,d,u),j=e(j,d,u),x=D.length,T=j.length),N=x,b=(w=j.slice(0,x)).length;b<x;)w[b++]=0;(k=D.slice()).unshift(0),E=D[0],D[1]>=u/2&&++E;do{d=0,(c=t(D,w,x,b))<0?(M=w[0],x!=b&&(M=M*u+(w[1]||0)),(d=M/E|0)>1?(d>=u&&(d=u-1),1==(c=t(y=e(D,d,u),w,m=y.length,b=w.length))&&(d--,n(y,x<m?k:D,m,u))):(0==d&&(c=d=1),y=D.slice()),(m=y.length)<b&&y.unshift(0),n(w,y,b,u),-1==c&&(c=t(D,w,x,b=w.length))<1&&(d++,n(w,x<b?k:D,b,u)),b=w.length):0===c&&(d++,w=[0]),v[h++]=d,c&&w[0]?w[b++]=j[N]||0:(w=[j[N]],b=1)}while((N++<T||void 0!==w[0])&&A--);p=void 0!==w[0]}v[0]||v.shift()}if(1==f)g.e=l,GS=p;else{for(h=1,d=v[0];d>=10;d/=10)h++;g.e=h+l*f-1,wj(g,s?o+g.e+1:o,a,p)}return g}}();function wj(e,t,n,r){var i,o,a,s,u,c,l,h,d,f=e.constructor;e:if(null!=t){if(!(h=e.d))return e;for(i=1,s=h[0];s>=10;s/=10)i++;if((o=t-i)<0)o+=7,a=t,u=(l=h[d=0])/oj(10,i-a-1)%10|0;else if((d=Math.ceil((o+1)/7))>=(s=h.length)){if(!r)break e;for(;s++<=d;)h.push(0);l=u=0,i=1,a=(o%=7)-7+1}else{for(l=s=h[d],i=1;s>=10;s/=10)i++;u=(a=(o%=7)-7+i)<0?0:l/oj(10,i-a-1)%10|0}if(r=r||t<0||void 0!==h[d+1]||(a<0?l:l%oj(10,i-a-1)),c=n<4?(u||r)&&(0==n||n==(e.s<0?3:2)):u>5||5==u&&(4==n||r||6==n&&(o>0?a>0?l/oj(10,i-a):0:h[d-1])%10&1||n==(e.s<0?8:7)),t<1||!h[0])return h.length=0,c?(t-=e.e+1,h[0]=oj(10,(7-t%7)%7),e.e=-t||0):h[0]=e.e=0,e;if(0==o?(h.length=d,s=1,d--):(h.length=d+1,s=oj(10,7-o),h[d]=a>0?(l/oj(10,i-a)%oj(10,a)|0)*s:0),c)for(;;){if(0==d){for(o=1,a=h[0];a>=10;a/=10)o++;for(a=h[0]+=s,s=1;a>=10;a/=10)s++;o!=s&&(e.e++,h[0]==lj&&(h[0]=1));break}if(h[d]+=s,h[d]!=lj)break;h[d--]=0,s=1}for(o=h.length;0===h[--o];)h.pop()}return tj&&(e.e>f.maxE?(e.d=null,e.e=NaN):e.e<f.minE&&(e.e=0,e.d=[0])),e}function bj(e,t,n){if(!e.isFinite())return jj(e);var r,i=e.e,o=pj(e.d),a=o.length;return t?(n&&(r=n-a)>0?o=o.charAt(0)+"."+o.slice(1)+Tj(r):a>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Tj(-i-1)+o,n&&(r=n-a)>0&&(o+=Tj(r))):i>=a?(o+=Tj(i+1-a),n&&(r=n-i-1)>0&&(o=o+"."+Tj(r))):((r=i+1)<a&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-a)>0&&(i+1===a&&(o+="."),o+=Tj(r))),o}function Mj(e,t){var n=e[0];for(t*=7;n>=10;n/=10)t++;return t}function Aj(e,t,n){if(t>hj)throw tj=!0,n&&(e.precision=n),Error("[DecimalError] Precision limit exceeded");return wj(new e(KS),t,1,!0)}function Ij(e,t,n){if(t>dj)throw Error("[DecimalError] Precision limit exceeded");return wj(new e($S),t,n,!0)}function Nj(e){var t=e.length-1,n=7*t+1;if(t=e[t]){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function Tj(e){for(var t="";e--;)t+="0";return t}function Ej(e,t,n,r){var i,o=new e(1),a=Math.ceil(r/7+4);for(tj=!1;;){if(n%2&&Bj((o=o.times(t)).d,a)&&(i=!0),0===(n=ij(n/2))){n=o.d.length-1,i&&0===o.d[n]&&++o.d[n];break}Bj((t=t.times(t)).d,a)}return tj=!0,o}function xj(e){return 1&e.d[e.d.length-1]}function kj(e,t,n){for(var r,i=new e(t[0]),o=0;++o<t.length;){if(!(r=new e(t[o])).s){i=r;break}i[n](r)&&(i=r)}return i}function Lj(e,t){var n,r,i,o,a,s,u,c=0,l=0,h=0,d=e.constructor,f=d.rounding,p=d.precision;if(!e.d||!e.d[0]||e.e>17)return new d(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(null==t?(tj=!1,u=p):u=t,s=new d(.03125);e.e>-2;)e=e.times(s),h+=5;for(u+=r=Math.log(oj(2,h))/Math.LN10*2+5|0,n=o=a=new d(1),d.precision=u;;){if(o=wj(o.times(e),u,1),n=n.times(++l),pj((s=a.plus(vj(o,n,u,1))).d).slice(0,u)===pj(a.d).slice(0,u)){for(i=h;i--;)a=wj(a.times(a),u,1);if(null!=t)return d.precision=p,a;if(!(c<3&&mj(a.d,u-r,f,c)))return wj(a,d.precision=p,f,tj=!0);d.precision=u+=10,n=o=s=new d(1),l=0,c++}a=s}}function Sj(e,t){var n,r,i,o,a,s,u,c,l,h,d,f=1,p=e,y=p.d,m=p.constructor,g=m.rounding,v=m.precision;if(p.s<0||!y||!y[0]||!p.e&&1==y[0]&&1==y.length)return new m(y&&!y[0]?-1/0:1!=p.s?NaN:y?0:p);if(null==t?(tj=!1,l=v):l=t,m.precision=l+=10,r=(n=pj(y)).charAt(0),!(Math.abs(o=p.e)<15e14))return c=Aj(m,l+2,v).times(o+""),p=Sj(new m(r+"."+n.slice(1)),l-10).plus(c),m.precision=v,null==t?wj(p,v,g,tj=!0):p;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=pj((p=p.times(e)).d)).charAt(0),f++;for(o=p.e,r>1?(p=new m("0."+n),o++):p=new m(r+"."+n.slice(1)),h=p,u=a=p=vj(p.minus(1),p.plus(1),l,1),d=wj(p.times(p),l,1),i=3;;){if(a=wj(a.times(d),l,1),pj((c=u.plus(vj(a,new m(i),l,1))).d).slice(0,l)===pj(u.d).slice(0,l)){if(u=u.times(2),0!==o&&(u=u.plus(Aj(m,l+2,v).times(o+""))),u=vj(u,new m(f),l,1),null!=t)return m.precision=v,u;if(!mj(u.d,l-10,g,s))return wj(u,m.precision=v,g,tj=!0);m.precision=l+=10,c=a=p=vj(h.minus(1),h.plus(1),l,1),d=wj(p.times(p),l,1),i=s=1}u=c,i+=2}}function jj(e){return String(e.s*e.s/0)}function Dj(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;48===t.charCodeAt(r);r++);for(i=t.length;48===t.charCodeAt(i-1);--i);if(t=t.slice(r,i)){if(i-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%7,n<0&&(r+=7),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=7;r<i;)e.d.push(+t.slice(r,r+=7));r=7-(t=t.slice(r)).length}else r-=i;for(;r--;)t+="0";e.d.push(+t),tj&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function Cj(e,t){var n,r,i,o,a,s,u,c,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),cj.test(t))return Dj(e,t)}else if("Infinity"===t||"NaN"===t)return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(sj.test(t))n=16,t=t.toLowerCase();else if(aj.test(t))n=2;else{if(!uj.test(t))throw Error(nj+t);n=8}for((o=t.search(/p/i))>0?(u=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),a=(o=t.indexOf("."))>=0,r=e.constructor,a&&(o=(s=(t=t.replace(".","")).length)-o,i=Ej(r,new r(n),o,2*o)),o=l=(c=gj(t,n,lj)).length-1;0===c[o];--o)c.pop();return o<0?new r(0*e.s):(e.e=Mj(c,l),e.d=c,tj=!1,a&&(e=vj(e,i,4*s)),u&&(e=e.times(Math.abs(u)<54?oj(2,u):TD.pow(2,u))),tj=!0,e)}function Oj(e,t,n,r,i){var o,a,s,u,c=e.precision,l=Math.ceil(c/7);for(tj=!1,u=n.times(n),s=new e(r);;){if(a=vj(s.times(u),new e(t++*t++),c,1),s=i?r.plus(a):r.minus(a),r=vj(a.times(u),new e(t++*t++),c,1),void 0!==(a=s.plus(r)).d[l]){for(o=l;a.d[o]===s.d[o]&&o--;);if(-1==o)break}o=s,s=r,r=a,a=o}return tj=!0,a.d.length=l+1,a}function zj(e,t){for(var n=e;--t;)n*=e;return n}function Pj(e,t){var n,r=t.s<0,i=Ij(e,e.precision,1),o=i.times(.5);if((t=t.abs()).lte(o))return qS=r?4:1,t;if((n=t.divToInt(i)).isZero())qS=r?3:2;else{if((t=t.minus(n.times(i))).lte(o))return qS=xj(n)?r?2:3:r?4:1,t;qS=xj(n)?r?1:4:r?3:2}return t.minus(i).abs()}function _j(e,t,n,r){var i,o,a,s,u,c,l,h,d,f=e.constructor,p=void 0!==n;if(p?(yj(n,1,1e9),void 0===r?r=f.rounding:yj(r,0,8)):(n=f.precision,r=f.rounding),e.isFinite()){for(p?(i=2,16==t?n=4*n-3:8==t&&(n=3*n-2)):i=t,(a=(l=bj(e)).indexOf("."))>=0&&(l=l.replace(".",""),(d=new f(1)).e=l.length-a,d.d=gj(bj(d),10,i),d.e=d.d.length),o=u=(h=gj(l,10,i)).length;0==h[--u];)h.pop();if(h[0]){if(a<0?o--:((e=new f(e)).d=h,e.e=o,h=(e=vj(e,d,n,r,0,i)).d,o=e.e,c=GS),a=h[n],s=i/2,c=c||void 0!==h[n+1],c=r<4?(void 0!==a||c)&&(0===r||r===(e.s<0?3:2)):a>s||a===s&&(4===r||c||6===r&&1&h[n-1]||r===(e.s<0?8:7)),h.length=n,c)for(;++h[--n]>i-1;)h[n]=0,n||(++o,h.unshift(1));for(u=h.length;!h[u-1];--u);for(a=0,l="";a<u;a++)l+=XS.charAt(h[a]);if(p){if(u>1)if(16==t||8==t){for(a=16==t?4:3,--u;u%a;u++)l+="0";for(u=(h=gj(l,i,t)).length;!h[u-1];--u);for(a=1,l="1.";a<u;a++)l+=XS.charAt(h[a])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>u)for(o-=u;o--;)l+="0";else o<u&&(l=l.slice(0,o)+"."+l.slice(o))}else l=p?"0p+0":"0";l=(16==t?"0x":2==t?"0b":8==t?"0o":"")+l}else l=jj(e);return e.s<0?"-"+l:l}function Bj(e,t){if(e.length>t)return e.length=t,!0}function Rj(e){return new this(e).abs()}function Uj(e){return new this(e).acos()}function Qj(e){return new this(e).acosh()}function Wj(e,t){return new this(e).plus(t)}function Yj(e){return new this(e).asin()}function Fj(e){return new this(e).asinh()}function Vj(e){return new this(e).atan()}function Hj(e){return new this(e).atanh()}function Gj(e,t){e=new this(e),t=new this(t);var n,r=this.precision,i=this.rounding,o=r+4;return e.s&&t.s?e.d||t.d?!t.d||e.isZero()?(n=t.s<0?Ij(this,r,i):new this(0)).s=e.s:!e.d||t.isZero()?(n=Ij(this,o,1).times(.5)).s=e.s:t.s<0?(this.precision=o,this.rounding=1,n=this.atan(vj(e,t,o,1)),t=Ij(this,o,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(vj(e,t,o,1)):(n=Ij(this,o,1).times(t.s>0?.25:.75)).s=e.s:n=new this(NaN),n}function qj(e){return new this(e).cbrt()}function Zj(e){return wj(e=new this(e),e.e+1,2)}function Jj(e,t,n){return new this(e).clamp(t,n)}function Xj(e){if(!e||"object"!=typeof e)throw Error("[DecimalError] Object expected");var t,n,r,i=!0===e.defaults,o=["precision",1,1e9,"rounding",0,8,"toExpNeg",-JS,0,"toExpPos",0,JS,"maxE",0,JS,"minE",-JS,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],i&&(this[n]=ej[n]),void 0!==(r=e[n])){if(!(ij(r)===r&&r>=o[t+1]&&r<=o[t+2]))throw Error(nj+n+": "+r);this[n]=r}if(n="crypto",i&&(this[n]=ej[n]),void 0!==(r=e[n])){if(!0!==r&&!1!==r&&0!==r&&1!==r)throw Error(nj+n+": "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error("[DecimalError] crypto unavailable");this[n]=!0}else this[n]=!1}return this}function Kj(e){return new this(e).cos()}function $j(e){return new this(e).cosh()}function eD(e,t){return new this(e).div(t)}function tD(e){return new this(e).exp()}function nD(e){return wj(e=new this(e),e.e+1,3)}function rD(){var e,t,n=new this(0);for(tj=!1,e=0;e<arguments.length;)if((t=new this(arguments[e++])).d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return tj=!0,new this(1/0);n=t}return tj=!0,n.sqrt()}function iD(e){return e instanceof TD||e&&e.toStringTag===rj||!1}function oD(e){return new this(e).ln()}function aD(e,t){return new this(e).log(t)}function sD(e){return new this(e).log(2)}function uD(e){return new this(e).log(10)}function cD(){return kj(this,arguments,"lt")}function lD(){return kj(this,arguments,"gt")}function hD(e,t){return new this(e).mod(t)}function dD(e,t){return new this(e).mul(t)}function fD(e,t){return new this(e).pow(t)}function pD(e){var t,n,r,i,o=0,a=new this(1),s=[];if(void 0===e?e=this.precision:yj(e,1,1e9),r=Math.ceil(e/7),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));o<r;)(i=t[o])>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:s[o++]=i%1e7;else{if(!crypto.randomBytes)throw Error("[DecimalError] crypto unavailable");for(t=crypto.randomBytes(r*=4);o<r;)(i=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((127&t[o+3])<<24))>=214e7?crypto.randomBytes(4).copy(t,o):(s.push(i%1e7),o+=4);o=r/4}else for(;o<r;)s[o++]=1e7*Math.random()|0;for(e%=7,(r=s[--o])&&e&&(i=oj(10,7-e),s[o]=(r/i|0)*i);0===s[o];o--)s.pop();if(o<0)n=0,s=[0];else{for(n=-1;0===s[0];n-=7)s.shift();for(r=1,i=s[0];i>=10;i/=10)r++;r<7&&(n-=7-r)}return a.e=n,a.d=s,a}function yD(e){return wj(e=new this(e),e.e+1,this.rounding)}function mD(e){return(e=new this(e)).d?e.d[0]?e.s:0*e.s:e.s||NaN}function gD(e){return new this(e).sin()}function vD(e){return new this(e).sinh()}function wD(e){return new this(e).sqrt()}function bD(e,t){return new this(e).sub(t)}function MD(){var e=0,t=arguments,n=new this(t[e]);for(tj=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return tj=!0,wj(n,this.precision,this.rounding)}function AD(e){return new this(e).tan()}function ID(e){return new this(e).tanh()}function ND(e){return wj(e=new this(e),e.e+1,1)}fj[Symbol.for("nodejs.util.inspect.custom")]=fj.toString,fj[Symbol.toStringTag]="Decimal";var TD=fj.constructor=function e(t){var n,r,i;function o(e){var t,n,r,i=this;if(!(i instanceof o))return new o(e);if(i.constructor=o,iD(e))return i.s=e.s,void(tj?!e.d||e.e>o.maxE?(i.e=NaN,i.d=null):e.e<o.minE?(i.e=0,i.d=[0]):(i.e=e.e,i.d=e.d.slice()):(i.e=e.e,i.d=e.d?e.d.slice():e.d));if("number"===(r=typeof e)){if(0===e)return i.s=1/e<0?-1:1,i.e=0,void(i.d=[0]);if(e<0?(e=-e,i.s=-1):i.s=1,e===~~e&&e<1e7){for(t=0,n=e;n>=10;n/=10)t++;return void(tj?t>o.maxE?(i.e=NaN,i.d=null):t<o.minE?(i.e=0,i.d=[0]):(i.e=t,i.d=[e]):(i.e=t,i.d=[e]))}return 0*e!=0?(e||(i.s=NaN),i.e=NaN,void(i.d=null)):Dj(i,e.toString())}if("string"!==r)throw Error(nj+e);return 45===(n=e.charCodeAt(0))?(e=e.slice(1),i.s=-1):(43===n&&(e=e.slice(1)),i.s=1),cj.test(e)?Dj(i,e):Cj(i,e)}if(o.prototype=fj,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.EUCLID=9,o.config=o.set=Xj,o.clone=e,o.isDecimal=iD,o.abs=Rj,o.acos=Uj,o.acosh=Qj,o.add=Wj,o.asin=Yj,o.asinh=Fj,o.atan=Vj,o.atanh=Hj,o.atan2=Gj,o.cbrt=qj,o.ceil=Zj,o.clamp=Jj,o.cos=Kj,o.cosh=$j,o.div=eD,o.exp=tD,o.floor=nD,o.hypot=rD,o.ln=oD,o.log=aD,o.log10=uD,o.log2=sD,o.max=cD,o.min=lD,o.mod=hD,o.mul=dD,o.pow=fD,o.random=pD,o.round=yD,o.sign=mD,o.sin=gD,o.sinh=vD,o.sqrt=wD,o.sub=bD,o.sum=MD,o.tan=AD,o.tanh=ID,o.trunc=ND,void 0===t&&(t={}),t&&!0!==t.defaults)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],n=0;n<i.length;)t.hasOwnProperty(r=i[n++])||(t[r]=this[r]);return o.config(t),o}(ej);function ED(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}KS=new TD(KS),$S=new TD($S);class xD{constructor({blockchain:e,tokenIn:t,decimalsIn:n,tokenOut:r,decimalsOut:i,path:o,pools:a,amountIn:s,amountInMax:u,amountOut:c,amountOutMin:l,exchange:h,approvalRequired:d,getApproval:f,getPrep:p,getTransaction:y}){this.blockchain=e,this.tokenIn=t,this.decimalsIn=n,this.tokenOut=r,this.decimalsOut=i,this.path=o,this.pools=a,this.amountIn=ED([s,"optionalAccess",e=>e.toString,"call",e=>e()]),this.amountOutMin=ED([l,"optionalAccess",e=>e.toString,"call",e=>e()]),this.amountOut=ED([c,"optionalAccess",e=>e.toString,"call",e=>e()]),this.amountInMax=ED([u,"optionalAccess",e=>e.toString,"call",e=>e()]),this.exchange=h,this.getPrep=p,this.getTransaction=y}}let kD=["ethereum","bsc","polygon","solana","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"];kD.evm=["ethereum","bsc","polygon","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"],kD.solana=["solana"];const LD=async({exchange:e,blockchain:t,pools:n,exchangePath:r,amountIn:i,amountOut:o})=>{let a=i.add(i.mul(100*parseFloat("0.5")).div(1e4));if(!kD.evm.includes(e.blockchain||t))return a;const s=await _I({blockchain:e.blockchain||t,method:"latestBlockNumber"});let u=[];for(var c=0;c<=2;c++)u.push(s-c);const l=await Promise.all(u.map((async i=>{let{amountIn:a}=await e.getAmounts({exchange:e,blockchain:t,path:r,pools:n,amountOut:o,block:i});return a})));if(!l[0]||!l[1]||!l[2])return a;let h;if(l[0].gt(l[1])&&l[1].gt(l[2])){const e=l[0].sub(l[1]),t=l[1].sub(l[2]),n=e.add(t).div(2);if(h=l[0].add(n),h.gt(a))return h}else if(!l[0].eq(l[1])&&!l[1].eq(l[2])){const e=l[0].sub(l[1]).abs(),t=l[1].sub(l[2]).abs();let n,r;if(n=e.lt(t)?e:t,r=l[0].gt(l[1])&&l[0].gt(l[2])?l[0]:l[1].gt(l[2])&&l[1].gt(l[0])?l[1]:l[2],h=r.add(n),h.gt(a))return h}return a},SD=async({exchange:e,blockchain:t,pools:n,exchangePath:r,amounts:i,tokenIn:o,tokenOut:a,amountIn:s,amountInMax:u,amountOut:c,amountOutMin:l,amountInInput:h,amountOutInput:d,amountInMaxInput:f,amountOutMinInput:p})=>{if(p||d){if(kD.evm.includes(e.blockchain||t))s=u=await LD({exchange:e,blockchain:t,pools:n,exchangePath:r,amountIn:s,amountOut:p||c});else if(kD.solana.includes(e.blockchain||t)){let t=[];await Promise.all(r.map(((o,a)=>{if(0!=a){let o=LD({exchange:e,pools:n,exchangePath:[r[a-1],r[a]],amountIn:i[a-1],amountOut:i[a]});return o.then((e=>t.push(e))),o}}))),t.push(i[i.length-1]),s=u=(i=t)[0]}}else if((f||h)&&kD.solana.includes(e.blockchain||t)){let t=[];await Promise.all(r.map(((n,o)=>{if(0!==o&&o<r.length-1)t.unshift(i[o]);else if(o===r.length-1){let n=(async({exchange:e,exchangePath:t,amountOut:n,amountIn:r})=>n.sub(n.mul(100*parseFloat("0.5")).div(1e4)))({exchange:e,exchangePath:[r[o-1],r[o]],amountIn:i[o-1],amountOut:i[o]});return n.then((e=>(t.unshift(e),e))),n}}))),t.push(i[0]),c=l=(i=t.slice().reverse())[i.length-1]}return{amountIn:s,amountInMax:u,amountOut:c,amountOutMin:l,amounts:i}},jD=e=>e.match("0x")?om(e):e;let DD=async({amount:e,blockchain:t,address:n})=>await RS.BigNumber({amount:e,blockchain:t,address:n}),CD=async({blockchain:e,exchange:t,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s})=>{let u={exchange:t,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s};return o&&"number"==typeof o&&(u.amountOut=await DD({amount:o,blockchain:e,address:r})),s&&"number"==typeof s&&(u.amountOutMin=await DD({amount:s,blockchain:e,address:r})),i&&"number"==typeof i&&(u.amountIn=await DD({amount:i,blockchain:e,address:n})),a&&"number"==typeof a&&(u.amountInMax=await DD({amount:a,blockchain:e,address:n})),u};class OD{constructor(...e){Object.assign(this,...e)}async route({blockchain:e,tokenIn:t,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a,slippage:s}){return t===n?Promise.resolve():(void 0===e&&(this.scope?e=this.scope:1===this.blockchains.length&&(e=this.blockchains[0])),(({blockchain:e,exchange:t,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s})=>{if(void 0===e&&null!=t.blockchains&&t.blockchains.length>1)throw"You need to provide a blockchain when calling route on an exchange that supports multiple blockchains!";if(void 0!==o&&void 0!==i)throw"You cannot set amountIn and amountOut at the same time, use amountInMax or amountOutMin to describe the non exact part of the swap!";if(void 0!==a&&void 0!==s)throw"You cannot set amountInMax and amountOutMin at the same time, use amountIn or amountOut to describe the part of the swap that needs to be exact!";if(void 0!==i&&void 0!==a)throw"Setting amountIn and amountInMax at the same time makes no sense. Decide if amountIn needs to be exact or not!";if(void 0!==o&&void 0!==s)throw"Setting amountOut and amountOutMin at the same time makes no sense. Decide if amountOut needs to be exact or not!"})({blockchain:e,exchange:this,tokenIn:t,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a}),await(({blockchain:e,exchange:t,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s,findPath:u,getAmounts:c,getPrep:l,getTransaction:h,slippage:d})=>{if(n=jD(n),r=jD(r),[i,o,a,s].filter(Boolean).length>1)throw"You can only pass one: amountIn, amountOut, amountInMax or amountOutMin";if([i,o,a,s].filter(Boolean).length<1)throw"You need to pass exactly one: amountIn, amountOut, amountInMax or amountOutMin";return new Promise((async f=>{let{path:p,exchangePath:y,pools:m}=await u({blockchain:e,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s});if(void 0===p||0==p.length)return f();let g,[v,w,b,M]=[i,o,a,s];try{({amountIn:i,amountInMax:a,amountOut:o,amountOutMin:s,amounts:g}=await c({exchange:t,blockchain:e,path:p,pools:m,tokenIn:n,tokenOut:r,amountIn:i,amountInMax:a,amountOut:o,amountOutMin:s}))}catch(e){return f()}if([i,a,o,s].every((e=>null==e)))return f();if(t.slippage&&!1!==d)try{({amountIn:i,amountInMax:a,amountOut:o,amountOutMin:s,amounts:g}=await SD({exchange:t,blockchain:e,pools:m,exchangePath:y,amounts:g,tokenIn:n,tokenOut:r,amountIn:i,amountInMax:a,amountOut:o,amountOutMin:s,amountInInput:v,amountOutInput:w,amountInMaxInput:b,amountOutMinInput:M}))}catch(e){return f()}const A=await new RS({blockchain:e,address:n}).decimals(),I=await new RS({blockchain:e,address:r}).decimals();f(new xD({blockchain:e,tokenIn:n,decimalsIn:A,tokenOut:r,decimalsOut:I,path:p,pools:m,amountIn:i,amountInMax:a,amountOut:o,amountOutMin:s,exchange:t,getPrep:async({account:o})=>await l({exchange:t,blockchain:e,tokenIn:n,tokenOut:r,amountIn:i||a,account:o}),getTransaction:async({account:n,permit2:r,inputTokenPushed:u})=>await h({exchange:t,blockchain:e,pools:m,path:p,amountIn:i,amountInMax:a,amountOut:o,amountOutMin:s,amounts:g,amountInInput:v,amountOutInput:w,amountInMaxInput:b,amountOutMinInput:M,account:n,permit2:r,inputTokenPushed:u})}))}))})({...await CD({blockchain:e,exchange:this,tokenIn:t,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a}),blockchain:e,findPath:this.findPath,getAmounts:this.getAmounts,getPrep:this.getPrep,getTransaction:this.getTransaction,slippage:s}))}}function zD(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}const PD=({blockchain:e,exchange:t,path:n})=>{if(!n)return;let r=n.map(((t,r)=>t===Vf[e].currency.address&&n[r+1]!=Vf[e].wrapped.address&&n[r-1]!=Vf[e].wrapped.address?Vf[e].wrapped.address:t));return r[0]==Vf[e].currency.address&&r[1]==Vf[e].wrapped.address?r.splice(0,1):r[r.length-1]==Vf[e].currency.address&&r[r.length-2]==Vf[e].wrapped.address&&r.splice(r.length-1,1),r},_D=({reserves:e,min:t,token:n,token0:r,token1:i,decimals:o})=>r.toLowerCase()==n.toLowerCase()?e[0].gte(uI(t.toString(),o)):i.toLowerCase()==n.toLowerCase()&&e[1].gte(uI(t.toString(),o)),BD=async({blockchain:e,exchange:t,path:n})=>{const r=PD({blockchain:e,exchange:t,path:n});if(!r||1===r.length)return!1;try{let i=await _I({blockchain:e,address:t[e].factory.address,method:"getPair",api:t[e].factory.api,cache:36e5,params:PD({blockchain:e,exchange:t,path:n})});if(!i||i==Vf[e].zero)return!1;let[o,a,s]=await Promise.all([_I({blockchain:e,address:i,method:"getReserves",api:t[e].pair.api,cache:36e5}),_I({blockchain:e,address:i,method:"token0",api:t[e].pair.api,cache:36e5}),_I({blockchain:e,address:i,method:"token1",api:t[e].pair.api,cache:36e5})]);if(r.includes(Vf[e].wrapped.address))return _D({min:1,token:Vf[e].wrapped.address,decimals:Vf[e].currency.decimals,reserves:o,token0:a,token1:s});if(n.find((t=>Vf[e].stables.usd.includes(t)))){let t=n.find((t=>Vf[e].stables.usd.includes(t))),r=new RS({blockchain:e,address:t}),i=await r.decimals();return _D({min:1e3,token:t,decimals:i,reserves:o,token0:a,token1:s})}return!0}catch(e){return console.log("e",e),!1}};let RD=({blockchain:e,exchange:t,path:n,amountIn:r,tokenIn:i,tokenOut:o})=>new Promise((i=>{_I({blockchain:e,address:t[e].router.address,method:"getAmountsOut",api:t[e].router.api,params:{amountIn:r,path:PD({blockchain:e,exchange:t,path:n})}}).then((e=>{i(e[e.length-1])})).catch((()=>i()))})),UD=({blockchain:e,exchange:t,path:n,amountOut:r,block:i})=>new Promise((o=>{_I({blockchain:e,address:t[e].router.address,method:"getAmountsIn",api:t[e].router.api,params:{amountOut:r,path:PD({blockchain:e,exchange:t,path:n})},block:i}).then((e=>o(e[0]))).catch((()=>o()))}));var QD={findPath:async({blockchain:e,exchange:t,tokenIn:n,tokenOut:r})=>{if([n,r].includes(Vf[e].currency.address)&&[n,r].includes(Vf[e].wrapped.address))return{path:void 0,exchangePath:void 0};let i;if(await BD({blockchain:e,exchange:t,path:[n,r]}))i=[n,r];else if(n!=Vf[e].wrapped.address&&await BD({blockchain:e,exchange:t,path:[n,Vf[e].wrapped.address]})&&r!=Vf[e].wrapped.address&&await BD({blockchain:e,exchange:t,path:[r,Vf[e].wrapped.address]}))i=[n,Vf[e].wrapped.address,r];else if(!Vf[e].stables.usd.includes(n)&&(await Promise.all(Vf[e].stables.usd.map((r=>BD({blockchain:e,exchange:t,path:[n,r]}))))).filter(Boolean).length&&r!=Vf[e].wrapped.address&&await BD({blockchain:e,exchange:t,path:[Vf[e].wrapped.address,r]})){let o=(await Promise.all(Vf[e].stables.usd.map((async r=>await BD({blockchain:e,exchange:t,path:[n,r]})?r:void 0)))).find(Boolean);i=[n,o,Vf[e].wrapped.address,r]}else if(n!=Vf[e].wrapped.address&&await BD({blockchain:e,exchange:t,path:[n,Vf[e].wrapped.address]})&&!Vf[e].stables.usd.includes(r)&&(await Promise.all(Vf[e].stables.usd.map((n=>BD({blockchain:e,exchange:t,path:[n,r]}))))).filter(Boolean).length){let o=(await Promise.all(Vf[e].stables.usd.map((async n=>await BD({blockchain:e,exchange:t,path:[n,r]})?n:void 0)))).find(Boolean);i=[n,Vf[e].wrapped.address,o,r]}return zD([i,"optionalAccess",e=>e.length])&&i[0]==Vf[e].currency.address?i.splice(1,0,Vf[e].wrapped.address):zD([i,"optionalAccess",e=>e.length])&&i[i.length-1]==Vf[e].currency.address&&i.splice(i.length-1,0,Vf[e].wrapped.address),{path:i,exchangePath:PD({blockchain:e,exchange:t,path:i})}},pathExists:BD,getAmounts:async({blockchain:e,exchange:t,path:n,block:r,tokenIn:i,tokenOut:o,amountOut:a,amountIn:s,amountInMax:u,amountOutMin:c})=>{if(a){if(null==(s=await UD({blockchain:e,exchange:t,block:r,path:n,amountOut:a,tokenIn:i,tokenOut:o}))||u&&s.gt(u))return{};void 0===u&&(u=s)}else if(s){if(null==(a=await RD({blockchain:e,exchange:t,path:n,amountIn:s,tokenIn:i,tokenOut:o}))||c&&a.lt(c))return{};void 0===c&&(c=a)}else if(c){if(null==(s=await UD({blockchain:e,exchange:t,block:r,path:n,amountOut:c,tokenIn:i,tokenOut:o}))||u&&s.gt(u))return{};void 0===u&&(u=s)}else if(u){if(null==(a=await RD({blockchain:e,exchange:t,path:n,amountIn:u,tokenIn:i,tokenOut:o}))||c&&a.lt(c))return{};void 0===c&&(c=a)}return{amountOut:a,amountIn:s,amountInMax:u,amountOutMin:c}},getPrep:async({exchange:e,blockchain:t,tokenIn:n,amountIn:r,account:i})=>{if(n===Vf[t].currency.address)return;const o=await _I({blockchain:t,address:n,method:"allowance",api:RS[t][20],params:[i,e[t].router.address]});if(o.gte(r))return;return{transaction:{blockchain:t,from:i,to:n,api:RS[t][20],method:"approve",params:[e[t].router.address,r.sub(o)]}}},getTransaction:({exchange:e,blockchain:t,path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,account:h})=>{let d={blockchain:t,from:h,to:e[t].router.address,api:e[t].router.api};return n[0]===Vf[t].currency.address?s||l?(d.method="swapExactETHForTokens",d.value=r.toString(),d.params={amountOutMin:a.toString()}):(u||c)&&(d.method="swapETHForExactTokens",d.value=i.toString(),d.params={amountOut:o.toString()}):n[n.length-1]===Vf[t].currency.address?s||l?(d.method="swapExactTokensForETH",d.params={amountIn:r.toString(),amountOutMin:a.toString()}):(u||c)&&(d.method="swapTokensForExactETH",d.params={amountInMax:i.toString(),amountOut:o.toString()}):s||l?(d.method="swapExactTokensForTokens",d.params={amountIn:r.toString(),amountOutMin:a.toString()}):(u||c)&&(d.method="swapTokensForExactTokens",d.params={amountInMax:i.toString(),amountOut:o.toString()}),d.params=Object.assign({},d.params,{path:PD({blockchain:t,exchange:e,path:n}),to:h,deadline:Math.round(Date.now()/1e3)+86400}),d},ROUTER:[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],FACTORY:[{inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token0",type:"address"},{indexed:!0,internalType:"address",name:"token1",type:"address"},{indexed:!1,internalType:"address",name:"pair",type:"address"},{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"PairCreated",type:"event"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"allPairs",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"allPairsLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"}],name:"createPair",outputs:[{internalType:"address",name:"pair",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"feeTo",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"feeToSetter",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"getPair",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_feeTo",type:"address"}],name:"setFeeTo",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],name:"setFeeToSetter",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],PAIR:[{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount0Out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1Out",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint112",name:"reserve0",type:"uint112"},{indexed:!1,internalType:"uint112",name:"reserve1",type:"uint112"}],name:"Sync",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{constant:!0,inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"MINIMUM_LIQUIDITY",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"burn",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getReserves",outputs:[{internalType:"uint112",name:"_reserve0",type:"uint112"},{internalType:"uint112",name:"_reserve1",type:"uint112"},{internalType:"uint32",name:"_blockTimestampLast",type:"uint32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_token0",type:"address"},{internalType:"address",name:"_token1",type:"address"}],name:"initialize",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"kLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"mint",outputs:[{internalType:"uint256",name:"liquidity",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"price0CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"price1CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"skim",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount0Out",type:"uint256"},{internalType:"uint256",name:"amount1Out",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"sync",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"token0",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"token1",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"}]};const WD={name:"honeyswap",label:"Honeyswap",logo:"data:image/png;base64,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",protocol:"uniswap_v2",slippage:!0,blockchains:["gnosis"],gnosis:{router:{address:"0x1C232F01118CB8B424793ae03F870aa7D0ac7f77",api:QD.ROUTER},factory:{address:"0xA818b4F111Ccac7AA31D0BCc0806d64F2E0737D7",api:QD.FACTORY},pair:{api:QD.PAIR}}};var YD=e=>new OD(Object.assign(WD,{scope:e,findPath:e=>QD.findPath({...e,exchange:WD}),pathExists:e=>QD.pathExists({...e,exchange:WD}),getAmounts:e=>QD.getAmounts({...e,exchange:WD}),getPrep:e=>QD.getPrep({...e,exchange:WD}),getTransaction:e=>QD.getTransaction({...e,exchange:WD})}));const FD="79226673515401279992447579055",VD=e=>-e;class HD{static priceToSqrtPriceX64(e,t,n){return r=e.mul(TD.pow(10,n-t)).sqrt(),new ef(r.mul(TD.pow(2,64)).floor().toFixed());var r}static sqrtPriceX64ToPrice(e,t,n){return(r=e,new TD(r.toString()).mul(TD.pow(2,-64))).pow(2).mul(TD.pow(10,t-n));var r}static tickIndexToSqrtPriceX64(e){return new ef(e>0?function(e){let t;t=new ef(0!=(1&e)?"79232123823359799118286999567":"79228162514264337593543950336");0!=(2&e)&&(t=GD(t.mul(new ef("79236085330515764027303304731")),96,256));0!=(4&e)&&(t=GD(t.mul(new ef("79244008939048815603706035061")),96,256));0!=(8&e)&&(t=GD(t.mul(new ef("79259858533276714757314932305")),96,256));0!=(16&e)&&(t=GD(t.mul(new ef("79291567232598584799939703904")),96,256));0!=(32&e)&&(t=GD(t.mul(new ef("79355022692464371645785046466")),96,256));0!=(64&e)&&(t=GD(t.mul(new ef("79482085999252804386437311141")),96,256));0!=(128&e)&&(t=GD(t.mul(new ef("79736823300114093921829183326")),96,256));0!=(256&e)&&(t=GD(t.mul(new ef("80248749790819932309965073892")),96,256));0!=(512&e)&&(t=GD(t.mul(new ef("81282483887344747381513967011")),96,256));0!=(1024&e)&&(t=GD(t.mul(new ef("83390072131320151908154831281")),96,256));0!=(2048&e)&&(t=GD(t.mul(new ef("87770609709833776024991924138")),96,256));0!=(4096&e)&&(t=GD(t.mul(new ef("97234110755111693312479820773")),96,256));0!=(8192&e)&&(t=GD(t.mul(new ef("119332217159966728226237229890")),96,256));0!=(16384&e)&&(t=GD(t.mul(new ef("179736315981702064433883588727")),96,256));0!=(32768&e)&&(t=GD(t.mul(new ef("407748233172238350107850275304")),96,256));0!=(65536&e)&&(t=GD(t.mul(new ef("2098478828474011932436660412517")),96,256));0!=(131072&e)&&(t=GD(t.mul(new ef("55581415166113811149459800483533")),96,256));0!=(262144&e)&&(t=GD(t.mul(new ef("38992368544603139932233054999993551")),96,256));return GD(t,32,256)}(e):function(e){let t,n=Math.abs(e);t=new ef(0!=(1&n)?"18445821805675392311":"18446744073709551616");0!=(2&n)&&(t=GD(t.mul(new ef("18444899583751176498")),64,256));0!=(4&n)&&(t=GD(t.mul(new ef("18443055278223354162")),64,256));0!=(8&n)&&(t=GD(t.mul(new ef("18439367220385604838")),64,256));0!=(16&n)&&(t=GD(t.mul(new ef("18431993317065449817")),64,256));0!=(32&n)&&(t=GD(t.mul(new ef("18417254355718160513")),64,256));0!=(64&n)&&(t=GD(t.mul(new ef("18387811781193591352")),64,256));0!=(128&n)&&(t=GD(t.mul(new ef("18329067761203520168")),64,256));0!=(256&n)&&(t=GD(t.mul(new ef("18212142134806087854")),64,256));0!=(512&n)&&(t=GD(t.mul(new ef("17980523815641551639")),64,256));0!=(1024&n)&&(t=GD(t.mul(new ef("17526086738831147013")),64,256));0!=(2048&n)&&(t=GD(t.mul(new ef("16651378430235024244")),64,256));0!=(4096&n)&&(t=GD(t.mul(new ef("15030750278693429944")),64,256));0!=(8192&n)&&(t=GD(t.mul(new ef("12247334978882834399")),64,256));0!=(16384&n)&&(t=GD(t.mul(new ef("8131365268884726200")),64,256));0!=(32768&n)&&(t=GD(t.mul(new ef("3584323654723342297")),64,256));0!=(65536&n)&&(t=GD(t.mul(new ef("696457651847595233")),64,256));0!=(131072&n)&&(t=GD(t.mul(new ef("26294789957452057")),64,256));0!=(262144&n)&&(t=GD(t.mul(new ef("37481735321082")),64,256));return t}(e))}static sqrtPriceX64ToTickIndex(e){if(e.gt(new ef(FD))||e.lt(new ef("4295048016")))throw new Error("Provided sqrtPrice is not within the supported sqrtPrice range.");const t=e.bitLength()-1,n=function(e,t,n){let r=e.toTwos(n).shln(t);return r.imaskn(n+1),r.fromTwos(n)}(new ef(t-64),32,128);let r=new ef("8000000000000000","hex"),i=0,o=new ef(0),a=t>=64?e.shrn(t-63):e.shln(63-t);for(;r.gt(new ef(0))&&i<14;){a=a.mul(a);let e=a.shrn(127);a=a.shrn(63+e.toNumber()),o=o.add(r.mul(e)),r=r.shrn(1),i+=1}const s=o.shrn(32),u=n.add(s).mul(new ef("59543866431248")),c=GD(u.sub(new ef("184467440737095516")),64,128).toNumber(),l=GD(u.add(new ef("15793534762490258745")),64,128).toNumber();if(c==l)return c;return HD.tickIndexToSqrtPriceX64(l).lte(e)?l:c}static tickIndexToPrice(e,t,n){return HD.sqrtPriceX64ToPrice(HD.tickIndexToSqrtPriceX64(e),t,n)}static priceToTickIndex(e,t,n){return HD.sqrtPriceX64ToTickIndex(HD.priceToSqrtPriceX64(e,t,n))}static priceToInitializableTickIndex(e,t,n,r){return((e,t)=>e-e%t)(HD.priceToTickIndex(e,t,n),r)}static invertPrice(e,t,n){const r=HD.priceToTickIndex(e,t,n),i=VD(r);return HD.tickIndexToPrice(i,n,t)}static invertSqrtPriceX64(e){const t=HD.sqrtPriceX64ToTickIndex(e),n=VD(t);return HD.tickIndexToSqrtPriceX64(n)}}function GD(e,t,n){let r=e.toTwos(n).shrn(t);return r.imaskn(n-t+1),r.fromTwos(n-t)}const qD=new ef(1e4),ZD=new ef(1e6),JD=new ef(0),XD=new ef(1),KD=new ef(2),$D=KD.pow(new ef(64)).sub(XD);class eC extends ef{toBuffer(){const e=super.toArray().reverse(),t=buffer.Buffer.from(e);if(8===t.length)return t;assert__default.default(t.length<8,"u64 too large");const n=buffer.Buffer.alloc(8);return t.copy(n),n}static fromBuffer(e){return assert__default.default(8===e.length,`Invalid buffer length: ${e.length}`),new eC([...e].reverse().map((e=>`00${e.toString(16)}`.slice(-2))).join(""),16)}}class tC{static mul(e,t,n){const r=e.mul(t);if(this.isOverLimit(r,n))throw new Error(`Mul result higher than u${n}`);return r}static mulDiv(e,t,n,r){return this.mulDivRoundUpIf(e,t,n,!1,r)}static mulDivRoundUp(e,t,n,r){return this.mulDivRoundUpIf(e,t,n,!0,r)}static mulDivRoundUpIf(e,t,n,r,i){if(n.eq(JD))throw new Error("mulDiv denominator is zero");const o=this.mul(e,t,i),a=o.div(n);return r&&o.mod(n).gt(JD)?a.add(XD):a}static checked_mul_shift_right(e,t,n){return this.checked_mul_shift_right_round_up_if(e,t,!1,n)}static checked_mul_shift_right_round_up_if(e,t,n,r){if(e.eq(JD)||t.eq(JD))return JD;const i=this.mul(e,t,r);if(this.isOverLimit(i,r))throw new Error(`MulShiftRight overflowed u${r}.`);const o=i.div(new ef(2).pow(new ef(64)));const a=n&&o.and($D).gt(JD);if(a&&o.eq($D))throw new Error(`MulShiftRight overflowed u${r}.`);return a?o.add(XD):o}static isOverLimit(e,t){const n=KD.pow(new ef(t)).sub(XD);return e.gt(n)}static divRoundUp(e,t){return this.divRoundUpIf(e,t,!0)}static divRoundUpIf(e,t,n){if(t.eq(JD))throw new Error("divRoundUpIf - divide by zero");let r=e.div(t);return n&&e.mod(t).gt(JD)?r.add(XD):r}}const nC=(e,t,n)=>{const r=HD.tickIndexToSqrtPriceX64(e);return{nextTickPrice:r,nextSqrtPriceLimit:n?ef.max(t,r):ef.min(t,r)}},rC=(e,t)=>e.gt(t)?[t,e]:[e,t],iC=(e,t,n,r)=>{let[i,o]=rC(e,t),a=o.sub(i),s=n.mul(a).shln(64),u=i.mul(o),c=s.div(u),l=s.mod(u),h=r&&!l.eq(JD)?c.add(XD):c;if(h.gt($D))throw new Error("Results larger than U64");return h},oC=(e,t,n,r)=>{let[i,o]=rC(e,t),a=o.sub(i);return tC.checked_mul_shift_right_round_up_if(n,a,r,128)},aC=(e,t,n,r,i)=>r===i?((e,t,n,r)=>{if(n.eq(JD))return e;let i=tC.mul(e,n,256),o=tC.mul(t,e,256).shln(64);if(tC.isOverLimit(o,256))throw new Error("getNextSqrtPriceFromARoundUp - numerator overflow u256");let a=t.shln(64);if(!r&&a.lte(i))throw new Error("getNextSqrtPriceFromARoundUp - Unable to divide currLiquidityX64 by product");let s=r?a.add(i):a.sub(i),u=tC.divRoundUp(o,s);if(u.lt(new ef("4295048016")))throw new Error("getNextSqrtPriceFromARoundUp - price less than min sqrt price");if(u.gt(new ef(FD)))throw new Error("getNextSqrtPriceFromARoundUp - price less than max sqrt price");return u})(e,t,n,r):((e,t,n,r)=>{let i=n.shln(64),o=tC.divRoundUpIf(i,t,!r);return r?e.add(o):e.sub(o)})(e,t,n,r),sC=(e,t,n,r,i)=>i===r?iC(e,t,n,r):oC(e,t,n,r),uC=(e,t,n,r,i,o,a)=>{let s=sC(r,i,n,o,a),u=e;if(o){u=tC.mulDiv(e,ZD.sub(new ef(t)),ZD,128)}let c=u.gte(s)?i:aC(r,n,u,o,a),l=c.eq(i),h=((e,t,n,r,i)=>i===r?oC(e,t,n,!r):iC(e,t,n,!r))(r,c,n,o,a);l||(s=sC(r,c,n,o,a));let d,f=o?s:h,p=o?h:s;if(!o&&p.gt(e)&&(p=e),o&&!l)d=e.sub(f);else{const e=new ef(t);d=tC.mulDivRoundUp(f,e,ZD.sub(e),128)}return{amountIn:f,amountOut:p,nextPrice:c,feeAmount:d}},cC=(e,t,n)=>n?t.sub(e):t.add(e),lC=(e,t,n,r,i)=>{let o=r,a=i,s=e;if(t>0){let e=((e,t)=>e.mul(new eC(t).div(qD)))(s,t);s=s.sub(e),o=o.add(r)}if(n.gt(JD)){const e=s.shln(64).div(n);a=a.add(e)}return{nextProtocolFee:o,nextFeeGrowthGlobalInput:a}},hC=hf([uf("mint"),uf("vault"),uf("authority"),df("emissionsPerSecondX64"),df("growthGlobalX64")]),dC=hf([yf("anchorDiscriminator"),uf("whirlpoolsConfig"),Zd(mf(),1,"whirlpoolBump"),ff("tickSpacing"),Zd(mf(),2,"tickSpacingSeed"),ff("feeRate"),ff("protocolFeeRate"),df("liquidity"),df("sqrtPrice"),of("tickCurrentIndex"),yf("protocolFeeOwedA"),yf("protocolFeeOwedB"),uf("tokenMintA"),uf("tokenVaultA"),df("feeGrowthGlobalA"),uf("tokenMintB"),uf("tokenVaultB"),df("feeGrowthGlobalB"),yf("rewardLastUpdatedTimestamp"),Zd(hC,3,"rewardInfos")]),fC=hf([nf("initialized"),rf("liquidityNet"),df("liquidityGross"),df("feeGrowthOutsideA"),df("feeGrowthOutsideB"),Zd(df(),3,"reward_growths_outside")]),pC=hf([yf("anchorDiscriminator"),of("startTickIndex"),Zd(fC,88,"ticks"),uf("whirlpool")]),yC=(e,t,n)=>{const r=(Math.floor(e/t/88)+n)*t*88,i=88*t;if(r<-443636-(-443636%i+i))throw`startTickIndex is too small - - ${r}`;if(r>443636)throw`startTickIndex is too large - ${r}`;return r},mC=async({pool:e,freshWhirlpoolData:t,aToB:n})=>{const r=await(async({aToB:e,pool:t,tickSpacing:n,tickCurrentIndex:r})=>{const i=e?0:n;let o=0,a=[];for(let s=0;s<3;s++){let s;try{s=yC(r+i,n,o)}catch(e){return a}const u=(await qs.findProgramAddress([$d.from("tick_array"),new qs(t.toString()).toBuffer(),$d.from(s.toString())],new qs("whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc")))[0];a.push(u),o=e?o-1:o+1}return a})({aToB:n,pool:e,tickSpacing:t.tickSpacing,tickCurrentIndex:t.tickCurrentIndex});return await Promise.all(r.map((async(e,t)=>{let n;try{n=await _I({blockchain:"solana",address:e.toString(),api:pC,cache:10})}catch(e){}return{address:e,data:n}})))};class gC{static fromTickIndex(e,t){const n=Math.floor(Math.floor(e/t)/88);let r=Math.floor(e%(88*t)/t);return r<0&&(r=88+r),new gC(n,r,t)}constructor(e,t,n){if(t>=88)throw new Error("Invalid offsetIndex - value has to be smaller than TICK_ARRAY_SIZE");if(t<0)throw new Error("Invalid offsetIndex - value is smaller than 0");if(n<0)throw new Error("Invalid tickSpacing - value is less than 0");this.arrayIndex=e,this.offsetIndex=t,this.tickSpacing=n}toTickIndex(){return 88*this.arrayIndex*this.tickSpacing+this.offsetIndex*this.tickSpacing}toNextInitializableTickIndex(){return gC.fromTickIndex(this.toTickIndex()+this.tickSpacing,this.tickSpacing)}toPrevInitializableTickIndex(){return gC.fromTickIndex(this.toTickIndex()-this.tickSpacing,this.tickSpacing)}}class vC{constructor(e,t,n){if(!e[0]||!e[0].data)throw new Error("TickArray index 0 must be initialized");this.sequence=[];for(const t of e){if(!t||!t.data)break;this.sequence.push({address:t.address,data:t.data})}this.tickArrays=e,this.tickSpacing=t,this.aToB=n,this.touchedArrays=[...Array(this.sequence.length).fill(!1)],this.startArrayIndex=gC.fromTickIndex(this.sequence[0].data.startTickIndex,this.tickSpacing).arrayIndex}isValidTickArray0(e){const t=this.aToB?0:this.tickSpacing,n=this.sequence[0].data;return this.checkIfIndexIsInTickArrayRange(n.startTickIndex,e+t)}getNumOfTouchedArrays(){return this.touchedArrays.filter((e=>!!e)).length}getTouchedArrays(e){let t=this.touchedArrays.reduce(((e,t,n)=>(t&&e.push(this.sequence[n].address),e)),[]);if(0===t.length)return[];const n=e-t.length;return n>0&&(t=t.concat(Array(n).fill(t[t.length-1]))),t}getTick(e){const t=gC.fromTickIndex(e,this.tickSpacing);if(!this.isArrayIndexInBounds(t,this.aToB))throw new Error("Provided tick index is out of bounds for this sequence.");const n=this.getLocalArrayIndex(t.arrayIndex,this.aToB),r=this.sequence[n].data;if(this.touchedArrays[n]=!0,!r)throw new Error(`TickArray at index ${n} is not initialized.`);if(!this.checkIfIndexIsInTickArrayRange(r.startTickIndex,e))throw new Error(`TickArray at index ${n} is unexpected for this sequence.`);return r.ticks[t.offsetIndex]}findNextInitializedTickIndex(e){const t=this.aToB?e:e+this.tickSpacing;let n=gC.fromTickIndex(t,this.tickSpacing);if(!this.isArrayIndexInBounds(n,this.aToB))throw new Error(`Swap input value traversed too many arrays. Out of bounds at attempt to traverse tick index - ${n.toTickIndex()}.`);for(;this.isArrayIndexInBounds(n,this.aToB);){const e=this.getTick(n.toTickIndex());if(e.initialized)return{nextIndex:n.toTickIndex(),nextTickData:e};n=this.aToB?n.toPrevInitializableTickIndex():n.toNextInitializableTickIndex()}return{nextIndex:Math.max(Math.min(this.aToB?n.toTickIndex()+this.tickSpacing:n.toTickIndex()-1,443636),-443636),nextTickData:null}}getLocalArrayIndex(e,t){return t?this.startArrayIndex-e:e-this.startArrayIndex}isArrayIndexInBounds(e,t){const n=this.getLocalArrayIndex(e.arrayIndex,t),r=this.sequence.length;return n>=0&&n<r}checkIfIndexIsInTickArrayRange(e,t){const n=e+88*this.tickSpacing;return t>=e&&t<n}}const wC=async({account:e,tokenIn:t,tokenOut:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a})=>{try{const n=await _I({blockchain:"solana",address:e.pubkey.toString(),api:dC,cache:10}),s=n.tokenMintA.toString()===t,u=await mC({pool:e.pubkey,freshWhirlpoolData:n,aToB:s}),c=new vC(u,n.tickSpacing,s),l=new ef(s?"4295048016":FD),h=!(!r&&!i),d=(({tokenAmount:e,aToB:t,freshWhirlpoolData:n,tickSequence:r,sqrtPriceLimit:i,amountSpecifiedIsInput:o})=>{let a=e,s=JD,u=n.sqrtPrice,c=n.liquidity,l=n.tickCurrentIndex,h=JD;const d=n.feeRate,f=n.protocolFeeRate;let p=new eC(0),y=t?n.feeGrowthGlobalA:n.feeGrowthGlobalB;for(;a.gt(JD)&&!i.eq(u);){let{nextIndex:e}=r.findNextInitializedTickIndex(l),{nextTickPrice:n,nextSqrtPriceLimit:m}=nC(e,i,t);const g=uC(a,d,c,u,m,o,t);h=h.add(g.feeAmount),o?(a=a.sub(g.amountIn),a=a.sub(g.feeAmount),s=s.add(g.amountOut)):(a=a.sub(g.amountOut),s=s.add(g.amountIn),s=s.add(g.feeAmount));let{nextProtocolFee:v,nextFeeGrowthGlobalInput:w}=lC(g.feeAmount,f,c,p,y);if(p=v,y=w,g.nextPrice.eq(n)){const n=r.getTick(e);n.initialized&&(c=cC(n.liquidityNet,c,t)),l=t?e-1:e}else l=HD.sqrtPriceX64ToTickIndex(g.nextPrice);u=g.nextPrice}return s})({tokenAmount:new ef((r||i||o||a).toString()),aToB:s,freshWhirlpoolData:n,tickSequence:c,sqrtPriceLimit:l,amountSpecifiedIsInput:h});if("0"==d.toString())throw"amountCalculated cant be zero!";return{price:d.toString(),tickArrays:u,aToB:s,sqrtPriceLimit:l}}catch(e){return{price:void 0,tickArrays:void 0,aToB:void 0,sqrtPriceLimit:void 0}}};let bC=async(e,t)=>{if(t===Vf.solana.wrapped.address)return[];return await _I("solana://whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc/getProgramAccounts",{params:{filters:[{dataSize:dC.span},{memcmp:{offset:8,bytes:"2LecshUwdy9xi7meFgHtFJQNSKk4KdTrcpvaB56dP2NQ"}},{memcmp:{offset:101,bytes:e}},{memcmp:{offset:181,bytes:t}}]},api:dC,cache:86400,cacheKey:["whirlpool",e.toString(),t.toString()].join("-")})},MC=async({tokenIn:e,tokenOut:t,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o})=>{try{let a=await bC(e,t);return 0===a.length&&(a=await bC(t,e)),a=a.filter((e=>e.data.liquidity.gt(1))),a=(await Promise.all(a.map((async a=>{const{price:s,tickArrays:u,sqrtPriceLimit:c,aToB:l}=await wC({account:a,tokenIn:e,tokenOut:t,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o});return void 0!==s&&{pubkey:a.pubkey,price:s,tickArrays:u,sqrtPriceLimit:c,aToB:l,data:{tokenVaultA:a.data.tokenVaultA,tokenVaultB:a.data.tokenVaultB}}})))).filter(Boolean),a}catch(e){return[]}},AC=async({tokenIn:e,tokenOut:t,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o})=>{const a=await MC({tokenIn:e,tokenOut:t,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o});if(!a||0===a.length)return;let s;return s=n||r?(e=>e.reduce(((e,t)=>Yp.from(t.price).gt(Yp.from(e.price))?t:e)))(a):(e=>e.reduce(((e,t)=>Yp.from(t.price).lt(Yp.from(e.price))?t:e)))(a),s};function IC(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}const NC=Vf.solana;let TC=({path:e})=>{if(!e)return;let t=e.map(((t,n)=>t===NC.currency.address&&e[n+1]!=NC.wrapped.address&&e[n-1]!=NC.wrapped.address?NC.wrapped.address:t));return t[0]==NC.currency.address&&t[1]==NC.wrapped.address?t.splice(0,1):t[t.length-1]==NC.currency.address&&t[t.length-2]==NC.wrapped.address&&t.splice(t.length-1,1),t},EC=async({path:e,amountIn:t,amountInMax:n,amountOut:r,amountOutMin:i})=>1!=e.length&&(e=TC({path:e}),(await MC({tokenIn:e[0],tokenOut:e[1],amountIn:t,amountInMax:n,amountOut:r,amountOutMin:i})).length>0),xC=async({path:e,amountIn:t,amountInMax:n})=>{let r=[Yp.from(t||n)];if(r.push(Yp.from((await AC({tokenIn:e[0],tokenOut:e[1],amountIn:t,amountInMax:n})).price)),3===e.length&&r.push(Yp.from((await AC({tokenIn:e[1],tokenOut:e[2],amountIn:t?r[1]:void 0,amountInMax:n?r[1]:void 0})).price)),r.length==e.length)return r},kC=async({path:e,amountOut:t,amountOutMin:n})=>{e=e.slice().reverse();let r=[Yp.from(t||n)];if(r.push(Yp.from((await AC({tokenIn:e[1],tokenOut:e[0],amountOut:t,amountOutMin:n})).price)),3===e.length&&r.push(Yp.from((await AC({tokenIn:e[2],tokenOut:e[1],amountOut:t?r[1]:void 0,amountOutMin:n?r[1]:void 0})).price)),r.length==e.length)return r.slice().reverse()};const LC=Vf.solana,SC=new ef("14449647541112719096"),jC=new ef("16635068063392030915"),DC=async({instructions:e,owner:t,token:n,account:r})=>{let i;try{i=!!await _I({blockchain:"solana",address:r.toString()})}catch(e){}i||e.push(await RS.solana.createAssociatedTokenAccountInstruction({token:n,owner:t,payer:t}))},CC=async({account:e,poolOne:t,tickArraysOne:n,tokenAccountOneA:r,tokenVaultOneA:i,tokenAccountOneB:o,tokenVaultOneB:a,poolTwo:s,tickArraysTwo:u,tokenAccountTwoA:c,tokenVaultTwoA:l,tokenAccountTwoB:h,tokenVaultTwoB:d})=>{let f=!1;const p=n.map(((e,t)=>!1!==f?n[f]:e.data?e:(f=t-1,n[t-1])));let y=!1;const m=u.map(((e,t)=>!1!==y?u[y]:e.data?e:(y=t-1,u[t-1])));return[{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isWritable:!1,isSigner:!1},{pubkey:new qs(e),isWritable:!1,isSigner:!0},{pubkey:new qs(t.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(s.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(r.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(i.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(o.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(a.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(c.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(l.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(h.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(d.toString()),isWritable:!0,isSigner:!1},{pubkey:p[0].address,isWritable:!0,isSigner:!1},{pubkey:p[1].address,isWritable:!0,isSigner:!1},{pubkey:p[2].address,isWritable:!0,isSigner:!1},{pubkey:m[0].address,isWritable:!0,isSigner:!1},{pubkey:m[1].address,isWritable:!0,isSigner:!1},{pubkey:m[2].address,isWritable:!0,isSigner:!1},{pubkey:(await qs.findProgramAddress([$d.from("oracle"),new qs(t.toString()).toBuffer()],new qs("whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc")))[0],isWritable:!1,isSigner:!1},{pubkey:(await qs.findProgramAddress([$d.from("oracle"),new qs(s.toString()).toBuffer()],new qs("whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc")))[0],isWritable:!1,isSigner:!1}]},OC=({amount:e,otherAmountThreshold:t,amountSpecifiedIsInput:n,aToBOne:r,aToBTwo:i,sqrtPriceLimitOne:o,sqrtPriceLimitTwo:a})=>{let s,u;return s=hf([yf("anchorDiscriminator"),yf("amount"),yf("otherAmountThreshold"),nf("amountSpecifiedIsInput"),nf("aToBOne"),nf("aToBTwo"),df("sqrtPriceLimitOne"),df("sqrtPriceLimitTwo")]),u=$d.alloc(s.span),s.encode({anchorDiscriminator:jC,amount:new ef(e.toString()),otherAmountThreshold:new ef(t.toString()),amountSpecifiedIsInput:n,aToBOne:r,aToBTwo:i,sqrtPriceLimitOne:o,sqrtPriceLimitTwo:a},u),u},zC=async({account:e,pool:t,tokenAccountA:n,tokenVaultA:r,tokenAccountB:i,tokenVaultB:o,tickArrays:a})=>{let s=!1;const u=a.map(((e,t)=>!1!==s?a[s]:e.data?e:(s=t-1,a[t-1])));return[{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isWritable:!1,isSigner:!1},{pubkey:new qs(e),isWritable:!1,isSigner:!0},{pubkey:new qs(t.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(n.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(r.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(i.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(o.toString()),isWritable:!0,isSigner:!1},{pubkey:u[0].address,isWritable:!0,isSigner:!1},{pubkey:u[1].address,isWritable:!0,isSigner:!1},{pubkey:u[2].address,isWritable:!0,isSigner:!1},{pubkey:(await qs.findProgramAddress([$d.from("oracle"),new qs(t.toString()).toBuffer()],new qs("whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc")))[0],isWritable:!1,isSigner:!1}]},PC=({amount:e,otherAmountThreshold:t,sqrtPriceLimit:n,amountSpecifiedIsInput:r,aToB:i})=>{let o,a;return o=hf([yf("anchorDiscriminator"),yf("amount"),yf("otherAmountThreshold"),df("sqrtPriceLimit"),nf("amountSpecifiedIsInput"),nf("aToB")]),a=$d.alloc(o.span),o.encode({anchorDiscriminator:SC,amount:new ef(e.toString()),otherAmountThreshold:new ef(t.toString()),sqrtPriceLimit:n,amountSpecifiedIsInput:r,aToB:i},a),a};var _C={findPath:async({tokenIn:e,tokenOut:t,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o})=>{if([e,t].includes(NC.currency.address)&&[e,t].includes(NC.wrapped.address))return{path:void 0,exchangePath:void 0};let a,s,u,c;return await EC({path:[e,t],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?a=[e,t]:e!=NC.wrapped.address&&e!=NC.currency.address&&await EC({path:[e,NC.wrapped.address],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})&&t!=NC.wrapped.address&&t!=NC.currency.address&&await EC({path:[t,NC.wrapped.address],amountIn:r||o,amountInMax:r||o,amountOut:n||i,amountOutMin:n||i})?a=[e,NC.wrapped.address,t]:!NC.stables.usd.includes(e)&&(s=(await Promise.all(NC.stables.usd.map((async t=>await EC({path:[e,t],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?t:void 0)))).filter(Boolean))&&!NC.stables.usd.includes(t)&&(u=(await Promise.all(NC.stables.usd.map((async e=>await EC({path:[t,e],amountIn:r||o,amountInMax:r||o,amountOut:n||i,amountOutMin:n||i})?e:void 0)))).filter(Boolean))&&(c=s.filter((e=>u.includes(e)))[0])&&(a=[e,c,t]),IC([a,"optionalAccess",e=>e.length])&&a[0]==NC.currency.address?a.splice(1,0,NC.wrapped.address):IC([a,"optionalAccess",e=>e.length])&&a[a.length-1]==NC.currency.address&&a.splice(a.length-1,0,NC.wrapped.address),{path:a,exchangePath:TC({path:a})}},pathExists:EC,getAmounts:async({path:e,tokenIn:t,tokenOut:n,amountOut:r,amountIn:i,amountInMax:o,amountOutMin:a})=>{let s;if(e=TC({path:e}),r){if(s=await kC({path:e,amountOut:r,tokenIn:t,tokenOut:n}),null==(i=s?s[0]:void 0)||o&&i.gt(o))return{};void 0===o&&(o=i)}else if(i){if(s=await xC({path:e,amountIn:i,tokenIn:t,tokenOut:n}),null==(r=s?s[s.length-1]:void 0)||a&&r.lt(a))return{};void 0===a&&(a=r)}else if(a){if(s=await kC({path:e,amountOutMin:a,tokenIn:t,tokenOut:n}),null==(i=s?s[0]:void 0)||o&&i.gt(o))return{};void 0===o&&(o=i)}else if(o){if(s=await xC({path:e,amountInMax:o,tokenIn:t,tokenOut:n}),null==(r=s?s[s.length-1]:void 0)||a&&r.lt(a))return{};void 0===a&&(a=r)}return{amountOut:r||a,amountIn:i||o,amountInMax:o||i,amountOutMin:a||r,amounts:s}},getTransaction:async({path:e,amountIn:t,amountInMax:n,amountOut:r,amountOutMin:i,amounts:o,amountInInput:a,amountOutInput:s,amountInMaxInput:u,amountOutMinInput:c,account:l})=>{let h={blockchain:"solana"},d=[];const f=TC({path:e});if(f.length>3)throw"Orca can only handle fixed paths with a max length of 3 (2 pools)!";const p=f[0],y=3==f.length?f[1]:void 0,m=f[f.length-1];let g;2==f.length?g=[await AC({tokenIn:p,tokenOut:m,amountIn:a||u,amountOut:s||c})]:a||u?(g=[await AC({tokenIn:p,tokenOut:y,amountIn:a||u})],g.push(await AC({tokenIn:y,tokenOut:m,amountIn:g[0].price}))):(g=[await AC({tokenIn:y,tokenOut:m,amountOut:s||c})],g.unshift(await AC({tokenIn:p,tokenOut:y,amountOut:g[0].price})));let v,w=e[0]===LC.currency.address&&f[0]===LC.wrapped.address,b=e[e.length-1]===LC.currency.address&&f[f.length-1]===LC.wrapped.address;const M=await LI("solana");if(w||b){const e=await M.getMinimumBalanceForRentExemption(RS.solana.TOKEN_LAYOUT.span),n=Hl.generate();v=n.publicKey.toString();const r=w?new ef(t.toString()).add(new ef(e)):new ef(e);let i=Uu.createAccount({fromPubkey:new qs(l),newAccountPubkey:new qs(v),programId:new qs(RS.solana.TOKEN_PROGRAM),space:RS.solana.TOKEN_LAYOUT.span,lamports:r});i.signers=[n],d.push(i),d.push(RS.solana.initializeAccountInstruction({account:v,token:LC.wrapped.address,owner:l}))}if(1===g.length){let e=!(!a&&!c),o=e?t:r,s=e?i:n,u=new qs(w?v:await RS.solana.findProgramAddress({owner:l,token:p})),h=new qs(b?v:await RS.solana.findProgramAddress({owner:l,token:m}));b||await DC({instructions:d,owner:l,token:m,account:h}),d.push(new pu({programId:new qs("whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"),keys:await zC({account:l,pool:g[0].pubkey,tokenAccountA:g[0].aToB?u:h,tokenVaultA:g[0].data.tokenVaultA,tokenAccountB:g[0].aToB?h:u,tokenVaultB:g[0].data.tokenVaultB,tickArrays:g[0].tickArrays}),data:PC({amount:o,otherAmountThreshold:s,sqrtPriceLimit:g[0].sqrtPriceLimit,amountSpecifiedIsInput:e,aToB:g[0].aToB})}))}else if(2===g.length){let e=!(!a&&!c),o=e?t:r,s=e?i:n,u=new qs(w?v:await RS.solana.findProgramAddress({owner:l,token:p})),h=f[1],y=new qs(await RS.solana.findProgramAddress({owner:l,token:h}));await DC({instructions:d,owner:l,token:h,account:y});let M=new qs(b?v:await RS.solana.findProgramAddress({owner:l,token:m}));b||await DC({instructions:d,owner:l,token:m,account:M}),d.push(new pu({programId:new qs("whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"),keys:await CC({account:l,poolOne:g[0].pubkey,tickArraysOne:g[0].tickArrays,tokenAccountOneA:g[0].aToB?u:y,tokenVaultOneA:g[0].data.tokenVaultA,tokenAccountOneB:g[0].aToB?y:u,tokenVaultOneB:g[0].data.tokenVaultB,poolTwo:g[1].pubkey,tickArraysTwo:g[1].tickArrays,tokenAccountTwoA:g[1].aToB?y:M,tokenVaultTwoA:g[1].data.tokenVaultA,tokenAccountTwoB:g[1].aToB?M:y,tokenVaultTwoB:g[1].data.tokenVaultB}),data:OC({amount:o,otherAmountThreshold:s,amountSpecifiedIsInput:e,aToBOne:g[0].aToB,aToBTwo:g[1].aToB,sqrtPriceLimitOne:g[0].sqrtPriceLimit,sqrtPriceLimitTwo:g[1].sqrtPriceLimit})}))}return(w||b)&&d.push(RS.solana.closeAccountInstruction({account:v,owner:l})),h.instructions=d,h},WHIRLPOOL_LAYOUT:dC};const BC={name:"orca",label:"Orca",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI3LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9ImthdG1hbl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNjAwIDQ1MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjAwIDQ1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjRkZEMTVDIiBkPSJNNDg4LjQsMjIyLjljMCwxMDMuOC04NC4xLDE4Ny45LTE4Ny45LDE4Ny45Yy0xMDMuOCwwLTE4Ny45LTg0LjEtMTg3LjktMTg3LjlDMTEyLjYsMTE5LjEsMTk2LjcsMzUsMzAwLjUsMzUKCUM0MDQuMiwzNSw0ODguNCwxMTkuMSw0ODguNCwyMjIuOXoiLz4KPHBhdGggZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjE3LjY3NTUiIGQ9Ik0yMDkuNSwyOTkuOGMxLjYtMS4xLDMuMS0yLjgsMy45LTUuMWMwLjgtMi42LDAuMy00LjksMC02LjJjMCwwLDAtMC4xLDAtMC4xbDAuMy0xLjhjMC45LDAuNSwxLjksMS4xLDMsMS45CgljMC4zLDAuMiwwLjcsMC41LDEuMSwwLjdjMC41LDAuNCwxLjEsMC44LDEuNCwxYzAuNiwwLjQsMS41LDEsMi41LDEuNWMyNS4xLDE1LjYsNDUuOCwyMiw2Mi4yLDIxLjJjMTctMC44LDI4LjktOS40LDM1LjEtMjEuOQoJYzUuOS0xMi4xLDYuMi0yNywyLTQwLjljLTQuMi0xMy45LTEzLTI3LjUtMjYuMi0zNi45Yy0yMi4yLTE1LjgtNDIuNS0zOS44LTUyLjctNjAuM2MtNS4yLTEwLjQtNy4zLTE4LjctNi43LTI0LjIKCWMwLjMtMi41LDEtNC4xLDItNS4xYzAuOS0xLDIuNi0yLjEsNS45LTIuNmM2LjktMS4xLDE1LTMuNiwyMy4xLTYuMmMzLjItMSw2LjMtMiw5LjUtMi45YzExLjctMy40LDI0LjItNi4zLDM3LjItNi4zCgljMjUuMywwLDU1LDExLDg2LjMsNTYuOGM0MC4yLDU4LjgsMTguMSwxMjQuNC0yOC4yLDE1OC45Yy0yMy4xLDE3LjItNTEuOSwyNi4zLTgxLjUsMjIuOUMyNjIuOSwzNDEuMywyMzQuOSwzMjcuOSwyMDkuNSwyOTkuOHoKCSBNMjE0LjIsMjg0LjZDMjE0LjIsMjg0LjYsMjE0LjIsMjg0LjcsMjE0LjIsMjg0LjZDMjE0LjEsMjg0LjcsMjE0LjIsMjg0LjYsMjE0LjIsMjg0LjZ6IE0yMTEuNiwyODUuOAoJQzIxMS42LDI4NS44LDIxMS43LDI4NS44LDIxMS42LDI4NS44QzIxMS43LDI4NS44LDIxMS42LDI4NS44LDIxMS42LDI4NS44eiIvPgo8cGF0aCBkPSJNMjMyLjUsMTI0LjNjMCwwLDcxLjgtMTkuMSw4Ny41LTE5LjFjMTUuNywwLDc4LjYsMzAuNSw5Ni45LDg2LjNjMjYsNzktNDQuNywxMzAuOS01Mi43LDEyNS44CgljNzYuMS02Mi45LTQ4LjQtMTc5LjEtMTA5LjYtMTcwLjRjLTcuNiwxLjEtMy40LDcuNi0zLjQsNy42bC0xLjcsMTdsLTEyLjctMjEuMkwyMzIuNSwxMjQuM3oiLz4KPHBhdGggZD0iTTQwNi41LDE2Ny42YzIyLjcsMzkuOSwxOCwxNy4xLDEyLjksNjIuN2M5LjMtMTUuMSwyMy45LTMuOCwyOS45LDJjMS4xLDEsMi45LDAuNCwyLjgtMS4xYy0wLjItNi44LTIuMi0yMS40LTEzLjQtMzcuMQoJQzQyMy40LDE3Mi42LDQwNi41LDE2Ny42LDQwNi41LDE2Ny42eiIvPgo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMC45OTMiIGQ9Ik00MTkuNCwyMzAuM2M1LTQ1LjYsOS43LTIyLjgtMTIuOS02Mi43YzAsMCwxNi45LDUsMzIuMywyNi41YzExLjIsMTUuNywxMy4xLDMwLjMsMTMuNCwzNy4xCgljMC4xLDEuNS0xLjcsMi4xLTIuOCwxLjFDNDQzLjMsMjI2LjUsNDI4LjcsMjE1LjMsNDE5LjQsMjMwLjN6IE00MTkuNCwyMzAuM2MwLjktMi4xLDIuMi01LjUsMi4yLTUuNSIvPgo8cGF0aCBkPSJNMjI0LDIyNC4yYy05LjYsMTYuMi0yOS4yLDE1LTI4LjgsMzQuM2MxNy41LDM5LDE3LjYsMzYuMiwxNy42LDM2LjJjMzIuNS0xOC4yLDE5LjEtNTguNSwxNC4zLTcwLjQKCUMyMjYuNiwyMjMsMjI0LjcsMjIzLDIyNCwyMjQuMnoiLz4KPHBhdGggZD0iTTE1MC40LDI2MC4xYzE4LjcsMi40LDI5LjgtMTMuOCw0NC44LTEuNmMxOS45LDM3LjgsMTcuNiwzNi4yLDE3LjYsMzYuMmMtMzQuNCwxNC40LTU3LjktMjEtNjQuMy0zMi4xCglDMTQ3LjgsMjYxLjMsMTQ5LDI1OS45LDE1MC40LDI2MC4xeiIvPgo8cGF0aCBkPSJNMzA2LjksMjM2YzAsMCwxOC43LDE5LjEsOC45LDIyLjFjLTEyLjItNy41LTM0LTEuNy00NC43LDEuOWMtMi42LDAuOS01LjItMS40LTQuMy00LjFjMy42LTEwLDEyLjYtMjguNiwyOS45LTMxCglDMzA2LjksMjIyLjQsMzA2LjksMjM2LDMwNi45LDIzNnoiLz4KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTMxOC4zLDE0Mi41Yy0yLjEtMy02LjQtMTEsNi44LTExYzEzLjIsMCwzMy4zLDE0LjksMzcuNCwyMC40Yy0xLjMsMy40LTkuOCw0LjEtMTQsMy44Yy00LjItMC4zLTExLjUtMS0xNy0zLjgKCUMzMjYsMTQ5LjIsMzIwLjUsMTQ1LjUsMzE4LjMsMTQyLjV6Ii8+Cjwvc3ZnPgo=",protocol:"orca",slippage:!0,blockchains:["solana"],solana:{router:{address:"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",api:_C.WHIRLPOOL_LAYOUT}}};var RC=e=>new OD(Object.assign(BC,{scope:e,findPath:e=>_C.findPath({...e,exchange:BC}),pathExists:e=>_C.pathExists({...e,exchange:BC}),getAmounts:e=>_C.getAmounts({...e,exchange:BC}),getPrep:e=>{},getTransaction:e=>_C.getTransaction({...e,exchange:BC})}));const UC={name:"pancakeswap",label:"PancakeSwap",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTk4IiBoZWlnaHQ9IjE5OSIgdmlld0JveD0iMCAwIDE5OCAxOTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOTguNTUyIDE5OC42MDdDNjkuMDYxMyAxOTguNTg1IDQ1LjMwNiAxOTEuNTggMjguNzA3OSAxNzguOTk4QzExLjkxMDggMTY2LjI2NSAzIDE0OC4xOTUgMyAxMjcuNzQ4QzMgMTA4LjA0NyAxMS44OTEzIDkzLjg0MTEgMjEuOTUxNyA4NC4yMzg1QzI5LjgzNTkgNzYuNzEzMiAzOC41MzYzIDcxLjg5MzYgNDQuNTk0NSA2OS4xMjEzQzQzLjIyNDUgNjQuOTU5NCA0MS41MTUzIDU5LjUxMDggMzkuOTg2MSA1My44ODMyQzM3LjkzOTkgNDYuMzUyNyAzNS45MzI1IDM3LjUxNzQgMzUuOTMyNSAzMS4wNDI5QzM1LjkzMjUgMjMuMzc5NSAzNy42MjA0IDE1LjY4MzMgNDIuMTcxNCA5LjcwMzA2QzQ2Ljk3OTcgMy4zODQ3NiA1NC4yMTgyIDAgNjIuOTI2NCAwQzY5LjczMjIgMCA3NS41MTAzIDIuNDk5MDMgODAuMDMzOSA2LjgxMDExQzg0LjM1NzkgMTAuOTMwOSA4Ny4yMzU3IDE2LjQwMzQgODkuMjIyNyAyMi4xMDgyQzkyLjcxNDMgMzIuMTMyNSA5NC4wNzM4IDQ0LjcyNjQgOTQuNDU1MSA1Ny4yOTQ1SDEwMi43OTZDMTAzLjE3OCA0NC43MjY0IDEwNC41MzcgMzIuMTMyNSAxMDguMDI5IDIyLjEwODJDMTEwLjAxNiAxNi40MDM0IDExMi44OTQgMTAuOTMwOSAxMTcuMjE4IDYuODEwMTFDMTIxLjc0MSAyLjQ5OTAzIDEyNy41MTkgMCAxMzQuMzI1IDBDMTQzLjAzMyAwIDE1MC4yNzIgMy4zODQ3NiAxNTUuMDggOS43MDMwNkMxNTkuNjMxIDE1LjY4MzMgMTYxLjMxOSAyMy4zNzk1IDE2MS4zMTkgMzEuMDQyOUMxNjEuMzE5IDM3LjUxNzQgMTU5LjMxMiA0Ni4zNTI3IDE1Ny4yNjUgNTMuODgzMkMxNTUuNzM2IDU5LjUxMDggMTU0LjAyNyA2NC45NTk0IDE1Mi42NTcgNjkuMTIxM0MxNTguNzE1IDcxLjg5MzYgMTY3LjQxNiA3Ni43MTMyIDE3NS4zIDg0LjIzODVDMTg1LjM2IDkzLjg0MTEgMTk0LjI1MiAxMDguMDQ3IDE5NC4yNTIgMTI3Ljc0OEMxOTQuMjUyIDE0OC4xOTUgMTg1LjM0MSAxNjYuMjY1IDE2OC41NDQgMTc4Ljk5OEMxNTEuOTQ1IDE5MS41OCAxMjguMTkgMTk4LjU4NSA5OC42OTk2IDE5OC42MDdIOTguNTUyWiIgZmlsbD0iIzYzMzAwMSIvPgo8cGF0aCBkPSJNNjIuOTI2MiA3LjI4ODMzQzUwLjE3MTYgNy4yODgzMyA0NC4zMDA0IDE2LjgwMzcgNDQuMzAwNCAyOS45NjMyQzQ0LjMwMDQgNDAuNDIzMSA1MS4xMjIyIDYxLjM3MTUgNTMuOTIxMiA2OS41MjYzQzU0LjU1MDggNzEuMzYwNSA1My41NjE2IDczLjM3MDEgNTEuNzU3NCA3NC4wODE0QzQxLjUzNTEgNzguMTEyMSAxMS4zNjc5IDkyLjg3IDExLjM2NzkgMTI2LjY2OUMxMS4zNjc5IDE2Mi4yNzIgNDIuMDI0NiAxODkuMTE3IDk4LjU1ODEgMTg5LjE2Qzk4LjU4MDYgMTg5LjE2IDk4LjYwMzEgMTg5LjE1OSA5OC42MjU2IDE4OS4xNTlDOTguNjQ4MSAxODkuMTU5IDk4LjY3MDYgMTg5LjE2IDk4LjY5MzEgMTg5LjE2QzE1NS4yMjcgMTg5LjExNyAxODUuODgzIDE2Mi4yNzIgMTg1Ljg4MyAxMjYuNjY5QzE4NS44ODMgOTIuODcgMTU1LjcxNiA3OC4xMTIxIDE0NS40OTQgNzQuMDgxNEMxNDMuNjkgNzMuMzcwMSAxNDIuNyA3MS4zNjA1IDE0My4zMyA2OS41MjYzQzE0Ni4xMjkgNjEuMzcxNSAxNTIuOTUxIDQwLjQyMzEgMTUyLjk1MSAyOS45NjMyQzE1Mi45NTEgMTYuODAzNyAxNDcuMDggNy4yODgzMyAxMzQuMzI1IDcuMjg4MzNDMTE1Ljk2NSA3LjI4ODMzIDExMS4zODkgMzMuMjk1NSAxMTEuMDYyIDYxLjIwNzVDMTExLjA0IDYzLjA3MDkgMTA5LjUzNCA2NC41ODI4IDEwNy42NyA2NC41ODI4SDg5LjU4MDdDODcuNzE3MiA2NC41ODI4IDg2LjIxMDggNjMuMDcwOSA4Ni4xODkgNjEuMjA3NUM4NS44NjI2IDMzLjI5NTUgODEuMjg2IDcuMjg4MzMgNjIuOTI2MiA3LjI4ODMzWiIgZmlsbD0iI0QxODg0RiIvPgo8cGF0aCBkPSJNOTguNjkzMSAxNzcuNzU1QzU3LjE1NTEgMTc3Ljc1NSAxMS40Mzk3IDE1NS41MiAxMS4zNjgxIDEyNi43MzdDMTEuMzY4IDEyNi43ODEgMTEuMzY3OSAxMjYuODI2IDExLjM2NzkgMTI2Ljg3MUMxMS4zNjc5IDE2Mi41MDMgNDIuMDczNCAxODkuMzYyIDk4LjY5MzEgMTg5LjM2MkMxNTUuMzEzIDE4OS4zNjIgMTg2LjAxOCAxNjIuNTAzIDE4Ni4wMTggMTI2Ljg3MUMxODYuMDE4IDEyNi44MjYgMTg2LjAxOCAxMjYuNzgxIDE4Ni4wMTggMTI2LjczN0MxODUuOTQ2IDE1NS41MiAxNDAuMjMxIDE3Ny43NTUgOTguNjkzMSAxNzcuNzU1WiIgZmlsbD0iI0ZFREM5MCIvPgo8cGF0aCBkPSJNNzUuNjEzNSAxMTcuODk2Qzc1LjYxMzUgMTI3LjYxNCA3MS4wMjEgMTMyLjY3NSA2NS4zNTU4IDEzMi42NzVDNTkuNjkwNyAxMzIuNjc1IDU1LjA5ODEgMTI3LjYxNCA1NS4wOTgxIDExNy44OTZDNTUuMDk4MSAxMDguMTc4IDU5LjY5MDcgMTAzLjExNyA2NS4zNTU4IDEwMy4xMTdDNzEuMDIxIDEwMy4xMTcgNzUuNjEzNSAxMDguMTc4IDc1LjYxMzUgMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPHBhdGggZD0iTTE0Mi4yODggMTE3Ljg5NkMxNDIuMjg4IDEyNy42MTQgMTM3LjY5NiAxMzIuNjc1IDEzMi4wMzEgMTMyLjY3NUMxMjYuMzY1IDEzMi42NzUgMTIxLjc3MyAxMjcuNjE0IDEyMS43NzMgMTE3Ljg5NkMxMjEuNzczIDEwOC4xNzggMTI2LjM2NSAxMDMuMTE3IDEzMi4wMzEgMTAzLjExN0MxMzcuNjk2IDEwMy4xMTcgMTQyLjI4OCAxMDguMTc4IDE0Mi4yODggMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPC9zdmc+Cg==",protocol:"uniswap_v2",slippage:!0,blockchains:["bsc"],bsc:{router:{address:"0x10ED43C718714eb63d5aA57B78B54704E256024E",api:QD.ROUTER},factory:{address:"0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73",api:QD.FACTORY},pair:{api:QD.PAIR}}};var QC=e=>new OD(Object.assign(UC,{scope:e,findPath:e=>QD.findPath({...e,exchange:UC}),pathExists:e=>QD.pathExists({...e,exchange:UC}),getAmounts:e=>QD.getAmounts({...e,exchange:UC}),getPrep:e=>QD.getPrep({...e,exchange:UC}),getTransaction:e=>QD.getTransaction({...e,exchange:UC})}));function WC(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}const YC=({blockchain:e,exchange:t,path:n})=>{if(!n)return;let r=n.map(((t,r)=>t===Vf[e].currency.address&&n[r+1]!=Vf[e].wrapped.address&&n[r-1]!=Vf[e].wrapped.address?Vf[e].wrapped.address:t));return r[0]==Vf[e].currency.address&&r[1]==Vf[e].wrapped.address?r.splice(0,1):r[r.length-1]==Vf[e].currency.address&&r[r.length-2]==Vf[e].wrapped.address&&r.splice(r.length-1,1),r},FC=async({blockchain:e,exchange:t,path:n,amountIn:r,amountOut:i,block:o})=>{if((n=YC({blockchain:e,exchange:t,path:n})).length>2)throw"PancakeSwap V3 can only check paths for up to 2 tokens!";try{let o=(await Promise.all(t.fees.map((r=>_I({blockchain:Vf[e].name,address:t[e].factory.address,method:"getPool",api:t[e].factory.api,cache:3600,params:[n[0],n[1],r]}).then((t=>({blockchain:e,address:t,path:n,fee:r,token0:[...n].sort()[0],token1:[...n].sort()[1]}))).catch((()=>{})))))).filter(Boolean);return o=o.filter((t=>t.address!=Vf[e].zero)),o=(await Promise.all(o.map((async e=>{try{let n;return n=r?await(async({exchange:e,pool:t,inputAmount:n})=>(await _I({blockchain:t.blockchain,address:e[t.blockchain].quoter.address,api:e[t.blockchain].quoter.api,method:"quoteExactInput",params:{path:iI(["address","uint24","address"],[t.path[0],t.fee,t.path[1]]),amountIn:n},cache:5})).amountOut)({exchange:t,pool:e,inputAmount:r}):await(async({exchange:e,pool:t,outputAmount:n})=>(await _I({blockchain:t.blockchain,address:e[t.blockchain].quoter.address,api:e[t.blockchain].quoter.api,method:"quoteExactOutput",params:{path:iI(["address","uint24","address"],[t.path[1],t.fee,t.path[0]]),amountOut:n},cache:5})).amountIn)({exchange:t,pool:e,outputAmount:i}),{...e,amountIn:r||n,amountOut:i||n}}catch(e){}})))).filter(Boolean),r?o.sort(((e,t)=>t.amountOut.gt(e.amountOut)?1:-1))[0]:o.sort(((e,t)=>t.amountIn.lt(e.amountIn)?1:-1))[0]}catch(e){return}};let VC=({blockchain:e,exchange:t,path:n,pools:r,amountIn:i})=>r[r.length-1].amountOut,HC=async({blockchain:e,exchange:t,path:n,pools:r,amountOut:i,block:o})=>{if(void 0===o)return r[0].amountIn;{let n;2==r.length?n=iI(["address","uint24","address","uint24","address"],[r[1].path[1],r[1].fee,r[0].path[1],r[0].fee,r[0].path[0]]):1==r.length&&(n=iI(["address","uint24","address"],[r[0].path[1],r[0].fee,r[0].path[0]]));return(await _I({block:o,blockchain:e,address:t[e].quoter.address,api:t[e].quoter.api,method:"quoteExactOutput",params:{path:n,amountOut:i}})).amountIn}};var GC={findPath:async({blockchain:e,exchange:t,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s})=>{if([n,r].includes(Vf[e].currency.address)&&[n,r].includes(Vf[e].wrapped.address))return{path:void 0,exchangePath:void 0};let u,c=[];if(c=[await FC({exchange:t,blockchain:e,path:[n,r],amountIn:i||a,amountOut:o||s})],c.filter(Boolean).length&&(u=[n,r]),u||n==Vf[e].wrapped.address||r==Vf[e].wrapped.address||(c=[],o||s?(c.push(await FC({exchange:t,blockchain:e,path:[Vf[e].wrapped.address,r],amountOut:o||s})),c.filter(Boolean).length&&c.unshift(await FC({exchange:t,blockchain:e,path:[n,Vf[e].wrapped.address],amountOut:c[0].amountIn}))):(c.push(await FC({exchange:t,blockchain:e,path:[n,Vf[e].wrapped.address],amountIn:i||a})),c.filter(Boolean).length&&c.push(await FC({exchange:t,blockchain:e,path:[Vf[e].wrapped.address,r],amountIn:c[0].amountOut}))),2===c.filter(Boolean).length&&(u=[n,Vf[e].wrapped.address,r])),!u){c=[];let l=(await Promise.all(Vf[e].stables.usd.map((async u=>{let c=[];if(o||s?(c.push(await FC({exchange:t,blockchain:e,path:[u,r],amountOut:o||s})),c.filter(Boolean).length&&c.unshift(await FC({exchange:t,blockchain:e,path:[n,u],amountOut:c[0].amountIn}))):(c.push(await FC({exchange:t,blockchain:e,path:[n,u],amountIn:i||a})),c.filter(Boolean).length&&c.push(await FC({exchange:t,blockchain:e,path:[u,r],amountIn:c[0].amountOut}))),2===c.filter(Boolean).length)return[u,c]})))).filter(Boolean)[0];l&&(u=[n,l[0],r],c=l[1])}return WC([u,"optionalAccess",e=>e.length])&&u[0]==Vf[e].currency.address?u.splice(1,0,Vf[e].wrapped.address):WC([u,"optionalAccess",e=>e.length])&&u[u.length-1]==Vf[e].currency.address&&u.splice(u.length-1,0,Vf[e].wrapped.address),u||(c=[]),{path:u,pools:c,exchangePath:YC({blockchain:e,exchange:t,path:u})}},pathExists:async({blockchain:e,exchange:t,path:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a})=>{try{return!!await FC({blockchain:e,exchange:t,path:n,amountIn:r||o,amountOut:i||a})}catch(e){return!1}},getAmounts:async({blockchain:e,exchange:t,path:n,pools:r,block:i,tokenIn:o,tokenOut:a,amountOut:s,amountIn:u,amountInMax:c,amountOutMin:l})=>{if(s){if(null==(u=await HC({blockchain:e,exchange:t,block:i,path:n,pools:r,amountOut:s,tokenIn:o,tokenOut:a}))||c&&u.gt(c))return{};void 0===c&&(c=u)}else if(u){if(null==(s=await VC({blockchain:e,exchange:t,path:n,pools:r,amountIn:u,tokenIn:o,tokenOut:a}))||l&&s.lt(l))return{};void 0===l&&(l=s)}else if(l){if(null==(u=await HC({blockchain:e,exchange:t,block:i,path:n,pools:r,amountOut:l,tokenIn:o,tokenOut:a}))||c&&u.gt(c))return{};void 0===c&&(c=u)}else if(c){if(null==(s=await VC({blockchain:e,exchange:t,path:n,pools:r,amountIn:c,tokenIn:o,tokenOut:a}))||l&&s.lt(l))return{};void 0===l&&(l=s)}return{amountOut:s,amountIn:u,amountInMax:c,amountOutMin:l}},getPrep:async({exchange:e,blockchain:t,tokenIn:n,amountIn:r,account:i,tokenOut:o})=>{if(n===Vf[t].currency.address)return;let a;a=o===Vf[t].currency.address?e[t].smartRouter.address:e[t].router.address;if((await _I({blockchain:t,address:n,method:"allowance",api:RS[t][20],params:[i,a]})).lt(r)){return{transaction:{blockchain:t,from:i,to:n,api:RS[t][20],method:"approve",params:[a,Vf[t].maxInt]}}}},getTransaction:async({blockchain:e,exchange:t,pools:n,path:r,amountIn:i,amountInMax:o,amountOut:a,amountOutMin:s,amountInInput:u,amountOutInput:c,amountInMaxInput:l,amountOutMinInput:h,account:d,inputTokenPushed:f})=>{const p={blockchain:e,from:d},y=Math.floor(Date.now()/1e3)+21600,m=YC({blockchain:e,exchange:t,path:r});if(r[r.length-1]===Vf[e].currency.address){p.to=t[e].smartRouter.address,p.api=t[e].smartRouter.api,p.method="multicall";const r=new Cg(t[e].smartRouter.api);if(p.params={data:[]},2===m.length)u||h?p.params.data.push(r.encodeFunctionData("exactInputSingle",[{tokenIn:m[0],tokenOut:m[1],fee:n[0].fee,recipient:t[e].smartRouter.address,deadline:y,amountIn:(o||i).toString(),amountOutMinimum:(s||a).toString(),sqrtPriceLimitX96:Vf[e].zero}])):(c||l)&&p.params.data.push(r.encodeFunctionData("exactOutputSingle",[{tokenIn:m[0],tokenOut:m[1],fee:n[0].fee,recipient:t[e].smartRouter.address,deadline:y,amountInMaximum:(o||i).toString(),amountOut:(s||a).toString(),sqrtPriceLimitX96:Vf[e].zero}]));else{const d=iI(["address","uint24","address","uint24","address"],[n[0].path[0],n[0].fee,n[0].path[1],n[1].fee,n[1].path[1]]);u||h?p.params.data.push(r.encodeFunctionData("exactInput",[{path:d,recipient:t[e].smartRouter.address,deadline:y,amountIn:(o||i).toString(),amountOutMinimum:(s||a).toString()}])):(c||l)&&p.params.data.push(r.encodeFunctionData("exactOutput",[{path:d,recipient:t[e].smartRouter.address,deadline:y,amountInMaximum:(o||i).toString(),amountOut:(s||a).toString()}]))}p.params.data.push(r.encodeFunctionData("unwrapWETH9",[(s||a).toString(),d]))}else if(p.to=t[e].router.address,p.api=t[e].router.api,r[0]===Vf[e].currency.address&&(p.value=(i||o).toString()),2===m.length)u||h?(p.method="exactInputSingle",p.params={params:{tokenIn:m[0],tokenOut:m[1],fee:n[0].fee,recipient:d,deadline:y,amountIn:(o||i).toString(),amountOutMinimum:(s||a).toString(),sqrtPriceLimitX96:Vf[e].zero}}):(c||l)&&(p.method="exactOutputSingle",p.params={params:{tokenIn:m[0],tokenOut:m[1],fee:n[0].fee,recipient:d,deadline:y,amountInMaximum:(o||i).toString(),amountOut:(s||a).toString(),sqrtPriceLimitX96:Vf[e].zero}});else{const e=iI(["address","uint24","address","uint24","address"],[n[0].path[0],n[0].fee,n[0].path[1],n[1].fee,n[1].path[1]]);u||h?(p.method="exactInput",p.params={params:{path:e,recipient:d,deadline:y,amountIn:(o||i).toString(),amountOutMinimum:(s||a).toString()}}):(c||l)&&(p.method="exactOutput",p.params={params:{path:e,recipient:d,deadline:y,amountInMaximum:(o||i).toString(),amountOut:(s||a).toString()}})}return p},ROUTER:[{inputs:[{internalType:"address",name:"_deployer",type:"address"},{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"deployer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"}],internalType:"struct ISwapRouter.ExactInputParams",name:"params",type:"tuple"}],name:"exactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct ISwapRouter.ExactInputSingleParams",name:"params",type:"tuple"}],name:"exactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"}],internalType:"struct ISwapRouter.ExactOutputParams",name:"params",type:"tuple"}],name:"exactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct ISwapRouter.ExactOutputSingleParams",name:"params",type:"tuple"}],name:"exactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"pancakeV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"refundETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowed",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowedIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"sweepTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"unwrapWETH9",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"unwrapWETH9WithFee",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],SMART_ROUTER:[{inputs:[{internalType:"address",name:"_factoryV2",type:"address"},{internalType:"address",name:"_deployer",type:"address"},{internalType:"address",name:"_factoryV3",type:"address"},{internalType:"address",name:"_positionManager",type:"address"},{internalType:"address",name:"_stableFactory",type:"address"},{internalType:"address",name:"_stableInfo",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{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:"factory",type:"address"},{indexed:!0,internalType:"address",name:"info",type:"address"}],name:"SetStableSwap",type:"event"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveMax",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveMaxMinusOne",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveZeroThenMax",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveZeroThenMaxMinusOne",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"callPositionManager",outputs:[{internalType:"bytes",name:"result",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes[]",name:"paths",type:"bytes[]"},{internalType:"uint128[]",name:"amounts",type:"uint128[]"},{internalType:"uint24",name:"maximumTickDivergence",type:"uint24"},{internalType:"uint32",name:"secondsAgo",type:"uint32"}],name:"checkOracleSlippage",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint24",name:"maximumTickDivergence",type:"uint24"},{internalType:"uint32",name:"secondsAgo",type:"uint32"}],name:"checkOracleSlippage",outputs:[],stateMutability:"view",type:"function"},{inputs:[],name:"deployer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"}],internalType:"struct IV3SwapRouter.ExactInputParams",name:"params",type:"tuple"}],name:"exactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IV3SwapRouter.ExactInputSingleParams",name:"params",type:"tuple"}],name:"exactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"flag",type:"uint256[]"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"exactInputStableSwap",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"}],internalType:"struct IV3SwapRouter.ExactOutputParams",name:"params",type:"tuple"}],name:"exactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IV3SwapRouter.ExactOutputSingleParams",name:"params",type:"tuple"}],name:"exactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"flag",type:"uint256[]"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"exactOutputStableSwap",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"factoryV2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"getApprovalType",outputs:[{internalType:"enum IApproveAndCall.ApprovalType",name:"",type:"uint8"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"}],internalType:"struct IApproveAndCall.IncreaseLiquidityParams",name:"params",type:"tuple"}],name:"increaseLiquidity",outputs:[{internalType:"bytes",name:"result",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],internalType:"struct IApproveAndCall.MintParams",name:"params",type:"tuple"}],name:"mint",outputs:[{internalType:"bytes",name:"result",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"previousBlockhash",type:"bytes32"},{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"pancakeV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"positionManager",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"pull",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"refundETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowed",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowedIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_info",type:"address"}],name:"setStableSwap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"stableSwapFactory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"stableSwapInfo",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"sweepTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"sweepTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"unwrapWETH9",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"unwrapWETH9WithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"unwrapWETH9WithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"}],name:"wrapETH",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],FACTORY:[{inputs:[{internalType:"address",name:"_poolDeployer",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint24",name:"fee",type:"uint24"},{indexed:!0,internalType:"int24",name:"tickSpacing",type:"int24"}],name:"FeeAmountEnabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint24",name:"fee",type:"uint24"},{indexed:!1,internalType:"bool",name:"whitelistRequested",type:"bool"},{indexed:!1,internalType:"bool",name:"enabled",type:"bool"}],name:"FeeAmountExtraInfoUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token0",type:"address"},{indexed:!0,internalType:"address",name:"token1",type:"address"},{indexed:!0,internalType:"uint24",name:"fee",type:"uint24"},{indexed:!1,internalType:"int24",name:"tickSpacing",type:"int24"},{indexed:!1,internalType:"address",name:"pool",type:"address"}],name:"PoolCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"lmPoolDeployer",type:"address"}],name:"SetLmPoolDeployer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"bool",name:"verified",type:"bool"}],name:"WhiteListAdded",type:"event"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint128",name:"amount0Requested",type:"uint128"},{internalType:"uint128",name:"amount1Requested",type:"uint128"}],name:"collectProtocol",outputs:[{internalType:"uint128",name:"amount0",type:"uint128"},{internalType:"uint128",name:"amount1",type:"uint128"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"}],name:"createPool",outputs:[{internalType:"address",name:"pool",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"int24",name:"tickSpacing",type:"int24"}],name:"enableFeeAmount",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint24",name:"",type:"uint24"}],name:"feeAmountTickSpacing",outputs:[{internalType:"int24",name:"",type:"int24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint24",name:"",type:"uint24"}],name:"feeAmountTickSpacingExtraInfo",outputs:[{internalType:"bool",name:"whitelistRequested",type:"bool"},{internalType:"bool",name:"enabled",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint24",name:"",type:"uint24"}],name:"getPool",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"lmPoolDeployer",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:"poolDeployer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"bool",name:"whitelistRequested",type:"bool"},{internalType:"bool",name:"enabled",type:"bool"}],name:"setFeeAmountExtraInfo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"uint32",name:"feeProtocol0",type:"uint32"},{internalType:"uint32",name:"feeProtocol1",type:"uint32"}],name:"setFeeProtocol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"address",name:"lmPool",type:"address"}],name:"setLmPool",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_lmPoolDeployer",type:"address"}],name:"setLmPoolDeployer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_owner",type:"address"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"bool",name:"verified",type:"bool"}],name:"setWhiteListAddress",outputs:[],stateMutability:"nonpayable",type:"function"}],POOL:[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"int24",name:"tickLower",type:"int24"},{indexed:!0,internalType:"int24",name:"tickUpper",type:"int24"},{indexed:!1,internalType:"uint128",name:"amount",type:"uint128"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!0,internalType:"int24",name:"tickLower",type:"int24"},{indexed:!0,internalType:"int24",name:"tickUpper",type:"int24"},{indexed:!1,internalType:"uint128",name:"amount0",type:"uint128"},{indexed:!1,internalType:"uint128",name:"amount1",type:"uint128"}],name:"Collect",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint128",name:"amount0",type:"uint128"},{indexed:!1,internalType:"uint128",name:"amount1",type:"uint128"}],name:"CollectProtocol",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"},{indexed:!1,internalType:"uint256",name:"paid0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"paid1",type:"uint256"}],name:"Flash",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint16",name:"observationCardinalityNextOld",type:"uint16"},{indexed:!1,internalType:"uint16",name:"observationCardinalityNextNew",type:"uint16"}],name:"IncreaseObservationCardinalityNext",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint160",name:"sqrtPriceX96",type:"uint160"},{indexed:!1,internalType:"int24",name:"tick",type:"int24"}],name:"Initialize",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"int24",name:"tickLower",type:"int24"},{indexed:!0,internalType:"int24",name:"tickUpper",type:"int24"},{indexed:!1,internalType:"uint128",name:"amount",type:"uint128"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32",name:"feeProtocol0Old",type:"uint32"},{indexed:!1,internalType:"uint32",name:"feeProtocol1Old",type:"uint32"},{indexed:!1,internalType:"uint32",name:"feeProtocol0New",type:"uint32"},{indexed:!1,internalType:"uint32",name:"feeProtocol1New",type:"uint32"}],name:"SetFeeProtocol",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"addr",type:"address"}],name:"SetLmPoolEvent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"int256",name:"amount0",type:"int256"},{indexed:!1,internalType:"int256",name:"amount1",type:"int256"},{indexed:!1,internalType:"uint160",name:"sqrtPriceX96",type:"uint160"},{indexed:!1,internalType:"uint128",name:"liquidity",type:"uint128"},{indexed:!1,internalType:"int24",name:"tick",type:"int24"},{indexed:!1,internalType:"uint128",name:"protocolFeesToken0",type:"uint128"},{indexed:!1,internalType:"uint128",name:"protocolFeesToken1",type:"uint128"}],name:"Swap",type:"event"},{inputs:[{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint128",name:"amount",type:"uint128"}],name:"burn",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint128",name:"amount0Requested",type:"uint128"},{internalType:"uint128",name:"amount1Requested",type:"uint128"}],name:"collect",outputs:[{internalType:"uint128",name:"amount0",type:"uint128"},{internalType:"uint128",name:"amount1",type:"uint128"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint128",name:"amount0Requested",type:"uint128"},{internalType:"uint128",name:"amount1Requested",type:"uint128"}],name:"collectProtocol",outputs:[{internalType:"uint128",name:"amount0",type:"uint128"},{internalType:"uint128",name:"amount1",type:"uint128"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"fee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeGrowthGlobal0X128",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeGrowthGlobal1X128",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"flash",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"observationCardinalityNext",type:"uint16"}],name:"increaseObservationCardinalityNext",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint160",name:"sqrtPriceX96",type:"uint160"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"liquidity",outputs:[{internalType:"uint128",name:"",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"lmPool",outputs:[{internalType:"contract IPancakeV3LmPool",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxLiquidityPerTick",outputs:[{internalType:"uint128",name:"",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint128",name:"amount",type:"uint128"},{internalType:"bytes",name:"data",type:"bytes"}],name:"mint",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"observations",outputs:[{internalType:"uint32",name:"blockTimestamp",type:"uint32"},{internalType:"int56",name:"tickCumulative",type:"int56"},{internalType:"uint160",name:"secondsPerLiquidityCumulativeX128",type:"uint160"},{internalType:"bool",name:"initialized",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32[]",name:"secondsAgos",type:"uint32[]"}],name:"observe",outputs:[{internalType:"int56[]",name:"tickCumulatives",type:"int56[]"},{internalType:"uint160[]",name:"secondsPerLiquidityCumulativeX128s",type:"uint160[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"positions",outputs:[{internalType:"uint128",name:"liquidity",type:"uint128"},{internalType:"uint256",name:"feeGrowthInside0LastX128",type:"uint256"},{internalType:"uint256",name:"feeGrowthInside1LastX128",type:"uint256"},{internalType:"uint128",name:"tokensOwed0",type:"uint128"},{internalType:"uint128",name:"tokensOwed1",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"protocolFees",outputs:[{internalType:"uint128",name:"token0",type:"uint128"},{internalType:"uint128",name:"token1",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"feeProtocol0",type:"uint32"},{internalType:"uint32",name:"feeProtocol1",type:"uint32"}],name:"setFeeProtocol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_lmPool",type:"address"}],name:"setLmPool",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"slot0",outputs:[{internalType:"uint160",name:"sqrtPriceX96",type:"uint160"},{internalType:"int24",name:"tick",type:"int24"},{internalType:"uint16",name:"observationIndex",type:"uint16"},{internalType:"uint16",name:"observationCardinality",type:"uint16"},{internalType:"uint16",name:"observationCardinalityNext",type:"uint16"},{internalType:"uint32",name:"feeProtocol",type:"uint32"},{internalType:"bool",name:"unlocked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"}],name:"snapshotCumulativesInside",outputs:[{internalType:"int56",name:"tickCumulativeInside",type:"int56"},{internalType:"uint160",name:"secondsPerLiquidityInsideX128",type:"uint160"},{internalType:"uint32",name:"secondsInside",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"bool",name:"zeroForOne",type:"bool"},{internalType:"int256",name:"amountSpecified",type:"int256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[{internalType:"int256",name:"amount0",type:"int256"},{internalType:"int256",name:"amount1",type:"int256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int16",name:"",type:"int16"}],name:"tickBitmap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tickSpacing",outputs:[{internalType:"int24",name:"",type:"int24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int24",name:"",type:"int24"}],name:"ticks",outputs:[{internalType:"uint128",name:"liquidityGross",type:"uint128"},{internalType:"int128",name:"liquidityNet",type:"int128"},{internalType:"uint256",name:"feeGrowthOutside0X128",type:"uint256"},{internalType:"uint256",name:"feeGrowthOutside1X128",type:"uint256"},{internalType:"int56",name:"tickCumulativeOutside",type:"int56"},{internalType:"uint160",name:"secondsPerLiquidityOutsideX128",type:"uint160"},{internalType:"uint32",name:"secondsOutside",type:"uint32"},{internalType:"bool",name:"initialized",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"token0",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"token1",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],QUOTER:[{inputs:[{internalType:"address",name:"_deployer",type:"address"},{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"deployer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"path",type:"bytes"}],name:"pancakeV3SwapCallback",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"quoteExactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint160[]",name:"sqrtPriceX96AfterList",type:"uint160[]"},{internalType:"uint32[]",name:"initializedTicksCrossedList",type:"uint32[]"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IQuoterV2.QuoteExactInputSingleParams",name:"params",type:"tuple"}],name:"quoteExactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint160",name:"sqrtPriceX96After",type:"uint160"},{internalType:"uint32",name:"initializedTicksCrossed",type:"uint32"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256",name:"amountOut",type:"uint256"}],name:"quoteExactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint160[]",name:"sqrtPriceX96AfterList",type:"uint160[]"},{internalType:"uint32[]",name:"initializedTicksCrossedList",type:"uint32[]"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IQuoterV2.QuoteExactOutputSingleParams",name:"params",type:"tuple"}],name:"quoteExactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint160",name:"sqrtPriceX96After",type:"uint160"},{internalType:"uint32",name:"initializedTicksCrossed",type:"uint32"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"}]};const qC={name:"pancakeswap_v3",label:"PancakeSwap v3",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTk4IiBoZWlnaHQ9IjE5OSIgdmlld0JveD0iMCAwIDE5OCAxOTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOTguNTUyIDE5OC42MDdDNjkuMDYxMyAxOTguNTg1IDQ1LjMwNiAxOTEuNTggMjguNzA3OSAxNzguOTk4QzExLjkxMDggMTY2LjI2NSAzIDE0OC4xOTUgMyAxMjcuNzQ4QzMgMTA4LjA0NyAxMS44OTEzIDkzLjg0MTEgMjEuOTUxNyA4NC4yMzg1QzI5LjgzNTkgNzYuNzEzMiAzOC41MzYzIDcxLjg5MzYgNDQuNTk0NSA2OS4xMjEzQzQzLjIyNDUgNjQuOTU5NCA0MS41MTUzIDU5LjUxMDggMzkuOTg2MSA1My44ODMyQzM3LjkzOTkgNDYuMzUyNyAzNS45MzI1IDM3LjUxNzQgMzUuOTMyNSAzMS4wNDI5QzM1LjkzMjUgMjMuMzc5NSAzNy42MjA0IDE1LjY4MzMgNDIuMTcxNCA5LjcwMzA2QzQ2Ljk3OTcgMy4zODQ3NiA1NC4yMTgyIDAgNjIuOTI2NCAwQzY5LjczMjIgMCA3NS41MTAzIDIuNDk5MDMgODAuMDMzOSA2LjgxMDExQzg0LjM1NzkgMTAuOTMwOSA4Ny4yMzU3IDE2LjQwMzQgODkuMjIyNyAyMi4xMDgyQzkyLjcxNDMgMzIuMTMyNSA5NC4wNzM4IDQ0LjcyNjQgOTQuNDU1MSA1Ny4yOTQ1SDEwMi43OTZDMTAzLjE3OCA0NC43MjY0IDEwNC41MzcgMzIuMTMyNSAxMDguMDI5IDIyLjEwODJDMTEwLjAxNiAxNi40MDM0IDExMi44OTQgMTAuOTMwOSAxMTcuMjE4IDYuODEwMTFDMTIxLjc0MSAyLjQ5OTAzIDEyNy41MTkgMCAxMzQuMzI1IDBDMTQzLjAzMyAwIDE1MC4yNzIgMy4zODQ3NiAxNTUuMDggOS43MDMwNkMxNTkuNjMxIDE1LjY4MzMgMTYxLjMxOSAyMy4zNzk1IDE2MS4zMTkgMzEuMDQyOUMxNjEuMzE5IDM3LjUxNzQgMTU5LjMxMiA0Ni4zNTI3IDE1Ny4yNjUgNTMuODgzMkMxNTUuNzM2IDU5LjUxMDggMTU0LjAyNyA2NC45NTk0IDE1Mi42NTcgNjkuMTIxM0MxNTguNzE1IDcxLjg5MzYgMTY3LjQxNiA3Ni43MTMyIDE3NS4zIDg0LjIzODVDMTg1LjM2IDkzLjg0MTEgMTk0LjI1MiAxMDguMDQ3IDE5NC4yNTIgMTI3Ljc0OEMxOTQuMjUyIDE0OC4xOTUgMTg1LjM0MSAxNjYuMjY1IDE2OC41NDQgMTc4Ljk5OEMxNTEuOTQ1IDE5MS41OCAxMjguMTkgMTk4LjU4NSA5OC42OTk2IDE5OC42MDdIOTguNTUyWiIgZmlsbD0iIzYzMzAwMSIvPgo8cGF0aCBkPSJNNjIuOTI2MiA3LjI4ODMzQzUwLjE3MTYgNy4yODgzMyA0NC4zMDA0IDE2LjgwMzcgNDQuMzAwNCAyOS45NjMyQzQ0LjMwMDQgNDAuNDIzMSA1MS4xMjIyIDYxLjM3MTUgNTMuOTIxMiA2OS41MjYzQzU0LjU1MDggNzEuMzYwNSA1My41NjE2IDczLjM3MDEgNTEuNzU3NCA3NC4wODE0QzQxLjUzNTEgNzguMTEyMSAxMS4zNjc5IDkyLjg3IDExLjM2NzkgMTI2LjY2OUMxMS4zNjc5IDE2Mi4yNzIgNDIuMDI0NiAxODkuMTE3IDk4LjU1ODEgMTg5LjE2Qzk4LjU4MDYgMTg5LjE2IDk4LjYwMzEgMTg5LjE1OSA5OC42MjU2IDE4OS4xNTlDOTguNjQ4MSAxODkuMTU5IDk4LjY3MDYgMTg5LjE2IDk4LjY5MzEgMTg5LjE2QzE1NS4yMjcgMTg5LjExNyAxODUuODgzIDE2Mi4yNzIgMTg1Ljg4MyAxMjYuNjY5QzE4NS44ODMgOTIuODcgMTU1LjcxNiA3OC4xMTIxIDE0NS40OTQgNzQuMDgxNEMxNDMuNjkgNzMuMzcwMSAxNDIuNyA3MS4zNjA1IDE0My4zMyA2OS41MjYzQzE0Ni4xMjkgNjEuMzcxNSAxNTIuOTUxIDQwLjQyMzEgMTUyLjk1MSAyOS45NjMyQzE1Mi45NTEgMTYuODAzNyAxNDcuMDggNy4yODgzMyAxMzQuMzI1IDcuMjg4MzNDMTE1Ljk2NSA3LjI4ODMzIDExMS4zODkgMzMuMjk1NSAxMTEuMDYyIDYxLjIwNzVDMTExLjA0IDYzLjA3MDkgMTA5LjUzNCA2NC41ODI4IDEwNy42NyA2NC41ODI4SDg5LjU4MDdDODcuNzE3MiA2NC41ODI4IDg2LjIxMDggNjMuMDcwOSA4Ni4xODkgNjEuMjA3NUM4NS44NjI2IDMzLjI5NTUgODEuMjg2IDcuMjg4MzMgNjIuOTI2MiA3LjI4ODMzWiIgZmlsbD0iI0QxODg0RiIvPgo8cGF0aCBkPSJNOTguNjkzMSAxNzcuNzU1QzU3LjE1NTEgMTc3Ljc1NSAxMS40Mzk3IDE1NS41MiAxMS4zNjgxIDEyNi43MzdDMTEuMzY4IDEyNi43ODEgMTEuMzY3OSAxMjYuODI2IDExLjM2NzkgMTI2Ljg3MUMxMS4zNjc5IDE2Mi41MDMgNDIuMDczNCAxODkuMzYyIDk4LjY5MzEgMTg5LjM2MkMxNTUuMzEzIDE4OS4zNjIgMTg2LjAxOCAxNjIuNTAzIDE4Ni4wMTggMTI2Ljg3MUMxODYuMDE4IDEyNi44MjYgMTg2LjAxOCAxMjYuNzgxIDE4Ni4wMTggMTI2LjczN0MxODUuOTQ2IDE1NS41MiAxNDAuMjMxIDE3Ny43NTUgOTguNjkzMSAxNzcuNzU1WiIgZmlsbD0iI0ZFREM5MCIvPgo8cGF0aCBkPSJNNzUuNjEzNSAxMTcuODk2Qzc1LjYxMzUgMTI3LjYxNCA3MS4wMjEgMTMyLjY3NSA2NS4zNTU4IDEzMi42NzVDNTkuNjkwNyAxMzIuNjc1IDU1LjA5ODEgMTI3LjYxNCA1NS4wOTgxIDExNy44OTZDNTUuMDk4MSAxMDguMTc4IDU5LjY5MDcgMTAzLjExNyA2NS4zNTU4IDEwMy4xMTdDNzEuMDIxIDEwMy4xMTcgNzUuNjEzNSAxMDguMTc4IDc1LjYxMzUgMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPHBhdGggZD0iTTE0Mi4yODggMTE3Ljg5NkMxNDIuMjg4IDEyNy42MTQgMTM3LjY5NiAxMzIuNjc1IDEzMi4wMzEgMTMyLjY3NUMxMjYuMzY1IDEzMi42NzUgMTIxLjc3MyAxMjcuNjE0IDEyMS43NzMgMTE3Ljg5NkMxMjEuNzczIDEwOC4xNzggMTI2LjM2NSAxMDMuMTE3IDEzMi4wMzEgMTAzLjExN0MxMzcuNjk2IDEwMy4xMTcgMTQyLjI4OCAxMDguMTc4IDE0Mi4yODggMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPC9zdmc+Cg==",protocol:"pancakeswap_v3",slippage:!0,fees:[100,500,2500,1e4],blockchains:["bsc"],bsc:{router:{address:"0x1b81D678ffb9C0263b24A97847620C99d213eB14",api:GC.ROUTER},smartRouter:{address:"0x13f4EA83D0bd40E75C8222255bc855a974568Dd4",api:GC.SMART_ROUTER},factory:{address:"0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865",api:GC.FACTORY},pair:{api:GC.POOL},quoter:{address:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997",api:GC.QUOTER}}};var ZC=e=>new OD(Object.assign(qC,{scope:e,findPath:e=>GC.findPath({...e,exchange:qC}),pathExists:e=>GC.pathExists({...e,exchange:qC}),getAmounts:e=>GC.getAmounts({...e,exchange:qC}),getPrep:e=>GC.getPrep({...e,exchange:qC}),getTransaction:e=>GC.getTransaction({...e,exchange:qC})}));const JC={name:"quickswap",label:"QuickSwap",logo:"data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzAyLjQ1IDcwMi40NyI+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIj48cmVjdCB3aWR0aD0iNzUwIiBoZWlnaHQ9Ijc1MCIgZmlsbD0ibm9uZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj48cGF0aCBkPSJNMzU0Ljc0LDI0LjM3YTM1MS4yNywzNTEuMjcsMCwwLDEsMzYzLjc0LDI3NywzNTQsMzU0LDAsMCwxLDEuMjMsMTQxLjI2QTM1MS43NiwzNTEuNzYsMCwwLDEsNTEwLjEyLDY5OS4zYy03My43NywzMS0xNTguMjUsMzUuMzUtMjM0LjkxLDEyLjU0QTM1MiwzNTIsMCwwLDEsNDYuNTEsNDk5LjU2Yy0yOC03My40NS0zMC4xNi0xNTYuMzgtNi4yNC0yMzEuMjVBMzUwLjg4LDM1MC44OCwwLDAsMSwzNTQuNzQsMjQuMzciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTE1OC44MSwzNDkuNThjMS4zOSw2LjQxLDIuMjMsMTIuOTIsMy42MSwxOS4zNS44NSwzLjkzLDIuMTMsMyw0LjE1LDEuMjgsMy44Ny0zLjI1LDcuNTktNi42OSwxMS45NC05LjMxLDEuMjMuMjQsMS44NiwxLjIyLDIuNTMsMi4xLDExLjM5LDE0Ljg3LDI2LjUzLDI0LDQ0LjM3LDI4Ljk0YTE0Ny4yMywxNDcuMjMsMCwwLDAsMjUuMTcsNC42Nyw0Mi42OCw0Mi42OCwwLDAsMS02LjYxLTkuOTVjLTIuODUtNi40MS0xLjg1LTEyLjE1LDIuOTUtMTcuMjIsNS44Ny02LjE5LDEzLjYyLTguNzYsMjEuNDgtMTAuOCwxNi40OC00LjMsMzMuMjctNC43Myw1MC4xOC0zLjUzQTIwMi4xMSwyMDIuMTEsMCwwLDEsMzU4Ljc1LDM2MmMxMSwzLjA2LDIxLjcyLDYuNzMsMzEuNDQsMTIuODgsMS4zNiwxLjA5LDIuMywyLjYsMy42MSwzLjc0LDEyLjQ5LDEzLjQxLDE5Ljc4LDI5LjI1LDIwLjI4LDQ3LjU1LjM0LDEyLjY1LTMuMTYsMjQuNzItOS41LDM1LjgyLTExLjQyLDIwLTI4LjA5LDM0LjU2LTQ4LDQ1LjcxQTE3MC41LDE3MC41LDAsMCwxLDI5MSw1MjguNDJjLTQxLjI0LDQuNDctNzkuNDUtNC40Ny0xMTQuNTktMjYuMzYtMjkuMjEtMTguMTktNTEuNjUtNDMuMDgtNzAtNzEuOTJhMzM5LjU3LDMzOS41NywwLDAsMS0yMi41Mi00Mi43NWMtLjgxLTEuOC0xLTMuODEtMS44Mi01LjI5LjUyLDEuNzUsMS40OSwzLjczLS40Myw1LjYtLjU4LTcuNDUuMDgtMTQuOS40Ny0yMi4zMWEyODcuMTMsMjg3LjEzLDAsMCwxLDkuNDgtNjAuNTRBMjkyLjkxLDI5Mi45MSwwLDAsMSwyNjYuMDYsMTA5LjA5LDI4Ny4yLDI4Ny4yLDAsMCwxLDM0Ni41OSw4OS45YzQzLjU3LTQsODUuNzksMS43MywxMjcsMTYuMzQtNi4yNywxMS44OS00Miw0My43Mi02OS44LDYyLjE1YTk0LjExLDk0LjExLDAsMCwwLTUuNDQtMjMuNTFjLS4xNC0yLDEuNjYtMi42NSwyLjc4LTMuNjFxOC42Ny03LjQ2LDE3LjQzLTE0Ljc3YTE3LjE0LDE3LjE0LDAsMCwwLDEuNjktMS40OWMuNjYtLjcxLDEuNzctMS4zLDEuNTQtMi40cy0xLjU1LTEuMTUtMi40Ny0xLjNhNDYuODIsNDYuODIsMCwwLDAtOC4xNy0xYy0zLjgxLS40NS03LjU2LTEuMy0xMS40LTEuMzgtMi45NS0uMTgtNS44NS0uOTMtOC44My0uNjlhMjguMjIsMjguMjIsMCwwLDEtNC41LS4zMmMtMi41LS43OS01LjA3LS40NC03LjYxLS40My0xLjUyLDAtMy0uMTEtNC41NiwwLTQuMzUuMjUtOC43My0uNDgtMTMuMDcuMzRhMTIuODcsMTIuODcsMCwwLDEtMy4yMS4zMmMtMS4yNiwwLTIuNTEuMDYtMy43NywwYTEyLjM1LDEyLjM1LDAsMCwwLTQuODcuNDdjLTQuNTkuNDEtOS4xOS43OC0xMy43MywxLjYxLTUuNDgsMS4xNi0xMS4wOSwxLjQ0LTE2LjUzLDIuNzktNSwxLjMtMTAuMTMsMi0xNSwzLjc0LTYuNTEsMS43OS0xMi45NSwzLjg0LTE5LjM1LDYtOS4zNCwzLjcxLTE4LjgyLDcuMS0yNy43MSwxMS44NmEyNDguNzQsMjQ4Ljc0LDAsMCwwLTU1LjY2LDM2Ljk0QTI2Ni41NSwyNjYuNTUsMCwwLDAsMTU5LjY4LDIyN2EyNTQuODcsMjU0Ljg3LDAsMCwwLTE2LjU0LDI2LjE2Yy0zLjE3LDUuOS02LjIyLDExLjg1LTksMTgtMiw0LjcxLTQuNDIsOS4yNy02LDE0LjE4LTIsNC45LTMuNjQsOS45Mi01LjIyLDE1LTEuODgsNS4wNi0zLDEwLjM1LTQuNDUsMTUuNTMtLjYzLDItMSw0LjExLTEuNTMsNi4xOC0uNjMsMi40OS0xLDUtMS40Nyw3LjU1LS43Nyw0LjI1LTEuNDgsOC41LTIuMDksMTIuNzhhMTE4LjY0LDExOC42NCwwLDAsMC0xLjU3LDEzLjI5Yy0uNzQsMi45NC0uMiw2LS43NCw5LS44MiwzLjY5LS4yOCw3LjQ1LS41MiwxMS4xNi0uMTEsMi42MS0uMTYsNS4yMy0uMDksNy44NSwwLDEuMDctLjQ5LDIuNTcuNjQsMy4wOSwxLjI5LjYsMi4yMy0uNzcsMy4xNi0xLjUzLDMuMTgtMi42LDYuMjktNS4yOSw5LjQtOCwxMC40Ny05LDIxLjA3LTE3Ljg4LDMxLjU4LTI2Ljg1LjkxLS43NywxLjktMi43OSwzLjUyLS43MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0MTg5YzkiLz48cGF0aCBkPSJNMzkwLjExLDM3NS43OGMtMTIuMzctNy4zNS0yNS44OS0xMS42My0zOS43Ny0xNC45MmExOTcuMjUsMTk3LjI1LDAsMCwwLTU1LjY4LTUuMWMtMTMuMjEuNjYtMjYuMzEsMi41LTM4LjQ4LDguM2EzMi42MSwzMi42MSwwLDAsMC00LjIxLDIuNDNjLTkuODUsNi42LTExLjM1LDE1LjQtNC4yMywyNC45MSwxLjQ4LDIsMy4xMiwzLjgxLDUuMSw2LjIyLTYuMzksMC0xMi4wNS0xLjE5LTE3LjY5LTIuMzEtMTUuMTItMy0yOS4zMi04LjI0LTQxLjUtMTgtNS44Ni00LjY4LTExLjIyLTkuOTMtMTUuMTQtMTYuNDUsMS42LTIuNjEsNC4yOC0zLjgzLDYuNzgtNS4yNyw0LjgyLTIsOS4xOS00LjkxLDE0LTcuMDlhMjA3LjU1LDIwNy41NSwwLDAsMSw2Ny40LTE4YzkuMzItLjg3LDE4LjY1LTEuNzYsMjgtMS40MUEzMTEuMzgsMzExLjM4LDAsMCwxLDM3NiwzNDMuMjVjNi44LDIuMTIsMTMuNTIsNC40NSwyMC41OSw2Ljg0LDAtMi0xLjE0LTMuMTktMS45LTQuNDhBOTYuMTgsOTYuMTgsMCwwLDAsMzg1LDMzMS44OGMtMS4zMy0xLjU2LTMuMTgtMi45My0zLjE0LTUuMzMsMy43My44NSw3LjQ2LDEuNjgsMTEuMTgsMi41NiwxLC4yMywyLjE3LjgzLDIuODEsMCwuODUtMS4wOC0uNDMtMi0xLTIuODQtNS40OS04LjE5LTEyLjMzLTE1LjE3LTE5LjY3LTIxLjY4LDMuODktMi4yNiw3Ljg5LS40MiwxMS42OC4wNiwzOC44Nyw1LDc0LjI5LDE4LjgxLDEwNS4xOCw0Myw0MC45LDMyLjA5LDY3LjMzLDczLjU0LDc4LjQ3LDEyNC41MUExODAuNTQsMTgwLjU0LDAsMCwxLDU3My44Nyw1MjRjLTIuMTksMzAuMTEtMTEuNjUsNTcuOS0yOS40NSw4Mi41OC0xLjE3LDEuNjItMi43NSwyLjkxLTMuNjEsNC43Ni00LDYtMTAsMTAuMDgtMTUuNDQsMTQuNTItMjkuNTUsMjQtNjQsMzYuNDYtMTAxLjE0LDQyLjI4YTMxMC4zNCwzMTAuMzQsMCwwLDEtODcuMzEsMS41NCwyODguMTcsMjg4LjE3LDAsMCwxLTEyNy4zOS00OC4xNGMtOS4yNy02LjI5LTE4LjM2LTEyLjg1LTI2LjUxLTIwLjYyYS42NS42NSwwLDAsMSwwLTFjMS43NC0uNjksMi44NC41Nyw0LDEuNDNhMTg5LjA4LDE4OS4wOCwwLDAsMCw2NSwzMS41NiwyMjguNDYsMjI4LjQ2LDAsMCwwLDIzLjg3LDQuNzVjMS44Mi42NiwzLjc1LjM1LDUuNjIuNjZhNy41NSw3LjU1LDAsMCwxLDEuMTMuMjNjMTguMjQsMi4xNiwzNi4zNy44OSw1NC4zNi0yLjI4LDM5LjU0LTcsNzQuNjYtMjMuNTUsMTA0Ljc1LTUwLjE1LDIwLjUtMTguMTIsMzYuNjgtMzkuNTMsNDUuMjQtNjUuOTVzNy4zNS01Mi4xLTQuNjctNzcuNDhjLTIuNDcsMTEuMzgtOC40NCwyMC44LTE1LjkxLDI5LjM4YTEwNi4wOSwxMDYuMDksMCwwLDEtMjYuMDcsMjEuMTljLTEuMTQuNjYtMi40LDEuOTEtMy43MS45LTEuMTMtLjg2LS40NS0yLjM3LS4xLTMuNTFhMTM5LjY0LDEzOS42NCwwLDAsMCw0Ljk0LTI0LjJjMy41LTM0LjUxLTkuODItNjEuMzctMzcuMy04MS43NGExMTkuOCwxMTkuOCwwLDAsMC0xNC4wNi05IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzI2MmY3MSIvPjxwYXRoIGQ9Ik0yNzYuMDgsNjM4LjQxYTE1MS4xNiwxNTEuMTYsMCwwLDEtMjkuODYtNi4xQTE5OC41MywxOTguNTMsMCwwLDEsMTk0LjM1LDYwOGMtMy44My0yLjUxLTcuMDctNS44Ni0xMS4yNC03Ljg5LTIuMzktLjM0LTMuMzktMi42OC01LjMtMy43LTQwLjM4LTM1LjktNjgtODAtODMuODMtMTMxLjQ4QTI4MC41NCwyODAuNTQsMCwwLDEsODEuNjMsMzg3LjdjLjEtMiwuMi0zLjkzLjM2LTcsMiw0LjM2LDMuNDgsNy44Miw1LjA1LDExLjI2LDE0LjUzLDMxLjg2LDMzLjEzLDYwLjkzLDU4Ljc0LDg1LjEyQzE3Myw1MDIuODIsMjA0LjY4LDUyMCwyNDIsNTI2YzQzLjcxLDcuMTEsODQuNjEtLjUxLDEyMi4yMi0yNC4wNiwxOC43NS0xMS43NSwzNC4xNC0yNi45NCw0My00Ny42NSwxMC43Mi0yNS4xMSw2LjY4LTQ4LjQ0LTkuNjUtNjkuOTUtMS40My0xLjg4LTIuOTUtMy42OS00LjQzLTUuNTQsMS45NC0xLjY2LDMsLjI2LDQuMDcsMS4xOGE4My4yMiw4My4yMiwwLDAsMSwyMi42LDI5LjksODgsODgsMCwwLDEsNy44NSwzNS4xOSw3OS43NSw3OS43NSwwLDAsMS04LDM1Ljg3LDUuMzksNS4zOSwwLDAsMCwzLjI0LTEuMTcsOTguMzQsOTguMzQsMCwwLDAsMTQuNjUtMTAuMzVjMS40Mi0xLjIzLDIuNjctMy4wOCw1LTIuOGExNjUuMywxNjUuMywwLDAsMS02LjA5LDI3Ljc1LDEzMS43NCwxMzEuNzQsMCwwLDAsMTcuMjctMTEuNDhjNC4zMy0zLjM4LDcuODMtNy42MiwxMi4wOC0xMS4wNiwxLjgxLjc3LDEuODEsMi41NiwyLjIzLDQuMDgsNi45MiwyNSwxLjkxLDQ4LjI4LTEwLjQyLDcwLjMtMTUsMjYuNy0zNyw0Ni41Ny02Mi42Miw2Mi42NWEyMTMuMzMsMjEzLjMzLDAsMCwxLTY3LjI3LDI3LjU1LDE0Mi4yLDE0Mi4yLDAsMCwxLTQ1LjY3LDIuNjloMGMtMS45LTEtNC4wNy4xOS02LS43MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNNjU0LjE3LDQ1My4wN2EyMTIsMjEyLDAsMCwwLTIwLjc3LTgyLjM1QTIxOC45LDIxOC45LDAsMCwwLDYwMywzMjRjLTEwLjktMTIuOTEtMjMuNDItMjMuOTMtMzYuNTYtMzQuMzgsMS4yMy0xLjIxLDIuNzYtMSw0LjI0LS44YTIzNi4yOCwyMzYuMjgsMCwwLDEsNTMuNzksMTIuNzhBODAuMiw4MC4yLDAsMCwxLDYzNywzMDcuNDNhNDAuMzgsNDAuMzgsMCwwLDEsNC4xNiwyLjQ0Yy4zNC4xOS41My42OSwxLC41OGExLjI3LDEuMjcsMCwwLDEtLjIxLTEuMzdjLTExLjg0LTE1LjQyLTI2LjE1LTI4LjI4LTQxLjE3LTQwLjVhMzAyLDMwMiwwLDAsMC01OC4xOC0zNi45LDI4Ny42NCwyODcuNjQsMCwwLDAtOTEuNTctMjcuNDVjLTIuODMtLjM1LTUuNzUsMC04LjUxLTEtLjI0LTEuODksMS4zNS0yLjUyLDIuNDUtMy40NCwxOC42Ny0xNS41NSwzMy42OS0zNCw0NC4yOC01NS45NGExNTcuMSwxNTcuMSwwLDAsMCw4LjE0LTIwLjUzYy42NC0yLDEtNC4xNywzLTUuNDRhMjg4LjE2LDI4OC4xNiwwLDAsMSw4OC40Nyw2NiwyOTIuMSwyOTIuMSwwLDAsMSw2Ni42NCwyNzBjLS44NC40Ni0xLS4yNi0xLjM0LS43NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0MTg5YzkiLz48cGF0aCBkPSJNNTQwLjgxLDYxMS4zN2MwLTIuOTQsMi4zNC00LjYsMy43OS02LjY2LDEzLjY2LTE5LjUxLDIyLTQxLjEyLDI2LjMxLTY0LjQ4LDIuNjctMTQuNDcsMi45LTI5LjA4LDItNDMuNTctMS40Ny0yMi4zNC03LjE4LTQzLjgzLTE2LjE5LTY0LjQyYTIxMi4yNSwyMTIuMjUsMCwwLDAtMjQuNzMtNDIuNTcsMjIxLjI0LDIyMS4yNCwwLDAsMC0zNi4xNi0zNy42MkEyMDcuNTYsMjA3LjU2LDAsMCwwLDQyNS4xOSwzMTRhMTk4LjEsMTk4LjEsMCwwLDAtNDIuMjUtOC42OWMtMi41OS0uMjMtNS4xNS0uODUtNy43OC0uNjktOS4xMy02LjczLTE4LjM5LTEzLjI0LTI4Ljc5LTE3Ljk0LDAtLjMzLDAtLjY3LjA3LTEsMy43NCwwLDcuNDkuMDYsMTEuMjMsMCw1Mi40My0uOTQsMTAwLjc1LDExLjkxLDE0Myw0My44NEM1NDQuNCwzNjIuNTksNTcxLjc0LDQwNi4zMiw1ODIsNDYwLjNjOC43Myw0Ni4wNSwyLDg5LjU0LTIzLjU2LDEyOS40NC01LDcuODUtMTAuNTMsMTUuNDEtMTcuNjEsMjEuNjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTYxZjQyIi8+PHBhdGggZD0iTTUwMC40LDExNy45MWMtNS4yNSwxNi4wNS0xMS44NCwzMS40Ny0yMS4yNyw0NS41OWExNzIuNzgsMTcyLjc4LDAsMCwxLTM0LjQyLDM3LjczYy0uNzYuNjMtMS40NSwxLjM1LTIuMTcsMi00LjU4LDIuMzMtOC4zNSw1Ljg1LTEyLjU5LDguNjhhMjY3LjY4LDI2Ny42OCwwLDAsMS00OS4zOSwyNS41Myw4LjA5LDguMDksMCwwLDEtMS4yOS4zMmMtLjc2LTEuMTIuMTQtMS41My42LTIsOS44Mi05LjM1LDE1LjkxLTIwLjkyLDIwLTMzLjY2YTUsNSwwLDAsMSwzLjE3LTMuNjVjMzAuNTEtMTIuMDgsNTQuODYtMzIuMTUsNzQuOC01Ny45LDEuODEtMi4zNCwzLjU4LTQuNzEsNS44Mi03LjY2LTYuMTctLjEyLTEwLjksMy0xNi4xMiwzLjgyLTEsLjA2LTIuMjcuODgtMi41LTFhMjE1LjI3LDIxNS4yNywwLDAsMCw0MS44NC03NS42NWMuNTUtMS43OCwwLTQuMjMsMi40OC01LjEzYS40NC40NCwwLDAsMSwuMjUuNDVjMCwuMTgtLjA4LjI2LS4xMy4yNmEyMzAuNDksMjMwLjQ5LDAsMCwxLTguMzUsNTguNTYsMzYuODgsMzYuODgsMCwwLDAtLjY5LDMuNjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTYxZjQyIi8+PHBhdGggZD0iTTM4MS44MiwzMjYuNTRhMTIwLDEyMCwwLDAsMSwxNi4wNiwyMi40Yy40My43OSwxLjU0LDEuNjguNTUsMi42MS0uNzUuNy0xLjYyLS4xNi0yLjQxLS40NmEzNDksMzQ5LDAsMCwwLTYyLjU2LTE3Yy0xMC43NS0xLjg1LTIxLjY2LTIuNjYtMzIuNTgtMy40NWExOTQuMDksMTk0LjA5LDAsMCwwLTI5LjQ1LjQyYy0yMi40MiwxLjgtNDQuMjQsNi41OS02NSwxNS41Ni02LjQsMi43Ny0xMi45NCw1LjI1LTE4Ljg5LDktLjY4LjQzLTEuNDksMS4xMy0yLjI3LjA2YTE5OS41OSwxOTkuNTksMCwwLDEsNTkuMi0yOC40MWMyOS4xNS04LjcsNTguOTMtMTAuODQsODkuMTUtOC40NmEzMjguNDIsMzI4LjQyLDAsMCwxLDQ1Ljc0LDYuOTUsMjEuOTIsMjEuOTIsMCwwLDEsMi40NC44MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNMzc0LjMyLDExNi4zOGg0LjVjMi40MiwxLDUuMDctLjI4LDcuNS43NGg0LjQ5Yy4zOCwyLjE3LTEuNDEsMy4wOC0yLjY1LDQuMTMtMjAuNzgsMTcuNTYtNDEuNDEsMzUuMjktNjIuMiw1Mi44My02Ljg3LDUuNzktMTMuNjgsMTEuNjUtMjAuNTQsMTcuNDVhNi4xNCw2LjE0LDAsMCwwLTIuMzUsMi44M2MtOSwzLjM3LTE3LjM2LDcuNi0yNCwxNC45NC0zLjEzLDMuNDgtNS4xOCw3LjUtNy40NCwxMS40Ni02LjE3LDQtMTEuMzYsOS4yNi0xNywxNC0xNC43NywxMi40Mi0yOS4zNSwyNS4wNi00NC4xNiwzNy40My0xLjI1LDEtMi4wNywyLjUtMy41MiwzLjMxLTIuNTUtMy44LTItOC0xLjM5LTEyLjEyLDEuODYtMy4wNiw0LjgtNSw3LjQ0LTcuMjhxMjEuNTQtMTguMjcsNDMtMzYuNTljMTQtMTEuODUsMjcuOTItMjMuNzcsNDEuOS0zNS42M3EyNC4xMi0yMC40NSw0OC4xNy00MWM4LjkzLTcuNiwxNy44LTE1LjI2LDI2Ljg2LTIyLjcxLDEuMzctMS4xMywyLjMzLTIsMS4yOC0zLjgxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzVjOTRjZSIvPjxwYXRoIGQ9Ik02MzcuNTEsMzA4LjQxYy0xNy42My04LjU2LTM2LjI3LTEzLjc4LTU1LjU0LTE2LjktNS4xNS0uODQtMTAuMy0xLjg3LTE1LjU1LTEuOTEtNi43Mi00LjI1LTEzLjMxLTguNzMtMjAuMTktMTIuN2EyMDkuNzMsMjA5LjczLDAsMCwwLTcyLjE4LTI1Ljc1LDkuMDksOS4wOSwwLDAsMS0xLjY1LS42NGM3LjY1LTEuNCwzMy42OSwyLjUxLDUxLjcyLDcuNDdhMjQzLjA3LDI0My4wNywwLDAsMSw0OC40NywxOWMtMS42Mi00Ljg1LTQuNTgtOC4xMy02LjM5LTEyLS4xOC0xLTEuNjMtMS45NC0uNjYtM3MyLjA3LjA4LDMsLjQ5YzIuNiwxLjE4LDUuMDgsMi42MSw3LjY5LDMuNzdhMzQ3LjUyLDM0Ny41MiwwLDAsMSw2MS40LDQwLjQ5YzEuMDYsMS40LDEuMDYsMS40LS4xMSwxLjY5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzE2MWY0MiIvPjxwYXRoIGQ9Ik0zNzQuMzIsMTE2LjM4Yy40NiwxLjEsMS45Mi4zLDIuNjEsMS41My00LjE4LDMuNjItOC4zNiw3LjMtMTIuNjEsMTAuOTFxLTExLjUxLDkuNzgtMjMuMDcsMTkuNDhRMzI0Ljg3LDE2Mi4xMywzMDguNSwxNzZjLTcuNTgsNi40NC0xNS4wNSwxMy0yMi42MywxOS40Ni05LjE4LDcuOC0xOC40NSwxNS41MS0yNy42NSwyMy4zLTcuMyw2LjE5LTE0LjUzLDEyLjQ3LTIxLjgyLDE4LjY4LTcuNjcsNi41Mi0xNS4zNywxMy0yMy4wNiwxOS40OWwtNy43MSw2LjQ3LDIuMTktOS43NmMtMS4yNC0zLjE5LDEuMzUtNC42MywzLjEzLTYuMSw3LTUuODQsMTMuODgtMTEuODEsMjAuODMtMTcuNzFxMjQuMjUtMjAuNTgsNDguNDktNDEuMjIsMjAuODQtMTcuNyw0MS42Ni0zNS4zOWMxMi45Mi0xMSwyNS45My0yMS45MSwzOC43Mi0zMy4wNywxLS44NiwyLjg1LTEuODcuMTUtMyw0LjQzLTEuNjEsOS0uMzMsMTMuNTItLjczIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzY0OTdkMCIvPjxwYXRoIGQ9Ik0zNjAuOCwxMTcuMTFjMS4wNS4xOSwyLjItLjM3LDMuMy40OS0yLjY1LDMuOS02LjU1LDYuNDUtMTAsOS40NC05LjgyLDguNTYtMTkuNzksMTctMjkuNzQsMjUuMzctOS4xLDcuNjgtMTguMjksMTUuMjYtMjcuMzcsMjNzLTE4LjIzLDE1Ljc0LTI3LjQsMjMuNTQtMTguMjksMTUuMjctMjcuMzYsMjNTMjI0LDIzNy41OCwyMTQuODcsMjQ1LjQ1Yy0yLjc0LDIuMzctNi4zNyw0LTcuMDUsOC4xNS00Ljg0LjU1LTcuNCw0LjY0LTEwLjk0LDcuMTYtNS41OSw0LTkuODQsOS40Ny0xNSwxMy45NS01LjE5LDMuNjktOS43Nyw4LjEtMTQuNjEsMTIuMi0xNC4zOCwxMi4xOS0yOC43LDI0LjQ2LTQzLjEzLDM2LjU5LTIsMS42OC0zLjc3LDMuNjYtNiw1LjA2LTEsLjYyLTEuOTEsMS43OS0zLjMyLjgxYTE2LjksMTYuOSwwLDAsMSwxLjUxLTcuNTFjNy4xOS00LjU5LDEzLjE3LTEwLjY3LDE5LjY2LTE2LjEsMTcuODgtMTUsMzUuNjEtMzAuMTYsNTMuMzgtNDUuMjlzMzUuMy0zMC4xMyw1My00NS4xNXEyNi0yMiw1MS45NC00NC4wOGMxNy42OC0xNSwzNS40NC0zMCw1My00NS4xNSwzLjQ5LTMsNy4xNi01LjgzLDEwLjU2LTloMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ODlhZDEiLz48cGF0aCBkPSJNMzk5LjgxLDExNy44N2M0LjA3LS4wNSw4LDEsMTIsMS41LDEuMDksMi4zOS0xLDMuMzItMi4yMyw0LjQzLTUsNC4zNy0xMC4yMyw4LjQ4LTE1LjEsMTMtLjUyLS42OS0xLjA4LTEuMzYtMS41Ni0yLjA5LTEuMTEtMS42NS0xLjg5LTEuMjEtMi42MS4zMy01LjksMTIuNjYtMTYuMDUsMjEuNDYtMjcuMSwyOS4zYTIwMi4xNCwyMDIuMTQsMCwwLDEtMzkuODcsMjEuNzljLS43Ni0xLjQ0LS44My0xLjUuNDctMi44NCwyLjY5LTIuNzgsNS43Ny01LjE0LDguNzItNy42NCwyMS4yOS0xOC4xLDQyLjY0LTM2LjEyLDYzLjgxLTU0LjM3LDEuMjMtMS4wNywyLjI5LTIuMywzLjQ3LTMuNDEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTM5OS44MSwxMTcuODdhNC41NSw0LjU1LDAsMCwxLTEuNzUsMy4xNHEtMjAuNiwxNy40My00MS4xMywzNC45My0xNS43MiwxMy40LTMxLjM2LDI2Ljg5Yy0uOTQuODItMi43MSwxLjQtMi4yMywzLjNhMTg3LjQsMTg3LjQsMCwwLDEtMjAuMjcsOC4yNGMtMi4zMy0uNjQtLjQtMS40NywwLTEuODUsNC4wOS0zLjYyLDguMjMtNy4xOCwxMi4zOS0xMC43MnExMS40Ny05Ljc1LDIzLTE5LjQ3YzcuNTctNi40LDE1LjE4LTEyLjc3LDIyLjczLTE5LjE5czE1LjEyLTEyLjg3LDIyLjU3LTE5LjQyYzIuNDEtMi4xMiw1LjM2LTMuNjgsNy02LjU5LDMuMDYtLjQ0LDYsLjYsOSwuNzQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNTU5MWNkIi8+PHBhdGggZD0iTTM0Ni42MSwyMDhjNy45Mi0zLjkyLDE2LjE5LTcuMjEsMjMuMS0xMi45MywxLjQ0LS4wNiwxLjI4Ljc2Ljk0LDEuNjktNi4zOCwyNi40Mi0yNi40Miw0My43Ny01My41Miw0Ni4zLTUuMjIuNDktMTAuNDMsMS4wOS0xNS42OS41OS42OC0xLjkzLDIuNTEtMS43Niw0LTIuMTcsNS44OC0xLjYsMTEuNzEtMy4zMSwxNy4xNi02LjEzLDEwLjIyLTUuMjgsMTcuNzEtMTMuMDcsMjItMjMuODRhOC4yMiw4LjIyLDAsMCwxLDIuMDUtMy41MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNMzQ2LjYxLDIwOGMtMy4yNiwxMi42LTExLjI5LDIxLjMxLTIyLjM5LDI3LjU1LTcuMTMsNC0xNSw1Ljg2LTIyLjc3LDguMS0xLjkxLTUuNTkuMTYtMTAuMzIsMy41Mi0xNC41NywzLjk0LTUsOS4zLTguMDgsMTUtMTAuNjlBMjc3LjA4LDI3Ny4wOCwwLDAsMSwzNDYuNjEsMjA4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQxOGFjOSIvPjxwYXRoIGQ9Ik0xMTQuOCwzMjkuMzdjNC40NS0xLjY1LDcuMzEtNS40MSwxMC44MS04LjI4LDExLjI5LTkuMjcsMjIuMzgtMTguNzgsMzMuNTEtMjguMjQsNS44NS01LDExLjYxLTEwLjA1LDE3LjQxLTE1LjA4LDEuNTgtMS4zNywzLjA1LTIuOTQsNS4zNC0zLjA2LTYsNy41Mi0xMS43MywxNS4yNC0xNiwyMy45M3EtMTcuMjUsMTQuNi0zNC40NCwyOS4yN2MtNS4zLDQuNTMtMTAuNzEsOC45NC0xNS45MywxMy41Ny0uOC43MS0xLjcsMS42LTIuOTQuNjRhNTQuMTMsNTQuMTMsMCwwLDEsMi4yNC0xMi43NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2NDk3ZDAiLz48cGF0aCBkPSJNMTU4LjgxLDM0OS41OGMtMy41NC4yNy01LjE0LDMuNDQtNy40OCw1LjMzLTkuODUsNy45NS0xOS40NSwxNi4yMi0yOSwyNC40OS0zLjIsMi43Ni02LjMsNS42Mi05LjY5LDguMTYtMi4yMywxLjY4LTMuMDcsMS0zLTEuNTgsMC0zLjEyLDAtNi4yNCwwLTkuMzYsMy40Ni0zLjc1LDcuNjEtNi43MiwxMS40OC0xMCwxMS4xNy05LjQ4LDIyLjIzLTE5LjEsMzMuNTUtMjguNDIsMS0uOCwxLjc5LTIuMjYsMy40Ni0xLjMxbC43NSwxMi42OSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0NjhjY2EiLz48cGF0aCBkPSJNMjA3LDI3NS40OGE0LjE3LDQuMTcsMCwwLDEsMS45MS0zLjA4YzktNy42LDE4LTE1LjE1LDI3LTIyLjc2LDcuMzktNi4yNSwxNC43Mi0xMi41NiwyMi4wNy0xOC44NywzLjg2LTMuMzEsNy42OS02LjY2LDExLjUyLTEwLC43My0uNjQsMS40MS0xLjEyLDIuMTIsMC0uODMsMy40MS0xLjgyLDYuNzktMS43MiwxMC4zNS00LDQuNDMtOC44OSw3LjkzLTEzLjQyLDExLjgtMTQsMTItMjcuOTUsMjMuOTMtNDIsMzUuNzZhMTEuMzQsMTEuMzQsMCwwLDAtMS40OCwxLjY4LDcuOTMsNy45MywwLDAsMS02LTQuODgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNTU5MWNkIi8+PHBhdGggZD0iTTExMi41NiwzNDIuMTJjMy4yNC0xLDUuMTMtMy44MSw3LjU2LTUuODIsMTMuMTctMTAuODksMjYuMTMtMjIsMzkuMTctMzMuMDgsMi4wNS0xLjczLDMuNDktNC4zMyw2LjU4LTQuNThhMTUwLjg5LDE1MC44OSwwLDAsMC02LDE4Yy0yLjM0LS4yMy0zLjUzLDEuNjQtNSwyLjg4LTEzLjU4LDExLjY3LTI3LjI4LDIzLjItNDAuOTIsMzQuOC0uODIuNjktMS41NSwxLjcxLTIuODksMS4yNmE0NC44OCw0NC44OCwwLDAsMSwxLjUtMTMuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM1Yzk0Y2UiLz48cGF0aCBkPSJNMjEzLDI4MC4zNmMtLjkzLTEuNjguNjUtMi4yMywxLjQ3LTIuOTNxMTcuMi0xNC43MSwzNC40OS0yOS4zNCw5Ljc3LTguMjgsMTkuNTktMTYuNDlhNC4xNiw0LjE2LDAsMCwxLDEuMzgtLjQ3LDI5LjkyLDI5LjkyLDAsMCwwLDEuMzgsOWMtMy45Myw0LjU2LTguODcsOC0xMy4zOSwxMS44NnEtMTUuMTMsMTMtMzAuNDUsMjUuOTNhMy41LDMuNSwwLDAsMC0xLjU0LDJjLTQuMjYsMS41OC04LjU2LDIuMjEtMTIuOTMuNDEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTE1OC4wNiwzMzYuODljLTQuMjEsMi40MS03LjU3LDUuOTEtMTEuMjcsOS05Ljc2LDgtMTkuMzcsMTYuMjUtMjguOTQsMjQuNS0yLjY0LDIuMjgtNSw0LjgyLTguMjgsNi4yNy4zOS00LS44NC04LjA4Ljc0LTEycTIyLjE3LTE4Ljk0LDQ0LjQ2LTM3Ljc2YzEtLjg2LDIuMDYtMS45MSwzLjY0LTEuMjMtLjEyLDMuNzUtLjIzLDcuNS0uMzUsMTEuMjYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTE1OC40MSwzMjUuNjNjLTQuNzUsMi41NS04LjQyLDYuNS0xMi41Miw5Ljg4LTkuNjgsNy45NS0xOS4xNCwxNi4xNi0yOC43MywyNC4yMi0yLjE0LDEuODEtMy42NCw0LjU2LTYuODUsNC44OS4zOC0zLS44LTYuMTEuNzUtOXExNC0xMiwyOC4wNi0yMy45MmM2LjM0LTUuMzksMTIuNzQtMTAuNzEsMTkuMDctMTYuMSwyLTEuNzIsMS40Ny4xNywxLjY1LDEuMDhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzU1OTFjZCIvPjxwYXRoIGQ9Ik0yMjYsMjgwYy0xLjM4LTEtLjQxLTEuNzQuMzItMi4zNSw4LjgyLTcuNCwxNy42OC0xNC43NSwyNi40OS0yMi4xNiw1LjUtNC42MywxMC45My05LjM0LDE2LjM3LTE0YTMuNjYsMy42NiwwLDAsMSwyLjItMS4yOGwyLjI1LDQuNDljLTEuNzMsMi42Ny00LjUsNC4zMy02LjQ1LDYuNzktMTAuODMsMTItMjIuOTUsMjIuMTQtMzguMjksMjcuOTFBMTkuNTMsMTkuNTMsMCwwLDEsMjI2LDI4MCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0ODhkY2EiLz48cGF0aCBkPSJNMzk0LjQ4LDEzNi44YzEuMzYtNC4yNSw1Ljc3LTUuNDcsOC4zOC04LjQ3LDIuNzgtMy4xOSw3LjMzLTQuNjEsOC45NS05LDMuMjYsMCw2LjM4Ljg2LDkuNTUsMS40NSwyLjc0LjUxLDIuODYsMS43LDEsMy4zOS00LjA4LDMuNjQtOC4yLDcuMjYtMTIuMzQsMTAuODItMy44NiwzLjMyLTcuNzgsNi41Ny0xMS42OCw5Ljg1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0NjhjY2EiLz48cGF0aCBkPSJNMjA5LjM3LDMwNy44MWMuNjYsMS42Ni0xLjMzLDIuNDktMS4xLDQtMS00LjU2LTMuNTEtNi4zMy04LjA4LTUuNDJhMjMuNjUsMjMuNjUsMCwwLDAtMTIuNjQsNy4zNWMtLjk0LDEtMiwxLjg5LTMsMi44NC0uODItMSwwLTEuODcuMzMtMi43NiwyLTYuNTEsNi4zOS0xMS4xNCwxMS45My0xNC44M2ExMi41NywxMi41NywwLDAsMSw0LjA2LTEuODVjNi40Mi0xLjUzLDkuOTQsMS42MSw5LjA2LDguMTJhOC4yOCw4LjI4LDAsMCwxLS42MSwyLjUzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQyOGFjOSIvPjxwYXRoIGQ9Ik0yMDkuMzcsMzA3LjgxYzAtMSwuMDYtMiwuMDctMywuMTEtNi41NC0zLjYtOS05LjY3LTYuMjUtNywzLjItMTEuNDIsOC45Mi0xNC40OSwxNS43OS0uNzEuMTMtMS4wOC0uMDctLjg2LS44NiwyLjIxLTguMTYsNi40Ny0xNC45MiwxMy41Ni0xOS43M2ExNC44MiwxNC44MiwwLDAsMSw1Ljg1LTIuMjgsNi4yNSw2LjI1LDAsMCwxLDcuNDEsNC42MSwxNC44OCwxNC44OCwwLDAsMS0xLjg3LDExLjciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTgyMTQ0Ii8+PHBhdGggZD0iTTI2Ny4xMywyNTEuNDFjLTEuMjYtMS0uMTUtMS40LjUyLTEuODcsMi4xMS0xLjQ3LDMuMjctNC4xLDUuOTMtNC45MiwzLjQsNS4zOCw4LjgzLDcuNzUsMTQuNDksOS43NywxLjE0LjQxLDIuMzMuNjcsNC4xOSwxLjE5LTguNzIsMi4yNy0xNi4yNCwxLjM5LTIzLjE1LTMuMzNhMywzLDAsMCwwLTItLjg0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQ1OGNjYSIvPjxwYXRoIGQ9Ik01NzYuMjIsMjY2LjIzYy0yLjc1LS4zMi00Ljg0LTIuMi03LjM0LTMuMTMtMS0uMzYtMS44OS0xLjY0LTIuOTItLjgtLjg1LjcuNTQsMS43NC4yNCwyLjcxLTEuNTMtMS4zNC0yLjA2LTMuMjYtMi44Ni01LjIxLDQuNDYsMS44NSw4LjkxLDMuNjQsMTIuODgsNi40MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2MzY1N2QiLz48cGF0aCBkPSJNNjM3LjUxLDMwOC40MWMuODEtLjUxLDAtMS4xMy4xMS0xLjY5bDQuMzUsMi4zNiwyLjM0LDNjLTIuODUtLjc2LTQuNzgtMi4zMS02LjgtMy42NyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMyNjMxNTQiLz48cGF0aCBkPSJNNDY1LjE5LDI0OS4yNmExNC4yNiwxNC4yNiwwLDAsMSw2LC40NWMtMi4zMiwxLjI2LTMuOTIsMS4wOS02LS40NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiNhMDlhYTkiLz48cGF0aCBkPSJNMTc3LjgxLDU5Ni4zNmMyLjMzLjQyLDMuMzksMi42Nyw1LjMsMy43TDE4Myw2MDFhMTQuMjIsMTQuMjIsMCwwLDEtNS4yMS00LjU5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQyNGE3ZiIvPjxwYXRoIGQ9Ik02NTQuMTcsNDUzLjA3bDEuMzQuNzVjLjE5LDEuNTEtLjQ1LDIuNzUtMS4zNCw0LjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzhjYjdkZSIvPjxwYXRoIGQ9Ik00NjUsMTM1Ljc5Yy41MSwxLjE1LDEuNjYuNjgsMi41LDFsLTQsMS41NWMtLjMxLTEuNTkuNzctMS45NSwxLjUxLTIuNTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNWE1ZDc2Ii8+PHBhdGggZD0iTTE4NC40MiwzMTMuNTFsLjg2Ljg2Yy0uMjMuNzQtLjQ1LDEuNDktLjY4LDIuMjNMMTgzLDMxOC42N2MuNDgtMi40Mi41MS0zLjksMS40My01LjE2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzRmNjY4YSIvPjxwYXRoIGQ9Ik0zNzAuNjUsMTk2LjczYy0uMjItLjYyLS4xMy0xLjQtLjk0LTEuNjkuMjQtLjU4Ljg5LTEuMzksMS4xOS0xLjEuOS44Ny41MiwxLjkxLS4yNSwyLjc5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzU1NWE3MyIvPjxwYXRoIGQ9Ik0xMTcuOCwzMTUuODZhNjEuNDQsNjEuNDQsMCwwLDEsNC41LTE1Ljc3YzguODItNi4xNSwxNi41OC0xMy42LDI0Ljc5LTIwLjVxMjEuMzUtMTgsNDIuNTMtMzYuMTQsMTkuMzUtMTYuNTUsMzguNzktMzMsMjEtMTcuOCw0Mi0zNS42NmMxMi43NC0xMC44MywyNS41Mi0yMS42MywzOC4yMS0zMi41Myw4LjktNy42NSwxOC0xNS4wNywyNi43NC0yMi44OGE1Myw1MywwLDAsMSwxNC4yNC0xLjUyLDEuNDQsMS40NCwwLDAsMSwxLjU0LS4xOGMxLjA2LDEuODEtLjI5LDIuODQtMS4zOSwzLjc2cS0xOC4xMywxNS4zNi0zNi4xOSwzMC44MVEyOTQuMjgsMTY4LjYzLDI3NSwxODVxLTE3Ljc5LDE1LjE4LTM1LjY0LDMwLjI5UTIxNy43LDIzMy42NywxOTYsMjUyLjFjLTE4LDE1LjI1LTM1Ljg4LDMwLjU5LTUzLjksNDUuNzktNyw1Ljg3LTEzLjgxLDExLjg4LTIwLjg3LDE3LjYzLS44OC43MS0yLjA3LDMtMy40Ny4zNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ZDljZDIiLz48cGF0aCBkPSJNMzM1LjMxLDExOS4zOGMtMS4yNiw0LjIxLTUuMzMsNS43OS04LjIyLDguMzYtOS40Nyw4LjQyLTE5LjI2LDE2LjQ5LTI4Ljk0LDI0LjY3LTEwLjgzLDkuMTMtMjEuNzIsMTguMi0zMi41MSwyNy4zOC05LjM4LDgtMTguNjIsMTYuMTEtMjgsMjQuMS05LjA5LDcuNzQtMTguMjksMTUuMzQtMjcuMzgsMjMuMDZzLTE4LjExLDE1LjU1LTI3LjIxLDIzLjI4LTE4LjI1LDE1LjM3LTI3LjM1LDIzLjA5Yy03LjQ5LDYuMzYtMTQuOTIsMTIuNzktMjIuMzksMTkuMTYtMywyLjU4LTYuMTEsNS4xLTkuMTYsNy42NS0uNjYuNTUtMS4yNi44Mi0xLjg2LDBhNjAsNjAsMCwwLDEsNS4yNS0xNWM2LjktNC4zNSwxMi42Ny0xMC4xLDE4Ljg2LTE1LjMycTIxLjMzLTE4LDQyLjUxLTM2LjEzLDIxLjkyLTE4Ljc1LDQzLjkyLTM3LjM5LDE4LjEtMTUuNDIsMzYuMjUtMzAuNzljMTUuNzMtMTMuMywzMS4zMy0yNi43Niw0Ny4xMy00MGE2Ljk0LDYuOTQsMCwwLDAsMi41OC0zLjEzYzUuMzEtMi4wNiwxMS0xLjkzLDE2LjUxLTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNzI5ZmQ0Ii8+PHBhdGggZD0iTTMxOC44LDEyMi4zNmMyLjMzLjYxLjQzLDEuNDYsMCwxLjg1LTQuMjUsMy44Mi04LjU0LDcuNjEtMTIuODksMTEuMzEtNy41Nyw2LjQzLTE1LjIsMTIuNzktMjIuNzksMTkuMnEtMTYuNjcsMTQtMzMuMjksMjguMTNjLTkuMDksNy43My0xOC4wOCwxNS41Ni0yNy4xNiwyMy4yOS05LjM2LDgtMTguNzksMTUuODUtMjguMTYsMjMuODItOS4wOCw3LjczLTE4LjA5LDE1LjU0LTI3LjE3LDIzLjI3UzE0OS4xLDI2OC42MSwxNDAsMjc2LjI5Yy0zLjMzLDIuOC02LjY0LDUuNjItMTAsOC4zNy0uNjYuNTQtMS4zNywxLjc2LTIuNDQuNDQsMS01LjE2LDMuNzItOS42MSw2LTE0LjI0LDEyLjMzLTEwLjU0LDI0LjcyLTIxLDM3LjA2LTMxLjU2cTE5LjA4LTE2LjI5LDM4LjIxLTMyLjUyLDE4LjI1LTE1LjUzLDM2LjUzLTMxUTI2NC42LDE1OS4zOSwyODMuODYsMTQzYzYuNjUtNS42NCwxMy4wOS0xMS41NCwxOS45NS0xNyw0Ljc1LTIuMjEsOS45LTIuODMsMTUtMy43MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM3OGEyZDUiLz48cGF0aCBkPSJNMzAzLjgxLDEyNi4wN2MtNC43Niw2LjE5LTExLjIyLDEwLjU1LTE3LDE1LjYzLTcuNTcsNi42NC0xNS4zMiwxMy4wNS0yMywxOS41NS03LjQ5LDYuMzQtMTUsMTIuNjUtMjIuNDksMTlTMjI2LjM5LDE5MywyMTguOSwxOTkuNHMtMTUuMjEsMTIuOC0yMi43OSwxOS4yM2MtNy4zOSw2LjI4LTE0LjcxLDEyLjYzLTIyLjEsMTguOTFxLTE0LjA2LDEyLTI4LjE3LDIzLjg1Yy0zLjMyLDIuODEtNi42Niw1LjYtMTAsOC40YTMuNDMsMy40MywwLDAsMS0yLjMyLDEuMDcsOTkuOTMsOTkuOTMsMCwwLDEsOS0xOGMxNy4xMi0xMy45MSwzMy43Ny0yOC40LDUwLjU3LTQyLjcsMTkuNDUtMTYuNTcsMzktMzMsNTguMzQtNDkuNzMsMTAuOTQtOS40NSwyMi4zLTE4LjQxLDMyLjg1LTI4LjMyYTExMy40MywxMTMuNDMsMCwwLDEsMTkuNS02IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzdkYTVkNiIvPjxwYXRoIGQ9Ik0yODQuMzEsMTMyLjExYy43NSwxLjM0LS42LDEuNzQtMS4xOCwyLjI2cS0xMi40OCwxMC45NC0yNS4wNiwyMS43M2MtNy4zNSw2LjMxLTE0Ljc3LDEyLjU0LTIyLjE2LDE4LjhxLTEzLjc4LDExLjY3LTI3LjU4LDIzLjM0Yy03LjQ3LDYuMzUtMTQuOSwxMi43Ni0yMi4zOCwxOS4xMS05LjM3LDgtMTguNzgsMTUuODctMjguMTUsMjMuODJxLTUuODQsNS0xMS42MSwxMGE2LjQ1LDYuNDUsMCwwLDEtMy42NCwxLjc0LDE1OS4yNiwxNTkuMjYsMCwwLDEsMTYuNTItMjYuMjRjNS44LTQuMjcsMTEuMS05LjE2LDE2LjU5LTEzLjgxcTIxLjM5LTE4LjEyLDQyLjcyLTM2LjMyLDE2LjUtMTQuMDYsMzMtMjguMTRjMS43LTEuNDUsMy44My0yLjM4LDUuMTMtNC4yOSw4LjcyLTUuMjgsMTguMy04LjUzLDI3LjgyLTExLjk1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzgxYTdkOCIvPjxwYXRoIGQ9Ik00NDIuNTUsNDY2LjY0Yy03LjU1LDYuMTYtMTQuOTUsMTIuNTQtMjUsMTYuODFhODguODYsODguODYsMCwwLDAsNi42My0xOC4yNGM1LjkyLTI2LC40My00OS42Ni0xNC44Ny03MS4yNC0zLjc4LTUuMzItOC44Ni05LjQ0LTEzLjM2LTE0LjA5LS43My0uNzUtMS41Mi0xLjY5LTIuODMtMS4wNi0xLjM1LS42Ni0yLTItMy0zLC42NS0uODMsMS4zMi0uMzcsMiwwLDE4LjEzLDEwLjI4LDMzLjI0LDIzLjYyLDQyLjQ3LDQyLjY5YTg1LjIzLDg1LjIzLDAsMCwxLDguMTgsMzAsODYuODYsODYuODYsMCwwLDEtLjE3LDE4LjE3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzBlMWY2NiIvPjxwYXRoIGQ9Ik0xMTcuOCwzMTUuODZjMywxLjA4LDQtMS45MSw1LjU0LTMuMTQsMTUuMjEtMTIuNTksMzAuMjEtMjUuNDQsNDUuMjMtMzguMjYsMTQuMTctMTIuMSwyOC4yNS0yNC4zMSw0Mi40NS0zNi4zOCwxNS44MS0xMy40MywzMS43NC0yNi43LDQ3LjU1LTQwLjEzLDE0LjItMTIuMDcsMjguMjgtMjQuMjcsNDIuNDQtMzYuMzhRMzI0LDE0MiwzNDcsMTIyLjRjMS41Ny0xLjM0LDMuODMtMiw0LjExLTQuNTMuODYtLjgyLDIuMTMuMDgsMy0uNzNsMy43NiwwYy0xLjE1LDQtNSw1LjM5LTcuNyw3LjgxLTcuNzYsNy0xNS44NSwxMy41OS0yMy44MiwyMC4zMy05LjExLDcuNy0xOC4yNiwxNS4zNi0yNy4zNiwyMy4wOC03LjM5LDYuMjctMTQuNzIsMTIuNjItMjIuMTIsMTguOS0xMC45LDkuMjQtMjEuODUsMTguNDItMzIuNzQsMjcuNjctNy40LDYuMjgtMTQuNzIsMTIuNjQtMjIuMSwxOC45Mi05LjM4LDgtMTguOCwxNS44OC0yOC4xOCwyMy44NS03LjM5LDYuMjgtMTQuNzEsMTIuNjQtMjIuMSwxOC45Mi03LjU3LDYuNDQtMTUuMjEsMTIuODEtMjIuNzgsMTkuMjVzLTE1LjA4LDEzLTIyLjY1LDE5LjQzYy0yLjY0LDIuMjUtNS4zOCw0LjQtOC4wOCw2LjYtLjY0LjUyLTEuMjUuODUtMS44NywwYTExLjc1LDExLjc1LDAsMCwxLDEuNDktNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2OTlhZDEiLz48cGF0aCBkPSJNMjU2LjQ5LDE0NC4wNmMtLjYzLDMuNTUtNC4wOSw0LjQ4LTYuMjksNi40Ni03LjY2LDYuODktMTUuNjMsMTMuNDMtMjMuNDksMjAuMDgtOS4yLDcuNzctMTguNDIsMTUuNS0yNy42LDIzLjI5LTcuMzksNi4yNi0xNC43MywxMi41OS0yMi4wOCwxOC44OXEtOC4wNiw2LjktMTYuMSwxMy44M2MtLjYzLjU0LTEuMjQuODctMS44NiwwYTE0MS43MiwxNDEuNzIsMCwwLDEsMTMuMTQtMTcuMTFjMTcuNjUtMjAuNSwzNy43LTM4LjMsNjAuNzMtNTIuNiw3LjYtNC43MSwxNS4xNC05LjYsMjMuNTUtMTIuODUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjODhhYmQ5Ii8+PHBhdGggZD0iTTM4Ni4zMiwxMTcuMTJjLTIuNDktLjMzLTUuMTMuNzctNy41LS43NCwyLjQ5LjMyLDUuMTItLjc4LDcuNS43NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM1NTkxY2QiLz48cGF0aCBkPSJNMzU0LjA1LDExNy4xNGMtLjc5LDEuMDctMiwuNjItMywuNzNoLTEuNTFjMS4zMy0xLjMsMy0uNTIsNC41LS43MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ODlhZDEiLz48cGF0aCBkPSJNMjgyLjA2LDYzOS4xMmExODIuMywxODIuMywwLDAsMCw3MS44MS0xMS4zMSwyMTQsMjE0LDAsMCwwLDYxLjYxLTM0LjY3YzE4LjA5LTE0LjY4LDMzLjY2LTMxLjUzLDQ0LjA2LTUyLjYxYTEwMS4zNiwxMDEuMzYsMCwwLDAsMTAuMjItMzZjMS0xMS4zMS0uODgtMjItMy45NS0zMi42NC4zNC0yLjYxLDIuNzItMy44LDQuMTEtNS42Myw1LjM4LTcuMDcsOS4zNS0xNC42OSwxMS0yMy40NmEyNy40MywyNy40MywwLDAsMSwxLjIxLTMuNDMsMTExLDExMSwwLDAsMSw4LDIxLjE2YzIuNjMsMTAuMzEsNC4xMSwyMC44LDMuMzMsMzEuNGExMjMuMzEsMTIzLjMxLDAsMCwxLTE2LjA2LDUyLjMyYy05LjE2LDE2LjE1LTIxLDMwLTM0LjYsNDIuMzdhMTk5Ljg5LDE5OS44OSwwLDAsMS0zOS4zNywyNy41NCwyMTkuNSwyMTkuNSwwLDAsMS01NC4yNiwyMC43MSwyMDkuMjcsMjA5LjI3LDAsMCwxLTM2LjA1LDUuMmMtNS44NS4zMy0xMS43MS44My0xNy41Mi40Ni00LjUxLS4yOS05LjE0LDAtMTMuNTYtMS4zNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMwZTFmNjYiLz48L2c+PC9zdmc+",protocol:"uniswap_v2",slippage:!0,blockchains:["polygon"],polygon:{router:{address:"0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff",api:QD.ROUTER},factory:{address:"0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32",api:QD.FACTORY},pair:{api:QD.PAIR}}};var XC=e=>new OD(Object.assign(JC,{scope:e,findPath:e=>QD.findPath({...e,exchange:JC}),pathExists:e=>QD.pathExists({...e,exchange:JC}),getAmounts:e=>QD.getAmounts({...e,exchange:JC}),getPrep:e=>QD.getPrep({...e,exchange:JC}),getTransaction:e=>QD.getTransaction({...e,exchange:JC})}));const KC={name:"spookyswap",label:"SpookySwap",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNjQxIDY0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjQxIDY0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxwYXRoIGZpbGw9IiMxMjExMjIiIGQ9Ik0zNC4yLDMyMGMwLDE1OC41LDEyOC41LDI4Ni4zLDI4Ni4zLDI4Ni4zYzE1OC41LDAsMjg2LjMtMTI4LjUsMjg2LjMtMjg2LjNjMC0xNTguNS0xMjguNS0yODYuMy0yODYuMy0yODYuMwoJCUMxNjIuNywzMy43LDM0LjIsMTYyLjIsMzQuMiwzMjBMMzQuMiwzMjB6Ii8+Cgk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iI0YyRjRGOCIgZD0iTTEyMC45LDI0Ny42Yy0zLjMsMjIuMiwwLjcsNDUuNyw0LjYsNjcuOGMyLDMuMyw1LjIsNS45LDkuOCw3LjJjLTkuMSwxOS42LTE0LjMsNDAuNC0xNC4zLDYyLjYKCQljMCw5My4zLDkwLDE2OC45LDIwMS41LDE2OC45UzUyNCw0NzguNSw1MjQsMzg1LjJjMC0yMS41LTUuMi00My0xNC4zLTYyLjZjMy45LTEuMyw2LjUtMy45LDcuOC03LjJjNC42LTIyLjIsOC41LTQ1LjcsNS4yLTY3LjgKCQljLTMuMy0zMC0xMy43LTM5LjgtNDUtMzJjLTE1LjcsMy45LTM2LjUsMTMtNTIuOCwyNC4xYy0zMC0xNS02NS4yLTIzLjUtMTAyLjQtMjMuNWMtMzcuOCwwLTczLjcsOS4xLTEwMy43LDI0LjEKCQljLTE2LjMtMTEuMS0zNy4yLTIwLjktNTMuNS0yNC44QzEzNCwyMDcuOCwxMjQuMiwyMTcuNiwxMjAuOSwyNDcuNkwxMjAuOSwyNDcuNnogTTIzOC4zLDM4MC43Yy0yMy41LTEwLjQtNjMuOS03LjgtNjMuOS03LjgKCQlzMiwzNy44LDI0LjgsNTAuOWMyNy40LDE1LDc4LjksNy44LDc4LjksNy44UzI3My41LDM5Ni4zLDIzOC4zLDM4MC43TDIzOC4zLDM4MC43eiBNMzY5LjQsNDMyLjJjMCwwLDUwLjksNy44LDc4LjktNy44CgkJYzIzLjUtMTMsMjQuOC01MC45LDI0LjgtNTAuOXMtNDAuNC0yLjYtNjMuOSw3LjhDMzc0LDM5Ni4zLDM2OS40LDQzMS41LDM2OS40LDQzMi4yTDM2OS40LDQzMi4yeiBNMzEyLjcsNDU4LjkKCQljMCwyLjYsNS4yLDUuMiwxMS43LDUuMnMxMS43LTIsMTEuNy01LjJjMC0yLjYtNS4yLTUuMi0xMS43LTUuMkMzMTcuOSw0NTMuNywzMTIuNyw0NTUuNywzMTIuNyw0NTguOUwzMTIuNyw0NTguOXoiLz4KCTxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsPSIjRjJGNEY4IiBkPSJNNTUyLjcsNDM1LjRjLTE4LjktNy4yLTM5LjEtMTEuMS01OS4zLTExLjFjLTUuMiwwLTUuMi03LjgsMC03LjhjMjAuOSwwLDQxLjcsMy45LDYxLjMsMTEuNwoJCWMyLDAuNywzLjMsMi42LDIuNiw0LjZDNTU2LjYsNDM0LjgsNTU0LjYsNDM2LjEsNTUyLjcsNDM1LjRMNTUyLjcsNDM1LjR6IE05Mi4yLDQyNy42YzE5LjYtNy44LDQwLjQtMTEuMSw2MS4zLTExLjcKCQljNS4yLDAsNS4yLDcuOCwwLDcuOGMtMjAuMiwwLTQwLjQsMy45LTU5LjMsMTEuMWMtMiwwLjctNC42LTAuNy01LjItMi42Qzg5LDQzMC45LDkwLjMsNDI4LjMsOTIuMiw0MjcuNkw5Mi4yLDQyNy42eiBNMTMyLjcsNDUwLjQKCQljOS44LTMuMywyMC4yLTQuNiwzMC01LjJjNS4yLDAsNS4yLDcuOCwwLDcuOGMtOS4xLDAtMTguOSwyLTI3LjQsNC42Yy04LjUsMi42LTE3LjYsNS45LTI0LjEsMTEuN2MtMy45LDMuMy05LjEtMi01LjktNS45CgkJQzExMy4xLDQ1NywxMjMuNSw0NTMuNywxMzIuNyw0NTAuNEwxMzIuNyw0NTAuNHogTTE3MS44LDQ2NS40Yy03LjgsMy4zLTE1LjcsNy44LTIyLjgsMTIuNGMtNy4yLDQuNi0xMy43LDEwLjQtMTguOSwxNwoJCWMtMS4zLDItMC43LDQuNiwxLjMsNS4yYzIsMS4zLDQuNiwwLjcsNS4yLTEuM2M0LjYtNS45LDExLjEtMTEuMSwxNy0xNWM3LjItNC42LDE0LjMtOC41LDIxLjUtMTEuN2MyLTEuMywyLjYtMy4zLDEuMy01LjIKCQlDMTc2LjQsNDY0LjgsMTczLjgsNDY0LjEsMTcxLjgsNDY1LjRMMTcxLjgsNDY1LjR6IE00ODMuNSw0NTMuN2M5LjEsMCwxOC45LDIsMjcuNCw0LjZjNC42LDEuMyw5LjEsMy4zLDEzLjcsNS4yCgkJYzMuOSwxLjMsNy4yLDMuOSwxMC40LDYuNWMzLjksMy4zLDkuMS0yLDUuOS01LjljLTcuMi02LjUtMTcuNi0xMC40LTI2LjctMTNjLTkuOC0zLjMtMjAuMi00LjYtMzAtNS4yCgkJQzQ3OSw0NDUuMiw0NzksNDUzLjcsNDgzLjUsNDUzLjdMNDgzLjUsNDUzLjd6IE00OTIuNyw0ODMuN2MtNy4yLTQuNi0xNC4zLTcuOC0yMS41LTExLjFsMCwwYy0yLTEuMy0yLjYtMy4zLTEuMy01LjIKCQljMS4zLTIsMy4zLTIuNiw1LjItMS4zYzE1LjcsNi41LDMyLDE1LjcsNDEuNywyOS4zYzEuMywyLDAuNyw0LjYtMS4zLDUuMmMtMiwxLjMtNC42LDAuNy01LjItMS4zCgkJQzUwNS43LDQ5Mi44LDQ5OS4yLDQ4Ny42LDQ5Mi43LDQ4My43TDQ5Mi43LDQ4My43eiIvPgoJPHBhdGggZmlsbD0iIzY2NjVERCIgZD0iTTYyLjIsMzM1LjdjMy45LTUuOSwzNS45LTIyLjgsNzUuNy0zMy4zYzguNS0yNC44LDE5LjYtNDguMywzMi03MS4xbDMyLTU4Yy05LjEtMy45LTE4LjMtOS4xLTI2LjctMTUKCQljLTEuMy0xLjMtMi42LTIuNi0zLjktMy45Yy0wLjctMS4zLTEuMy0zLjMtMS4zLTQuNnMyLTMuOSwyLjYtNC42YzItMi42LDQuNi00LjYsNy4yLTcuMmM1LjktNS4yLDEyLjQtOS44LDE5LjYtMTMuNwoJCWMzLjMtMiw2LjUtMy45LDkuOC02LjVjMjIuOC0xNC4zLDM1LjktMjUuNCw1Ni43LTM3LjhjMjAuMi0xMS43LDMwLTE4LjMsNTIuOC0xNy42YzI5LjMsMCwxMDEuNyw5Mi42LDEzNC4zLDE0MC4yCgkJYzE5LjYsMjguNyw0Ni4zLDgwLjIsNTYuMSw5OS44YzIsMC43LDQuNiwxLjMsNi41LDJjMzAsOS4xLDU4LjcsMjIuMiw2NS45LDMwLjdjNi41LDcuMi0yMS41LDEwLjQtNDguOSwxNS43CgkJYy0yNy40LDQuNi0xMjAuNyw3LjItMjEwLDcuOGMtODkuMywwLjctMTkzLjctMi42LTIxNi41LTUuOUM4My4xLDM0OS4zLDU3LjcsMzQyLjgsNjIuMiwzMzUuN0w2Mi4yLDMzNS43eiIvPgoJPHBhdGggZmlsbD0iI0ZGOTlBNSIgZD0iTTQ4My41LDI1Ni4xYzAsMC01OC43LTE1LTE2Mi40LTE1Yy0xMTEuNSwwLTE2NSwxNy0xNjUsMTdzLTYuNSwxMi40LTkuMSwxOC45Yy0yLjYsNy4yLTkuMSwyNS40LTkuMSwyNS40CgkJUzIxOC44LDI4OCwzMjIuNSwyODhjNjIuNiwwLDEyNC42LDUuMiwxODYuNSwxNS43YzAsMC05LjEtMjIuMi0xNS0zMS4zQzQ5MC43LDI2Ny4yLDQ4Ny41LDI2MS4zLDQ4My41LDI1Ni4xTDQ4My41LDI1Ni4xeiIvPgoJPHBhdGggZmlsbD0iI0ZGRTYwMCIgZD0iTTEzMy4zLDEzMS41YzYuNS0wLjcsMTUuNywxOS42LDE1LjcsMTkuNnMyMC45LTUuOSwyNC44LDBjMy4zLDUuOS0xNSwxOS42LTE1LDE5LjZzMTEuMSwxOS42LDcuMiwyMy41CgkJYy0zLjMsMy45LTIyLjgtOC41LTIyLjgtOC41cy0xNSwxNy0xOS42LDE0LjNjLTUuMi0yLjYsMC43LTI0LjgsMC43LTI0LjhzLTIxLjUtOS4xLTE5LjYtMTQuM2MxLjMtNS4yLDIzLjUtNy4yLDIzLjUtNy4yCgkJUzEyNi44LDEzMi44LDEzMy4zLDEzMS41TDEzMy4zLDEzMS41eiIvPgo8L2c+Cjwvc3ZnPgo=",protocol:"uniswap_v2",slippage:!0,blockchains:["fantom"],fantom:{router:{address:"0xF491e7B69E4244ad4002BC14e878a34207E38c29",api:QD.ROUTER},factory:{address:"0x152eE697f2E276fA89E96742e9bB9aB1F2E61bE3",api:QD.FACTORY},pair:{api:QD.PAIR}}};var $C=e=>new OD(Object.assign(KC,{scope:e,findPath:e=>QD.findPath({...e,exchange:KC}),pathExists:e=>QD.pathExists({...e,exchange:KC}),getAmounts:e=>QD.getAmounts({...e,exchange:KC}),getPrep:e=>QD.getPrep({...e,exchange:KC}),getTransaction:e=>QD.getTransaction({...e,exchange:KC})}));function eO(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}const tO=({blockchain:e,path:t})=>{if(!t)return;let n=t.map(((n,r)=>n===Vf[e].currency.address&&t[r+1]!=Vf[e].wrapped.address&&t[r-1]!=Vf[e].wrapped.address?Vf[e].wrapped.address:n));return n[0]==Vf[e].currency.address&&n[1]==Vf[e].wrapped.address?n.splice(0,1):n[n.length-1]==Vf[e].currency.address&&n[n.length-2]==Vf[e].wrapped.address&&n.splice(n.length-1,1),n},nO=async({exchange:e,blockchain:t,path:n,amountIn:r,amountOut:i,block:o})=>{let a;if(n=tO({blockchain:t,path:n}),a=r?await _I({blockchain:Vf[t].name,address:e[t].quoter.address,method:"findBestPathFromAmountIn",api:e[t].quoter.api,cache:5,block:o,params:{route:n,amountIn:r}}).catch((()=>{})):await _I({blockchain:Vf[t].name,address:e[t].quoter.address,method:"findBestPathFromAmountOut",api:e[t].quoter.api,cache:5,block:o,params:{route:n,amountOut:i}}).catch((()=>{})),a&&!a.virtualAmountsWithoutSlippage.some((e=>"0"===e.toString())))return a};let rO=async({exchange:e,blockchain:t,path:n,pools:r,amountIn:i})=>{let o=await _I({blockchain:Vf[t].name,address:e[t].quoter.address,method:"findBestPathFromAmountIn",api:e[t].quoter.api,cache:5,params:{route:tO({blockchain:t,path:n}),amountIn:i}}).catch((()=>{}));if(o)return o.virtualAmountsWithoutSlippage[o.virtualAmountsWithoutSlippage.length-1]},iO=async({exchange:e,blockchain:t,path:n,pools:r,amountOut:i,block:o})=>{let a=await _I({blockchain:Vf[t].name,address:e[t].quoter.address,method:"findBestPathFromAmountOut",api:e[t].quoter.api,cache:5,block:o,params:{route:tO({blockchain:t,path:n}),amountOut:i}}).catch((()=>{}));if(a)return a.virtualAmountsWithoutSlippage[0]};var oO={findPath:async({exchange:e,blockchain:t,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s})=>{if([n,r].includes(Vf[t].currency.address)&&[n,r].includes(Vf[t].wrapped.address))return{path:void 0,exchangePath:void 0};let u,c=[];if(c=[await nO({exchange:e,blockchain:t,path:[n,r],amountIn:i||a,amountOut:o||s})],c.filter(Boolean).length&&(u=[n,r]),u||n==Vf[t].wrapped.address||r==Vf[t].wrapped.address||(c=[],o||s?(c.push(await nO({exchange:e,blockchain:t,path:[Vf[t].wrapped.address,r],amountOut:o||s})),c.filter(Boolean).length&&c.unshift(await nO({exchange:e,blockchain:t,path:[n,Vf[t].wrapped.address],amountOut:c[0].virtualAmountsWithoutSlippage[0]}))):(c.push(await nO({exchange:e,blockchain:t,path:[n,Vf[t].wrapped.address],amountIn:i||a})),c.filter(Boolean).length&&c.push(await nO({exchange:e,blockchain:t,path:[Vf[t].wrapped.address,r],amountIn:c[0].virtualAmountsWithoutSlippage[1]}))),2===c.filter(Boolean).length&&(u=[n,Vf[t].wrapped.address,r])),!u){c=[];let l=(await Promise.all(Vf[t].stables.usd.map((async u=>{let c=[];if(o||s?(c.push(await nO({exchange:e,blockchain:t,path:[u,r],amountOut:o||s})),c.filter(Boolean).length&&c.unshift(await nO({exchange:e,blockchain:t,path:[n,u],amountOut:c[0].virtualAmountsWithoutSlippage[0]}))):(c.push(await nO({exchange:e,blockchain:t,path:[n,u],amountIn:i||a})),c.filter(Boolean).length&&c.push(await nO({exchange:e,blockchain:t,path:[u,r],amountIn:c[0].virtualAmountsWithoutSlippage[1]}))),2===c.filter(Boolean).length)return[u,c]})))).filter(Boolean)[0];l&&(u=[n,l[0],r],c=l[1])}return eO([u,"optionalAccess",e=>e.length])&&u[0]==Vf[t].currency.address?u.splice(1,0,Vf[t].wrapped.address):eO([u,"optionalAccess",e=>e.length])&&u[u.length-1]==Vf[t].currency.address&&u.splice(u.length-1,0,Vf[t].wrapped.address),u||(c=[]),{path:u,pools:c,exchangePath:tO({blockchain:t,path:u})}},pathExists:async({exchange:e,blockchain:t,path:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a})=>!!await nO({exchange:e,blockchain:t,path:n,amountIn:r||o,amountOut:i||a}),getAmounts:async({exchange:e,blockchain:t,path:n,pools:r,block:i,tokenIn:o,tokenOut:a,amountOut:s,amountIn:u,amountInMax:c,amountOutMin:l})=>{if(s){if(null==(u=await iO({exchange:e,blockchain:t,block:i,path:n,pools:r,amountOut:s,tokenIn:o,tokenOut:a}))||c&&u.gt(c))return{};void 0===c&&(c=u)}else if(u){if(null==(s=await rO({exchange:e,blockchain:t,path:n,pools:r,amountIn:u,tokenIn:o,tokenOut:a}))||l&&s.lt(l))return{};void 0===l&&(l=s)}else if(l){if(null==(u=await iO({exchange:e,blockchain:t,block:i,path:n,pools:r,amountOut:l,tokenIn:o,tokenOut:a}))||c&&u.gt(c))return{};void 0===c&&(c=u)}else if(c){if(null==(s=await rO({exchange:e,blockchain:t,path:n,pools:r,amountIn:c,tokenIn:o,tokenOut:a}))||l&&s.lt(l))return{};void 0===l&&(l=s)}return{amountOut:s,amountIn:u,amountInMax:c,amountOutMin:l}},getTransaction:async({exchange:e,blockchain:t,pools:n,path:r,amountIn:i,amountInMax:o,amountOut:a,amountOutMin:s,amountInInput:u,amountOutInput:c,amountInMaxInput:l,amountOutMinInput:h,account:d})=>{const f={blockchain:t,from:d,to:e[t].router.address,api:e[t].router.api},p=Math.round(Date.now()/1e3)+86400,y=[n.map((e=>e.binSteps[0])),n.map((e=>e.versions[0])),tO({blockchain:t,path:r})];return r[0]===Vf[t].currency.address?l?(f.method="swapNATIVEForExactTokens",f.params={amountOut:a,path:y,to:d,deadline:p},f.value=o):(f.method="swapExactNATIVEForTokens",f.params={amountOutMin:s||a,path:y,to:d,deadline:p},f.value=i):r[r.length-1]===Vf[t].currency.address?l?(f.method="swapTokensForExactNATIVE",f.params={amountNATIVEOut:a,amountInMax:o,path:y,to:d,deadline:p}):(f.method="swapExactTokensForNATIVE",f.params={amountIn:i,amountOutMinNATIVE:s||a,path:y,to:d,deadline:p}):l?(f.method="swapTokensForExactTokens",f.params={amountOut:a,amountInMax:o,path:y,to:d,deadline:p}):(f.method="swapExactTokensForTokens",f.params={amountIn:i,amountOutMin:s||a,path:y,to:d,deadline:p}),f},getPrep:async({exchange:e,blockchain:t,tokenIn:n,amountIn:r,account:i})=>{if(n===Vf[t].currency.address)return;const o=await _I({blockchain:t,address:n,method:"allowance",api:RS[t][20],params:[i,e[t].router.address]});if(o.gte(r))return;return{transaction:{blockchain:t,from:i,to:n,api:RS[t][20],method:"approve",params:[e[t].router.address,r.sub(o)]}}},ROUTER:[{inputs:[{internalType:"contract ILBFactory",name:"factory",type:"address"},{internalType:"contract IJoeFactory",name:"factoryV1",type:"address"},{internalType:"contract ILBLegacyFactory",name:"legacyFactory",type:"address"},{internalType:"contract ILBLegacyRouter",name:"legacyRouter",type:"address"},{internalType:"contract IWNATIVE",name:"wnative",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AddressHelper__CallFailed",type:"error"},{inputs:[],name:"AddressHelper__NonContract",type:"error"},{inputs:[],name:"JoeLibrary__InsufficientAmount",type:"error"},{inputs:[],name:"JoeLibrary__InsufficientLiquidity",type:"error"},{inputs:[{internalType:"uint256",name:"amountSlippage",type:"uint256"}],name:"LBRouter__AmountSlippageBPTooBig",type:"error"},{inputs:[{internalType:"uint256",name:"amountXMin",type:"uint256"},{internalType:"uint256",name:"amountX",type:"uint256"},{internalType:"uint256",name:"amountYMin",type:"uint256"},{internalType:"uint256",name:"amountY",type:"uint256"}],name:"LBRouter__AmountSlippageCaught",type:"error"},{inputs:[{internalType:"uint256",name:"id",type:"uint256"}],name:"LBRouter__BinReserveOverflows",type:"error"},{inputs:[],name:"LBRouter__BrokenSwapSafetyCheck",type:"error"},{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"currentTimestamp",type:"uint256"}],name:"LBRouter__DeadlineExceeded",type:"error"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"LBRouter__FailedToSendNATIVE",type:"error"},{inputs:[{internalType:"uint256",name:"idDesired",type:"uint256"},{internalType:"uint256",name:"idSlippage",type:"uint256"}],name:"LBRouter__IdDesiredOverflows",type:"error"},{inputs:[{internalType:"int256",name:"id",type:"int256"}],name:"LBRouter__IdOverflows",type:"error"},{inputs:[{internalType:"uint256",name:"activeIdDesired",type:"uint256"},{internalType:"uint256",name:"idSlippage",type:"uint256"},{internalType:"uint256",name:"activeId",type:"uint256"}],name:"LBRouter__IdSlippageCaught",type:"error"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"}],name:"LBRouter__InsufficientAmountOut",type:"error"},{inputs:[{internalType:"address",name:"wrongToken",type:"address"}],name:"LBRouter__InvalidTokenPath",type:"error"},{inputs:[{internalType:"uint256",name:"version",type:"uint256"}],name:"LBRouter__InvalidVersion",type:"error"},{inputs:[],name:"LBRouter__LengthsMismatch",type:"error"},{inputs:[{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"LBRouter__MaxAmountInExceeded",type:"error"},{inputs:[],name:"LBRouter__NotFactoryOwner",type:"error"},{inputs:[{internalType:"address",name:"tokenX",type:"address"},{internalType:"address",name:"tokenY",type:"address"},{internalType:"uint256",name:"binStep",type:"uint256"}],name:"LBRouter__PairNotCreated",type:"error"},{inputs:[],name:"LBRouter__SenderIsNotWNATIVE",type:"error"},{inputs:[{internalType:"uint256",name:"id",type:"uint256"}],name:"LBRouter__SwapOverflows",type:"error"},{inputs:[{internalType:"uint256",name:"excess",type:"uint256"}],name:"LBRouter__TooMuchTokensIn",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"reserve",type:"uint256"}],name:"LBRouter__WrongAmounts",type:"error"},{inputs:[{internalType:"address",name:"tokenX",type:"address"},{internalType:"address",name:"tokenY",type:"address"},{internalType:"uint256",name:"amountX",type:"uint256"},{internalType:"uint256",name:"amountY",type:"uint256"},{internalType:"uint256",name:"msgValue",type:"uint256"}],name:"LBRouter__WrongNativeLiquidityParameters",type:"error"},{inputs:[],name:"LBRouter__WrongTokenOrder",type:"error"},{inputs:[],name:"TokenHelper__TransferFailed",type:"error"},{inputs:[{components:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint256",name:"binStep",type:"uint256"},{internalType:"uint256",name:"amountX",type:"uint256"},{internalType:"uint256",name:"amountY",type:"uint256"},{internalType:"uint256",name:"amountXMin",type:"uint256"},{internalType:"uint256",name:"amountYMin",type:"uint256"},{internalType:"uint256",name:"activeIdDesired",type:"uint256"},{internalType:"uint256",name:"idSlippage",type:"uint256"},{internalType:"int256[]",name:"deltaIds",type:"int256[]"},{internalType:"uint256[]",name:"distributionX",type:"uint256[]"},{internalType:"uint256[]",name:"distributionY",type:"uint256[]"},{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"refundTo",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ILBRouter.LiquidityParameters",name:"liquidityParameters",type:"tuple"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountXAdded",type:"uint256"},{internalType:"uint256",name:"amountYAdded",type:"uint256"},{internalType:"uint256",name:"amountXLeft",type:"uint256"},{internalType:"uint256",name:"amountYLeft",type:"uint256"},{internalType:"uint256[]",name:"depositIds",type:"uint256[]"},{internalType:"uint256[]",name:"liquidityMinted",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint256",name:"binStep",type:"uint256"},{internalType:"uint256",name:"amountX",type:"uint256"},{internalType:"uint256",name:"amountY",type:"uint256"},{internalType:"uint256",name:"amountXMin",type:"uint256"},{internalType:"uint256",name:"amountYMin",type:"uint256"},{internalType:"uint256",name:"activeIdDesired",type:"uint256"},{internalType:"uint256",name:"idSlippage",type:"uint256"},{internalType:"int256[]",name:"deltaIds",type:"int256[]"},{internalType:"uint256[]",name:"distributionX",type:"uint256[]"},{internalType:"uint256[]",name:"distributionY",type:"uint256[]"},{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"refundTo",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ILBRouter.LiquidityParameters",name:"liquidityParameters",type:"tuple"}],name:"addLiquidityNATIVE",outputs:[{internalType:"uint256",name:"amountXAdded",type:"uint256"},{internalType:"uint256",name:"amountYAdded",type:"uint256"},{internalType:"uint256",name:"amountXLeft",type:"uint256"},{internalType:"uint256",name:"amountYLeft",type:"uint256"},{internalType:"uint256[]",name:"depositIds",type:"uint256[]"},{internalType:"uint256[]",name:"liquidityMinted",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint24",name:"activeId",type:"uint24"},{internalType:"uint16",name:"binStep",type:"uint16"}],name:"createLBPair",outputs:[{internalType:"contract ILBPair",name:"pair",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getFactory",outputs:[{internalType:"contract ILBFactory",name:"lbFactory",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ILBPair",name:"pair",type:"address"},{internalType:"uint256",name:"price",type:"uint256"}],name:"getIdFromPrice",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLegacyFactory",outputs:[{internalType:"contract ILBLegacyFactory",name:"legacyLBfactory",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLegacyRouter",outputs:[{internalType:"contract ILBLegacyRouter",name:"legacyRouter",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ILBPair",name:"pair",type:"address"},{internalType:"uint24",name:"id",type:"uint24"}],name:"getPriceFromId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ILBPair",name:"pair",type:"address"},{internalType:"uint128",name:"amountOut",type:"uint128"},{internalType:"bool",name:"swapForY",type:"bool"}],name:"getSwapIn",outputs:[{internalType:"uint128",name:"amountIn",type:"uint128"},{internalType:"uint128",name:"amountOutLeft",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ILBPair",name:"pair",type:"address"},{internalType:"uint128",name:"amountIn",type:"uint128"},{internalType:"bool",name:"swapForY",type:"bool"}],name:"getSwapOut",outputs:[{internalType:"uint128",name:"amountInLeft",type:"uint128"},{internalType:"uint128",name:"amountOut",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"getV1Factory",outputs:[{internalType:"contract IJoeFactory",name:"factoryV1",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getWNATIVE",outputs:[{internalType:"contract IWNATIVE",name:"wnative",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"uint256",name:"amountXMin",type:"uint256"},{internalType:"uint256",name:"amountYMin",type:"uint256"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountX",type:"uint256"},{internalType:"uint256",name:"amountY",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountNATIVEMin",type:"uint256"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address payable",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityNATIVE",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountNATIVE",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactNATIVEForTokens",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactNATIVEForTokensSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinNATIVE",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address payable",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForNATIVE",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinNATIVE",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address payable",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForNATIVESupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapNATIVEForExactTokens",outputs:[{internalType:"uint256[]",name:"amountsIn",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountNATIVEOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address payable",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactNATIVE",outputs:[{internalType:"uint256[]",name:"amountsIn",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amountsIn",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"sweep",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ILBToken",name:"lbToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],name:"sweepLBToken",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],FACTORY:[{inputs:[{internalType:"address",name:"feeRecipient",type:"address"},{internalType:"uint256",name:"flashLoanFee",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"LBFactory__AddressZero",type:"error"},{inputs:[{internalType:"uint256",name:"binStep",type:"uint256"}],name:"LBFactory__BinStepHasNoPreset",type:"error"},{inputs:[{internalType:"uint256",name:"binStep",type:"uint256"}],name:"LBFactory__BinStepTooLow",type:"error"},{inputs:[{internalType:"uint256",name:"fees",type:"uint256"},{internalType:"uint256",name:"maxFees",type:"uint256"}],name:"LBFactory__FlashLoanFeeAboveMax",type:"error"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"}],name:"LBFactory__IdenticalAddresses",type:"error"},{inputs:[],name:"LBFactory__ImplementationNotSet",type:"error"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint256",name:"_binStep",type:"uint256"}],name:"LBFactory__LBPairAlreadyExists",type:"error"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint256",name:"binStep",type:"uint256"}],name:"LBFactory__LBPairDoesNotExist",type:"error"},{inputs:[],name:"LBFactory__LBPairIgnoredIsAlreadyInTheSameState",type:"error"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint256",name:"binStep",type:"uint256"}],name:"LBFactory__LBPairNotCreated",type:"error"},{inputs:[{internalType:"address",name:"LBPairImplementation",type:"address"}],name:"LBFactory__LBPairSafetyCheckFailed",type:"error"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"binStep",type:"uint256"}],name:"LBFactory__PresetIsLockedForUsers",type:"error"},{inputs:[],name:"LBFactory__PresetOpenStateIsAlreadyInTheSameState",type:"error"},{inputs:[{internalType:"contract IERC20",name:"quoteAsset",type:"address"}],name:"LBFactory__QuoteAssetAlreadyWhitelisted",type:"error"},{inputs:[{internalType:"contract IERC20",name:"quoteAsset",type:"address"}],name:"LBFactory__QuoteAssetNotWhitelisted",type:"error"},{inputs:[{internalType:"address",name:"feeRecipient",type:"address"}],name:"LBFactory__SameFeeRecipient",type:"error"},{inputs:[{internalType:"uint256",name:"flashLoanFee",type:"uint256"}],name:"LBFactory__SameFlashLoanFee",type:"error"},{inputs:[{internalType:"address",name:"LBPairImplementation",type:"address"}],name:"LBFactory__SameImplementation",type:"error"},{inputs:[],name:"PairParametersHelper__InvalidParameter",type:"error"},{inputs:[],name:"PendingOwnable__AddressZero",type:"error"},{inputs:[],name:"PendingOwnable__NoPendingOwner",type:"error"},{inputs:[],name:"PendingOwnable__NotOwner",type:"error"},{inputs:[],name:"PendingOwnable__NotPendingOwner",type:"error"},{inputs:[],name:"PendingOwnable__PendingOwnerAlreadySet",type:"error"},{inputs:[],name:"SafeCast__Exceeds16Bits",type:"error"},{inputs:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"int256",name:"y",type:"int256"}],name:"Uint128x128Math__PowUnderflow",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldRecipient",type:"address"},{indexed:!1,internalType:"address",name:"newRecipient",type:"address"}],name:"FeeRecipientSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"oldFlashLoanFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newFlashLoanFee",type:"uint256"}],name:"FlashLoanFeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IERC20",name:"tokenX",type:"address"},{indexed:!0,internalType:"contract IERC20",name:"tokenY",type:"address"},{indexed:!0,internalType:"uint256",name:"binStep",type:"uint256"},{indexed:!1,internalType:"contract ILBPair",name:"LBPair",type:"address"},{indexed:!1,internalType:"uint256",name:"pid",type:"uint256"}],name:"LBPairCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ILBPair",name:"LBPair",type:"address"},{indexed:!1,internalType:"bool",name:"ignored",type:"bool"}],name:"LBPairIgnoredStateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldLBPairImplementation",type:"address"},{indexed:!1,internalType:"address",name:"LBPairImplementation",type:"address"}],name:"LBPairImplementationSet",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:"pendingOwner",type:"address"}],name:"PendingOwnerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"binStep",type:"uint256"},{indexed:!0,internalType:"bool",name:"isOpen",type:"bool"}],name:"PresetOpenStateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"binStep",type:"uint256"}],name:"PresetRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"binStep",type:"uint256"},{indexed:!1,internalType:"uint256",name:"baseFactor",type:"uint256"},{indexed:!1,internalType:"uint256",name:"filterPeriod",type:"uint256"},{indexed:!1,internalType:"uint256",name:"decayPeriod",type:"uint256"},{indexed:!1,internalType:"uint256",name:"reductionFactor",type:"uint256"},{indexed:!1,internalType:"uint256",name:"variableFeeControl",type:"uint256"},{indexed:!1,internalType:"uint256",name:"protocolShare",type:"uint256"},{indexed:!1,internalType:"uint256",name:"maxVolatilityAccumulator",type:"uint256"}],name:"PresetSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IERC20",name:"quoteAsset",type:"address"}],name:"QuoteAssetAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IERC20",name:"quoteAsset",type:"address"}],name:"QuoteAssetRemoved",type:"event"},{inputs:[{internalType:"contract IERC20",name:"quoteAsset",type:"address"}],name:"addQuoteAsset",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"becomeOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint24",name:"activeId",type:"uint24"},{internalType:"uint16",name:"binStep",type:"uint16"}],name:"createLBPair",outputs:[{internalType:"contract ILBPair",name:"pair",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ILBPair",name:"pair",type:"address"}],name:"forceDecay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAllBinSteps",outputs:[{internalType:"uint256[]",name:"binStepWithPreset",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"}],name:"getAllLBPairs",outputs:[{components:[{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"contract ILBPair",name:"LBPair",type:"address"},{internalType:"bool",name:"createdByOwner",type:"bool"},{internalType:"bool",name:"ignoredForRouting",type:"bool"}],internalType:"struct ILBFactory.LBPairInformation[]",name:"lbPairsAvailable",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFeeRecipient",outputs:[{internalType:"address",name:"feeRecipient",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFlashLoanFee",outputs:[{internalType:"uint256",name:"flashLoanFee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"getLBPairAtIndex",outputs:[{internalType:"contract ILBPair",name:"lbPair",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLBPairImplementation",outputs:[{internalType:"address",name:"lbPairImplementation",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenA",type:"address"},{internalType:"contract IERC20",name:"tokenB",type:"address"},{internalType:"uint256",name:"binStep",type:"uint256"}],name:"getLBPairInformation",outputs:[{components:[{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"contract ILBPair",name:"LBPair",type:"address"},{internalType:"bool",name:"createdByOwner",type:"bool"},{internalType:"bool",name:"ignoredForRouting",type:"bool"}],internalType:"struct ILBFactory.LBPairInformation",name:"lbPairInformation",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMaxFlashLoanFee",outputs:[{internalType:"uint256",name:"maxFee",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getMinBinStep",outputs:[{internalType:"uint256",name:"minBinStep",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getNumberOfLBPairs",outputs:[{internalType:"uint256",name:"lbPairNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getNumberOfQuoteAssets",outputs:[{internalType:"uint256",name:"numberOfQuoteAssets",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getOpenBinSteps",outputs:[{internalType:"uint256[]",name:"openBinStep",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"binStep",type:"uint256"}],name:"getPreset",outputs:[{internalType:"uint256",name:"baseFactor",type:"uint256"},{internalType:"uint256",name:"filterPeriod",type:"uint256"},{internalType:"uint256",name:"decayPeriod",type:"uint256"},{internalType:"uint256",name:"reductionFactor",type:"uint256"},{internalType:"uint256",name:"variableFeeControl",type:"uint256"},{internalType:"uint256",name:"protocolShare",type:"uint256"},{internalType:"uint256",name:"maxVolatilityAccumulator",type:"uint256"},{internalType:"bool",name:"isOpen",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"getQuoteAssetAtIndex",outputs:[{internalType:"contract IERC20",name:"asset",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"}],name:"isQuoteAsset",outputs:[{internalType:"bool",name:"isQuote",type:"bool"}],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:[{internalType:"uint16",name:"binStep",type:"uint16"}],name:"removePreset",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"quoteAsset",type:"address"}],name:"removeQuoteAsset",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"revokePendingOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"feeRecipient",type:"address"}],name:"setFeeRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"uint16",name:"baseFactor",type:"uint16"},{internalType:"uint16",name:"filterPeriod",type:"uint16"},{internalType:"uint16",name:"decayPeriod",type:"uint16"},{internalType:"uint16",name:"reductionFactor",type:"uint16"},{internalType:"uint24",name:"variableFeeControl",type:"uint24"},{internalType:"uint16",name:"protocolShare",type:"uint16"},{internalType:"uint24",name:"maxVolatilityAccumulator",type:"uint24"}],name:"setFeesParametersOnPair",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"flashLoanFee",type:"uint256"}],name:"setFlashLoanFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"bool",name:"ignored",type:"bool"}],name:"setLBPairIgnored",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newLBPairImplementation",type:"address"}],name:"setLBPairImplementation",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pendingOwner_",type:"address"}],name:"setPendingOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"uint16",name:"baseFactor",type:"uint16"},{internalType:"uint16",name:"filterPeriod",type:"uint16"},{internalType:"uint16",name:"decayPeriod",type:"uint16"},{internalType:"uint16",name:"reductionFactor",type:"uint16"},{internalType:"uint24",name:"variableFeeControl",type:"uint24"},{internalType:"uint16",name:"protocolShare",type:"uint16"},{internalType:"uint24",name:"maxVolatilityAccumulator",type:"uint24"},{internalType:"bool",name:"isOpen",type:"bool"}],name:"setPreset",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"bool",name:"isOpen",type:"bool"}],name:"setPresetOpenState",outputs:[],stateMutability:"nonpayable",type:"function"}],PAIR:[{inputs:[{internalType:"contract ILBFactory",name:"factory_",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AddressHelper__CallFailed",type:"error"},{inputs:[],name:"AddressHelper__NonContract",type:"error"},{inputs:[{internalType:"uint24",name:"id",type:"uint24"}],name:"BinHelper__CompositionFactorFlawed",type:"error"},{inputs:[],name:"BinHelper__LiquidityOverflow",type:"error"},{inputs:[],name:"FeeHelper__FeeTooLarge",type:"error"},{inputs:[],name:"LBPair__AddressZero",type:"error"},{inputs:[],name:"LBPair__AlreadyInitialized",type:"error"},{inputs:[],name:"LBPair__EmptyMarketConfigs",type:"error"},{inputs:[],name:"LBPair__FlashLoanCallbackFailed",type:"error"},{inputs:[],name:"LBPair__FlashLoanInsufficientAmount",type:"error"},{inputs:[],name:"LBPair__InsufficientAmountIn",type:"error"},{inputs:[],name:"LBPair__InsufficientAmountOut",type:"error"},{inputs:[],name:"LBPair__InvalidInput",type:"error"},{inputs:[],name:"LBPair__InvalidStaticFeeParameters",type:"error"},{inputs:[],name:"LBPair__MaxTotalFeeExceeded",type:"error"},{inputs:[],name:"LBPair__OnlyFactory",type:"error"},{inputs:[],name:"LBPair__OnlyProtocolFeeRecipient",type:"error"},{inputs:[],name:"LBPair__OutOfLiquidity",type:"error"},{inputs:[],name:"LBPair__TokenNotSupported",type:"error"},{inputs:[{internalType:"uint24",name:"id",type:"uint24"}],name:"LBPair__ZeroAmount",type:"error"},{inputs:[{internalType:"uint24",name:"id",type:"uint24"}],name:"LBPair__ZeroAmountsOut",type:"error"},{inputs:[],name:"LBPair__ZeroBorrowAmount",type:"error"},{inputs:[{internalType:"uint24",name:"id",type:"uint24"}],name:"LBPair__ZeroShares",type:"error"},{inputs:[],name:"LBToken__AddressThisOrZero",type:"error"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"id",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"LBToken__BurnExceedsBalance",type:"error"},{inputs:[],name:"LBToken__InvalidLength",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"LBToken__SelfApproval",type:"error"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"LBToken__SpenderNotApproved",type:"error"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"id",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"LBToken__TransferExceedsBalance",type:"error"},{inputs:[],name:"LiquidityConfigurations__InvalidConfig",type:"error"},{inputs:[],name:"OracleHelper__InvalidOracleId",type:"error"},{inputs:[],name:"OracleHelper__LookUpTimestampTooOld",type:"error"},{inputs:[],name:"OracleHelper__NewLengthTooSmall",type:"error"},{inputs:[],name:"PackedUint128Math__AddOverflow",type:"error"},{inputs:[],name:"PackedUint128Math__MultiplierTooLarge",type:"error"},{inputs:[],name:"PackedUint128Math__SubUnderflow",type:"error"},{inputs:[],name:"PairParametersHelper__InvalidParameter",type:"error"},{inputs:[],name:"ReentrancyGuard__ReentrantCall",type:"error"},{inputs:[],name:"SafeCast__Exceeds128Bits",type:"error"},{inputs:[],name:"SafeCast__Exceeds24Bits",type:"error"},{inputs:[],name:"SafeCast__Exceeds40Bits",type:"error"},{inputs:[],name:"TokenHelper__TransferFailed",type:"error"},{inputs:[],name:"Uint128x128Math__LogUnderflow",type:"error"},{inputs:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"int256",name:"y",type:"int256"}],name:"Uint128x128Math__PowUnderflow",type:"error"},{inputs:[],name:"Uint256x256Math__MulDivOverflow",type:"error"},{inputs:[],name:"Uint256x256Math__MulShiftOverflow",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"feeRecipient",type:"address"},{indexed:!1,internalType:"bytes32",name:"protocolFees",type:"bytes32"}],name:"CollectedProtocolFees",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint24",name:"id",type:"uint24"},{indexed:!1,internalType:"bytes32",name:"totalFees",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"protocolFees",type:"bytes32"}],name:"CompositionFees",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256[]",name:"ids",type:"uint256[]"},{indexed:!1,internalType:"bytes32[]",name:"amounts",type:"bytes32[]"}],name:"DepositedToBins",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"contract ILBFlashLoanCallback",name:"receiver",type:"address"},{indexed:!1,internalType:"uint24",name:"activeId",type:"uint24"},{indexed:!1,internalType:"bytes32",name:"amounts",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"totalFees",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"protocolFees",type:"bytes32"}],name:"FlashLoan",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint24",name:"idReference",type:"uint24"},{indexed:!1,internalType:"uint24",name:"volatilityReference",type:"uint24"}],name:"ForcedDecay",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint16",name:"oracleLength",type:"uint16"}],name:"OracleLengthIncreased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint16",name:"baseFactor",type:"uint16"},{indexed:!1,internalType:"uint16",name:"filterPeriod",type:"uint16"},{indexed:!1,internalType:"uint16",name:"decayPeriod",type:"uint16"},{indexed:!1,internalType:"uint16",name:"reductionFactor",type:"uint16"},{indexed:!1,internalType:"uint24",name:"variableFeeControl",type:"uint24"},{indexed:!1,internalType:"uint16",name:"protocolShare",type:"uint16"},{indexed:!1,internalType:"uint24",name:"maxVolatilityAccumulator",type:"uint24"}],name:"StaticFeeParametersSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint24",name:"id",type:"uint24"},{indexed:!1,internalType:"bytes32",name:"amountsIn",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"amountsOut",type:"bytes32"},{indexed:!1,internalType:"uint24",name:"volatilityAccumulator",type:"uint24"},{indexed:!1,internalType:"bytes32",name:"totalFees",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"protocolFees",type:"bytes32"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256[]",name:"ids",type:"uint256[]"},{indexed:!1,internalType:"uint256[]",name:"amounts",type:"uint256[]"}],name:"TransferBatch",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256[]",name:"ids",type:"uint256[]"},{indexed:!1,internalType:"bytes32[]",name:"amounts",type:"bytes32[]"}],name:"WithdrawnFromBins",type:"event"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"approveForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"id",type:"uint256"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"accounts",type:"address[]"},{internalType:"uint256[]",name:"ids",type:"uint256[]"}],name:"balanceOfBatch",outputs:[{internalType:"uint256[]",name:"batchBalances",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],name:"batchTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amountsToBurn",type:"uint256[]"}],name:"burn",outputs:[{internalType:"bytes32[]",name:"amounts",type:"bytes32[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"collectProtocolFees",outputs:[{internalType:"bytes32",name:"collectedProtocolFees",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ILBFlashLoanCallback",name:"receiver",type:"address"},{internalType:"bytes32",name:"amounts",type:"bytes32"},{internalType:"bytes",name:"data",type:"bytes"}],name:"flashLoan",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"forceDecay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getActiveId",outputs:[{internalType:"uint24",name:"activeId",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint24",name:"id",type:"uint24"}],name:"getBin",outputs:[{internalType:"uint128",name:"binReserveX",type:"uint128"},{internalType:"uint128",name:"binReserveY",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBinStep",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getFactory",outputs:[{internalType:"contract ILBFactory",name:"factory",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"price",type:"uint256"}],name:"getIdFromPrice",outputs:[{internalType:"uint24",name:"id",type:"uint24"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bool",name:"swapForY",type:"bool"},{internalType:"uint24",name:"id",type:"uint24"}],name:"getNextNonEmptyBin",outputs:[{internalType:"uint24",name:"nextId",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[],name:"getOracleParameters",outputs:[{internalType:"uint8",name:"sampleLifetime",type:"uint8"},{internalType:"uint16",name:"size",type:"uint16"},{internalType:"uint16",name:"activeSize",type:"uint16"},{internalType:"uint40",name:"lastUpdated",type:"uint40"},{internalType:"uint40",name:"firstTimestamp",type:"uint40"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint40",name:"lookupTimestamp",type:"uint40"}],name:"getOracleSampleAt",outputs:[{internalType:"uint64",name:"cumulativeId",type:"uint64"},{internalType:"uint64",name:"cumulativeVolatility",type:"uint64"},{internalType:"uint64",name:"cumulativeBinCrossed",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint24",name:"id",type:"uint24"}],name:"getPriceFromId",outputs:[{internalType:"uint256",name:"price",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getProtocolFees",outputs:[{internalType:"uint128",name:"protocolFeeX",type:"uint128"},{internalType:"uint128",name:"protocolFeeY",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"getReserves",outputs:[{internalType:"uint128",name:"reserveX",type:"uint128"},{internalType:"uint128",name:"reserveY",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"getStaticFeeParameters",outputs:[{internalType:"uint16",name:"baseFactor",type:"uint16"},{internalType:"uint16",name:"filterPeriod",type:"uint16"},{internalType:"uint16",name:"decayPeriod",type:"uint16"},{internalType:"uint16",name:"reductionFactor",type:"uint16"},{internalType:"uint24",name:"variableFeeControl",type:"uint24"},{internalType:"uint16",name:"protocolShare",type:"uint16"},{internalType:"uint24",name:"maxVolatilityAccumulator",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint128",name:"amountOut",type:"uint128"},{internalType:"bool",name:"swapForY",type:"bool"}],name:"getSwapIn",outputs:[{internalType:"uint128",name:"amountIn",type:"uint128"},{internalType:"uint128",name:"amountOutLeft",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint128",name:"amountIn",type:"uint128"},{internalType:"bool",name:"swapForY",type:"bool"}],name:"getSwapOut",outputs:[{internalType:"uint128",name:"amountInLeft",type:"uint128"},{internalType:"uint128",name:"amountOut",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTokenX",outputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getTokenY",outputs:[{internalType:"contract IERC20",name:"tokenY",type:"address"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getVariableFeeParameters",outputs:[{internalType:"uint24",name:"volatilityAccumulator",type:"uint24"},{internalType:"uint24",name:"volatilityReference",type:"uint24"},{internalType:"uint24",name:"idReference",type:"uint24"},{internalType:"uint40",name:"timeOfLastUpdate",type:"uint40"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"newLength",type:"uint16"}],name:"increaseOracleLength",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"baseFactor",type:"uint16"},{internalType:"uint16",name:"filterPeriod",type:"uint16"},{internalType:"uint16",name:"decayPeriod",type:"uint16"},{internalType:"uint16",name:"reductionFactor",type:"uint16"},{internalType:"uint24",name:"variableFeeControl",type:"uint24"},{internalType:"uint16",name:"protocolShare",type:"uint16"},{internalType:"uint24",name:"maxVolatilityAccumulator",type:"uint24"},{internalType:"uint24",name:"activeId",type:"uint24"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bytes32[]",name:"liquidityConfigs",type:"bytes32[]"},{internalType:"address",name:"refundTo",type:"address"}],name:"mint",outputs:[{internalType:"bytes32",name:"amountsReceived",type:"bytes32"},{internalType:"bytes32",name:"amountsLeft",type:"bytes32"},{internalType:"uint256[]",name:"liquidityMinted",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"baseFactor",type:"uint16"},{internalType:"uint16",name:"filterPeriod",type:"uint16"},{internalType:"uint16",name:"decayPeriod",type:"uint16"},{internalType:"uint16",name:"reductionFactor",type:"uint16"},{internalType:"uint24",name:"variableFeeControl",type:"uint24"},{internalType:"uint16",name:"protocolShare",type:"uint16"},{internalType:"uint24",name:"maxVolatilityAccumulator",type:"uint24"}],name:"setStaticFeeParameters",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"swapForY",type:"bool"},{internalType:"address",name:"to",type:"address"}],name:"swap",outputs:[{internalType:"bytes32",name:"amountsOut",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"id",type:"uint256"}],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],QUOTER:[{inputs:[{internalType:"address",name:"factoryV1",type:"address"},{internalType:"address",name:"legacyFactoryV2",type:"address"},{internalType:"address",name:"factoryV2",type:"address"},{internalType:"address",name:"legacyRouterV2",type:"address"},{internalType:"address",name:"routerV2",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"JoeLibrary__AddressZero",type:"error"},{inputs:[],name:"JoeLibrary__IdenticalAddresses",type:"error"},{inputs:[],name:"JoeLibrary__InsufficientAmount",type:"error"},{inputs:[],name:"JoeLibrary__InsufficientLiquidity",type:"error"},{inputs:[],name:"LBQuoter_InvalidLength",type:"error"},{inputs:[],name:"SafeCast__Exceeds128Bits",type:"error"},{inputs:[],name:"SafeCast__Exceeds24Bits",type:"error"},{inputs:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"int256",name:"y",type:"int256"}],name:"Uint128x128Math__PowUnderflow",type:"error"},{inputs:[],name:"Uint256x256Math__MulDivOverflow",type:"error"},{inputs:[],name:"Uint256x256Math__MulShiftOverflow",type:"error"},{inputs:[{internalType:"address[]",name:"route",type:"address[]"},{internalType:"uint128",name:"amountIn",type:"uint128"}],name:"findBestPathFromAmountIn",outputs:[{components:[{internalType:"address[]",name:"route",type:"address[]"},{internalType:"address[]",name:"pairs",type:"address[]"},{internalType:"uint256[]",name:"binSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"uint128[]",name:"amounts",type:"uint128[]"},{internalType:"uint128[]",name:"virtualAmountsWithoutSlippage",type:"uint128[]"},{internalType:"uint128[]",name:"fees",type:"uint128[]"}],internalType:"struct LBQuoter.Quote",name:"quote",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"route",type:"address[]"},{internalType:"uint128",name:"amountOut",type:"uint128"}],name:"findBestPathFromAmountOut",outputs:[{components:[{internalType:"address[]",name:"route",type:"address[]"},{internalType:"address[]",name:"pairs",type:"address[]"},{internalType:"uint256[]",name:"binSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"uint128[]",name:"amounts",type:"uint128[]"},{internalType:"uint128[]",name:"virtualAmountsWithoutSlippage",type:"uint128[]"},{internalType:"uint128[]",name:"fees",type:"uint128[]"}],internalType:"struct LBQuoter.Quote",name:"quote",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFactoryV1",outputs:[{internalType:"address",name:"factoryV1",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFactoryV2",outputs:[{internalType:"address",name:"factoryV2",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLegacyFactoryV2",outputs:[{internalType:"address",name:"legacyFactoryV2",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLegacyRouterV2",outputs:[{internalType:"address",name:"legacyRouterV2",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getRouterV2",outputs:[{internalType:"address",name:"routerV2",type:"address"}],stateMutability:"view",type:"function"}]};const aO={name:"trader_joe_v2_1",label:"Trader Joe v2.1",logo:"data:image/png;base64,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",protocol:"trader_joe_v2_1",slippage:!0,blockchains:["avalanche"],avalanche:{router:{address:"0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30",api:oO.ROUTER},factory:{address:"0x8e42f2F4101563bF679975178e880FD87d3eFd4e",api:oO.FACTORY},pair:{api:oO.PAIR},quoter:{address:"0x64b57F4249aA99a812212cee7DAEFEDC40B203cD",api:oO.QUOTER}}};var sO=e=>new OD(Object.assign(aO,{scope:e,findPath:e=>oO.findPath({...e,exchange:aO}),pathExists:e=>oO.pathExists({...e,exchange:aO}),getAmounts:e=>oO.getAmounts({...e,exchange:aO}),getPrep:e=>oO.getPrep({...e,exchange:aO}),getTransaction:e=>oO.getTransaction({...e,exchange:aO})}));const uO={name:"uniswap_v2",label:"Uniswap v2",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQxIiBoZWlnaHQ9IjY0MCIgdmlld0JveD0iMCAwIDY0MSA2NDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0yMjQuNTM0IDEyMy4yMjZDMjE4LjY5MiAxMjIuMzIgMjE4LjQ0NSAxMjIuMjEzIDIyMS4xOTUgMTIxLjc5MUMyMjYuNDY0IDEyMC45OCAyMzguOTA1IDEyMi4wODUgMjQ3LjQ3OSAxMjQuMTIzQzI2Ny40OTQgMTI4Ljg4MSAyODUuNzA3IDE0MS4wNjkgMzA1LjE0OCAxNjIuNzE0TDMxMC4zMTMgMTY4LjQ2NUwzMTcuNzAxIDE2Ny4yNzdDMzQ4LjgyOCAxNjIuMjc1IDM4MC40OTMgMTY2LjI1IDQwNi45NzggMTc4LjQ4NUM0MTQuMjY0IDE4MS44NTEgNDI1Ljc1MiAxODguNTUyIDQyNy4xODcgMTkwLjI3NEM0MjcuNjQ1IDE5MC44MjIgNDI4LjQ4NSAxOTQuMzU1IDQyOS4wNTMgMTk4LjEyNEM0MzEuMDIgMjExLjE2NCA0MzAuMDM2IDIyMS4xNiA0MjYuMDQ3IDIyOC42MjVDNDIzLjg3NyAyMzIuNjg4IDQyMy43NTYgMjMzLjk3NSA0MjUuMjE1IDIzNy40NTJDNDI2LjM4IDI0MC4yMjcgNDI5LjYyNyAyNDIuMjggNDMyLjg0MyAyNDIuMjc2QzQzOS40MjUgMjQyLjI2NyA0NDYuNTA5IDIzMS42MjcgNDQ5Ljc5MSAyMTYuODIzTDQ1MS4wOTUgMjEwLjk0M0w0NTMuNjc4IDIxMy44NjhDNDY3Ljg0NiAyMjkuOTIgNDc4Ljk3NCAyNTEuODExIDQ4MC44ODUgMjY3LjM5M0w0ODEuMzgzIDI3MS40NTVMNDc5LjAwMiAyNjcuNzYyQzQ3NC45MDMgMjYxLjQwNyA0NzAuNzg1IDI1Ny4wOCA0NjUuNTEyIDI1My41OTFDNDU2LjAwNiAyNDcuMzAxIDQ0NS45NTUgMjQ1LjE2MSA0MTkuMzM3IDI0My43NThDMzk1LjI5NiAyNDIuNDkxIDM4MS42OSAyNDAuNDM4IDM2OC4xOTggMjM2LjAzOEMzNDUuMjQ0IDIyOC41NTQgMzMzLjY3MiAyMTguNTg3IDMwNi40MDUgMTgyLjgxMkMyOTQuMjk0IDE2Ni45MjMgMjg2LjgwOCAxNTguMTMxIDI3OS4zNjIgMTUxLjA1MUMyNjIuNDQyIDEzNC45NjQgMjQ1LjgxNiAxMjYuNTI3IDIyNC41MzQgMTIzLjIyNloiIGZpbGw9IiNGRjAwN0EiLz4KPHBhdGggZD0iTTQzMi42MSAxNTguNzA0QzQzMy4yMTUgMTQ4LjA1NyA0MzQuNjU5IDE0MS4wMzMgNDM3LjU2MiAxMzQuNjJDNDM4LjcxMSAxMzIuMDgxIDQzOS43ODggMTMwLjAwMyA0MzkuOTU0IDEzMC4wMDNDNDQwLjEyIDEzMC4wMDMgNDM5LjYyMSAxMzEuODc3IDQzOC44NDQgMTM0LjE2N0M0MzYuNzMzIDE0MC4zOTIgNDM2LjM4NyAxNDguOTA1IDQzNy44NCAxNTguODExQzQzOS42ODYgMTcxLjM3OSA0NDAuNzM1IDE3My4xOTIgNDU0LjAxOSAxODYuNzY5QzQ2MC4yNSAxOTMuMTM3IDQ2Ny40OTcgMjAxLjE2OCA0NzAuMTI0IDIwNC42MTZMNDc0LjkwMSAyMTAuODg2TDQ3MC4xMjQgMjA2LjQwNUM0NjQuMjgyIDIwMC45MjYgNDUwLjg0NyAxOTAuMjQgNDQ3Ljg3OSAxODguNzEyQzQ0NS44OSAxODcuNjg4IDQ0NS41OTQgMTg3LjcwNSA0NDQuMzY2IDE4OC45MjdDNDQzLjIzNSAxOTAuMDUzIDQ0Mi45OTcgMTkxLjc0NCA0NDIuODQgMTk5Ljc0MUM0NDIuNTk2IDIxMi4yMDQgNDQwLjg5NyAyMjAuMjA0IDQzNi43OTcgMjI4LjIwM0M0MzQuNTggMjMyLjUyOSA0MzQuMjMgMjMxLjYwNiA0MzYuMjM3IDIyNi43MjNDNDM3LjczNSAyMjMuMDc3IDQzNy44ODcgMjIxLjQ3NCA0MzcuODc2IDIwOS40MDhDNDM3Ljg1MyAxODUuMTY3IDQzNC45NzUgMTc5LjMzOSA0MTguMDk3IDE2OS4zNTVDNDEzLjgyMSAxNjYuODI2IDQwNi43NzYgMTYzLjE3OCA0MDIuNDQyIDE2MS4yNDlDMzk4LjEwNyAxNTkuMzIgMzk0LjY2NCAxNTcuNjM5IDM5NC43ODkgMTU3LjUxNEMzOTUuMjY3IDE1Ny4wMzggNDExLjcyNyAxNjEuODQyIDQxOC4zNTIgMTY0LjM5QzQyOC4yMDYgMTY4LjE4MSA0MjkuODMzIDE2OC42NzIgNDMxLjAzIDE2OC4yMTVDNDMxLjgzMiAxNjcuOTA5IDQzMi4yMiAxNjUuNTcyIDQzMi42MSAxNTguNzA0WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNMjM1Ljg4MyAyMDAuMTc1QzIyNC4wMjIgMTgzLjg0NiAyMTYuNjg0IDE1OC44MDkgMjE4LjI3MiAxNDAuMDkzTDIxOC43NjQgMTM0LjMwMUwyMjEuNDYzIDEzNC43OTRDMjI2LjUzNCAxMzUuNzE5IDIzNS4yNzUgMTM4Ljk3MyAyMzkuMzY5IDE0MS40NTlDMjUwLjYwMiAxNDguMjgxIDI1NS40NjUgMTU3LjI2MyAyNjAuNDEzIDE4MC4zMjhDMjYxLjg2MiAxODcuMDgzIDI2My43NjMgMTk0LjcyOCAyNjQuNjM4IDE5Ny4zMTdDMjY2LjA0NyAyMDEuNDgzIDI3MS4zNjkgMjExLjIxNCAyNzUuNjk2IDIxNy41MzRDMjc4LjgxMyAyMjIuMDg1IDI3Ni43NDMgMjI0LjI0MiAyNjkuODUzIDIyMy42MkMyNTkuMzMxIDIyMi42NyAyNDUuMDc4IDIxMi44MzQgMjM1Ljg4MyAyMDAuMTc1WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNNDE4LjIyMyAzMjEuNzA3QzM2Mi43OTMgMjk5LjM4OSAzNDMuMjcxIDI4MC4wMTcgMzQzLjI3MSAyNDcuMzMxQzM0My4yNzEgMjQyLjUyMSAzNDMuNDM3IDIzOC41ODUgMzQzLjYzOCAyMzguNTg1QzM0My44NCAyMzguNTg1IDM0NS45ODUgMjQwLjE3MyAzNDguNDA0IDI0Mi4xMTNDMzU5LjY0NCAyNTEuMTI4IDM3Mi4yMzEgMjU0Ljk3OSA0MDcuMDc2IDI2MC4wNjJDNDI3LjU4IDI2My4wNTQgNDM5LjExOSAyNjUuNDcgNDQ5Ljc2MyAyNjlDNDgzLjU5NSAyODAuMjIgNTA0LjUyNyAzMDIuOTkgNTA5LjUxOCAzMzQuMDA0QzUxMC45NjkgMzQzLjAxNiA1MTAuMTE4IDM1OS45MTUgNTA3Ljc2NiAzNjguODIyQzUwNS45MSAzNzUuODU3IDUwMC4yNDUgMzg4LjUzNyA0OTguNzQyIDM4OS4wMjNDNDk4LjMyNSAzODkuMTU4IDQ5Ny45MTcgMzg3LjU2MiA0OTcuODEgMzg1LjM4OUM0OTcuMjQgMzczLjc0NCA0OTEuMzU1IDM2Mi40MDYgNDgxLjQ3MiAzNTMuOTEzQzQ3MC4yMzUgMzQ0LjI1NyA0NTUuMTM3IDMzNi41NjkgNDE4LjIyMyAzMjEuNzA3WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNMzc5LjMxIDMzMC45NzhDMzc4LjYxNSAzMjYuODQ2IDM3Ny40MTEgMzIxLjU2OCAzNzYuNjMzIDMxOS4yNUwzNzUuMjE5IDMxNS4wMzZMMzc3Ljg0NiAzMTcuOTg1QzM4MS40ODEgMzIyLjA2NSAzODQuMzU0IDMyNy4yODcgMzg2Ljc4OSAzMzQuMjQxQzM4OC42NDcgMzM5LjU0OSAzODguODU2IDM0MS4xMjcgMzg4Ljg0MiAzNDkuNzUzQzM4OC44MjggMzU4LjIyMSAzODguNTk2IDM1OS45OTYgMzg2Ljg4IDM2NC43NzNDMzg0LjE3NCAzNzIuMzA3IDM4MC44MTYgMzc3LjY0OSAzNzUuMTgxIDM4My4zODNDMzY1LjA1NiAzOTMuNjg4IDM1Mi4wMzggMzk5LjM5MyAzMzMuMjUzIDQwMS43NkMzMjkuOTg3IDQwMi4xNzEgMzIwLjQ3IDQwMi44NjQgMzEyLjEwMyA0MDMuMjk5QzI5MS4wMTYgNDA0LjM5NSAyNzcuMTM4IDQwNi42NjEgMjY0LjY2OCA0MTEuMDRDMjYyLjg3NSA0MTEuNjcgMjYxLjI3NCA0MTIuMDUyIDI2MS4xMTIgNDExLjg5QzI2MC42MDcgNDExLjM4OCAyNjkuMDk4IDQwNi4zMjYgMjc2LjExMSA0MDIuOTQ4QzI4NS45OTkgMzk4LjE4NSAyOTUuODQyIDM5NS41ODYgMzE3Ljg5NyAzOTEuOTEzQzMyOC43OTIgMzkwLjA5OCAzNDAuMDQzIDM4Ny44OTcgMzQyLjkgMzg3LjAyMUMzNjkuODggMzc4Ljc0OSAzODMuNzQ4IDM1Ny40MDIgMzc5LjMxIDMzMC45NzhaIiBmaWxsPSIjRkYwMDdBIi8+CjxwYXRoIGQ9Ik00MDQuNzE5IDM3Ni4xMDVDMzk3LjM1NSAzNjAuMjczIDM5NS42NjQgMzQ0Ljk4OCAzOTkuNjk4IDMzMC43MzJDNDAwLjEzIDMyOS4yMDkgNDAwLjgyNCAzMjcuOTYyIDQwMS4yNDIgMzI3Ljk2MkM0MDEuNjU5IDMyNy45NjIgNDAzLjM5NyAzMjguOTAyIDQwNS4xMDMgMzMwLjA1QzQwOC40OTcgMzMyLjMzNSA0MTUuMzAzIDMzNi4xODIgNDMzLjQzNyAzNDYuMDY5QzQ1Ni4wNjUgMzU4LjQwNiA0NjguOTY2IDM2Ny45NTkgNDc3Ljc0IDM3OC44NzNDNDg1LjQyMyAzODguNDMyIDQ5MC4xNzggMzk5LjMxOCA0OTIuNDY3IDQxMi41OTNDNDkzLjc2MiA0MjAuMTEzIDQ5My4wMDMgNDM4LjIwNiA0OTEuMDc0IDQ0NS43NzhDNDg0Ljk5IDQ2OS42NTMgNDcwLjg1IDQ4OC40MDYgNDUwLjY4MiA0OTkuMzQ5QzQ0Ny43MjcgNTAwLjk1MiA0NDUuMDc1IDUwMi4yNjkgNDQ0Ljc4OCA1MDIuMjc1QzQ0NC41MDEgNTAyLjI4IDQ0NS41NzcgNDk5LjU0MyA0NDcuMTggNDk2LjE5MUM0NTMuOTY1IDQ4Mi4wMDkgNDU0LjczNyA0NjguMjE0IDQ0OS42MDggNDUyLjg1OUM0NDYuNDY3IDQ0My40NTcgNDQwLjA2NCA0MzEuOTg1IDQyNy4xMzUgNDEyLjU5NkM0MTIuMTAzIDM5MC4wNTQgNDA4LjQxNyAzODQuMDU0IDQwNC43MTkgMzc2LjEwNVoiIGZpbGw9IiNGRjAwN0EiLz4KPHBhdGggZD0iTTE5Ni41MTkgNDYxLjUyNUMyMTcuMDg5IDQ0NC4xNTcgMjQyLjY4MiA0MzEuODE5IDI2NS45OTYgNDI4LjAzMkMyNzYuMDQzIDQyNi4zOTkgMjkyLjc4IDQyNy4wNDcgMzAyLjA4NCA0MjkuNDI4QzMxNi45OTggNDMzLjI0NSAzMzAuMzM4IDQ0MS43OTMgMzM3LjI3NiA0NTEuOTc4QzM0NC4wNTcgNDYxLjkzMiAzNDYuOTY2IDQ3MC42MDYgMzQ5Ljk5NSA0ODkuOTA2QzM1MS4xODkgNDk3LjUxOSAzNTIuNDg5IDUwNS4xNjQgMzUyLjg4MiA1MDYuODk1QzM1NS4xNTYgNTE2Ljg5NyAzNTkuNTgzIDUyNC44OTIgMzY1LjA2NyA1MjguOTA3QzM3My43NzkgNTM1LjI4MyAzODguNzggNTM1LjY4IDQwMy41MzYgNTI5LjkyNEM0MDYuMDQxIDUyOC45NDcgNDA4LjIxNSA1MjguMjcxIDQwOC4zNjggNTI4LjQyNEM0MDguOTAzIDUyOC45NTUgNDAxLjQ3MyA1MzMuOTMgMzk2LjIzIDUzNi41NDhDMzg5LjE3NyA1NDAuMDcxIDM4My41NjggNTQxLjQzNCAzNzYuMTE1IDU0MS40MzRDMzYyLjYgNTQxLjQzNCAzNTEuMzc5IDUzNC41NTggMzQyLjAxNiA1MjAuNTM5QzM0MC4xNzQgNTE3Ljc4IDMzNi4wMzIgNTA5LjUxNiAzMzIuODEzIDUwMi4xNzZDMzIyLjkyOCA0NzkuNjI4IDMxOC4wNDYgNDcyLjc1OSAzMDYuNTY4IDQ2NS4yNDJDMjk2LjU3OSA0NTguNzAxIDI4My42OTcgNDU3LjUzIDI3NC4wMDYgNDYyLjI4MkMyNjEuMjc2IDQ2OC41MjMgMjU3LjcyNCA0ODQuNzkxIDI2Ni44NDIgNDk1LjEwMUMyNzAuNDY1IDQ5OS4xOTggMjc3LjIyMyA1MDIuNzMyIDI4Mi43NDkgNTAzLjQxOUMyOTMuMDg2IDUwNC43MDUgMzAxLjk3IDQ5Ni44NDEgMzAxLjk3IDQ4Ni40MDRDMzAxLjk3IDQ3OS42MjcgMjk5LjM2NSA0NzUuNzYgMjkyLjgwOCA0NzIuODAxQzI4My44NTIgNDY4Ljc2IDI3NC4yMjYgNDczLjQ4MyAyNzQuMjcyIDQ4MS44OTdDMjc0LjI5MiA0ODUuNDg0IDI3NS44NTQgNDg3LjczNyAyNzkuNDUgNDg5LjM2NEMyODEuNzU3IDQ5MC40MDggMjgxLjgxMSA0OTAuNDkxIDI3OS45MjkgNDkwLjFDMjcxLjcxMiA0ODguMzk2IDI2OS43ODcgNDc4LjQ5IDI3Ni4zOTQgNDcxLjkxM0MyODQuMzI2IDQ2NC4wMTggMzAwLjcyOSA0NjcuNTAyIDMwNi4zNjIgNDc4LjI3OUMzMDguNzI4IDQ4Mi44MDUgMzA5LjAwMyA0OTEuODIgMzA2Ljk0IDQ5Ny4yNjRDMzAyLjMyMiA1MDkuNDQ4IDI4OC44NTkgNTE1Ljg1NSAyNzUuMjAxIDUxMi4zNjhDMjY1LjkwMyA1MDkuOTk0IDI2Mi4xMTcgNTA3LjQyNCAyNTAuOTA2IDQ5NS44NzZDMjMxLjQyNSA0NzUuODA5IDIyMy44NjIgNDcxLjkyIDE5NS43NzcgNDY3LjUzNkwxOTAuMzk1IDQ2Ni42OTZMMTk2LjUxOSA0NjEuNTI1WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQ5LjYyMDIgMTIuMDAzMUMxMTQuNjc4IDkwLjk2MzggMjE0Ljk3NyAyMTMuOTAxIDIxOS45NTcgMjIwLjc4NEMyMjQuMDY4IDIyNi40NjcgMjIyLjUyMSAyMzEuNTc2IDIxNS40NzggMjM1LjU4QzIxMS41NjEgMjM3LjgwNyAyMDMuNTA4IDI0MC4wNjMgMTk5LjQ3NiAyNDAuMDYzQzE5NC45MTYgMjQwLjA2MyAxODkuNzc5IDIzNy44NjcgMTg2LjAzOCAyMzQuMzE4QzE4My4zOTMgMjMxLjgxIDE3Mi43MjEgMjE1Ljg3NCAxNDguMDg0IDE3Ny42NDZDMTI5LjIzMyAxNDguMzk2IDExMy40NTcgMTI0LjEzMSAxMTMuMDI3IDEyMy43MjVDMTEyLjAzMiAxMjIuNzg1IDExMi4wNDkgMTIyLjgxNyAxNDYuMTYyIDE4My44NTRDMTY3LjU4MiAyMjIuMTgxIDE3NC44MTMgMjM1LjczMSAxNzQuODEzIDIzNy41NDNDMTc0LjgxMyAyNDEuMjI5IDE3My44MDggMjQzLjE2NiAxNjkuMjYxIDI0OC4yMzhDMTYxLjY4MSAyNTYuNjk0IDE1OC4yOTMgMjY2LjE5NSAxNTUuODQ3IDI4NS44NTlDMTUzLjEwNCAzMDcuOTAyIDE0NS4zOTQgMzIzLjQ3MyAxMjQuMDI2IDM1MC4xMjJDMTExLjUxOCAzNjUuNzIyIDEwOS40NzEgMzY4LjU4MSAxMDYuMzE1IDM3NC44NjlDMTAyLjMzOSAzODIuNzg2IDEwMS4yNDYgMzg3LjIyMSAxMDAuODAzIDM5Ny4yMTlDMTAwLjMzNSA0MDcuNzkgMTAxLjI0NyA0MTQuNjE5IDEwNC40NzcgNDI0LjcyNkMxMDcuMzA0IDQzMy41NzUgMTEwLjI1NSA0MzkuNDE3IDExNy44IDQ1MS4xMDRDMTI0LjMxMSA0NjEuMTg4IDEyOC4wNjEgNDY4LjY4MyAxMjguMDYxIDQ3MS42MTRDMTI4LjA2MSA0NzMuOTQ3IDEyOC41MDYgNDczLjk1IDEzOC41OTYgNDcxLjY3MkMxNjIuNzQxIDQ2Ni4yMTkgMTgyLjM0OCA0NTYuNjI5IDE5My4zNzUgNDQ0Ljg3N0MyMDAuMTk5IDQzNy42MDMgMjAxLjgwMSA0MzMuNTg2IDIwMS44NTMgNDIzLjYxOEMyMDEuODg3IDQxNy4wOTggMjAxLjY1OCA0MTUuNzMzIDE5OS44OTYgNDExLjk4MkMxOTcuMDI3IDQwNS44NzcgMTkxLjgwNCA0MDAuODAxIDE4MC4yOTIgMzkyLjkzMkMxNjUuMjA5IDM4Mi42MjEgMTU4Ljc2NyAzNzQuMzIgMTU2Ljk4NyAzNjIuOTA0QzE1NS41MjcgMzUzLjUzNyAxNTcuMjIxIDM0Ni45MjggMTY1LjU2NSAzMjkuNDRDMTc0LjIwMiAzMTEuMzM4IDE3Ni4zNDIgMzAzLjYyNCAxNzcuNzkgMjg1LjM3OEMxNzguNzI1IDI3My41ODkgMTgwLjAyIDI2OC45NCAxODMuNDA3IDI2NS4yMDlDMTg2LjkzOSAyNjEuMzE3IDE5MC4xMTkgMjYwIDE5OC44NjEgMjU4LjgwNUMyMTMuMTEzIDI1Ni44NTggMjIyLjE4OCAyNTMuMTcxIDIyOS42NDggMjQ2LjI5N0MyMzYuMTE5IDI0MC4zMzQgMjM4LjgyNyAyMzQuNTg4IDIzOS4yNDMgMjI1LjkzOEwyMzkuNTU4IDIxOS4zODJMMjM1Ljk0MiAyMTUuMTY2QzIyMi44NDYgMTk5Ljg5NiA0MC44NSAwIDQwLjA0NCAwQzM5Ljg3MTkgMCA0NC4xODEzIDUuNDAxNzggNDkuNjIwMiAxMi4wMDMxWk0xMzUuNDEyIDQwOS4xOEMxMzguMzczIDQwMy45MzcgMTM2LjggMzk3LjE5NSAxMzEuODQ3IDM5My45MDJDMTI3LjE2NyAzOTAuNzkgMTE5Ljg5NyAzOTIuMjU2IDExOS44OTcgMzk2LjMxMUMxMTkuODk3IDM5Ny41NDggMTIwLjU4MiAzOTguNDQ5IDEyMi4xMjQgMzk5LjI0M0MxMjQuNzIgNDAwLjU3OSAxMjQuOTA5IDQwMi4wODEgMTIyLjg2NiA0MDUuMTUyQzEyMC43OTcgNDA4LjI2MiAxMjAuOTY0IDQxMC45OTYgMTIzLjMzNyA0MTIuODU0QzEyNy4xNjIgNDE1Ljg0OSAxMzIuNTc2IDQxNC4yMDIgMTM1LjQxMiA0MDkuMThaIiBmaWxsPSIjRkYwMDdBIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjQ4LjU1MiAyNjIuMjQ0QzI0MS44NjIgMjY0LjI5OSAyMzUuMzU4IDI3MS4zOSAyMzMuMzQ0IDI3OC44MjZDMjMyLjExNiAyODMuMzYyIDIzMi44MTMgMjkxLjMxOSAyMzQuNjUzIDI5My43NzZDMjM3LjYyNSAyOTcuNzQ1IDI0MC40OTkgMjk4Ljc5MSAyNDguMjgyIDI5OC43MzZDMjYzLjUxOCAyOTguNjMgMjc2Ljc2NCAyOTIuMDk1IDI3OC4zMDQgMjgzLjkyNUMyNzkuNTY3IDI3Ny4yMjkgMjczLjc0OSAyNjcuOTQ4IDI2NS43MzYgMjYzLjg3NEMyNjEuNjAxIDI2MS43NzIgMjUyLjgwNyAyNjAuOTM4IDI0OC41NTIgMjYyLjI0NFpNMjY2LjM2NCAyNzYuMTcyQzI2OC43MTQgMjcyLjgzNCAyNjcuNjg2IDI2OS4yMjUgMjYzLjY5IDI2Ni43ODVDMjU2LjA4IDI2Mi4xMzggMjQ0LjU3MSAyNjUuOTgzIDI0NC41NzEgMjczLjE3M0MyNDQuNTcxIDI3Ni43NTIgMjUwLjU3MiAyODAuNjU2IDI1Ni4wNzQgMjgwLjY1NkMyNTkuNzM1IDI4MC42NTYgMjY0Ljc0NiAyNzguNDczIDI2Ni4zNjQgMjc2LjE3MloiIGZpbGw9IiNGRjAwN0EiLz4KPC9zdmc+Cg==",protocol:"uniswap_v2",slippage:!0,blockchains:["ethereum"],ethereum:{router:{address:"0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",api:QD.ROUTER},factory:{address:"0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",api:QD.FACTORY},pair:{api:QD.PAIR}}};var cO=e=>new OD(Object.assign(uO,{scope:e,findPath:e=>QD.findPath({...e,exchange:uO}),pathExists:e=>QD.pathExists({...e,exchange:uO}),getAmounts:e=>QD.getAmounts({...e,exchange:uO}),getPrep:e=>QD.getPrep({...e,exchange:uO}),getTransaction:e=>QD.getTransaction({...e,exchange:uO})}));function lO(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}const hO=({blockchain:e,exchange:t,path:n})=>{if(!n)return;let r=n.map(((t,r)=>t===Vf[e].currency.address&&n[r+1]!=Vf[e].wrapped.address&&n[r-1]!=Vf[e].wrapped.address?Vf[e].wrapped.address:t));return r[0]==Vf[e].currency.address&&r[1]==Vf[e].wrapped.address?r.splice(0,1):r[r.length-1]==Vf[e].currency.address&&r[r.length-2]==Vf[e].wrapped.address&&r.splice(r.length-1,1),r},dO=async({exchange:e,pool:t,outputAmount:n})=>(await _I({blockchain:t.blockchain,address:e[t.blockchain].quoter.address,api:e[t.blockchain].quoter.api,method:"quoteExactOutput",params:{path:iI(["address","uint24","address"],[t.path[1],t.fee,t.path[0]]),amountOut:n},cache:5})).amountIn,fO=async({exchange:e,pool:t,inputAmount:n})=>(await _I({blockchain:t.blockchain,address:e[t.blockchain].quoter.address,api:e[t.blockchain].quoter.api,method:"quoteExactInput",params:{path:iI(["address","uint24","address"],[t.path[0],t.fee,t.path[1]]),amountIn:n},cache:5})).amountOut,pO=async({blockchain:e,exchange:t,path:n,amountIn:r,amountOut:i,block:o})=>{if((n=hO({blockchain:e,exchange:t,path:n})).length>2)throw"Uniswap V3 can only check paths for up to 2 tokens!";try{let o=(await Promise.all(t.fees.map((r=>_I({blockchain:Vf[e].name,address:t[e].factory.address,method:"getPool",api:t[e].factory.api,cache:3600,params:[n[0],n[1],r]}).then((t=>({blockchain:e,address:t,path:n,fee:r,token0:[...n].sort()[0],token1:[...n].sort()[1]}))).catch((()=>{})))))).filter(Boolean);return o=o.filter((t=>t.address!=Vf[e].zero)),o=(await Promise.all(o.map((async e=>{try{let n;if(r){n=await fO({exchange:t,pool:e,inputAmount:r});const i=await fO({exchange:t,pool:e,inputAmount:Yp.from(r).mul(Yp.from(10)).toString()}),o=i.div(Yp.from(10)).sub(n).abs();if(!!o.gt(n.div(Yp.from(100)).mul(Yp.from(5))))return}else{n=await dO({exchange:t,pool:e,outputAmount:i});const r=await dO({exchange:t,pool:e,outputAmount:Yp.from(i).mul(Yp.from(10)).toString()}),o=r.div(Yp.from(10)).sub(n).abs();if(!!o.gt(n.div(Yp.from(100)).mul(Yp.from(5))))return}return{...e,amountIn:r||n,amountOut:i||n}}catch(e){}})))).filter(Boolean),r?o.sort(((e,t)=>t.amountOut.gt(e.amountOut)?1:-1))[0]:o.sort(((e,t)=>t.amountIn.lt(e.amountIn)?1:-1))[0]}catch(e){return}};let yO=({blockchain:e,exchange:t,path:n,pools:r,amountIn:i})=>r[r.length-1].amountOut,mO=async({blockchain:e,exchange:t,path:n,pools:r,amountOut:i,block:o})=>{if(void 0===o)return r[0].amountIn;{let n;2==r.length?n=iI(["address","uint24","address","uint24","address"],[r[1].path[1],r[1].fee,r[0].path[1],r[0].fee,r[0].path[0]]):1==r.length&&(n=iI(["address","uint24","address"],[r[0].path[1],r[0].fee,r[0].path[0]]));return(await _I({block:o,blockchain:e,address:t[e].quoter.address,api:t[e].quoter.api,method:"quoteExactOutput",params:{path:n,amountOut:i}})).amountIn}},gO=e=>{if(1==e.length)return iI(["address","uint24","address"],[e[0].path[0],e[0].fee,e[0].path[1]]);if(2==e.length)return iI(["address","uint24","address","uint24","address"],[e[0].path[0],e[0].fee,e[0].path[1],e[1].fee,e[1].path[1]]);throw"more than 2 pools not supported!"},vO=e=>{if(1==e.length)return iI(["address","uint24","address"],[e[0].path[1],e[0].fee,e[0].path[0]]);if(2==e.length)return iI(["address","uint24","address","uint24","address"],[e[1].path[1],e[1].fee,e[1].path[0],e[0].fee,e[0].path[0]]);throw"more than 2 pools not supported!"};var wO={findPath:async({blockchain:e,exchange:t,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s})=>{if([n,r].includes(Vf[e].currency.address)&&[n,r].includes(Vf[e].wrapped.address))return{path:void 0,exchangePath:void 0};let u,c=[];if(c=[await pO({exchange:t,blockchain:e,path:[n,r],amountIn:i||a,amountOut:o||s})],c.filter(Boolean).length&&(u=[n,r]),u||n==Vf[e].wrapped.address||r==Vf[e].wrapped.address||(c=[],o||s?(c.push(await pO({exchange:t,blockchain:e,path:[Vf[e].wrapped.address,r],amountOut:o||s})),c.filter(Boolean).length&&c.unshift(await pO({exchange:t,blockchain:e,path:[n,Vf[e].wrapped.address],amountOut:c[0].amountIn}))):(c.push(await pO({exchange:t,blockchain:e,path:[n,Vf[e].wrapped.address],amountIn:i||a})),c.filter(Boolean).length&&c.push(await pO({exchange:t,blockchain:e,path:[Vf[e].wrapped.address,r],amountIn:c[0].amountOut}))),2===c.filter(Boolean).length&&(u=[n,Vf[e].wrapped.address,r])),!u){c=[];let l=(await Promise.all(Vf[e].stables.usd.map((async u=>{let c=[];if(o||s?(c.push(await pO({exchange:t,blockchain:e,path:[u,r],amountOut:o||s})),c.filter(Boolean).length&&c.unshift(await pO({exchange:t,blockchain:e,path:[n,u],amountOut:c[0].amountIn}))):(c.push(await pO({exchange:t,blockchain:e,path:[n,u],amountIn:i||a})),c.filter(Boolean).length&&c.push(await pO({exchange:t,blockchain:e,path:[u,r],amountIn:c[0].amountOut}))),2===c.filter(Boolean).length)return[u,c]})))).filter(Boolean)[0];l&&(u=[n,l[0],r],c=l[1])}return lO([u,"optionalAccess",e=>e.length])&&u[0]==Vf[e].currency.address?u.splice(1,0,Vf[e].wrapped.address):lO([u,"optionalAccess",e=>e.length])&&u[u.length-1]==Vf[e].currency.address&&u.splice(u.length-1,0,Vf[e].wrapped.address),u||(c=[]),{path:u,pools:c,exchangePath:hO({blockchain:e,exchange:t,path:u})}},pathExists:async({blockchain:e,exchange:t,path:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a})=>{try{return!!await pO({blockchain:e,exchange:t,path:n,amountIn:r||o,amountOut:i||a})}catch(e){return!1}},getAmounts:async({blockchain:e,exchange:t,path:n,pools:r,block:i,tokenIn:o,tokenOut:a,amountOut:s,amountIn:u,amountInMax:c,amountOutMin:l})=>{if(s){if(null==(u=await mO({blockchain:e,exchange:t,block:i,path:n,pools:r,amountOut:s,tokenIn:o,tokenOut:a}))||c&&u.gt(c))return{};void 0===c&&(c=u)}else if(u){if(null==(s=await yO({blockchain:e,exchange:t,path:n,pools:r,amountIn:u,tokenIn:o,tokenOut:a}))||l&&s.lt(l))return{};void 0===l&&(l=s)}else if(l){if(null==(u=await mO({blockchain:e,exchange:t,block:i,path:n,pools:r,amountOut:l,tokenIn:o,tokenOut:a}))||c&&u.gt(c))return{};void 0===c&&(c=u)}else if(c){if(null==(s=await yO({blockchain:e,exchange:t,path:n,pools:r,amountIn:c,tokenIn:o,tokenOut:a}))||l&&s.lt(l))return{};void 0===l&&(l=s)}return{amountOut:s,amountIn:u,amountInMax:c,amountOutMin:l}},getPrep:async({exchange:e,blockchain:t,tokenIn:n,amountIn:r,account:i})=>{if(n===Vf[t].currency.address)return;const o=await _I({blockchain:t,address:n,method:"allowance",api:RS[t][20],params:[i,e[t].router.address]});if(o.gte(r))return;return{transaction:{blockchain:t,from:i,to:n,api:RS[t][20],method:"approve",params:[e[t].router.address,r.sub(o)]}}},getTransaction:async({blockchain:e,exchange:t,pools:n,path:r,amountIn:i,amountInMax:o,amountOut:a,amountOutMin:s,amountInInput:u,amountOutInput:c,amountInMaxInput:l,amountOutMinInput:h,account:d,inputTokenPushed:f})=>{let p="0";const y=new zM(t[e].router.address,t[e].router.api),m=!(!h&&!u),g=r[0]===Vf[e].currency.address,v=r[r.length-1]===Vf[e].currency.address,w=v?"0x0000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000001",b=g||v;let M=[];g&&(p=(i||o).toString(),m&&M.push(y.interface.encodeFunctionData("wrapETH",[i||o]))),m?M.push(y.interface.encodeFunctionData("exactInput",[{path:gO(n),amountIn:g?0:i||o,amountOutMinimum:s,recipient:w}])):M.push(y.interface.encodeFunctionData("exactOutput",[{path:vO(n),amountOut:a,amountInMaximum:o,recipient:w}])),v&&M.push(y.interface.encodeFunctionData("unwrapWETH9(uint256)",[a||s])),b&&M.push(y.interface.encodeFunctionData("refundETH"));return{blockchain:e,from:d,to:t[e].router.address,api:t[e].router.api,method:"multicall",params:{data:M},value:p}},ROUTER:[{inputs:[{internalType:"address",name:"_factoryV2",type:"address"},{internalType:"address",name:"factoryV3",type:"address"},{internalType:"address",name:"_positionManager",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveMax",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveMaxMinusOne",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveZeroThenMax",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveZeroThenMaxMinusOne",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"callPositionManager",outputs:[{internalType:"bytes",name:"result",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes[]",name:"paths",type:"bytes[]"},{internalType:"uint128[]",name:"amounts",type:"uint128[]"},{internalType:"uint24",name:"maximumTickDivergence",type:"uint24"},{internalType:"uint32",name:"secondsAgo",type:"uint32"}],name:"checkOracleSlippage",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint24",name:"maximumTickDivergence",type:"uint24"},{internalType:"uint32",name:"secondsAgo",type:"uint32"}],name:"checkOracleSlippage",outputs:[],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"}],internalType:"struct IV3SwapRouter.ExactInputParams",name:"params",type:"tuple"}],name:"exactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IV3SwapRouter.ExactInputSingleParams",name:"params",type:"tuple"}],name:"exactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"}],internalType:"struct IV3SwapRouter.ExactOutputParams",name:"params",type:"tuple"}],name:"exactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IV3SwapRouter.ExactOutputSingleParams",name:"params",type:"tuple"}],name:"exactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"factoryV2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"getApprovalType",outputs:[{internalType:"enum IApproveAndCall.ApprovalType",name:"",type:"uint8"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"}],internalType:"struct IApproveAndCall.IncreaseLiquidityParams",name:"params",type:"tuple"}],name:"increaseLiquidity",outputs:[{internalType:"bytes",name:"result",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],internalType:"struct IApproveAndCall.MintParams",name:"params",type:"tuple"}],name:"mint",outputs:[{internalType:"bytes",name:"result",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"previousBlockhash",type:"bytes32"},{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"positionManager",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"pull",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"refundETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowed",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowedIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"sweepTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"sweepTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"unwrapWETH9",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"}],name:"unwrapWETH9",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"unwrapWETH9WithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"unwrapWETH9WithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"}],name:"wrapETH",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],FACTORY:[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint24",name:"fee",type:"uint24"},{indexed:!0,internalType:"int24",name:"tickSpacing",type:"int24"}],name:"FeeAmountEnabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token0",type:"address"},{indexed:!0,internalType:"address",name:"token1",type:"address"},{indexed:!0,internalType:"uint24",name:"fee",type:"uint24"},{indexed:!1,internalType:"int24",name:"tickSpacing",type:"int24"},{indexed:!1,internalType:"address",name:"pool",type:"address"}],name:"PoolCreated",type:"event"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"}],name:"createPool",outputs:[{internalType:"address",name:"pool",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"int24",name:"tickSpacing",type:"int24"}],name:"enableFeeAmount",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint24",name:"",type:"uint24"}],name:"feeAmountTickSpacing",outputs:[{internalType:"int24",name:"",type:"int24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint24",name:"",type:"uint24"}],name:"getPool",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:"parameters",outputs:[{internalType:"address",name:"factory",type:"address"},{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"int24",name:"tickSpacing",type:"int24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_owner",type:"address"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"}],POOL:[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"int24",name:"tickLower",type:"int24"},{indexed:!0,internalType:"int24",name:"tickUpper",type:"int24"},{indexed:!1,internalType:"uint128",name:"amount",type:"uint128"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!0,internalType:"int24",name:"tickLower",type:"int24"},{indexed:!0,internalType:"int24",name:"tickUpper",type:"int24"},{indexed:!1,internalType:"uint128",name:"amount0",type:"uint128"},{indexed:!1,internalType:"uint128",name:"amount1",type:"uint128"}],name:"Collect",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint128",name:"amount0",type:"uint128"},{indexed:!1,internalType:"uint128",name:"amount1",type:"uint128"}],name:"CollectProtocol",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"},{indexed:!1,internalType:"uint256",name:"paid0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"paid1",type:"uint256"}],name:"Flash",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint16",name:"observationCardinalityNextOld",type:"uint16"},{indexed:!1,internalType:"uint16",name:"observationCardinalityNextNew",type:"uint16"}],name:"IncreaseObservationCardinalityNext",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint160",name:"sqrtPriceX96",type:"uint160"},{indexed:!1,internalType:"int24",name:"tick",type:"int24"}],name:"Initialize",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"int24",name:"tickLower",type:"int24"},{indexed:!0,internalType:"int24",name:"tickUpper",type:"int24"},{indexed:!1,internalType:"uint128",name:"amount",type:"uint128"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"feeProtocol0Old",type:"uint8"},{indexed:!1,internalType:"uint8",name:"feeProtocol1Old",type:"uint8"},{indexed:!1,internalType:"uint8",name:"feeProtocol0New",type:"uint8"},{indexed:!1,internalType:"uint8",name:"feeProtocol1New",type:"uint8"}],name:"SetFeeProtocol",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"int256",name:"amount0",type:"int256"},{indexed:!1,internalType:"int256",name:"amount1",type:"int256"},{indexed:!1,internalType:"uint160",name:"sqrtPriceX96",type:"uint160"},{indexed:!1,internalType:"uint128",name:"liquidity",type:"uint128"},{indexed:!1,internalType:"int24",name:"tick",type:"int24"}],name:"Swap",type:"event"},{inputs:[{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint128",name:"amount",type:"uint128"}],name:"burn",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint128",name:"amount0Requested",type:"uint128"},{internalType:"uint128",name:"amount1Requested",type:"uint128"}],name:"collect",outputs:[{internalType:"uint128",name:"amount0",type:"uint128"},{internalType:"uint128",name:"amount1",type:"uint128"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint128",name:"amount0Requested",type:"uint128"},{internalType:"uint128",name:"amount1Requested",type:"uint128"}],name:"collectProtocol",outputs:[{internalType:"uint128",name:"amount0",type:"uint128"},{internalType:"uint128",name:"amount1",type:"uint128"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"fee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeGrowthGlobal0X128",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeGrowthGlobal1X128",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"flash",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"observationCardinalityNext",type:"uint16"}],name:"increaseObservationCardinalityNext",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint160",name:"sqrtPriceX96",type:"uint160"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"liquidity",outputs:[{internalType:"uint128",name:"",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxLiquidityPerTick",outputs:[{internalType:"uint128",name:"",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint128",name:"amount",type:"uint128"},{internalType:"bytes",name:"data",type:"bytes"}],name:"mint",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"observations",outputs:[{internalType:"uint32",name:"blockTimestamp",type:"uint32"},{internalType:"int56",name:"tickCumulative",type:"int56"},{internalType:"uint160",name:"secondsPerLiquidityCumulativeX128",type:"uint160"},{internalType:"bool",name:"initialized",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32[]",name:"secondsAgos",type:"uint32[]"}],name:"observe",outputs:[{internalType:"int56[]",name:"tickCumulatives",type:"int56[]"},{internalType:"uint160[]",name:"secondsPerLiquidityCumulativeX128s",type:"uint160[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"positions",outputs:[{internalType:"uint128",name:"liquidity",type:"uint128"},{internalType:"uint256",name:"feeGrowthInside0LastX128",type:"uint256"},{internalType:"uint256",name:"feeGrowthInside1LastX128",type:"uint256"},{internalType:"uint128",name:"tokensOwed0",type:"uint128"},{internalType:"uint128",name:"tokensOwed1",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"protocolFees",outputs:[{internalType:"uint128",name:"token0",type:"uint128"},{internalType:"uint128",name:"token1",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"feeProtocol0",type:"uint8"},{internalType:"uint8",name:"feeProtocol1",type:"uint8"}],name:"setFeeProtocol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"slot0",outputs:[{internalType:"uint160",name:"sqrtPriceX96",type:"uint160"},{internalType:"int24",name:"tick",type:"int24"},{internalType:"uint16",name:"observationIndex",type:"uint16"},{internalType:"uint16",name:"observationCardinality",type:"uint16"},{internalType:"uint16",name:"observationCardinalityNext",type:"uint16"},{internalType:"uint8",name:"feeProtocol",type:"uint8"},{internalType:"bool",name:"unlocked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"}],name:"snapshotCumulativesInside",outputs:[{internalType:"int56",name:"tickCumulativeInside",type:"int56"},{internalType:"uint160",name:"secondsPerLiquidityInsideX128",type:"uint160"},{internalType:"uint32",name:"secondsInside",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"bool",name:"zeroForOne",type:"bool"},{internalType:"int256",name:"amountSpecified",type:"int256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[{internalType:"int256",name:"amount0",type:"int256"},{internalType:"int256",name:"amount1",type:"int256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int16",name:"",type:"int16"}],name:"tickBitmap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tickSpacing",outputs:[{internalType:"int24",name:"",type:"int24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int24",name:"",type:"int24"}],name:"ticks",outputs:[{internalType:"uint128",name:"liquidityGross",type:"uint128"},{internalType:"int128",name:"liquidityNet",type:"int128"},{internalType:"uint256",name:"feeGrowthOutside0X128",type:"uint256"},{internalType:"uint256",name:"feeGrowthOutside1X128",type:"uint256"},{internalType:"int56",name:"tickCumulativeOutside",type:"int56"},{internalType:"uint160",name:"secondsPerLiquidityOutsideX128",type:"uint160"},{internalType:"uint32",name:"secondsOutside",type:"uint32"},{internalType:"bool",name:"initialized",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"token0",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"token1",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],QUOTER:[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"quoteExactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint160[]",name:"sqrtPriceX96AfterList",type:"uint160[]"},{internalType:"uint32[]",name:"initializedTicksCrossedList",type:"uint32[]"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IQuoterV2.QuoteExactInputSingleParams",name:"params",type:"tuple"}],name:"quoteExactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint160",name:"sqrtPriceX96After",type:"uint160"},{internalType:"uint32",name:"initializedTicksCrossed",type:"uint32"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256",name:"amountOut",type:"uint256"}],name:"quoteExactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint160[]",name:"sqrtPriceX96AfterList",type:"uint160[]"},{internalType:"uint32[]",name:"initializedTicksCrossedList",type:"uint32[]"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IQuoterV2.QuoteExactOutputSingleParams",name:"params",type:"tuple"}],name:"quoteExactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint160",name:"sqrtPriceX96After",type:"uint160"},{internalType:"uint32",name:"initializedTicksCrossed",type:"uint32"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"path",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"view",type:"function"}],PERMIT2:[{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"AllowanceExpired",type:"error"},{inputs:[],name:"ExcessiveInvalidation",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"InsufficientAllowance",type:"error"},{inputs:[{internalType:"uint256",name:"maxAmount",type:"uint256"}],name:"InvalidAmount",type:"error"},{inputs:[],name:"InvalidContractSignature",type:"error"},{inputs:[],name:"InvalidNonce",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"InvalidSignatureLength",type:"error"},{inputs:[],name:"InvalidSigner",type:"error"},{inputs:[],name:"LengthMismatch",type:"error"},{inputs:[{internalType:"uint256",name:"signatureDeadline",type:"uint256"}],name:"SignatureExpired",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"spender",type:"address"}],name:"Lockdown",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint48",name:"newNonce",type:"uint48"},{indexed:!1,internalType:"uint48",name:"oldNonce",type:"uint48"}],name:"NonceInvalidation",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"},{indexed:!1,internalType:"uint48",name:"nonce",type:"uint48"}],name:"Permit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"uint256",name:"word",type:"uint256"},{indexed:!1,internalType:"uint256",name:"mask",type:"uint256"}],name:"UnorderedNonceInvalidation",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint48",name:"newNonce",type:"uint48"}],name:"invalidateNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"wordPos",type:"uint256"},{internalType:"uint256",name:"mask",type:"uint256"}],name:"invalidateUnorderedNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"}],internalType:"struct IAllowanceTransfer.TokenSpenderPair[]",name:"approvals",type:"tuple[]"}],name:"lockdown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"nonceBitmap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails[]",name:"details",type:"tuple[]"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitBatch",name:"permitBatch",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails",name:"details",type:"tuple"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitSingle",name:"permitSingle",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],internalType:"struct IAllowanceTransfer.AllowanceTransferDetails[]",name:"transferDetails",type:"tuple[]"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}]};const bO={name:"uniswap_v3",label:"Uniswap v3",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIGRhdGEtdGVzdGlkPSJ1bmlzd2FwLWxvZ28iIGNsYXNzPSJyZ3c2ZXo0NHAgcmd3NmV6NGVqIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMzUyNiAxOS45MjQyQzIwLjI5MjggMjAuMTU0OSAyMC4xODg1IDIwLjM3MTUgMjAuMDQ1NSAyMC41NjE4QzE5Ljc3OTMgMjAuOTA4OCAxOS40MjcgMjEuMTc5NCAxOS4wMjM5IDIxLjM0NjZDMTguNjYxNCAyMS41MDM1IDE4LjI3NzQgMjEuNjA1IDE3Ljg4NDkgMjEuNjQ3NUMxNy44MDQyIDIxLjY1NzggMTcuNzIwNiAyMS42NjQxIDE3LjYzOTUgMjEuNjcwM0wxNy42MjYzIDIxLjY3MTNDMTcuMzc3NyAyMS42ODA4IDE3LjEzODcgMjEuNzcgMTYuOTQ0MiAyMS45MjU4QzE2Ljc0OTcgMjIuMDgxNyAxNi42MSAyMi4yOTYgMTYuNTQ1NSAyMi41MzczQzE2LjUxNiAyMi42NTc0IDE2LjQ5NCAyMi43NzkyIDE2LjQ3OTggMjIuOTAyMUMxNi40NTcyIDIzLjA4NzQgMTYuNDQ1NiAyMy4yNzcxIDE2LjQzMyAyMy40ODIzQzE2LjQyNCAyMy42Mjk1IDE2LjQxNDQgMjMuNzg0OCAxNi40IDIzLjk1MjFDMTYuMzE1NiAyNC42MzM3IDE2LjExOTMgMjUuMjk2NSAxNS44MTkyIDI1LjkxMzZDMTUuNzU3OSAyNi4wNDMzIDE1LjY5NTQgMjYuMTY5MSAxNS42MzM5IDI2LjI5MjZDMTUuMzA0OSAyNi45NTQ2IDE1LjAwNzYgMjcuNTUyNiAxNS4wOTI5IDI4LjM1MzVDMTUuMTU5NyAyOC45NzA2IDE1LjQ3NDQgMjkuMzg0MSAxNS44OTI1IDI5LjgxMDZDMTYuMDkxMSAzMC4wMTQ2IDE2LjM1NDQgMzAuMTg4OSAxNi42Mjc3IDMwLjM2OTlDMTcuMzkyNyAzMC44NzYzIDE4LjIzNjEgMzEuNDM0NyAxNy45NTgyIDMyLjg0MTVDMTcuNzMwOCAzMy45ODE0IDE1Ljg0OTQgMzUuMTc3NiAxMy4yMDUgMzUuNTk1NEMxMy40NjE1IDM1LjU1NjMgMTIuODk2NSAzNC41ODc5IDEyLjgzMzggMzQuNDgwNEwxMi44MyAzNC40NzM5QzEyLjc1NzEgMzQuMzU5MiAxMi42ODI0IDM0LjI0NjIgMTIuNjA3OSAzNC4xMzM0TDEyLjYwNzkgMzQuMTMzNEwxMi42MDc4IDM0LjEzMzRDMTIuMzkyNiAzMy44MDc2IDEyLjE3ODMgMzMuNDgzNSAxMi4wMTExIDMzLjEyNDFDMTEuNTY5MyAzMi4xODU2IDExLjM2NDUgMzEuMDk5OCAxMS41NDU1IDMwLjA3MTRDMTEuNzA5NSAyOS4xNDA3IDEyLjMyMjEgMjguMzk3MiAxMi45MTE4IDI3LjY4MTNMMTIuOTExOCAyNy42ODEzQzEzLjAwOCAyNy41NjQ2IDEzLjEwMzUgMjcuNDQ4NyAxMy4xOTY0IDI3LjMzMjhDMTMuOTg1MiAyNi4zNDg4IDE0LjgxMjggMjUuMDU5NSAxNC45OTU5IDIzLjc4MjJDMTUuMDExNCAyMy42NzEyIDE1LjAyNTIgMjMuNTUwMiAxNS4wMzk3IDIzLjQyMjlMMTUuMDM5NyAyMy40MjI5TDE1LjAzOTcgMjMuNDIyOUMxNS4wNjU3IDIzLjE5NSAxNS4wOTM5IDIyLjk0NjkgMTUuMTM4MiAyMi42OTk3QzE1LjIwMzkgMjIuMjcyOCAxNS4zMzcxIDIxLjg1OTEgMTUuNTMyNiAyMS40NzQzQzE1LjY2NiAyMS4yMjIgMTUuODQxNyAyMC45OTQ2IDE2LjA1MiAyMC44MDIxQzE2LjE2MTYgMjAuNjk5OSAxNi4yMzM5IDIwLjU2MzcgMTYuMjU3NCAyMC40MTUzQzE2LjI4MDggMjAuMjY3IDE2LjI1NCAyMC4xMTUgMTYuMTgxMyAxOS45ODM3TDExLjk2NTggMTIuMzY3M0wxOC4wMjA3IDE5Ljg3MzNDMTguMDg5NyAxOS45NjAzIDE4LjE3NjggMjAuMDMxIDE4LjI3NiAyMC4wODAzQzE4LjM3NTIgMjAuMTI5NiAxOC40ODQgMjAuMTU2NCAxOC41OTQ2IDIwLjE1ODhDMTguNzA1MyAyMC4xNjEyIDE4LjgxNTEgMjAuMTM5MSAxOC45MTYzIDIwLjA5NEMxOS4wMTc1IDIwLjA0OSAxOS4xMDc2IDE5Ljk4MjEgMTkuMTgwMiAxOS44OTgyQzE5LjI1NjkgMTkuODA4NCAxOS4zMDA0IDE5LjY5NDcgMTkuMzAzMyAxOS41NzYzQzE5LjMwNjMgMTkuNDU4IDE5LjI2ODUgMTkuMzQyMyAxOS4xOTYzIDE5LjI0ODdDMTguOTE0OCAxOC44ODczIDE4LjYyMTggMTguNTIxIDE4LjMzMDIgMTguMTU2M0wxOC4zMyAxOC4xNTZDMTguMjEyIDE4LjAwODUgMTguMDk0MyAxNy44NjEzIDE3Ljk3NzYgMTcuNzE0OEwxNi40NTM5IDE1LjgyMDVMMTMuMzk1NyAxMi4wMzgyTDEwIDhMMTMuNzg4IDExLjY5OTRMMTcuMDQzMyAxNS4zMTQ5TDE4LjY2NzMgMTcuMTI3QzE4LjgxNjUgMTcuMjk1OCAxOC45NjU3IDE3LjQ2MzEgMTkuMTE0OCAxNy42MzAzQzE5LjUwNDQgMTguMDY3MSAxOS44OTQgMTguNTAzOSAyMC4yODM2IDE4Ljk2NzNMMjAuMzcyIDE5LjA3NTVMMjAuMzkxNCAxOS4yNDMzQzIwLjQxNzYgMTkuNDcwOCAyMC40MDQ1IDE5LjcwMTIgMjAuMzUyNiAxOS45MjQyWk0zNS45MjQ3IDIyLjQ2OTdMMzUuOTMxMSAyMi40Nzk1QzM1LjkzIDIxLjY3MTkgMzUuNDMyMiAyMC4zMzk0IDM0LjQyNDcgMTkuMDU3N0wzNC40MDEgMTkuMDI2M0MzNC4wOTA2IDE4LjY0MSAzMy43NTI0IDE4LjI3OTIgMzMuMzg5MSAxNy45NDM4QzMzLjMyMTIgMTcuODc3OCAzMy4yNDggMTcuODEyOCAzMy4xNzM2IDE3Ljc0NzlDMzIuNzA4MSAxNy4zNDAxIDMyLjE5OTMgMTYuOTg1IDMxLjY1NjQgMTYuNjg5MkwzMS42MTc2IDE2LjY2OTdDMjkuOTExOCAxNS43MzY2IDI3LjY5MiAxNS4yNTYgMjQuOTU0OSAxNS43OTcyQzI0LjU4NzMgMTUuMzQ4OSAyNC4xOTE0IDE0LjkyNDggMjMuNzY5NiAxNC41Mjc1QzIzLjEyMzYgMTMuOTA5MSAyMi4zNjMyIDEzLjQyNDEgMjEuNTMxNSAxMy4wOTk3QzIwLjcwNzIgMTIuNzk2NiAxOS44MjQ0IDEyLjY4ODQgMTguOTUxNyAxMi43ODM2QzE5Ljc5MjkgMTIuODU5NyAyMC42MTIzIDEzLjA5NDcgMjEuMzY2NiAxMy40NzY0QzIyLjA5NTEgMTMuODY4NSAyMi43NTEyIDE0LjM4MzMgMjMuMzA2MiAxNC45OTg0QzIzLjg2ODggMTUuNjI2MyAyNC4zOTc2IDE2LjI4MzkgMjQuODkwMyAxNi45Njg1TDI1LjAxMzkgMTcuMTMwMkMyNS40OTYgMTcuNzYwOSAyNS45ODY4IDE4LjQwMyAyNi41OTgyIDE4Ljk3NDRDMjYuOTM0OCAxOS4yOTI1IDI3LjMxMDMgMTkuNTY2NCAyNy43MTU3IDE5Ljc4OTVDMjcuODIzNCAxOS44NDQ3IDI3LjkzMjMgMTkuODk2NiAyOC4wMzkgMTkuOTQyMUMyOC4xNDU2IDE5Ljk4NzYgMjguMjQ1OCAyMC4wMjk4IDI4LjM1MzYgMjAuMDY4OEMyOC41NjE2IDIwLjE0OTkgMjguNzc3MSAyMC4yMTcxIDI4Ljk5MjYgMjAuMjc4OEMyOS44NTQ3IDIwLjUyNTYgMzAuNzM3MiAyMC42MTQzIDMxLjU5OTMgMjAuNjYyQzMxLjcxOTIgMjAuNjY4MyAzMS44Mzg5IDIwLjY3NDIgMzEuOTU4MSAyMC42ODAxTDMxLjk1ODMgMjAuNjgwMUMzMi4yNjYyIDIwLjY5NTQgMzIuNTcxMyAyMC43MTA1IDMyLjg3MTkgMjAuNzMyM0MzMy4yODM3IDIwLjc1NjkgMzMuNjkyMiAyMC44MjE0IDM0LjA5MTcgMjAuOTI1QzM0LjY5MTggMjEuMDgyMiAzNS4yMjAxIDIxLjQ0MTMgMzUuNTg4NSAyMS45NDI1QzM1LjcxMzcgMjIuMTA5NSAzNS44MjYxIDIyLjI4NTcgMzUuOTI0NyAyMi40Njk3Wk0zMy40MDEzIDE3Ljk0NTFDMzMuMzU4IDE3LjkwNDkgMzMuMzEzOSAxNy44NjUxIDMzLjI3IDE3LjgyNTRMMzMuMjcgMTcuODI1NEMzMy4yNDE4IDE3Ljc5OTkgMzMuMjEzNiAxNy43NzQ1IDMzLjE4NTggMTcuNzQ5MUMzMy4yMDczIDE3Ljc2ODggMzMuMjI4OCAxNy43ODg3IDMzLjI1MDMgMTcuODA4N0MzMy4zMDA5IDE3Ljg1NTYgMzMuMzUxNCAxNy45MDI1IDMzLjQwMTMgMTcuOTQ1MVpNMzIuMzIzOCAyNS45MTcyQzI5LjU1MTYgMjQuNzg3MiAyNi42NTE4IDIzLjYwNTEgMjcuMDgzNSAyMC4yODc1QzI4LjAwOTEgMjEuMjgwMiAyOS40NjIgMjEuNDg4NCAzMS4wNDIyIDIxLjcxNDlDMzIuNDc1NyAyMS45MjAzIDM0LjAxMzkgMjIuMTQwNyAzNS4zNTgzIDIyLjk3NTNDMzguNTMwNiAyNC45NDMzIDM4LjA2NzMgMjguNzY2NiAzNi45ODk3IDMwLjE3MzlDMzcuMDg2OSAyNy44NTg3IDM0Ljc1NDQgMjYuOTA4IDMyLjMyMzggMjUuOTE3MlpNMjEuMTU1MSAyNC4yNTY3QzIxLjg4NjggMjQuMTg2MyAyMy40NDYxIDIzLjgwNDIgMjIuNzQ4OSAyMi41NzEyQzIyLjU5ODkgMjIuMzIwNCAyMi4zODE1IDIyLjExNzIgMjIuMTIxNyAyMS45ODQ4QzIxLjg2MTkgMjEuODUyNSAyMS41NzAyIDIxLjc5NjUgMjEuMjgwMSAyMS44MjMyQzIwLjk4NTggMjEuODU1IDIwLjcwODIgMjEuOTc2OSAyMC40ODUyIDIyLjE3MjVDMjAuMjYyMiAyMi4zNjgxIDIwLjEwNDQgMjIuNjI3OCAyMC4wMzM0IDIyLjkxNjVDMTkuODE2OCAyMy43MjMgMjAuMDQ2MyAyNC4zNjQ5IDIxLjE1NTEgMjQuMjU2N1pNMjAuOTQ0OCAxNC41MDE0QzIwLjQ4NTggMTMuOTY4OCAxOS43NzM1IDEzLjY4OTUgMTkuMDc1MiAxMy41ODc4QzE5LjA0OTEgMTMuNzYyNSAxOS4wMzI2IDEzLjkzODUgMTkuMDI1NyAxNC4xMTVDMTguOTk0NCAxNS41Njg3IDE5LjUwODQgMTcuMTY1NCAyMC41MDMgMTguMjc1QzIwLjgyMTIgMTguNjMzNyAyMS4yMDQ5IDE4LjkyNzYgMjEuNjMzNCAxOS4xNDFDMjEuODgxMiAxOS4yNjIyIDIyLjUzODYgMTkuNTYzMSAyMi43ODIxIDE5LjI5MjVDMjIuODAwNiAxOS4yNjc3IDIyLjgxMjMgMTkuMjM4NCAyMi44MTU5IDE5LjIwNzZDMjIuODE5NSAxOS4xNzY4IDIyLjgxNDkgMTkuMTQ1NiAyMi44MDI2IDE5LjExNzJDMjIuNzYyMiAxOS4wMDEzIDIyLjY4NDMgMTguODk2MSAyMi42MDY5IDE4Ljc5MTdDMjIuNTUyIDE4LjcxNzcgMjIuNDk3NCAxOC42NDQxIDIyLjQ1NjcgMTguNTY3MkMyMi40MTU1IDE4LjQ4OTggMjIuMzcxNCAxOC40MTQyIDIyLjMyNzQgMTguMzM4OEwyMi4zMjc0IDE4LjMzODhDMjIuMjQ0NyAxOC4xOTcgMjIuMTYyMiAxOC4wNTU1IDIyLjA5ODkgMTcuOTAxNUMyMS45MzE5IDE3LjQ5ODQgMjEuODQ1IDE3LjA2OTggMjEuNzU4MyAxNi42NDI1TDIxLjc1ODMgMTYuNjQyNEwyMS43NTgzIDE2LjY0MjRMMjEuNzU4MyAxNi42NDIzTDIxLjc1ODIgMTYuNjQyMkwyMS43NTgyIDE2LjY0MjFMMjEuNzU4MiAxNi42NDJDMjEuNzQwOSAxNi41NTY2IDIxLjcyMzYgMTYuNDcxMiAyMS43MDU2IDE2LjM4NkMyMS41NzMxIDE1LjcyNjggMjEuNDAzOSAxNS4wMzQgMjAuOTQ0OCAxNC41MDE0Wk0zMC43NTI0IDI2LjA5OEMzMC4wNDAzIDI4LjA5NDMgMzEuMTg4OCAyOS43ODA0IDMyLjMzMDYgMzEuNDU2NkMzMy42MDc3IDMzLjMzMTUgMzQuODc2NCAzNS4xOTQgMzMuNTIyOCAzNy40NjQyQzM2LjE1MzIgMzYuMzczMSAzNy40MDIxIDMzLjA3NjkgMzYuMzEwNSAzMC40NjE2QzM1LjYyMjcgMjguODA3NCAzMy45NjQ5IDI3LjkxMDYgMzIuNDI2MSAyNy4wNzgzTDMyLjQyNjEgMjcuMDc4M0wzMi40MjYgMjcuMDc4MkMzMS44MjkgMjYuNzU1MyAzMS4yNDk5IDI2LjQ0MjEgMzAuNzUyNCAyNi4wOThaTTIzLjA1NTIgMzAuODYzM0MyMi41Nzg1IDMxLjA1ODcgMjIuMTI5IDMxLjMxNTIgMjEuNzE3OSAzMS42MjY1QzIyLjY1MjcgMzEuMjg1OSAyMy42MzM5IDMxLjA5MTQgMjQuNjI3NCAzMS4wNDk1QzI0LjgwNzQgMzEuMDM4OCAyNC45ODg3IDMxLjAzMDQgMjUuMTcxNSAzMS4wMjE5TDI1LjE3MTcgMzEuMDIxOUwyNS4xNzIgMzEuMDIxOUMyNS40ODc4IDMxLjAwNzMgMjUuODA4NSAzMC45OTI1IDI2LjEzNiAzMC45NjUxQzI2LjY3MjkgMzAuOTI4NSAyNy4yMDI1IDMwLjgxOTIgMjcuNzEwMyAzMC42NDAzQzI4LjI0MjUgMzAuNDUzMyAyOC43MjY4IDMwLjE1MDEgMjkuMTI4NCAyOS43NTI3QzI5LjUzNDIgMjkuMzQyNCAyOS44MTg4IDI4LjgyNzIgMjkuOTUwNiAyOC4yNjQyQzMwLjA2NjYgMjcuNzMyNCAzMC4wNTAzIDI3LjE4MDEgMjkuOTAzMiAyNi42NTYyQzI5Ljc1NiAyNi4xMzIyIDI5LjQ4MjUgMjUuNjUyOCAyOS4xMDY5IDI1LjI2MDNDMjkuMjg4MSAyNS43MjIxIDI5LjM5OTYgMjYuMjA4NCAyOS40Mzc3IDI2LjcwMzNDMjkuNDcwNSAyNy4xNjQgMjkuNDA4MSAyNy42MjY1IDI5LjI1NDUgMjguMDYxOEMyOS4xMDQ1IDI4LjQ3NDQgMjguODU5MyAyOC44NDU0IDI4LjUzOSAyOS4xNDQzQzI4LjIwODEgMjkuNDQ2MiAyNy44MjUgMjkuNjg0NiAyNy40MDg2IDI5Ljg0NzlDMjYuODI5OSAzMC4wODIxIDI2LjE3NTUgMzAuMTc3OSAyNS40OTM5IDMwLjI3NzdDMjUuMTgzIDMwLjMyMzIgMjQuODY2NCAzMC4zNjk2IDI0LjU0ODcgMzAuNDMwM0MyNC4wMzc4IDMwLjUyNDMgMjMuNTM3NCAzMC42Njk0IDIzLjA1NTIgMzAuODYzM1pNMzEuMzE4NyAzOS4xMDQ2TDMxLjI3MyAzOS4xNDE1TDMxLjI3MyAzOS4xNDE2QzMxLjE1MjUgMzkuMjM4OSAzMS4wMzAxIDM5LjMzNzkgMzAuODk4MiAzOS40MjY4QzMwLjczMDEgMzkuNTM4IDMwLjU1NCAzOS42MzY1IDMwLjM3MTMgMzkuNzIxMkMyOS45OTA4IDM5LjkwNzcgMjkuNTcyNiA0MC4wMDI5IDI5LjE0OTMgMzkuOTk5NEMyOC4wMDI4IDM5Ljk3NzggMjcuMTkyNCAzOS4xMjA1IDI2LjcxODMgMzguMTUxNkMyNi41OTQgMzcuODk3NyAyNi40ODQ1IDM3LjYzNTkgMjYuMzc1IDM3LjM3NDFMMjYuMzc1IDM3LjM3NDFDMjYuMTk5NyAzNi45NTUxIDI2LjAyNDQgMzYuNTM2MSAyNS43ODgzIDM2LjE0OUMyNS4yMzk5IDM1LjI0OTUgMjQuMzAxMyAzNC41MjUzIDIzLjIwMjIgMzQuNjU5NUMyMi43NTM5IDM0LjcxNTggMjIuMzMzNiAzNC45MTgyIDIyLjA4NDcgMzUuMzA5QzIxLjQyOTUgMzYuMzI5OCAyMi4zNzAzIDM3Ljc1OTggMjMuNTY5NiAzNy41NTczQzIzLjY3MTYgMzcuNTQxNyAyMy43NzE0IDM3LjUxNDEgMjMuODY3IDM3LjQ3NTFDMjMuOTYyMyAzNy40MzQzIDI0LjA1MTIgMzcuMzggMjQuMTMxIDM3LjMxMzhDMjQuMjk4NiAzNy4xNzM2IDI0LjQyNDggMzYuOTkwMyAyNC40OTYzIDM2Ljc4MzRDMjQuNTc1MSAzNi41Njc2IDI0LjU5MjYgMzYuMzM0MSAyNC41NDcgMzYuMTA5QzI0LjQ5NzggMzUuODczNiAyNC4zNTk0IDM1LjY2NjggMjQuMTYxMiAzNS41MzJDMjQuMzkxNyAzNS42NDA0IDI0LjU3MTMgMzUuODM0NSAyNC42NjIzIDM2LjA3MzJDMjQuNzU2NiAzNi4zMTkgMjQuNzgwOSAzNi41ODYyIDI0LjczMjMgMzYuODQ1MUMyNC42ODUyIDM3LjExNDcgMjQuNTY2OSAzNy4zNjY3IDI0LjM4OTYgMzcuNTc0N0MyNC4yOTU1IDM3LjY4MTYgMjQuMTg2NiAzNy43NzQ2IDI0LjA2NjQgMzcuODUwN0MyMy45NDcyIDM3LjkyNTkgMjMuODE5NSAzNy45ODY2IDIzLjY4NiAzOC4wMzE1QzIzLjQxNTMgMzguMTI0NCAyMy4xMjcyIDM4LjE1NDQgMjIuODQzMyAzOC4xMTkyQzIyLjQ0NDcgMzguMDYyMSAyMi4wNjg4IDM3Ljg5ODMgMjEuNzU1IDM3LjY0NUMyMS42OTcgMzcuNTk5IDIxLjY0MTQgMzcuNTUwOCAyMS41ODc1IDM3LjUwMDhDMjEuMzc0IDM3LjMxNTggMjEuMTgwMiAzNy4xMDg3IDIxLjAwOTMgMzYuODgyOUMyMC45MzI2IDM2Ljc5ODEgMjAuODU0NyAzNi43MTQ0IDIwLjc3MzMgMzYuNjM0QzIwLjM4OTEgMzYuMjI5IDE5LjkzNTggMzUuODk2NSAxOS40MzQ5IDM1LjY1MjJDMTkuMDg5NSAzNS40OTk4IDE4LjcyOCAzNS4zODcyIDE4LjM1NzQgMzUuMzE2NkMxOC4xNzA5IDM1LjI3NzYgMTcuOTgyNCAzNS4yNDk1IDE3Ljc5MzggMzUuMjI1N0MxNy43NzMzIDM1LjIyMzYgMTcuNzM0IDM1LjIxNjcgMTcuNjg1IDM1LjIwODJMMTcuNjg0NyAzNS4yMDgxTDE3LjY4NDYgMzUuMjA4MUwxNy42ODQ2IDM1LjIwODFMMTcuNjg0NiAzNS4yMDgxTDE3LjY4NDUgMzUuMjA4MUMxNy41MjcxIDM1LjE4MDYgMTcuMjcxMSAzNS4xMzYgMTcuMjI1OSAzNS4xNzhDMTcuODA4OCAzNC42MzkgMTguNDQ0MSAzNC4xNjAzIDE5LjEyMjQgMzMuNzQ5MUMxOS44MTg5IDMzLjMzNCAyMC41NjY3IDMzLjAxMjYgMjEuMzQ2NiAzMi43OTMzQzIyLjE1NTEgMzIuNTY0NyAyMy4wMDA5IDMyLjQ5OTUgMjMuODM0NyAzMi42MDE3QzI0LjI2MzkgMzIuNjUzNSAyNC42ODQzIDMyLjc2MjcgMjUuMDg0NyAzMi45MjY0QzI1LjUwNDIgMzMuMDk0OCAyNS44OTE0IDMzLjMzNTEgMjYuMjI5MSAzMy42MzY2QzI2LjU2MzIgMzMuOTUyOCAyNi44MzMzIDM0LjMzMTEgMjcuMDI0MyAzNC43NTA0QzI3LjE5NjggMzUuMTQzMSAyNy4zMjU0IDM1LjU1MzcgMjcuNDA3OSAzNS45NzQ3QzI3LjQ1MjEgMzYuMjAxMyAyNy40ODU1IDM2LjQ1MDIgMjcuNTE5OSAzNi43MDc5TDI3LjUyIDM2LjcwNzlMMjcuNTIgMzYuNzA4TDI3LjUyIDM2LjcwOEMyNy42NzcxIDM3Ljg4MjMgMjcuODU4NSAzOS4yMzcyIDI5LjIwNDMgMzkuNDczM0MyOS4yODk4IDM5LjQ5IDI5LjM3NjEgMzkuNTAyMyAyOS40NjI5IDM5LjUxMDJMMjkuNzMxMiAzOS41MTY2QzI5LjkxNTcgMzkuNTAzNCAzMC4wOTkgMzkuNDc3IDMwLjI3OTcgMzkuNDM3NkMzMC42NTQxIDM5LjM0OTIgMzEuMDE5IDM5LjIyNDEgMzEuMzY5MSAzOS4wNjQyTDMxLjMxODcgMzkuMTA0NlpNMjEuMDgwMSAzNi45NjE5QzIxLjExMjMgMzYuOTk4OSAyMS4xNDQ5IDM3LjAzNTUgMjEuMTc3OSAzNy4wNzE4QzIxLjE2NDQgMzcuMDU2NyAyMS4xNTEgMzcuMDQxNSAyMS4xMzc1IDM3LjAyNjRMMjEuMTM3NSAzNy4wMjY0TDIxLjEzNzUgMzcuMDI2NEwyMS4xMzc1IDM3LjAyNjRDMjEuMTE4NCAzNy4wMDQ5IDIxLjA5OTMgMzYuOTgzNCAyMS4wODAxIDM2Ljk2MTlaIiBmaWxsPSJjdXJyZW50Q29sb3IiPjwvcGF0aD48L3N2Zz4K",protocol:"uniswap_v3",slippage:!0,fees:[100,500,3e3,1e4],blockchains:["ethereum","bsc","polygon","optimism","arbitrum","base","avalanche","worldchain"],ethereum:{router:{address:"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",api:wO.ROUTER},factory:{address:"0x1F98431c8aD98523631AE4a59f267346ea31F984",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}},bsc:{router:{address:"0xB971eF87ede563556b2ED4b1C0b0019111Dd85d2",api:wO.ROUTER},factory:{address:"0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0x78D78E420Da98ad378D7799bE8f4AF69033EB077",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}},polygon:{router:{address:"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",api:wO.ROUTER},factory:{address:"0x1F98431c8aD98523631AE4a59f267346ea31F984",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}},optimism:{router:{address:"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",api:wO.ROUTER},factory:{address:"0x1F98431c8aD98523631AE4a59f267346ea31F984",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}},arbitrum:{router:{address:"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",api:wO.ROUTER},factory:{address:"0x1F98431c8aD98523631AE4a59f267346ea31F984",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}},base:{router:{address:"0x2626664c2603336E57B271c5C0b26F421741e481",api:wO.ROUTER},factory:{address:"0x33128a8fC17869897dcE68Ed026d694621f6FDfD",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}},avalanche:{router:{address:"0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE",api:wO.ROUTER},factory:{address:"0x740b1c1de25031C31FF4fC9A62f554A55cdC1baD",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0xbe0F5544EC67e9B3b2D979aaA43f18Fd87E6257F",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}},worldchain:{router:{address:"0x091AD9e2e6e5eD44c1c66dB50e49A601F9f36cF6",api:wO.ROUTER},factory:{address:"0x7a5028BDa40e7B173C278C5342087826455ea25a",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0x10158D43e6cc414deE1Bd1eB0EfC6a5cBCfF244c",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}}};var MO=e=>new OD(Object.assign(bO,{scope:e,findPath:e=>wO.findPath({...e,exchange:bO}),pathExists:e=>wO.pathExists({...e,exchange:bO}),getAmounts:e=>wO.getAmounts({...e,exchange:bO}),getPrep:e=>wO.getPrep({...e,exchange:bO}),getTransaction:e=>wO.getTransaction({...e,exchange:bO})}));var AO={findPath:async({blockchain:e,tokenIn:t,tokenOut:n})=>{if(![t,n].includes(Vf[e].currency.address)||![t,n].includes(Vf[e].wrapped.address))return{path:void 0,exchangePath:void 0};let r=[t,n];return{path:r,exchangePath:r}},pathExists:async({blockchain:e,path:t})=>!(!t||2!==t.length)&&(t.includes(Vf[e].currency.address)&&t.includes(Vf[e].wrapped.address)),getAmounts:async({path:e,block:t,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>(i?o=a=s=i:o?i=a=s=o:s?o=a=i=s:a&&(i=s=o=a),{amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({exchange:e,blockchain:t,path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,account:h})=>{let d={blockchain:t,from:h,to:e[t].router.address,api:e[t].router.api};return n[0]===Vf[t].currency.address&&n[1]===Vf[t].wrapped.address?(d.method="deposit",d.value=r.toString(),d):n[0]===Vf[t].wrapped.address&&n[1]===Vf[t].currency.address?(d.method="withdraw",d.value=0,d.params={wad:r},d):void 0},WETH:[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"guy",type:"address"},{name:"wad",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:"src",type:"address"},{name:"dst",type:"address"},{name:"wad",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"wad",type:"uint256"}],name:"withdraw",outputs:[],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:"",type:"address"}],name:"balanceOf",outputs:[{name:"",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:"dst",type:"address"},{name:"wad",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"deposit",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"},{name:"",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:"src",type:"address"},{indexed:!0,name:"guy",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!0,name:"dst",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"dst",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Withdrawal",type:"event"}]};const IO={name:"wavax",label:"Wrapped Avax",logo:Vf.avalanche.wrapped.logo,protocol:"weth",slippage:!1,blockchains:["avalanche"],avalanche:{router:{address:Vf.avalanche.wrapped.address,api:AO.WETH}}};var NO=e=>new OD(Object.assign(IO,{scope:e,findPath:e=>AO.findPath({...e,exchange:IO}),pathExists:e=>AO.pathExists({...e,exchange:IO}),getAmounts:e=>AO.getAmounts({...e,exchange:IO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:IO})}));const TO={name:"wbnb",label:"Wrapped BNB",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxOTIgMTkyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOTIgMTkyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6I0YwQjkwQjt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01NCw0MS4xbDQyLTI0LjJsNDIsMjQuMmwtMTUuNCw4LjlMOTYsMzQuOUw2OS40LDUwTDU0LDQxLjF6IE0xMzgsNzEuN2wtMTUuNC04LjlMOTYsNzhMNjkuNCw2Mi43bC0xNS40LDl2MTgKCUw4MC42LDEwNXYzMC41bDE1LjQsOWwxNS40LTlWMTA1TDEzOCw4OS43VjcxLjd6IE0xMzgsMTIwLjN2LTE4bC0xNS40LDguOXYxOEMxMjIuNiwxMjkuMSwxMzgsMTIwLjMsMTM4LDEyMC4zeiBNMTQ4LjksMTI2LjQKCWwtMjYuNiwxNS4zdjE4bDQyLTI0LjJWODdsLTE1LjQsOUMxNDguOSw5NiwxNDguOSwxMjYuNCwxNDguOSwxMjYuNHogTTEzMy41LDU2LjRsMTUuNCw5djE4bDE1LjQtOXYtMThsLTE1LjQtOUwxMzMuNSw1Ni40CglMMTMzLjUsNTYuNHogTTgwLjYsMTQ4LjN2MThsMTUuNCw5bDE1LjQtOXYtMThMOTYsMTU3LjFMODAuNiwxNDguM3ogTTU0LDEyMC4zbDE1LjQsOXYtMTguMUw1NCwxMDIuM0w1NCwxMjAuM0w1NCwxMjAuM3oKCSBNODAuNiw1Ni40bDE1LjQsOWwxNS40LTlMOTYsNDcuNUM5Niw0Ny40LDgwLjYsNTYuNCw4MC42LDU2LjRMODAuNiw1Ni40eiBNNDMuMSw2NS40bDE1LjQtOWwtMTUuNC05bC0xNS40LDl2MThsMTUuNCw5TDQzLjEsNjUuNAoJTDQzLjEsNjUuNHogTTQzLjEsOTUuOUwyNy43LDg3djQ4LjVsNDIsMjQuMnYtMThsLTI2LjYtMTUuM1Y5NS45TDQzLjEsOTUuOXoiLz4KPC9zdmc+Cg==",slippage:!1,blockchains:["bsc"],bsc:{router:{address:Vf.bsc.wrapped.address,api:AO.WETH}}};var EO=e=>new OD(Object.assign(TO,{scope:e,findPath:e=>AO.findPath({...e,exchange:TO}),pathExists:e=>AO.pathExists({...e,exchange:TO}),getAmounts:e=>AO.getAmounts({...e,exchange:TO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:TO})}));const xO={name:"weth",label:"Wrapped Ethereum",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgzLjUgMjgzLjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMzQzNDM0O30KCS5zdDF7ZmlsbDojOEM4QzhDO30KCS5zdDJ7ZmlsbDojM0MzQzNCO30KCS5zdDN7ZmlsbDojMTQxNDE0O30KCS5zdDR7ZmlsbDojMzkzOTM5O30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQxLjcsMjUuOWwtMS41LDUuMnYxNTMuM2wxLjUsMS41bDcxLjItNDIuMUwxNDEuNywyNS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNS45TDcwLjYsMTQzLjhsNzEuMSw0Mi4xdi03NC40VjI1Ljl6Ii8+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE0MS43LDE5OS40bC0wLjgsMS4xdjU0LjZsMC44LDIuNWw3MS4yLTEwMC4zTDE0MS43LDE5OS40eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNTcuNnYtNTguMmwtNzEuMS00Mi4xTDE0MS43LDI1Ny42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNDEuNywxODUuOWw3MS4yLTQyLjFsLTcxLjItMzIuM1YxODUuOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNzAuNiwxNDMuOGw3MS4xLDQyLjF2LTc0LjRMNzAuNiwxNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",protocol:"weth",slippage:!1,blockchains:["ethereum"],ethereum:{router:{address:Vf.ethereum.wrapped.address,api:AO.WETH}}};var kO=e=>new OD(Object.assign(xO,{scope:e,findPath:e=>AO.findPath({...e,exchange:xO}),pathExists:e=>AO.pathExists({...e,exchange:xO}),getAmounts:e=>AO.getAmounts({...e,exchange:xO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:xO})}));const LO={name:"weth_arbitrum",label:"Wrapped Ethereum",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgzLjUgMjgzLjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMzQzNDM0O30KCS5zdDF7ZmlsbDojOEM4QzhDO30KCS5zdDJ7ZmlsbDojM0MzQzNCO30KCS5zdDN7ZmlsbDojMTQxNDE0O30KCS5zdDR7ZmlsbDojMzkzOTM5O30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQxLjcsMjUuOWwtMS41LDUuMnYxNTMuM2wxLjUsMS41bDcxLjItNDIuMUwxNDEuNywyNS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNS45TDcwLjYsMTQzLjhsNzEuMSw0Mi4xdi03NC40VjI1Ljl6Ii8+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE0MS43LDE5OS40bC0wLjgsMS4xdjU0LjZsMC44LDIuNWw3MS4yLTEwMC4zTDE0MS43LDE5OS40eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNTcuNnYtNTguMmwtNzEuMS00Mi4xTDE0MS43LDI1Ny42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNDEuNywxODUuOWw3MS4yLTQyLjFsLTcxLjItMzIuM1YxODUuOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNzAuNiwxNDMuOGw3MS4xLDQyLjF2LTc0LjRMNzAuNiwxNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",protocol:"weth",slippage:!1,blockchains:["arbitrum"],arbitrum:{router:{address:Vf.arbitrum.wrapped.address,api:AO.WETH}}};var SO=e=>new OD(Object.assign(LO,{scope:e,findPath:e=>AO.findPath({...e,exchange:LO}),pathExists:e=>AO.pathExists({...e,exchange:LO}),getAmounts:e=>AO.getAmounts({...e,exchange:LO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:LO})}));const jO={name:"weth_optimism",label:"Wrapped Ethereum",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgzLjUgMjgzLjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMzQzNDM0O30KCS5zdDF7ZmlsbDojOEM4QzhDO30KCS5zdDJ7ZmlsbDojM0MzQzNCO30KCS5zdDN7ZmlsbDojMTQxNDE0O30KCS5zdDR7ZmlsbDojMzkzOTM5O30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQxLjcsMjUuOWwtMS41LDUuMnYxNTMuM2wxLjUsMS41bDcxLjItNDIuMUwxNDEuNywyNS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNS45TDcwLjYsMTQzLjhsNzEuMSw0Mi4xdi03NC40VjI1Ljl6Ii8+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE0MS43LDE5OS40bC0wLjgsMS4xdjU0LjZsMC44LDIuNWw3MS4yLTEwMC4zTDE0MS43LDE5OS40eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNTcuNnYtNTguMmwtNzEuMS00Mi4xTDE0MS43LDI1Ny42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNDEuNywxODUuOWw3MS4yLTQyLjFsLTcxLjItMzIuM1YxODUuOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNzAuNiwxNDMuOGw3MS4xLDQyLjF2LTc0LjRMNzAuNiwxNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",protocol:"weth",slippage:!1,blockchains:["optimism"],optimism:{router:{address:Vf.optimism.wrapped.address,api:AO.WETH}}};var DO=e=>new OD(Object.assign(jO,{scope:e,findPath:e=>AO.findPath({...e,exchange:jO}),pathExists:e=>AO.pathExists({...e,exchange:jO}),getAmounts:e=>AO.getAmounts({...e,exchange:jO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:jO})}));const CO={name:"weth_base",label:"Wrapped Ethereum",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgzLjUgMjgzLjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMzQzNDM0O30KCS5zdDF7ZmlsbDojOEM4QzhDO30KCS5zdDJ7ZmlsbDojM0MzQzNCO30KCS5zdDN7ZmlsbDojMTQxNDE0O30KCS5zdDR7ZmlsbDojMzkzOTM5O30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQxLjcsMjUuOWwtMS41LDUuMnYxNTMuM2wxLjUsMS41bDcxLjItNDIuMUwxNDEuNywyNS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNS45TDcwLjYsMTQzLjhsNzEuMSw0Mi4xdi03NC40VjI1Ljl6Ii8+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE0MS43LDE5OS40bC0wLjgsMS4xdjU0LjZsMC44LDIuNWw3MS4yLTEwMC4zTDE0MS43LDE5OS40eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNTcuNnYtNTguMmwtNzEuMS00Mi4xTDE0MS43LDI1Ny42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNDEuNywxODUuOWw3MS4yLTQyLjFsLTcxLjItMzIuM1YxODUuOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNzAuNiwxNDMuOGw3MS4xLDQyLjF2LTc0LjRMNzAuNiwxNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",protocol:"weth",slippage:!1,blockchains:["base"],base:{router:{address:Vf.base.wrapped.address,api:AO.WETH}}};var OO=e=>new OD(Object.assign(CO,{scope:e,findPath:e=>AO.findPath({...e,exchange:CO}),pathExists:e=>AO.pathExists({...e,exchange:CO}),getAmounts:e=>AO.getAmounts({...e,exchange:CO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:CO})}));const zO={name:"wftm",label:"Wrapped Fantom",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTkyIDE5MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTkyIDE5MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8ZyBpZD0iY2lyY2xlIj4KCTxnIGlkPSJGYW50b20tY2lyY2xlIj4KCQk8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsUnVsZT0iZXZlbm9kZCIgY2xpcFJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMxOTY5RkYiIGNsYXNzPSJzdDAiIGN4PSI5NiIgY3k9Ijk2IiByPSI4MC40Ii8+CgkJPHBhdGggaWQ9IlNoYXBlIiBmaWxsPSIjRkZGRkZGIiBkPSJNOTEuMSw0MS4yYzIuNy0xLjQsNi44LTEuNCw5LjUsMGwyNy42LDE0LjZjMS42LDAuOSwyLjUsMi4xLDIuNywzLjVoMHY3My4zCgkJCWMwLDEuNC0wLjksMi45LTIuNywzLjhsLTI3LjYsMTQuNmMtMi43LDEuNC02LjgsMS40LTkuNSwwbC0yNy42LTE0LjZjLTEuOC0wLjktMi42LTIuNC0yLjctMy44YzAtMC4xLDAtMC4zLDAtMC40bDAtNzIuNAoJCQljMC0wLjEsMC0wLjIsMC0wLjNsMC0wLjJoMGMwLjEtMS4zLDEtMi42LDIuNi0zLjVMOTEuMSw0MS4yeiBNMTI2LjYsOTkuOWwtMjYsMTMuN2MtMi43LDEuNC02LjgsMS40LTkuNSwwTDY1LjIsMTAwdjMyLjMKCQkJbDI1LjksMTMuNmMxLjUsMC44LDMuMSwxLjYsNC43LDEuN2wwLjEsMGMxLjUsMCwzLTAuOCw0LjYtMS41bDI2LjItMTMuOVY5OS45eiBNNTYuNSwxMzAuOWMwLDIuOCwwLjMsNC43LDEsNgoJCQljMC41LDEuMSwxLjMsMS45LDIuOCwyLjlsMC4xLDAuMWMwLjMsMC4yLDAuNywwLjQsMS4xLDAuN2wwLjUsMC4zbDEuNiwwLjlsLTIuMiwzLjdsLTEuNy0xLjFsLTAuMy0wLjJjLTAuNS0wLjMtMC45LTAuNi0xLjMtMC44CgkJCWMtNC4yLTIuOC01LjctNS45LTUuNy0xMi4zbDAtMC4ySDU2LjV6IE05My44LDgwLjVjLTAuMiwwLjEtMC40LDAuMS0wLjYsMC4yTDY1LjYsOTUuM2MwLDAtMC4xLDAtMC4xLDBsMCwwbDAsMGwwLjEsMGwyNy42LDE0LjYKCQkJYzAuMiwwLjEsMC40LDAuMiwwLjYsMC4yVjgwLjV6IE05OC4yLDgwLjV2MjkuOGMwLjItMC4xLDAuNC0wLjEsMC42LTAuMmwyNy42LTE0LjZjMCwwLDAuMSwwLDAuMSwwbDAsMGwwLDBsLTAuMSwwTDk4LjgsODAuNwoJCQlDOTguNiw4MC42LDk4LjQsODAuNSw5OC4yLDgwLjV6IE0xMjYuNiw2NC40bC0yNC44LDEzbDI0LjgsMTNWNjQuNHogTTY1LjIsNjQuNHYyNi4xbDI0LjgtMTNMNjUuMiw2NC40eiBNOTguNyw0NS4xCgkJCWMtMS40LTAuOC00LTAuOC01LjUsMEw2NS42LDU5LjdjMCwwLTAuMSwwLTAuMSwwbDAsMGwwLDBsMC4xLDBsMjcuNiwxNC42YzEuNCwwLjgsNCwwLjgsNS41LDBsMjcuNi0xNC42YzAsMCwwLjEsMCwwLjEsMGwwLDBsMCwwCgkJCWwtMC4xLDBMOTguNyw0NS4xeiBNMTMwLjcsNDYuNWwxLjcsMS4xbDAuMywwLjJjMC41LDAuMywwLjksMC42LDEuMywwLjhjNC4yLDIuOCw1LjcsNS45LDUuNywxMi4zbDAsMC4yaC00LjNjMC0yLjgtMC4zLTQuNy0xLTYKCQkJYy0wLjUtMS4xLTEuMy0xLjktMi44LTIuOWwtMC4xLTAuMWMtMC4zLTAuMi0wLjctMC40LTEuMS0wLjdsLTAuNS0wLjNsLTEuNi0wLjlMMTMwLjcsNDYuNXoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",protocol:"weth",slippage:!1,blockchains:["fantom"],fantom:{router:{address:Vf.fantom.wrapped.address,api:AO.WETH}}};var PO=e=>new OD(Object.assign(zO,{scope:e,findPath:e=>AO.findPath({...e,exchange:zO}),pathExists:e=>AO.pathExists({...e,exchange:zO}),getAmounts:e=>AO.getAmounts({...e,exchange:zO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:zO})}));const _O={name:"wmatic",label:"Wrapped MATIC",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0NS40IDQ1LjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiM4MjQ3RTU7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzEuOSwxNi42Yy0wLjctMC40LTEuNi0wLjQtMi4yLDBsLTUuMywzLjFsLTMuNSwybC01LjEsMy4xYy0wLjcsMC40LTEuNiwwLjQtMi4yLDBsLTQtMi40CgljLTAuNi0wLjQtMS4xLTEuMS0xLjEtMnYtNC42YzAtMC45LDAuNS0xLjYsMS4xLTJsNC0yLjNjMC43LTAuNCwxLjUtMC40LDIuMiwwbDQsMi40YzAuNywwLjQsMS4xLDEuMSwxLjEsMnYzLjFsMy41LTIuMXYtMy4yCgljMC0wLjktMC40LTEuNi0xLjEtMmwtNy41LTQuNGMtMC43LTAuNC0xLjUtMC40LTIuMiwwTDYsMTEuN2MtMC43LDAuNC0xLjEsMS4xLTEuMSwxLjh2OC43YzAsMC45LDAuNCwxLjYsMS4xLDJsNy42LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw1LjEtMi45bDMuNS0yLjFsNS4xLTIuOWMwLjctMC40LDEuNi0wLjQsMi4yLDBsNCwyLjNjMC43LDAuNCwxLjEsMS4xLDEuMSwydjQuNmMwLDAuOS0wLjQsMS42LTEuMSwyCglsLTMuOSwyLjNjLTAuNywwLjQtMS41LDAuNC0yLjIsMGwtNC0yLjNjLTAuNy0wLjQtMS4xLTEuMS0xLjEtMnYtMi45TDIxLDI4Ljd2My4xYzAsMC45LDAuNCwxLjYsMS4xLDJsNy41LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw3LjUtNC40YzAuNy0wLjQsMS4xLTEuMSwxLjEtMlYyM2MwLTAuOS0wLjQtMS42LTEuMS0yQzM5LjIsMjEsMzEuOSwxNi42LDMxLjksMTYuNnoiLz4KPC9zdmc+Cg==",protocol:"weth",slippage:!1,blockchains:["polygon"],polygon:{router:{address:Vf.polygon.wrapped.address,api:AO.WETH}}};var BO=e=>new OD(Object.assign(_O,{scope:e,findPath:e=>AO.findPath({...e,exchange:_O}),pathExists:e=>AO.pathExists({...e,exchange:_O}),getAmounts:e=>AO.getAmounts({...e,exchange:_O}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:_O})}));const RO={name:"wxdai",label:"Wrapped XDAI",logo:Vf.gnosis.wrapped.logo,protocol:"weth",slippage:!1,blockchains:["gnosis"],gnosis:{router:{address:Vf.gnosis.wrapped.address,api:AO.WETH}}};var UO=e=>new OD(Object.assign(RO,{scope:e,findPath:e=>AO.findPath({...e,exchange:RO}),pathExists:e=>AO.pathExists({...e,exchange:RO}),getAmounts:e=>AO.getAmounts({...e,exchange:RO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:RO})}));const QO=[RC(),MO(),ZC(),cO(),QC(),sO(),XC(),$C(),YD(),kO(),DO(),OO(),SO(),EO(),BO(),PO(),NO(),UO()];QO.forEach((e=>{QO[e.name]=e})),QO.ethereum=[MO("ethereum"),cO("ethereum"),kO("ethereum")],QO.ethereum.forEach((e=>{QO.ethereum[e.name]=e})),QO.bsc=[ZC("bsc"),MO("bsc"),QC("bsc"),EO("bsc")],QO.bsc.forEach((e=>{QO.bsc[e.name]=e})),QO.polygon=[MO("polygon"),XC("polygon"),BO("polygon")],QO.polygon.forEach((e=>{QO.polygon[e.name]=e})),QO.solana=[RC("solana")],QO.solana.forEach((e=>{QO.solana[e.name]=e})),QO.optimism=[MO("optimism"),DO("optimism")],QO.optimism.forEach((e=>{QO.optimism[e.name]=e})),QO.base=[MO("base"),OO("base")],QO.base.forEach((e=>{QO.base[e.name]=e})),QO.arbitrum=[MO("arbitrum"),SO("arbitrum")],QO.arbitrum.forEach((e=>{QO.arbitrum[e.name]=e})),QO.fantom=[$C("fantom"),PO("fantom")],QO.fantom.forEach((e=>{QO.fantom[e.name]=e})),QO.avalanche=[MO("avalanche"),sO("avalanche"),NO("avalanche")],QO.avalanche.forEach((e=>{QO.avalanche[e.name]=e})),QO.gnosis=[YD("gnosis"),UO("gnosis")],QO.gnosis.forEach((e=>{QO.gnosis[e.name]=e})),QO.worldchain=[MO("worldchain")],QO.worldchain.forEach((e=>{QO.worldchain[e.name]=e}));QO.route=({blockchain:e,tokenIn:t,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a})=>Promise.all(QO[e].map((e=>e.route({tokenIn:t,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a})))).then((e=>e.filter(Boolean).sort(((e,t)=>(r||o?BigInt(e.amountOut)<BigInt(t.amountOut):BigInt(e.amountIn)>BigInt(t.amountIn))?1:(r||o?BigInt(e.amountOut)>BigInt(t.amountOut):BigInt(e.amountIn)<BigInt(t.amountIn))?-1:0))));var WO={solana:{address:"DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7",ammProgram:"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",alt:"EYGgx5fYCZtLN2pvnR4Bhn5KpMffKwyHCms4VhjSvF2K",api:{createPaymentsAccount:{anchorDiscriminator:new ef("8445995362644372894"),layout:hf([yf("anchorDiscriminator")])},createEscrowSolAccount:{anchorDiscriminator:new ef("2482112285991870004"),layout:hf([yf("anchorDiscriminator")])},createEscrowTokenAccount:{anchorDiscriminator:new ef("16156440424245087"),layout:hf([yf("anchorDiscriminator")])},routeSol:{anchorDiscriminator:new ef("6497164560834983274"),layout:hf([yf("anchorDiscriminator"),yf("nonce"),yf("paymentAmount"),yf("feeAmount"),af("deadline")])},routeToken:{anchorDiscriminator:new ef("13483873682232752277"),layout:hf([yf("anchorDiscriminator"),yf("nonce"),yf("paymentAmount"),yf("feeAmount"),af("deadline")])},routeOrcaSwap:{anchorDiscriminator:new ef("9797248061404332986"),layout:hf([yf("anchorDiscriminator"),yf("nonce"),yf("amountIn"),df("sqrtPriceLimit"),nf("amountSpecifiedIsInput"),nf("aToB"),yf("paymentAmount"),yf("feeAmount"),af("deadline")])},routeOrcaSwapSolOut:{anchorDiscriminator:new ef("13662217913752830165"),layout:hf([yf("anchorDiscriminator"),yf("nonce"),yf("amountIn"),df("sqrtPriceLimit"),nf("amountSpecifiedIsInput"),nf("aToB"),yf("paymentAmount"),yf("feeAmount"),af("deadline")])},routeOrcaTwoHopSwap:{anchorDiscriminator:new ef("15695720599845325801"),layout:hf([yf("anchorDiscriminator"),yf("nonce"),yf("amountIn"),nf("amountSpecifiedIsInput"),nf("aToBOne"),nf("aToBTwo"),df("sqrtPriceLimitOne"),df("sqrtPriceLimitTwo"),yf("paymentAmount"),yf("feeAmount"),af("deadline")])},routeOrcaTwoHopSwapSolOut:{anchorDiscriminator:new ef("15074061855608091530"),layout:hf([yf("anchorDiscriminator"),yf("nonce"),yf("amountIn"),nf("amountSpecifiedIsInput"),nf("aToBOne"),nf("aToBTwo"),df("sqrtPriceLimitOne"),df("sqrtPriceLimitTwo"),yf("paymentAmount"),yf("feeAmount"),af("deadline")])}}}};let YO,FO=()=>YO||(YO="object"==typeof r?r:window,YO);const VO=()=>(void 0===FO()._Web3ClientConfiguration&&(FO()._Web3ClientConfiguration={}),FO()._Web3ClientConfiguration);function HO(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}class GO extends qA{constructor(e,t,n,r){super(e),this._network=t,this._endpoint=e,this._endpoints=n,this._failover=r,this._pendingBatch=[]}handleError(e,t,n){if(t<5&&e){const e=this._endpoints.indexOf(this._endpoint)+1;this._failover(),this._endpoint=e>=this._endpoints.length?this._endpoints[0]:this._endpoints[e],this.requestChunk(n,this._endpoint,t+1)}else n.forEach((t=>{t.reject(e)}))}detectNetwork(){return Promise.resolve(Vf.findByName(this._network).id)}batchRequest(e,t){return new Promise(((n,r)=>{0===e.length&&n([]),fetch(this._endpoint,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(1e4)}).then((e=>{e.ok?e.json().then((e=>{e.find((e=>HO([e,"optionalAccess",e=>e.error])&&[-32062,-32016].includes(HO([e,"optionalAccess",e=>e.error,"optionalAccess",e=>e.code]))))&&t<5?r("Error in batch found!"):n(e)})).catch(r):r(`${e.status} ${e.text}`)})).catch(r)}))}requestChunk(e,t,n){const r=e.map((e=>e.request));try{return this.batchRequest(r,n).then((t=>{e.forEach(((e,n)=>{const r=t[n];if(HO([r,"optionalAccess",e=>e.error])){const t=new Error(r.error.message);t.code=r.error.code,t.data=r.error.data,e.reject(t)}else HO([r,"optionalAccess",e=>e.result])?e.resolve(r.result):e.reject()}))})).catch((t=>this.handleError(t,n,e)))}catch(t){this.handleError(t,n,e)}}send(e,t){const n={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:n,resolve:null,reject:null},i=new Promise(((e,t)=>{r.resolve=e,r.reject=t}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const e=this._pendingBatch;this._pendingBatch=[],this._pendingBatchAggregator=null;const t=[];for(let n=0;n<Math.ceil(e.length/50);n++)t[n]=e.slice(50*n,50*(n+1));t.forEach((e=>(e.map((e=>e.request)),this.requestChunk(e,this._endpoint,1))))}),VO().batchInterval||10)),i}}const qO=()=>(null==FO()._Web3ClientProviders&&(FO()._Web3ClientProviders={}),FO()._Web3ClientProviders),ZO=(e,t)=>{if(null==t)return;void 0===qO()[e]&&(qO()[e]=[]);const n=qO()[e].indexOf(t);n>-1&&qO()[e].splice(n,1),qO()[e].unshift(t)},JO=async(e,t,n=!0)=>{let r;qO()[e]=t.map(((r,i)=>new GO(r,e,t,(()=>{1===qO()[e].length?JO(e,t,n):qO()[e].splice(i,1)}))));let i=FO();if(null==i.fetch||void 0!==x&&x.env&&"test"==x.env.NODE_ENV||void 0!==i.cy||!1===n)r=qO()[e][0];else{let n=await Promise.all(t.map((e=>new Promise((async t=>{let n,r=(new Date).getTime();setTimeout((()=>t(900)),900);try{n=await fetch(e,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},referrer:"",referrerPolicy:"no-referrer",body:JSON.stringify({method:"net_version",id:1,jsonrpc:"2.0"}),signal:AbortSignal.timeout(1e4)})}catch(e){}if(!function(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}([n,"optionalAccess",e=>e.ok]))return t(999);let i=(new Date).getTime();t(i-r)})))));const i=Math.min(...n),o=n.indexOf(i);r=qO()[e][o]}ZO(e,r)};var XO=async e=>{let t=qO();if(t&&t[e])return t[e][0];let n=FO();return n._Web3ClientGetProviderPromise&&n._Web3ClientGetProviderPromise[e]||(n._Web3ClientGetProviderPromise||(n._Web3ClientGetProviderPromise={}),n._Web3ClientGetProviderPromise[e]=new Promise((async t=>{await JO(e,Vf[e].endpoints),t(FO()._Web3ClientProviders[e][0])}))),await n._Web3ClientGetProviderPromise[e]},KO=async e=>{let t=qO();if(t&&t[e])return t[e];let n=FO();return n._Web3ClientGetProvidersPromise&&n._Web3ClientGetProvidersPromise[e]||(n._Web3ClientGetProvidersPromise||(n._Web3ClientGetProvidersPromise={}),n._Web3ClientGetProvidersPromise[e]=new Promise((async t=>{await JO(e,Vf[e].endpoints),t(FO()._Web3ClientProviders[e])}))),await n._Web3ClientGetProvidersPromise[e]};function $O(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}class ez extends Vl{constructor(e,t,n,r){super(e),this._provider=new Vl(e),this._network=t,this._endpoint=e,this._endpoints=n,this._failover=r,this._pendingBatch=[],this._rpcRequest=this._rpcRequestReplacement.bind(this)}handleError(e,t,n){if(t<10){const e=this._endpoints.indexOf(this._endpoint)+1;this._endpoint=e>=this._endpoints.length?this._endpoints[0]:this._endpoints[e],this._provider=new Vl(this._endpoint),this.requestChunk(n,t+1)}else n.forEach((t=>{t.reject(e)}))}batchRequest(e,t){return new Promise(((n,r)=>{0===e.length&&n([]);const i=e.map((e=>this._rpcClient.request(e.methodName,e.args)));fetch(this._endpoint,{method:"POST",body:JSON.stringify(i),headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(1e4)}).then((e=>{e.ok?e.json().then((e=>{e.find((e=>$O([e,"optionalAccess",e=>e.error])))&&t<10?r("Error in batch found!"):n(e)})).catch(r):r(`${e.status} ${e.text}`)})).catch(r)}))}requestChunk(e,t){const n=e.map((e=>e.request));try{return this.batchRequest(n,t).then((t=>{e.forEach(((e,n)=>{const r=t[n];if($O([r,"optionalAccess",e=>e.error])){const t=new Error(r.error.message);t.code=r.error.code,t.data=r.error.data,e.reject(t)}else r?e.resolve(r):e.reject()}))})).catch((n=>this.handleError(n,t,e)))}catch(n){return this.handleError(n,t,e)}}_rpcRequestReplacement(e,t){const n={methodName:e,args:t};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:n,resolve:null,reject:null},i=new Promise(((e,t)=>{r.resolve=e,r.reject=t}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const e=this._pendingBatch;this._pendingBatch=[],this._pendingBatchAggregator=null;const t=[];for(let n=0;n<Math.ceil(e.length/50);n++)t[n]=e.slice(50*n,50*(n+1));t.forEach((e=>(e.map((e=>e.request)),this.requestChunk(e,1))))}),VO().batchInterval||10)),i}}const tz=()=>(null==FO()._Web3ClientProviders&&(FO()._Web3ClientProviders={}),FO()._Web3ClientProviders),nz=(e,t)=>{if(null==t)return;void 0===tz()[e]&&(tz()[e]=[]);const n=tz()[e].indexOf(t);n>-1&&tz()[e].splice(n,1),tz()[e].unshift(t)},rz=async(e,t,n=!0)=>{let r;tz()[e]=t.map(((r,i)=>new ez(r,e,t,(()=>{1===tz()[e].length?rz(e,t,n):tz()[e].splice(i,1)}))));let i=FO();if(null==i.fetch||void 0!==x&&x.env&&"test"==x.env.NODE_ENV||void 0!==i.cy||!1===n)r=tz()[e][0];else{let n=await Promise.all(t.map((e=>new Promise((async t=>{let n,r=(new Date).getTime();setTimeout((()=>t(900)),900);try{n=await fetch(e,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},referrer:"",referrerPolicy:"no-referrer",body:JSON.stringify({method:"getIdentity",id:1,jsonrpc:"2.0"}),signal:AbortSignal.timeout(1e4)})}catch(e){}if(!function(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}([n,"optionalAccess",e=>e.ok]))return t(999);let i=(new Date).getTime();t(i-r)})))));const i=Math.min(...n),o=n.indexOf(i);r=tz()[e][o]}nz(e,r)};var iz=async e=>{let t=tz();if(t&&t[e])return t[e][0];let n=FO();return n._Web3ClientGetProviderPromise&&n._Web3ClientGetProviderPromise[e]||(n._Web3ClientGetProviderPromise||(n._Web3ClientGetProviderPromise={}),n._Web3ClientGetProviderPromise[e]=new Promise((async t=>{await rz(e,Vf[e].endpoints),t(FO()._Web3ClientProviders[e][0])}))),await n._Web3ClientGetProviderPromise[e]},oz=async e=>{let t=tz();if(t&&t[e])return t[e];let n=FO();return n._Web3ClientGetProvidersPromise&&n._Web3ClientGetProvidersPromise[e]||(n._Web3ClientGetProvidersPromise||(n._Web3ClientGetProvidersPromise={}),n._Web3ClientGetProvidersPromise[e]=new Promise((async t=>{await rz(e,Vf[e].endpoints),t(FO()._Web3ClientProviders[e])}))),await n._Web3ClientGetProvidersPromise[e]};let az=["ethereum","bsc","polygon","solana","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"];az.evm=["ethereum","bsc","polygon","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"],az.solana=["solana"];let sz=()=>(null==FO()._Web3ClientCacheStore&&(FO()._Web3ClientCacheStore={}),FO()._Web3ClientCacheStore),uz=()=>(null==FO()._Web3ClientPromiseStore&&(FO()._Web3ClientPromiseStore={}),FO()._Web3ClientPromiseStore),cz=function({key:e}){uz()[e]=void 0},lz=function({call:e,key:t,expires:n=0}){return new Promise(((r,i)=>{let o,a=function({key:e}){return uz()[e]}({key:t=JSON.stringify(t)});if(a)return a.then(r).catch(i);(function({key:e,promise:t}){return uz()[e]=t,t})({key:t,promise:new Promise(((a,s)=>0===n?e().then((e=>{r(e),a(e)})).catch((e=>{i(e),s(e)})):(o=function({key:e,expires:t}){let n=sz()[e];if(function(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}([n,"optionalAccess",e=>e.expiresAt])>Date.now())return n.value}({key:t,expires:n}),o?(r(o),a(o),o):void e().then((e=>{e&&function({key:e,value:t,expires:n}){sz()[e]={expiresAt:Date.now()+n,value:t}}({key:t,value:e,expires:n}),r(e),a(e)})).catch((e=>{i(e),s(e)})))))}).then((()=>{cz({key:t})})).catch((()=>{cz({key:t})}))}))};const hz=async e=>{if(az.evm.includes(e))return await XO(e);if(az.solana.includes(e))return await iz(e);throw"Unknown blockchain: "+e};const dz=({address:e,api:t,method:n,params:r,provider:i,block:o})=>{const a=new zM(e,t,i),s=(({contract:e,method:t,params:n})=>e.interface.fragments.find((e=>e.name==t)).inputs.map(((e,t)=>Array.isArray(n)?n[t]:n[e.name])))({contract:a,method:n,params:r}),u=a.interface.fragments.find((e=>e.name===n));return void 0===a[n]&&(n=`${n}(${u.inputs.map((e=>e.type)).join(",")})`),u&&"nonpayable"===u.stateMutability?a.callStatic[n](...s,{blockTag:o}):a[n](...s,{blockTag:o})},fz=({blockchain:e,address:t,api:n,method:r,params:i,block:o,provider:a})=>n?dz({address:t,api:n,method:r,params:i,provider:a,block:o}):"latestBlockNumber"===r?a.getBlockNumber():"balance"===r?(({address:e,provider:t})=>t.getBalance(e))({address:t,provider:a}):"transactionCount"===r?(({address:e,provider:t})=>t.getTransactionCount(e))({address:t,provider:a}):void 0;const pz=async({blockchain:e,address:t,api:n,method:r,params:i,block:o,provider:a,providers:s})=>{try{if(null==r||"getAccountInfo"===r)return null==n&&(n=tf),await(async({address:e,api:t,method:n,params:r,provider:i,block:o})=>{const a=await i.getAccountInfo(new qs(e));if(a&&a.data)return t.decode(a.data)})({address:t,api:n,method:r,params:i,provider:a,block:o});if("getProgramAccounts"===r)return await a.getProgramAccounts(new qs(t),i).then((e=>n?e.map((e=>(e.data=n.decode(e.account.data),e))):e));if("getTokenAccountBalance"===r)return await a.getTokenAccountBalance(new qs(t));if("latestBlockNumber"===r)return await a.getSlot(i||void 0);if("balance"===r)return await(({address:e,provider:t})=>t.getBalance(new qs(e)))({address:t,provider:a})}catch(u){if(s&&u&&["Failed to fetch","limit reached","504","503","502","500","429","426","422","413","409","408","406","405","404","403","402","401","400"].some((e=>u.toString().match(e)))){let u=s[s.indexOf(a)+1]||s[0];return pz({blockchain:e,address:t,api:n,method:r,params:i,block:o,provider:u,providers:s})}throw u}};const yz=async function(e,t){const{blockchain:n,address:r,method:i}=(e=>{if("object"==typeof e)return e;let t=e.match(/(?<blockchain>\w+):\/\/(?<part1>[\w\d]+)(\/(?<part2>[\w\d]+)*)?/);return null==t.groups.part2?t.groups.part1.match(/\d/)?{blockchain:t.groups.blockchain,address:t.groups.part1}:{blockchain:t.groups.blockchain,method:t.groups.part1}:{blockchain:t.groups.blockchain,address:t.groups.part1,method:t.groups.part2}})(e),{api:o,params:a,cache:s,block:u,timeout:c,strategy:l,cacheKey:h}=("object"==typeof e?e:t)||{};return await lz({expires:s||0,key:h||[n,r,i,a,u],call:async()=>{if(az.evm.includes(n))return await(async({blockchain:e,address:t,api:n,method:r,params:i,block:o,timeout:a,strategy:s})=>{if(s=s||VO().strategy||"failover",a=a||VO().timeout||void 0,"fastest"===s){const s=await KO(e);let u=[];const c=s.map((a=>new Promise((s=>{u.push(fz({blockchain:e,address:t,api:n,method:r,params:i,block:o,provider:a}).then(s))})))),l=new Promise(((e,t)=>setTimeout((()=>{t(new Error("Web3ClientTimeout"))}),a||1e4)));return u=Promise.all(u.map((e=>new Promise((t=>{e.catch(t)}))))).then((()=>{})),Promise.race([...c,l,u])}{const s=await XO(e),u=fz({blockchain:e,address:t,api:n,method:r,params:i,block:o,provider:s});return a?(a=new Promise(((e,t)=>setTimeout((()=>{t(new Error("Web3ClientTimeout"))}),a))),Promise.race([u,a])):u}})({blockchain:n,address:r,api:o,method:i,params:a,block:u,strategy:l,timeout:c});if(az.solana.includes(n))return await(async({blockchain:e,address:t,api:n,method:r,params:i,block:o,timeout:a,strategy:s})=>{s=s||VO().strategy||"failover",a=a||VO().timeout||void 0;const u=await oz(e);if("fastest"===s){let s=[];const c=u.map((a=>new Promise((u=>{s.push(pz({blockchain:e,address:t,api:n,method:r,params:i,block:o,provider:a}).then(u))})))),l=new Promise(((e,t)=>setTimeout((()=>{t(new Error("Web3ClientTimeout"))}),a||1e4)));return s=Promise.all(s.map((e=>new Promise((t=>{e.catch(t)}))))).then((()=>{})),Promise.race([...c,l,s])}{const s=await iz(e),c=pz({blockchain:e,address:t,api:n,method:r,params:i,block:o,provider:s,providers:u});return a?(a=new Promise(((e,t)=>setTimeout((()=>{t(new Error("Web3ClientTimeout"))}),a))),Promise.race([c,a])):c}})({blockchain:n,address:r,api:o,method:i,params:a,block:u,strategy:l,timeout:c});throw"Unknown blockchain: "+n}})},mz=async({wSolSenderAccountKeypair:e,paymentRoute:t})=>{if(!e)return;const n=t.fromToken.address===Vf.solana.currency.address?new ef(t.fromAmount):new ef("0"),r=await hz("solana"),i=new ef(await r.getMinimumBalanceForRentExemption(RS.solana.TOKEN_LAYOUT.span)),o=t.fromAddress,a=n.add(i);return[Uu.createAccount({fromPubkey:new qs(o),newAccountPubkey:e.publicKey,programId:new qs(RS.solana.TOKEN_PROGRAM),space:RS.solana.TOKEN_LAYOUT.span,lamports:a}),RS.solana.initializeAccountInstruction({account:e.publicKey.toString(),token:Vf.solana.wrapped.address,owner:o})]},gz=async({wSolEscrowAccountKeypair:e,paymentRoute:t})=>{if(!e)return;const n=await hz("solana"),r=new ef(await n.getMinimumBalanceForRentExemption(RS.solana.TOKEN_LAYOUT.span)),i=await Sz();return[Uu.createAccount({fromPubkey:new qs(t.fromAddress),newAccountPubkey:e.publicKey,programId:new qs(RS.solana.TOKEN_PROGRAM),space:RS.solana.TOKEN_LAYOUT.span,lamports:r}),RS.solana.initializeAccountInstruction({account:e.publicKey.toString(),token:Vf.solana.wrapped.address,owner:i.toString()})]},vz=({paymentRoute:e})=>{let t=[...e.exchangeRoutes[0].path];return t.indexOf(Vf.solana.currency.address)>-1&&t.splice(t.indexOf(Vf.solana.currency.address),1),t.indexOf(e.fromToken.address)>-1&&t.splice(t.indexOf(e.fromToken.address),1),t.indexOf(e.toToken.address)>-1&&t.splice(t.indexOf(e.toToken.address),1),2===t.length&&t[0]===Vf.solana.wrapped.address?t[1]:t[0]},wz=async({paymentRoute:e})=>await RS.solana.findProgramAddress({token:vz({paymentRoute:e}),owner:e.fromAddress}),bz=async({paymentRoute:e})=>{if(0===e.exchangeRoutes.length||Oz(e.exchangeRoutes[0].path).length<=2)return;return await(async({paymentRoute:e})=>await yz({blockchain:"solana",address:await wz({paymentRoute:e}),api:RS.solana.TOKEN_LAYOUT,cache:1e3}))({paymentRoute:e})?void 0:RS.solana.createAssociatedTokenAccountInstruction({token:vz({paymentRoute:e}),owner:e.fromAddress,payer:e.fromAddress})},Mz=async({wSolSenderAccountKeypair:e,paymentRoute:t})=>{if(e)return RS.solana.closeAccountInstruction({account:e.publicKey.toString(),owner:t.fromAddress})},Az=async({from:e})=>{let t=[$d.from("payments"),new qs(e).toBuffer()],[n]=await qs.findProgramAddress(t,new qs(WO.solana.address));return n},Iz=async({from:e})=>{let t=(await Az({from:e})).toString();return await yz({blockchain:"solana",address:t,api:hf([yf("anchorDiscriminator"),yf("nonce")]),cache:1e3})},Nz=async({from:e})=>{if(await Iz({from:e}))return;const t=[{pubkey:Uu.programId,isSigner:!1,isWritable:!1},{pubkey:new qs(e),isSigner:!0,isWritable:!0},{pubkey:await Az({from:e}),isSigner:!1,isWritable:!0}],n=$d.alloc(WO.solana.api.createPaymentsAccount.layout.span);return WO.solana.api.createPaymentsAccount.layout.encode({anchorDiscriminator:WO.solana.api.createPaymentsAccount.anchorDiscriminator},n),new pu({keys:t,programId:new qs(WO.solana.address),data:n})},Tz=async({paymentRoute:e})=>await RS.solana.findProgramAddress({token:e.fromToken.address,owner:e.fromAddress}),Ez=async({paymentRoute:e})=>await RS.solana.findProgramAddress({token:e.toToken.address,owner:e.toAddress}),xz=async({paymentRoute:e})=>{if(e.toToken.address===Vf.solana.currency.address){const t=await yz({blockchain:"solana",method:"balance",address:e.toAddress}),n=await hz("solana"),r=new ef(await n.getMinimumBalanceForRentExemption(0)),i=new ef(e.toAmount);if(new ef(t).add(i).gt(r))return;return Uu.transfer({fromPubkey:new qs(e.fromAddress),toPubkey:new qs(e.toAddress),lamports:r.sub(i)})}{const t=e.toToken.address;if(await(async({paymentRoute:e})=>await RS.solana.findAccount({token:e.toToken.address,owner:e.toAddress}))({paymentRoute:e}))return;return RS.solana.createAssociatedTokenAccountInstruction({token:t,owner:e.toAddress,payer:e.fromAddress})}},kz=async({paymentRoute:e})=>await RS.solana.findProgramAddress({token:e.toToken.address,owner:e.fee.receiver}),Lz=async({paymentRoute:e})=>{if(e.fee){if(e.toToken.address===Vf.solana.currency.address){const t=await yz({blockchain:"solana",method:"balance",address:e.fee.receiver}),n=await hz("solana"),r=new ef(await n.getMinimumBalanceForRentExemption(0)),i=new ef(e.feeAmount);if(new ef(t).add(i).gt(r))return;return Uu.transfer({fromPubkey:new qs(e.fromAddress),toPubkey:new qs(e.fee.receiver),lamports:r.sub(i)})}{const t=e.toToken.address;if(await(async({paymentRoute:e})=>await RS.solana.findAccount({token:e.toToken.address,owner:e.fee.receiver}))({paymentRoute:e}))return;return RS.solana.createAssociatedTokenAccountInstruction({token:t,owner:e.fee.receiver,payer:e.fromAddress})}}},Sz=async()=>{let e=[$d.from("escrow_sol")],[t,n]=await qs.findProgramAddress(e,new qs(WO.solana.address));return t},jz=async({paymentRoute:e})=>{let t=[$d.from("escrow"),new qs(e.toToken.address===Vf.solana.currency.address?Vf.solana.wrapped.address:e.toToken.address).toBuffer()],[n,r]=await qs.findProgramAddress(t,new qs(WO.solana.address));return n},Dz=async({paymentRoute:e})=>{if(0===e.exchangeRoutes.length||e.toToken.address===Vf.solana.currency.address)return;if(await(async({paymentRoute:e})=>await yz({blockchain:"solana",address:(await jz({paymentRoute:e})).toString(),api:RS.solana.TOKEN_LAYOUT,cache:1e3}))({paymentRoute:e}))return;const t=[{pubkey:Uu.programId,isSigner:!1,isWritable:!1},{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:new qs(e.toToken.address===Vf.solana.currency.address?Vf.solana.wrapped.address:e.toToken.address),isSigner:!1,isWritable:!0},{pubkey:await jz({paymentRoute:e}),isSigner:!1,isWritable:!0}],n=$d.alloc(WO.solana.api.createEscrowTokenAccount.layout.span);return WO.solana.api.createEscrowTokenAccount.layout.encode({anchorDiscriminator:WO.solana.api.createEscrowTokenAccount.anchorDiscriminator},n),new pu({keys:t,programId:new qs(WO.solana.address),data:n})},Cz=async({paymentRoute:e})=>{if(0===e.exchangeRoutes.length||e.toToken.address!=Vf.solana.currency.address)return;if(await(async({paymentRoute:e})=>await yz({blockchain:"solana",address:(await Sz()).toString(),api:hf([yf("amount"),uf("owner")]),cache:1e3}))({paymentRoute:e}))return;const t=[{pubkey:Uu.programId,isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await Sz(),isSigner:!1,isWritable:!0}],n=$d.alloc(WO.solana.api.createEscrowSolAccount.layout.span);return WO.solana.api.createEscrowSolAccount.layout.encode({anchorDiscriminator:WO.solana.api.createEscrowSolAccount.anchorDiscriminator},n),new pu({keys:t,programId:new qs(WO.solana.address),data:n})},Oz=e=>e.filter((e=>e!==Vf.solana.currency.address)),zz=async({paymentRoute:e,wSolSenderAccountKeypair:t,wSolEscrowAccountKeypair:n,nonce:r,deadline:i})=>{switch((({paymentRoute:e})=>{if(e.fromToken.address===Vf.solana.currency.address&&e.toToken.address===Vf.solana.currency.address)return"routeSol";if(e.fromToken.address!==Vf.solana.currency.address&&e.toToken.address!==Vf.solana.currency.address&&0===e.exchangeRoutes.length)return"routeToken";if(e.exchangeRoutes.length>0&&2===Oz(e.exchangeRoutes[0].path).length)return e.toToken.address===Vf.solana.currency.address?"routeOrcaSwapSolOut":"routeOrcaSwap";if(e.exchangeRoutes.length>0&&Oz(e.exchangeRoutes[0].path).length>2)return e.toToken.address===Vf.solana.currency.address?"routeOrcaTwoHopSwapSolOut":"routeOrcaTwoHopSwap";throw"Payment method does not exist!"})({paymentRoute:e})){case"routeSol":return await(async({paymentRoute:e,nonce:t,deadline:n})=>{const r=new qs(e.toAddress),i=e.fee?new qs(e.fee.receiver):r,o=[{pubkey:Uu.programId,isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await Az({from:e.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0}],a=$d.alloc(WO.solana.api.routeSol.layout.span);return WO.solana.api.routeSol.layout.encode({anchorDiscriminator:WO.solana.api.routeSol.anchorDiscriminator,nonce:t,paymentAmount:new ef(e.toAmount.toString()),feeAmount:new ef((e.feeAmount||"0").toString()),deadline:new ef(n)},a),new pu({keys:o,programId:new qs(WO.solana.address),data:a})})({paymentRoute:e,nonce:r,deadline:i});case"routeToken":return await(async({paymentRoute:e,nonce:t,deadline:n})=>{const r=await Tz({paymentRoute:e}),i=await Ez({paymentRoute:e}),o=e.fee?await kz({paymentRoute:e}):i,a=[{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await Az({from:e.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new qs(r),isSigner:!1,isWritable:!0},{pubkey:new qs(i),isSigner:!1,isWritable:!0},{pubkey:new qs(o),isSigner:!1,isWritable:!0}],s=$d.alloc(WO.solana.api.routeToken.layout.span);return WO.solana.api.routeToken.layout.encode({anchorDiscriminator:WO.solana.api.routeToken.anchorDiscriminator,nonce:t,paymentAmount:new ef(e.toAmount.toString()),feeAmount:new ef((e.feeAmount||"0").toString()),deadline:new ef(n)},s),new pu({keys:a,programId:new qs(WO.solana.address),data:s})})({paymentRoute:e,nonce:r,deadline:i});case"routeOrcaSwap":return await(async({paymentRoute:e,nonce:t,wSolSenderAccountKeypair:n,deadline:r})=>{const i=n?n.publicKey:await Tz({paymentRoute:e}),o=await Ez({paymentRoute:e}),a=e.fee?await kz({paymentRoute:e}):o,s=await jz({paymentRoute:e}),u=(await e.exchangeRoutes[0].getTransaction({account:e.fromAddress})).instructions.find((e=>e.programId.toString()===WO.solana.ammProgram)),c=hf([yf("anchorDiscriminator"),yf("amount"),yf("otherAmountThreshold"),df("sqrtPriceLimit"),nf("amountSpecifiedIsInput"),nf("aToB")]).decode(u.data),l=[{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new qs(WO.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await Az({from:e.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new qs(i),isSigner:!1,isWritable:!0},u.keys[2],u.keys[4],u.keys[6],u.keys[7],u.keys[8],u.keys[9],u.keys[10],{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:new qs(o),isSigner:!1,isWritable:!0},{pubkey:new qs(a),isSigner:!1,isWritable:!0}],h=$d.alloc(WO.solana.api.routeOrcaSwap.layout.span);return WO.solana.api.routeOrcaSwap.layout.encode({anchorDiscriminator:WO.solana.api.routeOrcaSwap.anchorDiscriminator,nonce:t,amountIn:c.amount,sqrtPriceLimit:c.sqrtPriceLimit,amountSpecifiedIsInput:c.amountSpecifiedIsInput,aToB:c.aToB,paymentAmount:new ef(e.toAmount.toString()),feeAmount:new ef((e.feeAmount||"0").toString()),deadline:new ef(r)},h),new pu({keys:l,programId:new qs(WO.solana.address),data:h})})({paymentRoute:e,nonce:r,wSolSenderAccountKeypair:t,deadline:i});case"routeOrcaSwapSolOut":return await(async({paymentRoute:e,nonce:t,wSolEscrowAccountKeypair:n,deadline:r})=>{const i=await Tz({paymentRoute:e}),o=n.publicKey,a=(await e.exchangeRoutes[0].getTransaction({account:e.fromAddress})).instructions.find((e=>e.programId.toString()===WO.solana.ammProgram)),s=hf([yf("anchorDiscriminator"),yf("amount"),yf("otherAmountThreshold"),df("sqrtPriceLimit"),nf("amountSpecifiedIsInput"),nf("aToB")]).decode(a.data),u=[{pubkey:Uu.programId,isSigner:!1,isWritable:!1},{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new qs(WO.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await Az({from:e.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new qs(i),isSigner:!1,isWritable:!0},a.keys[2],a.keys[4],a.keys[6],a.keys[7],a.keys[8],a.keys[9],a.keys[10],{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:await Sz(),isSigner:!1,isWritable:!0},{pubkey:new qs(e.toAddress),isSigner:!1,isWritable:!0},{pubkey:new qs(e.fee?e.fee.receiver:e.toAddress),isSigner:!1,isWritable:!0}],c=$d.alloc(WO.solana.api.routeOrcaSwapSolOut.layout.span);return WO.solana.api.routeOrcaSwapSolOut.layout.encode({anchorDiscriminator:WO.solana.api.routeOrcaSwapSolOut.anchorDiscriminator,nonce:t,amountIn:s.amount,sqrtPriceLimit:s.sqrtPriceLimit,amountSpecifiedIsInput:s.amountSpecifiedIsInput,aToB:s.aToB,paymentAmount:new ef(e.toAmount.toString()),feeAmount:new ef((e.feeAmount||"0").toString()),deadline:new ef(r)},c),new pu({keys:u,programId:new qs(WO.solana.address),data:c})})({paymentRoute:e,nonce:r,wSolEscrowAccountKeypair:n,deadline:i});case"routeOrcaTwoHopSwap":return await(async({paymentRoute:e,nonce:t,wSolSenderAccountKeypair:n,deadline:r})=>{const i=new qs(await Ez({paymentRoute:e})),o=e.fee?new qs(await kz({paymentRoute:e})):i,a=await jz({paymentRoute:e}),s=new qs(await wz({paymentRoute:e})),u=(await e.exchangeRoutes[0].getTransaction({account:e.fromAddress})).instructions.find((e=>e.programId.toString()===WO.solana.ammProgram)),c=n?n.publicKey:new qs(await Tz({paymentRoute:e})),l=hf([yf("anchorDiscriminator"),yf("amount"),yf("otherAmountThreshold"),nf("amountSpecifiedIsInput"),nf("aToBOne"),nf("aToBTwo"),df("sqrtPriceLimitOne"),df("sqrtPriceLimitTwo")]).decode(u.data),h=[{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new qs(WO.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await Az({from:e.fromAddress}),isSigner:!1,isWritable:!0},u.keys[2],u.keys[3],{pubkey:c,isSigner:!1,isWritable:!0},u.keys[5],u.keys[7],{pubkey:s,isSigner:!1,isWritable:!0},u.keys[9],u.keys[11],u.keys[12],u.keys[13],u.keys[14],u.keys[15],u.keys[16],u.keys[17],u.keys[18],u.keys[19],{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0}],d=$d.alloc(WO.solana.api.routeOrcaTwoHopSwap.layout.span);return WO.solana.api.routeOrcaTwoHopSwap.layout.encode({anchorDiscriminator:WO.solana.api.routeOrcaTwoHopSwap.anchorDiscriminator,nonce:t,amountIn:l.amount,amountSpecifiedIsInput:l.amountSpecifiedIsInput,aToBOne:l.aToBOne,aToBTwo:l.aToBTwo,sqrtPriceLimitOne:l.sqrtPriceLimitOne,sqrtPriceLimitTwo:l.sqrtPriceLimitTwo,paymentAmount:new ef(e.toAmount.toString()),feeAmount:new ef((e.feeAmount||"0").toString()),deadline:new ef(r)},d),new pu({keys:h,programId:new qs(WO.solana.address),data:d})})({paymentRoute:e,nonce:r,wSolSenderAccountKeypair:t,deadline:i});case"routeOrcaTwoHopSwapSolOut":return await(async({paymentRoute:e,nonce:t,wSolEscrowAccountKeypair:n,deadline:r})=>{const i=new qs(await wz({paymentRoute:e})),o=(await e.exchangeRoutes[0].getTransaction({account:e.fromAddress})).instructions.find((e=>e.programId.toString()===WO.solana.ammProgram)),a=new qs(await Tz({paymentRoute:e})),s=hf([yf("anchorDiscriminator"),yf("amount"),yf("otherAmountThreshold"),nf("amountSpecifiedIsInput"),nf("aToBOne"),nf("aToBTwo"),df("sqrtPriceLimitOne"),df("sqrtPriceLimitTwo")]).decode(o.data),u=[{pubkey:Uu.programId,isSigner:!1,isWritable:!1},{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new qs(WO.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await Az({from:e.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},o.keys[2],o.keys[3],o.keys[5],o.keys[7],{pubkey:i,isSigner:!1,isWritable:!0},o.keys[9],o.keys[11],o.keys[12],o.keys[13],o.keys[14],o.keys[15],o.keys[16],o.keys[17],o.keys[18],o.keys[19],{pubkey:n.publicKey,isSigner:!1,isWritable:!0},{pubkey:await Sz(),isSigner:!1,isWritable:!0},{pubkey:new qs(e.toAddress),isSigner:!1,isWritable:!0},{pubkey:new qs(e.fee?e.fee.receiver:e.toAddress),isSigner:!1,isWritable:!0}],c=$d.alloc(WO.solana.api.routeOrcaTwoHopSwapSolOut.layout.span);return WO.solana.api.routeOrcaTwoHopSwapSolOut.layout.encode({anchorDiscriminator:WO.solana.api.routeOrcaTwoHopSwapSolOut.anchorDiscriminator,nonce:t,amountIn:s.amount,amountSpecifiedIsInput:s.amountSpecifiedIsInput,aToBOne:s.aToBOne,aToBTwo:s.aToBTwo,sqrtPriceLimitOne:s.sqrtPriceLimitOne,sqrtPriceLimitTwo:s.sqrtPriceLimitTwo,paymentAmount:new ef(e.toAmount.toString()),feeAmount:new ef((e.feeAmount||"0").toString()),deadline:new ef(r)},c),new pu({keys:u,programId:new qs(WO.solana.address),data:c})})({paymentRoute:e,nonce:r,wSolEscrowAccountKeypair:n,deadline:i})}},Pz=async({paymentRoute:e})=>{const t=await Iz({from:e.fromAddress}),n=Math.ceil((new Date).getTime()/1e3)+1800,r=(e=>e?e.nonce:new ef("0"))(t),i=await(async({paymentRoute:e})=>{if(e.fromToken.address===Vf.solana.currency.address&&e.toToken.address!==Vf.solana.currency.address)return Hl.generate()})({paymentRoute:e}),o=await(async({paymentRoute:e})=>{if(e.fromToken.address!==Vf.solana.currency.address&&e.toToken.address===Vf.solana.currency.address)return Hl.generate()})({paymentRoute:e});let a=(await Promise.all([Nz({from:e.fromAddress}),mz({paymentRoute:e,wSolSenderAccountKeypair:i}),bz({paymentRoute:e}),xz({paymentRoute:e}),Lz({paymentRoute:e}),Cz({paymentRoute:e}),gz({paymentRoute:e,wSolEscrowAccountKeypair:o}),Dz({paymentRoute:e}),zz({paymentRoute:e,wSolSenderAccountKeypair:i,wSolEscrowAccountKeypair:o,nonce:r,deadline:n}),Mz({paymentRoute:e,wSolSenderAccountKeypair:i})])).filter(Boolean).flat();const s={blockchain:e.blockchain,instructions:a,signers:[i,o].filter(Boolean),alts:[WO.solana.alt]};return s.deadline=n,s.nonce=r.toString(),s},_z=[{inputs:[{internalType:"address",name:"_PERMIT2",type:"address"},{internalType:"address",name:"_FORWARDER",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ExchangeCallFailed",type:"error"},{inputs:[],name:"ExchangeCallMissing",type:"error"},{inputs:[],name:"ExchangeNotApproved",type:"error"},{inputs:[],name:"ForwardingPaymentFailed",type:"error"},{inputs:[],name:"InsufficientBalanceInAfterPayment",type:"error"},{inputs:[],name:"InsufficientBalanceOutAfterPayment",type:"error"},{inputs:[],name:"NativeFeePaymentFailed",type:"error"},{inputs:[],name:"NativePaymentFailed",type:"error"},{inputs:[],name:"PaymentDeadlineReached",type:"error"},{inputs:[],name:"PaymentToZeroAddressNotAllowed",type:"error"},{inputs:[],name:"WrongAmountPaidIn",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"exchange",type:"address"}],name:"Disabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"exchange",type:"address"}],name:"Enabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"InternalTransfer",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"},{inputs:[],name:"FORWARDER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"exchange",type:"address"},{internalType:"bool",name:"enabled",type:"bool"}],name:"enable",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"exchanges",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"bool",name:"permit2",type:"bool"},{internalType:"uint256",name:"paymentAmount",type:"uint256"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{internalType:"address",name:"tokenInAddress",type:"address"},{internalType:"address",name:"exchangeAddress",type:"address"},{internalType:"address",name:"tokenOutAddress",type:"address"},{internalType:"address",name:"paymentReceiverAddress",type:"address"},{internalType:"address",name:"feeReceiverAddress",type:"address"},{internalType:"uint8",name:"exchangeType",type:"uint8"},{internalType:"uint8",name:"receiverType",type:"uint8"},{internalType:"bytes",name:"exchangeCallData",type:"bytes"},{internalType:"bytes",name:"receiverCallData",type:"bytes"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct IDePayRouterV2.Payment",name:"payment",type:"tuple"}],name:"pay",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"bool",name:"permit2",type:"bool"},{internalType:"uint256",name:"paymentAmount",type:"uint256"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{internalType:"address",name:"tokenInAddress",type:"address"},{internalType:"address",name:"exchangeAddress",type:"address"},{internalType:"address",name:"tokenOutAddress",type:"address"},{internalType:"address",name:"paymentReceiverAddress",type:"address"},{internalType:"address",name:"feeReceiverAddress",type:"address"},{internalType:"uint8",name:"exchangeType",type:"uint8"},{internalType:"uint8",name:"receiverType",type:"uint8"},{internalType:"bytes",name:"exchangeCallData",type:"bytes"},{internalType:"bytes",name:"receiverCallData",type:"bytes"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct IDePayRouterV2.Payment",name:"payment",type:"tuple"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IPermit2.PermitDetails",name:"details",type:"tuple"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IPermit2.PermitSingle",name:"permitSingle",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"pay",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[],name:"pendingOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}];var Bz={ethereum:{address:"0x6466F27B169C908Ba8174d80aEfa7173CbC3D0c7",api:_z},bsc:{address:"0x7ea09401db4692a8AEF4111b75bD32AE758f552A",api:_z},polygon:{address:"0x50CFAB577623B1359602E11514a9482B061A941e",api:_z},fantom:{address:"0xFee05C41195985909DDfc9127Db1f94559c46db3",api:_z},avalanche:{address:"0xFee05C41195985909DDfc9127Db1f94559c46db3",api:_z},gnosis:{address:"0xFee05C41195985909DDfc9127Db1f94559c46db3",api:_z},arbitrum:{address:"0xA1cfbeeF344A52e18f748fd6a126f9426A40fbc7",api:_z},optimism:{address:"0x8698E529E9867eEbcC68b4792daC627cd8870736",api:_z},base:{address:"0x8B127D169D232D5F3ebE1C3D06CE343FD7C1AA11",api:_z},worldchain:{address:"0xC9850b32475f4fdE5c972EA6f967982a3c435D10",api:[{inputs:[{internalType:"address",name:"_PERMIT2",type:"address"},{internalType:"address",name:"_FORWARDER",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ExchangeCallFailed",type:"error"},{inputs:[],name:"ExchangeCallMissing",type:"error"},{inputs:[],name:"ExchangeNotApproved",type:"error"},{inputs:[],name:"ForwardingPaymentFailed",type:"error"},{inputs:[],name:"InsufficientBalanceInAfterPayment",type:"error"},{inputs:[],name:"InsufficientBalanceOutAfterPayment",type:"error"},{inputs:[],name:"InsufficientProtocolAmount",type:"error"},{inputs:[],name:"NativeFeePaymentFailed",type:"error"},{inputs:[],name:"NativePaymentFailed",type:"error"},{inputs:[],name:"PaymentDeadlineReached",type:"error"},{inputs:[],name:"PaymentToZeroAddressNotAllowed",type:"error"},{inputs:[],name:"WrongAmountPaidIn",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"exchange",type:"address"}],name:"Disabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"exchange",type:"address"}],name:"Enabled",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:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"deadline",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amountIn",type:"uint256"},{indexed:!1,internalType:"uint256",name:"paymentAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"feeAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"protocolAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"slippageAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"tokenInAddress",type:"address"},{indexed:!1,internalType:"address",name:"tokenOutAddress",type:"address"},{indexed:!1,internalType:"address",name:"feeReceiverAddress",type:"address"}],name:"Payment",type:"event"},{inputs:[],name:"FORWARDER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"exchange",type:"address"},{internalType:"bool",name:"enabled",type:"bool"}],name:"enable",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"exchanges",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"paymentAmount",type:"uint256"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{internalType:"uint256",name:"protocolAmount",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"address",name:"tokenInAddress",type:"address"},{internalType:"address",name:"exchangeAddress",type:"address"},{internalType:"address",name:"tokenOutAddress",type:"address"},{internalType:"address",name:"paymentReceiverAddress",type:"address"},{internalType:"address",name:"feeReceiverAddress",type:"address"},{internalType:"uint8",name:"exchangeType",type:"uint8"},{internalType:"uint8",name:"receiverType",type:"uint8"},{internalType:"bool",name:"permit2",type:"bool"},{internalType:"bytes",name:"exchangeCallData",type:"bytes"},{internalType:"bytes",name:"receiverCallData",type:"bytes"}],internalType:"structIDePayRouterV3.Payment",name:"payment",type:"tuple"},{components:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"structIPermit2.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"structIPermit2.PermitTransferFrom",name:"permitTransferFrom",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"structIDePayRouterV3.PermitTransferFromAndSignature",name:"permitTransferFromAndSignature",type:"tuple"}],name:"pay",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"paymentAmount",type:"uint256"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{internalType:"uint256",name:"protocolAmount",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"address",name:"tokenInAddress",type:"address"},{internalType:"address",name:"exchangeAddress",type:"address"},{internalType:"address",name:"tokenOutAddress",type:"address"},{internalType:"address",name:"paymentReceiverAddress",type:"address"},{internalType:"address",name:"feeReceiverAddress",type:"address"},{internalType:"uint8",name:"exchangeType",type:"uint8"},{internalType:"uint8",name:"receiverType",type:"uint8"},{internalType:"bool",name:"permit2",type:"bool"},{internalType:"bytes",name:"exchangeCallData",type:"bytes"},{internalType:"bytes",name:"receiverCallData",type:"bytes"}],internalType:"structIDePayRouterV3.Payment",name:"payment",type:"tuple"}],name:"pay",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"paymentAmount",type:"uint256"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{internalType:"uint256",name:"protocolAmount",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"address",name:"tokenInAddress",type:"address"},{internalType:"address",name:"exchangeAddress",type:"address"},{internalType:"address",name:"tokenOutAddress",type:"address"},{internalType:"address",name:"paymentReceiverAddress",type:"address"},{internalType:"address",name:"feeReceiverAddress",type:"address"},{internalType:"uint8",name:"exchangeType",type:"uint8"},{internalType:"uint8",name:"receiverType",type:"uint8"},{internalType:"bool",name:"permit2",type:"bool"},{internalType:"bytes",name:"exchangeCallData",type:"bytes"},{internalType:"bytes",name:"receiverCallData",type:"bytes"}],internalType:"structIDePayRouterV3.Payment",name:"payment",type:"tuple"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"structIPermit2.PermitDetails",name:"details",type:"tuple"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"structIPermit2.PermitSingle",name:"permitSingle",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"pay",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[],name:"pendingOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]}},Rz={...Bz,...WO},Uz="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:{},Qz="object"==typeof Uz&&Uz&&Uz.Object===Object&&Uz,Wz="object"==typeof self&&self&&self.Object===Object&&self,Yz=(Qz||Wz||Function("return this")()).Symbol;Yz&&Yz.toStringTag,Yz&&Yz.toStringTag;const Fz=e=>{switch(e){case"solana":return 125e-6;case"worldchain":return.0043;case"gnosis":return.009;case"base":return.0095;case"optimism":return.0096;case"polygon":return.011;case"fantom":return.05;case"avalanche":return.1;case"arbitrum":return.11;case"bsc":return.2;case"ethereum":return 10;default:return 100}};function Vz(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}const Hz={arbitrum:{[Vf.arbitrum.wrapped.address]:"0x7E655088214d0657251A51aDccE9109CFd23B5B5"},avalanche:{[Vf.avalanche.wrapped.address]:"0x2d0a6275eaDa0d03226919ce6D93661E589B2d59"},base:{[Vf.base.wrapped.address]:"0xD1711710843B125a6a01FfDF9b95fDc3064BeF7A"},bsc:{[Vf.bsc.wrapped.address]:"0xeEb80d14abfB058AA78DE38813fe705c3e3b243E"},ethereum:{[Vf.ethereum.wrapped.address]:"0x298f4980525594b3b982779cf74ba76819708D43"},fantom:{[Vf.fantom.wrapped.address]:"0x2d0a6275eaDa0d03226919ce6D93661E589B2d59"},gnosis:{[Vf.gnosis.wrapped.address]:"0x2d0a6275eaDa0d03226919ce6D93661E589B2d59"},optimism:{[Vf.optimism.wrapped.address]:"0x69594057e2C0224deb1180c7a5Df9ec9d5B611B5"},polygon:{[Vf.polygon.wrapped.address]:"0xaE59C9d3E055BdFAa583E169aA5Ebe395689476a"},worldchain:{[Vf.worldchain.wrapped.address]:"0x2CA727BC33915823e3D05fe043d310B8c5b2dC5b"},solana:{}},Gz=({paymentRoute:e,options:t})=>e.directTransfer&&!e.fee&&"World App"!==Vz([t,"optionalAccess",e=>e.wallet,"optionalAccess",e=>e.name])?e.toToken.address==Vf[e.blockchain].currency.address?e.toAddress:e.toToken.address:Bz[e.blockchain].address,qz=({paymentRoute:e,options:t})=>e.directTransfer&&!e.fee&&"World App"!==Vz([t,"optionalAccess",e=>e.wallet,"optionalAccess",e=>e.name])?e.toToken.address==Vf[e.blockchain].currency.address?void 0:RS[e.blockchain].DEFAULT:Bz[e.blockchain].api,Zz=({paymentRoute:e,options:t})=>e.directTransfer&&!e.fee&&"World App"!==Vz([t,"optionalAccess",e=>e.wallet,"optionalAccess",e=>e.name])?e.toToken.address==Vf[e.blockchain].currency.address?void 0:"transfer":"pay",Jz=async({paymentRoute:e,options:t,deadline:n})=>{if(e.directTransfer&&!e.fee&&"World App"!==Vz([t,"optionalAccess",e=>e.wallet,"optionalAccess",e=>e.name]))return e.toToken.address==Vf[e.blockchain].currency.address?void 0:[e.toAddress,e.toAmount];{const r=e.exchangeRoutes[0],i=(({exchangeRoute:e,blockchain:t})=>void 0===e?0:e.exchange[t].router.address===Vf[t].wrapped.address?2:1)({exchangeRoute:r,blockchain:e.blockchain}),o=r?await r.getTransaction({account:Bz[e.blockchain].address,inputTokenPushed:2===i}):void 0,a=o?(({exchangeTransaction:e})=>{const t=new zM(e.to,e.api),n=e.method,r=e.params;let i,o,a;return o=t.interface.fragments.find((e=>!(e.name!=n||e.inputs&&r&&"object"==typeof r&&e.inputs.length!=Object.keys(r).length))),1===o.inputs.length&&"tuple"===o.inputs[0].type?(i=n,a=[r[o.inputs[0].name]]):(i=`${n}(${o.inputs.map((e=>e.type)).join(",")})`,a=o.inputs.map((e=>{if("tuple"===e.type){let t={};return e.components.forEach(((n,i)=>{t[n.name]=r[e.name][i]})),i=n,t}return r[e.name]}))),t.interface.encodeFunctionData(i,a)})({exchangeTransaction:o}):Vf[e.blockchain].zero;let s,u=Vf[e.blockchain].zero;if(r&&(u="bsc"===e.blockchain&&"pancakeswap_v3"===r.exchange.name&&e.toToken.address===Vf[e.blockchain].currency.address?r.exchange[e.blockchain].smartRouter.address:Hz[o.blockchain][r.exchange[e.blockchain].router.address]||r.exchange[e.blockchain].router.address),t&&"World App"===Vz([t,"optionalAccess",e=>e.wallet,"optionalAccess",e=>e.name])&&"worldchain"===e.blockchain){const t=Math.floor(Date.now()/1e3)+1800,r=await(async({address:e,blockchain:t})=>{const n=(e,n)=>yz({blockchain:t,address:Vf[t].permit2,api:[{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"AllowanceExpired",type:"error"},{inputs:[],name:"ExcessiveInvalidation",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"InsufficientAllowance",type:"error"},{inputs:[{internalType:"uint256",name:"maxAmount",type:"uint256"}],name:"InvalidAmount",type:"error"},{inputs:[],name:"InvalidContractSignature",type:"error"},{inputs:[],name:"InvalidNonce",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"InvalidSignatureLength",type:"error"},{inputs:[],name:"InvalidSigner",type:"error"},{inputs:[],name:"LengthMismatch",type:"error"},{inputs:[{internalType:"uint256",name:"signatureDeadline",type:"uint256"}],name:"SignatureExpired",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"spender",type:"address"}],name:"Lockdown",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint48",name:"newNonce",type:"uint48"},{indexed:!1,internalType:"uint48",name:"oldNonce",type:"uint48"}],name:"NonceInvalidation",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"},{indexed:!1,internalType:"uint48",name:"nonce",type:"uint48"}],name:"Permit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"uint256",name:"word",type:"uint256"},{indexed:!1,internalType:"uint256",name:"mask",type:"uint256"}],name:"UnorderedNonceInvalidation",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint48",name:"newNonce",type:"uint48"}],name:"invalidateNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"wordPos",type:"uint256"},{internalType:"uint256",name:"mask",type:"uint256"}],name:"invalidateUnorderedNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"}],internalType:"struct IAllowanceTransfer.TokenSpenderPair[]",name:"approvals",type:"tuple[]"}],name:"lockdown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"nonceBitmap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails[]",name:"details",type:"tuple[]"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitBatch",name:"permitBatch",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails",name:"details",type:"tuple"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitSingle",name:"permitSingle",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],internalType:"struct IAllowanceTransfer.AllowanceTransferDetails[]",name:"transferDetails",type:"tuple[]"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}],method:"nonceBitmap",params:[e,n]}),r=e=>{for(let t=0;t<256;t++)if(e.shr(t).and(1).eq(0))return t;return-1};function i(e,t){return Yp.from(e).mul(256).add(t)}let o=0;for(;o<1;){const a=await n(e,o);if(a.toString()!=Vf[t].maxInt){const e=r(a);if(e>=0)return i(o,e)}o+=1}})({blockchain:e.blockchain,address:e.fromAddress}),o={permitted:{token:e.fromToken.address,amount:e.fromAmount.toString()},nonce:r.toString(),deadline:t.toString()};s={args:[[e.fromAmount.toString(),e.toAmount.toString(),(e.feeAmount||0).toString(),"0",n.toString(),e.fromToken.address,u,e.toToken.address,e.toAddress,e.fee?e.fee.receiver:Vf[e.blockchain].zero,i,0,!0,a,"0x"],[[[e.fromToken.address,e.fromAmount.toString()],r.toString(),t.toString()],"PERMIT2_SIGNATURE_PLACEHOLDER_0"]],permit2:{...o,spender:Bz[e.blockchain].address}}}else s="worldchain"===e.blockchain?{payment:{amountIn:e.fromAmount,paymentAmount:e.toAmount,feeAmount:e.feeAmount||0,protocolAmount:0,tokenInAddress:e.fromToken.address,exchangeAddress:u,tokenOutAddress:e.toToken.address,paymentReceiverAddress:e.toAddress,feeReceiverAddress:e.fee?e.fee.receiver:Vf[e.blockchain].zero,exchangeType:i,receiverType:0,exchangeCallData:a,receiverCallData:Vf[e.blockchain].zero,deadline:n}}:{payment:{amountIn:e.fromAmount,paymentAmount:e.toAmount,feeAmount:e.feeAmount||0,tokenInAddress:e.fromToken.address,exchangeAddress:u,tokenOutAddress:e.toToken.address,paymentReceiverAddress:e.toAddress,feeReceiverAddress:e.fee?e.fee.receiver:Vf[e.blockchain].zero,exchangeType:i,receiverType:0,exchangeCallData:a,receiverCallData:Vf[e.blockchain].zero,deadline:n}};return s}},Xz=({paymentRoute:e})=>e.fromToken.address==Vf[e.blockchain].currency.address?e.directTransfer?e.toAmount.toString():e.fromAmount.toString():Yp.from("0").toString();let Kz=["ethereum","bsc","polygon","solana","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"];Kz.evm=["ethereum","bsc","polygon","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"],Kz.solana=["solana"];const $z=({paymentRoute:e,fee:t,options:n})=>{if(Kz.evm.includes(e.blockchain))return(async({paymentRoute:e,options:t})=>{let n;n="worldchain"===e.blockchain?Math.ceil(new Date)+36e5:Math.ceil(new Date/1e3)+3600;const r={blockchain:e.blockchain,to:Gz({paymentRoute:e,options:t}),api:qz({paymentRoute:e,options:t}),method:Zz({paymentRoute:e,options:t}),params:await Jz({paymentRoute:e,options:t,deadline:n}),value:Xz({paymentRoute:e})};return r.deadline=n,r})({paymentRoute:e,fee:t,options:n});if(Kz.solana.includes(e.blockchain))return Pz({paymentRoute:e,fee:t,options:n});throw"Blockchain not supported!"};function eP(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}class tP{constructor({blockchain:e,fromAddress:t,fromToken:n,fromAmount:r,fromDecimals:i,fromBalance:o,toToken:a,toAmount:s,toDecimals:u,toAddress:c,fee:l,feeAmount:h,exchangeRoutes:d,approvalRequired:f,currentAllowance:p,approvalTransaction:y,directTransfer:m}){this.blockchain=e,this.fromAddress=t,this.fromToken=n,this.fromAmount=eP([r||s,"optionalAccess",e=>e.toString,"call",e=>e()]),this.fromDecimals=i,this.fromBalance=o,this.toToken=a,this.toAmount=eP([s,"optionalAccess",e=>e.toString,"call",e=>e()]),this.toDecimals=u,this.toAddress=c,this.fee=l,this.feeAmount=h,this.exchangeRoutes=d||[],this.currentAllowance=p,this.approvalRequired=f,this.approvalTransaction=y,this.directTransfer=m,this.getTransaction=async e=>await $z({paymentRoute:this,options:e})}}function nP({assets:e,blacklist:t,accept:n,from:r}){return Promise.resolve(iP({assets:e,blacklist:t})).then((e=>function({assets:e,accept:t,from:n}){return Promise.all(e.map((async e=>{let r=t.filter((t=>t.blockchain==e.blockchain)),i=new RS(e);return Promise.all(r.map((async t=>{if(t.token&&t.amount){let r=t.blockchain,o=e.decimals,a=new RS({blockchain:r,address:t.token}),s=await a.decimals(),u=(await a.BigNumber(t.amount)).toString();return new tP({blockchain:r,fromToken:i,fromDecimals:o,toToken:a,toAmount:u,toDecimals:s,fromBalance:e.balance,fromAddress:n[t.blockchain],toAddress:t.toAddress,fee:t.fee})}if(t.fromToken&&t.fromAmount&&i.address.toLowerCase()==t.fromToken.toLowerCase()){let r=t.blockchain,o=(await i.BigNumber(t.fromAmount)).toString(),a=e.decimals,s=new RS({blockchain:r,address:t.toToken}),u=await s.decimals();return new tP({blockchain:r,fromToken:i,fromDecimals:a,fromAmount:o,toToken:s,toDecimals:u,fromBalance:e.balance,fromAddress:n[t.blockchain],toAddress:t.toAddress,fee:t.fee})}})))}))).then((e=>e.flat().filter((e=>e))))}({assets:e,accept:n,from:r}))).then((e=>cP({routes:e}))).then(oP).then(aP).then(sP).then((e=>fP({routes:e}))).then(uP).then(yP).then(pP).then((e=>e.map((e=>new tP(e)))))}function rP({accept:e,from:t,whitelist:n,blacklist:r,drip:i}){if(e.some((e=>e&&e.fee&&"string"==typeof e.fee.amount&&e.fee.amount.match(/\.\d\d+\%/))))throw"Only up to 1 decimal is supported for fee amounts!";return new Promise((async(o,a)=>{let s=[],u=[];if(n)for(const e in n)(n[e]||[]).forEach((t=>{u.push(e),s.push({blockchain:e,address:t})}));else e.forEach((e=>{u.push(e.blockchain),s.push({blockchain:e.blockchain,address:e.token||e.toToken})}));[...new Set(u)].forEach((e=>{s.find((t=>t.blockchain===e&&t.address===Vf[e].currency.address))||n&&!(n&&n[e]&&n[e].includes(Vf[e].currency.address))||s.push({blockchain:e,address:Vf[e].currency.address})})),s.sort(((e,t)=>Fz(e.blockchain)<Fz(t.blockchain)?-1:Fz(t.blockchain)<Fz(e.blockchain)?1:e.address.toLowerCase()===Vf[e.blockchain].currency.address.toLowerCase()?-1:t.address.toLowerCase()===Vf[t.blockchain].currency.address.toLowerCase()?1:0));let c=0;const l=[],h=[],d=s.map((e=>[e.blockchain,e.address.toLowerCase()].join(""))),f=()=>Math.ceil(new Date),p=f();setTimeout((()=>{l.forEach((e=>y(rP,!1)))}),3e3);const y=(e,t=!0)=>{try{const n={blockchain:e.blockchain,address:e.fromToken.address},r=[n.blockchain,n.address.toLowerCase()].join(""),o=f()-p>3e3;if(h.indexOf(r)>-1)return;if(d.indexOf(r)===c){if(h.push(r),i(e),c+=1,!t)return;l.forEach((t=>y(e,!1)))}else c>=d.length||o?(-1===d.indexOf(r)||c>=d.length||o)&&(h.push(r),i(e)):l.find((e=>e.blockchain===n.blockchain&&e.address.toLowerCase()===n.address.toLowerCase()))||(l.push(n),l.sort(((e,t)=>((e,t,n)=>{if(!e||0===e.length)return 0;let r=e.indexOf([t.blockchain,t.address.toLowerCase()].join("")),i=e.indexOf([n.blockchain,n.address.toLowerCase()].join(""));return-1!==r&&-1===i?-1:-1!==i&&-1===r?1:r<i?-1:i<r?1:0})(d,e,t))))}catch(e){}},m=await ZS({accounts:t,priority:s,only:n,exclude:r,drip:i?n=>{nP({assets:[n],blacklist:r,accept:e,from:t}).then((e=>{eP([e,"optionalAccess",e=>e.length])&&y(e[0])}))}:void 0});let g=await nP({assets:m,blacklist:r,accept:e,from:t})||[];g.assets=m,o(g)}))}let iP=({assets:e,blacklist:t})=>null==t?e:e.filter((e=>null==t[e.blockchain]||!t[e.blockchain].find((t=>t.toLowerCase()==e.address.toLowerCase())))),oP=async e=>await Promise.all(e.map((e=>e.directTransfer?[]:e.toToken&&e.toAmount?QO.route({blockchain:e.blockchain,tokenIn:e.fromToken.address,tokenOut:e.toToken.address,amountOutMin:e.toAmount,fromAddress:e.fromAddress,toAddress:e.toAddress}):e.fromToken&&e.fromAmount?QO.route({blockchain:e.blockchain,tokenIn:e.fromToken.address,tokenOut:e.toToken.address,amountIn:e.fromAmount,fromAddress:e.fromAddress,toAddress:e.toAddress}):void 0))).then((t=>e.map(((e,n)=>(e.exchangeRoutes=t[n],e))))),aP=e=>e.filter((e=>0!=e.exchangeRoutes.length||e.fromToken.address.toLowerCase()==e.toToken.address.toLowerCase())),sP=async e=>e.filter((e=>e.fromToken.address.toLowerCase()==e.toToken.address.toLowerCase()?Yp.from(e.fromBalance).gte(Yp.from(e.toAmount)):e.fromAmount&&e.toAmount?Yp.from(e.fromBalance).gte(Yp.from(e.exchangeRoutes[0].amountInMax)):e.exchangeRoutes[0]&&e.exchangeRoutes[0].amountIn?Yp.from(e.fromBalance).gte(Yp.from(e.exchangeRoutes[0].amountIn)):void 0)),uP=e=>Promise.all(e.map((e=>"solana"===e.blockchain?Promise.resolve(Vf.solana.maxInt):e.fromToken.allowance(e.fromAddress,Rz[e.blockchain].address).catch((()=>{}))))).then((t=>(e.map(((n,r)=>{void 0===t[r]||n.directTransfer||n.fromToken.address.toLowerCase()==Vf[n.blockchain].currency.address.toLowerCase()||"solana"===n.blockchain?e[r].approvalRequired=!1:(e[r].currentAllowance=Yp.from(t[r]),e[r].approvalRequired=Yp.from(n.fromAmount).gte(Yp.from(t[r])),e[r].approvalRequired&&(e[r].approvalTransaction={blockchain:n.blockchain,to:n.fromToken.address,api:RS[n.blockchain].DEFAULT,method:"approve",params:[Rz[n.blockchain].address,Vf[n.blockchain].maxInt]}))})),e))),cP=({routes:e})=>e.map((e=>(Kz.evm.includes(e.blockchain)?e.directTransfer=e.fromToken.address.toLowerCase()==e.toToken.address.toLowerCase()&&null==e.fee:"solana"===e.blockchain&&(e.directTransfer=e.fromToken.address.toLowerCase()==e.toToken.address.toLowerCase()),e))),lP=({paymentRoute:e,exchangeRoute:t})=>{let n,r,i;return t?(t&&t.exchange.wrapper,n=t.amountIn.toString(),r=hP({amount:t.amountOutMin.toString(),paymentRoute:e})):(n=e.fromAmount,r=hP({amount:e.fromAmount,paymentRoute:e})),e.fee&&(i=dP({paymentRoute:e})),{fromAmount:n,toAmount:r,feeAmount:i}},hP=({amount:e,paymentRoute:t})=>{if(t.fee){let n=dP({paymentRoute:t});return Yp.from(e).sub(n).toString()}return e},dP=({paymentRoute:e})=>{if("string"==typeof e.fee.amount&&e.fee.amount.match("%"))return Yp.from(e.toAmount).mul(10*parseFloat(e.fee.amount)).div(1e3).toString();if("string"==typeof e.fee.amount)return e.fee.amount;if("number"==typeof e.fee.amount)return uI(e.fee.amount.toString(),e.toDecimals).toString();throw"Unknown fee amount type!"},fP=({routes:e})=>e.map((e=>{if(Kz.evm.includes(e.blockchain))if(e.directTransfer&&!e.fee)e.fromAmount=e.toAmount;else{let{fromAmount:t,toAmount:n,feeAmount:r}=lP({paymentRoute:e,exchangeRoute:e.exchangeRoutes[0]});e.fromAmount=t,e.toAmount=n,e.fee&&(e.feeAmount=r)}else if(Kz.solana.includes(e.blockchain)){let{fromAmount:t,toAmount:n,feeAmount:r}=lP({paymentRoute:e,exchangeRoute:e.exchangeRoutes[0]});e.fromAmount=t,e.toAmount=n,e.fee&&(e.feeAmount=r)}return e})),pP=e=>e.filter(((t,n)=>null==e.find(((e,r)=>t.fromToken.address==e.fromToken.address&&(t.fromToken.blockchain==e.fromToken.blockchain&&(!(!e.directTransfer||t.directTransfer)||(!(!Yp.from(e.fromAmount).lt(Yp.from(t.fromAmount))||t.directTransfer)||(e.fromAmount==t.fromAmount&&r<n||void 0)))))))),yP=e=>{let t=-1;return e.sort(((e,n)=>Fz(e.fromToken.blockchain)<Fz(n.fromToken.blockchain)?t:Fz(n.fromToken.blockchain)<Fz(e.fromToken.blockchain)?1:e.fromToken.address.toLowerCase()==e.toToken.address.toLowerCase()?t:n.fromToken.address.toLowerCase()==n.toToken.address.toLowerCase()||e.approvalRequired&&!n.approvalRequired?1:n.approvalRequired&&!e.approvalRequired||JSON.stringify([e.fromToken.address.toLowerCase(),e.toToken.address.toLowerCase()].sort())==JSON.stringify([Vf[e.blockchain].currency.address.toLowerCase(),Vf[e.blockchain].wrapped.address.toLowerCase()].sort())?t:JSON.stringify([n.fromToken.address.toLowerCase(),n.toToken.address.toLowerCase()].sort())==JSON.stringify([Vf[n.blockchain].currency.address.toLowerCase(),Vf[n.blockchain].wrapped.address.toLowerCase()].sort())?1:e.fromToken.address.toLowerCase()==Vf[e.blockchain].currency.address.toLowerCase()?t:n.fromToken.address.toLowerCase()==Vf[n.blockchain].currency.address.toLowerCase()?1:e.fromToken.address<n.fromToken.address?t:1))};var mP=dS.createContext({accept:[]});
88
+ */function pj(e){var t,n,r,i=e.length-1,o="",a=e[0];if(i>0){for(o+=a,t=1;t<i;t++)(n=7-(r=e[t]+"").length)&&(o+=Tj(n)),o+=r;(n=7-(r=(a=e[t])+"").length)&&(o+=Tj(n))}else if(0===a)return"0";for(;a%10==0;)a/=10;return o+a}function yj(e,t,n){if(e!==~~e||e<t||e>n)throw Error(nj+e)}function mj(e,t,n,r){var i,o,a,s;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=7,i=0):(i=Math.ceil((t+1)/7),t%=7),o=oj(10,7-t),s=e[i]%o|0,null==r?t<3?(0==t?s=s/100|0:1==t&&(s=s/10|0),a=n<4&&99999==s||n>3&&49999==s||5e4==s||0==s):a=(n<4&&s+1==o||n>3&&s+1==o/2)&&(e[i+1]/o/100|0)==oj(10,t-2)-1||(s==o/2||0==s)&&0==(e[i+1]/o/100|0):t<4?(0==t?s=s/1e3|0:1==t?s=s/100|0:2==t&&(s=s/10|0),a=(r||n<4)&&9999==s||!r&&n>3&&4999==s):a=((r||n<4)&&s+1==o||!r&&n>3&&s+1==o/2)&&(e[i+1]/o/1e3|0)==oj(10,t-3)-1,a}function gj(e,t,n){for(var r,i,o=[0],a=0,s=e.length;a<s;){for(i=o.length;i--;)o[i]*=t;for(o[0]+=XS.indexOf(e.charAt(a++)),r=0;r<o.length;r++)o[r]>n-1&&(void 0===o[r+1]&&(o[r+1]=0),o[r+1]+=o[r]/n|0,o[r]%=n)}return o.reverse()}fj.absoluteValue=fj.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),wj(e)},fj.ceil=function(){return wj(new this.constructor(this),this.e+1,2)},fj.clampedTo=fj.clamp=function(e,t){var n=this,r=n.constructor;if(e=new r(e),t=new r(t),!e.s||!t.s)return new r(NaN);if(e.gt(t))throw Error(nj+t);return n.cmp(e)<0?e:n.cmp(t)>0?t:new r(n)},fj.comparedTo=fj.cmp=function(e){var t,n,r,i,o=this,a=o.d,s=(e=new o.constructor(e)).d,u=o.s,c=e.s;if(!a||!s)return u&&c?u!==c?u:a===s?0:!a^u<0?1:-1:NaN;if(!a[0]||!s[0])return a[0]?u:s[0]?-c:0;if(u!==c)return u;if(o.e!==e.e)return o.e>e.e^u<0?1:-1;for(t=0,n=(r=a.length)<(i=s.length)?r:i;t<n;++t)if(a[t]!==s[t])return a[t]>s[t]^u<0?1:-1;return r===i?0:r>i^u<0?1:-1},fj.cosine=fj.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+7,r.rounding=1,n=function(e,t){var n,r,i;if(t.isZero())return t;(r=t.d.length)<32?i=(1/zj(4,n=Math.ceil(r/3))).toString():(n=16,i="2.3283064365386962890625e-10");e.precision+=n,t=Oj(e,1,t.times(i),new e(1));for(var o=n;o--;){var a=t.times(t);t=a.times(a).minus(a).times(8).plus(1)}return e.precision-=n,t}(r,Pj(r,n)),r.precision=e,r.rounding=t,wj(2==qS||3==qS?n.neg():n,e,t,!0)):new r(1):new r(NaN)},fj.cubeRoot=fj.cbrt=function(){var e,t,n,r,i,o,a,s,u,c,l=this,h=l.constructor;if(!l.isFinite()||l.isZero())return new h(l);for(tj=!1,(o=l.s*oj(l.s*l,1/3))&&Math.abs(o)!=1/0?r=new h(o.toString()):(n=pj(l.d),(o=((e=l.e)-n.length+1)%3)&&(n+=1==o||-2==o?"0":"00"),o=oj(n,1/3),e=ij((e+1)/3)-(e%3==(e<0?-1:2)),(r=new h(n=o==1/0?"5e"+e:(n=o.toExponential()).slice(0,n.indexOf("e")+1)+e)).s=l.s),a=(e=h.precision)+3;;)if(c=(u=(s=r).times(s).times(s)).plus(l),r=vj(c.plus(l).times(s),c.plus(u),a+2,1),pj(s.d).slice(0,a)===(n=pj(r.d)).slice(0,a)){if("9999"!=(n=n.slice(a-3,a+1))&&(i||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(wj(r,e+1,1),t=!r.times(r).times(r).eq(l));break}if(!i&&(wj(s,e+1,0),s.times(s).times(s).eq(l))){r=s;break}a+=4,i=1}return tj=!0,wj(r,e,h.rounding,t)},fj.decimalPlaces=fj.dp=function(){var e,t=this.d,n=NaN;if(t){if(n=7*((e=t.length-1)-ij(this.e/7)),e=t[e])for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n},fj.dividedBy=fj.div=function(e){return vj(this,new this.constructor(e))},fj.dividedToIntegerBy=fj.divToInt=function(e){var t=this.constructor;return wj(vj(this,new t(e),0,1,1),t.precision,t.rounding)},fj.equals=fj.eq=function(e){return 0===this.cmp(e)},fj.floor=function(){return wj(new this.constructor(this),this.e+1,3)},fj.greaterThan=fj.gt=function(e){return this.cmp(e)>0},fj.greaterThanOrEqualTo=fj.gte=function(e){var t=this.cmp(e);return 1==t||0===t},fj.hyperbolicCosine=fj.cosh=function(){var e,t,n,r,i,o=this,a=o.constructor,s=new a(1);if(!o.isFinite())return new a(o.s?1/0:NaN);if(o.isZero())return s;n=a.precision,r=a.rounding,a.precision=n+Math.max(o.e,o.sd())+4,a.rounding=1,(i=o.d.length)<32?t=(1/zj(4,e=Math.ceil(i/3))).toString():(e=16,t="2.3283064365386962890625e-10"),o=Oj(a,1,o.times(t),new a(1),!0);for(var u,c=e,l=new a(8);c--;)u=o.times(o),o=s.minus(u.times(l.minus(u.times(l))));return wj(o,a.precision=n,a.rounding=r,!0)},fj.hyperbolicSine=fj.sinh=function(){var e,t,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,n=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,(r=i.d.length)<3)i=Oj(o,2,i,i,!0);else{e=(e=1.4*Math.sqrt(r))>16?16:0|e,i=Oj(o,2,i=i.times(1/zj(5,e)),i,!0);for(var a,s=new o(5),u=new o(16),c=new o(20);e--;)a=i.times(i),i=i.times(s.plus(a.times(u.times(a).plus(c))))}return o.precision=t,o.rounding=n,wj(i,t,n,!0)},fj.hyperbolicTangent=fj.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,vj(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)},fj.inverseCosine=fj.acos=function(){var e,t=this,n=t.constructor,r=t.abs().cmp(1),i=n.precision,o=n.rounding;return-1!==r?0===r?t.isNeg()?Ij(n,i,o):new n(0):new n(NaN):t.isZero()?Ij(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,t=t.asin(),e=Ij(n,i+4,o).times(.5),n.precision=i,n.rounding=o,e.minus(t))},fj.inverseHyperbolicCosine=fj.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,tj=!1,n=n.times(n).minus(1).sqrt().plus(n),tj=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)},fj.inverseHyperbolicSine=fj.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,tj=!1,n=n.times(n).plus(1).sqrt().plus(n),tj=!0,r.precision=e,r.rounding=t,n.ln())},fj.inverseHyperbolicTangent=fj.atanh=function(){var e,t,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,r=i.sd(),Math.max(r,e)<2*-i.e-1?wj(new o(i),e,t,!0):(o.precision=n=r-i.e,i=vj(i.plus(1),new o(1).minus(i),n+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)},fj.inverseSine=fj.asin=function(){var e,t,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),n=o.precision,r=o.rounding,-1!==t?0===t?((e=Ij(o,n+4,r).times(.5)).s=i.s,e):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))},fj.inverseTangent=fj.atan=function(){var e,t,n,r,i,o,a,s,u,c=this,l=c.constructor,h=l.precision,d=l.rounding;if(c.isFinite()){if(c.isZero())return new l(c);if(c.abs().eq(1)&&h+4<=dj)return(a=Ij(l,h+4,d).times(.25)).s=c.s,a}else{if(!c.s)return new l(NaN);if(h+4<=dj)return(a=Ij(l,h+4,d).times(.5)).s=c.s,a}for(l.precision=s=h+10,l.rounding=1,e=n=Math.min(28,s/7+2|0);e;--e)c=c.div(c.times(c).plus(1).sqrt().plus(1));for(tj=!1,t=Math.ceil(s/7),r=1,u=c.times(c),a=new l(c),i=c;-1!==e;)if(i=i.times(u),o=a.minus(i.div(r+=2)),i=i.times(u),void 0!==(a=o.plus(i.div(r+=2))).d[t])for(e=t;a.d[e]===o.d[e]&&e--;);return n&&(a=a.times(2<<n-1)),tj=!0,wj(a,l.precision=h,l.rounding=d,!0)},fj.isFinite=function(){return!!this.d},fj.isInteger=fj.isInt=function(){return!!this.d&&ij(this.e/7)>this.d.length-2},fj.isNaN=function(){return!this.s},fj.isNegative=fj.isNeg=function(){return this.s<0},fj.isPositive=fj.isPos=function(){return this.s>0},fj.isZero=function(){return!!this.d&&0===this.d[0]},fj.lessThan=fj.lt=function(e){return this.cmp(e)<0},fj.lessThanOrEqualTo=fj.lte=function(e){return this.cmp(e)<1},fj.logarithm=fj.log=function(e){var t,n,r,i,o,a,s,u,c=this,l=c.constructor,h=l.precision,d=l.rounding;if(null==e)e=new l(10),t=!0;else{if(n=(e=new l(e)).d,e.s<0||!n||!n[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(n=c.d,c.s<0||!n||!n[0]||c.eq(1))return new l(n&&!n[0]?-1/0:1!=c.s?NaN:n?0:1/0);if(t)if(n.length>1)o=!0;else{for(i=n[0];i%10==0;)i/=10;o=1!==i}if(tj=!1,a=Sj(c,s=h+5),r=t?Aj(l,s+10):Sj(e,s),mj((u=vj(a,r,s,1)).d,i=h,d))do{if(a=Sj(c,s+=10),r=t?Aj(l,s+10):Sj(e,s),u=vj(a,r,s,1),!o){+pj(u.d).slice(i+1,i+15)+1==1e14&&(u=wj(u,h+1,0));break}}while(mj(u.d,i+=10,d));return tj=!0,wj(u,h,d)},fj.minus=fj.sub=function(e){var t,n,r,i,o,a,s,u,c,l,h,d,f=this,p=f.constructor;if(e=new p(e),!f.d||!e.d)return f.s&&e.s?f.d?e.s=-e.s:e=new p(e.d||f.s!==e.s?f:NaN):e=new p(NaN),e;if(f.s!=e.s)return e.s=-e.s,f.plus(e);if(c=f.d,d=e.d,s=p.precision,u=p.rounding,!c[0]||!d[0]){if(d[0])e.s=-e.s;else{if(!c[0])return new p(3===u?-0:0);e=new p(f)}return tj?wj(e,s,u):e}if(n=ij(e.e/7),l=ij(f.e/7),c=c.slice(),o=l-n){for((h=o<0)?(t=c,o=-o,a=d.length):(t=d,n=l,a=c.length),o>(r=Math.max(Math.ceil(s/7),a)+2)&&(o=r,t.length=1),t.reverse(),r=o;r--;)t.push(0);t.reverse()}else{for((h=(r=c.length)<(a=d.length))&&(a=r),r=0;r<a;r++)if(c[r]!=d[r]){h=c[r]<d[r];break}o=0}for(h&&(t=c,c=d,d=t,e.s=-e.s),a=c.length,r=d.length-a;r>0;--r)c[a++]=0;for(r=d.length;r>o;){if(c[--r]<d[r]){for(i=r;i&&0===c[--i];)c[i]=lj-1;--c[i],c[r]+=lj}c[r]-=d[r]}for(;0===c[--a];)c.pop();for(;0===c[0];c.shift())--n;return c[0]?(e.d=c,e.e=Mj(c,n),tj?wj(e,s,u):e):new p(3===u?-0:0)},fj.modulo=fj.mod=function(e){var t,n=this,r=n.constructor;return e=new r(e),!n.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||n.d&&!n.d[0]?wj(new r(n),r.precision,r.rounding):(tj=!1,9==r.modulo?(t=vj(n,e.abs(),0,3,1)).s*=e.s:t=vj(n,e,0,r.modulo,1),t=t.times(e),tj=!0,n.minus(t))},fj.naturalExponential=fj.exp=function(){return Lj(this)},fj.naturalLogarithm=fj.ln=function(){return Sj(this)},fj.negated=fj.neg=function(){var e=new this.constructor(this);return e.s=-e.s,wj(e)},fj.plus=fj.add=function(e){var t,n,r,i,o,a,s,u,c,l,h=this,d=h.constructor;if(e=new d(e),!h.d||!e.d)return h.s&&e.s?h.d||(e=new d(e.d||h.s===e.s?h:NaN)):e=new d(NaN),e;if(h.s!=e.s)return e.s=-e.s,h.minus(e);if(c=h.d,l=e.d,s=d.precision,u=d.rounding,!c[0]||!l[0])return l[0]||(e=new d(h)),tj?wj(e,s,u):e;if(o=ij(h.e/7),r=ij(e.e/7),c=c.slice(),i=o-r){for(i<0?(n=c,i=-i,a=l.length):(n=l,r=o,a=c.length),i>(a=(o=Math.ceil(s/7))>a?o+1:a+1)&&(i=a,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for((a=c.length)-(i=l.length)<0&&(i=a,n=l,l=c,c=n),t=0;i;)t=(c[--i]=c[i]+l[i]+t)/lj|0,c[i]%=lj;for(t&&(c.unshift(t),++r),a=c.length;0==c[--a];)c.pop();return e.d=c,e.e=Mj(c,r),tj?wj(e,s,u):e},fj.precision=fj.sd=function(e){var t,n=this;if(void 0!==e&&e!==!!e&&1!==e&&0!==e)throw Error(nj+e);return n.d?(t=Nj(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t},fj.round=function(){var e=this,t=e.constructor;return wj(new t(e),e.e+1,t.rounding)},fj.sine=fj.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+7,r.rounding=1,n=function(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:Oj(e,2,t,t);n=(n=1.4*Math.sqrt(r))>16?16:0|n,t=t.times(1/zj(5,n)),t=Oj(e,2,t,t);for(var i,o=new e(5),a=new e(16),s=new e(20);n--;)i=t.times(t),t=t.times(o.plus(i.times(a.times(i).minus(s))));return t}(r,Pj(r,n)),r.precision=e,r.rounding=t,wj(qS>2?n.neg():n,e,t,!0)):new r(NaN)},fj.squareRoot=fj.sqrt=function(){var e,t,n,r,i,o,a=this,s=a.d,u=a.e,c=a.s,l=a.constructor;if(1!==c||!s||!s[0])return new l(!c||c<0&&(!s||s[0])?NaN:s?a:1/0);for(tj=!1,0==(c=Math.sqrt(+a))||c==1/0?(((t=pj(s)).length+u)%2==0&&(t+="0"),c=Math.sqrt(t),u=ij((u+1)/2)-(u<0||u%2),r=new l(t=c==1/0?"5e"+u:(t=c.toExponential()).slice(0,t.indexOf("e")+1)+u)):r=new l(c.toString()),n=(u=l.precision)+3;;)if(r=(o=r).plus(vj(a,o,n+2,1)).times(.5),pj(o.d).slice(0,n)===(t=pj(r.d)).slice(0,n)){if("9999"!=(t=t.slice(n-3,n+1))&&(i||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(wj(r,u+1,1),e=!r.times(r).eq(a));break}if(!i&&(wj(o,u+1,0),o.times(o).eq(a))){r=o;break}n+=4,i=1}return tj=!0,wj(r,u,l.rounding,e)},fj.tangent=fj.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,(n=n.sin()).s=1,n=vj(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,wj(2==qS||4==qS?n.neg():n,e,t,!0)):new r(NaN)},fj.times=fj.mul=function(e){var t,n,r,i,o,a,s,u,c,l=this,h=l.constructor,d=l.d,f=(e=new h(e)).d;if(e.s*=l.s,!(d&&d[0]&&f&&f[0]))return new h(!e.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:d&&f?0*e.s:e.s/0);for(n=ij(l.e/7)+ij(e.e/7),(u=d.length)<(c=f.length)&&(o=d,d=f,f=o,a=u,u=c,c=a),o=[],r=a=u+c;r--;)o.push(0);for(r=c;--r>=0;){for(t=0,i=u+r;i>r;)s=o[i]+f[r]*d[i-r-1]+t,o[i--]=s%lj|0,t=s/lj|0;o[i]=(o[i]+t)%lj|0}for(;!o[--a];)o.pop();return t?++n:o.shift(),e.d=o,e.e=Mj(o,n),tj?wj(e,h.precision,h.rounding):e},fj.toBinary=function(e,t){return _j(this,2,e,t)},fj.toDecimalPlaces=fj.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),void 0===e?n:(yj(e,0,1e9),void 0===t?t=r.rounding:yj(t,0,8),wj(n,e+n.e+1,t))},fj.toExponential=function(e,t){var n,r=this,i=r.constructor;return void 0===e?n=bj(r,!0):(yj(e,0,1e9),void 0===t?t=i.rounding:yj(t,0,8),n=bj(r=wj(new i(r),e+1,t),!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n},fj.toFixed=function(e,t){var n,r,i=this,o=i.constructor;return void 0===e?n=bj(i):(yj(e,0,1e9),void 0===t?t=o.rounding:yj(t,0,8),n=bj(r=wj(new o(i),e+i.e+1,t),!1,e+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n},fj.toFraction=function(e){var t,n,r,i,o,a,s,u,c,l,h,d,f=this,p=f.d,y=f.constructor;if(!p)return new y(f);if(c=n=new y(1),r=u=new y(0),a=(o=(t=new y(r)).e=Nj(p)-f.e-1)%7,t.d[0]=oj(10,a<0?7+a:a),null==e)e=o>0?t:c;else{if(!(s=new y(e)).isInt()||s.lt(c))throw Error(nj+s);e=s.gt(t)?o>0?t:c:s}for(tj=!1,s=new y(pj(p)),l=y.precision,y.precision=o=7*p.length*2;h=vj(s,t,0,1,1),1!=(i=n.plus(h.times(r))).cmp(e);)n=r,r=i,i=c,c=u.plus(h.times(i)),u=i,i=t,t=s.minus(h.times(i)),s=i;return i=vj(e.minus(n),r,0,1,1),u=u.plus(i.times(c)),n=n.plus(i.times(r)),u.s=c.s=f.s,d=vj(c,r,o,1).minus(f).abs().cmp(vj(u,n,o,1).minus(f).abs())<1?[c,r]:[u,n],y.precision=l,tj=!0,d},fj.toHexadecimal=fj.toHex=function(e,t){return _j(this,16,e,t)},fj.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),null==e){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),void 0===t?t=r.rounding:yj(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(tj=!1,n=vj(n,e,0,t,1).times(e),tj=!0,wj(n)):(e.s=n.s,n=e),n},fj.toNumber=function(){return+this},fj.toOctal=function(e,t){return _j(this,8,e,t)},fj.toPower=fj.pow=function(e){var t,n,r,i,o,a,s=this,u=s.constructor,c=+(e=new u(e));if(!(s.d&&e.d&&s.d[0]&&e.d[0]))return new u(oj(+s,c));if((s=new u(s)).eq(1))return s;if(r=u.precision,o=u.rounding,e.eq(1))return wj(s,r,o);if((t=ij(e.e/7))>=e.d.length-1&&(n=c<0?-c:c)<=9007199254740991)return i=Ej(u,s,n,r),e.s<0?new u(1).div(i):wj(i,r,o);if((a=s.s)<0){if(t<e.d.length-1)return new u(NaN);if(0==(1&e.d[t])&&(a=1),0==s.e&&1==s.d[0]&&1==s.d.length)return s.s=a,s}return(t=0!=(n=oj(+s,c))&&isFinite(n)?new u(n+"").e:ij(c*(Math.log("0."+pj(s.d))/Math.LN10+s.e+1)))>u.maxE+1||t<u.minE-1?new u(t>0?a/0:0):(tj=!1,u.rounding=s.s=1,n=Math.min(12,(t+"").length),(i=Lj(e.times(Sj(s,r+n)),r)).d&&mj((i=wj(i,r+5,1)).d,r,o)&&(t=r+10,+pj((i=wj(Lj(e.times(Sj(s,t+n)),t),t+5,1)).d).slice(r+1,r+15)+1==1e14&&(i=wj(i,r+1,0))),i.s=a,tj=!0,u.rounding=o,wj(i,r,o))},fj.toPrecision=function(e,t){var n,r=this,i=r.constructor;return void 0===e?n=bj(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(yj(e,1,1e9),void 0===t?t=i.rounding:yj(t,0,8),n=bj(r=wj(new i(r),e,t),e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n},fj.toSignificantDigits=fj.toSD=function(e,t){var n=this.constructor;return void 0===e?(e=n.precision,t=n.rounding):(yj(e,1,1e9),void 0===t?t=n.rounding:yj(t,0,8)),wj(new n(this),e,t)},fj.toString=function(){var e=this,t=e.constructor,n=bj(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n},fj.truncated=fj.trunc=function(){return wj(new this.constructor(this),this.e+1,1)},fj.valueOf=fj.toJSON=function(){var e=this,t=e.constructor,n=bj(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};var vj=function(){function e(e,t,n){var r,i=0,o=e.length;for(e=e.slice();o--;)r=e[o]*t+i,e[o]=r%n|0,i=r/n|0;return i&&e.unshift(i),e}function t(e,t,n,r){var i,o;if(n!=r)o=n>r?1:-1;else for(i=o=0;i<n;i++)if(e[i]!=t[i]){o=e[i]>t[i]?1:-1;break}return o}function n(e,t,n,r){for(var i=0;n--;)e[n]-=i,i=e[n]<t[n]?1:0,e[n]=i*r+e[n]-t[n];for(;!e[0]&&e.length>1;)e.shift()}return function(r,i,o,a,s,u){var c,l,h,d,f,p,y,m,g,v,w,b,M,A,I,N,T,E,x,k,L=r.constructor,S=r.s==i.s?1:-1,j=r.d,D=i.d;if(!(j&&j[0]&&D&&D[0]))return new L(r.s&&i.s&&(j?!D||j[0]!=D[0]:D)?j&&0==j[0]||!D?0*S:S/0:NaN);for(u?(f=1,l=r.e-i.e):(u=lj,f=7,l=ij(r.e/f)-ij(i.e/f)),x=D.length,T=j.length,v=(g=new L(S)).d=[],h=0;D[h]==(j[h]||0);h++);if(D[h]>(j[h]||0)&&l--,null==o?(A=o=L.precision,a=L.rounding):A=s?o+(r.e-i.e)+1:o,A<0)v.push(1),p=!0;else{if(A=A/f+2|0,h=0,1==x){for(d=0,D=D[0],A++;(h<T||d)&&A--;h++)I=d*u+(j[h]||0),v[h]=I/D|0,d=I%D|0;p=d||h<T}else{for((d=u/(D[0]+1)|0)>1&&(D=e(D,d,u),j=e(j,d,u),x=D.length,T=j.length),N=x,b=(w=j.slice(0,x)).length;b<x;)w[b++]=0;(k=D.slice()).unshift(0),E=D[0],D[1]>=u/2&&++E;do{d=0,(c=t(D,w,x,b))<0?(M=w[0],x!=b&&(M=M*u+(w[1]||0)),(d=M/E|0)>1?(d>=u&&(d=u-1),1==(c=t(y=e(D,d,u),w,m=y.length,b=w.length))&&(d--,n(y,x<m?k:D,m,u))):(0==d&&(c=d=1),y=D.slice()),(m=y.length)<b&&y.unshift(0),n(w,y,b,u),-1==c&&(c=t(D,w,x,b=w.length))<1&&(d++,n(w,x<b?k:D,b,u)),b=w.length):0===c&&(d++,w=[0]),v[h++]=d,c&&w[0]?w[b++]=j[N]||0:(w=[j[N]],b=1)}while((N++<T||void 0!==w[0])&&A--);p=void 0!==w[0]}v[0]||v.shift()}if(1==f)g.e=l,GS=p;else{for(h=1,d=v[0];d>=10;d/=10)h++;g.e=h+l*f-1,wj(g,s?o+g.e+1:o,a,p)}return g}}();function wj(e,t,n,r){var i,o,a,s,u,c,l,h,d,f=e.constructor;e:if(null!=t){if(!(h=e.d))return e;for(i=1,s=h[0];s>=10;s/=10)i++;if((o=t-i)<0)o+=7,a=t,u=(l=h[d=0])/oj(10,i-a-1)%10|0;else if((d=Math.ceil((o+1)/7))>=(s=h.length)){if(!r)break e;for(;s++<=d;)h.push(0);l=u=0,i=1,a=(o%=7)-7+1}else{for(l=s=h[d],i=1;s>=10;s/=10)i++;u=(a=(o%=7)-7+i)<0?0:l/oj(10,i-a-1)%10|0}if(r=r||t<0||void 0!==h[d+1]||(a<0?l:l%oj(10,i-a-1)),c=n<4?(u||r)&&(0==n||n==(e.s<0?3:2)):u>5||5==u&&(4==n||r||6==n&&(o>0?a>0?l/oj(10,i-a):0:h[d-1])%10&1||n==(e.s<0?8:7)),t<1||!h[0])return h.length=0,c?(t-=e.e+1,h[0]=oj(10,(7-t%7)%7),e.e=-t||0):h[0]=e.e=0,e;if(0==o?(h.length=d,s=1,d--):(h.length=d+1,s=oj(10,7-o),h[d]=a>0?(l/oj(10,i-a)%oj(10,a)|0)*s:0),c)for(;;){if(0==d){for(o=1,a=h[0];a>=10;a/=10)o++;for(a=h[0]+=s,s=1;a>=10;a/=10)s++;o!=s&&(e.e++,h[0]==lj&&(h[0]=1));break}if(h[d]+=s,h[d]!=lj)break;h[d--]=0,s=1}for(o=h.length;0===h[--o];)h.pop()}return tj&&(e.e>f.maxE?(e.d=null,e.e=NaN):e.e<f.minE&&(e.e=0,e.d=[0])),e}function bj(e,t,n){if(!e.isFinite())return jj(e);var r,i=e.e,o=pj(e.d),a=o.length;return t?(n&&(r=n-a)>0?o=o.charAt(0)+"."+o.slice(1)+Tj(r):a>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Tj(-i-1)+o,n&&(r=n-a)>0&&(o+=Tj(r))):i>=a?(o+=Tj(i+1-a),n&&(r=n-i-1)>0&&(o=o+"."+Tj(r))):((r=i+1)<a&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-a)>0&&(i+1===a&&(o+="."),o+=Tj(r))),o}function Mj(e,t){var n=e[0];for(t*=7;n>=10;n/=10)t++;return t}function Aj(e,t,n){if(t>hj)throw tj=!0,n&&(e.precision=n),Error("[DecimalError] Precision limit exceeded");return wj(new e(KS),t,1,!0)}function Ij(e,t,n){if(t>dj)throw Error("[DecimalError] Precision limit exceeded");return wj(new e($S),t,n,!0)}function Nj(e){var t=e.length-1,n=7*t+1;if(t=e[t]){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function Tj(e){for(var t="";e--;)t+="0";return t}function Ej(e,t,n,r){var i,o=new e(1),a=Math.ceil(r/7+4);for(tj=!1;;){if(n%2&&Bj((o=o.times(t)).d,a)&&(i=!0),0===(n=ij(n/2))){n=o.d.length-1,i&&0===o.d[n]&&++o.d[n];break}Bj((t=t.times(t)).d,a)}return tj=!0,o}function xj(e){return 1&e.d[e.d.length-1]}function kj(e,t,n){for(var r,i=new e(t[0]),o=0;++o<t.length;){if(!(r=new e(t[o])).s){i=r;break}i[n](r)&&(i=r)}return i}function Lj(e,t){var n,r,i,o,a,s,u,c=0,l=0,h=0,d=e.constructor,f=d.rounding,p=d.precision;if(!e.d||!e.d[0]||e.e>17)return new d(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(null==t?(tj=!1,u=p):u=t,s=new d(.03125);e.e>-2;)e=e.times(s),h+=5;for(u+=r=Math.log(oj(2,h))/Math.LN10*2+5|0,n=o=a=new d(1),d.precision=u;;){if(o=wj(o.times(e),u,1),n=n.times(++l),pj((s=a.plus(vj(o,n,u,1))).d).slice(0,u)===pj(a.d).slice(0,u)){for(i=h;i--;)a=wj(a.times(a),u,1);if(null!=t)return d.precision=p,a;if(!(c<3&&mj(a.d,u-r,f,c)))return wj(a,d.precision=p,f,tj=!0);d.precision=u+=10,n=o=s=new d(1),l=0,c++}a=s}}function Sj(e,t){var n,r,i,o,a,s,u,c,l,h,d,f=1,p=e,y=p.d,m=p.constructor,g=m.rounding,v=m.precision;if(p.s<0||!y||!y[0]||!p.e&&1==y[0]&&1==y.length)return new m(y&&!y[0]?-1/0:1!=p.s?NaN:y?0:p);if(null==t?(tj=!1,l=v):l=t,m.precision=l+=10,r=(n=pj(y)).charAt(0),!(Math.abs(o=p.e)<15e14))return c=Aj(m,l+2,v).times(o+""),p=Sj(new m(r+"."+n.slice(1)),l-10).plus(c),m.precision=v,null==t?wj(p,v,g,tj=!0):p;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=pj((p=p.times(e)).d)).charAt(0),f++;for(o=p.e,r>1?(p=new m("0."+n),o++):p=new m(r+"."+n.slice(1)),h=p,u=a=p=vj(p.minus(1),p.plus(1),l,1),d=wj(p.times(p),l,1),i=3;;){if(a=wj(a.times(d),l,1),pj((c=u.plus(vj(a,new m(i),l,1))).d).slice(0,l)===pj(u.d).slice(0,l)){if(u=u.times(2),0!==o&&(u=u.plus(Aj(m,l+2,v).times(o+""))),u=vj(u,new m(f),l,1),null!=t)return m.precision=v,u;if(!mj(u.d,l-10,g,s))return wj(u,m.precision=v,g,tj=!0);m.precision=l+=10,c=a=p=vj(h.minus(1),h.plus(1),l,1),d=wj(p.times(p),l,1),i=s=1}u=c,i+=2}}function jj(e){return String(e.s*e.s/0)}function Dj(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;48===t.charCodeAt(r);r++);for(i=t.length;48===t.charCodeAt(i-1);--i);if(t=t.slice(r,i)){if(i-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%7,n<0&&(r+=7),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=7;r<i;)e.d.push(+t.slice(r,r+=7));r=7-(t=t.slice(r)).length}else r-=i;for(;r--;)t+="0";e.d.push(+t),tj&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function Cj(e,t){var n,r,i,o,a,s,u,c,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),cj.test(t))return Dj(e,t)}else if("Infinity"===t||"NaN"===t)return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(sj.test(t))n=16,t=t.toLowerCase();else if(aj.test(t))n=2;else{if(!uj.test(t))throw Error(nj+t);n=8}for((o=t.search(/p/i))>0?(u=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),a=(o=t.indexOf("."))>=0,r=e.constructor,a&&(o=(s=(t=t.replace(".","")).length)-o,i=Ej(r,new r(n),o,2*o)),o=l=(c=gj(t,n,lj)).length-1;0===c[o];--o)c.pop();return o<0?new r(0*e.s):(e.e=Mj(c,l),e.d=c,tj=!1,a&&(e=vj(e,i,4*s)),u&&(e=e.times(Math.abs(u)<54?oj(2,u):TD.pow(2,u))),tj=!0,e)}function Oj(e,t,n,r,i){var o,a,s,u,c=e.precision,l=Math.ceil(c/7);for(tj=!1,u=n.times(n),s=new e(r);;){if(a=vj(s.times(u),new e(t++*t++),c,1),s=i?r.plus(a):r.minus(a),r=vj(a.times(u),new e(t++*t++),c,1),void 0!==(a=s.plus(r)).d[l]){for(o=l;a.d[o]===s.d[o]&&o--;);if(-1==o)break}o=s,s=r,r=a,a=o}return tj=!0,a.d.length=l+1,a}function zj(e,t){for(var n=e;--t;)n*=e;return n}function Pj(e,t){var n,r=t.s<0,i=Ij(e,e.precision,1),o=i.times(.5);if((t=t.abs()).lte(o))return qS=r?4:1,t;if((n=t.divToInt(i)).isZero())qS=r?3:2;else{if((t=t.minus(n.times(i))).lte(o))return qS=xj(n)?r?2:3:r?4:1,t;qS=xj(n)?r?1:4:r?3:2}return t.minus(i).abs()}function _j(e,t,n,r){var i,o,a,s,u,c,l,h,d,f=e.constructor,p=void 0!==n;if(p?(yj(n,1,1e9),void 0===r?r=f.rounding:yj(r,0,8)):(n=f.precision,r=f.rounding),e.isFinite()){for(p?(i=2,16==t?n=4*n-3:8==t&&(n=3*n-2)):i=t,(a=(l=bj(e)).indexOf("."))>=0&&(l=l.replace(".",""),(d=new f(1)).e=l.length-a,d.d=gj(bj(d),10,i),d.e=d.d.length),o=u=(h=gj(l,10,i)).length;0==h[--u];)h.pop();if(h[0]){if(a<0?o--:((e=new f(e)).d=h,e.e=o,h=(e=vj(e,d,n,r,0,i)).d,o=e.e,c=GS),a=h[n],s=i/2,c=c||void 0!==h[n+1],c=r<4?(void 0!==a||c)&&(0===r||r===(e.s<0?3:2)):a>s||a===s&&(4===r||c||6===r&&1&h[n-1]||r===(e.s<0?8:7)),h.length=n,c)for(;++h[--n]>i-1;)h[n]=0,n||(++o,h.unshift(1));for(u=h.length;!h[u-1];--u);for(a=0,l="";a<u;a++)l+=XS.charAt(h[a]);if(p){if(u>1)if(16==t||8==t){for(a=16==t?4:3,--u;u%a;u++)l+="0";for(u=(h=gj(l,i,t)).length;!h[u-1];--u);for(a=1,l="1.";a<u;a++)l+=XS.charAt(h[a])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>u)for(o-=u;o--;)l+="0";else o<u&&(l=l.slice(0,o)+"."+l.slice(o))}else l=p?"0p+0":"0";l=(16==t?"0x":2==t?"0b":8==t?"0o":"")+l}else l=jj(e);return e.s<0?"-"+l:l}function Bj(e,t){if(e.length>t)return e.length=t,!0}function Rj(e){return new this(e).abs()}function Uj(e){return new this(e).acos()}function Qj(e){return new this(e).acosh()}function Wj(e,t){return new this(e).plus(t)}function Yj(e){return new this(e).asin()}function Fj(e){return new this(e).asinh()}function Vj(e){return new this(e).atan()}function Hj(e){return new this(e).atanh()}function Gj(e,t){e=new this(e),t=new this(t);var n,r=this.precision,i=this.rounding,o=r+4;return e.s&&t.s?e.d||t.d?!t.d||e.isZero()?(n=t.s<0?Ij(this,r,i):new this(0)).s=e.s:!e.d||t.isZero()?(n=Ij(this,o,1).times(.5)).s=e.s:t.s<0?(this.precision=o,this.rounding=1,n=this.atan(vj(e,t,o,1)),t=Ij(this,o,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(vj(e,t,o,1)):(n=Ij(this,o,1).times(t.s>0?.25:.75)).s=e.s:n=new this(NaN),n}function qj(e){return new this(e).cbrt()}function Zj(e){return wj(e=new this(e),e.e+1,2)}function Jj(e,t,n){return new this(e).clamp(t,n)}function Xj(e){if(!e||"object"!=typeof e)throw Error("[DecimalError] Object expected");var t,n,r,i=!0===e.defaults,o=["precision",1,1e9,"rounding",0,8,"toExpNeg",-JS,0,"toExpPos",0,JS,"maxE",0,JS,"minE",-JS,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],i&&(this[n]=ej[n]),void 0!==(r=e[n])){if(!(ij(r)===r&&r>=o[t+1]&&r<=o[t+2]))throw Error(nj+n+": "+r);this[n]=r}if(n="crypto",i&&(this[n]=ej[n]),void 0!==(r=e[n])){if(!0!==r&&!1!==r&&0!==r&&1!==r)throw Error(nj+n+": "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error("[DecimalError] crypto unavailable");this[n]=!0}else this[n]=!1}return this}function Kj(e){return new this(e).cos()}function $j(e){return new this(e).cosh()}function eD(e,t){return new this(e).div(t)}function tD(e){return new this(e).exp()}function nD(e){return wj(e=new this(e),e.e+1,3)}function rD(){var e,t,n=new this(0);for(tj=!1,e=0;e<arguments.length;)if((t=new this(arguments[e++])).d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return tj=!0,new this(1/0);n=t}return tj=!0,n.sqrt()}function iD(e){return e instanceof TD||e&&e.toStringTag===rj||!1}function oD(e){return new this(e).ln()}function aD(e,t){return new this(e).log(t)}function sD(e){return new this(e).log(2)}function uD(e){return new this(e).log(10)}function cD(){return kj(this,arguments,"lt")}function lD(){return kj(this,arguments,"gt")}function hD(e,t){return new this(e).mod(t)}function dD(e,t){return new this(e).mul(t)}function fD(e,t){return new this(e).pow(t)}function pD(e){var t,n,r,i,o=0,a=new this(1),s=[];if(void 0===e?e=this.precision:yj(e,1,1e9),r=Math.ceil(e/7),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));o<r;)(i=t[o])>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:s[o++]=i%1e7;else{if(!crypto.randomBytes)throw Error("[DecimalError] crypto unavailable");for(t=crypto.randomBytes(r*=4);o<r;)(i=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((127&t[o+3])<<24))>=214e7?crypto.randomBytes(4).copy(t,o):(s.push(i%1e7),o+=4);o=r/4}else for(;o<r;)s[o++]=1e7*Math.random()|0;for(e%=7,(r=s[--o])&&e&&(i=oj(10,7-e),s[o]=(r/i|0)*i);0===s[o];o--)s.pop();if(o<0)n=0,s=[0];else{for(n=-1;0===s[0];n-=7)s.shift();for(r=1,i=s[0];i>=10;i/=10)r++;r<7&&(n-=7-r)}return a.e=n,a.d=s,a}function yD(e){return wj(e=new this(e),e.e+1,this.rounding)}function mD(e){return(e=new this(e)).d?e.d[0]?e.s:0*e.s:e.s||NaN}function gD(e){return new this(e).sin()}function vD(e){return new this(e).sinh()}function wD(e){return new this(e).sqrt()}function bD(e,t){return new this(e).sub(t)}function MD(){var e=0,t=arguments,n=new this(t[e]);for(tj=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return tj=!0,wj(n,this.precision,this.rounding)}function AD(e){return new this(e).tan()}function ID(e){return new this(e).tanh()}function ND(e){return wj(e=new this(e),e.e+1,1)}fj[Symbol.for("nodejs.util.inspect.custom")]=fj.toString,fj[Symbol.toStringTag]="Decimal";var TD=fj.constructor=function e(t){var n,r,i;function o(e){var t,n,r,i=this;if(!(i instanceof o))return new o(e);if(i.constructor=o,iD(e))return i.s=e.s,void(tj?!e.d||e.e>o.maxE?(i.e=NaN,i.d=null):e.e<o.minE?(i.e=0,i.d=[0]):(i.e=e.e,i.d=e.d.slice()):(i.e=e.e,i.d=e.d?e.d.slice():e.d));if("number"===(r=typeof e)){if(0===e)return i.s=1/e<0?-1:1,i.e=0,void(i.d=[0]);if(e<0?(e=-e,i.s=-1):i.s=1,e===~~e&&e<1e7){for(t=0,n=e;n>=10;n/=10)t++;return void(tj?t>o.maxE?(i.e=NaN,i.d=null):t<o.minE?(i.e=0,i.d=[0]):(i.e=t,i.d=[e]):(i.e=t,i.d=[e]))}return 0*e!=0?(e||(i.s=NaN),i.e=NaN,void(i.d=null)):Dj(i,e.toString())}if("string"!==r)throw Error(nj+e);return 45===(n=e.charCodeAt(0))?(e=e.slice(1),i.s=-1):(43===n&&(e=e.slice(1)),i.s=1),cj.test(e)?Dj(i,e):Cj(i,e)}if(o.prototype=fj,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.EUCLID=9,o.config=o.set=Xj,o.clone=e,o.isDecimal=iD,o.abs=Rj,o.acos=Uj,o.acosh=Qj,o.add=Wj,o.asin=Yj,o.asinh=Fj,o.atan=Vj,o.atanh=Hj,o.atan2=Gj,o.cbrt=qj,o.ceil=Zj,o.clamp=Jj,o.cos=Kj,o.cosh=$j,o.div=eD,o.exp=tD,o.floor=nD,o.hypot=rD,o.ln=oD,o.log=aD,o.log10=uD,o.log2=sD,o.max=cD,o.min=lD,o.mod=hD,o.mul=dD,o.pow=fD,o.random=pD,o.round=yD,o.sign=mD,o.sin=gD,o.sinh=vD,o.sqrt=wD,o.sub=bD,o.sum=MD,o.tan=AD,o.tanh=ID,o.trunc=ND,void 0===t&&(t={}),t&&!0!==t.defaults)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],n=0;n<i.length;)t.hasOwnProperty(r=i[n++])||(t[r]=this[r]);return o.config(t),o}(ej);function ED(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}KS=new TD(KS),$S=new TD($S);class xD{constructor({blockchain:e,tokenIn:t,decimalsIn:n,tokenOut:r,decimalsOut:i,path:o,pools:a,amountIn:s,amountInMax:u,amountOut:c,amountOutMin:l,exchange:h,approvalRequired:d,getApproval:f,getPrep:p,getTransaction:y}){this.blockchain=e,this.tokenIn=t,this.decimalsIn=n,this.tokenOut=r,this.decimalsOut=i,this.path=o,this.pools=a,this.amountIn=ED([s,"optionalAccess",e=>e.toString,"call",e=>e()]),this.amountOutMin=ED([l,"optionalAccess",e=>e.toString,"call",e=>e()]),this.amountOut=ED([c,"optionalAccess",e=>e.toString,"call",e=>e()]),this.amountInMax=ED([u,"optionalAccess",e=>e.toString,"call",e=>e()]),this.exchange=h,this.getPrep=p,this.getTransaction=y}}let kD=["ethereum","bsc","polygon","solana","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"];kD.evm=["ethereum","bsc","polygon","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"],kD.solana=["solana"];const LD=async({exchange:e,blockchain:t,pools:n,exchangePath:r,amountIn:i,amountOut:o})=>{let a=i.add(i.mul(100*parseFloat("0.5")).div(1e4));if(!kD.evm.includes(e.blockchain||t))return a;const s=await _I({blockchain:e.blockchain||t,method:"latestBlockNumber"});let u=[];for(var c=0;c<=2;c++)u.push(s-c);const l=await Promise.all(u.map((async i=>{let{amountIn:a}=await e.getAmounts({exchange:e,blockchain:t,path:r,pools:n,amountOut:o,block:i});return a})));if(!l[0]||!l[1]||!l[2])return a;let h;if(l[0].gt(l[1])&&l[1].gt(l[2])){const e=l[0].sub(l[1]),t=l[1].sub(l[2]),n=e.add(t).div(2);if(h=l[0].add(n),h.gt(a))return h}else if(!l[0].eq(l[1])&&!l[1].eq(l[2])){const e=l[0].sub(l[1]).abs(),t=l[1].sub(l[2]).abs();let n,r;if(n=e.lt(t)?e:t,r=l[0].gt(l[1])&&l[0].gt(l[2])?l[0]:l[1].gt(l[2])&&l[1].gt(l[0])?l[1]:l[2],h=r.add(n),h.gt(a))return h}return a},SD=async({exchange:e,blockchain:t,pools:n,exchangePath:r,amounts:i,tokenIn:o,tokenOut:a,amountIn:s,amountInMax:u,amountOut:c,amountOutMin:l,amountInInput:h,amountOutInput:d,amountInMaxInput:f,amountOutMinInput:p})=>{if(p||d){if(kD.evm.includes(e.blockchain||t))s=u=await LD({exchange:e,blockchain:t,pools:n,exchangePath:r,amountIn:s,amountOut:p||c});else if(kD.solana.includes(e.blockchain||t)){let t=[];await Promise.all(r.map(((o,a)=>{if(0!=a){let o=LD({exchange:e,pools:n,exchangePath:[r[a-1],r[a]],amountIn:i[a-1],amountOut:i[a]});return o.then((e=>t.push(e))),o}}))),t.push(i[i.length-1]),s=u=(i=t)[0]}}else if((f||h)&&kD.solana.includes(e.blockchain||t)){let t=[];await Promise.all(r.map(((n,o)=>{if(0!==o&&o<r.length-1)t.unshift(i[o]);else if(o===r.length-1){let n=(async({exchange:e,exchangePath:t,amountOut:n,amountIn:r})=>n.sub(n.mul(100*parseFloat("0.5")).div(1e4)))({exchange:e,exchangePath:[r[o-1],r[o]],amountIn:i[o-1],amountOut:i[o]});return n.then((e=>(t.unshift(e),e))),n}}))),t.push(i[0]),c=l=(i=t.slice().reverse())[i.length-1]}return{amountIn:s,amountInMax:u,amountOut:c,amountOutMin:l,amounts:i}},jD=e=>e.match("0x")?om(e):e;let DD=async({amount:e,blockchain:t,address:n})=>await RS.BigNumber({amount:e,blockchain:t,address:n}),CD=async({blockchain:e,exchange:t,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s})=>{let u={exchange:t,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s};return o&&"number"==typeof o&&(u.amountOut=await DD({amount:o,blockchain:e,address:r})),s&&"number"==typeof s&&(u.amountOutMin=await DD({amount:s,blockchain:e,address:r})),i&&"number"==typeof i&&(u.amountIn=await DD({amount:i,blockchain:e,address:n})),a&&"number"==typeof a&&(u.amountInMax=await DD({amount:a,blockchain:e,address:n})),u};class OD{constructor(...e){Object.assign(this,...e)}async route({blockchain:e,tokenIn:t,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a,slippage:s}){return t===n?Promise.resolve():(void 0===e&&(this.scope?e=this.scope:1===this.blockchains.length&&(e=this.blockchains[0])),(({blockchain:e,exchange:t,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s})=>{if(void 0===e&&null!=t.blockchains&&t.blockchains.length>1)throw"You need to provide a blockchain when calling route on an exchange that supports multiple blockchains!";if(void 0!==o&&void 0!==i)throw"You cannot set amountIn and amountOut at the same time, use amountInMax or amountOutMin to describe the non exact part of the swap!";if(void 0!==a&&void 0!==s)throw"You cannot set amountInMax and amountOutMin at the same time, use amountIn or amountOut to describe the part of the swap that needs to be exact!";if(void 0!==i&&void 0!==a)throw"Setting amountIn and amountInMax at the same time makes no sense. Decide if amountIn needs to be exact or not!";if(void 0!==o&&void 0!==s)throw"Setting amountOut and amountOutMin at the same time makes no sense. Decide if amountOut needs to be exact or not!"})({blockchain:e,exchange:this,tokenIn:t,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a}),await(({blockchain:e,exchange:t,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s,findPath:u,getAmounts:c,getPrep:l,getTransaction:h,slippage:d})=>{if(n=jD(n),r=jD(r),[i,o,a,s].filter(Boolean).length>1)throw"You can only pass one: amountIn, amountOut, amountInMax or amountOutMin";if([i,o,a,s].filter(Boolean).length<1)throw"You need to pass exactly one: amountIn, amountOut, amountInMax or amountOutMin";return new Promise((async f=>{let{path:p,exchangePath:y,pools:m}=await u({blockchain:e,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s});if(void 0===p||0==p.length)return f();let g,[v,w,b,M]=[i,o,a,s];try{({amountIn:i,amountInMax:a,amountOut:o,amountOutMin:s,amounts:g}=await c({exchange:t,blockchain:e,path:p,pools:m,tokenIn:n,tokenOut:r,amountIn:i,amountInMax:a,amountOut:o,amountOutMin:s}))}catch(e){return f()}if([i,a,o,s].every((e=>null==e)))return f();if(t.slippage&&!1!==d)try{({amountIn:i,amountInMax:a,amountOut:o,amountOutMin:s,amounts:g}=await SD({exchange:t,blockchain:e,pools:m,exchangePath:y,amounts:g,tokenIn:n,tokenOut:r,amountIn:i,amountInMax:a,amountOut:o,amountOutMin:s,amountInInput:v,amountOutInput:w,amountInMaxInput:b,amountOutMinInput:M}))}catch(e){return f()}const A=await new RS({blockchain:e,address:n}).decimals(),I=await new RS({blockchain:e,address:r}).decimals();f(new xD({blockchain:e,tokenIn:n,decimalsIn:A,tokenOut:r,decimalsOut:I,path:p,pools:m,amountIn:i,amountInMax:a,amountOut:o,amountOutMin:s,exchange:t,getPrep:async({account:o})=>await l({exchange:t,blockchain:e,tokenIn:n,tokenOut:r,amountIn:i||a,account:o}),getTransaction:async({account:n,permit2:r,inputTokenPushed:u})=>await h({exchange:t,blockchain:e,pools:m,path:p,amountIn:i,amountInMax:a,amountOut:o,amountOutMin:s,amounts:g,amountInInput:v,amountOutInput:w,amountInMaxInput:b,amountOutMinInput:M,account:n,permit2:r,inputTokenPushed:u})}))}))})({...await CD({blockchain:e,exchange:this,tokenIn:t,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a}),blockchain:e,findPath:this.findPath,getAmounts:this.getAmounts,getPrep:this.getPrep,getTransaction:this.getTransaction,slippage:s}))}}function zD(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}const PD=({blockchain:e,exchange:t,path:n})=>{if(!n)return;let r=n.map(((t,r)=>t===Vf[e].currency.address&&n[r+1]!=Vf[e].wrapped.address&&n[r-1]!=Vf[e].wrapped.address?Vf[e].wrapped.address:t));return r[0]==Vf[e].currency.address&&r[1]==Vf[e].wrapped.address?r.splice(0,1):r[r.length-1]==Vf[e].currency.address&&r[r.length-2]==Vf[e].wrapped.address&&r.splice(r.length-1,1),r},_D=({reserves:e,min:t,token:n,token0:r,token1:i,decimals:o})=>r.toLowerCase()==n.toLowerCase()?e[0].gte(uI(t.toString(),o)):i.toLowerCase()==n.toLowerCase()&&e[1].gte(uI(t.toString(),o)),BD=async({blockchain:e,exchange:t,path:n})=>{const r=PD({blockchain:e,exchange:t,path:n});if(!r||1===r.length)return!1;try{let i=await _I({blockchain:e,address:t[e].factory.address,method:"getPair",api:t[e].factory.api,cache:36e5,params:PD({blockchain:e,exchange:t,path:n})});if(!i||i==Vf[e].zero)return!1;let[o,a,s]=await Promise.all([_I({blockchain:e,address:i,method:"getReserves",api:t[e].pair.api,cache:36e5}),_I({blockchain:e,address:i,method:"token0",api:t[e].pair.api,cache:36e5}),_I({blockchain:e,address:i,method:"token1",api:t[e].pair.api,cache:36e5})]);if(r.includes(Vf[e].wrapped.address))return _D({min:1,token:Vf[e].wrapped.address,decimals:Vf[e].currency.decimals,reserves:o,token0:a,token1:s});if(n.find((t=>Vf[e].stables.usd.includes(t)))){let t=n.find((t=>Vf[e].stables.usd.includes(t))),r=new RS({blockchain:e,address:t}),i=await r.decimals();return _D({min:1e3,token:t,decimals:i,reserves:o,token0:a,token1:s})}return!0}catch(e){return console.log("e",e),!1}};let RD=({blockchain:e,exchange:t,path:n,amountIn:r,tokenIn:i,tokenOut:o})=>new Promise((i=>{_I({blockchain:e,address:t[e].router.address,method:"getAmountsOut",api:t[e].router.api,params:{amountIn:r,path:PD({blockchain:e,exchange:t,path:n})}}).then((e=>{i(e[e.length-1])})).catch((()=>i()))})),UD=({blockchain:e,exchange:t,path:n,amountOut:r,block:i})=>new Promise((o=>{_I({blockchain:e,address:t[e].router.address,method:"getAmountsIn",api:t[e].router.api,params:{amountOut:r,path:PD({blockchain:e,exchange:t,path:n})},block:i}).then((e=>o(e[0]))).catch((()=>o()))}));var QD={findPath:async({blockchain:e,exchange:t,tokenIn:n,tokenOut:r})=>{if([n,r].includes(Vf[e].currency.address)&&[n,r].includes(Vf[e].wrapped.address))return{path:void 0,exchangePath:void 0};let i;if(await BD({blockchain:e,exchange:t,path:[n,r]}))i=[n,r];else if(n!=Vf[e].wrapped.address&&await BD({blockchain:e,exchange:t,path:[n,Vf[e].wrapped.address]})&&r!=Vf[e].wrapped.address&&await BD({blockchain:e,exchange:t,path:[r,Vf[e].wrapped.address]}))i=[n,Vf[e].wrapped.address,r];else if(!Vf[e].stables.usd.includes(n)&&(await Promise.all(Vf[e].stables.usd.map((r=>BD({blockchain:e,exchange:t,path:[n,r]}))))).filter(Boolean).length&&r!=Vf[e].wrapped.address&&await BD({blockchain:e,exchange:t,path:[Vf[e].wrapped.address,r]})){let o=(await Promise.all(Vf[e].stables.usd.map((async r=>await BD({blockchain:e,exchange:t,path:[n,r]})?r:void 0)))).find(Boolean);i=[n,o,Vf[e].wrapped.address,r]}else if(n!=Vf[e].wrapped.address&&await BD({blockchain:e,exchange:t,path:[n,Vf[e].wrapped.address]})&&!Vf[e].stables.usd.includes(r)&&(await Promise.all(Vf[e].stables.usd.map((n=>BD({blockchain:e,exchange:t,path:[n,r]}))))).filter(Boolean).length){let o=(await Promise.all(Vf[e].stables.usd.map((async n=>await BD({blockchain:e,exchange:t,path:[n,r]})?n:void 0)))).find(Boolean);i=[n,Vf[e].wrapped.address,o,r]}else if(n!=Vf[e].wrapped.address&&n===Vf[e].currency.address&&!Vf[e].stables.usd.includes(r)&&(await Promise.all(Vf[e].stables.usd.map((n=>BD({blockchain:e,exchange:t,path:[n,r]}))))).filter(Boolean).length){let o=(await Promise.all(Vf[e].stables.usd.map((async n=>await BD({blockchain:e,exchange:t,path:[n,r]})?n:void 0)))).find(Boolean);i=[n,o,r]}return zD([i,"optionalAccess",e=>e.length])&&i[0]==Vf[e].currency.address?i.splice(1,0,Vf[e].wrapped.address):zD([i,"optionalAccess",e=>e.length])&&i[i.length-1]==Vf[e].currency.address&&i.splice(i.length-1,0,Vf[e].wrapped.address),{path:i,exchangePath:PD({blockchain:e,exchange:t,path:i})}},pathExists:BD,getAmounts:async({blockchain:e,exchange:t,path:n,block:r,tokenIn:i,tokenOut:o,amountOut:a,amountIn:s,amountInMax:u,amountOutMin:c})=>{if(a){if(null==(s=await UD({blockchain:e,exchange:t,block:r,path:n,amountOut:a,tokenIn:i,tokenOut:o}))||u&&s.gt(u))return{};void 0===u&&(u=s)}else if(s){if(null==(a=await RD({blockchain:e,exchange:t,path:n,amountIn:s,tokenIn:i,tokenOut:o}))||c&&a.lt(c))return{};void 0===c&&(c=a)}else if(c){if(null==(s=await UD({blockchain:e,exchange:t,block:r,path:n,amountOut:c,tokenIn:i,tokenOut:o}))||u&&s.gt(u))return{};void 0===u&&(u=s)}else if(u){if(null==(a=await RD({blockchain:e,exchange:t,path:n,amountIn:u,tokenIn:i,tokenOut:o}))||c&&a.lt(c))return{};void 0===c&&(c=a)}return{amountOut:a,amountIn:s,amountInMax:u,amountOutMin:c}},getPrep:async({exchange:e,blockchain:t,tokenIn:n,amountIn:r,account:i})=>{if(n===Vf[t].currency.address)return;const o=await _I({blockchain:t,address:n,method:"allowance",api:RS[t][20],params:[i,e[t].router.address]});if(o.gte(r))return;return{transaction:{blockchain:t,from:i,to:n,api:RS[t][20],method:"approve",params:[e[t].router.address,r.sub(o)]}}},getTransaction:({exchange:e,blockchain:t,path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,account:h})=>{let d={blockchain:t,from:h,to:e[t].router.address,api:e[t].router.api};return n[0]===Vf[t].currency.address?s||l?(d.method="swapExactETHForTokens",d.value=r.toString(),d.params={amountOutMin:a.toString()}):(u||c)&&(d.method="swapETHForExactTokens",d.value=i.toString(),d.params={amountOut:o.toString()}):n[n.length-1]===Vf[t].currency.address?s||l?(d.method="swapExactTokensForETH",d.params={amountIn:r.toString(),amountOutMin:a.toString()}):(u||c)&&(d.method="swapTokensForExactETH",d.params={amountInMax:i.toString(),amountOut:o.toString()}):s||l?(d.method="swapExactTokensForTokens",d.params={amountIn:r.toString(),amountOutMin:a.toString()}):(u||c)&&(d.method="swapTokensForExactTokens",d.params={amountInMax:i.toString(),amountOut:o.toString()}),d.params=Object.assign({},d.params,{path:PD({blockchain:t,exchange:e,path:n}),to:h,deadline:Math.round(Date.now()/1e3)+86400}),d},ROUTER:[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],FACTORY:[{inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token0",type:"address"},{indexed:!0,internalType:"address",name:"token1",type:"address"},{indexed:!1,internalType:"address",name:"pair",type:"address"},{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"PairCreated",type:"event"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"allPairs",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"allPairsLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"}],name:"createPair",outputs:[{internalType:"address",name:"pair",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"feeTo",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"feeToSetter",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"getPair",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_feeTo",type:"address"}],name:"setFeeTo",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],name:"setFeeToSetter",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],PAIR:[{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount0Out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1Out",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint112",name:"reserve0",type:"uint112"},{indexed:!1,internalType:"uint112",name:"reserve1",type:"uint112"}],name:"Sync",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{constant:!0,inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"MINIMUM_LIQUIDITY",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"burn",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getReserves",outputs:[{internalType:"uint112",name:"_reserve0",type:"uint112"},{internalType:"uint112",name:"_reserve1",type:"uint112"},{internalType:"uint32",name:"_blockTimestampLast",type:"uint32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_token0",type:"address"},{internalType:"address",name:"_token1",type:"address"}],name:"initialize",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"kLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"mint",outputs:[{internalType:"uint256",name:"liquidity",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"price0CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"price1CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"skim",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount0Out",type:"uint256"},{internalType:"uint256",name:"amount1Out",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"sync",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"token0",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"token1",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"}]};const WD={name:"honeyswap",label:"Honeyswap",logo:"data:image/png;base64,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",protocol:"uniswap_v2",slippage:!0,blockchains:["gnosis"],gnosis:{router:{address:"0x1C232F01118CB8B424793ae03F870aa7D0ac7f77",api:QD.ROUTER},factory:{address:"0xA818b4F111Ccac7AA31D0BCc0806d64F2E0737D7",api:QD.FACTORY},pair:{api:QD.PAIR}}};var YD=e=>new OD(Object.assign(WD,{scope:e,findPath:e=>QD.findPath({...e,exchange:WD}),pathExists:e=>QD.pathExists({...e,exchange:WD}),getAmounts:e=>QD.getAmounts({...e,exchange:WD}),getPrep:e=>QD.getPrep({...e,exchange:WD}),getTransaction:e=>QD.getTransaction({...e,exchange:WD})}));const FD="79226673515401279992447579055",VD=e=>-e;class HD{static priceToSqrtPriceX64(e,t,n){return r=e.mul(TD.pow(10,n-t)).sqrt(),new ef(r.mul(TD.pow(2,64)).floor().toFixed());var r}static sqrtPriceX64ToPrice(e,t,n){return(r=e,new TD(r.toString()).mul(TD.pow(2,-64))).pow(2).mul(TD.pow(10,t-n));var r}static tickIndexToSqrtPriceX64(e){return new ef(e>0?function(e){let t;t=new ef(0!=(1&e)?"79232123823359799118286999567":"79228162514264337593543950336");0!=(2&e)&&(t=GD(t.mul(new ef("79236085330515764027303304731")),96,256));0!=(4&e)&&(t=GD(t.mul(new ef("79244008939048815603706035061")),96,256));0!=(8&e)&&(t=GD(t.mul(new ef("79259858533276714757314932305")),96,256));0!=(16&e)&&(t=GD(t.mul(new ef("79291567232598584799939703904")),96,256));0!=(32&e)&&(t=GD(t.mul(new ef("79355022692464371645785046466")),96,256));0!=(64&e)&&(t=GD(t.mul(new ef("79482085999252804386437311141")),96,256));0!=(128&e)&&(t=GD(t.mul(new ef("79736823300114093921829183326")),96,256));0!=(256&e)&&(t=GD(t.mul(new ef("80248749790819932309965073892")),96,256));0!=(512&e)&&(t=GD(t.mul(new ef("81282483887344747381513967011")),96,256));0!=(1024&e)&&(t=GD(t.mul(new ef("83390072131320151908154831281")),96,256));0!=(2048&e)&&(t=GD(t.mul(new ef("87770609709833776024991924138")),96,256));0!=(4096&e)&&(t=GD(t.mul(new ef("97234110755111693312479820773")),96,256));0!=(8192&e)&&(t=GD(t.mul(new ef("119332217159966728226237229890")),96,256));0!=(16384&e)&&(t=GD(t.mul(new ef("179736315981702064433883588727")),96,256));0!=(32768&e)&&(t=GD(t.mul(new ef("407748233172238350107850275304")),96,256));0!=(65536&e)&&(t=GD(t.mul(new ef("2098478828474011932436660412517")),96,256));0!=(131072&e)&&(t=GD(t.mul(new ef("55581415166113811149459800483533")),96,256));0!=(262144&e)&&(t=GD(t.mul(new ef("38992368544603139932233054999993551")),96,256));return GD(t,32,256)}(e):function(e){let t,n=Math.abs(e);t=new ef(0!=(1&n)?"18445821805675392311":"18446744073709551616");0!=(2&n)&&(t=GD(t.mul(new ef("18444899583751176498")),64,256));0!=(4&n)&&(t=GD(t.mul(new ef("18443055278223354162")),64,256));0!=(8&n)&&(t=GD(t.mul(new ef("18439367220385604838")),64,256));0!=(16&n)&&(t=GD(t.mul(new ef("18431993317065449817")),64,256));0!=(32&n)&&(t=GD(t.mul(new ef("18417254355718160513")),64,256));0!=(64&n)&&(t=GD(t.mul(new ef("18387811781193591352")),64,256));0!=(128&n)&&(t=GD(t.mul(new ef("18329067761203520168")),64,256));0!=(256&n)&&(t=GD(t.mul(new ef("18212142134806087854")),64,256));0!=(512&n)&&(t=GD(t.mul(new ef("17980523815641551639")),64,256));0!=(1024&n)&&(t=GD(t.mul(new ef("17526086738831147013")),64,256));0!=(2048&n)&&(t=GD(t.mul(new ef("16651378430235024244")),64,256));0!=(4096&n)&&(t=GD(t.mul(new ef("15030750278693429944")),64,256));0!=(8192&n)&&(t=GD(t.mul(new ef("12247334978882834399")),64,256));0!=(16384&n)&&(t=GD(t.mul(new ef("8131365268884726200")),64,256));0!=(32768&n)&&(t=GD(t.mul(new ef("3584323654723342297")),64,256));0!=(65536&n)&&(t=GD(t.mul(new ef("696457651847595233")),64,256));0!=(131072&n)&&(t=GD(t.mul(new ef("26294789957452057")),64,256));0!=(262144&n)&&(t=GD(t.mul(new ef("37481735321082")),64,256));return t}(e))}static sqrtPriceX64ToTickIndex(e){if(e.gt(new ef(FD))||e.lt(new ef("4295048016")))throw new Error("Provided sqrtPrice is not within the supported sqrtPrice range.");const t=e.bitLength()-1,n=function(e,t,n){let r=e.toTwos(n).shln(t);return r.imaskn(n+1),r.fromTwos(n)}(new ef(t-64),32,128);let r=new ef("8000000000000000","hex"),i=0,o=new ef(0),a=t>=64?e.shrn(t-63):e.shln(63-t);for(;r.gt(new ef(0))&&i<14;){a=a.mul(a);let e=a.shrn(127);a=a.shrn(63+e.toNumber()),o=o.add(r.mul(e)),r=r.shrn(1),i+=1}const s=o.shrn(32),u=n.add(s).mul(new ef("59543866431248")),c=GD(u.sub(new ef("184467440737095516")),64,128).toNumber(),l=GD(u.add(new ef("15793534762490258745")),64,128).toNumber();if(c==l)return c;return HD.tickIndexToSqrtPriceX64(l).lte(e)?l:c}static tickIndexToPrice(e,t,n){return HD.sqrtPriceX64ToPrice(HD.tickIndexToSqrtPriceX64(e),t,n)}static priceToTickIndex(e,t,n){return HD.sqrtPriceX64ToTickIndex(HD.priceToSqrtPriceX64(e,t,n))}static priceToInitializableTickIndex(e,t,n,r){return((e,t)=>e-e%t)(HD.priceToTickIndex(e,t,n),r)}static invertPrice(e,t,n){const r=HD.priceToTickIndex(e,t,n),i=VD(r);return HD.tickIndexToPrice(i,n,t)}static invertSqrtPriceX64(e){const t=HD.sqrtPriceX64ToTickIndex(e),n=VD(t);return HD.tickIndexToSqrtPriceX64(n)}}function GD(e,t,n){let r=e.toTwos(n).shrn(t);return r.imaskn(n-t+1),r.fromTwos(n-t)}const qD=new ef(1e4),ZD=new ef(1e6),JD=new ef(0),XD=new ef(1),KD=new ef(2),$D=KD.pow(new ef(64)).sub(XD);class eC extends ef{toBuffer(){const e=super.toArray().reverse(),t=buffer.Buffer.from(e);if(8===t.length)return t;assert__default.default(t.length<8,"u64 too large");const n=buffer.Buffer.alloc(8);return t.copy(n),n}static fromBuffer(e){return assert__default.default(8===e.length,`Invalid buffer length: ${e.length}`),new eC([...e].reverse().map((e=>`00${e.toString(16)}`.slice(-2))).join(""),16)}}class tC{static mul(e,t,n){const r=e.mul(t);if(this.isOverLimit(r,n))throw new Error(`Mul result higher than u${n}`);return r}static mulDiv(e,t,n,r){return this.mulDivRoundUpIf(e,t,n,!1,r)}static mulDivRoundUp(e,t,n,r){return this.mulDivRoundUpIf(e,t,n,!0,r)}static mulDivRoundUpIf(e,t,n,r,i){if(n.eq(JD))throw new Error("mulDiv denominator is zero");const o=this.mul(e,t,i),a=o.div(n);return r&&o.mod(n).gt(JD)?a.add(XD):a}static checked_mul_shift_right(e,t,n){return this.checked_mul_shift_right_round_up_if(e,t,!1,n)}static checked_mul_shift_right_round_up_if(e,t,n,r){if(e.eq(JD)||t.eq(JD))return JD;const i=this.mul(e,t,r);if(this.isOverLimit(i,r))throw new Error(`MulShiftRight overflowed u${r}.`);const o=i.div(new ef(2).pow(new ef(64)));const a=n&&o.and($D).gt(JD);if(a&&o.eq($D))throw new Error(`MulShiftRight overflowed u${r}.`);return a?o.add(XD):o}static isOverLimit(e,t){const n=KD.pow(new ef(t)).sub(XD);return e.gt(n)}static divRoundUp(e,t){return this.divRoundUpIf(e,t,!0)}static divRoundUpIf(e,t,n){if(t.eq(JD))throw new Error("divRoundUpIf - divide by zero");let r=e.div(t);return n&&e.mod(t).gt(JD)?r.add(XD):r}}const nC=(e,t,n)=>{const r=HD.tickIndexToSqrtPriceX64(e);return{nextTickPrice:r,nextSqrtPriceLimit:n?ef.max(t,r):ef.min(t,r)}},rC=(e,t)=>e.gt(t)?[t,e]:[e,t],iC=(e,t,n,r)=>{let[i,o]=rC(e,t),a=o.sub(i),s=n.mul(a).shln(64),u=i.mul(o),c=s.div(u),l=s.mod(u),h=r&&!l.eq(JD)?c.add(XD):c;if(h.gt($D))throw new Error("Results larger than U64");return h},oC=(e,t,n,r)=>{let[i,o]=rC(e,t),a=o.sub(i);return tC.checked_mul_shift_right_round_up_if(n,a,r,128)},aC=(e,t,n,r,i)=>r===i?((e,t,n,r)=>{if(n.eq(JD))return e;let i=tC.mul(e,n,256),o=tC.mul(t,e,256).shln(64);if(tC.isOverLimit(o,256))throw new Error("getNextSqrtPriceFromARoundUp - numerator overflow u256");let a=t.shln(64);if(!r&&a.lte(i))throw new Error("getNextSqrtPriceFromARoundUp - Unable to divide currLiquidityX64 by product");let s=r?a.add(i):a.sub(i),u=tC.divRoundUp(o,s);if(u.lt(new ef("4295048016")))throw new Error("getNextSqrtPriceFromARoundUp - price less than min sqrt price");if(u.gt(new ef(FD)))throw new Error("getNextSqrtPriceFromARoundUp - price less than max sqrt price");return u})(e,t,n,r):((e,t,n,r)=>{let i=n.shln(64),o=tC.divRoundUpIf(i,t,!r);return r?e.add(o):e.sub(o)})(e,t,n,r),sC=(e,t,n,r,i)=>i===r?iC(e,t,n,r):oC(e,t,n,r),uC=(e,t,n,r,i,o,a)=>{let s=sC(r,i,n,o,a),u=e;if(o){u=tC.mulDiv(e,ZD.sub(new ef(t)),ZD,128)}let c=u.gte(s)?i:aC(r,n,u,o,a),l=c.eq(i),h=((e,t,n,r,i)=>i===r?oC(e,t,n,!r):iC(e,t,n,!r))(r,c,n,o,a);l||(s=sC(r,c,n,o,a));let d,f=o?s:h,p=o?h:s;if(!o&&p.gt(e)&&(p=e),o&&!l)d=e.sub(f);else{const e=new ef(t);d=tC.mulDivRoundUp(f,e,ZD.sub(e),128)}return{amountIn:f,amountOut:p,nextPrice:c,feeAmount:d}},cC=(e,t,n)=>n?t.sub(e):t.add(e),lC=(e,t,n,r,i)=>{let o=r,a=i,s=e;if(t>0){let e=((e,t)=>e.mul(new eC(t).div(qD)))(s,t);s=s.sub(e),o=o.add(r)}if(n.gt(JD)){const e=s.shln(64).div(n);a=a.add(e)}return{nextProtocolFee:o,nextFeeGrowthGlobalInput:a}},hC=hf([uf("mint"),uf("vault"),uf("authority"),df("emissionsPerSecondX64"),df("growthGlobalX64")]),dC=hf([yf("anchorDiscriminator"),uf("whirlpoolsConfig"),Zd(mf(),1,"whirlpoolBump"),ff("tickSpacing"),Zd(mf(),2,"tickSpacingSeed"),ff("feeRate"),ff("protocolFeeRate"),df("liquidity"),df("sqrtPrice"),of("tickCurrentIndex"),yf("protocolFeeOwedA"),yf("protocolFeeOwedB"),uf("tokenMintA"),uf("tokenVaultA"),df("feeGrowthGlobalA"),uf("tokenMintB"),uf("tokenVaultB"),df("feeGrowthGlobalB"),yf("rewardLastUpdatedTimestamp"),Zd(hC,3,"rewardInfos")]),fC=hf([nf("initialized"),rf("liquidityNet"),df("liquidityGross"),df("feeGrowthOutsideA"),df("feeGrowthOutsideB"),Zd(df(),3,"reward_growths_outside")]),pC=hf([yf("anchorDiscriminator"),of("startTickIndex"),Zd(fC,88,"ticks"),uf("whirlpool")]),yC=(e,t,n)=>{const r=(Math.floor(e/t/88)+n)*t*88,i=88*t;if(r<-443636-(-443636%i+i))throw`startTickIndex is too small - - ${r}`;if(r>443636)throw`startTickIndex is too large - ${r}`;return r},mC=async({pool:e,freshWhirlpoolData:t,aToB:n})=>{const r=await(async({aToB:e,pool:t,tickSpacing:n,tickCurrentIndex:r})=>{const i=e?0:n;let o=0,a=[];for(let s=0;s<3;s++){let s;try{s=yC(r+i,n,o)}catch(e){return a}const u=(await qs.findProgramAddress([$d.from("tick_array"),new qs(t.toString()).toBuffer(),$d.from(s.toString())],new qs("whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc")))[0];a.push(u),o=e?o-1:o+1}return a})({aToB:n,pool:e,tickSpacing:t.tickSpacing,tickCurrentIndex:t.tickCurrentIndex});return await Promise.all(r.map((async(e,t)=>{let n;try{n=await _I({blockchain:"solana",address:e.toString(),api:pC,cache:10})}catch(e){}return{address:e,data:n}})))};class gC{static fromTickIndex(e,t){const n=Math.floor(Math.floor(e/t)/88);let r=Math.floor(e%(88*t)/t);return r<0&&(r=88+r),new gC(n,r,t)}constructor(e,t,n){if(t>=88)throw new Error("Invalid offsetIndex - value has to be smaller than TICK_ARRAY_SIZE");if(t<0)throw new Error("Invalid offsetIndex - value is smaller than 0");if(n<0)throw new Error("Invalid tickSpacing - value is less than 0");this.arrayIndex=e,this.offsetIndex=t,this.tickSpacing=n}toTickIndex(){return 88*this.arrayIndex*this.tickSpacing+this.offsetIndex*this.tickSpacing}toNextInitializableTickIndex(){return gC.fromTickIndex(this.toTickIndex()+this.tickSpacing,this.tickSpacing)}toPrevInitializableTickIndex(){return gC.fromTickIndex(this.toTickIndex()-this.tickSpacing,this.tickSpacing)}}class vC{constructor(e,t,n){if(!e[0]||!e[0].data)throw new Error("TickArray index 0 must be initialized");this.sequence=[];for(const t of e){if(!t||!t.data)break;this.sequence.push({address:t.address,data:t.data})}this.tickArrays=e,this.tickSpacing=t,this.aToB=n,this.touchedArrays=[...Array(this.sequence.length).fill(!1)],this.startArrayIndex=gC.fromTickIndex(this.sequence[0].data.startTickIndex,this.tickSpacing).arrayIndex}isValidTickArray0(e){const t=this.aToB?0:this.tickSpacing,n=this.sequence[0].data;return this.checkIfIndexIsInTickArrayRange(n.startTickIndex,e+t)}getNumOfTouchedArrays(){return this.touchedArrays.filter((e=>!!e)).length}getTouchedArrays(e){let t=this.touchedArrays.reduce(((e,t,n)=>(t&&e.push(this.sequence[n].address),e)),[]);if(0===t.length)return[];const n=e-t.length;return n>0&&(t=t.concat(Array(n).fill(t[t.length-1]))),t}getTick(e){const t=gC.fromTickIndex(e,this.tickSpacing);if(!this.isArrayIndexInBounds(t,this.aToB))throw new Error("Provided tick index is out of bounds for this sequence.");const n=this.getLocalArrayIndex(t.arrayIndex,this.aToB),r=this.sequence[n].data;if(this.touchedArrays[n]=!0,!r)throw new Error(`TickArray at index ${n} is not initialized.`);if(!this.checkIfIndexIsInTickArrayRange(r.startTickIndex,e))throw new Error(`TickArray at index ${n} is unexpected for this sequence.`);return r.ticks[t.offsetIndex]}findNextInitializedTickIndex(e){const t=this.aToB?e:e+this.tickSpacing;let n=gC.fromTickIndex(t,this.tickSpacing);if(!this.isArrayIndexInBounds(n,this.aToB))throw new Error(`Swap input value traversed too many arrays. Out of bounds at attempt to traverse tick index - ${n.toTickIndex()}.`);for(;this.isArrayIndexInBounds(n,this.aToB);){const e=this.getTick(n.toTickIndex());if(e.initialized)return{nextIndex:n.toTickIndex(),nextTickData:e};n=this.aToB?n.toPrevInitializableTickIndex():n.toNextInitializableTickIndex()}return{nextIndex:Math.max(Math.min(this.aToB?n.toTickIndex()+this.tickSpacing:n.toTickIndex()-1,443636),-443636),nextTickData:null}}getLocalArrayIndex(e,t){return t?this.startArrayIndex-e:e-this.startArrayIndex}isArrayIndexInBounds(e,t){const n=this.getLocalArrayIndex(e.arrayIndex,t),r=this.sequence.length;return n>=0&&n<r}checkIfIndexIsInTickArrayRange(e,t){const n=e+88*this.tickSpacing;return t>=e&&t<n}}const wC=async({account:e,tokenIn:t,tokenOut:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a})=>{try{const n=await _I({blockchain:"solana",address:e.pubkey.toString(),api:dC,cache:10}),s=n.tokenMintA.toString()===t,u=await mC({pool:e.pubkey,freshWhirlpoolData:n,aToB:s}),c=new vC(u,n.tickSpacing,s),l=new ef(s?"4295048016":FD),h=!(!r&&!i),d=(({tokenAmount:e,aToB:t,freshWhirlpoolData:n,tickSequence:r,sqrtPriceLimit:i,amountSpecifiedIsInput:o})=>{let a=e,s=JD,u=n.sqrtPrice,c=n.liquidity,l=n.tickCurrentIndex,h=JD;const d=n.feeRate,f=n.protocolFeeRate;let p=new eC(0),y=t?n.feeGrowthGlobalA:n.feeGrowthGlobalB;for(;a.gt(JD)&&!i.eq(u);){let{nextIndex:e}=r.findNextInitializedTickIndex(l),{nextTickPrice:n,nextSqrtPriceLimit:m}=nC(e,i,t);const g=uC(a,d,c,u,m,o,t);h=h.add(g.feeAmount),o?(a=a.sub(g.amountIn),a=a.sub(g.feeAmount),s=s.add(g.amountOut)):(a=a.sub(g.amountOut),s=s.add(g.amountIn),s=s.add(g.feeAmount));let{nextProtocolFee:v,nextFeeGrowthGlobalInput:w}=lC(g.feeAmount,f,c,p,y);if(p=v,y=w,g.nextPrice.eq(n)){const n=r.getTick(e);n.initialized&&(c=cC(n.liquidityNet,c,t)),l=t?e-1:e}else l=HD.sqrtPriceX64ToTickIndex(g.nextPrice);u=g.nextPrice}return s})({tokenAmount:new ef((r||i||o||a).toString()),aToB:s,freshWhirlpoolData:n,tickSequence:c,sqrtPriceLimit:l,amountSpecifiedIsInput:h});if("0"==d.toString())throw"amountCalculated cant be zero!";return{price:d.toString(),tickArrays:u,aToB:s,sqrtPriceLimit:l}}catch(e){return{price:void 0,tickArrays:void 0,aToB:void 0,sqrtPriceLimit:void 0}}};let bC=async(e,t)=>{if(t===Vf.solana.wrapped.address)return[];let n=function(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}(["undefined"!=typeof window?window:void 0!==r?r:void 0,"optionalAccess",e=>e._whirlpoolsConfig])||"2LecshUwdy9xi7meFgHtFJQNSKk4KdTrcpvaB56dP2NQ";return await _I("solana://whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc/getProgramAccounts",{params:{filters:[{dataSize:dC.span},{memcmp:{offset:8,bytes:n}},{memcmp:{offset:101,bytes:e}},{memcmp:{offset:181,bytes:t}}]},api:dC,cache:86400,cacheKey:["whirlpool",e.toString(),t.toString()].join("-")})},MC=async({tokenIn:e,tokenOut:t,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o})=>{try{let a=await bC(e,t);return 0===a.length&&(a=await bC(t,e)),a=a.filter((e=>e.data.liquidity.gt(1))),a=(await Promise.all(a.map((async a=>{const{price:s,tickArrays:u,sqrtPriceLimit:c,aToB:l}=await wC({account:a,tokenIn:e,tokenOut:t,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o});return void 0!==s&&{pubkey:a.pubkey,price:s,tickArrays:u,sqrtPriceLimit:c,aToB:l,data:{tokenVaultA:a.data.tokenVaultA,tokenVaultB:a.data.tokenVaultB}}})))).filter(Boolean),a}catch(e){return[]}},AC=async({tokenIn:e,tokenOut:t,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o})=>{const a=await MC({tokenIn:e,tokenOut:t,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o});if(!a||0===a.length)return;let s;return s=n||r?(e=>e.reduce(((e,t)=>Yp.from(t.price).gt(Yp.from(e.price))?t:e)))(a):(e=>e.reduce(((e,t)=>Yp.from(t.price).lt(Yp.from(e.price))?t:e)))(a),s};function IC(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}const NC=Vf.solana;let TC=({path:e})=>{if(!e)return;let t=e.map(((t,n)=>t===NC.currency.address&&e[n+1]!=NC.wrapped.address&&e[n-1]!=NC.wrapped.address?NC.wrapped.address:t));return t[0]==NC.currency.address&&t[1]==NC.wrapped.address?t.splice(0,1):t[t.length-1]==NC.currency.address&&t[t.length-2]==NC.wrapped.address&&t.splice(t.length-1,1),t},EC=async({path:e,amountIn:t,amountInMax:n,amountOut:r,amountOutMin:i})=>1!=e.length&&(e=TC({path:e}),(await MC({tokenIn:e[0],tokenOut:e[1],amountIn:t,amountInMax:n,amountOut:r,amountOutMin:i})).length>0),xC=async({path:e,amountIn:t,amountInMax:n})=>{let r=[Yp.from(t||n)];if(r.push(Yp.from((await AC({tokenIn:e[0],tokenOut:e[1],amountIn:t,amountInMax:n})).price)),3===e.length&&r.push(Yp.from((await AC({tokenIn:e[1],tokenOut:e[2],amountIn:t?r[1]:void 0,amountInMax:n?r[1]:void 0})).price)),r.length==e.length)return r},kC=async({path:e,amountOut:t,amountOutMin:n})=>{e=e.slice().reverse();let r=[Yp.from(t||n)];if(r.push(Yp.from((await AC({tokenIn:e[1],tokenOut:e[0],amountOut:t,amountOutMin:n})).price)),3===e.length&&r.push(Yp.from((await AC({tokenIn:e[2],tokenOut:e[1],amountOut:t?r[1]:void 0,amountOutMin:n?r[1]:void 0})).price)),r.length==e.length)return r.slice().reverse()};const LC=Vf.solana,SC=new ef("14449647541112719096"),jC=new ef("16635068063392030915"),DC=async({instructions:e,owner:t,token:n,account:r})=>{let i;try{i=!!await _I({blockchain:"solana",address:r.toString()})}catch(e){}i||e.push(await RS.solana.createAssociatedTokenAccountInstruction({token:n,owner:t,payer:t}))},CC=async({account:e,poolOne:t,tickArraysOne:n,tokenAccountOneA:r,tokenVaultOneA:i,tokenAccountOneB:o,tokenVaultOneB:a,poolTwo:s,tickArraysTwo:u,tokenAccountTwoA:c,tokenVaultTwoA:l,tokenAccountTwoB:h,tokenVaultTwoB:d})=>{let f=!1;const p=n.map(((e,t)=>!1!==f?n[f]:e.data?e:(f=t-1,n[t-1])));let y=!1;const m=u.map(((e,t)=>!1!==y?u[y]:e.data?e:(y=t-1,u[t-1])));return[{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isWritable:!1,isSigner:!1},{pubkey:new qs(e),isWritable:!1,isSigner:!0},{pubkey:new qs(t.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(s.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(r.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(i.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(o.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(a.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(c.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(l.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(h.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(d.toString()),isWritable:!0,isSigner:!1},{pubkey:p[0].address,isWritable:!0,isSigner:!1},{pubkey:p[1].address,isWritable:!0,isSigner:!1},{pubkey:p[2].address,isWritable:!0,isSigner:!1},{pubkey:m[0].address,isWritable:!0,isSigner:!1},{pubkey:m[1].address,isWritable:!0,isSigner:!1},{pubkey:m[2].address,isWritable:!0,isSigner:!1},{pubkey:(await qs.findProgramAddress([$d.from("oracle"),new qs(t.toString()).toBuffer()],new qs("whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc")))[0],isWritable:!1,isSigner:!1},{pubkey:(await qs.findProgramAddress([$d.from("oracle"),new qs(s.toString()).toBuffer()],new qs("whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc")))[0],isWritable:!1,isSigner:!1}]},OC=({amount:e,otherAmountThreshold:t,amountSpecifiedIsInput:n,aToBOne:r,aToBTwo:i,sqrtPriceLimitOne:o,sqrtPriceLimitTwo:a})=>{let s,u;return s=hf([yf("anchorDiscriminator"),yf("amount"),yf("otherAmountThreshold"),nf("amountSpecifiedIsInput"),nf("aToBOne"),nf("aToBTwo"),df("sqrtPriceLimitOne"),df("sqrtPriceLimitTwo")]),u=$d.alloc(s.span),s.encode({anchorDiscriminator:jC,amount:new ef(e.toString()),otherAmountThreshold:new ef(t.toString()),amountSpecifiedIsInput:n,aToBOne:r,aToBTwo:i,sqrtPriceLimitOne:o,sqrtPriceLimitTwo:a},u),u},zC=async({account:e,pool:t,tokenAccountA:n,tokenVaultA:r,tokenAccountB:i,tokenVaultB:o,tickArrays:a})=>{let s=!1;const u=a.map(((e,t)=>!1!==s?a[s]:e.data?e:(s=t-1,a[t-1])));return[{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isWritable:!1,isSigner:!1},{pubkey:new qs(e),isWritable:!1,isSigner:!0},{pubkey:new qs(t.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(n.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(r.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(i.toString()),isWritable:!0,isSigner:!1},{pubkey:new qs(o.toString()),isWritable:!0,isSigner:!1},{pubkey:u[0].address,isWritable:!0,isSigner:!1},{pubkey:u[1].address,isWritable:!0,isSigner:!1},{pubkey:u[2].address,isWritable:!0,isSigner:!1},{pubkey:(await qs.findProgramAddress([$d.from("oracle"),new qs(t.toString()).toBuffer()],new qs("whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc")))[0],isWritable:!1,isSigner:!1}]},PC=({amount:e,otherAmountThreshold:t,sqrtPriceLimit:n,amountSpecifiedIsInput:r,aToB:i})=>{let o,a;return o=hf([yf("anchorDiscriminator"),yf("amount"),yf("otherAmountThreshold"),df("sqrtPriceLimit"),nf("amountSpecifiedIsInput"),nf("aToB")]),a=$d.alloc(o.span),o.encode({anchorDiscriminator:SC,amount:new ef(e.toString()),otherAmountThreshold:new ef(t.toString()),sqrtPriceLimit:n,amountSpecifiedIsInput:r,aToB:i},a),a};var _C={findPath:async({tokenIn:e,tokenOut:t,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o})=>{if([e,t].includes(NC.currency.address)&&[e,t].includes(NC.wrapped.address))return{path:void 0,exchangePath:void 0};let a,s,u,c;return await EC({path:[e,t],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?a=[e,t]:e!=NC.wrapped.address&&e!=NC.currency.address&&await EC({path:[e,NC.wrapped.address],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})&&t!=NC.wrapped.address&&t!=NC.currency.address&&await EC({path:[t,NC.wrapped.address],amountIn:r||o,amountInMax:r||o,amountOut:n||i,amountOutMin:n||i})?a=[e,NC.wrapped.address,t]:!NC.stables.usd.includes(e)&&(s=(await Promise.all(NC.stables.usd.map((async t=>await EC({path:[e,t],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?t:void 0)))).filter(Boolean))&&!NC.stables.usd.includes(t)&&(u=(await Promise.all(NC.stables.usd.map((async e=>await EC({path:[t,e],amountIn:r||o,amountInMax:r||o,amountOut:n||i,amountOutMin:n||i})?e:void 0)))).filter(Boolean))&&(c=s.filter((e=>u.includes(e)))[0])&&(a=[e,c,t]),IC([a,"optionalAccess",e=>e.length])&&a[0]==NC.currency.address?a.splice(1,0,NC.wrapped.address):IC([a,"optionalAccess",e=>e.length])&&a[a.length-1]==NC.currency.address&&a.splice(a.length-1,0,NC.wrapped.address),{path:a,exchangePath:TC({path:a})}},pathExists:EC,getAmounts:async({path:e,tokenIn:t,tokenOut:n,amountOut:r,amountIn:i,amountInMax:o,amountOutMin:a})=>{let s;if(e=TC({path:e}),r){if(s=await kC({path:e,amountOut:r,tokenIn:t,tokenOut:n}),null==(i=s?s[0]:void 0)||o&&i.gt(o))return{};void 0===o&&(o=i)}else if(i){if(s=await xC({path:e,amountIn:i,tokenIn:t,tokenOut:n}),null==(r=s?s[s.length-1]:void 0)||a&&r.lt(a))return{};void 0===a&&(a=r)}else if(a){if(s=await kC({path:e,amountOutMin:a,tokenIn:t,tokenOut:n}),null==(i=s?s[0]:void 0)||o&&i.gt(o))return{};void 0===o&&(o=i)}else if(o){if(s=await xC({path:e,amountInMax:o,tokenIn:t,tokenOut:n}),null==(r=s?s[s.length-1]:void 0)||a&&r.lt(a))return{};void 0===a&&(a=r)}return{amountOut:r||a,amountIn:i||o,amountInMax:o||i,amountOutMin:a||r,amounts:s}},getTransaction:async({path:e,amountIn:t,amountInMax:n,amountOut:r,amountOutMin:i,amounts:o,amountInInput:a,amountOutInput:s,amountInMaxInput:u,amountOutMinInput:c,account:l})=>{let h={blockchain:"solana"},d=[];const f=TC({path:e});if(f.length>3)throw"Orca can only handle fixed paths with a max length of 3 (2 pools)!";const p=f[0],y=3==f.length?f[1]:void 0,m=f[f.length-1];let g;2==f.length?g=[await AC({tokenIn:p,tokenOut:m,amountIn:a||u,amountOut:s||c})]:a||u?(g=[await AC({tokenIn:p,tokenOut:y,amountIn:a||u})],g.push(await AC({tokenIn:y,tokenOut:m,amountIn:g[0].price}))):(g=[await AC({tokenIn:y,tokenOut:m,amountOut:s||c})],g.unshift(await AC({tokenIn:p,tokenOut:y,amountOut:g[0].price})));let v,w=e[0]===LC.currency.address&&f[0]===LC.wrapped.address,b=e[e.length-1]===LC.currency.address&&f[f.length-1]===LC.wrapped.address;const M=await LI("solana");if(w||b){const e=await M.getMinimumBalanceForRentExemption(RS.solana.TOKEN_LAYOUT.span),n=Hl.generate();v=n.publicKey.toString();const r=w?new ef(t.toString()).add(new ef(e)):new ef(e);let i=Uu.createAccount({fromPubkey:new qs(l),newAccountPubkey:new qs(v),programId:new qs(RS.solana.TOKEN_PROGRAM),space:RS.solana.TOKEN_LAYOUT.span,lamports:r});i.signers=[n],d.push(i),d.push(RS.solana.initializeAccountInstruction({account:v,token:LC.wrapped.address,owner:l}))}if(1===g.length){let e=!(!a&&!c),o=e?t:r,s=e?i:n,u=new qs(w?v:await RS.solana.findProgramAddress({owner:l,token:p})),h=new qs(b?v:await RS.solana.findProgramAddress({owner:l,token:m}));b||await DC({instructions:d,owner:l,token:m,account:h}),d.push(new pu({programId:new qs("whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"),keys:await zC({account:l,pool:g[0].pubkey,tokenAccountA:g[0].aToB?u:h,tokenVaultA:g[0].data.tokenVaultA,tokenAccountB:g[0].aToB?h:u,tokenVaultB:g[0].data.tokenVaultB,tickArrays:g[0].tickArrays}),data:PC({amount:o,otherAmountThreshold:s,sqrtPriceLimit:g[0].sqrtPriceLimit,amountSpecifiedIsInput:e,aToB:g[0].aToB})}))}else if(2===g.length){let e=!(!a&&!c),o=e?t:r,s=e?i:n,u=new qs(w?v:await RS.solana.findProgramAddress({owner:l,token:p})),h=f[1],y=new qs(await RS.solana.findProgramAddress({owner:l,token:h}));await DC({instructions:d,owner:l,token:h,account:y});let M=new qs(b?v:await RS.solana.findProgramAddress({owner:l,token:m}));b||await DC({instructions:d,owner:l,token:m,account:M}),d.push(new pu({programId:new qs("whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"),keys:await CC({account:l,poolOne:g[0].pubkey,tickArraysOne:g[0].tickArrays,tokenAccountOneA:g[0].aToB?u:y,tokenVaultOneA:g[0].data.tokenVaultA,tokenAccountOneB:g[0].aToB?y:u,tokenVaultOneB:g[0].data.tokenVaultB,poolTwo:g[1].pubkey,tickArraysTwo:g[1].tickArrays,tokenAccountTwoA:g[1].aToB?y:M,tokenVaultTwoA:g[1].data.tokenVaultA,tokenAccountTwoB:g[1].aToB?M:y,tokenVaultTwoB:g[1].data.tokenVaultB}),data:OC({amount:o,otherAmountThreshold:s,amountSpecifiedIsInput:e,aToBOne:g[0].aToB,aToBTwo:g[1].aToB,sqrtPriceLimitOne:g[0].sqrtPriceLimit,sqrtPriceLimitTwo:g[1].sqrtPriceLimit})}))}return(w||b)&&d.push(RS.solana.closeAccountInstruction({account:v,owner:l})),h.instructions=d,h},WHIRLPOOL_LAYOUT:dC};const BC={name:"orca",label:"Orca",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI3LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9ImthdG1hbl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNjAwIDQ1MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjAwIDQ1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjRkZEMTVDIiBkPSJNNDg4LjQsMjIyLjljMCwxMDMuOC04NC4xLDE4Ny45LTE4Ny45LDE4Ny45Yy0xMDMuOCwwLTE4Ny45LTg0LjEtMTg3LjktMTg3LjlDMTEyLjYsMTE5LjEsMTk2LjcsMzUsMzAwLjUsMzUKCUM0MDQuMiwzNSw0ODguNCwxMTkuMSw0ODguNCwyMjIuOXoiLz4KPHBhdGggZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjE3LjY3NTUiIGQ9Ik0yMDkuNSwyOTkuOGMxLjYtMS4xLDMuMS0yLjgsMy45LTUuMWMwLjgtMi42LDAuMy00LjksMC02LjJjMCwwLDAtMC4xLDAtMC4xbDAuMy0xLjhjMC45LDAuNSwxLjksMS4xLDMsMS45CgljMC4zLDAuMiwwLjcsMC41LDEuMSwwLjdjMC41LDAuNCwxLjEsMC44LDEuNCwxYzAuNiwwLjQsMS41LDEsMi41LDEuNWMyNS4xLDE1LjYsNDUuOCwyMiw2Mi4yLDIxLjJjMTctMC44LDI4LjktOS40LDM1LjEtMjEuOQoJYzUuOS0xMi4xLDYuMi0yNywyLTQwLjljLTQuMi0xMy45LTEzLTI3LjUtMjYuMi0zNi45Yy0yMi4yLTE1LjgtNDIuNS0zOS44LTUyLjctNjAuM2MtNS4yLTEwLjQtNy4zLTE4LjctNi43LTI0LjIKCWMwLjMtMi41LDEtNC4xLDItNS4xYzAuOS0xLDIuNi0yLjEsNS45LTIuNmM2LjktMS4xLDE1LTMuNiwyMy4xLTYuMmMzLjItMSw2LjMtMiw5LjUtMi45YzExLjctMy40LDI0LjItNi4zLDM3LjItNi4zCgljMjUuMywwLDU1LDExLDg2LjMsNTYuOGM0MC4yLDU4LjgsMTguMSwxMjQuNC0yOC4yLDE1OC45Yy0yMy4xLDE3LjItNTEuOSwyNi4zLTgxLjUsMjIuOUMyNjIuOSwzNDEuMywyMzQuOSwzMjcuOSwyMDkuNSwyOTkuOHoKCSBNMjE0LjIsMjg0LjZDMjE0LjIsMjg0LjYsMjE0LjIsMjg0LjcsMjE0LjIsMjg0LjZDMjE0LjEsMjg0LjcsMjE0LjIsMjg0LjYsMjE0LjIsMjg0LjZ6IE0yMTEuNiwyODUuOAoJQzIxMS42LDI4NS44LDIxMS43LDI4NS44LDIxMS42LDI4NS44QzIxMS43LDI4NS44LDIxMS42LDI4NS44LDIxMS42LDI4NS44eiIvPgo8cGF0aCBkPSJNMjMyLjUsMTI0LjNjMCwwLDcxLjgtMTkuMSw4Ny41LTE5LjFjMTUuNywwLDc4LjYsMzAuNSw5Ni45LDg2LjNjMjYsNzktNDQuNywxMzAuOS01Mi43LDEyNS44CgljNzYuMS02Mi45LTQ4LjQtMTc5LjEtMTA5LjYtMTcwLjRjLTcuNiwxLjEtMy40LDcuNi0zLjQsNy42bC0xLjcsMTdsLTEyLjctMjEuMkwyMzIuNSwxMjQuM3oiLz4KPHBhdGggZD0iTTQwNi41LDE2Ny42YzIyLjcsMzkuOSwxOCwxNy4xLDEyLjksNjIuN2M5LjMtMTUuMSwyMy45LTMuOCwyOS45LDJjMS4xLDEsMi45LDAuNCwyLjgtMS4xYy0wLjItNi44LTIuMi0yMS40LTEzLjQtMzcuMQoJQzQyMy40LDE3Mi42LDQwNi41LDE2Ny42LDQwNi41LDE2Ny42eiIvPgo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMC45OTMiIGQ9Ik00MTkuNCwyMzAuM2M1LTQ1LjYsOS43LTIyLjgtMTIuOS02Mi43YzAsMCwxNi45LDUsMzIuMywyNi41YzExLjIsMTUuNywxMy4xLDMwLjMsMTMuNCwzNy4xCgljMC4xLDEuNS0xLjcsMi4xLTIuOCwxLjFDNDQzLjMsMjI2LjUsNDI4LjcsMjE1LjMsNDE5LjQsMjMwLjN6IE00MTkuNCwyMzAuM2MwLjktMi4xLDIuMi01LjUsMi4yLTUuNSIvPgo8cGF0aCBkPSJNMjI0LDIyNC4yYy05LjYsMTYuMi0yOS4yLDE1LTI4LjgsMzQuM2MxNy41LDM5LDE3LjYsMzYuMiwxNy42LDM2LjJjMzIuNS0xOC4yLDE5LjEtNTguNSwxNC4zLTcwLjQKCUMyMjYuNiwyMjMsMjI0LjcsMjIzLDIyNCwyMjQuMnoiLz4KPHBhdGggZD0iTTE1MC40LDI2MC4xYzE4LjcsMi40LDI5LjgtMTMuOCw0NC44LTEuNmMxOS45LDM3LjgsMTcuNiwzNi4yLDE3LjYsMzYuMmMtMzQuNCwxNC40LTU3LjktMjEtNjQuMy0zMi4xCglDMTQ3LjgsMjYxLjMsMTQ5LDI1OS45LDE1MC40LDI2MC4xeiIvPgo8cGF0aCBkPSJNMzA2LjksMjM2YzAsMCwxOC43LDE5LjEsOC45LDIyLjFjLTEyLjItNy41LTM0LTEuNy00NC43LDEuOWMtMi42LDAuOS01LjItMS40LTQuMy00LjFjMy42LTEwLDEyLjYtMjguNiwyOS45LTMxCglDMzA2LjksMjIyLjQsMzA2LjksMjM2LDMwNi45LDIzNnoiLz4KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTMxOC4zLDE0Mi41Yy0yLjEtMy02LjQtMTEsNi44LTExYzEzLjIsMCwzMy4zLDE0LjksMzcuNCwyMC40Yy0xLjMsMy40LTkuOCw0LjEtMTQsMy44Yy00LjItMC4zLTExLjUtMS0xNy0zLjgKCUMzMjYsMTQ5LjIsMzIwLjUsMTQ1LjUsMzE4LjMsMTQyLjV6Ii8+Cjwvc3ZnPgo=",protocol:"orca",slippage:!0,blockchains:["solana"],solana:{router:{address:"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",api:_C.WHIRLPOOL_LAYOUT}}};var RC=e=>new OD(Object.assign(BC,{scope:e,findPath:e=>_C.findPath({...e,exchange:BC}),pathExists:e=>_C.pathExists({...e,exchange:BC}),getAmounts:e=>_C.getAmounts({...e,exchange:BC}),getPrep:e=>{},getTransaction:e=>_C.getTransaction({...e,exchange:BC})}));const UC={name:"pancakeswap",label:"PancakeSwap",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTk4IiBoZWlnaHQ9IjE5OSIgdmlld0JveD0iMCAwIDE5OCAxOTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOTguNTUyIDE5OC42MDdDNjkuMDYxMyAxOTguNTg1IDQ1LjMwNiAxOTEuNTggMjguNzA3OSAxNzguOTk4QzExLjkxMDggMTY2LjI2NSAzIDE0OC4xOTUgMyAxMjcuNzQ4QzMgMTA4LjA0NyAxMS44OTEzIDkzLjg0MTEgMjEuOTUxNyA4NC4yMzg1QzI5LjgzNTkgNzYuNzEzMiAzOC41MzYzIDcxLjg5MzYgNDQuNTk0NSA2OS4xMjEzQzQzLjIyNDUgNjQuOTU5NCA0MS41MTUzIDU5LjUxMDggMzkuOTg2MSA1My44ODMyQzM3LjkzOTkgNDYuMzUyNyAzNS45MzI1IDM3LjUxNzQgMzUuOTMyNSAzMS4wNDI5QzM1LjkzMjUgMjMuMzc5NSAzNy42MjA0IDE1LjY4MzMgNDIuMTcxNCA5LjcwMzA2QzQ2Ljk3OTcgMy4zODQ3NiA1NC4yMTgyIDAgNjIuOTI2NCAwQzY5LjczMjIgMCA3NS41MTAzIDIuNDk5MDMgODAuMDMzOSA2LjgxMDExQzg0LjM1NzkgMTAuOTMwOSA4Ny4yMzU3IDE2LjQwMzQgODkuMjIyNyAyMi4xMDgyQzkyLjcxNDMgMzIuMTMyNSA5NC4wNzM4IDQ0LjcyNjQgOTQuNDU1MSA1Ny4yOTQ1SDEwMi43OTZDMTAzLjE3OCA0NC43MjY0IDEwNC41MzcgMzIuMTMyNSAxMDguMDI5IDIyLjEwODJDMTEwLjAxNiAxNi40MDM0IDExMi44OTQgMTAuOTMwOSAxMTcuMjE4IDYuODEwMTFDMTIxLjc0MSAyLjQ5OTAzIDEyNy41MTkgMCAxMzQuMzI1IDBDMTQzLjAzMyAwIDE1MC4yNzIgMy4zODQ3NiAxNTUuMDggOS43MDMwNkMxNTkuNjMxIDE1LjY4MzMgMTYxLjMxOSAyMy4zNzk1IDE2MS4zMTkgMzEuMDQyOUMxNjEuMzE5IDM3LjUxNzQgMTU5LjMxMiA0Ni4zNTI3IDE1Ny4yNjUgNTMuODgzMkMxNTUuNzM2IDU5LjUxMDggMTU0LjAyNyA2NC45NTk0IDE1Mi42NTcgNjkuMTIxM0MxNTguNzE1IDcxLjg5MzYgMTY3LjQxNiA3Ni43MTMyIDE3NS4zIDg0LjIzODVDMTg1LjM2IDkzLjg0MTEgMTk0LjI1MiAxMDguMDQ3IDE5NC4yNTIgMTI3Ljc0OEMxOTQuMjUyIDE0OC4xOTUgMTg1LjM0MSAxNjYuMjY1IDE2OC41NDQgMTc4Ljk5OEMxNTEuOTQ1IDE5MS41OCAxMjguMTkgMTk4LjU4NSA5OC42OTk2IDE5OC42MDdIOTguNTUyWiIgZmlsbD0iIzYzMzAwMSIvPgo8cGF0aCBkPSJNNjIuOTI2MiA3LjI4ODMzQzUwLjE3MTYgNy4yODgzMyA0NC4zMDA0IDE2LjgwMzcgNDQuMzAwNCAyOS45NjMyQzQ0LjMwMDQgNDAuNDIzMSA1MS4xMjIyIDYxLjM3MTUgNTMuOTIxMiA2OS41MjYzQzU0LjU1MDggNzEuMzYwNSA1My41NjE2IDczLjM3MDEgNTEuNzU3NCA3NC4wODE0QzQxLjUzNTEgNzguMTEyMSAxMS4zNjc5IDkyLjg3IDExLjM2NzkgMTI2LjY2OUMxMS4zNjc5IDE2Mi4yNzIgNDIuMDI0NiAxODkuMTE3IDk4LjU1ODEgMTg5LjE2Qzk4LjU4MDYgMTg5LjE2IDk4LjYwMzEgMTg5LjE1OSA5OC42MjU2IDE4OS4xNTlDOTguNjQ4MSAxODkuMTU5IDk4LjY3MDYgMTg5LjE2IDk4LjY5MzEgMTg5LjE2QzE1NS4yMjcgMTg5LjExNyAxODUuODgzIDE2Mi4yNzIgMTg1Ljg4MyAxMjYuNjY5QzE4NS44ODMgOTIuODcgMTU1LjcxNiA3OC4xMTIxIDE0NS40OTQgNzQuMDgxNEMxNDMuNjkgNzMuMzcwMSAxNDIuNyA3MS4zNjA1IDE0My4zMyA2OS41MjYzQzE0Ni4xMjkgNjEuMzcxNSAxNTIuOTUxIDQwLjQyMzEgMTUyLjk1MSAyOS45NjMyQzE1Mi45NTEgMTYuODAzNyAxNDcuMDggNy4yODgzMyAxMzQuMzI1IDcuMjg4MzNDMTE1Ljk2NSA3LjI4ODMzIDExMS4zODkgMzMuMjk1NSAxMTEuMDYyIDYxLjIwNzVDMTExLjA0IDYzLjA3MDkgMTA5LjUzNCA2NC41ODI4IDEwNy42NyA2NC41ODI4SDg5LjU4MDdDODcuNzE3MiA2NC41ODI4IDg2LjIxMDggNjMuMDcwOSA4Ni4xODkgNjEuMjA3NUM4NS44NjI2IDMzLjI5NTUgODEuMjg2IDcuMjg4MzMgNjIuOTI2MiA3LjI4ODMzWiIgZmlsbD0iI0QxODg0RiIvPgo8cGF0aCBkPSJNOTguNjkzMSAxNzcuNzU1QzU3LjE1NTEgMTc3Ljc1NSAxMS40Mzk3IDE1NS41MiAxMS4zNjgxIDEyNi43MzdDMTEuMzY4IDEyNi43ODEgMTEuMzY3OSAxMjYuODI2IDExLjM2NzkgMTI2Ljg3MUMxMS4zNjc5IDE2Mi41MDMgNDIuMDczNCAxODkuMzYyIDk4LjY5MzEgMTg5LjM2MkMxNTUuMzEzIDE4OS4zNjIgMTg2LjAxOCAxNjIuNTAzIDE4Ni4wMTggMTI2Ljg3MUMxODYuMDE4IDEyNi44MjYgMTg2LjAxOCAxMjYuNzgxIDE4Ni4wMTggMTI2LjczN0MxODUuOTQ2IDE1NS41MiAxNDAuMjMxIDE3Ny43NTUgOTguNjkzMSAxNzcuNzU1WiIgZmlsbD0iI0ZFREM5MCIvPgo8cGF0aCBkPSJNNzUuNjEzNSAxMTcuODk2Qzc1LjYxMzUgMTI3LjYxNCA3MS4wMjEgMTMyLjY3NSA2NS4zNTU4IDEzMi42NzVDNTkuNjkwNyAxMzIuNjc1IDU1LjA5ODEgMTI3LjYxNCA1NS4wOTgxIDExNy44OTZDNTUuMDk4MSAxMDguMTc4IDU5LjY5MDcgMTAzLjExNyA2NS4zNTU4IDEwMy4xMTdDNzEuMDIxIDEwMy4xMTcgNzUuNjEzNSAxMDguMTc4IDc1LjYxMzUgMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPHBhdGggZD0iTTE0Mi4yODggMTE3Ljg5NkMxNDIuMjg4IDEyNy42MTQgMTM3LjY5NiAxMzIuNjc1IDEzMi4wMzEgMTMyLjY3NUMxMjYuMzY1IDEzMi42NzUgMTIxLjc3MyAxMjcuNjE0IDEyMS43NzMgMTE3Ljg5NkMxMjEuNzczIDEwOC4xNzggMTI2LjM2NSAxMDMuMTE3IDEzMi4wMzEgMTAzLjExN0MxMzcuNjk2IDEwMy4xMTcgMTQyLjI4OCAxMDguMTc4IDE0Mi4yODggMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPC9zdmc+Cg==",protocol:"uniswap_v2",slippage:!0,blockchains:["bsc"],bsc:{router:{address:"0x10ED43C718714eb63d5aA57B78B54704E256024E",api:QD.ROUTER},factory:{address:"0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73",api:QD.FACTORY},pair:{api:QD.PAIR}}};var QC=e=>new OD(Object.assign(UC,{scope:e,findPath:e=>QD.findPath({...e,exchange:UC}),pathExists:e=>QD.pathExists({...e,exchange:UC}),getAmounts:e=>QD.getAmounts({...e,exchange:UC}),getPrep:e=>QD.getPrep({...e,exchange:UC}),getTransaction:e=>QD.getTransaction({...e,exchange:UC})}));function WC(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}const YC=({blockchain:e,exchange:t,path:n})=>{if(!n)return;let r=n.map(((t,r)=>t===Vf[e].currency.address&&n[r+1]!=Vf[e].wrapped.address&&n[r-1]!=Vf[e].wrapped.address?Vf[e].wrapped.address:t));return r[0]==Vf[e].currency.address&&r[1]==Vf[e].wrapped.address?r.splice(0,1):r[r.length-1]==Vf[e].currency.address&&r[r.length-2]==Vf[e].wrapped.address&&r.splice(r.length-1,1),r},FC=async({blockchain:e,exchange:t,path:n,amountIn:r,amountOut:i,block:o})=>{if((n=YC({blockchain:e,exchange:t,path:n})).length>2)throw"PancakeSwap V3 can only check paths for up to 2 tokens!";try{let o=(await Promise.all(t.fees.map((r=>_I({blockchain:Vf[e].name,address:t[e].factory.address,method:"getPool",api:t[e].factory.api,cache:3600,params:[n[0],n[1],r]}).then((t=>({blockchain:e,address:t,path:n,fee:r,token0:[...n].sort()[0],token1:[...n].sort()[1]}))).catch((()=>{})))))).filter(Boolean);return o=o.filter((t=>t.address!=Vf[e].zero)),o=(await Promise.all(o.map((async e=>{try{let n;return n=r?await(async({exchange:e,pool:t,inputAmount:n})=>(await _I({blockchain:t.blockchain,address:e[t.blockchain].quoter.address,api:e[t.blockchain].quoter.api,method:"quoteExactInput",params:{path:iI(["address","uint24","address"],[t.path[0],t.fee,t.path[1]]),amountIn:n},cache:5})).amountOut)({exchange:t,pool:e,inputAmount:r}):await(async({exchange:e,pool:t,outputAmount:n})=>(await _I({blockchain:t.blockchain,address:e[t.blockchain].quoter.address,api:e[t.blockchain].quoter.api,method:"quoteExactOutput",params:{path:iI(["address","uint24","address"],[t.path[1],t.fee,t.path[0]]),amountOut:n},cache:5})).amountIn)({exchange:t,pool:e,outputAmount:i}),{...e,amountIn:r||n,amountOut:i||n}}catch(e){}})))).filter(Boolean),r?o.sort(((e,t)=>t.amountOut.gt(e.amountOut)?1:-1))[0]:o.sort(((e,t)=>t.amountIn.lt(e.amountIn)?1:-1))[0]}catch(e){return}};let VC=({blockchain:e,exchange:t,path:n,pools:r,amountIn:i})=>r[r.length-1].amountOut,HC=async({blockchain:e,exchange:t,path:n,pools:r,amountOut:i,block:o})=>{if(void 0===o)return r[0].amountIn;{let n;2==r.length?n=iI(["address","uint24","address","uint24","address"],[r[1].path[1],r[1].fee,r[0].path[1],r[0].fee,r[0].path[0]]):1==r.length&&(n=iI(["address","uint24","address"],[r[0].path[1],r[0].fee,r[0].path[0]]));return(await _I({block:o,blockchain:e,address:t[e].quoter.address,api:t[e].quoter.api,method:"quoteExactOutput",params:{path:n,amountOut:i}})).amountIn}};var GC={findPath:async({blockchain:e,exchange:t,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s})=>{if([n,r].includes(Vf[e].currency.address)&&[n,r].includes(Vf[e].wrapped.address))return{path:void 0,exchangePath:void 0};let u,c=[];if(c=[await FC({exchange:t,blockchain:e,path:[n,r],amountIn:i||a,amountOut:o||s})],c.filter(Boolean).length&&(u=[n,r]),u||n==Vf[e].wrapped.address||r==Vf[e].wrapped.address||(c=[],o||s?(c.push(await FC({exchange:t,blockchain:e,path:[Vf[e].wrapped.address,r],amountOut:o||s})),c.filter(Boolean).length&&c.unshift(await FC({exchange:t,blockchain:e,path:[n,Vf[e].wrapped.address],amountOut:c[0].amountIn}))):(c.push(await FC({exchange:t,blockchain:e,path:[n,Vf[e].wrapped.address],amountIn:i||a})),c.filter(Boolean).length&&c.push(await FC({exchange:t,blockchain:e,path:[Vf[e].wrapped.address,r],amountIn:c[0].amountOut}))),2===c.filter(Boolean).length&&(u=[n,Vf[e].wrapped.address,r])),!u){c=[];let l=(await Promise.all(Vf[e].stables.usd.map((async u=>{let c=[];if(o||s?(c.push(await FC({exchange:t,blockchain:e,path:[u,r],amountOut:o||s})),c.filter(Boolean).length&&c.unshift(await FC({exchange:t,blockchain:e,path:[n,u],amountOut:c[0].amountIn}))):(c.push(await FC({exchange:t,blockchain:e,path:[n,u],amountIn:i||a})),c.filter(Boolean).length&&c.push(await FC({exchange:t,blockchain:e,path:[u,r],amountIn:c[0].amountOut}))),2===c.filter(Boolean).length)return[u,c]})))).filter(Boolean)[0];l&&(u=[n,l[0],r],c=l[1])}return WC([u,"optionalAccess",e=>e.length])&&u[0]==Vf[e].currency.address?u.splice(1,0,Vf[e].wrapped.address):WC([u,"optionalAccess",e=>e.length])&&u[u.length-1]==Vf[e].currency.address&&u.splice(u.length-1,0,Vf[e].wrapped.address),u||(c=[]),{path:u,pools:c,exchangePath:YC({blockchain:e,exchange:t,path:u})}},pathExists:async({blockchain:e,exchange:t,path:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a})=>{try{return!!await FC({blockchain:e,exchange:t,path:n,amountIn:r||o,amountOut:i||a})}catch(e){return!1}},getAmounts:async({blockchain:e,exchange:t,path:n,pools:r,block:i,tokenIn:o,tokenOut:a,amountOut:s,amountIn:u,amountInMax:c,amountOutMin:l})=>{if(s){if(null==(u=await HC({blockchain:e,exchange:t,block:i,path:n,pools:r,amountOut:s,tokenIn:o,tokenOut:a}))||c&&u.gt(c))return{};void 0===c&&(c=u)}else if(u){if(null==(s=await VC({blockchain:e,exchange:t,path:n,pools:r,amountIn:u,tokenIn:o,tokenOut:a}))||l&&s.lt(l))return{};void 0===l&&(l=s)}else if(l){if(null==(u=await HC({blockchain:e,exchange:t,block:i,path:n,pools:r,amountOut:l,tokenIn:o,tokenOut:a}))||c&&u.gt(c))return{};void 0===c&&(c=u)}else if(c){if(null==(s=await VC({blockchain:e,exchange:t,path:n,pools:r,amountIn:c,tokenIn:o,tokenOut:a}))||l&&s.lt(l))return{};void 0===l&&(l=s)}return{amountOut:s,amountIn:u,amountInMax:c,amountOutMin:l}},getPrep:async({exchange:e,blockchain:t,tokenIn:n,amountIn:r,account:i,tokenOut:o})=>{if(n===Vf[t].currency.address)return;let a;a=o===Vf[t].currency.address?e[t].smartRouter.address:e[t].router.address;if((await _I({blockchain:t,address:n,method:"allowance",api:RS[t][20],params:[i,a]})).lt(r)){return{transaction:{blockchain:t,from:i,to:n,api:RS[t][20],method:"approve",params:[a,Vf[t].maxInt]}}}},getTransaction:async({blockchain:e,exchange:t,pools:n,path:r,amountIn:i,amountInMax:o,amountOut:a,amountOutMin:s,amountInInput:u,amountOutInput:c,amountInMaxInput:l,amountOutMinInput:h,account:d,inputTokenPushed:f})=>{const p={blockchain:e,from:d},y=Math.floor(Date.now()/1e3)+21600,m=YC({blockchain:e,exchange:t,path:r});if(r[r.length-1]===Vf[e].currency.address){p.to=t[e].smartRouter.address,p.api=t[e].smartRouter.api,p.method="multicall";const r=new Cg(t[e].smartRouter.api);if(p.params={data:[]},2===m.length)u||h?p.params.data.push(r.encodeFunctionData("exactInputSingle",[{tokenIn:m[0],tokenOut:m[1],fee:n[0].fee,recipient:t[e].smartRouter.address,deadline:y,amountIn:(o||i).toString(),amountOutMinimum:(s||a).toString(),sqrtPriceLimitX96:Vf[e].zero}])):(c||l)&&p.params.data.push(r.encodeFunctionData("exactOutputSingle",[{tokenIn:m[0],tokenOut:m[1],fee:n[0].fee,recipient:t[e].smartRouter.address,deadline:y,amountInMaximum:(o||i).toString(),amountOut:(s||a).toString(),sqrtPriceLimitX96:Vf[e].zero}]));else{const d=iI(["address","uint24","address","uint24","address"],[n[0].path[0],n[0].fee,n[0].path[1],n[1].fee,n[1].path[1]]);u||h?p.params.data.push(r.encodeFunctionData("exactInput",[{path:d,recipient:t[e].smartRouter.address,deadline:y,amountIn:(o||i).toString(),amountOutMinimum:(s||a).toString()}])):(c||l)&&p.params.data.push(r.encodeFunctionData("exactOutput",[{path:d,recipient:t[e].smartRouter.address,deadline:y,amountInMaximum:(o||i).toString(),amountOut:(s||a).toString()}]))}p.params.data.push(r.encodeFunctionData("unwrapWETH9",[(s||a).toString(),d]))}else if(p.to=t[e].router.address,p.api=t[e].router.api,r[0]===Vf[e].currency.address&&(p.value=(i||o).toString()),2===m.length)u||h?(p.method="exactInputSingle",p.params={params:{tokenIn:m[0],tokenOut:m[1],fee:n[0].fee,recipient:d,deadline:y,amountIn:(o||i).toString(),amountOutMinimum:(s||a).toString(),sqrtPriceLimitX96:Vf[e].zero}}):(c||l)&&(p.method="exactOutputSingle",p.params={params:{tokenIn:m[0],tokenOut:m[1],fee:n[0].fee,recipient:d,deadline:y,amountInMaximum:(o||i).toString(),amountOut:(s||a).toString(),sqrtPriceLimitX96:Vf[e].zero}});else{const e=iI(["address","uint24","address","uint24","address"],[n[0].path[0],n[0].fee,n[0].path[1],n[1].fee,n[1].path[1]]);u||h?(p.method="exactInput",p.params={params:{path:e,recipient:d,deadline:y,amountIn:(o||i).toString(),amountOutMinimum:(s||a).toString()}}):(c||l)&&(p.method="exactOutput",p.params={params:{path:e,recipient:d,deadline:y,amountInMaximum:(o||i).toString(),amountOut:(s||a).toString()}})}return p},ROUTER:[{inputs:[{internalType:"address",name:"_deployer",type:"address"},{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"deployer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"}],internalType:"struct ISwapRouter.ExactInputParams",name:"params",type:"tuple"}],name:"exactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct ISwapRouter.ExactInputSingleParams",name:"params",type:"tuple"}],name:"exactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"}],internalType:"struct ISwapRouter.ExactOutputParams",name:"params",type:"tuple"}],name:"exactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct ISwapRouter.ExactOutputSingleParams",name:"params",type:"tuple"}],name:"exactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"pancakeV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"refundETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowed",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowedIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"sweepTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"unwrapWETH9",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"unwrapWETH9WithFee",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],SMART_ROUTER:[{inputs:[{internalType:"address",name:"_factoryV2",type:"address"},{internalType:"address",name:"_deployer",type:"address"},{internalType:"address",name:"_factoryV3",type:"address"},{internalType:"address",name:"_positionManager",type:"address"},{internalType:"address",name:"_stableFactory",type:"address"},{internalType:"address",name:"_stableInfo",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{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:"factory",type:"address"},{indexed:!0,internalType:"address",name:"info",type:"address"}],name:"SetStableSwap",type:"event"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveMax",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveMaxMinusOne",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveZeroThenMax",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveZeroThenMaxMinusOne",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"callPositionManager",outputs:[{internalType:"bytes",name:"result",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes[]",name:"paths",type:"bytes[]"},{internalType:"uint128[]",name:"amounts",type:"uint128[]"},{internalType:"uint24",name:"maximumTickDivergence",type:"uint24"},{internalType:"uint32",name:"secondsAgo",type:"uint32"}],name:"checkOracleSlippage",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint24",name:"maximumTickDivergence",type:"uint24"},{internalType:"uint32",name:"secondsAgo",type:"uint32"}],name:"checkOracleSlippage",outputs:[],stateMutability:"view",type:"function"},{inputs:[],name:"deployer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"}],internalType:"struct IV3SwapRouter.ExactInputParams",name:"params",type:"tuple"}],name:"exactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IV3SwapRouter.ExactInputSingleParams",name:"params",type:"tuple"}],name:"exactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"flag",type:"uint256[]"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"exactInputStableSwap",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"}],internalType:"struct IV3SwapRouter.ExactOutputParams",name:"params",type:"tuple"}],name:"exactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IV3SwapRouter.ExactOutputSingleParams",name:"params",type:"tuple"}],name:"exactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"flag",type:"uint256[]"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"exactOutputStableSwap",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"factoryV2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"getApprovalType",outputs:[{internalType:"enum IApproveAndCall.ApprovalType",name:"",type:"uint8"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"}],internalType:"struct IApproveAndCall.IncreaseLiquidityParams",name:"params",type:"tuple"}],name:"increaseLiquidity",outputs:[{internalType:"bytes",name:"result",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],internalType:"struct IApproveAndCall.MintParams",name:"params",type:"tuple"}],name:"mint",outputs:[{internalType:"bytes",name:"result",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"previousBlockhash",type:"bytes32"},{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"pancakeV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"positionManager",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"pull",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"refundETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowed",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowedIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_info",type:"address"}],name:"setStableSwap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"stableSwapFactory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"stableSwapInfo",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"sweepTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"sweepTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"unwrapWETH9",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"unwrapWETH9WithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"unwrapWETH9WithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"}],name:"wrapETH",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],FACTORY:[{inputs:[{internalType:"address",name:"_poolDeployer",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint24",name:"fee",type:"uint24"},{indexed:!0,internalType:"int24",name:"tickSpacing",type:"int24"}],name:"FeeAmountEnabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint24",name:"fee",type:"uint24"},{indexed:!1,internalType:"bool",name:"whitelistRequested",type:"bool"},{indexed:!1,internalType:"bool",name:"enabled",type:"bool"}],name:"FeeAmountExtraInfoUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token0",type:"address"},{indexed:!0,internalType:"address",name:"token1",type:"address"},{indexed:!0,internalType:"uint24",name:"fee",type:"uint24"},{indexed:!1,internalType:"int24",name:"tickSpacing",type:"int24"},{indexed:!1,internalType:"address",name:"pool",type:"address"}],name:"PoolCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"lmPoolDeployer",type:"address"}],name:"SetLmPoolDeployer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"bool",name:"verified",type:"bool"}],name:"WhiteListAdded",type:"event"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint128",name:"amount0Requested",type:"uint128"},{internalType:"uint128",name:"amount1Requested",type:"uint128"}],name:"collectProtocol",outputs:[{internalType:"uint128",name:"amount0",type:"uint128"},{internalType:"uint128",name:"amount1",type:"uint128"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"}],name:"createPool",outputs:[{internalType:"address",name:"pool",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"int24",name:"tickSpacing",type:"int24"}],name:"enableFeeAmount",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint24",name:"",type:"uint24"}],name:"feeAmountTickSpacing",outputs:[{internalType:"int24",name:"",type:"int24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint24",name:"",type:"uint24"}],name:"feeAmountTickSpacingExtraInfo",outputs:[{internalType:"bool",name:"whitelistRequested",type:"bool"},{internalType:"bool",name:"enabled",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint24",name:"",type:"uint24"}],name:"getPool",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"lmPoolDeployer",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:"poolDeployer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"bool",name:"whitelistRequested",type:"bool"},{internalType:"bool",name:"enabled",type:"bool"}],name:"setFeeAmountExtraInfo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"uint32",name:"feeProtocol0",type:"uint32"},{internalType:"uint32",name:"feeProtocol1",type:"uint32"}],name:"setFeeProtocol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pool",type:"address"},{internalType:"address",name:"lmPool",type:"address"}],name:"setLmPool",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_lmPoolDeployer",type:"address"}],name:"setLmPoolDeployer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_owner",type:"address"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"bool",name:"verified",type:"bool"}],name:"setWhiteListAddress",outputs:[],stateMutability:"nonpayable",type:"function"}],POOL:[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"int24",name:"tickLower",type:"int24"},{indexed:!0,internalType:"int24",name:"tickUpper",type:"int24"},{indexed:!1,internalType:"uint128",name:"amount",type:"uint128"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!0,internalType:"int24",name:"tickLower",type:"int24"},{indexed:!0,internalType:"int24",name:"tickUpper",type:"int24"},{indexed:!1,internalType:"uint128",name:"amount0",type:"uint128"},{indexed:!1,internalType:"uint128",name:"amount1",type:"uint128"}],name:"Collect",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint128",name:"amount0",type:"uint128"},{indexed:!1,internalType:"uint128",name:"amount1",type:"uint128"}],name:"CollectProtocol",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"},{indexed:!1,internalType:"uint256",name:"paid0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"paid1",type:"uint256"}],name:"Flash",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint16",name:"observationCardinalityNextOld",type:"uint16"},{indexed:!1,internalType:"uint16",name:"observationCardinalityNextNew",type:"uint16"}],name:"IncreaseObservationCardinalityNext",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint160",name:"sqrtPriceX96",type:"uint160"},{indexed:!1,internalType:"int24",name:"tick",type:"int24"}],name:"Initialize",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"int24",name:"tickLower",type:"int24"},{indexed:!0,internalType:"int24",name:"tickUpper",type:"int24"},{indexed:!1,internalType:"uint128",name:"amount",type:"uint128"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32",name:"feeProtocol0Old",type:"uint32"},{indexed:!1,internalType:"uint32",name:"feeProtocol1Old",type:"uint32"},{indexed:!1,internalType:"uint32",name:"feeProtocol0New",type:"uint32"},{indexed:!1,internalType:"uint32",name:"feeProtocol1New",type:"uint32"}],name:"SetFeeProtocol",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"addr",type:"address"}],name:"SetLmPoolEvent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"int256",name:"amount0",type:"int256"},{indexed:!1,internalType:"int256",name:"amount1",type:"int256"},{indexed:!1,internalType:"uint160",name:"sqrtPriceX96",type:"uint160"},{indexed:!1,internalType:"uint128",name:"liquidity",type:"uint128"},{indexed:!1,internalType:"int24",name:"tick",type:"int24"},{indexed:!1,internalType:"uint128",name:"protocolFeesToken0",type:"uint128"},{indexed:!1,internalType:"uint128",name:"protocolFeesToken1",type:"uint128"}],name:"Swap",type:"event"},{inputs:[{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint128",name:"amount",type:"uint128"}],name:"burn",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint128",name:"amount0Requested",type:"uint128"},{internalType:"uint128",name:"amount1Requested",type:"uint128"}],name:"collect",outputs:[{internalType:"uint128",name:"amount0",type:"uint128"},{internalType:"uint128",name:"amount1",type:"uint128"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint128",name:"amount0Requested",type:"uint128"},{internalType:"uint128",name:"amount1Requested",type:"uint128"}],name:"collectProtocol",outputs:[{internalType:"uint128",name:"amount0",type:"uint128"},{internalType:"uint128",name:"amount1",type:"uint128"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"fee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeGrowthGlobal0X128",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeGrowthGlobal1X128",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"flash",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"observationCardinalityNext",type:"uint16"}],name:"increaseObservationCardinalityNext",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint160",name:"sqrtPriceX96",type:"uint160"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"liquidity",outputs:[{internalType:"uint128",name:"",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"lmPool",outputs:[{internalType:"contract IPancakeV3LmPool",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxLiquidityPerTick",outputs:[{internalType:"uint128",name:"",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint128",name:"amount",type:"uint128"},{internalType:"bytes",name:"data",type:"bytes"}],name:"mint",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"observations",outputs:[{internalType:"uint32",name:"blockTimestamp",type:"uint32"},{internalType:"int56",name:"tickCumulative",type:"int56"},{internalType:"uint160",name:"secondsPerLiquidityCumulativeX128",type:"uint160"},{internalType:"bool",name:"initialized",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32[]",name:"secondsAgos",type:"uint32[]"}],name:"observe",outputs:[{internalType:"int56[]",name:"tickCumulatives",type:"int56[]"},{internalType:"uint160[]",name:"secondsPerLiquidityCumulativeX128s",type:"uint160[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"positions",outputs:[{internalType:"uint128",name:"liquidity",type:"uint128"},{internalType:"uint256",name:"feeGrowthInside0LastX128",type:"uint256"},{internalType:"uint256",name:"feeGrowthInside1LastX128",type:"uint256"},{internalType:"uint128",name:"tokensOwed0",type:"uint128"},{internalType:"uint128",name:"tokensOwed1",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"protocolFees",outputs:[{internalType:"uint128",name:"token0",type:"uint128"},{internalType:"uint128",name:"token1",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"feeProtocol0",type:"uint32"},{internalType:"uint32",name:"feeProtocol1",type:"uint32"}],name:"setFeeProtocol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_lmPool",type:"address"}],name:"setLmPool",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"slot0",outputs:[{internalType:"uint160",name:"sqrtPriceX96",type:"uint160"},{internalType:"int24",name:"tick",type:"int24"},{internalType:"uint16",name:"observationIndex",type:"uint16"},{internalType:"uint16",name:"observationCardinality",type:"uint16"},{internalType:"uint16",name:"observationCardinalityNext",type:"uint16"},{internalType:"uint32",name:"feeProtocol",type:"uint32"},{internalType:"bool",name:"unlocked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"}],name:"snapshotCumulativesInside",outputs:[{internalType:"int56",name:"tickCumulativeInside",type:"int56"},{internalType:"uint160",name:"secondsPerLiquidityInsideX128",type:"uint160"},{internalType:"uint32",name:"secondsInside",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"bool",name:"zeroForOne",type:"bool"},{internalType:"int256",name:"amountSpecified",type:"int256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[{internalType:"int256",name:"amount0",type:"int256"},{internalType:"int256",name:"amount1",type:"int256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int16",name:"",type:"int16"}],name:"tickBitmap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tickSpacing",outputs:[{internalType:"int24",name:"",type:"int24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int24",name:"",type:"int24"}],name:"ticks",outputs:[{internalType:"uint128",name:"liquidityGross",type:"uint128"},{internalType:"int128",name:"liquidityNet",type:"int128"},{internalType:"uint256",name:"feeGrowthOutside0X128",type:"uint256"},{internalType:"uint256",name:"feeGrowthOutside1X128",type:"uint256"},{internalType:"int56",name:"tickCumulativeOutside",type:"int56"},{internalType:"uint160",name:"secondsPerLiquidityOutsideX128",type:"uint160"},{internalType:"uint32",name:"secondsOutside",type:"uint32"},{internalType:"bool",name:"initialized",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"token0",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"token1",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],QUOTER:[{inputs:[{internalType:"address",name:"_deployer",type:"address"},{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"deployer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"path",type:"bytes"}],name:"pancakeV3SwapCallback",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"quoteExactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint160[]",name:"sqrtPriceX96AfterList",type:"uint160[]"},{internalType:"uint32[]",name:"initializedTicksCrossedList",type:"uint32[]"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IQuoterV2.QuoteExactInputSingleParams",name:"params",type:"tuple"}],name:"quoteExactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint160",name:"sqrtPriceX96After",type:"uint160"},{internalType:"uint32",name:"initializedTicksCrossed",type:"uint32"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256",name:"amountOut",type:"uint256"}],name:"quoteExactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint160[]",name:"sqrtPriceX96AfterList",type:"uint160[]"},{internalType:"uint32[]",name:"initializedTicksCrossedList",type:"uint32[]"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IQuoterV2.QuoteExactOutputSingleParams",name:"params",type:"tuple"}],name:"quoteExactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint160",name:"sqrtPriceX96After",type:"uint160"},{internalType:"uint32",name:"initializedTicksCrossed",type:"uint32"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"}]};const qC={name:"pancakeswap_v3",label:"PancakeSwap v3",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTk4IiBoZWlnaHQ9IjE5OSIgdmlld0JveD0iMCAwIDE5OCAxOTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOTguNTUyIDE5OC42MDdDNjkuMDYxMyAxOTguNTg1IDQ1LjMwNiAxOTEuNTggMjguNzA3OSAxNzguOTk4QzExLjkxMDggMTY2LjI2NSAzIDE0OC4xOTUgMyAxMjcuNzQ4QzMgMTA4LjA0NyAxMS44OTEzIDkzLjg0MTEgMjEuOTUxNyA4NC4yMzg1QzI5LjgzNTkgNzYuNzEzMiAzOC41MzYzIDcxLjg5MzYgNDQuNTk0NSA2OS4xMjEzQzQzLjIyNDUgNjQuOTU5NCA0MS41MTUzIDU5LjUxMDggMzkuOTg2MSA1My44ODMyQzM3LjkzOTkgNDYuMzUyNyAzNS45MzI1IDM3LjUxNzQgMzUuOTMyNSAzMS4wNDI5QzM1LjkzMjUgMjMuMzc5NSAzNy42MjA0IDE1LjY4MzMgNDIuMTcxNCA5LjcwMzA2QzQ2Ljk3OTcgMy4zODQ3NiA1NC4yMTgyIDAgNjIuOTI2NCAwQzY5LjczMjIgMCA3NS41MTAzIDIuNDk5MDMgODAuMDMzOSA2LjgxMDExQzg0LjM1NzkgMTAuOTMwOSA4Ny4yMzU3IDE2LjQwMzQgODkuMjIyNyAyMi4xMDgyQzkyLjcxNDMgMzIuMTMyNSA5NC4wNzM4IDQ0LjcyNjQgOTQuNDU1MSA1Ny4yOTQ1SDEwMi43OTZDMTAzLjE3OCA0NC43MjY0IDEwNC41MzcgMzIuMTMyNSAxMDguMDI5IDIyLjEwODJDMTEwLjAxNiAxNi40MDM0IDExMi44OTQgMTAuOTMwOSAxMTcuMjE4IDYuODEwMTFDMTIxLjc0MSAyLjQ5OTAzIDEyNy41MTkgMCAxMzQuMzI1IDBDMTQzLjAzMyAwIDE1MC4yNzIgMy4zODQ3NiAxNTUuMDggOS43MDMwNkMxNTkuNjMxIDE1LjY4MzMgMTYxLjMxOSAyMy4zNzk1IDE2MS4zMTkgMzEuMDQyOUMxNjEuMzE5IDM3LjUxNzQgMTU5LjMxMiA0Ni4zNTI3IDE1Ny4yNjUgNTMuODgzMkMxNTUuNzM2IDU5LjUxMDggMTU0LjAyNyA2NC45NTk0IDE1Mi42NTcgNjkuMTIxM0MxNTguNzE1IDcxLjg5MzYgMTY3LjQxNiA3Ni43MTMyIDE3NS4zIDg0LjIzODVDMTg1LjM2IDkzLjg0MTEgMTk0LjI1MiAxMDguMDQ3IDE5NC4yNTIgMTI3Ljc0OEMxOTQuMjUyIDE0OC4xOTUgMTg1LjM0MSAxNjYuMjY1IDE2OC41NDQgMTc4Ljk5OEMxNTEuOTQ1IDE5MS41OCAxMjguMTkgMTk4LjU4NSA5OC42OTk2IDE5OC42MDdIOTguNTUyWiIgZmlsbD0iIzYzMzAwMSIvPgo8cGF0aCBkPSJNNjIuOTI2MiA3LjI4ODMzQzUwLjE3MTYgNy4yODgzMyA0NC4zMDA0IDE2LjgwMzcgNDQuMzAwNCAyOS45NjMyQzQ0LjMwMDQgNDAuNDIzMSA1MS4xMjIyIDYxLjM3MTUgNTMuOTIxMiA2OS41MjYzQzU0LjU1MDggNzEuMzYwNSA1My41NjE2IDczLjM3MDEgNTEuNzU3NCA3NC4wODE0QzQxLjUzNTEgNzguMTEyMSAxMS4zNjc5IDkyLjg3IDExLjM2NzkgMTI2LjY2OUMxMS4zNjc5IDE2Mi4yNzIgNDIuMDI0NiAxODkuMTE3IDk4LjU1ODEgMTg5LjE2Qzk4LjU4MDYgMTg5LjE2IDk4LjYwMzEgMTg5LjE1OSA5OC42MjU2IDE4OS4xNTlDOTguNjQ4MSAxODkuMTU5IDk4LjY3MDYgMTg5LjE2IDk4LjY5MzEgMTg5LjE2QzE1NS4yMjcgMTg5LjExNyAxODUuODgzIDE2Mi4yNzIgMTg1Ljg4MyAxMjYuNjY5QzE4NS44ODMgOTIuODcgMTU1LjcxNiA3OC4xMTIxIDE0NS40OTQgNzQuMDgxNEMxNDMuNjkgNzMuMzcwMSAxNDIuNyA3MS4zNjA1IDE0My4zMyA2OS41MjYzQzE0Ni4xMjkgNjEuMzcxNSAxNTIuOTUxIDQwLjQyMzEgMTUyLjk1MSAyOS45NjMyQzE1Mi45NTEgMTYuODAzNyAxNDcuMDggNy4yODgzMyAxMzQuMzI1IDcuMjg4MzNDMTE1Ljk2NSA3LjI4ODMzIDExMS4zODkgMzMuMjk1NSAxMTEuMDYyIDYxLjIwNzVDMTExLjA0IDYzLjA3MDkgMTA5LjUzNCA2NC41ODI4IDEwNy42NyA2NC41ODI4SDg5LjU4MDdDODcuNzE3MiA2NC41ODI4IDg2LjIxMDggNjMuMDcwOSA4Ni4xODkgNjEuMjA3NUM4NS44NjI2IDMzLjI5NTUgODEuMjg2IDcuMjg4MzMgNjIuOTI2MiA3LjI4ODMzWiIgZmlsbD0iI0QxODg0RiIvPgo8cGF0aCBkPSJNOTguNjkzMSAxNzcuNzU1QzU3LjE1NTEgMTc3Ljc1NSAxMS40Mzk3IDE1NS41MiAxMS4zNjgxIDEyNi43MzdDMTEuMzY4IDEyNi43ODEgMTEuMzY3OSAxMjYuODI2IDExLjM2NzkgMTI2Ljg3MUMxMS4zNjc5IDE2Mi41MDMgNDIuMDczNCAxODkuMzYyIDk4LjY5MzEgMTg5LjM2MkMxNTUuMzEzIDE4OS4zNjIgMTg2LjAxOCAxNjIuNTAzIDE4Ni4wMTggMTI2Ljg3MUMxODYuMDE4IDEyNi44MjYgMTg2LjAxOCAxMjYuNzgxIDE4Ni4wMTggMTI2LjczN0MxODUuOTQ2IDE1NS41MiAxNDAuMjMxIDE3Ny43NTUgOTguNjkzMSAxNzcuNzU1WiIgZmlsbD0iI0ZFREM5MCIvPgo8cGF0aCBkPSJNNzUuNjEzNSAxMTcuODk2Qzc1LjYxMzUgMTI3LjYxNCA3MS4wMjEgMTMyLjY3NSA2NS4zNTU4IDEzMi42NzVDNTkuNjkwNyAxMzIuNjc1IDU1LjA5ODEgMTI3LjYxNCA1NS4wOTgxIDExNy44OTZDNTUuMDk4MSAxMDguMTc4IDU5LjY5MDcgMTAzLjExNyA2NS4zNTU4IDEwMy4xMTdDNzEuMDIxIDEwMy4xMTcgNzUuNjEzNSAxMDguMTc4IDc1LjYxMzUgMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPHBhdGggZD0iTTE0Mi4yODggMTE3Ljg5NkMxNDIuMjg4IDEyNy42MTQgMTM3LjY5NiAxMzIuNjc1IDEzMi4wMzEgMTMyLjY3NUMxMjYuMzY1IDEzMi42NzUgMTIxLjc3MyAxMjcuNjE0IDEyMS43NzMgMTE3Ljg5NkMxMjEuNzczIDEwOC4xNzggMTI2LjM2NSAxMDMuMTE3IDEzMi4wMzEgMTAzLjExN0MxMzcuNjk2IDEwMy4xMTcgMTQyLjI4OCAxMDguMTc4IDE0Mi4yODggMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPC9zdmc+Cg==",protocol:"pancakeswap_v3",slippage:!0,fees:[100,500,2500,1e4],blockchains:["bsc"],bsc:{router:{address:"0x1b81D678ffb9C0263b24A97847620C99d213eB14",api:GC.ROUTER},smartRouter:{address:"0x13f4EA83D0bd40E75C8222255bc855a974568Dd4",api:GC.SMART_ROUTER},factory:{address:"0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865",api:GC.FACTORY},pair:{api:GC.POOL},quoter:{address:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997",api:GC.QUOTER}}};var ZC=e=>new OD(Object.assign(qC,{scope:e,findPath:e=>GC.findPath({...e,exchange:qC}),pathExists:e=>GC.pathExists({...e,exchange:qC}),getAmounts:e=>GC.getAmounts({...e,exchange:qC}),getPrep:e=>GC.getPrep({...e,exchange:qC}),getTransaction:e=>GC.getTransaction({...e,exchange:qC})}));const JC={name:"quickswap",label:"QuickSwap",logo:"data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzAyLjQ1IDcwMi40NyI+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIj48cmVjdCB3aWR0aD0iNzUwIiBoZWlnaHQ9Ijc1MCIgZmlsbD0ibm9uZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj48cGF0aCBkPSJNMzU0Ljc0LDI0LjM3YTM1MS4yNywzNTEuMjcsMCwwLDEsMzYzLjc0LDI3NywzNTQsMzU0LDAsMCwxLDEuMjMsMTQxLjI2QTM1MS43NiwzNTEuNzYsMCwwLDEsNTEwLjEyLDY5OS4zYy03My43NywzMS0xNTguMjUsMzUuMzUtMjM0LjkxLDEyLjU0QTM1MiwzNTIsMCwwLDEsNDYuNTEsNDk5LjU2Yy0yOC03My40NS0zMC4xNi0xNTYuMzgtNi4yNC0yMzEuMjVBMzUwLjg4LDM1MC44OCwwLDAsMSwzNTQuNzQsMjQuMzciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTE1OC44MSwzNDkuNThjMS4zOSw2LjQxLDIuMjMsMTIuOTIsMy42MSwxOS4zNS44NSwzLjkzLDIuMTMsMyw0LjE1LDEuMjgsMy44Ny0zLjI1LDcuNTktNi42OSwxMS45NC05LjMxLDEuMjMuMjQsMS44NiwxLjIyLDIuNTMsMi4xLDExLjM5LDE0Ljg3LDI2LjUzLDI0LDQ0LjM3LDI4Ljk0YTE0Ny4yMywxNDcuMjMsMCwwLDAsMjUuMTcsNC42Nyw0Mi42OCw0Mi42OCwwLDAsMS02LjYxLTkuOTVjLTIuODUtNi40MS0xLjg1LTEyLjE1LDIuOTUtMTcuMjIsNS44Ny02LjE5LDEzLjYyLTguNzYsMjEuNDgtMTAuOCwxNi40OC00LjMsMzMuMjctNC43Myw1MC4xOC0zLjUzQTIwMi4xMSwyMDIuMTEsMCwwLDEsMzU4Ljc1LDM2MmMxMSwzLjA2LDIxLjcyLDYuNzMsMzEuNDQsMTIuODgsMS4zNiwxLjA5LDIuMywyLjYsMy42MSwzLjc0LDEyLjQ5LDEzLjQxLDE5Ljc4LDI5LjI1LDIwLjI4LDQ3LjU1LjM0LDEyLjY1LTMuMTYsMjQuNzItOS41LDM1LjgyLTExLjQyLDIwLTI4LjA5LDM0LjU2LTQ4LDQ1LjcxQTE3MC41LDE3MC41LDAsMCwxLDI5MSw1MjguNDJjLTQxLjI0LDQuNDctNzkuNDUtNC40Ny0xMTQuNTktMjYuMzYtMjkuMjEtMTguMTktNTEuNjUtNDMuMDgtNzAtNzEuOTJhMzM5LjU3LDMzOS41NywwLDAsMS0yMi41Mi00Mi43NWMtLjgxLTEuOC0xLTMuODEtMS44Mi01LjI5LjUyLDEuNzUsMS40OSwzLjczLS40Myw1LjYtLjU4LTcuNDUuMDgtMTQuOS40Ny0yMi4zMWEyODcuMTMsMjg3LjEzLDAsMCwxLDkuNDgtNjAuNTRBMjkyLjkxLDI5Mi45MSwwLDAsMSwyNjYuMDYsMTA5LjA5LDI4Ny4yLDI4Ny4yLDAsMCwxLDM0Ni41OSw4OS45YzQzLjU3LTQsODUuNzksMS43MywxMjcsMTYuMzQtNi4yNywxMS44OS00Miw0My43Mi02OS44LDYyLjE1YTk0LjExLDk0LjExLDAsMCwwLTUuNDQtMjMuNTFjLS4xNC0yLDEuNjYtMi42NSwyLjc4LTMuNjFxOC42Ny03LjQ2LDE3LjQzLTE0Ljc3YTE3LjE0LDE3LjE0LDAsMCwwLDEuNjktMS40OWMuNjYtLjcxLDEuNzctMS4zLDEuNTQtMi40cy0xLjU1LTEuMTUtMi40Ny0xLjNhNDYuODIsNDYuODIsMCwwLDAtOC4xNy0xYy0zLjgxLS40NS03LjU2LTEuMy0xMS40LTEuMzgtMi45NS0uMTgtNS44NS0uOTMtOC44My0uNjlhMjguMjIsMjguMjIsMCwwLDEtNC41LS4zMmMtMi41LS43OS01LjA3LS40NC03LjYxLS40My0xLjUyLDAtMy0uMTEtNC41NiwwLTQuMzUuMjUtOC43My0uNDgtMTMuMDcuMzRhMTIuODcsMTIuODcsMCwwLDEtMy4yMS4zMmMtMS4yNiwwLTIuNTEuMDYtMy43NywwYTEyLjM1LDEyLjM1LDAsMCwwLTQuODcuNDdjLTQuNTkuNDEtOS4xOS43OC0xMy43MywxLjYxLTUuNDgsMS4xNi0xMS4wOSwxLjQ0LTE2LjUzLDIuNzktNSwxLjMtMTAuMTMsMi0xNSwzLjc0LTYuNTEsMS43OS0xMi45NSwzLjg0LTE5LjM1LDYtOS4zNCwzLjcxLTE4LjgyLDcuMS0yNy43MSwxMS44NmEyNDguNzQsMjQ4Ljc0LDAsMCwwLTU1LjY2LDM2Ljk0QTI2Ni41NSwyNjYuNTUsMCwwLDAsMTU5LjY4LDIyN2EyNTQuODcsMjU0Ljg3LDAsMCwwLTE2LjU0LDI2LjE2Yy0zLjE3LDUuOS02LjIyLDExLjg1LTksMTgtMiw0LjcxLTQuNDIsOS4yNy02LDE0LjE4LTIsNC45LTMuNjQsOS45Mi01LjIyLDE1LTEuODgsNS4wNi0zLDEwLjM1LTQuNDUsMTUuNTMtLjYzLDItMSw0LjExLTEuNTMsNi4xOC0uNjMsMi40OS0xLDUtMS40Nyw3LjU1LS43Nyw0LjI1LTEuNDgsOC41LTIuMDksMTIuNzhhMTE4LjY0LDExOC42NCwwLDAsMC0xLjU3LDEzLjI5Yy0uNzQsMi45NC0uMiw2LS43NCw5LS44MiwzLjY5LS4yOCw3LjQ1LS41MiwxMS4xNi0uMTEsMi42MS0uMTYsNS4yMy0uMDksNy44NSwwLDEuMDctLjQ5LDIuNTcuNjQsMy4wOSwxLjI5LjYsMi4yMy0uNzcsMy4xNi0xLjUzLDMuMTgtMi42LDYuMjktNS4yOSw5LjQtOCwxMC40Ny05LDIxLjA3LTE3Ljg4LDMxLjU4LTI2Ljg1LjkxLS43NywxLjktMi43OSwzLjUyLS43MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0MTg5YzkiLz48cGF0aCBkPSJNMzkwLjExLDM3NS43OGMtMTIuMzctNy4zNS0yNS44OS0xMS42My0zOS43Ny0xNC45MmExOTcuMjUsMTk3LjI1LDAsMCwwLTU1LjY4LTUuMWMtMTMuMjEuNjYtMjYuMzEsMi41LTM4LjQ4LDguM2EzMi42MSwzMi42MSwwLDAsMC00LjIxLDIuNDNjLTkuODUsNi42LTExLjM1LDE1LjQtNC4yMywyNC45MSwxLjQ4LDIsMy4xMiwzLjgxLDUuMSw2LjIyLTYuMzksMC0xMi4wNS0xLjE5LTE3LjY5LTIuMzEtMTUuMTItMy0yOS4zMi04LjI0LTQxLjUtMTgtNS44Ni00LjY4LTExLjIyLTkuOTMtMTUuMTQtMTYuNDUsMS42LTIuNjEsNC4yOC0zLjgzLDYuNzgtNS4yNyw0LjgyLTIsOS4xOS00LjkxLDE0LTcuMDlhMjA3LjU1LDIwNy41NSwwLDAsMSw2Ny40LTE4YzkuMzItLjg3LDE4LjY1LTEuNzYsMjgtMS40MUEzMTEuMzgsMzExLjM4LDAsMCwxLDM3NiwzNDMuMjVjNi44LDIuMTIsMTMuNTIsNC40NSwyMC41OSw2Ljg0LDAtMi0xLjE0LTMuMTktMS45LTQuNDhBOTYuMTgsOTYuMTgsMCwwLDAsMzg1LDMzMS44OGMtMS4zMy0xLjU2LTMuMTgtMi45My0zLjE0LTUuMzMsMy43My44NSw3LjQ2LDEuNjgsMTEuMTgsMi41NiwxLC4yMywyLjE3LjgzLDIuODEsMCwuODUtMS4wOC0uNDMtMi0xLTIuODQtNS40OS04LjE5LTEyLjMzLTE1LjE3LTE5LjY3LTIxLjY4LDMuODktMi4yNiw3Ljg5LS40MiwxMS42OC4wNiwzOC44Nyw1LDc0LjI5LDE4LjgxLDEwNS4xOCw0Myw0MC45LDMyLjA5LDY3LjMzLDczLjU0LDc4LjQ3LDEyNC41MUExODAuNTQsMTgwLjU0LDAsMCwxLDU3My44Nyw1MjRjLTIuMTksMzAuMTEtMTEuNjUsNTcuOS0yOS40NSw4Mi41OC0xLjE3LDEuNjItMi43NSwyLjkxLTMuNjEsNC43Ni00LDYtMTAsMTAuMDgtMTUuNDQsMTQuNTItMjkuNTUsMjQtNjQsMzYuNDYtMTAxLjE0LDQyLjI4YTMxMC4zNCwzMTAuMzQsMCwwLDEtODcuMzEsMS41NCwyODguMTcsMjg4LjE3LDAsMCwxLTEyNy4zOS00OC4xNGMtOS4yNy02LjI5LTE4LjM2LTEyLjg1LTI2LjUxLTIwLjYyYS42NS42NSwwLDAsMSwwLTFjMS43NC0uNjksMi44NC41Nyw0LDEuNDNhMTg5LjA4LDE4OS4wOCwwLDAsMCw2NSwzMS41NiwyMjguNDYsMjI4LjQ2LDAsMCwwLDIzLjg3LDQuNzVjMS44Mi42NiwzLjc1LjM1LDUuNjIuNjZhNy41NSw3LjU1LDAsMCwxLDEuMTMuMjNjMTguMjQsMi4xNiwzNi4zNy44OSw1NC4zNi0yLjI4LDM5LjU0LTcsNzQuNjYtMjMuNTUsMTA0Ljc1LTUwLjE1LDIwLjUtMTguMTIsMzYuNjgtMzkuNTMsNDUuMjQtNjUuOTVzNy4zNS01Mi4xLTQuNjctNzcuNDhjLTIuNDcsMTEuMzgtOC40NCwyMC44LTE1LjkxLDI5LjM4YTEwNi4wOSwxMDYuMDksMCwwLDEtMjYuMDcsMjEuMTljLTEuMTQuNjYtMi40LDEuOTEtMy43MS45LTEuMTMtLjg2LS40NS0yLjM3LS4xLTMuNTFhMTM5LjY0LDEzOS42NCwwLDAsMCw0Ljk0LTI0LjJjMy41LTM0LjUxLTkuODItNjEuMzctMzcuMy04MS43NGExMTkuOCwxMTkuOCwwLDAsMC0xNC4wNi05IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzI2MmY3MSIvPjxwYXRoIGQ9Ik0yNzYuMDgsNjM4LjQxYTE1MS4xNiwxNTEuMTYsMCwwLDEtMjkuODYtNi4xQTE5OC41MywxOTguNTMsMCwwLDEsMTk0LjM1LDYwOGMtMy44My0yLjUxLTcuMDctNS44Ni0xMS4yNC03Ljg5LTIuMzktLjM0LTMuMzktMi42OC01LjMtMy43LTQwLjM4LTM1LjktNjgtODAtODMuODMtMTMxLjQ4QTI4MC41NCwyODAuNTQsMCwwLDEsODEuNjMsMzg3LjdjLjEtMiwuMi0zLjkzLjM2LTcsMiw0LjM2LDMuNDgsNy44Miw1LjA1LDExLjI2LDE0LjUzLDMxLjg2LDMzLjEzLDYwLjkzLDU4Ljc0LDg1LjEyQzE3Myw1MDIuODIsMjA0LjY4LDUyMCwyNDIsNTI2YzQzLjcxLDcuMTEsODQuNjEtLjUxLDEyMi4yMi0yNC4wNiwxOC43NS0xMS43NSwzNC4xNC0yNi45NCw0My00Ny42NSwxMC43Mi0yNS4xMSw2LjY4LTQ4LjQ0LTkuNjUtNjkuOTUtMS40My0xLjg4LTIuOTUtMy42OS00LjQzLTUuNTQsMS45NC0xLjY2LDMsLjI2LDQuMDcsMS4xOGE4My4yMiw4My4yMiwwLDAsMSwyMi42LDI5LjksODgsODgsMCwwLDEsNy44NSwzNS4xOSw3OS43NSw3OS43NSwwLDAsMS04LDM1Ljg3LDUuMzksNS4zOSwwLDAsMCwzLjI0LTEuMTcsOTguMzQsOTguMzQsMCwwLDAsMTQuNjUtMTAuMzVjMS40Mi0xLjIzLDIuNjctMy4wOCw1LTIuOGExNjUuMywxNjUuMywwLDAsMS02LjA5LDI3Ljc1LDEzMS43NCwxMzEuNzQsMCwwLDAsMTcuMjctMTEuNDhjNC4zMy0zLjM4LDcuODMtNy42MiwxMi4wOC0xMS4wNiwxLjgxLjc3LDEuODEsMi41NiwyLjIzLDQuMDgsNi45MiwyNSwxLjkxLDQ4LjI4LTEwLjQyLDcwLjMtMTUsMjYuNy0zNyw0Ni41Ny02Mi42Miw2Mi42NWEyMTMuMzMsMjEzLjMzLDAsMCwxLTY3LjI3LDI3LjU1LDE0Mi4yLDE0Mi4yLDAsMCwxLTQ1LjY3LDIuNjloMGMtMS45LTEtNC4wNy4xOS02LS43MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNNjU0LjE3LDQ1My4wN2EyMTIsMjEyLDAsMCwwLTIwLjc3LTgyLjM1QTIxOC45LDIxOC45LDAsMCwwLDYwMywzMjRjLTEwLjktMTIuOTEtMjMuNDItMjMuOTMtMzYuNTYtMzQuMzgsMS4yMy0xLjIxLDIuNzYtMSw0LjI0LS44YTIzNi4yOCwyMzYuMjgsMCwwLDEsNTMuNzksMTIuNzhBODAuMiw4MC4yLDAsMCwxLDYzNywzMDcuNDNhNDAuMzgsNDAuMzgsMCwwLDEsNC4xNiwyLjQ0Yy4zNC4xOS41My42OSwxLC41OGExLjI3LDEuMjcsMCwwLDEtLjIxLTEuMzdjLTExLjg0LTE1LjQyLTI2LjE1LTI4LjI4LTQxLjE3LTQwLjVhMzAyLDMwMiwwLDAsMC01OC4xOC0zNi45LDI4Ny42NCwyODcuNjQsMCwwLDAtOTEuNTctMjcuNDVjLTIuODMtLjM1LTUuNzUsMC04LjUxLTEtLjI0LTEuODksMS4zNS0yLjUyLDIuNDUtMy40NCwxOC42Ny0xNS41NSwzMy42OS0zNCw0NC4yOC01NS45NGExNTcuMSwxNTcuMSwwLDAsMCw4LjE0LTIwLjUzYy42NC0yLDEtNC4xNywzLTUuNDRhMjg4LjE2LDI4OC4xNiwwLDAsMSw4OC40Nyw2NiwyOTIuMSwyOTIuMSwwLDAsMSw2Ni42NCwyNzBjLS44NC40Ni0xLS4yNi0xLjM0LS43NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0MTg5YzkiLz48cGF0aCBkPSJNNTQwLjgxLDYxMS4zN2MwLTIuOTQsMi4zNC00LjYsMy43OS02LjY2LDEzLjY2LTE5LjUxLDIyLTQxLjEyLDI2LjMxLTY0LjQ4LDIuNjctMTQuNDcsMi45LTI5LjA4LDItNDMuNTctMS40Ny0yMi4zNC03LjE4LTQzLjgzLTE2LjE5LTY0LjQyYTIxMi4yNSwyMTIuMjUsMCwwLDAtMjQuNzMtNDIuNTcsMjIxLjI0LDIyMS4yNCwwLDAsMC0zNi4xNi0zNy42MkEyMDcuNTYsMjA3LjU2LDAsMCwwLDQyNS4xOSwzMTRhMTk4LjEsMTk4LjEsMCwwLDAtNDIuMjUtOC42OWMtMi41OS0uMjMtNS4xNS0uODUtNy43OC0uNjktOS4xMy02LjczLTE4LjM5LTEzLjI0LTI4Ljc5LTE3Ljk0LDAtLjMzLDAtLjY3LjA3LTEsMy43NCwwLDcuNDkuMDYsMTEuMjMsMCw1Mi40My0uOTQsMTAwLjc1LDExLjkxLDE0Myw0My44NEM1NDQuNCwzNjIuNTksNTcxLjc0LDQwNi4zMiw1ODIsNDYwLjNjOC43Myw0Ni4wNSwyLDg5LjU0LTIzLjU2LDEyOS40NC01LDcuODUtMTAuNTMsMTUuNDEtMTcuNjEsMjEuNjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTYxZjQyIi8+PHBhdGggZD0iTTUwMC40LDExNy45MWMtNS4yNSwxNi4wNS0xMS44NCwzMS40Ny0yMS4yNyw0NS41OWExNzIuNzgsMTcyLjc4LDAsMCwxLTM0LjQyLDM3LjczYy0uNzYuNjMtMS40NSwxLjM1LTIuMTcsMi00LjU4LDIuMzMtOC4zNSw1Ljg1LTEyLjU5LDguNjhhMjY3LjY4LDI2Ny42OCwwLDAsMS00OS4zOSwyNS41Myw4LjA5LDguMDksMCwwLDEtMS4yOS4zMmMtLjc2LTEuMTIuMTQtMS41My42LTIsOS44Mi05LjM1LDE1LjkxLTIwLjkyLDIwLTMzLjY2YTUsNSwwLDAsMSwzLjE3LTMuNjVjMzAuNTEtMTIuMDgsNTQuODYtMzIuMTUsNzQuOC01Ny45LDEuODEtMi4zNCwzLjU4LTQuNzEsNS44Mi03LjY2LTYuMTctLjEyLTEwLjksMy0xNi4xMiwzLjgyLTEsLjA2LTIuMjcuODgtMi41LTFhMjE1LjI3LDIxNS4yNywwLDAsMCw0MS44NC03NS42NWMuNTUtMS43OCwwLTQuMjMsMi40OC01LjEzYS40NC40NCwwLDAsMSwuMjUuNDVjMCwuMTgtLjA4LjI2LS4xMy4yNmEyMzAuNDksMjMwLjQ5LDAsMCwxLTguMzUsNTguNTYsMzYuODgsMzYuODgsMCwwLDAtLjY5LDMuNjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTYxZjQyIi8+PHBhdGggZD0iTTM4MS44MiwzMjYuNTRhMTIwLDEyMCwwLDAsMSwxNi4wNiwyMi40Yy40My43OSwxLjU0LDEuNjguNTUsMi42MS0uNzUuNy0xLjYyLS4xNi0yLjQxLS40NmEzNDksMzQ5LDAsMCwwLTYyLjU2LTE3Yy0xMC43NS0xLjg1LTIxLjY2LTIuNjYtMzIuNTgtMy40NWExOTQuMDksMTk0LjA5LDAsMCwwLTI5LjQ1LjQyYy0yMi40MiwxLjgtNDQuMjQsNi41OS02NSwxNS41Ni02LjQsMi43Ny0xMi45NCw1LjI1LTE4Ljg5LDktLjY4LjQzLTEuNDksMS4xMy0yLjI3LjA2YTE5OS41OSwxOTkuNTksMCwwLDEsNTkuMi0yOC40MWMyOS4xNS04LjcsNTguOTMtMTAuODQsODkuMTUtOC40NmEzMjguNDIsMzI4LjQyLDAsMCwxLDQ1Ljc0LDYuOTUsMjEuOTIsMjEuOTIsMCwwLDEsMi40NC44MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNMzc0LjMyLDExNi4zOGg0LjVjMi40MiwxLDUuMDctLjI4LDcuNS43NGg0LjQ5Yy4zOCwyLjE3LTEuNDEsMy4wOC0yLjY1LDQuMTMtMjAuNzgsMTcuNTYtNDEuNDEsMzUuMjktNjIuMiw1Mi44My02Ljg3LDUuNzktMTMuNjgsMTEuNjUtMjAuNTQsMTcuNDVhNi4xNCw2LjE0LDAsMCwwLTIuMzUsMi44M2MtOSwzLjM3LTE3LjM2LDcuNi0yNCwxNC45NC0zLjEzLDMuNDgtNS4xOCw3LjUtNy40NCwxMS40Ni02LjE3LDQtMTEuMzYsOS4yNi0xNywxNC0xNC43NywxMi40Mi0yOS4zNSwyNS4wNi00NC4xNiwzNy40My0xLjI1LDEtMi4wNywyLjUtMy41MiwzLjMxLTIuNTUtMy44LTItOC0xLjM5LTEyLjEyLDEuODYtMy4wNiw0LjgtNSw3LjQ0LTcuMjhxMjEuNTQtMTguMjcsNDMtMzYuNTljMTQtMTEuODUsMjcuOTItMjMuNzcsNDEuOS0zNS42M3EyNC4xMi0yMC40NSw0OC4xNy00MWM4LjkzLTcuNiwxNy44LTE1LjI2LDI2Ljg2LTIyLjcxLDEuMzctMS4xMywyLjMzLTIsMS4yOC0zLjgxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzVjOTRjZSIvPjxwYXRoIGQ9Ik02MzcuNTEsMzA4LjQxYy0xNy42My04LjU2LTM2LjI3LTEzLjc4LTU1LjU0LTE2LjktNS4xNS0uODQtMTAuMy0xLjg3LTE1LjU1LTEuOTEtNi43Mi00LjI1LTEzLjMxLTguNzMtMjAuMTktMTIuN2EyMDkuNzMsMjA5LjczLDAsMCwwLTcyLjE4LTI1Ljc1LDkuMDksOS4wOSwwLDAsMS0xLjY1LS42NGM3LjY1LTEuNCwzMy42OSwyLjUxLDUxLjcyLDcuNDdhMjQzLjA3LDI0My4wNywwLDAsMSw0OC40NywxOWMtMS42Mi00Ljg1LTQuNTgtOC4xMy02LjM5LTEyLS4xOC0xLTEuNjMtMS45NC0uNjYtM3MyLjA3LjA4LDMsLjQ5YzIuNiwxLjE4LDUuMDgsMi42MSw3LjY5LDMuNzdhMzQ3LjUyLDM0Ny41MiwwLDAsMSw2MS40LDQwLjQ5YzEuMDYsMS40LDEuMDYsMS40LS4xMSwxLjY5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzE2MWY0MiIvPjxwYXRoIGQ9Ik0zNzQuMzIsMTE2LjM4Yy40NiwxLjEsMS45Mi4zLDIuNjEsMS41My00LjE4LDMuNjItOC4zNiw3LjMtMTIuNjEsMTAuOTFxLTExLjUxLDkuNzgtMjMuMDcsMTkuNDhRMzI0Ljg3LDE2Mi4xMywzMDguNSwxNzZjLTcuNTgsNi40NC0xNS4wNSwxMy0yMi42MywxOS40Ni05LjE4LDcuOC0xOC40NSwxNS41MS0yNy42NSwyMy4zLTcuMyw2LjE5LTE0LjUzLDEyLjQ3LTIxLjgyLDE4LjY4LTcuNjcsNi41Mi0xNS4zNywxMy0yMy4wNiwxOS40OWwtNy43MSw2LjQ3LDIuMTktOS43NmMtMS4yNC0zLjE5LDEuMzUtNC42MywzLjEzLTYuMSw3LTUuODQsMTMuODgtMTEuODEsMjAuODMtMTcuNzFxMjQuMjUtMjAuNTgsNDguNDktNDEuMjIsMjAuODQtMTcuNyw0MS42Ni0zNS4zOWMxMi45Mi0xMSwyNS45My0yMS45MSwzOC43Mi0zMy4wNywxLS44NiwyLjg1LTEuODcuMTUtMyw0LjQzLTEuNjEsOS0uMzMsMTMuNTItLjczIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzY0OTdkMCIvPjxwYXRoIGQ9Ik0zNjAuOCwxMTcuMTFjMS4wNS4xOSwyLjItLjM3LDMuMy40OS0yLjY1LDMuOS02LjU1LDYuNDUtMTAsOS40NC05LjgyLDguNTYtMTkuNzksMTctMjkuNzQsMjUuMzctOS4xLDcuNjgtMTguMjksMTUuMjYtMjcuMzcsMjNzLTE4LjIzLDE1Ljc0LTI3LjQsMjMuNTQtMTguMjksMTUuMjctMjcuMzYsMjNTMjI0LDIzNy41OCwyMTQuODcsMjQ1LjQ1Yy0yLjc0LDIuMzctNi4zNyw0LTcuMDUsOC4xNS00Ljg0LjU1LTcuNCw0LjY0LTEwLjk0LDcuMTYtNS41OSw0LTkuODQsOS40Ny0xNSwxMy45NS01LjE5LDMuNjktOS43Nyw4LjEtMTQuNjEsMTIuMi0xNC4zOCwxMi4xOS0yOC43LDI0LjQ2LTQzLjEzLDM2LjU5LTIsMS42OC0zLjc3LDMuNjYtNiw1LjA2LTEsLjYyLTEuOTEsMS43OS0zLjMyLjgxYTE2LjksMTYuOSwwLDAsMSwxLjUxLTcuNTFjNy4xOS00LjU5LDEzLjE3LTEwLjY3LDE5LjY2LTE2LjEsMTcuODgtMTUsMzUuNjEtMzAuMTYsNTMuMzgtNDUuMjlzMzUuMy0zMC4xMyw1My00NS4xNXEyNi0yMiw1MS45NC00NC4wOGMxNy42OC0xNSwzNS40NC0zMCw1My00NS4xNSwzLjQ5LTMsNy4xNi01LjgzLDEwLjU2LTloMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ODlhZDEiLz48cGF0aCBkPSJNMzk5LjgxLDExNy44N2M0LjA3LS4wNSw4LDEsMTIsMS41LDEuMDksMi4zOS0xLDMuMzItMi4yMyw0LjQzLTUsNC4zNy0xMC4yMyw4LjQ4LTE1LjEsMTMtLjUyLS42OS0xLjA4LTEuMzYtMS41Ni0yLjA5LTEuMTEtMS42NS0xLjg5LTEuMjEtMi42MS4zMy01LjksMTIuNjYtMTYuMDUsMjEuNDYtMjcuMSwyOS4zYTIwMi4xNCwyMDIuMTQsMCwwLDEtMzkuODcsMjEuNzljLS43Ni0xLjQ0LS44My0xLjUuNDctMi44NCwyLjY5LTIuNzgsNS43Ny01LjE0LDguNzItNy42NCwyMS4yOS0xOC4xLDQyLjY0LTM2LjEyLDYzLjgxLTU0LjM3LDEuMjMtMS4wNywyLjI5LTIuMywzLjQ3LTMuNDEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTM5OS44MSwxMTcuODdhNC41NSw0LjU1LDAsMCwxLTEuNzUsMy4xNHEtMjAuNiwxNy40My00MS4xMywzNC45My0xNS43MiwxMy40LTMxLjM2LDI2Ljg5Yy0uOTQuODItMi43MSwxLjQtMi4yMywzLjNhMTg3LjQsMTg3LjQsMCwwLDEtMjAuMjcsOC4yNGMtMi4zMy0uNjQtLjQtMS40NywwLTEuODUsNC4wOS0zLjYyLDguMjMtNy4xOCwxMi4zOS0xMC43MnExMS40Ny05Ljc1LDIzLTE5LjQ3YzcuNTctNi40LDE1LjE4LTEyLjc3LDIyLjczLTE5LjE5czE1LjEyLTEyLjg3LDIyLjU3LTE5LjQyYzIuNDEtMi4xMiw1LjM2LTMuNjgsNy02LjU5LDMuMDYtLjQ0LDYsLjYsOSwuNzQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNTU5MWNkIi8+PHBhdGggZD0iTTM0Ni42MSwyMDhjNy45Mi0zLjkyLDE2LjE5LTcuMjEsMjMuMS0xMi45MywxLjQ0LS4wNiwxLjI4Ljc2Ljk0LDEuNjktNi4zOCwyNi40Mi0yNi40Miw0My43Ny01My41Miw0Ni4zLTUuMjIuNDktMTAuNDMsMS4wOS0xNS42OS41OS42OC0xLjkzLDIuNTEtMS43Niw0LTIuMTcsNS44OC0xLjYsMTEuNzEtMy4zMSwxNy4xNi02LjEzLDEwLjIyLTUuMjgsMTcuNzEtMTMuMDcsMjItMjMuODRhOC4yMiw4LjIyLDAsMCwxLDIuMDUtMy41MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNMzQ2LjYxLDIwOGMtMy4yNiwxMi42LTExLjI5LDIxLjMxLTIyLjM5LDI3LjU1LTcuMTMsNC0xNSw1Ljg2LTIyLjc3LDguMS0xLjkxLTUuNTkuMTYtMTAuMzIsMy41Mi0xNC41NywzLjk0LTUsOS4zLTguMDgsMTUtMTAuNjlBMjc3LjA4LDI3Ny4wOCwwLDAsMSwzNDYuNjEsMjA4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQxOGFjOSIvPjxwYXRoIGQ9Ik0xMTQuOCwzMjkuMzdjNC40NS0xLjY1LDcuMzEtNS40MSwxMC44MS04LjI4LDExLjI5LTkuMjcsMjIuMzgtMTguNzgsMzMuNTEtMjguMjQsNS44NS01LDExLjYxLTEwLjA1LDE3LjQxLTE1LjA4LDEuNTgtMS4zNywzLjA1LTIuOTQsNS4zNC0zLjA2LTYsNy41Mi0xMS43MywxNS4yNC0xNiwyMy45M3EtMTcuMjUsMTQuNi0zNC40NCwyOS4yN2MtNS4zLDQuNTMtMTAuNzEsOC45NC0xNS45MywxMy41Ny0uOC43MS0xLjcsMS42LTIuOTQuNjRhNTQuMTMsNTQuMTMsMCwwLDEsMi4yNC0xMi43NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2NDk3ZDAiLz48cGF0aCBkPSJNMTU4LjgxLDM0OS41OGMtMy41NC4yNy01LjE0LDMuNDQtNy40OCw1LjMzLTkuODUsNy45NS0xOS40NSwxNi4yMi0yOSwyNC40OS0zLjIsMi43Ni02LjMsNS42Mi05LjY5LDguMTYtMi4yMywxLjY4LTMuMDcsMS0zLTEuNTgsMC0zLjEyLDAtNi4yNCwwLTkuMzYsMy40Ni0zLjc1LDcuNjEtNi43MiwxMS40OC0xMCwxMS4xNy05LjQ4LDIyLjIzLTE5LjEsMzMuNTUtMjguNDIsMS0uOCwxLjc5LTIuMjYsMy40Ni0xLjMxbC43NSwxMi42OSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0NjhjY2EiLz48cGF0aCBkPSJNMjA3LDI3NS40OGE0LjE3LDQuMTcsMCwwLDEsMS45MS0zLjA4YzktNy42LDE4LTE1LjE1LDI3LTIyLjc2LDcuMzktNi4yNSwxNC43Mi0xMi41NiwyMi4wNy0xOC44NywzLjg2LTMuMzEsNy42OS02LjY2LDExLjUyLTEwLC43My0uNjQsMS40MS0xLjEyLDIuMTIsMC0uODMsMy40MS0xLjgyLDYuNzktMS43MiwxMC4zNS00LDQuNDMtOC44OSw3LjkzLTEzLjQyLDExLjgtMTQsMTItMjcuOTUsMjMuOTMtNDIsMzUuNzZhMTEuMzQsMTEuMzQsMCwwLDAtMS40OCwxLjY4LDcuOTMsNy45MywwLDAsMS02LTQuODgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNTU5MWNkIi8+PHBhdGggZD0iTTExMi41NiwzNDIuMTJjMy4yNC0xLDUuMTMtMy44MSw3LjU2LTUuODIsMTMuMTctMTAuODksMjYuMTMtMjIsMzkuMTctMzMuMDgsMi4wNS0xLjczLDMuNDktNC4zMyw2LjU4LTQuNThhMTUwLjg5LDE1MC44OSwwLDAsMC02LDE4Yy0yLjM0LS4yMy0zLjUzLDEuNjQtNSwyLjg4LTEzLjU4LDExLjY3LTI3LjI4LDIzLjItNDAuOTIsMzQuOC0uODIuNjktMS41NSwxLjcxLTIuODksMS4yNmE0NC44OCw0NC44OCwwLDAsMSwxLjUtMTMuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM1Yzk0Y2UiLz48cGF0aCBkPSJNMjEzLDI4MC4zNmMtLjkzLTEuNjguNjUtMi4yMywxLjQ3LTIuOTNxMTcuMi0xNC43MSwzNC40OS0yOS4zNCw5Ljc3LTguMjgsMTkuNTktMTYuNDlhNC4xNiw0LjE2LDAsMCwxLDEuMzgtLjQ3LDI5LjkyLDI5LjkyLDAsMCwwLDEuMzgsOWMtMy45Myw0LjU2LTguODcsOC0xMy4zOSwxMS44NnEtMTUuMTMsMTMtMzAuNDUsMjUuOTNhMy41LDMuNSwwLDAsMC0xLjU0LDJjLTQuMjYsMS41OC04LjU2LDIuMjEtMTIuOTMuNDEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTE1OC4wNiwzMzYuODljLTQuMjEsMi40MS03LjU3LDUuOTEtMTEuMjcsOS05Ljc2LDgtMTkuMzcsMTYuMjUtMjguOTQsMjQuNS0yLjY0LDIuMjgtNSw0LjgyLTguMjgsNi4yNy4zOS00LS44NC04LjA4Ljc0LTEycTIyLjE3LTE4Ljk0LDQ0LjQ2LTM3Ljc2YzEtLjg2LDIuMDYtMS45MSwzLjY0LTEuMjMtLjEyLDMuNzUtLjIzLDcuNS0uMzUsMTEuMjYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTE1OC40MSwzMjUuNjNjLTQuNzUsMi41NS04LjQyLDYuNS0xMi41Miw5Ljg4LTkuNjgsNy45NS0xOS4xNCwxNi4xNi0yOC43MywyNC4yMi0yLjE0LDEuODEtMy42NCw0LjU2LTYuODUsNC44OS4zOC0zLS44LTYuMTEuNzUtOXExNC0xMiwyOC4wNi0yMy45MmM2LjM0LTUuMzksMTIuNzQtMTAuNzEsMTkuMDctMTYuMSwyLTEuNzIsMS40Ny4xNywxLjY1LDEuMDhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzU1OTFjZCIvPjxwYXRoIGQ9Ik0yMjYsMjgwYy0xLjM4LTEtLjQxLTEuNzQuMzItMi4zNSw4LjgyLTcuNCwxNy42OC0xNC43NSwyNi40OS0yMi4xNiw1LjUtNC42MywxMC45My05LjM0LDE2LjM3LTE0YTMuNjYsMy42NiwwLDAsMSwyLjItMS4yOGwyLjI1LDQuNDljLTEuNzMsMi42Ny00LjUsNC4zMy02LjQ1LDYuNzktMTAuODMsMTItMjIuOTUsMjIuMTQtMzguMjksMjcuOTFBMTkuNTMsMTkuNTMsMCwwLDEsMjI2LDI4MCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0ODhkY2EiLz48cGF0aCBkPSJNMzk0LjQ4LDEzNi44YzEuMzYtNC4yNSw1Ljc3LTUuNDcsOC4zOC04LjQ3LDIuNzgtMy4xOSw3LjMzLTQuNjEsOC45NS05LDMuMjYsMCw2LjM4Ljg2LDkuNTUsMS40NSwyLjc0LjUxLDIuODYsMS43LDEsMy4zOS00LjA4LDMuNjQtOC4yLDcuMjYtMTIuMzQsMTAuODItMy44NiwzLjMyLTcuNzgsNi41Ny0xMS42OCw5Ljg1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0NjhjY2EiLz48cGF0aCBkPSJNMjA5LjM3LDMwNy44MWMuNjYsMS42Ni0xLjMzLDIuNDktMS4xLDQtMS00LjU2LTMuNTEtNi4zMy04LjA4LTUuNDJhMjMuNjUsMjMuNjUsMCwwLDAtMTIuNjQsNy4zNWMtLjk0LDEtMiwxLjg5LTMsMi44NC0uODItMSwwLTEuODcuMzMtMi43NiwyLTYuNTEsNi4zOS0xMS4xNCwxMS45My0xNC44M2ExMi41NywxMi41NywwLDAsMSw0LjA2LTEuODVjNi40Mi0xLjUzLDkuOTQsMS42MSw5LjA2LDguMTJhOC4yOCw4LjI4LDAsMCwxLS42MSwyLjUzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQyOGFjOSIvPjxwYXRoIGQ9Ik0yMDkuMzcsMzA3LjgxYzAtMSwuMDYtMiwuMDctMywuMTEtNi41NC0zLjYtOS05LjY3LTYuMjUtNywzLjItMTEuNDIsOC45Mi0xNC40OSwxNS43OS0uNzEuMTMtMS4wOC0uMDctLjg2LS44NiwyLjIxLTguMTYsNi40Ny0xNC45MiwxMy41Ni0xOS43M2ExNC44MiwxNC44MiwwLDAsMSw1Ljg1LTIuMjgsNi4yNSw2LjI1LDAsMCwxLDcuNDEsNC42MSwxNC44OCwxNC44OCwwLDAsMS0xLjg3LDExLjciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTgyMTQ0Ii8+PHBhdGggZD0iTTI2Ny4xMywyNTEuNDFjLTEuMjYtMS0uMTUtMS40LjUyLTEuODcsMi4xMS0xLjQ3LDMuMjctNC4xLDUuOTMtNC45MiwzLjQsNS4zOCw4LjgzLDcuNzUsMTQuNDksOS43NywxLjE0LjQxLDIuMzMuNjcsNC4xOSwxLjE5LTguNzIsMi4yNy0xNi4yNCwxLjM5LTIzLjE1LTMuMzNhMywzLDAsMCwwLTItLjg0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQ1OGNjYSIvPjxwYXRoIGQ9Ik01NzYuMjIsMjY2LjIzYy0yLjc1LS4zMi00Ljg0LTIuMi03LjM0LTMuMTMtMS0uMzYtMS44OS0xLjY0LTIuOTItLjgtLjg1LjcuNTQsMS43NC4yNCwyLjcxLTEuNTMtMS4zNC0yLjA2LTMuMjYtMi44Ni01LjIxLDQuNDYsMS44NSw4LjkxLDMuNjQsMTIuODgsNi40MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2MzY1N2QiLz48cGF0aCBkPSJNNjM3LjUxLDMwOC40MWMuODEtLjUxLDAtMS4xMy4xMS0xLjY5bDQuMzUsMi4zNiwyLjM0LDNjLTIuODUtLjc2LTQuNzgtMi4zMS02LjgtMy42NyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMyNjMxNTQiLz48cGF0aCBkPSJNNDY1LjE5LDI0OS4yNmExNC4yNiwxNC4yNiwwLDAsMSw2LC40NWMtMi4zMiwxLjI2LTMuOTIsMS4wOS02LS40NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiNhMDlhYTkiLz48cGF0aCBkPSJNMTc3LjgxLDU5Ni4zNmMyLjMzLjQyLDMuMzksMi42Nyw1LjMsMy43TDE4Myw2MDFhMTQuMjIsMTQuMjIsMCwwLDEtNS4yMS00LjU5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQyNGE3ZiIvPjxwYXRoIGQ9Ik02NTQuMTcsNDUzLjA3bDEuMzQuNzVjLjE5LDEuNTEtLjQ1LDIuNzUtMS4zNCw0LjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzhjYjdkZSIvPjxwYXRoIGQ9Ik00NjUsMTM1Ljc5Yy41MSwxLjE1LDEuNjYuNjgsMi41LDFsLTQsMS41NWMtLjMxLTEuNTkuNzctMS45NSwxLjUxLTIuNTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNWE1ZDc2Ii8+PHBhdGggZD0iTTE4NC40MiwzMTMuNTFsLjg2Ljg2Yy0uMjMuNzQtLjQ1LDEuNDktLjY4LDIuMjNMMTgzLDMxOC42N2MuNDgtMi40Mi41MS0zLjksMS40My01LjE2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzRmNjY4YSIvPjxwYXRoIGQ9Ik0zNzAuNjUsMTk2LjczYy0uMjItLjYyLS4xMy0xLjQtLjk0LTEuNjkuMjQtLjU4Ljg5LTEuMzksMS4xOS0xLjEuOS44Ny41MiwxLjkxLS4yNSwyLjc5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzU1NWE3MyIvPjxwYXRoIGQ9Ik0xMTcuOCwzMTUuODZhNjEuNDQsNjEuNDQsMCwwLDEsNC41LTE1Ljc3YzguODItNi4xNSwxNi41OC0xMy42LDI0Ljc5LTIwLjVxMjEuMzUtMTgsNDIuNTMtMzYuMTQsMTkuMzUtMTYuNTUsMzguNzktMzMsMjEtMTcuOCw0Mi0zNS42NmMxMi43NC0xMC44MywyNS41Mi0yMS42MywzOC4yMS0zMi41Myw4LjktNy42NSwxOC0xNS4wNywyNi43NC0yMi44OGE1Myw1MywwLDAsMSwxNC4yNC0xLjUyLDEuNDQsMS40NCwwLDAsMSwxLjU0LS4xOGMxLjA2LDEuODEtLjI5LDIuODQtMS4zOSwzLjc2cS0xOC4xMywxNS4zNi0zNi4xOSwzMC44MVEyOTQuMjgsMTY4LjYzLDI3NSwxODVxLTE3Ljc5LDE1LjE4LTM1LjY0LDMwLjI5UTIxNy43LDIzMy42NywxOTYsMjUyLjFjLTE4LDE1LjI1LTM1Ljg4LDMwLjU5LTUzLjksNDUuNzktNyw1Ljg3LTEzLjgxLDExLjg4LTIwLjg3LDE3LjYzLS44OC43MS0yLjA3LDMtMy40Ny4zNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ZDljZDIiLz48cGF0aCBkPSJNMzM1LjMxLDExOS4zOGMtMS4yNiw0LjIxLTUuMzMsNS43OS04LjIyLDguMzYtOS40Nyw4LjQyLTE5LjI2LDE2LjQ5LTI4Ljk0LDI0LjY3LTEwLjgzLDkuMTMtMjEuNzIsMTguMi0zMi41MSwyNy4zOC05LjM4LDgtMTguNjIsMTYuMTEtMjgsMjQuMS05LjA5LDcuNzQtMTguMjksMTUuMzQtMjcuMzgsMjMuMDZzLTE4LjExLDE1LjU1LTI3LjIxLDIzLjI4LTE4LjI1LDE1LjM3LTI3LjM1LDIzLjA5Yy03LjQ5LDYuMzYtMTQuOTIsMTIuNzktMjIuMzksMTkuMTYtMywyLjU4LTYuMTEsNS4xLTkuMTYsNy42NS0uNjYuNTUtMS4yNi44Mi0xLjg2LDBhNjAsNjAsMCwwLDEsNS4yNS0xNWM2LjktNC4zNSwxMi42Ny0xMC4xLDE4Ljg2LTE1LjMycTIxLjMzLTE4LDQyLjUxLTM2LjEzLDIxLjkyLTE4Ljc1LDQzLjkyLTM3LjM5LDE4LjEtMTUuNDIsMzYuMjUtMzAuNzljMTUuNzMtMTMuMywzMS4zMy0yNi43Niw0Ny4xMy00MGE2Ljk0LDYuOTQsMCwwLDAsMi41OC0zLjEzYzUuMzEtMi4wNiwxMS0xLjkzLDE2LjUxLTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNzI5ZmQ0Ii8+PHBhdGggZD0iTTMxOC44LDEyMi4zNmMyLjMzLjYxLjQzLDEuNDYsMCwxLjg1LTQuMjUsMy44Mi04LjU0LDcuNjEtMTIuODksMTEuMzEtNy41Nyw2LjQzLTE1LjIsMTIuNzktMjIuNzksMTkuMnEtMTYuNjcsMTQtMzMuMjksMjguMTNjLTkuMDksNy43My0xOC4wOCwxNS41Ni0yNy4xNiwyMy4yOS05LjM2LDgtMTguNzksMTUuODUtMjguMTYsMjMuODItOS4wOCw3LjczLTE4LjA5LDE1LjU0LTI3LjE3LDIzLjI3UzE0OS4xLDI2OC42MSwxNDAsMjc2LjI5Yy0zLjMzLDIuOC02LjY0LDUuNjItMTAsOC4zNy0uNjYuNTQtMS4zNywxLjc2LTIuNDQuNDQsMS01LjE2LDMuNzItOS42MSw2LTE0LjI0LDEyLjMzLTEwLjU0LDI0LjcyLTIxLDM3LjA2LTMxLjU2cTE5LjA4LTE2LjI5LDM4LjIxLTMyLjUyLDE4LjI1LTE1LjUzLDM2LjUzLTMxUTI2NC42LDE1OS4zOSwyODMuODYsMTQzYzYuNjUtNS42NCwxMy4wOS0xMS41NCwxOS45NS0xNyw0Ljc1LTIuMjEsOS45LTIuODMsMTUtMy43MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM3OGEyZDUiLz48cGF0aCBkPSJNMzAzLjgxLDEyNi4wN2MtNC43Niw2LjE5LTExLjIyLDEwLjU1LTE3LDE1LjYzLTcuNTcsNi42NC0xNS4zMiwxMy4wNS0yMywxOS41NS03LjQ5LDYuMzQtMTUsMTIuNjUtMjIuNDksMTlTMjI2LjM5LDE5MywyMTguOSwxOTkuNHMtMTUuMjEsMTIuOC0yMi43OSwxOS4yM2MtNy4zOSw2LjI4LTE0LjcxLDEyLjYzLTIyLjEsMTguOTFxLTE0LjA2LDEyLTI4LjE3LDIzLjg1Yy0zLjMyLDIuODEtNi42Niw1LjYtMTAsOC40YTMuNDMsMy40MywwLDAsMS0yLjMyLDEuMDcsOTkuOTMsOTkuOTMsMCwwLDEsOS0xOGMxNy4xMi0xMy45MSwzMy43Ny0yOC40LDUwLjU3LTQyLjcsMTkuNDUtMTYuNTcsMzktMzMsNTguMzQtNDkuNzMsMTAuOTQtOS40NSwyMi4zLTE4LjQxLDMyLjg1LTI4LjMyYTExMy40MywxMTMuNDMsMCwwLDEsMTkuNS02IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzdkYTVkNiIvPjxwYXRoIGQ9Ik0yODQuMzEsMTMyLjExYy43NSwxLjM0LS42LDEuNzQtMS4xOCwyLjI2cS0xMi40OCwxMC45NC0yNS4wNiwyMS43M2MtNy4zNSw2LjMxLTE0Ljc3LDEyLjU0LTIyLjE2LDE4LjhxLTEzLjc4LDExLjY3LTI3LjU4LDIzLjM0Yy03LjQ3LDYuMzUtMTQuOSwxMi43Ni0yMi4zOCwxOS4xMS05LjM3LDgtMTguNzgsMTUuODctMjguMTUsMjMuODJxLTUuODQsNS0xMS42MSwxMGE2LjQ1LDYuNDUsMCwwLDEtMy42NCwxLjc0LDE1OS4yNiwxNTkuMjYsMCwwLDEsMTYuNTItMjYuMjRjNS44LTQuMjcsMTEuMS05LjE2LDE2LjU5LTEzLjgxcTIxLjM5LTE4LjEyLDQyLjcyLTM2LjMyLDE2LjUtMTQuMDYsMzMtMjguMTRjMS43LTEuNDUsMy44My0yLjM4LDUuMTMtNC4yOSw4LjcyLTUuMjgsMTguMy04LjUzLDI3LjgyLTExLjk1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzgxYTdkOCIvPjxwYXRoIGQ9Ik00NDIuNTUsNDY2LjY0Yy03LjU1LDYuMTYtMTQuOTUsMTIuNTQtMjUsMTYuODFhODguODYsODguODYsMCwwLDAsNi42My0xOC4yNGM1LjkyLTI2LC40My00OS42Ni0xNC44Ny03MS4yNC0zLjc4LTUuMzItOC44Ni05LjQ0LTEzLjM2LTE0LjA5LS43My0uNzUtMS41Mi0xLjY5LTIuODMtMS4wNi0xLjM1LS42Ni0yLTItMy0zLC42NS0uODMsMS4zMi0uMzcsMiwwLDE4LjEzLDEwLjI4LDMzLjI0LDIzLjYyLDQyLjQ3LDQyLjY5YTg1LjIzLDg1LjIzLDAsMCwxLDguMTgsMzAsODYuODYsODYuODYsMCwwLDEtLjE3LDE4LjE3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzBlMWY2NiIvPjxwYXRoIGQ9Ik0xMTcuOCwzMTUuODZjMywxLjA4LDQtMS45MSw1LjU0LTMuMTQsMTUuMjEtMTIuNTksMzAuMjEtMjUuNDQsNDUuMjMtMzguMjYsMTQuMTctMTIuMSwyOC4yNS0yNC4zMSw0Mi40NS0zNi4zOCwxNS44MS0xMy40MywzMS43NC0yNi43LDQ3LjU1LTQwLjEzLDE0LjItMTIuMDcsMjguMjgtMjQuMjcsNDIuNDQtMzYuMzhRMzI0LDE0MiwzNDcsMTIyLjRjMS41Ny0xLjM0LDMuODMtMiw0LjExLTQuNTMuODYtLjgyLDIuMTMuMDgsMy0uNzNsMy43NiwwYy0xLjE1LDQtNSw1LjM5LTcuNyw3LjgxLTcuNzYsNy0xNS44NSwxMy41OS0yMy44MiwyMC4zMy05LjExLDcuNy0xOC4yNiwxNS4zNi0yNy4zNiwyMy4wOC03LjM5LDYuMjctMTQuNzIsMTIuNjItMjIuMTIsMTguOS0xMC45LDkuMjQtMjEuODUsMTguNDItMzIuNzQsMjcuNjctNy40LDYuMjgtMTQuNzIsMTIuNjQtMjIuMSwxOC45Mi05LjM4LDgtMTguOCwxNS44OC0yOC4xOCwyMy44NS03LjM5LDYuMjgtMTQuNzEsMTIuNjQtMjIuMSwxOC45Mi03LjU3LDYuNDQtMTUuMjEsMTIuODEtMjIuNzgsMTkuMjVzLTE1LjA4LDEzLTIyLjY1LDE5LjQzYy0yLjY0LDIuMjUtNS4zOCw0LjQtOC4wOCw2LjYtLjY0LjUyLTEuMjUuODUtMS44NywwYTExLjc1LDExLjc1LDAsMCwxLDEuNDktNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2OTlhZDEiLz48cGF0aCBkPSJNMjU2LjQ5LDE0NC4wNmMtLjYzLDMuNTUtNC4wOSw0LjQ4LTYuMjksNi40Ni03LjY2LDYuODktMTUuNjMsMTMuNDMtMjMuNDksMjAuMDgtOS4yLDcuNzctMTguNDIsMTUuNS0yNy42LDIzLjI5LTcuMzksNi4yNi0xNC43MywxMi41OS0yMi4wOCwxOC44OXEtOC4wNiw2LjktMTYuMSwxMy44M2MtLjYzLjU0LTEuMjQuODctMS44NiwwYTE0MS43MiwxNDEuNzIsMCwwLDEsMTMuMTQtMTcuMTFjMTcuNjUtMjAuNSwzNy43LTM4LjMsNjAuNzMtNTIuNiw3LjYtNC43MSwxNS4xNC05LjYsMjMuNTUtMTIuODUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjODhhYmQ5Ii8+PHBhdGggZD0iTTM4Ni4zMiwxMTcuMTJjLTIuNDktLjMzLTUuMTMuNzctNy41LS43NCwyLjQ5LjMyLDUuMTItLjc4LDcuNS43NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM1NTkxY2QiLz48cGF0aCBkPSJNMzU0LjA1LDExNy4xNGMtLjc5LDEuMDctMiwuNjItMywuNzNoLTEuNTFjMS4zMy0xLjMsMy0uNTIsNC41LS43MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ODlhZDEiLz48cGF0aCBkPSJNMjgyLjA2LDYzOS4xMmExODIuMywxODIuMywwLDAsMCw3MS44MS0xMS4zMSwyMTQsMjE0LDAsMCwwLDYxLjYxLTM0LjY3YzE4LjA5LTE0LjY4LDMzLjY2LTMxLjUzLDQ0LjA2LTUyLjYxYTEwMS4zNiwxMDEuMzYsMCwwLDAsMTAuMjItMzZjMS0xMS4zMS0uODgtMjItMy45NS0zMi42NC4zNC0yLjYxLDIuNzItMy44LDQuMTEtNS42Myw1LjM4LTcuMDcsOS4zNS0xNC42OSwxMS0yMy40NmEyNy40MywyNy40MywwLDAsMSwxLjIxLTMuNDMsMTExLDExMSwwLDAsMSw4LDIxLjE2YzIuNjMsMTAuMzEsNC4xMSwyMC44LDMuMzMsMzEuNGExMjMuMzEsMTIzLjMxLDAsMCwxLTE2LjA2LDUyLjMyYy05LjE2LDE2LjE1LTIxLDMwLTM0LjYsNDIuMzdhMTk5Ljg5LDE5OS44OSwwLDAsMS0zOS4zNywyNy41NCwyMTkuNSwyMTkuNSwwLDAsMS01NC4yNiwyMC43MSwyMDkuMjcsMjA5LjI3LDAsMCwxLTM2LjA1LDUuMmMtNS44NS4zMy0xMS43MS44My0xNy41Mi40Ni00LjUxLS4yOS05LjE0LDAtMTMuNTYtMS4zNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMwZTFmNjYiLz48L2c+PC9zdmc+",protocol:"uniswap_v2",slippage:!0,blockchains:["polygon"],polygon:{router:{address:"0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff",api:QD.ROUTER},factory:{address:"0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32",api:QD.FACTORY},pair:{api:QD.PAIR}}};var XC=e=>new OD(Object.assign(JC,{scope:e,findPath:e=>QD.findPath({...e,exchange:JC}),pathExists:e=>QD.pathExists({...e,exchange:JC}),getAmounts:e=>QD.getAmounts({...e,exchange:JC}),getPrep:e=>QD.getPrep({...e,exchange:JC}),getTransaction:e=>QD.getTransaction({...e,exchange:JC})}));const KC={name:"spookyswap",label:"SpookySwap",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNjQxIDY0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjQxIDY0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxwYXRoIGZpbGw9IiMxMjExMjIiIGQ9Ik0zNC4yLDMyMGMwLDE1OC41LDEyOC41LDI4Ni4zLDI4Ni4zLDI4Ni4zYzE1OC41LDAsMjg2LjMtMTI4LjUsMjg2LjMtMjg2LjNjMC0xNTguNS0xMjguNS0yODYuMy0yODYuMy0yODYuMwoJCUMxNjIuNywzMy43LDM0LjIsMTYyLjIsMzQuMiwzMjBMMzQuMiwzMjB6Ii8+Cgk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iI0YyRjRGOCIgZD0iTTEyMC45LDI0Ny42Yy0zLjMsMjIuMiwwLjcsNDUuNyw0LjYsNjcuOGMyLDMuMyw1LjIsNS45LDkuOCw3LjJjLTkuMSwxOS42LTE0LjMsNDAuNC0xNC4zLDYyLjYKCQljMCw5My4zLDkwLDE2OC45LDIwMS41LDE2OC45UzUyNCw0NzguNSw1MjQsMzg1LjJjMC0yMS41LTUuMi00My0xNC4zLTYyLjZjMy45LTEuMyw2LjUtMy45LDcuOC03LjJjNC42LTIyLjIsOC41LTQ1LjcsNS4yLTY3LjgKCQljLTMuMy0zMC0xMy43LTM5LjgtNDUtMzJjLTE1LjcsMy45LTM2LjUsMTMtNTIuOCwyNC4xYy0zMC0xNS02NS4yLTIzLjUtMTAyLjQtMjMuNWMtMzcuOCwwLTczLjcsOS4xLTEwMy43LDI0LjEKCQljLTE2LjMtMTEuMS0zNy4yLTIwLjktNTMuNS0yNC44QzEzNCwyMDcuOCwxMjQuMiwyMTcuNiwxMjAuOSwyNDcuNkwxMjAuOSwyNDcuNnogTTIzOC4zLDM4MC43Yy0yMy41LTEwLjQtNjMuOS03LjgtNjMuOS03LjgKCQlzMiwzNy44LDI0LjgsNTAuOWMyNy40LDE1LDc4LjksNy44LDc4LjksNy44UzI3My41LDM5Ni4zLDIzOC4zLDM4MC43TDIzOC4zLDM4MC43eiBNMzY5LjQsNDMyLjJjMCwwLDUwLjksNy44LDc4LjktNy44CgkJYzIzLjUtMTMsMjQuOC01MC45LDI0LjgtNTAuOXMtNDAuNC0yLjYtNjMuOSw3LjhDMzc0LDM5Ni4zLDM2OS40LDQzMS41LDM2OS40LDQzMi4yTDM2OS40LDQzMi4yeiBNMzEyLjcsNDU4LjkKCQljMCwyLjYsNS4yLDUuMiwxMS43LDUuMnMxMS43LTIsMTEuNy01LjJjMC0yLjYtNS4yLTUuMi0xMS43LTUuMkMzMTcuOSw0NTMuNywzMTIuNyw0NTUuNywzMTIuNyw0NTguOUwzMTIuNyw0NTguOXoiLz4KCTxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsPSIjRjJGNEY4IiBkPSJNNTUyLjcsNDM1LjRjLTE4LjktNy4yLTM5LjEtMTEuMS01OS4zLTExLjFjLTUuMiwwLTUuMi03LjgsMC03LjhjMjAuOSwwLDQxLjcsMy45LDYxLjMsMTEuNwoJCWMyLDAuNywzLjMsMi42LDIuNiw0LjZDNTU2LjYsNDM0LjgsNTU0LjYsNDM2LjEsNTUyLjcsNDM1LjRMNTUyLjcsNDM1LjR6IE05Mi4yLDQyNy42YzE5LjYtNy44LDQwLjQtMTEuMSw2MS4zLTExLjcKCQljNS4yLDAsNS4yLDcuOCwwLDcuOGMtMjAuMiwwLTQwLjQsMy45LTU5LjMsMTEuMWMtMiwwLjctNC42LTAuNy01LjItMi42Qzg5LDQzMC45LDkwLjMsNDI4LjMsOTIuMiw0MjcuNkw5Mi4yLDQyNy42eiBNMTMyLjcsNDUwLjQKCQljOS44LTMuMywyMC4yLTQuNiwzMC01LjJjNS4yLDAsNS4yLDcuOCwwLDcuOGMtOS4xLDAtMTguOSwyLTI3LjQsNC42Yy04LjUsMi42LTE3LjYsNS45LTI0LjEsMTEuN2MtMy45LDMuMy05LjEtMi01LjktNS45CgkJQzExMy4xLDQ1NywxMjMuNSw0NTMuNywxMzIuNyw0NTAuNEwxMzIuNyw0NTAuNHogTTE3MS44LDQ2NS40Yy03LjgsMy4zLTE1LjcsNy44LTIyLjgsMTIuNGMtNy4yLDQuNi0xMy43LDEwLjQtMTguOSwxNwoJCWMtMS4zLDItMC43LDQuNiwxLjMsNS4yYzIsMS4zLDQuNiwwLjcsNS4yLTEuM2M0LjYtNS45LDExLjEtMTEuMSwxNy0xNWM3LjItNC42LDE0LjMtOC41LDIxLjUtMTEuN2MyLTEuMywyLjYtMy4zLDEuMy01LjIKCQlDMTc2LjQsNDY0LjgsMTczLjgsNDY0LjEsMTcxLjgsNDY1LjRMMTcxLjgsNDY1LjR6IE00ODMuNSw0NTMuN2M5LjEsMCwxOC45LDIsMjcuNCw0LjZjNC42LDEuMyw5LjEsMy4zLDEzLjcsNS4yCgkJYzMuOSwxLjMsNy4yLDMuOSwxMC40LDYuNWMzLjksMy4zLDkuMS0yLDUuOS01LjljLTcuMi02LjUtMTcuNi0xMC40LTI2LjctMTNjLTkuOC0zLjMtMjAuMi00LjYtMzAtNS4yCgkJQzQ3OSw0NDUuMiw0NzksNDUzLjcsNDgzLjUsNDUzLjdMNDgzLjUsNDUzLjd6IE00OTIuNyw0ODMuN2MtNy4yLTQuNi0xNC4zLTcuOC0yMS41LTExLjFsMCwwYy0yLTEuMy0yLjYtMy4zLTEuMy01LjIKCQljMS4zLTIsMy4zLTIuNiw1LjItMS4zYzE1LjcsNi41LDMyLDE1LjcsNDEuNywyOS4zYzEuMywyLDAuNyw0LjYtMS4zLDUuMmMtMiwxLjMtNC42LDAuNy01LjItMS4zCgkJQzUwNS43LDQ5Mi44LDQ5OS4yLDQ4Ny42LDQ5Mi43LDQ4My43TDQ5Mi43LDQ4My43eiIvPgoJPHBhdGggZmlsbD0iIzY2NjVERCIgZD0iTTYyLjIsMzM1LjdjMy45LTUuOSwzNS45LTIyLjgsNzUuNy0zMy4zYzguNS0yNC44LDE5LjYtNDguMywzMi03MS4xbDMyLTU4Yy05LjEtMy45LTE4LjMtOS4xLTI2LjctMTUKCQljLTEuMy0xLjMtMi42LTIuNi0zLjktMy45Yy0wLjctMS4zLTEuMy0zLjMtMS4zLTQuNnMyLTMuOSwyLjYtNC42YzItMi42LDQuNi00LjYsNy4yLTcuMmM1LjktNS4yLDEyLjQtOS44LDE5LjYtMTMuNwoJCWMzLjMtMiw2LjUtMy45LDkuOC02LjVjMjIuOC0xNC4zLDM1LjktMjUuNCw1Ni43LTM3LjhjMjAuMi0xMS43LDMwLTE4LjMsNTIuOC0xNy42YzI5LjMsMCwxMDEuNyw5Mi42LDEzNC4zLDE0MC4yCgkJYzE5LjYsMjguNyw0Ni4zLDgwLjIsNTYuMSw5OS44YzIsMC43LDQuNiwxLjMsNi41LDJjMzAsOS4xLDU4LjcsMjIuMiw2NS45LDMwLjdjNi41LDcuMi0yMS41LDEwLjQtNDguOSwxNS43CgkJYy0yNy40LDQuNi0xMjAuNyw3LjItMjEwLDcuOGMtODkuMywwLjctMTkzLjctMi42LTIxNi41LTUuOUM4My4xLDM0OS4zLDU3LjcsMzQyLjgsNjIuMiwzMzUuN0w2Mi4yLDMzNS43eiIvPgoJPHBhdGggZmlsbD0iI0ZGOTlBNSIgZD0iTTQ4My41LDI1Ni4xYzAsMC01OC43LTE1LTE2Mi40LTE1Yy0xMTEuNSwwLTE2NSwxNy0xNjUsMTdzLTYuNSwxMi40LTkuMSwxOC45Yy0yLjYsNy4yLTkuMSwyNS40LTkuMSwyNS40CgkJUzIxOC44LDI4OCwzMjIuNSwyODhjNjIuNiwwLDEyNC42LDUuMiwxODYuNSwxNS43YzAsMC05LjEtMjIuMi0xNS0zMS4zQzQ5MC43LDI2Ny4yLDQ4Ny41LDI2MS4zLDQ4My41LDI1Ni4xTDQ4My41LDI1Ni4xeiIvPgoJPHBhdGggZmlsbD0iI0ZGRTYwMCIgZD0iTTEzMy4zLDEzMS41YzYuNS0wLjcsMTUuNywxOS42LDE1LjcsMTkuNnMyMC45LTUuOSwyNC44LDBjMy4zLDUuOS0xNSwxOS42LTE1LDE5LjZzMTEuMSwxOS42LDcuMiwyMy41CgkJYy0zLjMsMy45LTIyLjgtOC41LTIyLjgtOC41cy0xNSwxNy0xOS42LDE0LjNjLTUuMi0yLjYsMC43LTI0LjgsMC43LTI0LjhzLTIxLjUtOS4xLTE5LjYtMTQuM2MxLjMtNS4yLDIzLjUtNy4yLDIzLjUtNy4yCgkJUzEyNi44LDEzMi44LDEzMy4zLDEzMS41TDEzMy4zLDEzMS41eiIvPgo8L2c+Cjwvc3ZnPgo=",protocol:"uniswap_v2",slippage:!0,blockchains:["fantom"],fantom:{router:{address:"0xF491e7B69E4244ad4002BC14e878a34207E38c29",api:QD.ROUTER},factory:{address:"0x152eE697f2E276fA89E96742e9bB9aB1F2E61bE3",api:QD.FACTORY},pair:{api:QD.PAIR}}};var $C=e=>new OD(Object.assign(KC,{scope:e,findPath:e=>QD.findPath({...e,exchange:KC}),pathExists:e=>QD.pathExists({...e,exchange:KC}),getAmounts:e=>QD.getAmounts({...e,exchange:KC}),getPrep:e=>QD.getPrep({...e,exchange:KC}),getTransaction:e=>QD.getTransaction({...e,exchange:KC})}));function eO(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}const tO=({blockchain:e,path:t})=>{if(!t)return;let n=t.map(((n,r)=>n===Vf[e].currency.address&&t[r+1]!=Vf[e].wrapped.address&&t[r-1]!=Vf[e].wrapped.address?Vf[e].wrapped.address:n));return n[0]==Vf[e].currency.address&&n[1]==Vf[e].wrapped.address?n.splice(0,1):n[n.length-1]==Vf[e].currency.address&&n[n.length-2]==Vf[e].wrapped.address&&n.splice(n.length-1,1),n},nO=async({exchange:e,blockchain:t,path:n,amountIn:r,amountOut:i,block:o})=>{let a;if(n=tO({blockchain:t,path:n}),a=r?await _I({blockchain:Vf[t].name,address:e[t].quoter.address,method:"findBestPathFromAmountIn",api:e[t].quoter.api,cache:5,block:o,params:{route:n,amountIn:r}}).catch((()=>{})):await _I({blockchain:Vf[t].name,address:e[t].quoter.address,method:"findBestPathFromAmountOut",api:e[t].quoter.api,cache:5,block:o,params:{route:n,amountOut:i}}).catch((()=>{})),a&&!a.virtualAmountsWithoutSlippage.some((e=>"0"===e.toString())))return a};let rO=async({exchange:e,blockchain:t,path:n,pools:r,amountIn:i})=>{let o=await _I({blockchain:Vf[t].name,address:e[t].quoter.address,method:"findBestPathFromAmountIn",api:e[t].quoter.api,cache:5,params:{route:tO({blockchain:t,path:n}),amountIn:i}}).catch((()=>{}));if(o)return o.virtualAmountsWithoutSlippage[o.virtualAmountsWithoutSlippage.length-1]},iO=async({exchange:e,blockchain:t,path:n,pools:r,amountOut:i,block:o})=>{let a=await _I({blockchain:Vf[t].name,address:e[t].quoter.address,method:"findBestPathFromAmountOut",api:e[t].quoter.api,cache:5,block:o,params:{route:tO({blockchain:t,path:n}),amountOut:i}}).catch((()=>{}));if(a)return a.virtualAmountsWithoutSlippage[0]};var oO={findPath:async({exchange:e,blockchain:t,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s})=>{if([n,r].includes(Vf[t].currency.address)&&[n,r].includes(Vf[t].wrapped.address))return{path:void 0,exchangePath:void 0};let u,c=[];if(c=[await nO({exchange:e,blockchain:t,path:[n,r],amountIn:i||a,amountOut:o||s})],c.filter(Boolean).length&&(u=[n,r]),u||n==Vf[t].wrapped.address||r==Vf[t].wrapped.address||(c=[],o||s?(c.push(await nO({exchange:e,blockchain:t,path:[Vf[t].wrapped.address,r],amountOut:o||s})),c.filter(Boolean).length&&c.unshift(await nO({exchange:e,blockchain:t,path:[n,Vf[t].wrapped.address],amountOut:c[0].virtualAmountsWithoutSlippage[0]}))):(c.push(await nO({exchange:e,blockchain:t,path:[n,Vf[t].wrapped.address],amountIn:i||a})),c.filter(Boolean).length&&c.push(await nO({exchange:e,blockchain:t,path:[Vf[t].wrapped.address,r],amountIn:c[0].virtualAmountsWithoutSlippage[1]}))),2===c.filter(Boolean).length&&(u=[n,Vf[t].wrapped.address,r])),!u){c=[];let l=(await Promise.all(Vf[t].stables.usd.map((async u=>{let c=[];if(o||s?(c.push(await nO({exchange:e,blockchain:t,path:[u,r],amountOut:o||s})),c.filter(Boolean).length&&c.unshift(await nO({exchange:e,blockchain:t,path:[n,u],amountOut:c[0].virtualAmountsWithoutSlippage[0]}))):(c.push(await nO({exchange:e,blockchain:t,path:[n,u],amountIn:i||a})),c.filter(Boolean).length&&c.push(await nO({exchange:e,blockchain:t,path:[u,r],amountIn:c[0].virtualAmountsWithoutSlippage[1]}))),2===c.filter(Boolean).length)return[u,c]})))).filter(Boolean)[0];l&&(u=[n,l[0],r],c=l[1])}return eO([u,"optionalAccess",e=>e.length])&&u[0]==Vf[t].currency.address?u.splice(1,0,Vf[t].wrapped.address):eO([u,"optionalAccess",e=>e.length])&&u[u.length-1]==Vf[t].currency.address&&u.splice(u.length-1,0,Vf[t].wrapped.address),u||(c=[]),{path:u,pools:c,exchangePath:tO({blockchain:t,path:u})}},pathExists:async({exchange:e,blockchain:t,path:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a})=>!!await nO({exchange:e,blockchain:t,path:n,amountIn:r||o,amountOut:i||a}),getAmounts:async({exchange:e,blockchain:t,path:n,pools:r,block:i,tokenIn:o,tokenOut:a,amountOut:s,amountIn:u,amountInMax:c,amountOutMin:l})=>{if(s){if(null==(u=await iO({exchange:e,blockchain:t,block:i,path:n,pools:r,amountOut:s,tokenIn:o,tokenOut:a}))||c&&u.gt(c))return{};void 0===c&&(c=u)}else if(u){if(null==(s=await rO({exchange:e,blockchain:t,path:n,pools:r,amountIn:u,tokenIn:o,tokenOut:a}))||l&&s.lt(l))return{};void 0===l&&(l=s)}else if(l){if(null==(u=await iO({exchange:e,blockchain:t,block:i,path:n,pools:r,amountOut:l,tokenIn:o,tokenOut:a}))||c&&u.gt(c))return{};void 0===c&&(c=u)}else if(c){if(null==(s=await rO({exchange:e,blockchain:t,path:n,pools:r,amountIn:c,tokenIn:o,tokenOut:a}))||l&&s.lt(l))return{};void 0===l&&(l=s)}return{amountOut:s,amountIn:u,amountInMax:c,amountOutMin:l}},getTransaction:async({exchange:e,blockchain:t,pools:n,path:r,amountIn:i,amountInMax:o,amountOut:a,amountOutMin:s,amountInInput:u,amountOutInput:c,amountInMaxInput:l,amountOutMinInput:h,account:d})=>{const f={blockchain:t,from:d,to:e[t].router.address,api:e[t].router.api},p=Math.round(Date.now()/1e3)+86400,y=[n.map((e=>e.binSteps[0])),n.map((e=>e.versions[0])),tO({blockchain:t,path:r})];return r[0]===Vf[t].currency.address?l?(f.method="swapNATIVEForExactTokens",f.params={amountOut:a,path:y,to:d,deadline:p},f.value=o):(f.method="swapExactNATIVEForTokens",f.params={amountOutMin:s||a,path:y,to:d,deadline:p},f.value=i):r[r.length-1]===Vf[t].currency.address?l?(f.method="swapTokensForExactNATIVE",f.params={amountNATIVEOut:a,amountInMax:o,path:y,to:d,deadline:p}):(f.method="swapExactTokensForNATIVE",f.params={amountIn:i,amountOutMinNATIVE:s||a,path:y,to:d,deadline:p}):l?(f.method="swapTokensForExactTokens",f.params={amountOut:a,amountInMax:o,path:y,to:d,deadline:p}):(f.method="swapExactTokensForTokens",f.params={amountIn:i,amountOutMin:s||a,path:y,to:d,deadline:p}),f},getPrep:async({exchange:e,blockchain:t,tokenIn:n,amountIn:r,account:i})=>{if(n===Vf[t].currency.address)return;const o=await _I({blockchain:t,address:n,method:"allowance",api:RS[t][20],params:[i,e[t].router.address]});if(o.gte(r))return;return{transaction:{blockchain:t,from:i,to:n,api:RS[t][20],method:"approve",params:[e[t].router.address,r.sub(o)]}}},ROUTER:[{inputs:[{internalType:"contract ILBFactory",name:"factory",type:"address"},{internalType:"contract IJoeFactory",name:"factoryV1",type:"address"},{internalType:"contract ILBLegacyFactory",name:"legacyFactory",type:"address"},{internalType:"contract ILBLegacyRouter",name:"legacyRouter",type:"address"},{internalType:"contract IWNATIVE",name:"wnative",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AddressHelper__CallFailed",type:"error"},{inputs:[],name:"AddressHelper__NonContract",type:"error"},{inputs:[],name:"JoeLibrary__InsufficientAmount",type:"error"},{inputs:[],name:"JoeLibrary__InsufficientLiquidity",type:"error"},{inputs:[{internalType:"uint256",name:"amountSlippage",type:"uint256"}],name:"LBRouter__AmountSlippageBPTooBig",type:"error"},{inputs:[{internalType:"uint256",name:"amountXMin",type:"uint256"},{internalType:"uint256",name:"amountX",type:"uint256"},{internalType:"uint256",name:"amountYMin",type:"uint256"},{internalType:"uint256",name:"amountY",type:"uint256"}],name:"LBRouter__AmountSlippageCaught",type:"error"},{inputs:[{internalType:"uint256",name:"id",type:"uint256"}],name:"LBRouter__BinReserveOverflows",type:"error"},{inputs:[],name:"LBRouter__BrokenSwapSafetyCheck",type:"error"},{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"currentTimestamp",type:"uint256"}],name:"LBRouter__DeadlineExceeded",type:"error"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"LBRouter__FailedToSendNATIVE",type:"error"},{inputs:[{internalType:"uint256",name:"idDesired",type:"uint256"},{internalType:"uint256",name:"idSlippage",type:"uint256"}],name:"LBRouter__IdDesiredOverflows",type:"error"},{inputs:[{internalType:"int256",name:"id",type:"int256"}],name:"LBRouter__IdOverflows",type:"error"},{inputs:[{internalType:"uint256",name:"activeIdDesired",type:"uint256"},{internalType:"uint256",name:"idSlippage",type:"uint256"},{internalType:"uint256",name:"activeId",type:"uint256"}],name:"LBRouter__IdSlippageCaught",type:"error"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"}],name:"LBRouter__InsufficientAmountOut",type:"error"},{inputs:[{internalType:"address",name:"wrongToken",type:"address"}],name:"LBRouter__InvalidTokenPath",type:"error"},{inputs:[{internalType:"uint256",name:"version",type:"uint256"}],name:"LBRouter__InvalidVersion",type:"error"},{inputs:[],name:"LBRouter__LengthsMismatch",type:"error"},{inputs:[{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"LBRouter__MaxAmountInExceeded",type:"error"},{inputs:[],name:"LBRouter__NotFactoryOwner",type:"error"},{inputs:[{internalType:"address",name:"tokenX",type:"address"},{internalType:"address",name:"tokenY",type:"address"},{internalType:"uint256",name:"binStep",type:"uint256"}],name:"LBRouter__PairNotCreated",type:"error"},{inputs:[],name:"LBRouter__SenderIsNotWNATIVE",type:"error"},{inputs:[{internalType:"uint256",name:"id",type:"uint256"}],name:"LBRouter__SwapOverflows",type:"error"},{inputs:[{internalType:"uint256",name:"excess",type:"uint256"}],name:"LBRouter__TooMuchTokensIn",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"reserve",type:"uint256"}],name:"LBRouter__WrongAmounts",type:"error"},{inputs:[{internalType:"address",name:"tokenX",type:"address"},{internalType:"address",name:"tokenY",type:"address"},{internalType:"uint256",name:"amountX",type:"uint256"},{internalType:"uint256",name:"amountY",type:"uint256"},{internalType:"uint256",name:"msgValue",type:"uint256"}],name:"LBRouter__WrongNativeLiquidityParameters",type:"error"},{inputs:[],name:"LBRouter__WrongTokenOrder",type:"error"},{inputs:[],name:"TokenHelper__TransferFailed",type:"error"},{inputs:[{components:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint256",name:"binStep",type:"uint256"},{internalType:"uint256",name:"amountX",type:"uint256"},{internalType:"uint256",name:"amountY",type:"uint256"},{internalType:"uint256",name:"amountXMin",type:"uint256"},{internalType:"uint256",name:"amountYMin",type:"uint256"},{internalType:"uint256",name:"activeIdDesired",type:"uint256"},{internalType:"uint256",name:"idSlippage",type:"uint256"},{internalType:"int256[]",name:"deltaIds",type:"int256[]"},{internalType:"uint256[]",name:"distributionX",type:"uint256[]"},{internalType:"uint256[]",name:"distributionY",type:"uint256[]"},{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"refundTo",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ILBRouter.LiquidityParameters",name:"liquidityParameters",type:"tuple"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountXAdded",type:"uint256"},{internalType:"uint256",name:"amountYAdded",type:"uint256"},{internalType:"uint256",name:"amountXLeft",type:"uint256"},{internalType:"uint256",name:"amountYLeft",type:"uint256"},{internalType:"uint256[]",name:"depositIds",type:"uint256[]"},{internalType:"uint256[]",name:"liquidityMinted",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint256",name:"binStep",type:"uint256"},{internalType:"uint256",name:"amountX",type:"uint256"},{internalType:"uint256",name:"amountY",type:"uint256"},{internalType:"uint256",name:"amountXMin",type:"uint256"},{internalType:"uint256",name:"amountYMin",type:"uint256"},{internalType:"uint256",name:"activeIdDesired",type:"uint256"},{internalType:"uint256",name:"idSlippage",type:"uint256"},{internalType:"int256[]",name:"deltaIds",type:"int256[]"},{internalType:"uint256[]",name:"distributionX",type:"uint256[]"},{internalType:"uint256[]",name:"distributionY",type:"uint256[]"},{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"refundTo",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ILBRouter.LiquidityParameters",name:"liquidityParameters",type:"tuple"}],name:"addLiquidityNATIVE",outputs:[{internalType:"uint256",name:"amountXAdded",type:"uint256"},{internalType:"uint256",name:"amountYAdded",type:"uint256"},{internalType:"uint256",name:"amountXLeft",type:"uint256"},{internalType:"uint256",name:"amountYLeft",type:"uint256"},{internalType:"uint256[]",name:"depositIds",type:"uint256[]"},{internalType:"uint256[]",name:"liquidityMinted",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint24",name:"activeId",type:"uint24"},{internalType:"uint16",name:"binStep",type:"uint16"}],name:"createLBPair",outputs:[{internalType:"contract ILBPair",name:"pair",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getFactory",outputs:[{internalType:"contract ILBFactory",name:"lbFactory",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ILBPair",name:"pair",type:"address"},{internalType:"uint256",name:"price",type:"uint256"}],name:"getIdFromPrice",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLegacyFactory",outputs:[{internalType:"contract ILBLegacyFactory",name:"legacyLBfactory",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLegacyRouter",outputs:[{internalType:"contract ILBLegacyRouter",name:"legacyRouter",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ILBPair",name:"pair",type:"address"},{internalType:"uint24",name:"id",type:"uint24"}],name:"getPriceFromId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ILBPair",name:"pair",type:"address"},{internalType:"uint128",name:"amountOut",type:"uint128"},{internalType:"bool",name:"swapForY",type:"bool"}],name:"getSwapIn",outputs:[{internalType:"uint128",name:"amountIn",type:"uint128"},{internalType:"uint128",name:"amountOutLeft",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ILBPair",name:"pair",type:"address"},{internalType:"uint128",name:"amountIn",type:"uint128"},{internalType:"bool",name:"swapForY",type:"bool"}],name:"getSwapOut",outputs:[{internalType:"uint128",name:"amountInLeft",type:"uint128"},{internalType:"uint128",name:"amountOut",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"getV1Factory",outputs:[{internalType:"contract IJoeFactory",name:"factoryV1",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getWNATIVE",outputs:[{internalType:"contract IWNATIVE",name:"wnative",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"uint256",name:"amountXMin",type:"uint256"},{internalType:"uint256",name:"amountYMin",type:"uint256"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountX",type:"uint256"},{internalType:"uint256",name:"amountY",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountNATIVEMin",type:"uint256"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address payable",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityNATIVE",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountNATIVE",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactNATIVEForTokens",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactNATIVEForTokensSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinNATIVE",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address payable",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForNATIVE",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinNATIVE",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address payable",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForNATIVESupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapNATIVEForExactTokens",outputs:[{internalType:"uint256[]",name:"amountsIn",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountNATIVEOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address payable",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactNATIVE",outputs:[{internalType:"uint256[]",name:"amountsIn",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{components:[{internalType:"uint256[]",name:"pairBinSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"contract IERC20[]",name:"tokenPath",type:"address[]"}],internalType:"struct ILBRouter.Path",name:"path",type:"tuple"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amountsIn",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"sweep",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ILBToken",name:"lbToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],name:"sweepLBToken",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],FACTORY:[{inputs:[{internalType:"address",name:"feeRecipient",type:"address"},{internalType:"uint256",name:"flashLoanFee",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"LBFactory__AddressZero",type:"error"},{inputs:[{internalType:"uint256",name:"binStep",type:"uint256"}],name:"LBFactory__BinStepHasNoPreset",type:"error"},{inputs:[{internalType:"uint256",name:"binStep",type:"uint256"}],name:"LBFactory__BinStepTooLow",type:"error"},{inputs:[{internalType:"uint256",name:"fees",type:"uint256"},{internalType:"uint256",name:"maxFees",type:"uint256"}],name:"LBFactory__FlashLoanFeeAboveMax",type:"error"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"}],name:"LBFactory__IdenticalAddresses",type:"error"},{inputs:[],name:"LBFactory__ImplementationNotSet",type:"error"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint256",name:"_binStep",type:"uint256"}],name:"LBFactory__LBPairAlreadyExists",type:"error"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint256",name:"binStep",type:"uint256"}],name:"LBFactory__LBPairDoesNotExist",type:"error"},{inputs:[],name:"LBFactory__LBPairIgnoredIsAlreadyInTheSameState",type:"error"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint256",name:"binStep",type:"uint256"}],name:"LBFactory__LBPairNotCreated",type:"error"},{inputs:[{internalType:"address",name:"LBPairImplementation",type:"address"}],name:"LBFactory__LBPairSafetyCheckFailed",type:"error"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"binStep",type:"uint256"}],name:"LBFactory__PresetIsLockedForUsers",type:"error"},{inputs:[],name:"LBFactory__PresetOpenStateIsAlreadyInTheSameState",type:"error"},{inputs:[{internalType:"contract IERC20",name:"quoteAsset",type:"address"}],name:"LBFactory__QuoteAssetAlreadyWhitelisted",type:"error"},{inputs:[{internalType:"contract IERC20",name:"quoteAsset",type:"address"}],name:"LBFactory__QuoteAssetNotWhitelisted",type:"error"},{inputs:[{internalType:"address",name:"feeRecipient",type:"address"}],name:"LBFactory__SameFeeRecipient",type:"error"},{inputs:[{internalType:"uint256",name:"flashLoanFee",type:"uint256"}],name:"LBFactory__SameFlashLoanFee",type:"error"},{inputs:[{internalType:"address",name:"LBPairImplementation",type:"address"}],name:"LBFactory__SameImplementation",type:"error"},{inputs:[],name:"PairParametersHelper__InvalidParameter",type:"error"},{inputs:[],name:"PendingOwnable__AddressZero",type:"error"},{inputs:[],name:"PendingOwnable__NoPendingOwner",type:"error"},{inputs:[],name:"PendingOwnable__NotOwner",type:"error"},{inputs:[],name:"PendingOwnable__NotPendingOwner",type:"error"},{inputs:[],name:"PendingOwnable__PendingOwnerAlreadySet",type:"error"},{inputs:[],name:"SafeCast__Exceeds16Bits",type:"error"},{inputs:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"int256",name:"y",type:"int256"}],name:"Uint128x128Math__PowUnderflow",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldRecipient",type:"address"},{indexed:!1,internalType:"address",name:"newRecipient",type:"address"}],name:"FeeRecipientSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"oldFlashLoanFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newFlashLoanFee",type:"uint256"}],name:"FlashLoanFeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IERC20",name:"tokenX",type:"address"},{indexed:!0,internalType:"contract IERC20",name:"tokenY",type:"address"},{indexed:!0,internalType:"uint256",name:"binStep",type:"uint256"},{indexed:!1,internalType:"contract ILBPair",name:"LBPair",type:"address"},{indexed:!1,internalType:"uint256",name:"pid",type:"uint256"}],name:"LBPairCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ILBPair",name:"LBPair",type:"address"},{indexed:!1,internalType:"bool",name:"ignored",type:"bool"}],name:"LBPairIgnoredStateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldLBPairImplementation",type:"address"},{indexed:!1,internalType:"address",name:"LBPairImplementation",type:"address"}],name:"LBPairImplementationSet",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:"pendingOwner",type:"address"}],name:"PendingOwnerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"binStep",type:"uint256"},{indexed:!0,internalType:"bool",name:"isOpen",type:"bool"}],name:"PresetOpenStateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"binStep",type:"uint256"}],name:"PresetRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"binStep",type:"uint256"},{indexed:!1,internalType:"uint256",name:"baseFactor",type:"uint256"},{indexed:!1,internalType:"uint256",name:"filterPeriod",type:"uint256"},{indexed:!1,internalType:"uint256",name:"decayPeriod",type:"uint256"},{indexed:!1,internalType:"uint256",name:"reductionFactor",type:"uint256"},{indexed:!1,internalType:"uint256",name:"variableFeeControl",type:"uint256"},{indexed:!1,internalType:"uint256",name:"protocolShare",type:"uint256"},{indexed:!1,internalType:"uint256",name:"maxVolatilityAccumulator",type:"uint256"}],name:"PresetSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IERC20",name:"quoteAsset",type:"address"}],name:"QuoteAssetAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IERC20",name:"quoteAsset",type:"address"}],name:"QuoteAssetRemoved",type:"event"},{inputs:[{internalType:"contract IERC20",name:"quoteAsset",type:"address"}],name:"addQuoteAsset",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"becomeOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint24",name:"activeId",type:"uint24"},{internalType:"uint16",name:"binStep",type:"uint16"}],name:"createLBPair",outputs:[{internalType:"contract ILBPair",name:"pair",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ILBPair",name:"pair",type:"address"}],name:"forceDecay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAllBinSteps",outputs:[{internalType:"uint256[]",name:"binStepWithPreset",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"}],name:"getAllLBPairs",outputs:[{components:[{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"contract ILBPair",name:"LBPair",type:"address"},{internalType:"bool",name:"createdByOwner",type:"bool"},{internalType:"bool",name:"ignoredForRouting",type:"bool"}],internalType:"struct ILBFactory.LBPairInformation[]",name:"lbPairsAvailable",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFeeRecipient",outputs:[{internalType:"address",name:"feeRecipient",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFlashLoanFee",outputs:[{internalType:"uint256",name:"flashLoanFee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"getLBPairAtIndex",outputs:[{internalType:"contract ILBPair",name:"lbPair",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLBPairImplementation",outputs:[{internalType:"address",name:"lbPairImplementation",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenA",type:"address"},{internalType:"contract IERC20",name:"tokenB",type:"address"},{internalType:"uint256",name:"binStep",type:"uint256"}],name:"getLBPairInformation",outputs:[{components:[{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"contract ILBPair",name:"LBPair",type:"address"},{internalType:"bool",name:"createdByOwner",type:"bool"},{internalType:"bool",name:"ignoredForRouting",type:"bool"}],internalType:"struct ILBFactory.LBPairInformation",name:"lbPairInformation",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMaxFlashLoanFee",outputs:[{internalType:"uint256",name:"maxFee",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getMinBinStep",outputs:[{internalType:"uint256",name:"minBinStep",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getNumberOfLBPairs",outputs:[{internalType:"uint256",name:"lbPairNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getNumberOfQuoteAssets",outputs:[{internalType:"uint256",name:"numberOfQuoteAssets",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getOpenBinSteps",outputs:[{internalType:"uint256[]",name:"openBinStep",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"binStep",type:"uint256"}],name:"getPreset",outputs:[{internalType:"uint256",name:"baseFactor",type:"uint256"},{internalType:"uint256",name:"filterPeriod",type:"uint256"},{internalType:"uint256",name:"decayPeriod",type:"uint256"},{internalType:"uint256",name:"reductionFactor",type:"uint256"},{internalType:"uint256",name:"variableFeeControl",type:"uint256"},{internalType:"uint256",name:"protocolShare",type:"uint256"},{internalType:"uint256",name:"maxVolatilityAccumulator",type:"uint256"},{internalType:"bool",name:"isOpen",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"getQuoteAssetAtIndex",outputs:[{internalType:"contract IERC20",name:"asset",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"}],name:"isQuoteAsset",outputs:[{internalType:"bool",name:"isQuote",type:"bool"}],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:[{internalType:"uint16",name:"binStep",type:"uint16"}],name:"removePreset",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"quoteAsset",type:"address"}],name:"removeQuoteAsset",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"revokePendingOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"feeRecipient",type:"address"}],name:"setFeeRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"uint16",name:"baseFactor",type:"uint16"},{internalType:"uint16",name:"filterPeriod",type:"uint16"},{internalType:"uint16",name:"decayPeriod",type:"uint16"},{internalType:"uint16",name:"reductionFactor",type:"uint16"},{internalType:"uint24",name:"variableFeeControl",type:"uint24"},{internalType:"uint16",name:"protocolShare",type:"uint16"},{internalType:"uint24",name:"maxVolatilityAccumulator",type:"uint24"}],name:"setFeesParametersOnPair",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"flashLoanFee",type:"uint256"}],name:"setFlashLoanFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"},{internalType:"contract IERC20",name:"tokenY",type:"address"},{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"bool",name:"ignored",type:"bool"}],name:"setLBPairIgnored",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newLBPairImplementation",type:"address"}],name:"setLBPairImplementation",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pendingOwner_",type:"address"}],name:"setPendingOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"uint16",name:"baseFactor",type:"uint16"},{internalType:"uint16",name:"filterPeriod",type:"uint16"},{internalType:"uint16",name:"decayPeriod",type:"uint16"},{internalType:"uint16",name:"reductionFactor",type:"uint16"},{internalType:"uint24",name:"variableFeeControl",type:"uint24"},{internalType:"uint16",name:"protocolShare",type:"uint16"},{internalType:"uint24",name:"maxVolatilityAccumulator",type:"uint24"},{internalType:"bool",name:"isOpen",type:"bool"}],name:"setPreset",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"binStep",type:"uint16"},{internalType:"bool",name:"isOpen",type:"bool"}],name:"setPresetOpenState",outputs:[],stateMutability:"nonpayable",type:"function"}],PAIR:[{inputs:[{internalType:"contract ILBFactory",name:"factory_",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AddressHelper__CallFailed",type:"error"},{inputs:[],name:"AddressHelper__NonContract",type:"error"},{inputs:[{internalType:"uint24",name:"id",type:"uint24"}],name:"BinHelper__CompositionFactorFlawed",type:"error"},{inputs:[],name:"BinHelper__LiquidityOverflow",type:"error"},{inputs:[],name:"FeeHelper__FeeTooLarge",type:"error"},{inputs:[],name:"LBPair__AddressZero",type:"error"},{inputs:[],name:"LBPair__AlreadyInitialized",type:"error"},{inputs:[],name:"LBPair__EmptyMarketConfigs",type:"error"},{inputs:[],name:"LBPair__FlashLoanCallbackFailed",type:"error"},{inputs:[],name:"LBPair__FlashLoanInsufficientAmount",type:"error"},{inputs:[],name:"LBPair__InsufficientAmountIn",type:"error"},{inputs:[],name:"LBPair__InsufficientAmountOut",type:"error"},{inputs:[],name:"LBPair__InvalidInput",type:"error"},{inputs:[],name:"LBPair__InvalidStaticFeeParameters",type:"error"},{inputs:[],name:"LBPair__MaxTotalFeeExceeded",type:"error"},{inputs:[],name:"LBPair__OnlyFactory",type:"error"},{inputs:[],name:"LBPair__OnlyProtocolFeeRecipient",type:"error"},{inputs:[],name:"LBPair__OutOfLiquidity",type:"error"},{inputs:[],name:"LBPair__TokenNotSupported",type:"error"},{inputs:[{internalType:"uint24",name:"id",type:"uint24"}],name:"LBPair__ZeroAmount",type:"error"},{inputs:[{internalType:"uint24",name:"id",type:"uint24"}],name:"LBPair__ZeroAmountsOut",type:"error"},{inputs:[],name:"LBPair__ZeroBorrowAmount",type:"error"},{inputs:[{internalType:"uint24",name:"id",type:"uint24"}],name:"LBPair__ZeroShares",type:"error"},{inputs:[],name:"LBToken__AddressThisOrZero",type:"error"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"id",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"LBToken__BurnExceedsBalance",type:"error"},{inputs:[],name:"LBToken__InvalidLength",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"LBToken__SelfApproval",type:"error"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"LBToken__SpenderNotApproved",type:"error"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"id",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"LBToken__TransferExceedsBalance",type:"error"},{inputs:[],name:"LiquidityConfigurations__InvalidConfig",type:"error"},{inputs:[],name:"OracleHelper__InvalidOracleId",type:"error"},{inputs:[],name:"OracleHelper__LookUpTimestampTooOld",type:"error"},{inputs:[],name:"OracleHelper__NewLengthTooSmall",type:"error"},{inputs:[],name:"PackedUint128Math__AddOverflow",type:"error"},{inputs:[],name:"PackedUint128Math__MultiplierTooLarge",type:"error"},{inputs:[],name:"PackedUint128Math__SubUnderflow",type:"error"},{inputs:[],name:"PairParametersHelper__InvalidParameter",type:"error"},{inputs:[],name:"ReentrancyGuard__ReentrantCall",type:"error"},{inputs:[],name:"SafeCast__Exceeds128Bits",type:"error"},{inputs:[],name:"SafeCast__Exceeds24Bits",type:"error"},{inputs:[],name:"SafeCast__Exceeds40Bits",type:"error"},{inputs:[],name:"TokenHelper__TransferFailed",type:"error"},{inputs:[],name:"Uint128x128Math__LogUnderflow",type:"error"},{inputs:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"int256",name:"y",type:"int256"}],name:"Uint128x128Math__PowUnderflow",type:"error"},{inputs:[],name:"Uint256x256Math__MulDivOverflow",type:"error"},{inputs:[],name:"Uint256x256Math__MulShiftOverflow",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"feeRecipient",type:"address"},{indexed:!1,internalType:"bytes32",name:"protocolFees",type:"bytes32"}],name:"CollectedProtocolFees",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint24",name:"id",type:"uint24"},{indexed:!1,internalType:"bytes32",name:"totalFees",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"protocolFees",type:"bytes32"}],name:"CompositionFees",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256[]",name:"ids",type:"uint256[]"},{indexed:!1,internalType:"bytes32[]",name:"amounts",type:"bytes32[]"}],name:"DepositedToBins",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"contract ILBFlashLoanCallback",name:"receiver",type:"address"},{indexed:!1,internalType:"uint24",name:"activeId",type:"uint24"},{indexed:!1,internalType:"bytes32",name:"amounts",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"totalFees",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"protocolFees",type:"bytes32"}],name:"FlashLoan",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint24",name:"idReference",type:"uint24"},{indexed:!1,internalType:"uint24",name:"volatilityReference",type:"uint24"}],name:"ForcedDecay",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint16",name:"oracleLength",type:"uint16"}],name:"OracleLengthIncreased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint16",name:"baseFactor",type:"uint16"},{indexed:!1,internalType:"uint16",name:"filterPeriod",type:"uint16"},{indexed:!1,internalType:"uint16",name:"decayPeriod",type:"uint16"},{indexed:!1,internalType:"uint16",name:"reductionFactor",type:"uint16"},{indexed:!1,internalType:"uint24",name:"variableFeeControl",type:"uint24"},{indexed:!1,internalType:"uint16",name:"protocolShare",type:"uint16"},{indexed:!1,internalType:"uint24",name:"maxVolatilityAccumulator",type:"uint24"}],name:"StaticFeeParametersSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint24",name:"id",type:"uint24"},{indexed:!1,internalType:"bytes32",name:"amountsIn",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"amountsOut",type:"bytes32"},{indexed:!1,internalType:"uint24",name:"volatilityAccumulator",type:"uint24"},{indexed:!1,internalType:"bytes32",name:"totalFees",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"protocolFees",type:"bytes32"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256[]",name:"ids",type:"uint256[]"},{indexed:!1,internalType:"uint256[]",name:"amounts",type:"uint256[]"}],name:"TransferBatch",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256[]",name:"ids",type:"uint256[]"},{indexed:!1,internalType:"bytes32[]",name:"amounts",type:"bytes32[]"}],name:"WithdrawnFromBins",type:"event"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"approveForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"id",type:"uint256"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"accounts",type:"address[]"},{internalType:"uint256[]",name:"ids",type:"uint256[]"}],name:"balanceOfBatch",outputs:[{internalType:"uint256[]",name:"batchBalances",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],name:"batchTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amountsToBurn",type:"uint256[]"}],name:"burn",outputs:[{internalType:"bytes32[]",name:"amounts",type:"bytes32[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"collectProtocolFees",outputs:[{internalType:"bytes32",name:"collectedProtocolFees",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ILBFlashLoanCallback",name:"receiver",type:"address"},{internalType:"bytes32",name:"amounts",type:"bytes32"},{internalType:"bytes",name:"data",type:"bytes"}],name:"flashLoan",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"forceDecay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getActiveId",outputs:[{internalType:"uint24",name:"activeId",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint24",name:"id",type:"uint24"}],name:"getBin",outputs:[{internalType:"uint128",name:"binReserveX",type:"uint128"},{internalType:"uint128",name:"binReserveY",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBinStep",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getFactory",outputs:[{internalType:"contract ILBFactory",name:"factory",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"price",type:"uint256"}],name:"getIdFromPrice",outputs:[{internalType:"uint24",name:"id",type:"uint24"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bool",name:"swapForY",type:"bool"},{internalType:"uint24",name:"id",type:"uint24"}],name:"getNextNonEmptyBin",outputs:[{internalType:"uint24",name:"nextId",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[],name:"getOracleParameters",outputs:[{internalType:"uint8",name:"sampleLifetime",type:"uint8"},{internalType:"uint16",name:"size",type:"uint16"},{internalType:"uint16",name:"activeSize",type:"uint16"},{internalType:"uint40",name:"lastUpdated",type:"uint40"},{internalType:"uint40",name:"firstTimestamp",type:"uint40"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint40",name:"lookupTimestamp",type:"uint40"}],name:"getOracleSampleAt",outputs:[{internalType:"uint64",name:"cumulativeId",type:"uint64"},{internalType:"uint64",name:"cumulativeVolatility",type:"uint64"},{internalType:"uint64",name:"cumulativeBinCrossed",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint24",name:"id",type:"uint24"}],name:"getPriceFromId",outputs:[{internalType:"uint256",name:"price",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getProtocolFees",outputs:[{internalType:"uint128",name:"protocolFeeX",type:"uint128"},{internalType:"uint128",name:"protocolFeeY",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"getReserves",outputs:[{internalType:"uint128",name:"reserveX",type:"uint128"},{internalType:"uint128",name:"reserveY",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"getStaticFeeParameters",outputs:[{internalType:"uint16",name:"baseFactor",type:"uint16"},{internalType:"uint16",name:"filterPeriod",type:"uint16"},{internalType:"uint16",name:"decayPeriod",type:"uint16"},{internalType:"uint16",name:"reductionFactor",type:"uint16"},{internalType:"uint24",name:"variableFeeControl",type:"uint24"},{internalType:"uint16",name:"protocolShare",type:"uint16"},{internalType:"uint24",name:"maxVolatilityAccumulator",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint128",name:"amountOut",type:"uint128"},{internalType:"bool",name:"swapForY",type:"bool"}],name:"getSwapIn",outputs:[{internalType:"uint128",name:"amountIn",type:"uint128"},{internalType:"uint128",name:"amountOutLeft",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint128",name:"amountIn",type:"uint128"},{internalType:"bool",name:"swapForY",type:"bool"}],name:"getSwapOut",outputs:[{internalType:"uint128",name:"amountInLeft",type:"uint128"},{internalType:"uint128",name:"amountOut",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTokenX",outputs:[{internalType:"contract IERC20",name:"tokenX",type:"address"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getTokenY",outputs:[{internalType:"contract IERC20",name:"tokenY",type:"address"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getVariableFeeParameters",outputs:[{internalType:"uint24",name:"volatilityAccumulator",type:"uint24"},{internalType:"uint24",name:"volatilityReference",type:"uint24"},{internalType:"uint24",name:"idReference",type:"uint24"},{internalType:"uint40",name:"timeOfLastUpdate",type:"uint40"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"newLength",type:"uint16"}],name:"increaseOracleLength",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"baseFactor",type:"uint16"},{internalType:"uint16",name:"filterPeriod",type:"uint16"},{internalType:"uint16",name:"decayPeriod",type:"uint16"},{internalType:"uint16",name:"reductionFactor",type:"uint16"},{internalType:"uint24",name:"variableFeeControl",type:"uint24"},{internalType:"uint16",name:"protocolShare",type:"uint16"},{internalType:"uint24",name:"maxVolatilityAccumulator",type:"uint24"},{internalType:"uint24",name:"activeId",type:"uint24"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bytes32[]",name:"liquidityConfigs",type:"bytes32[]"},{internalType:"address",name:"refundTo",type:"address"}],name:"mint",outputs:[{internalType:"bytes32",name:"amountsReceived",type:"bytes32"},{internalType:"bytes32",name:"amountsLeft",type:"bytes32"},{internalType:"uint256[]",name:"liquidityMinted",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"baseFactor",type:"uint16"},{internalType:"uint16",name:"filterPeriod",type:"uint16"},{internalType:"uint16",name:"decayPeriod",type:"uint16"},{internalType:"uint16",name:"reductionFactor",type:"uint16"},{internalType:"uint24",name:"variableFeeControl",type:"uint24"},{internalType:"uint16",name:"protocolShare",type:"uint16"},{internalType:"uint24",name:"maxVolatilityAccumulator",type:"uint24"}],name:"setStaticFeeParameters",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"swapForY",type:"bool"},{internalType:"address",name:"to",type:"address"}],name:"swap",outputs:[{internalType:"bytes32",name:"amountsOut",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"id",type:"uint256"}],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],QUOTER:[{inputs:[{internalType:"address",name:"factoryV1",type:"address"},{internalType:"address",name:"legacyFactoryV2",type:"address"},{internalType:"address",name:"factoryV2",type:"address"},{internalType:"address",name:"legacyRouterV2",type:"address"},{internalType:"address",name:"routerV2",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"JoeLibrary__AddressZero",type:"error"},{inputs:[],name:"JoeLibrary__IdenticalAddresses",type:"error"},{inputs:[],name:"JoeLibrary__InsufficientAmount",type:"error"},{inputs:[],name:"JoeLibrary__InsufficientLiquidity",type:"error"},{inputs:[],name:"LBQuoter_InvalidLength",type:"error"},{inputs:[],name:"SafeCast__Exceeds128Bits",type:"error"},{inputs:[],name:"SafeCast__Exceeds24Bits",type:"error"},{inputs:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"int256",name:"y",type:"int256"}],name:"Uint128x128Math__PowUnderflow",type:"error"},{inputs:[],name:"Uint256x256Math__MulDivOverflow",type:"error"},{inputs:[],name:"Uint256x256Math__MulShiftOverflow",type:"error"},{inputs:[{internalType:"address[]",name:"route",type:"address[]"},{internalType:"uint128",name:"amountIn",type:"uint128"}],name:"findBestPathFromAmountIn",outputs:[{components:[{internalType:"address[]",name:"route",type:"address[]"},{internalType:"address[]",name:"pairs",type:"address[]"},{internalType:"uint256[]",name:"binSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"uint128[]",name:"amounts",type:"uint128[]"},{internalType:"uint128[]",name:"virtualAmountsWithoutSlippage",type:"uint128[]"},{internalType:"uint128[]",name:"fees",type:"uint128[]"}],internalType:"struct LBQuoter.Quote",name:"quote",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"route",type:"address[]"},{internalType:"uint128",name:"amountOut",type:"uint128"}],name:"findBestPathFromAmountOut",outputs:[{components:[{internalType:"address[]",name:"route",type:"address[]"},{internalType:"address[]",name:"pairs",type:"address[]"},{internalType:"uint256[]",name:"binSteps",type:"uint256[]"},{internalType:"enum ILBRouter.Version[]",name:"versions",type:"uint8[]"},{internalType:"uint128[]",name:"amounts",type:"uint128[]"},{internalType:"uint128[]",name:"virtualAmountsWithoutSlippage",type:"uint128[]"},{internalType:"uint128[]",name:"fees",type:"uint128[]"}],internalType:"struct LBQuoter.Quote",name:"quote",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFactoryV1",outputs:[{internalType:"address",name:"factoryV1",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFactoryV2",outputs:[{internalType:"address",name:"factoryV2",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLegacyFactoryV2",outputs:[{internalType:"address",name:"legacyFactoryV2",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLegacyRouterV2",outputs:[{internalType:"address",name:"legacyRouterV2",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getRouterV2",outputs:[{internalType:"address",name:"routerV2",type:"address"}],stateMutability:"view",type:"function"}]};const aO={name:"trader_joe_v2_1",label:"Trader Joe v2.1",logo:"data:image/png;base64,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",protocol:"trader_joe_v2_1",slippage:!0,blockchains:["avalanche"],avalanche:{router:{address:"0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30",api:oO.ROUTER},factory:{address:"0x8e42f2F4101563bF679975178e880FD87d3eFd4e",api:oO.FACTORY},pair:{api:oO.PAIR},quoter:{address:"0x64b57F4249aA99a812212cee7DAEFEDC40B203cD",api:oO.QUOTER}}};var sO=e=>new OD(Object.assign(aO,{scope:e,findPath:e=>oO.findPath({...e,exchange:aO}),pathExists:e=>oO.pathExists({...e,exchange:aO}),getAmounts:e=>oO.getAmounts({...e,exchange:aO}),getPrep:e=>oO.getPrep({...e,exchange:aO}),getTransaction:e=>oO.getTransaction({...e,exchange:aO})}));const uO={name:"uniswap_v2",label:"Uniswap v2",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQxIiBoZWlnaHQ9IjY0MCIgdmlld0JveD0iMCAwIDY0MSA2NDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0yMjQuNTM0IDEyMy4yMjZDMjE4LjY5MiAxMjIuMzIgMjE4LjQ0NSAxMjIuMjEzIDIyMS4xOTUgMTIxLjc5MUMyMjYuNDY0IDEyMC45OCAyMzguOTA1IDEyMi4wODUgMjQ3LjQ3OSAxMjQuMTIzQzI2Ny40OTQgMTI4Ljg4MSAyODUuNzA3IDE0MS4wNjkgMzA1LjE0OCAxNjIuNzE0TDMxMC4zMTMgMTY4LjQ2NUwzMTcuNzAxIDE2Ny4yNzdDMzQ4LjgyOCAxNjIuMjc1IDM4MC40OTMgMTY2LjI1IDQwNi45NzggMTc4LjQ4NUM0MTQuMjY0IDE4MS44NTEgNDI1Ljc1MiAxODguNTUyIDQyNy4xODcgMTkwLjI3NEM0MjcuNjQ1IDE5MC44MjIgNDI4LjQ4NSAxOTQuMzU1IDQyOS4wNTMgMTk4LjEyNEM0MzEuMDIgMjExLjE2NCA0MzAuMDM2IDIyMS4xNiA0MjYuMDQ3IDIyOC42MjVDNDIzLjg3NyAyMzIuNjg4IDQyMy43NTYgMjMzLjk3NSA0MjUuMjE1IDIzNy40NTJDNDI2LjM4IDI0MC4yMjcgNDI5LjYyNyAyNDIuMjggNDMyLjg0MyAyNDIuMjc2QzQzOS40MjUgMjQyLjI2NyA0NDYuNTA5IDIzMS42MjcgNDQ5Ljc5MSAyMTYuODIzTDQ1MS4wOTUgMjEwLjk0M0w0NTMuNjc4IDIxMy44NjhDNDY3Ljg0NiAyMjkuOTIgNDc4Ljk3NCAyNTEuODExIDQ4MC44ODUgMjY3LjM5M0w0ODEuMzgzIDI3MS40NTVMNDc5LjAwMiAyNjcuNzYyQzQ3NC45MDMgMjYxLjQwNyA0NzAuNzg1IDI1Ny4wOCA0NjUuNTEyIDI1My41OTFDNDU2LjAwNiAyNDcuMzAxIDQ0NS45NTUgMjQ1LjE2MSA0MTkuMzM3IDI0My43NThDMzk1LjI5NiAyNDIuNDkxIDM4MS42OSAyNDAuNDM4IDM2OC4xOTggMjM2LjAzOEMzNDUuMjQ0IDIyOC41NTQgMzMzLjY3MiAyMTguNTg3IDMwNi40MDUgMTgyLjgxMkMyOTQuMjk0IDE2Ni45MjMgMjg2LjgwOCAxNTguMTMxIDI3OS4zNjIgMTUxLjA1MUMyNjIuNDQyIDEzNC45NjQgMjQ1LjgxNiAxMjYuNTI3IDIyNC41MzQgMTIzLjIyNloiIGZpbGw9IiNGRjAwN0EiLz4KPHBhdGggZD0iTTQzMi42MSAxNTguNzA0QzQzMy4yMTUgMTQ4LjA1NyA0MzQuNjU5IDE0MS4wMzMgNDM3LjU2MiAxMzQuNjJDNDM4LjcxMSAxMzIuMDgxIDQzOS43ODggMTMwLjAwMyA0MzkuOTU0IDEzMC4wMDNDNDQwLjEyIDEzMC4wMDMgNDM5LjYyMSAxMzEuODc3IDQzOC44NDQgMTM0LjE2N0M0MzYuNzMzIDE0MC4zOTIgNDM2LjM4NyAxNDguOTA1IDQzNy44NCAxNTguODExQzQzOS42ODYgMTcxLjM3OSA0NDAuNzM1IDE3My4xOTIgNDU0LjAxOSAxODYuNzY5QzQ2MC4yNSAxOTMuMTM3IDQ2Ny40OTcgMjAxLjE2OCA0NzAuMTI0IDIwNC42MTZMNDc0LjkwMSAyMTAuODg2TDQ3MC4xMjQgMjA2LjQwNUM0NjQuMjgyIDIwMC45MjYgNDUwLjg0NyAxOTAuMjQgNDQ3Ljg3OSAxODguNzEyQzQ0NS44OSAxODcuNjg4IDQ0NS41OTQgMTg3LjcwNSA0NDQuMzY2IDE4OC45MjdDNDQzLjIzNSAxOTAuMDUzIDQ0Mi45OTcgMTkxLjc0NCA0NDIuODQgMTk5Ljc0MUM0NDIuNTk2IDIxMi4yMDQgNDQwLjg5NyAyMjAuMjA0IDQzNi43OTcgMjI4LjIwM0M0MzQuNTggMjMyLjUyOSA0MzQuMjMgMjMxLjYwNiA0MzYuMjM3IDIyNi43MjNDNDM3LjczNSAyMjMuMDc3IDQzNy44ODcgMjIxLjQ3NCA0MzcuODc2IDIwOS40MDhDNDM3Ljg1MyAxODUuMTY3IDQzNC45NzUgMTc5LjMzOSA0MTguMDk3IDE2OS4zNTVDNDEzLjgyMSAxNjYuODI2IDQwNi43NzYgMTYzLjE3OCA0MDIuNDQyIDE2MS4yNDlDMzk4LjEwNyAxNTkuMzIgMzk0LjY2NCAxNTcuNjM5IDM5NC43ODkgMTU3LjUxNEMzOTUuMjY3IDE1Ny4wMzggNDExLjcyNyAxNjEuODQyIDQxOC4zNTIgMTY0LjM5QzQyOC4yMDYgMTY4LjE4MSA0MjkuODMzIDE2OC42NzIgNDMxLjAzIDE2OC4yMTVDNDMxLjgzMiAxNjcuOTA5IDQzMi4yMiAxNjUuNTcyIDQzMi42MSAxNTguNzA0WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNMjM1Ljg4MyAyMDAuMTc1QzIyNC4wMjIgMTgzLjg0NiAyMTYuNjg0IDE1OC44MDkgMjE4LjI3MiAxNDAuMDkzTDIxOC43NjQgMTM0LjMwMUwyMjEuNDYzIDEzNC43OTRDMjI2LjUzNCAxMzUuNzE5IDIzNS4yNzUgMTM4Ljk3MyAyMzkuMzY5IDE0MS40NTlDMjUwLjYwMiAxNDguMjgxIDI1NS40NjUgMTU3LjI2MyAyNjAuNDEzIDE4MC4zMjhDMjYxLjg2MiAxODcuMDgzIDI2My43NjMgMTk0LjcyOCAyNjQuNjM4IDE5Ny4zMTdDMjY2LjA0NyAyMDEuNDgzIDI3MS4zNjkgMjExLjIxNCAyNzUuNjk2IDIxNy41MzRDMjc4LjgxMyAyMjIuMDg1IDI3Ni43NDMgMjI0LjI0MiAyNjkuODUzIDIyMy42MkMyNTkuMzMxIDIyMi42NyAyNDUuMDc4IDIxMi44MzQgMjM1Ljg4MyAyMDAuMTc1WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNNDE4LjIyMyAzMjEuNzA3QzM2Mi43OTMgMjk5LjM4OSAzNDMuMjcxIDI4MC4wMTcgMzQzLjI3MSAyNDcuMzMxQzM0My4yNzEgMjQyLjUyMSAzNDMuNDM3IDIzOC41ODUgMzQzLjYzOCAyMzguNTg1QzM0My44NCAyMzguNTg1IDM0NS45ODUgMjQwLjE3MyAzNDguNDA0IDI0Mi4xMTNDMzU5LjY0NCAyNTEuMTI4IDM3Mi4yMzEgMjU0Ljk3OSA0MDcuMDc2IDI2MC4wNjJDNDI3LjU4IDI2My4wNTQgNDM5LjExOSAyNjUuNDcgNDQ5Ljc2MyAyNjlDNDgzLjU5NSAyODAuMjIgNTA0LjUyNyAzMDIuOTkgNTA5LjUxOCAzMzQuMDA0QzUxMC45NjkgMzQzLjAxNiA1MTAuMTE4IDM1OS45MTUgNTA3Ljc2NiAzNjguODIyQzUwNS45MSAzNzUuODU3IDUwMC4yNDUgMzg4LjUzNyA0OTguNzQyIDM4OS4wMjNDNDk4LjMyNSAzODkuMTU4IDQ5Ny45MTcgMzg3LjU2MiA0OTcuODEgMzg1LjM4OUM0OTcuMjQgMzczLjc0NCA0OTEuMzU1IDM2Mi40MDYgNDgxLjQ3MiAzNTMuOTEzQzQ3MC4yMzUgMzQ0LjI1NyA0NTUuMTM3IDMzNi41NjkgNDE4LjIyMyAzMjEuNzA3WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNMzc5LjMxIDMzMC45NzhDMzc4LjYxNSAzMjYuODQ2IDM3Ny40MTEgMzIxLjU2OCAzNzYuNjMzIDMxOS4yNUwzNzUuMjE5IDMxNS4wMzZMMzc3Ljg0NiAzMTcuOTg1QzM4MS40ODEgMzIyLjA2NSAzODQuMzU0IDMyNy4yODcgMzg2Ljc4OSAzMzQuMjQxQzM4OC42NDcgMzM5LjU0OSAzODguODU2IDM0MS4xMjcgMzg4Ljg0MiAzNDkuNzUzQzM4OC44MjggMzU4LjIyMSAzODguNTk2IDM1OS45OTYgMzg2Ljg4IDM2NC43NzNDMzg0LjE3NCAzNzIuMzA3IDM4MC44MTYgMzc3LjY0OSAzNzUuMTgxIDM4My4zODNDMzY1LjA1NiAzOTMuNjg4IDM1Mi4wMzggMzk5LjM5MyAzMzMuMjUzIDQwMS43NkMzMjkuOTg3IDQwMi4xNzEgMzIwLjQ3IDQwMi44NjQgMzEyLjEwMyA0MDMuMjk5QzI5MS4wMTYgNDA0LjM5NSAyNzcuMTM4IDQwNi42NjEgMjY0LjY2OCA0MTEuMDRDMjYyLjg3NSA0MTEuNjcgMjYxLjI3NCA0MTIuMDUyIDI2MS4xMTIgNDExLjg5QzI2MC42MDcgNDExLjM4OCAyNjkuMDk4IDQwNi4zMjYgMjc2LjExMSA0MDIuOTQ4QzI4NS45OTkgMzk4LjE4NSAyOTUuODQyIDM5NS41ODYgMzE3Ljg5NyAzOTEuOTEzQzMyOC43OTIgMzkwLjA5OCAzNDAuMDQzIDM4Ny44OTcgMzQyLjkgMzg3LjAyMUMzNjkuODggMzc4Ljc0OSAzODMuNzQ4IDM1Ny40MDIgMzc5LjMxIDMzMC45NzhaIiBmaWxsPSIjRkYwMDdBIi8+CjxwYXRoIGQ9Ik00MDQuNzE5IDM3Ni4xMDVDMzk3LjM1NSAzNjAuMjczIDM5NS42NjQgMzQ0Ljk4OCAzOTkuNjk4IDMzMC43MzJDNDAwLjEzIDMyOS4yMDkgNDAwLjgyNCAzMjcuOTYyIDQwMS4yNDIgMzI3Ljk2MkM0MDEuNjU5IDMyNy45NjIgNDAzLjM5NyAzMjguOTAyIDQwNS4xMDMgMzMwLjA1QzQwOC40OTcgMzMyLjMzNSA0MTUuMzAzIDMzNi4xODIgNDMzLjQzNyAzNDYuMDY5QzQ1Ni4wNjUgMzU4LjQwNiA0NjguOTY2IDM2Ny45NTkgNDc3Ljc0IDM3OC44NzNDNDg1LjQyMyAzODguNDMyIDQ5MC4xNzggMzk5LjMxOCA0OTIuNDY3IDQxMi41OTNDNDkzLjc2MiA0MjAuMTEzIDQ5My4wMDMgNDM4LjIwNiA0OTEuMDc0IDQ0NS43NzhDNDg0Ljk5IDQ2OS42NTMgNDcwLjg1IDQ4OC40MDYgNDUwLjY4MiA0OTkuMzQ5QzQ0Ny43MjcgNTAwLjk1MiA0NDUuMDc1IDUwMi4yNjkgNDQ0Ljc4OCA1MDIuMjc1QzQ0NC41MDEgNTAyLjI4IDQ0NS41NzcgNDk5LjU0MyA0NDcuMTggNDk2LjE5MUM0NTMuOTY1IDQ4Mi4wMDkgNDU0LjczNyA0NjguMjE0IDQ0OS42MDggNDUyLjg1OUM0NDYuNDY3IDQ0My40NTcgNDQwLjA2NCA0MzEuOTg1IDQyNy4xMzUgNDEyLjU5NkM0MTIuMTAzIDM5MC4wNTQgNDA4LjQxNyAzODQuMDU0IDQwNC43MTkgMzc2LjEwNVoiIGZpbGw9IiNGRjAwN0EiLz4KPHBhdGggZD0iTTE5Ni41MTkgNDYxLjUyNUMyMTcuMDg5IDQ0NC4xNTcgMjQyLjY4MiA0MzEuODE5IDI2NS45OTYgNDI4LjAzMkMyNzYuMDQzIDQyNi4zOTkgMjkyLjc4IDQyNy4wNDcgMzAyLjA4NCA0MjkuNDI4QzMxNi45OTggNDMzLjI0NSAzMzAuMzM4IDQ0MS43OTMgMzM3LjI3NiA0NTEuOTc4QzM0NC4wNTcgNDYxLjkzMiAzNDYuOTY2IDQ3MC42MDYgMzQ5Ljk5NSA0ODkuOTA2QzM1MS4xODkgNDk3LjUxOSAzNTIuNDg5IDUwNS4xNjQgMzUyLjg4MiA1MDYuODk1QzM1NS4xNTYgNTE2Ljg5NyAzNTkuNTgzIDUyNC44OTIgMzY1LjA2NyA1MjguOTA3QzM3My43NzkgNTM1LjI4MyAzODguNzggNTM1LjY4IDQwMy41MzYgNTI5LjkyNEM0MDYuMDQxIDUyOC45NDcgNDA4LjIxNSA1MjguMjcxIDQwOC4zNjggNTI4LjQyNEM0MDguOTAzIDUyOC45NTUgNDAxLjQ3MyA1MzMuOTMgMzk2LjIzIDUzNi41NDhDMzg5LjE3NyA1NDAuMDcxIDM4My41NjggNTQxLjQzNCAzNzYuMTE1IDU0MS40MzRDMzYyLjYgNTQxLjQzNCAzNTEuMzc5IDUzNC41NTggMzQyLjAxNiA1MjAuNTM5QzM0MC4xNzQgNTE3Ljc4IDMzNi4wMzIgNTA5LjUxNiAzMzIuODEzIDUwMi4xNzZDMzIyLjkyOCA0NzkuNjI4IDMxOC4wNDYgNDcyLjc1OSAzMDYuNTY4IDQ2NS4yNDJDMjk2LjU3OSA0NTguNzAxIDI4My42OTcgNDU3LjUzIDI3NC4wMDYgNDYyLjI4MkMyNjEuMjc2IDQ2OC41MjMgMjU3LjcyNCA0ODQuNzkxIDI2Ni44NDIgNDk1LjEwMUMyNzAuNDY1IDQ5OS4xOTggMjc3LjIyMyA1MDIuNzMyIDI4Mi43NDkgNTAzLjQxOUMyOTMuMDg2IDUwNC43MDUgMzAxLjk3IDQ5Ni44NDEgMzAxLjk3IDQ4Ni40MDRDMzAxLjk3IDQ3OS42MjcgMjk5LjM2NSA0NzUuNzYgMjkyLjgwOCA0NzIuODAxQzI4My44NTIgNDY4Ljc2IDI3NC4yMjYgNDczLjQ4MyAyNzQuMjcyIDQ4MS44OTdDMjc0LjI5MiA0ODUuNDg0IDI3NS44NTQgNDg3LjczNyAyNzkuNDUgNDg5LjM2NEMyODEuNzU3IDQ5MC40MDggMjgxLjgxMSA0OTAuNDkxIDI3OS45MjkgNDkwLjFDMjcxLjcxMiA0ODguMzk2IDI2OS43ODcgNDc4LjQ5IDI3Ni4zOTQgNDcxLjkxM0MyODQuMzI2IDQ2NC4wMTggMzAwLjcyOSA0NjcuNTAyIDMwNi4zNjIgNDc4LjI3OUMzMDguNzI4IDQ4Mi44MDUgMzA5LjAwMyA0OTEuODIgMzA2Ljk0IDQ5Ny4yNjRDMzAyLjMyMiA1MDkuNDQ4IDI4OC44NTkgNTE1Ljg1NSAyNzUuMjAxIDUxMi4zNjhDMjY1LjkwMyA1MDkuOTk0IDI2Mi4xMTcgNTA3LjQyNCAyNTAuOTA2IDQ5NS44NzZDMjMxLjQyNSA0NzUuODA5IDIyMy44NjIgNDcxLjkyIDE5NS43NzcgNDY3LjUzNkwxOTAuMzk1IDQ2Ni42OTZMMTk2LjUxOSA0NjEuNTI1WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQ5LjYyMDIgMTIuMDAzMUMxMTQuNjc4IDkwLjk2MzggMjE0Ljk3NyAyMTMuOTAxIDIxOS45NTcgMjIwLjc4NEMyMjQuMDY4IDIyNi40NjcgMjIyLjUyMSAyMzEuNTc2IDIxNS40NzggMjM1LjU4QzIxMS41NjEgMjM3LjgwNyAyMDMuNTA4IDI0MC4wNjMgMTk5LjQ3NiAyNDAuMDYzQzE5NC45MTYgMjQwLjA2MyAxODkuNzc5IDIzNy44NjcgMTg2LjAzOCAyMzQuMzE4QzE4My4zOTMgMjMxLjgxIDE3Mi43MjEgMjE1Ljg3NCAxNDguMDg0IDE3Ny42NDZDMTI5LjIzMyAxNDguMzk2IDExMy40NTcgMTI0LjEzMSAxMTMuMDI3IDEyMy43MjVDMTEyLjAzMiAxMjIuNzg1IDExMi4wNDkgMTIyLjgxNyAxNDYuMTYyIDE4My44NTRDMTY3LjU4MiAyMjIuMTgxIDE3NC44MTMgMjM1LjczMSAxNzQuODEzIDIzNy41NDNDMTc0LjgxMyAyNDEuMjI5IDE3My44MDggMjQzLjE2NiAxNjkuMjYxIDI0OC4yMzhDMTYxLjY4MSAyNTYuNjk0IDE1OC4yOTMgMjY2LjE5NSAxNTUuODQ3IDI4NS44NTlDMTUzLjEwNCAzMDcuOTAyIDE0NS4zOTQgMzIzLjQ3MyAxMjQuMDI2IDM1MC4xMjJDMTExLjUxOCAzNjUuNzIyIDEwOS40NzEgMzY4LjU4MSAxMDYuMzE1IDM3NC44NjlDMTAyLjMzOSAzODIuNzg2IDEwMS4yNDYgMzg3LjIyMSAxMDAuODAzIDM5Ny4yMTlDMTAwLjMzNSA0MDcuNzkgMTAxLjI0NyA0MTQuNjE5IDEwNC40NzcgNDI0LjcyNkMxMDcuMzA0IDQzMy41NzUgMTEwLjI1NSA0MzkuNDE3IDExNy44IDQ1MS4xMDRDMTI0LjMxMSA0NjEuMTg4IDEyOC4wNjEgNDY4LjY4MyAxMjguMDYxIDQ3MS42MTRDMTI4LjA2MSA0NzMuOTQ3IDEyOC41MDYgNDczLjk1IDEzOC41OTYgNDcxLjY3MkMxNjIuNzQxIDQ2Ni4yMTkgMTgyLjM0OCA0NTYuNjI5IDE5My4zNzUgNDQ0Ljg3N0MyMDAuMTk5IDQzNy42MDMgMjAxLjgwMSA0MzMuNTg2IDIwMS44NTMgNDIzLjYxOEMyMDEuODg3IDQxNy4wOTggMjAxLjY1OCA0MTUuNzMzIDE5OS44OTYgNDExLjk4MkMxOTcuMDI3IDQwNS44NzcgMTkxLjgwNCA0MDAuODAxIDE4MC4yOTIgMzkyLjkzMkMxNjUuMjA5IDM4Mi42MjEgMTU4Ljc2NyAzNzQuMzIgMTU2Ljk4NyAzNjIuOTA0QzE1NS41MjcgMzUzLjUzNyAxNTcuMjIxIDM0Ni45MjggMTY1LjU2NSAzMjkuNDRDMTc0LjIwMiAzMTEuMzM4IDE3Ni4zNDIgMzAzLjYyNCAxNzcuNzkgMjg1LjM3OEMxNzguNzI1IDI3My41ODkgMTgwLjAyIDI2OC45NCAxODMuNDA3IDI2NS4yMDlDMTg2LjkzOSAyNjEuMzE3IDE5MC4xMTkgMjYwIDE5OC44NjEgMjU4LjgwNUMyMTMuMTEzIDI1Ni44NTggMjIyLjE4OCAyNTMuMTcxIDIyOS42NDggMjQ2LjI5N0MyMzYuMTE5IDI0MC4zMzQgMjM4LjgyNyAyMzQuNTg4IDIzOS4yNDMgMjI1LjkzOEwyMzkuNTU4IDIxOS4zODJMMjM1Ljk0MiAyMTUuMTY2QzIyMi44NDYgMTk5Ljg5NiA0MC44NSAwIDQwLjA0NCAwQzM5Ljg3MTkgMCA0NC4xODEzIDUuNDAxNzggNDkuNjIwMiAxMi4wMDMxWk0xMzUuNDEyIDQwOS4xOEMxMzguMzczIDQwMy45MzcgMTM2LjggMzk3LjE5NSAxMzEuODQ3IDM5My45MDJDMTI3LjE2NyAzOTAuNzkgMTE5Ljg5NyAzOTIuMjU2IDExOS44OTcgMzk2LjMxMUMxMTkuODk3IDM5Ny41NDggMTIwLjU4MiAzOTguNDQ5IDEyMi4xMjQgMzk5LjI0M0MxMjQuNzIgNDAwLjU3OSAxMjQuOTA5IDQwMi4wODEgMTIyLjg2NiA0MDUuMTUyQzEyMC43OTcgNDA4LjI2MiAxMjAuOTY0IDQxMC45OTYgMTIzLjMzNyA0MTIuODU0QzEyNy4xNjIgNDE1Ljg0OSAxMzIuNTc2IDQxNC4yMDIgMTM1LjQxMiA0MDkuMThaIiBmaWxsPSIjRkYwMDdBIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjQ4LjU1MiAyNjIuMjQ0QzI0MS44NjIgMjY0LjI5OSAyMzUuMzU4IDI3MS4zOSAyMzMuMzQ0IDI3OC44MjZDMjMyLjExNiAyODMuMzYyIDIzMi44MTMgMjkxLjMxOSAyMzQuNjUzIDI5My43NzZDMjM3LjYyNSAyOTcuNzQ1IDI0MC40OTkgMjk4Ljc5MSAyNDguMjgyIDI5OC43MzZDMjYzLjUxOCAyOTguNjMgMjc2Ljc2NCAyOTIuMDk1IDI3OC4zMDQgMjgzLjkyNUMyNzkuNTY3IDI3Ny4yMjkgMjczLjc0OSAyNjcuOTQ4IDI2NS43MzYgMjYzLjg3NEMyNjEuNjAxIDI2MS43NzIgMjUyLjgwNyAyNjAuOTM4IDI0OC41NTIgMjYyLjI0NFpNMjY2LjM2NCAyNzYuMTcyQzI2OC43MTQgMjcyLjgzNCAyNjcuNjg2IDI2OS4yMjUgMjYzLjY5IDI2Ni43ODVDMjU2LjA4IDI2Mi4xMzggMjQ0LjU3MSAyNjUuOTgzIDI0NC41NzEgMjczLjE3M0MyNDQuNTcxIDI3Ni43NTIgMjUwLjU3MiAyODAuNjU2IDI1Ni4wNzQgMjgwLjY1NkMyNTkuNzM1IDI4MC42NTYgMjY0Ljc0NiAyNzguNDczIDI2Ni4zNjQgMjc2LjE3MloiIGZpbGw9IiNGRjAwN0EiLz4KPC9zdmc+Cg==",protocol:"uniswap_v2",slippage:!0,blockchains:["ethereum"],ethereum:{router:{address:"0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",api:QD.ROUTER},factory:{address:"0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",api:QD.FACTORY},pair:{api:QD.PAIR}},base:{router:{address:"0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24",api:QD.ROUTER},factory:{address:"0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6",api:QD.FACTORY},pair:{api:QD.PAIR}}};var cO=e=>new OD(Object.assign(uO,{scope:e,findPath:e=>QD.findPath({...e,exchange:uO}),pathExists:e=>QD.pathExists({...e,exchange:uO}),getAmounts:e=>QD.getAmounts({...e,exchange:uO}),getPrep:e=>QD.getPrep({...e,exchange:uO}),getTransaction:e=>QD.getTransaction({...e,exchange:uO})}));function lO(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}const hO=({blockchain:e,exchange:t,path:n})=>{if(!n)return;let r=n.map(((t,r)=>t===Vf[e].currency.address&&n[r+1]!=Vf[e].wrapped.address&&n[r-1]!=Vf[e].wrapped.address?Vf[e].wrapped.address:t));return r[0]==Vf[e].currency.address&&r[1]==Vf[e].wrapped.address?r.splice(0,1):r[r.length-1]==Vf[e].currency.address&&r[r.length-2]==Vf[e].wrapped.address&&r.splice(r.length-1,1),r},dO=async({exchange:e,pool:t,outputAmount:n})=>(await _I({blockchain:t.blockchain,address:e[t.blockchain].quoter.address,api:e[t.blockchain].quoter.api,method:"quoteExactOutput",params:{path:iI(["address","uint24","address"],[t.path[1],t.fee,t.path[0]]),amountOut:n},cache:5})).amountIn,fO=async({exchange:e,pool:t,inputAmount:n})=>(await _I({blockchain:t.blockchain,address:e[t.blockchain].quoter.address,api:e[t.blockchain].quoter.api,method:"quoteExactInput",params:{path:iI(["address","uint24","address"],[t.path[0],t.fee,t.path[1]]),amountIn:n},cache:5})).amountOut,pO=async({blockchain:e,exchange:t,path:n,amountIn:r,amountOut:i,block:o})=>{if((n=hO({blockchain:e,exchange:t,path:n})).length>2)throw"Uniswap V3 can only check paths for up to 2 tokens!";try{let o=(await Promise.all(t.fees.map((r=>_I({blockchain:Vf[e].name,address:t[e].factory.address,method:"getPool",api:t[e].factory.api,cache:3600,params:[n[0],n[1],r]}).then((t=>({blockchain:e,address:t,path:n,fee:r,token0:[...n].sort()[0],token1:[...n].sort()[1]}))).catch((()=>{})))))).filter(Boolean);return o=o.filter((t=>t.address!=Vf[e].zero)),o=(await Promise.all(o.map((async e=>{try{let n;if(r){n=await fO({exchange:t,pool:e,inputAmount:r});const i=await fO({exchange:t,pool:e,inputAmount:Yp.from(r).mul(Yp.from(10)).toString()}),o=i.div(Yp.from(10)).sub(n).abs();if(!!o.gt(n.div(Yp.from(100)).mul(Yp.from(5))))return}else{n=await dO({exchange:t,pool:e,outputAmount:i});const r=await dO({exchange:t,pool:e,outputAmount:Yp.from(i).mul(Yp.from(10)).toString()}),o=r.div(Yp.from(10)).sub(n).abs();if(!!o.gt(n.div(Yp.from(100)).mul(Yp.from(5))))return}return{...e,amountIn:r||n,amountOut:i||n}}catch(e){}})))).filter(Boolean),r?o.sort(((e,t)=>t.amountOut.gt(e.amountOut)?1:-1))[0]:o.sort(((e,t)=>t.amountIn.lt(e.amountIn)?1:-1))[0]}catch(e){return}};let yO=({blockchain:e,exchange:t,path:n,pools:r,amountIn:i})=>r[r.length-1].amountOut,mO=async({blockchain:e,exchange:t,path:n,pools:r,amountOut:i,block:o})=>{if(void 0===o)return r[0].amountIn;{let n;2==r.length?n=iI(["address","uint24","address","uint24","address"],[r[1].path[1],r[1].fee,r[0].path[1],r[0].fee,r[0].path[0]]):1==r.length&&(n=iI(["address","uint24","address"],[r[0].path[1],r[0].fee,r[0].path[0]]));return(await _I({block:o,blockchain:e,address:t[e].quoter.address,api:t[e].quoter.api,method:"quoteExactOutput",params:{path:n,amountOut:i}})).amountIn}},gO=e=>{if(1==e.length)return iI(["address","uint24","address"],[e[0].path[0],e[0].fee,e[0].path[1]]);if(2==e.length)return iI(["address","uint24","address","uint24","address"],[e[0].path[0],e[0].fee,e[0].path[1],e[1].fee,e[1].path[1]]);throw"more than 2 pools not supported!"},vO=e=>{if(1==e.length)return iI(["address","uint24","address"],[e[0].path[1],e[0].fee,e[0].path[0]]);if(2==e.length)return iI(["address","uint24","address","uint24","address"],[e[1].path[1],e[1].fee,e[1].path[0],e[0].fee,e[0].path[0]]);throw"more than 2 pools not supported!"};var wO={findPath:async({blockchain:e,exchange:t,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s})=>{if([n,r].includes(Vf[e].currency.address)&&[n,r].includes(Vf[e].wrapped.address))return{path:void 0,exchangePath:void 0};let u,c=[];if(c=[await pO({exchange:t,blockchain:e,path:[n,r],amountIn:i||a,amountOut:o||s})],c.filter(Boolean).length&&(u=[n,r]),u||n==Vf[e].wrapped.address||r==Vf[e].wrapped.address||(c=[],o||s?(c.push(await pO({exchange:t,blockchain:e,path:[Vf[e].wrapped.address,r],amountOut:o||s})),c.filter(Boolean).length&&c.unshift(await pO({exchange:t,blockchain:e,path:[n,Vf[e].wrapped.address],amountOut:c[0].amountIn}))):(c.push(await pO({exchange:t,blockchain:e,path:[n,Vf[e].wrapped.address],amountIn:i||a})),c.filter(Boolean).length&&c.push(await pO({exchange:t,blockchain:e,path:[Vf[e].wrapped.address,r],amountIn:c[0].amountOut}))),2===c.filter(Boolean).length&&(u=[n,Vf[e].wrapped.address,r])),!u){c=[];let l=(await Promise.all(Vf[e].stables.usd.map((async u=>{let c=[];if(o||s?(c.push(await pO({exchange:t,blockchain:e,path:[u,r],amountOut:o||s})),c.filter(Boolean).length&&c.unshift(await pO({exchange:t,blockchain:e,path:[n,u],amountOut:c[0].amountIn}))):(c.push(await pO({exchange:t,blockchain:e,path:[n,u],amountIn:i||a})),c.filter(Boolean).length&&c.push(await pO({exchange:t,blockchain:e,path:[u,r],amountIn:c[0].amountOut}))),2===c.filter(Boolean).length)return[u,c]})))).filter(Boolean)[0];l&&(u=[n,l[0],r],c=l[1])}return lO([u,"optionalAccess",e=>e.length])&&u[0]==Vf[e].currency.address?u.splice(1,0,Vf[e].wrapped.address):lO([u,"optionalAccess",e=>e.length])&&u[u.length-1]==Vf[e].currency.address&&u.splice(u.length-1,0,Vf[e].wrapped.address),u||(c=[]),{path:u,pools:c,exchangePath:hO({blockchain:e,exchange:t,path:u})}},pathExists:async({blockchain:e,exchange:t,path:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a})=>{try{return!!await pO({blockchain:e,exchange:t,path:n,amountIn:r||o,amountOut:i||a})}catch(e){return!1}},getAmounts:async({blockchain:e,exchange:t,path:n,pools:r,block:i,tokenIn:o,tokenOut:a,amountOut:s,amountIn:u,amountInMax:c,amountOutMin:l})=>{if(s){if(null==(u=await mO({blockchain:e,exchange:t,block:i,path:n,pools:r,amountOut:s,tokenIn:o,tokenOut:a}))||c&&u.gt(c))return{};void 0===c&&(c=u)}else if(u){if(null==(s=await yO({blockchain:e,exchange:t,path:n,pools:r,amountIn:u,tokenIn:o,tokenOut:a}))||l&&s.lt(l))return{};void 0===l&&(l=s)}else if(l){if(null==(u=await mO({blockchain:e,exchange:t,block:i,path:n,pools:r,amountOut:l,tokenIn:o,tokenOut:a}))||c&&u.gt(c))return{};void 0===c&&(c=u)}else if(c){if(null==(s=await yO({blockchain:e,exchange:t,path:n,pools:r,amountIn:c,tokenIn:o,tokenOut:a}))||l&&s.lt(l))return{};void 0===l&&(l=s)}return{amountOut:s,amountIn:u,amountInMax:c,amountOutMin:l}},getPrep:async({exchange:e,blockchain:t,tokenIn:n,amountIn:r,account:i})=>{if(n===Vf[t].currency.address)return;const o=await _I({blockchain:t,address:n,method:"allowance",api:RS[t][20],params:[i,e[t].router.address]});if(o.gte(r))return;return{transaction:{blockchain:t,from:i,to:n,api:RS[t][20],method:"approve",params:[e[t].router.address,r.sub(o)]}}},getTransaction:async({blockchain:e,exchange:t,pools:n,path:r,amountIn:i,amountInMax:o,amountOut:a,amountOutMin:s,amountInInput:u,amountOutInput:c,amountInMaxInput:l,amountOutMinInput:h,account:d,inputTokenPushed:f})=>{let p="0";const y=new zM(t[e].router.address,t[e].router.api),m=!(!h&&!u),g=r[0]===Vf[e].currency.address,v=r[r.length-1]===Vf[e].currency.address,w=v?"0x0000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000001",b=g||v;let M=[];g&&(p=(i||o).toString(),m&&M.push(y.interface.encodeFunctionData("wrapETH",[i||o]))),m?M.push(y.interface.encodeFunctionData("exactInput",[{path:gO(n),amountIn:g?0:i||o,amountOutMinimum:s,recipient:w}])):M.push(y.interface.encodeFunctionData("exactOutput",[{path:vO(n),amountOut:a,amountInMaximum:o,recipient:w}])),v&&M.push(y.interface.encodeFunctionData("unwrapWETH9(uint256)",[a||s])),b&&M.push(y.interface.encodeFunctionData("refundETH"));return{blockchain:e,from:d,to:t[e].router.address,api:t[e].router.api,method:"multicall",params:{data:M},value:p}},ROUTER:[{inputs:[{internalType:"address",name:"_factoryV2",type:"address"},{internalType:"address",name:"factoryV3",type:"address"},{internalType:"address",name:"_positionManager",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveMax",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveMaxMinusOne",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveZeroThenMax",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"approveZeroThenMaxMinusOne",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"callPositionManager",outputs:[{internalType:"bytes",name:"result",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes[]",name:"paths",type:"bytes[]"},{internalType:"uint128[]",name:"amounts",type:"uint128[]"},{internalType:"uint24",name:"maximumTickDivergence",type:"uint24"},{internalType:"uint32",name:"secondsAgo",type:"uint32"}],name:"checkOracleSlippage",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint24",name:"maximumTickDivergence",type:"uint24"},{internalType:"uint32",name:"secondsAgo",type:"uint32"}],name:"checkOracleSlippage",outputs:[],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"}],internalType:"struct IV3SwapRouter.ExactInputParams",name:"params",type:"tuple"}],name:"exactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IV3SwapRouter.ExactInputSingleParams",name:"params",type:"tuple"}],name:"exactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"}],internalType:"struct IV3SwapRouter.ExactOutputParams",name:"params",type:"tuple"}],name:"exactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IV3SwapRouter.ExactOutputSingleParams",name:"params",type:"tuple"}],name:"exactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"factoryV2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"getApprovalType",outputs:[{internalType:"enum IApproveAndCall.ApprovalType",name:"",type:"uint8"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"}],internalType:"struct IApproveAndCall.IncreaseLiquidityParams",name:"params",type:"tuple"}],name:"increaseLiquidity",outputs:[{internalType:"bytes",name:"result",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint256",name:"amount0Min",type:"uint256"},{internalType:"uint256",name:"amount1Min",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],internalType:"struct IApproveAndCall.MintParams",name:"params",type:"tuple"}],name:"mint",outputs:[{internalType:"bytes",name:"result",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"previousBlockhash",type:"bytes32"},{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"positionManager",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"pull",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"refundETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowed",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowedIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"sweepTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"sweepTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"unwrapWETH9",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"}],name:"unwrapWETH9",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"unwrapWETH9WithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"unwrapWETH9WithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"}],name:"wrapETH",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],FACTORY:[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint24",name:"fee",type:"uint24"},{indexed:!0,internalType:"int24",name:"tickSpacing",type:"int24"}],name:"FeeAmountEnabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token0",type:"address"},{indexed:!0,internalType:"address",name:"token1",type:"address"},{indexed:!0,internalType:"uint24",name:"fee",type:"uint24"},{indexed:!1,internalType:"int24",name:"tickSpacing",type:"int24"},{indexed:!1,internalType:"address",name:"pool",type:"address"}],name:"PoolCreated",type:"event"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"}],name:"createPool",outputs:[{internalType:"address",name:"pool",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"int24",name:"tickSpacing",type:"int24"}],name:"enableFeeAmount",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint24",name:"",type:"uint24"}],name:"feeAmountTickSpacing",outputs:[{internalType:"int24",name:"",type:"int24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint24",name:"",type:"uint24"}],name:"getPool",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:"parameters",outputs:[{internalType:"address",name:"factory",type:"address"},{internalType:"address",name:"token0",type:"address"},{internalType:"address",name:"token1",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"int24",name:"tickSpacing",type:"int24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_owner",type:"address"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"}],POOL:[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"int24",name:"tickLower",type:"int24"},{indexed:!0,internalType:"int24",name:"tickUpper",type:"int24"},{indexed:!1,internalType:"uint128",name:"amount",type:"uint128"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!0,internalType:"int24",name:"tickLower",type:"int24"},{indexed:!0,internalType:"int24",name:"tickUpper",type:"int24"},{indexed:!1,internalType:"uint128",name:"amount0",type:"uint128"},{indexed:!1,internalType:"uint128",name:"amount1",type:"uint128"}],name:"Collect",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint128",name:"amount0",type:"uint128"},{indexed:!1,internalType:"uint128",name:"amount1",type:"uint128"}],name:"CollectProtocol",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"},{indexed:!1,internalType:"uint256",name:"paid0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"paid1",type:"uint256"}],name:"Flash",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint16",name:"observationCardinalityNextOld",type:"uint16"},{indexed:!1,internalType:"uint16",name:"observationCardinalityNextNew",type:"uint16"}],name:"IncreaseObservationCardinalityNext",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint160",name:"sqrtPriceX96",type:"uint160"},{indexed:!1,internalType:"int24",name:"tick",type:"int24"}],name:"Initialize",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"int24",name:"tickLower",type:"int24"},{indexed:!0,internalType:"int24",name:"tickUpper",type:"int24"},{indexed:!1,internalType:"uint128",name:"amount",type:"uint128"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"feeProtocol0Old",type:"uint8"},{indexed:!1,internalType:"uint8",name:"feeProtocol1Old",type:"uint8"},{indexed:!1,internalType:"uint8",name:"feeProtocol0New",type:"uint8"},{indexed:!1,internalType:"uint8",name:"feeProtocol1New",type:"uint8"}],name:"SetFeeProtocol",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"int256",name:"amount0",type:"int256"},{indexed:!1,internalType:"int256",name:"amount1",type:"int256"},{indexed:!1,internalType:"uint160",name:"sqrtPriceX96",type:"uint160"},{indexed:!1,internalType:"uint128",name:"liquidity",type:"uint128"},{indexed:!1,internalType:"int24",name:"tick",type:"int24"}],name:"Swap",type:"event"},{inputs:[{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint128",name:"amount",type:"uint128"}],name:"burn",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint128",name:"amount0Requested",type:"uint128"},{internalType:"uint128",name:"amount1Requested",type:"uint128"}],name:"collect",outputs:[{internalType:"uint128",name:"amount0",type:"uint128"},{internalType:"uint128",name:"amount1",type:"uint128"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint128",name:"amount0Requested",type:"uint128"},{internalType:"uint128",name:"amount1Requested",type:"uint128"}],name:"collectProtocol",outputs:[{internalType:"uint128",name:"amount0",type:"uint128"},{internalType:"uint128",name:"amount1",type:"uint128"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"fee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeGrowthGlobal0X128",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeGrowthGlobal1X128",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"flash",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"observationCardinalityNext",type:"uint16"}],name:"increaseObservationCardinalityNext",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint160",name:"sqrtPriceX96",type:"uint160"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"liquidity",outputs:[{internalType:"uint128",name:"",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxLiquidityPerTick",outputs:[{internalType:"uint128",name:"",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"},{internalType:"uint128",name:"amount",type:"uint128"},{internalType:"bytes",name:"data",type:"bytes"}],name:"mint",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"observations",outputs:[{internalType:"uint32",name:"blockTimestamp",type:"uint32"},{internalType:"int56",name:"tickCumulative",type:"int56"},{internalType:"uint160",name:"secondsPerLiquidityCumulativeX128",type:"uint160"},{internalType:"bool",name:"initialized",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32[]",name:"secondsAgos",type:"uint32[]"}],name:"observe",outputs:[{internalType:"int56[]",name:"tickCumulatives",type:"int56[]"},{internalType:"uint160[]",name:"secondsPerLiquidityCumulativeX128s",type:"uint160[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"positions",outputs:[{internalType:"uint128",name:"liquidity",type:"uint128"},{internalType:"uint256",name:"feeGrowthInside0LastX128",type:"uint256"},{internalType:"uint256",name:"feeGrowthInside1LastX128",type:"uint256"},{internalType:"uint128",name:"tokensOwed0",type:"uint128"},{internalType:"uint128",name:"tokensOwed1",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"protocolFees",outputs:[{internalType:"uint128",name:"token0",type:"uint128"},{internalType:"uint128",name:"token1",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"feeProtocol0",type:"uint8"},{internalType:"uint8",name:"feeProtocol1",type:"uint8"}],name:"setFeeProtocol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"slot0",outputs:[{internalType:"uint160",name:"sqrtPriceX96",type:"uint160"},{internalType:"int24",name:"tick",type:"int24"},{internalType:"uint16",name:"observationIndex",type:"uint16"},{internalType:"uint16",name:"observationCardinality",type:"uint16"},{internalType:"uint16",name:"observationCardinalityNext",type:"uint16"},{internalType:"uint8",name:"feeProtocol",type:"uint8"},{internalType:"bool",name:"unlocked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int24",name:"tickLower",type:"int24"},{internalType:"int24",name:"tickUpper",type:"int24"}],name:"snapshotCumulativesInside",outputs:[{internalType:"int56",name:"tickCumulativeInside",type:"int56"},{internalType:"uint160",name:"secondsPerLiquidityInsideX128",type:"uint160"},{internalType:"uint32",name:"secondsInside",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"bool",name:"zeroForOne",type:"bool"},{internalType:"int256",name:"amountSpecified",type:"int256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[{internalType:"int256",name:"amount0",type:"int256"},{internalType:"int256",name:"amount1",type:"int256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int16",name:"",type:"int16"}],name:"tickBitmap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tickSpacing",outputs:[{internalType:"int24",name:"",type:"int24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int24",name:"",type:"int24"}],name:"ticks",outputs:[{internalType:"uint128",name:"liquidityGross",type:"uint128"},{internalType:"int128",name:"liquidityNet",type:"int128"},{internalType:"uint256",name:"feeGrowthOutside0X128",type:"uint256"},{internalType:"uint256",name:"feeGrowthOutside1X128",type:"uint256"},{internalType:"int56",name:"tickCumulativeOutside",type:"int56"},{internalType:"uint160",name:"secondsPerLiquidityOutsideX128",type:"uint160"},{internalType:"uint32",name:"secondsOutside",type:"uint32"},{internalType:"bool",name:"initialized",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"token0",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"token1",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],QUOTER:[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"quoteExactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint160[]",name:"sqrtPriceX96AfterList",type:"uint160[]"},{internalType:"uint32[]",name:"initializedTicksCrossedList",type:"uint32[]"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IQuoterV2.QuoteExactInputSingleParams",name:"params",type:"tuple"}],name:"quoteExactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint160",name:"sqrtPriceX96After",type:"uint160"},{internalType:"uint32",name:"initializedTicksCrossed",type:"uint32"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256",name:"amountOut",type:"uint256"}],name:"quoteExactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint160[]",name:"sqrtPriceX96AfterList",type:"uint160[]"},{internalType:"uint32[]",name:"initializedTicksCrossedList",type:"uint32[]"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct IQuoterV2.QuoteExactOutputSingleParams",name:"params",type:"tuple"}],name:"quoteExactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint160",name:"sqrtPriceX96After",type:"uint160"},{internalType:"uint32",name:"initializedTicksCrossed",type:"uint32"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"path",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"view",type:"function"}],PERMIT2:[{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"AllowanceExpired",type:"error"},{inputs:[],name:"ExcessiveInvalidation",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"InsufficientAllowance",type:"error"},{inputs:[{internalType:"uint256",name:"maxAmount",type:"uint256"}],name:"InvalidAmount",type:"error"},{inputs:[],name:"InvalidContractSignature",type:"error"},{inputs:[],name:"InvalidNonce",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"InvalidSignatureLength",type:"error"},{inputs:[],name:"InvalidSigner",type:"error"},{inputs:[],name:"LengthMismatch",type:"error"},{inputs:[{internalType:"uint256",name:"signatureDeadline",type:"uint256"}],name:"SignatureExpired",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"spender",type:"address"}],name:"Lockdown",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint48",name:"newNonce",type:"uint48"},{indexed:!1,internalType:"uint48",name:"oldNonce",type:"uint48"}],name:"NonceInvalidation",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"},{indexed:!1,internalType:"uint48",name:"nonce",type:"uint48"}],name:"Permit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"uint256",name:"word",type:"uint256"},{indexed:!1,internalType:"uint256",name:"mask",type:"uint256"}],name:"UnorderedNonceInvalidation",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint48",name:"newNonce",type:"uint48"}],name:"invalidateNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"wordPos",type:"uint256"},{internalType:"uint256",name:"mask",type:"uint256"}],name:"invalidateUnorderedNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"}],internalType:"struct IAllowanceTransfer.TokenSpenderPair[]",name:"approvals",type:"tuple[]"}],name:"lockdown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"nonceBitmap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails[]",name:"details",type:"tuple[]"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitBatch",name:"permitBatch",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails",name:"details",type:"tuple"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitSingle",name:"permitSingle",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],internalType:"struct IAllowanceTransfer.AllowanceTransferDetails[]",name:"transferDetails",type:"tuple[]"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}]};const bO={name:"uniswap_v3",label:"Uniswap v3",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIGRhdGEtdGVzdGlkPSJ1bmlzd2FwLWxvZ28iIGNsYXNzPSJyZ3c2ZXo0NHAgcmd3NmV6NGVqIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMzUyNiAxOS45MjQyQzIwLjI5MjggMjAuMTU0OSAyMC4xODg1IDIwLjM3MTUgMjAuMDQ1NSAyMC41NjE4QzE5Ljc3OTMgMjAuOTA4OCAxOS40MjcgMjEuMTc5NCAxOS4wMjM5IDIxLjM0NjZDMTguNjYxNCAyMS41MDM1IDE4LjI3NzQgMjEuNjA1IDE3Ljg4NDkgMjEuNjQ3NUMxNy44MDQyIDIxLjY1NzggMTcuNzIwNiAyMS42NjQxIDE3LjYzOTUgMjEuNjcwM0wxNy42MjYzIDIxLjY3MTNDMTcuMzc3NyAyMS42ODA4IDE3LjEzODcgMjEuNzcgMTYuOTQ0MiAyMS45MjU4QzE2Ljc0OTcgMjIuMDgxNyAxNi42MSAyMi4yOTYgMTYuNTQ1NSAyMi41MzczQzE2LjUxNiAyMi42NTc0IDE2LjQ5NCAyMi43NzkyIDE2LjQ3OTggMjIuOTAyMUMxNi40NTcyIDIzLjA4NzQgMTYuNDQ1NiAyMy4yNzcxIDE2LjQzMyAyMy40ODIzQzE2LjQyNCAyMy42Mjk1IDE2LjQxNDQgMjMuNzg0OCAxNi40IDIzLjk1MjFDMTYuMzE1NiAyNC42MzM3IDE2LjExOTMgMjUuMjk2NSAxNS44MTkyIDI1LjkxMzZDMTUuNzU3OSAyNi4wNDMzIDE1LjY5NTQgMjYuMTY5MSAxNS42MzM5IDI2LjI5MjZDMTUuMzA0OSAyNi45NTQ2IDE1LjAwNzYgMjcuNTUyNiAxNS4wOTI5IDI4LjM1MzVDMTUuMTU5NyAyOC45NzA2IDE1LjQ3NDQgMjkuMzg0MSAxNS44OTI1IDI5LjgxMDZDMTYuMDkxMSAzMC4wMTQ2IDE2LjM1NDQgMzAuMTg4OSAxNi42Mjc3IDMwLjM2OTlDMTcuMzkyNyAzMC44NzYzIDE4LjIzNjEgMzEuNDM0NyAxNy45NTgyIDMyLjg0MTVDMTcuNzMwOCAzMy45ODE0IDE1Ljg0OTQgMzUuMTc3NiAxMy4yMDUgMzUuNTk1NEMxMy40NjE1IDM1LjU1NjMgMTIuODk2NSAzNC41ODc5IDEyLjgzMzggMzQuNDgwNEwxMi44MyAzNC40NzM5QzEyLjc1NzEgMzQuMzU5MiAxMi42ODI0IDM0LjI0NjIgMTIuNjA3OSAzNC4xMzM0TDEyLjYwNzkgMzQuMTMzNEwxMi42MDc4IDM0LjEzMzRDMTIuMzkyNiAzMy44MDc2IDEyLjE3ODMgMzMuNDgzNSAxMi4wMTExIDMzLjEyNDFDMTEuNTY5MyAzMi4xODU2IDExLjM2NDUgMzEuMDk5OCAxMS41NDU1IDMwLjA3MTRDMTEuNzA5NSAyOS4xNDA3IDEyLjMyMjEgMjguMzk3MiAxMi45MTE4IDI3LjY4MTNMMTIuOTExOCAyNy42ODEzQzEzLjAwOCAyNy41NjQ2IDEzLjEwMzUgMjcuNDQ4NyAxMy4xOTY0IDI3LjMzMjhDMTMuOTg1MiAyNi4zNDg4IDE0LjgxMjggMjUuMDU5NSAxNC45OTU5IDIzLjc4MjJDMTUuMDExNCAyMy42NzEyIDE1LjAyNTIgMjMuNTUwMiAxNS4wMzk3IDIzLjQyMjlMMTUuMDM5NyAyMy40MjI5TDE1LjAzOTcgMjMuNDIyOUMxNS4wNjU3IDIzLjE5NSAxNS4wOTM5IDIyLjk0NjkgMTUuMTM4MiAyMi42OTk3QzE1LjIwMzkgMjIuMjcyOCAxNS4zMzcxIDIxLjg1OTEgMTUuNTMyNiAyMS40NzQzQzE1LjY2NiAyMS4yMjIgMTUuODQxNyAyMC45OTQ2IDE2LjA1MiAyMC44MDIxQzE2LjE2MTYgMjAuNjk5OSAxNi4yMzM5IDIwLjU2MzcgMTYuMjU3NCAyMC40MTUzQzE2LjI4MDggMjAuMjY3IDE2LjI1NCAyMC4xMTUgMTYuMTgxMyAxOS45ODM3TDExLjk2NTggMTIuMzY3M0wxOC4wMjA3IDE5Ljg3MzNDMTguMDg5NyAxOS45NjAzIDE4LjE3NjggMjAuMDMxIDE4LjI3NiAyMC4wODAzQzE4LjM3NTIgMjAuMTI5NiAxOC40ODQgMjAuMTU2NCAxOC41OTQ2IDIwLjE1ODhDMTguNzA1MyAyMC4xNjEyIDE4LjgxNTEgMjAuMTM5MSAxOC45MTYzIDIwLjA5NEMxOS4wMTc1IDIwLjA0OSAxOS4xMDc2IDE5Ljk4MjEgMTkuMTgwMiAxOS44OTgyQzE5LjI1NjkgMTkuODA4NCAxOS4zMDA0IDE5LjY5NDcgMTkuMzAzMyAxOS41NzYzQzE5LjMwNjMgMTkuNDU4IDE5LjI2ODUgMTkuMzQyMyAxOS4xOTYzIDE5LjI0ODdDMTguOTE0OCAxOC44ODczIDE4LjYyMTggMTguNTIxIDE4LjMzMDIgMTguMTU2M0wxOC4zMyAxOC4xNTZDMTguMjEyIDE4LjAwODUgMTguMDk0MyAxNy44NjEzIDE3Ljk3NzYgMTcuNzE0OEwxNi40NTM5IDE1LjgyMDVMMTMuMzk1NyAxMi4wMzgyTDEwIDhMMTMuNzg4IDExLjY5OTRMMTcuMDQzMyAxNS4zMTQ5TDE4LjY2NzMgMTcuMTI3QzE4LjgxNjUgMTcuMjk1OCAxOC45NjU3IDE3LjQ2MzEgMTkuMTE0OCAxNy42MzAzQzE5LjUwNDQgMTguMDY3MSAxOS44OTQgMTguNTAzOSAyMC4yODM2IDE4Ljk2NzNMMjAuMzcyIDE5LjA3NTVMMjAuMzkxNCAxOS4yNDMzQzIwLjQxNzYgMTkuNDcwOCAyMC40MDQ1IDE5LjcwMTIgMjAuMzUyNiAxOS45MjQyWk0zNS45MjQ3IDIyLjQ2OTdMMzUuOTMxMSAyMi40Nzk1QzM1LjkzIDIxLjY3MTkgMzUuNDMyMiAyMC4zMzk0IDM0LjQyNDcgMTkuMDU3N0wzNC40MDEgMTkuMDI2M0MzNC4wOTA2IDE4LjY0MSAzMy43NTI0IDE4LjI3OTIgMzMuMzg5MSAxNy45NDM4QzMzLjMyMTIgMTcuODc3OCAzMy4yNDggMTcuODEyOCAzMy4xNzM2IDE3Ljc0NzlDMzIuNzA4MSAxNy4zNDAxIDMyLjE5OTMgMTYuOTg1IDMxLjY1NjQgMTYuNjg5MkwzMS42MTc2IDE2LjY2OTdDMjkuOTExOCAxNS43MzY2IDI3LjY5MiAxNS4yNTYgMjQuOTU0OSAxNS43OTcyQzI0LjU4NzMgMTUuMzQ4OSAyNC4xOTE0IDE0LjkyNDggMjMuNzY5NiAxNC41Mjc1QzIzLjEyMzYgMTMuOTA5MSAyMi4zNjMyIDEzLjQyNDEgMjEuNTMxNSAxMy4wOTk3QzIwLjcwNzIgMTIuNzk2NiAxOS44MjQ0IDEyLjY4ODQgMTguOTUxNyAxMi43ODM2QzE5Ljc5MjkgMTIuODU5NyAyMC42MTIzIDEzLjA5NDcgMjEuMzY2NiAxMy40NzY0QzIyLjA5NTEgMTMuODY4NSAyMi43NTEyIDE0LjM4MzMgMjMuMzA2MiAxNC45OTg0QzIzLjg2ODggMTUuNjI2MyAyNC4zOTc2IDE2LjI4MzkgMjQuODkwMyAxNi45Njg1TDI1LjAxMzkgMTcuMTMwMkMyNS40OTYgMTcuNzYwOSAyNS45ODY4IDE4LjQwMyAyNi41OTgyIDE4Ljk3NDRDMjYuOTM0OCAxOS4yOTI1IDI3LjMxMDMgMTkuNTY2NCAyNy43MTU3IDE5Ljc4OTVDMjcuODIzNCAxOS44NDQ3IDI3LjkzMjMgMTkuODk2NiAyOC4wMzkgMTkuOTQyMUMyOC4xNDU2IDE5Ljk4NzYgMjguMjQ1OCAyMC4wMjk4IDI4LjM1MzYgMjAuMDY4OEMyOC41NjE2IDIwLjE0OTkgMjguNzc3MSAyMC4yMTcxIDI4Ljk5MjYgMjAuMjc4OEMyOS44NTQ3IDIwLjUyNTYgMzAuNzM3MiAyMC42MTQzIDMxLjU5OTMgMjAuNjYyQzMxLjcxOTIgMjAuNjY4MyAzMS44Mzg5IDIwLjY3NDIgMzEuOTU4MSAyMC42ODAxTDMxLjk1ODMgMjAuNjgwMUMzMi4yNjYyIDIwLjY5NTQgMzIuNTcxMyAyMC43MTA1IDMyLjg3MTkgMjAuNzMyM0MzMy4yODM3IDIwLjc1NjkgMzMuNjkyMiAyMC44MjE0IDM0LjA5MTcgMjAuOTI1QzM0LjY5MTggMjEuMDgyMiAzNS4yMjAxIDIxLjQ0MTMgMzUuNTg4NSAyMS45NDI1QzM1LjcxMzcgMjIuMTA5NSAzNS44MjYxIDIyLjI4NTcgMzUuOTI0NyAyMi40Njk3Wk0zMy40MDEzIDE3Ljk0NTFDMzMuMzU4IDE3LjkwNDkgMzMuMzEzOSAxNy44NjUxIDMzLjI3IDE3LjgyNTRMMzMuMjcgMTcuODI1NEMzMy4yNDE4IDE3Ljc5OTkgMzMuMjEzNiAxNy43NzQ1IDMzLjE4NTggMTcuNzQ5MUMzMy4yMDczIDE3Ljc2ODggMzMuMjI4OCAxNy43ODg3IDMzLjI1MDMgMTcuODA4N0MzMy4zMDA5IDE3Ljg1NTYgMzMuMzUxNCAxNy45MDI1IDMzLjQwMTMgMTcuOTQ1MVpNMzIuMzIzOCAyNS45MTcyQzI5LjU1MTYgMjQuNzg3MiAyNi42NTE4IDIzLjYwNTEgMjcuMDgzNSAyMC4yODc1QzI4LjAwOTEgMjEuMjgwMiAyOS40NjIgMjEuNDg4NCAzMS4wNDIyIDIxLjcxNDlDMzIuNDc1NyAyMS45MjAzIDM0LjAxMzkgMjIuMTQwNyAzNS4zNTgzIDIyLjk3NTNDMzguNTMwNiAyNC45NDMzIDM4LjA2NzMgMjguNzY2NiAzNi45ODk3IDMwLjE3MzlDMzcuMDg2OSAyNy44NTg3IDM0Ljc1NDQgMjYuOTA4IDMyLjMyMzggMjUuOTE3MlpNMjEuMTU1MSAyNC4yNTY3QzIxLjg4NjggMjQuMTg2MyAyMy40NDYxIDIzLjgwNDIgMjIuNzQ4OSAyMi41NzEyQzIyLjU5ODkgMjIuMzIwNCAyMi4zODE1IDIyLjExNzIgMjIuMTIxNyAyMS45ODQ4QzIxLjg2MTkgMjEuODUyNSAyMS41NzAyIDIxLjc5NjUgMjEuMjgwMSAyMS44MjMyQzIwLjk4NTggMjEuODU1IDIwLjcwODIgMjEuOTc2OSAyMC40ODUyIDIyLjE3MjVDMjAuMjYyMiAyMi4zNjgxIDIwLjEwNDQgMjIuNjI3OCAyMC4wMzM0IDIyLjkxNjVDMTkuODE2OCAyMy43MjMgMjAuMDQ2MyAyNC4zNjQ5IDIxLjE1NTEgMjQuMjU2N1pNMjAuOTQ0OCAxNC41MDE0QzIwLjQ4NTggMTMuOTY4OCAxOS43NzM1IDEzLjY4OTUgMTkuMDc1MiAxMy41ODc4QzE5LjA0OTEgMTMuNzYyNSAxOS4wMzI2IDEzLjkzODUgMTkuMDI1NyAxNC4xMTVDMTguOTk0NCAxNS41Njg3IDE5LjUwODQgMTcuMTY1NCAyMC41MDMgMTguMjc1QzIwLjgyMTIgMTguNjMzNyAyMS4yMDQ5IDE4LjkyNzYgMjEuNjMzNCAxOS4xNDFDMjEuODgxMiAxOS4yNjIyIDIyLjUzODYgMTkuNTYzMSAyMi43ODIxIDE5LjI5MjVDMjIuODAwNiAxOS4yNjc3IDIyLjgxMjMgMTkuMjM4NCAyMi44MTU5IDE5LjIwNzZDMjIuODE5NSAxOS4xNzY4IDIyLjgxNDkgMTkuMTQ1NiAyMi44MDI2IDE5LjExNzJDMjIuNzYyMiAxOS4wMDEzIDIyLjY4NDMgMTguODk2MSAyMi42MDY5IDE4Ljc5MTdDMjIuNTUyIDE4LjcxNzcgMjIuNDk3NCAxOC42NDQxIDIyLjQ1NjcgMTguNTY3MkMyMi40MTU1IDE4LjQ4OTggMjIuMzcxNCAxOC40MTQyIDIyLjMyNzQgMTguMzM4OEwyMi4zMjc0IDE4LjMzODhDMjIuMjQ0NyAxOC4xOTcgMjIuMTYyMiAxOC4wNTU1IDIyLjA5ODkgMTcuOTAxNUMyMS45MzE5IDE3LjQ5ODQgMjEuODQ1IDE3LjA2OTggMjEuNzU4MyAxNi42NDI1TDIxLjc1ODMgMTYuNjQyNEwyMS43NTgzIDE2LjY0MjRMMjEuNzU4MyAxNi42NDIzTDIxLjc1ODIgMTYuNjQyMkwyMS43NTgyIDE2LjY0MjFMMjEuNzU4MiAxNi42NDJDMjEuNzQwOSAxNi41NTY2IDIxLjcyMzYgMTYuNDcxMiAyMS43MDU2IDE2LjM4NkMyMS41NzMxIDE1LjcyNjggMjEuNDAzOSAxNS4wMzQgMjAuOTQ0OCAxNC41MDE0Wk0zMC43NTI0IDI2LjA5OEMzMC4wNDAzIDI4LjA5NDMgMzEuMTg4OCAyOS43ODA0IDMyLjMzMDYgMzEuNDU2NkMzMy42MDc3IDMzLjMzMTUgMzQuODc2NCAzNS4xOTQgMzMuNTIyOCAzNy40NjQyQzM2LjE1MzIgMzYuMzczMSAzNy40MDIxIDMzLjA3NjkgMzYuMzEwNSAzMC40NjE2QzM1LjYyMjcgMjguODA3NCAzMy45NjQ5IDI3LjkxMDYgMzIuNDI2MSAyNy4wNzgzTDMyLjQyNjEgMjcuMDc4M0wzMi40MjYgMjcuMDc4MkMzMS44MjkgMjYuNzU1MyAzMS4yNDk5IDI2LjQ0MjEgMzAuNzUyNCAyNi4wOThaTTIzLjA1NTIgMzAuODYzM0MyMi41Nzg1IDMxLjA1ODcgMjIuMTI5IDMxLjMxNTIgMjEuNzE3OSAzMS42MjY1QzIyLjY1MjcgMzEuMjg1OSAyMy42MzM5IDMxLjA5MTQgMjQuNjI3NCAzMS4wNDk1QzI0LjgwNzQgMzEuMDM4OCAyNC45ODg3IDMxLjAzMDQgMjUuMTcxNSAzMS4wMjE5TDI1LjE3MTcgMzEuMDIxOUwyNS4xNzIgMzEuMDIxOUMyNS40ODc4IDMxLjAwNzMgMjUuODA4NSAzMC45OTI1IDI2LjEzNiAzMC45NjUxQzI2LjY3MjkgMzAuOTI4NSAyNy4yMDI1IDMwLjgxOTIgMjcuNzEwMyAzMC42NDAzQzI4LjI0MjUgMzAuNDUzMyAyOC43MjY4IDMwLjE1MDEgMjkuMTI4NCAyOS43NTI3QzI5LjUzNDIgMjkuMzQyNCAyOS44MTg4IDI4LjgyNzIgMjkuOTUwNiAyOC4yNjQyQzMwLjA2NjYgMjcuNzMyNCAzMC4wNTAzIDI3LjE4MDEgMjkuOTAzMiAyNi42NTYyQzI5Ljc1NiAyNi4xMzIyIDI5LjQ4MjUgMjUuNjUyOCAyOS4xMDY5IDI1LjI2MDNDMjkuMjg4MSAyNS43MjIxIDI5LjM5OTYgMjYuMjA4NCAyOS40Mzc3IDI2LjcwMzNDMjkuNDcwNSAyNy4xNjQgMjkuNDA4MSAyNy42MjY1IDI5LjI1NDUgMjguMDYxOEMyOS4xMDQ1IDI4LjQ3NDQgMjguODU5MyAyOC44NDU0IDI4LjUzOSAyOS4xNDQzQzI4LjIwODEgMjkuNDQ2MiAyNy44MjUgMjkuNjg0NiAyNy40MDg2IDI5Ljg0NzlDMjYuODI5OSAzMC4wODIxIDI2LjE3NTUgMzAuMTc3OSAyNS40OTM5IDMwLjI3NzdDMjUuMTgzIDMwLjMyMzIgMjQuODY2NCAzMC4zNjk2IDI0LjU0ODcgMzAuNDMwM0MyNC4wMzc4IDMwLjUyNDMgMjMuNTM3NCAzMC42Njk0IDIzLjA1NTIgMzAuODYzM1pNMzEuMzE4NyAzOS4xMDQ2TDMxLjI3MyAzOS4xNDE1TDMxLjI3MyAzOS4xNDE2QzMxLjE1MjUgMzkuMjM4OSAzMS4wMzAxIDM5LjMzNzkgMzAuODk4MiAzOS40MjY4QzMwLjczMDEgMzkuNTM4IDMwLjU1NCAzOS42MzY1IDMwLjM3MTMgMzkuNzIxMkMyOS45OTA4IDM5LjkwNzcgMjkuNTcyNiA0MC4wMDI5IDI5LjE0OTMgMzkuOTk5NEMyOC4wMDI4IDM5Ljk3NzggMjcuMTkyNCAzOS4xMjA1IDI2LjcxODMgMzguMTUxNkMyNi41OTQgMzcuODk3NyAyNi40ODQ1IDM3LjYzNTkgMjYuMzc1IDM3LjM3NDFMMjYuMzc1IDM3LjM3NDFDMjYuMTk5NyAzNi45NTUxIDI2LjAyNDQgMzYuNTM2MSAyNS43ODgzIDM2LjE0OUMyNS4yMzk5IDM1LjI0OTUgMjQuMzAxMyAzNC41MjUzIDIzLjIwMjIgMzQuNjU5NUMyMi43NTM5IDM0LjcxNTggMjIuMzMzNiAzNC45MTgyIDIyLjA4NDcgMzUuMzA5QzIxLjQyOTUgMzYuMzI5OCAyMi4zNzAzIDM3Ljc1OTggMjMuNTY5NiAzNy41NTczQzIzLjY3MTYgMzcuNTQxNyAyMy43NzE0IDM3LjUxNDEgMjMuODY3IDM3LjQ3NTFDMjMuOTYyMyAzNy40MzQzIDI0LjA1MTIgMzcuMzggMjQuMTMxIDM3LjMxMzhDMjQuMjk4NiAzNy4xNzM2IDI0LjQyNDggMzYuOTkwMyAyNC40OTYzIDM2Ljc4MzRDMjQuNTc1MSAzNi41Njc2IDI0LjU5MjYgMzYuMzM0MSAyNC41NDcgMzYuMTA5QzI0LjQ5NzggMzUuODczNiAyNC4zNTk0IDM1LjY2NjggMjQuMTYxMiAzNS41MzJDMjQuMzkxNyAzNS42NDA0IDI0LjU3MTMgMzUuODM0NSAyNC42NjIzIDM2LjA3MzJDMjQuNzU2NiAzNi4zMTkgMjQuNzgwOSAzNi41ODYyIDI0LjczMjMgMzYuODQ1MUMyNC42ODUyIDM3LjExNDcgMjQuNTY2OSAzNy4zNjY3IDI0LjM4OTYgMzcuNTc0N0MyNC4yOTU1IDM3LjY4MTYgMjQuMTg2NiAzNy43NzQ2IDI0LjA2NjQgMzcuODUwN0MyMy45NDcyIDM3LjkyNTkgMjMuODE5NSAzNy45ODY2IDIzLjY4NiAzOC4wMzE1QzIzLjQxNTMgMzguMTI0NCAyMy4xMjcyIDM4LjE1NDQgMjIuODQzMyAzOC4xMTkyQzIyLjQ0NDcgMzguMDYyMSAyMi4wNjg4IDM3Ljg5ODMgMjEuNzU1IDM3LjY0NUMyMS42OTcgMzcuNTk5IDIxLjY0MTQgMzcuNTUwOCAyMS41ODc1IDM3LjUwMDhDMjEuMzc0IDM3LjMxNTggMjEuMTgwMiAzNy4xMDg3IDIxLjAwOTMgMzYuODgyOUMyMC45MzI2IDM2Ljc5ODEgMjAuODU0NyAzNi43MTQ0IDIwLjc3MzMgMzYuNjM0QzIwLjM4OTEgMzYuMjI5IDE5LjkzNTggMzUuODk2NSAxOS40MzQ5IDM1LjY1MjJDMTkuMDg5NSAzNS40OTk4IDE4LjcyOCAzNS4zODcyIDE4LjM1NzQgMzUuMzE2NkMxOC4xNzA5IDM1LjI3NzYgMTcuOTgyNCAzNS4yNDk1IDE3Ljc5MzggMzUuMjI1N0MxNy43NzMzIDM1LjIyMzYgMTcuNzM0IDM1LjIxNjcgMTcuNjg1IDM1LjIwODJMMTcuNjg0NyAzNS4yMDgxTDE3LjY4NDYgMzUuMjA4MUwxNy42ODQ2IDM1LjIwODFMMTcuNjg0NiAzNS4yMDgxTDE3LjY4NDUgMzUuMjA4MUMxNy41MjcxIDM1LjE4MDYgMTcuMjcxMSAzNS4xMzYgMTcuMjI1OSAzNS4xNzhDMTcuODA4OCAzNC42MzkgMTguNDQ0MSAzNC4xNjAzIDE5LjEyMjQgMzMuNzQ5MUMxOS44MTg5IDMzLjMzNCAyMC41NjY3IDMzLjAxMjYgMjEuMzQ2NiAzMi43OTMzQzIyLjE1NTEgMzIuNTY0NyAyMy4wMDA5IDMyLjQ5OTUgMjMuODM0NyAzMi42MDE3QzI0LjI2MzkgMzIuNjUzNSAyNC42ODQzIDMyLjc2MjcgMjUuMDg0NyAzMi45MjY0QzI1LjUwNDIgMzMuMDk0OCAyNS44OTE0IDMzLjMzNTEgMjYuMjI5MSAzMy42MzY2QzI2LjU2MzIgMzMuOTUyOCAyNi44MzMzIDM0LjMzMTEgMjcuMDI0MyAzNC43NTA0QzI3LjE5NjggMzUuMTQzMSAyNy4zMjU0IDM1LjU1MzcgMjcuNDA3OSAzNS45NzQ3QzI3LjQ1MjEgMzYuMjAxMyAyNy40ODU1IDM2LjQ1MDIgMjcuNTE5OSAzNi43MDc5TDI3LjUyIDM2LjcwNzlMMjcuNTIgMzYuNzA4TDI3LjUyIDM2LjcwOEMyNy42NzcxIDM3Ljg4MjMgMjcuODU4NSAzOS4yMzcyIDI5LjIwNDMgMzkuNDczM0MyOS4yODk4IDM5LjQ5IDI5LjM3NjEgMzkuNTAyMyAyOS40NjI5IDM5LjUxMDJMMjkuNzMxMiAzOS41MTY2QzI5LjkxNTcgMzkuNTAzNCAzMC4wOTkgMzkuNDc3IDMwLjI3OTcgMzkuNDM3NkMzMC42NTQxIDM5LjM0OTIgMzEuMDE5IDM5LjIyNDEgMzEuMzY5MSAzOS4wNjQyTDMxLjMxODcgMzkuMTA0NlpNMjEuMDgwMSAzNi45NjE5QzIxLjExMjMgMzYuOTk4OSAyMS4xNDQ5IDM3LjAzNTUgMjEuMTc3OSAzNy4wNzE4QzIxLjE2NDQgMzcuMDU2NyAyMS4xNTEgMzcuMDQxNSAyMS4xMzc1IDM3LjAyNjRMMjEuMTM3NSAzNy4wMjY0TDIxLjEzNzUgMzcuMDI2NEwyMS4xMzc1IDM3LjAyNjRDMjEuMTE4NCAzNy4wMDQ5IDIxLjA5OTMgMzYuOTgzNCAyMS4wODAxIDM2Ljk2MTlaIiBmaWxsPSJjdXJyZW50Q29sb3IiPjwvcGF0aD48L3N2Zz4K",protocol:"uniswap_v3",slippage:!0,fees:[100,500,3e3,1e4],blockchains:["ethereum","bsc","polygon","optimism","arbitrum","base","avalanche","worldchain"],ethereum:{router:{address:"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",api:wO.ROUTER},factory:{address:"0x1F98431c8aD98523631AE4a59f267346ea31F984",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}},bsc:{router:{address:"0xB971eF87ede563556b2ED4b1C0b0019111Dd85d2",api:wO.ROUTER},factory:{address:"0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0x78D78E420Da98ad378D7799bE8f4AF69033EB077",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}},polygon:{router:{address:"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",api:wO.ROUTER},factory:{address:"0x1F98431c8aD98523631AE4a59f267346ea31F984",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}},optimism:{router:{address:"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",api:wO.ROUTER},factory:{address:"0x1F98431c8aD98523631AE4a59f267346ea31F984",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}},arbitrum:{router:{address:"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",api:wO.ROUTER},factory:{address:"0x1F98431c8aD98523631AE4a59f267346ea31F984",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}},base:{router:{address:"0x2626664c2603336E57B271c5C0b26F421741e481",api:wO.ROUTER},factory:{address:"0x33128a8fC17869897dcE68Ed026d694621f6FDfD",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}},avalanche:{router:{address:"0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE",api:wO.ROUTER},factory:{address:"0x740b1c1de25031C31FF4fC9A62f554A55cdC1baD",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0xbe0F5544EC67e9B3b2D979aaA43f18Fd87E6257F",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}},worldchain:{router:{address:"0x091AD9e2e6e5eD44c1c66dB50e49A601F9f36cF6",api:wO.ROUTER},factory:{address:"0x7a5028BDa40e7B173C278C5342087826455ea25a",api:wO.FACTORY},pool:{api:wO.POOL},quoter:{address:"0x10158D43e6cc414deE1Bd1eB0EfC6a5cBCfF244c",api:wO.QUOTER},permit:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",api:wO.PERMIT2}}};var MO=e=>new OD(Object.assign(bO,{scope:e,findPath:e=>wO.findPath({...e,exchange:bO}),pathExists:e=>wO.pathExists({...e,exchange:bO}),getAmounts:e=>wO.getAmounts({...e,exchange:bO}),getPrep:e=>wO.getPrep({...e,exchange:bO}),getTransaction:e=>wO.getTransaction({...e,exchange:bO})}));var AO={findPath:async({blockchain:e,tokenIn:t,tokenOut:n})=>{if(![t,n].includes(Vf[e].currency.address)||![t,n].includes(Vf[e].wrapped.address))return{path:void 0,exchangePath:void 0};let r=[t,n];return{path:r,exchangePath:r}},pathExists:async({blockchain:e,path:t})=>!(!t||2!==t.length)&&(t.includes(Vf[e].currency.address)&&t.includes(Vf[e].wrapped.address)),getAmounts:async({path:e,block:t,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>(i?o=a=s=i:o?i=a=s=o:s?o=a=i=s:a&&(i=s=o=a),{amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({exchange:e,blockchain:t,path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,account:h})=>{let d={blockchain:t,from:h,to:e[t].router.address,api:e[t].router.api};return n[0]===Vf[t].currency.address&&n[1]===Vf[t].wrapped.address?(d.method="deposit",d.value=r.toString(),d):n[0]===Vf[t].wrapped.address&&n[1]===Vf[t].currency.address?(d.method="withdraw",d.value=0,d.params={wad:r},d):void 0},WETH:[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"guy",type:"address"},{name:"wad",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:"src",type:"address"},{name:"dst",type:"address"},{name:"wad",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"wad",type:"uint256"}],name:"withdraw",outputs:[],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:"",type:"address"}],name:"balanceOf",outputs:[{name:"",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:"dst",type:"address"},{name:"wad",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"deposit",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"},{name:"",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:"src",type:"address"},{indexed:!0,name:"guy",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!0,name:"dst",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"dst",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Withdrawal",type:"event"}]};const IO={name:"wavax",label:"Wrapped Avax",logo:Vf.avalanche.wrapped.logo,protocol:"weth",slippage:!1,blockchains:["avalanche"],avalanche:{router:{address:Vf.avalanche.wrapped.address,api:AO.WETH}}};var NO=e=>new OD(Object.assign(IO,{scope:e,findPath:e=>AO.findPath({...e,exchange:IO}),pathExists:e=>AO.pathExists({...e,exchange:IO}),getAmounts:e=>AO.getAmounts({...e,exchange:IO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:IO})}));const TO={name:"wbnb",label:"Wrapped BNB",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxOTIgMTkyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOTIgMTkyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6I0YwQjkwQjt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01NCw0MS4xbDQyLTI0LjJsNDIsMjQuMmwtMTUuNCw4LjlMOTYsMzQuOUw2OS40LDUwTDU0LDQxLjF6IE0xMzgsNzEuN2wtMTUuNC04LjlMOTYsNzhMNjkuNCw2Mi43bC0xNS40LDl2MTgKCUw4MC42LDEwNXYzMC41bDE1LjQsOWwxNS40LTlWMTA1TDEzOCw4OS43VjcxLjd6IE0xMzgsMTIwLjN2LTE4bC0xNS40LDguOXYxOEMxMjIuNiwxMjkuMSwxMzgsMTIwLjMsMTM4LDEyMC4zeiBNMTQ4LjksMTI2LjQKCWwtMjYuNiwxNS4zdjE4bDQyLTI0LjJWODdsLTE1LjQsOUMxNDguOSw5NiwxNDguOSwxMjYuNCwxNDguOSwxMjYuNHogTTEzMy41LDU2LjRsMTUuNCw5djE4bDE1LjQtOXYtMThsLTE1LjQtOUwxMzMuNSw1Ni40CglMMTMzLjUsNTYuNHogTTgwLjYsMTQ4LjN2MThsMTUuNCw5bDE1LjQtOXYtMThMOTYsMTU3LjFMODAuNiwxNDguM3ogTTU0LDEyMC4zbDE1LjQsOXYtMTguMUw1NCwxMDIuM0w1NCwxMjAuM0w1NCwxMjAuM3oKCSBNODAuNiw1Ni40bDE1LjQsOWwxNS40LTlMOTYsNDcuNUM5Niw0Ny40LDgwLjYsNTYuNCw4MC42LDU2LjRMODAuNiw1Ni40eiBNNDMuMSw2NS40bDE1LjQtOWwtMTUuNC05bC0xNS40LDl2MThsMTUuNCw5TDQzLjEsNjUuNAoJTDQzLjEsNjUuNHogTTQzLjEsOTUuOUwyNy43LDg3djQ4LjVsNDIsMjQuMnYtMThsLTI2LjYtMTUuM1Y5NS45TDQzLjEsOTUuOXoiLz4KPC9zdmc+Cg==",slippage:!1,blockchains:["bsc"],bsc:{router:{address:Vf.bsc.wrapped.address,api:AO.WETH}}};var EO=e=>new OD(Object.assign(TO,{scope:e,findPath:e=>AO.findPath({...e,exchange:TO}),pathExists:e=>AO.pathExists({...e,exchange:TO}),getAmounts:e=>AO.getAmounts({...e,exchange:TO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:TO})}));const xO={name:"weth",label:"Wrapped Ethereum",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgzLjUgMjgzLjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMzQzNDM0O30KCS5zdDF7ZmlsbDojOEM4QzhDO30KCS5zdDJ7ZmlsbDojM0MzQzNCO30KCS5zdDN7ZmlsbDojMTQxNDE0O30KCS5zdDR7ZmlsbDojMzkzOTM5O30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQxLjcsMjUuOWwtMS41LDUuMnYxNTMuM2wxLjUsMS41bDcxLjItNDIuMUwxNDEuNywyNS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNS45TDcwLjYsMTQzLjhsNzEuMSw0Mi4xdi03NC40VjI1Ljl6Ii8+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE0MS43LDE5OS40bC0wLjgsMS4xdjU0LjZsMC44LDIuNWw3MS4yLTEwMC4zTDE0MS43LDE5OS40eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNTcuNnYtNTguMmwtNzEuMS00Mi4xTDE0MS43LDI1Ny42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNDEuNywxODUuOWw3MS4yLTQyLjFsLTcxLjItMzIuM1YxODUuOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNzAuNiwxNDMuOGw3MS4xLDQyLjF2LTc0LjRMNzAuNiwxNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",protocol:"weth",slippage:!1,blockchains:["ethereum"],ethereum:{router:{address:Vf.ethereum.wrapped.address,api:AO.WETH}}};var kO=e=>new OD(Object.assign(xO,{scope:e,findPath:e=>AO.findPath({...e,exchange:xO}),pathExists:e=>AO.pathExists({...e,exchange:xO}),getAmounts:e=>AO.getAmounts({...e,exchange:xO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:xO})}));const LO={name:"weth_arbitrum",label:"Wrapped Ethereum",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgzLjUgMjgzLjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMzQzNDM0O30KCS5zdDF7ZmlsbDojOEM4QzhDO30KCS5zdDJ7ZmlsbDojM0MzQzNCO30KCS5zdDN7ZmlsbDojMTQxNDE0O30KCS5zdDR7ZmlsbDojMzkzOTM5O30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQxLjcsMjUuOWwtMS41LDUuMnYxNTMuM2wxLjUsMS41bDcxLjItNDIuMUwxNDEuNywyNS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNS45TDcwLjYsMTQzLjhsNzEuMSw0Mi4xdi03NC40VjI1Ljl6Ii8+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE0MS43LDE5OS40bC0wLjgsMS4xdjU0LjZsMC44LDIuNWw3MS4yLTEwMC4zTDE0MS43LDE5OS40eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNTcuNnYtNTguMmwtNzEuMS00Mi4xTDE0MS43LDI1Ny42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNDEuNywxODUuOWw3MS4yLTQyLjFsLTcxLjItMzIuM1YxODUuOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNzAuNiwxNDMuOGw3MS4xLDQyLjF2LTc0LjRMNzAuNiwxNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",protocol:"weth",slippage:!1,blockchains:["arbitrum"],arbitrum:{router:{address:Vf.arbitrum.wrapped.address,api:AO.WETH}}};var SO=e=>new OD(Object.assign(LO,{scope:e,findPath:e=>AO.findPath({...e,exchange:LO}),pathExists:e=>AO.pathExists({...e,exchange:LO}),getAmounts:e=>AO.getAmounts({...e,exchange:LO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:LO})}));const jO={name:"weth_optimism",label:"Wrapped Ethereum",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgzLjUgMjgzLjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMzQzNDM0O30KCS5zdDF7ZmlsbDojOEM4QzhDO30KCS5zdDJ7ZmlsbDojM0MzQzNCO30KCS5zdDN7ZmlsbDojMTQxNDE0O30KCS5zdDR7ZmlsbDojMzkzOTM5O30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQxLjcsMjUuOWwtMS41LDUuMnYxNTMuM2wxLjUsMS41bDcxLjItNDIuMUwxNDEuNywyNS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNS45TDcwLjYsMTQzLjhsNzEuMSw0Mi4xdi03NC40VjI1Ljl6Ii8+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE0MS43LDE5OS40bC0wLjgsMS4xdjU0LjZsMC44LDIuNWw3MS4yLTEwMC4zTDE0MS43LDE5OS40eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNTcuNnYtNTguMmwtNzEuMS00Mi4xTDE0MS43LDI1Ny42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNDEuNywxODUuOWw3MS4yLTQyLjFsLTcxLjItMzIuM1YxODUuOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNzAuNiwxNDMuOGw3MS4xLDQyLjF2LTc0LjRMNzAuNiwxNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",protocol:"weth",slippage:!1,blockchains:["optimism"],optimism:{router:{address:Vf.optimism.wrapped.address,api:AO.WETH}}};var DO=e=>new OD(Object.assign(jO,{scope:e,findPath:e=>AO.findPath({...e,exchange:jO}),pathExists:e=>AO.pathExists({...e,exchange:jO}),getAmounts:e=>AO.getAmounts({...e,exchange:jO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:jO})}));const CO={name:"weth_base",label:"Wrapped Ethereum",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgzLjUgMjgzLjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMzQzNDM0O30KCS5zdDF7ZmlsbDojOEM4QzhDO30KCS5zdDJ7ZmlsbDojM0MzQzNCO30KCS5zdDN7ZmlsbDojMTQxNDE0O30KCS5zdDR7ZmlsbDojMzkzOTM5O30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQxLjcsMjUuOWwtMS41LDUuMnYxNTMuM2wxLjUsMS41bDcxLjItNDIuMUwxNDEuNywyNS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNS45TDcwLjYsMTQzLjhsNzEuMSw0Mi4xdi03NC40VjI1Ljl6Ii8+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE0MS43LDE5OS40bC0wLjgsMS4xdjU0LjZsMC44LDIuNWw3MS4yLTEwMC4zTDE0MS43LDE5OS40eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNTcuNnYtNTguMmwtNzEuMS00Mi4xTDE0MS43LDI1Ny42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNDEuNywxODUuOWw3MS4yLTQyLjFsLTcxLjItMzIuM1YxODUuOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNzAuNiwxNDMuOGw3MS4xLDQyLjF2LTc0LjRMNzAuNiwxNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",protocol:"weth",slippage:!1,blockchains:["base"],base:{router:{address:Vf.base.wrapped.address,api:AO.WETH}}};var OO=e=>new OD(Object.assign(CO,{scope:e,findPath:e=>AO.findPath({...e,exchange:CO}),pathExists:e=>AO.pathExists({...e,exchange:CO}),getAmounts:e=>AO.getAmounts({...e,exchange:CO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:CO})}));const zO={name:"wftm",label:"Wrapped Fantom",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTkyIDE5MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTkyIDE5MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8ZyBpZD0iY2lyY2xlIj4KCTxnIGlkPSJGYW50b20tY2lyY2xlIj4KCQk8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsUnVsZT0iZXZlbm9kZCIgY2xpcFJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMxOTY5RkYiIGNsYXNzPSJzdDAiIGN4PSI5NiIgY3k9Ijk2IiByPSI4MC40Ii8+CgkJPHBhdGggaWQ9IlNoYXBlIiBmaWxsPSIjRkZGRkZGIiBkPSJNOTEuMSw0MS4yYzIuNy0xLjQsNi44LTEuNCw5LjUsMGwyNy42LDE0LjZjMS42LDAuOSwyLjUsMi4xLDIuNywzLjVoMHY3My4zCgkJCWMwLDEuNC0wLjksMi45LTIuNywzLjhsLTI3LjYsMTQuNmMtMi43LDEuNC02LjgsMS40LTkuNSwwbC0yNy42LTE0LjZjLTEuOC0wLjktMi42LTIuNC0yLjctMy44YzAtMC4xLDAtMC4zLDAtMC40bDAtNzIuNAoJCQljMC0wLjEsMC0wLjIsMC0wLjNsMC0wLjJoMGMwLjEtMS4zLDEtMi42LDIuNi0zLjVMOTEuMSw0MS4yeiBNMTI2LjYsOTkuOWwtMjYsMTMuN2MtMi43LDEuNC02LjgsMS40LTkuNSwwTDY1LjIsMTAwdjMyLjMKCQkJbDI1LjksMTMuNmMxLjUsMC44LDMuMSwxLjYsNC43LDEuN2wwLjEsMGMxLjUsMCwzLTAuOCw0LjYtMS41bDI2LjItMTMuOVY5OS45eiBNNTYuNSwxMzAuOWMwLDIuOCwwLjMsNC43LDEsNgoJCQljMC41LDEuMSwxLjMsMS45LDIuOCwyLjlsMC4xLDAuMWMwLjMsMC4yLDAuNywwLjQsMS4xLDAuN2wwLjUsMC4zbDEuNiwwLjlsLTIuMiwzLjdsLTEuNy0xLjFsLTAuMy0wLjJjLTAuNS0wLjMtMC45LTAuNi0xLjMtMC44CgkJCWMtNC4yLTIuOC01LjctNS45LTUuNy0xMi4zbDAtMC4ySDU2LjV6IE05My44LDgwLjVjLTAuMiwwLjEtMC40LDAuMS0wLjYsMC4yTDY1LjYsOTUuM2MwLDAtMC4xLDAtMC4xLDBsMCwwbDAsMGwwLjEsMGwyNy42LDE0LjYKCQkJYzAuMiwwLjEsMC40LDAuMiwwLjYsMC4yVjgwLjV6IE05OC4yLDgwLjV2MjkuOGMwLjItMC4xLDAuNC0wLjEsMC42LTAuMmwyNy42LTE0LjZjMCwwLDAuMSwwLDAuMSwwbDAsMGwwLDBsLTAuMSwwTDk4LjgsODAuNwoJCQlDOTguNiw4MC42LDk4LjQsODAuNSw5OC4yLDgwLjV6IE0xMjYuNiw2NC40bC0yNC44LDEzbDI0LjgsMTNWNjQuNHogTTY1LjIsNjQuNHYyNi4xbDI0LjgtMTNMNjUuMiw2NC40eiBNOTguNyw0NS4xCgkJCWMtMS40LTAuOC00LTAuOC01LjUsMEw2NS42LDU5LjdjMCwwLTAuMSwwLTAuMSwwbDAsMGwwLDBsMC4xLDBsMjcuNiwxNC42YzEuNCwwLjgsNCwwLjgsNS41LDBsMjcuNi0xNC42YzAsMCwwLjEsMCwwLjEsMGwwLDBsMCwwCgkJCWwtMC4xLDBMOTguNyw0NS4xeiBNMTMwLjcsNDYuNWwxLjcsMS4xbDAuMywwLjJjMC41LDAuMywwLjksMC42LDEuMywwLjhjNC4yLDIuOCw1LjcsNS45LDUuNywxMi4zbDAsMC4yaC00LjNjMC0yLjgtMC4zLTQuNy0xLTYKCQkJYy0wLjUtMS4xLTEuMy0xLjktMi44LTIuOWwtMC4xLTAuMWMtMC4zLTAuMi0wLjctMC40LTEuMS0wLjdsLTAuNS0wLjNsLTEuNi0wLjlMMTMwLjcsNDYuNXoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",protocol:"weth",slippage:!1,blockchains:["fantom"],fantom:{router:{address:Vf.fantom.wrapped.address,api:AO.WETH}}};var PO=e=>new OD(Object.assign(zO,{scope:e,findPath:e=>AO.findPath({...e,exchange:zO}),pathExists:e=>AO.pathExists({...e,exchange:zO}),getAmounts:e=>AO.getAmounts({...e,exchange:zO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:zO})}));const _O={name:"wmatic",label:"Wrapped MATIC",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0NS40IDQ1LjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiM4MjQ3RTU7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzEuOSwxNi42Yy0wLjctMC40LTEuNi0wLjQtMi4yLDBsLTUuMywzLjFsLTMuNSwybC01LjEsMy4xYy0wLjcsMC40LTEuNiwwLjQtMi4yLDBsLTQtMi40CgljLTAuNi0wLjQtMS4xLTEuMS0xLjEtMnYtNC42YzAtMC45LDAuNS0xLjYsMS4xLTJsNC0yLjNjMC43LTAuNCwxLjUtMC40LDIuMiwwbDQsMi40YzAuNywwLjQsMS4xLDEuMSwxLjEsMnYzLjFsMy41LTIuMXYtMy4yCgljMC0wLjktMC40LTEuNi0xLjEtMmwtNy41LTQuNGMtMC43LTAuNC0xLjUtMC40LTIuMiwwTDYsMTEuN2MtMC43LDAuNC0xLjEsMS4xLTEuMSwxLjh2OC43YzAsMC45LDAuNCwxLjYsMS4xLDJsNy42LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw1LjEtMi45bDMuNS0yLjFsNS4xLTIuOWMwLjctMC40LDEuNi0wLjQsMi4yLDBsNCwyLjNjMC43LDAuNCwxLjEsMS4xLDEuMSwydjQuNmMwLDAuOS0wLjQsMS42LTEuMSwyCglsLTMuOSwyLjNjLTAuNywwLjQtMS41LDAuNC0yLjIsMGwtNC0yLjNjLTAuNy0wLjQtMS4xLTEuMS0xLjEtMnYtMi45TDIxLDI4Ljd2My4xYzAsMC45LDAuNCwxLjYsMS4xLDJsNy41LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw3LjUtNC40YzAuNy0wLjQsMS4xLTEuMSwxLjEtMlYyM2MwLTAuOS0wLjQtMS42LTEuMS0yQzM5LjIsMjEsMzEuOSwxNi42LDMxLjksMTYuNnoiLz4KPC9zdmc+Cg==",protocol:"weth",slippage:!1,blockchains:["polygon"],polygon:{router:{address:Vf.polygon.wrapped.address,api:AO.WETH}}};var BO=e=>new OD(Object.assign(_O,{scope:e,findPath:e=>AO.findPath({...e,exchange:_O}),pathExists:e=>AO.pathExists({...e,exchange:_O}),getAmounts:e=>AO.getAmounts({...e,exchange:_O}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:_O})}));const RO={name:"wxdai",label:"Wrapped XDAI",logo:Vf.gnosis.wrapped.logo,protocol:"weth",slippage:!1,blockchains:["gnosis"],gnosis:{router:{address:Vf.gnosis.wrapped.address,api:AO.WETH}}};var UO=e=>new OD(Object.assign(RO,{scope:e,findPath:e=>AO.findPath({...e,exchange:RO}),pathExists:e=>AO.pathExists({...e,exchange:RO}),getAmounts:e=>AO.getAmounts({...e,exchange:RO}),getPrep:e=>{},getTransaction:e=>AO.getTransaction({...e,exchange:RO})}));const QO=[RC(),MO(),ZC(),cO(),QC(),sO(),XC(),$C(),YD(),kO(),DO(),OO(),SO(),EO(),BO(),PO(),NO(),UO()];QO.forEach((e=>{QO[e.name]=e})),QO.ethereum=[MO("ethereum"),cO("ethereum"),kO("ethereum")],QO.ethereum.forEach((e=>{QO.ethereum[e.name]=e})),QO.bsc=[ZC("bsc"),MO("bsc"),QC("bsc"),EO("bsc")],QO.bsc.forEach((e=>{QO.bsc[e.name]=e})),QO.polygon=[MO("polygon"),XC("polygon"),BO("polygon")],QO.polygon.forEach((e=>{QO.polygon[e.name]=e})),QO.solana=[RC("solana")],QO.solana.forEach((e=>{QO.solana[e.name]=e})),QO.optimism=[MO("optimism"),DO("optimism")],QO.optimism.forEach((e=>{QO.optimism[e.name]=e})),QO.base=[MO("base"),cO("base"),OO("base")],QO.base.forEach((e=>{QO.base[e.name]=e})),QO.arbitrum=[MO("arbitrum"),SO("arbitrum")],QO.arbitrum.forEach((e=>{QO.arbitrum[e.name]=e})),QO.fantom=[$C("fantom"),PO("fantom")],QO.fantom.forEach((e=>{QO.fantom[e.name]=e})),QO.avalanche=[MO("avalanche"),sO("avalanche"),NO("avalanche")],QO.avalanche.forEach((e=>{QO.avalanche[e.name]=e})),QO.gnosis=[YD("gnosis"),UO("gnosis")],QO.gnosis.forEach((e=>{QO.gnosis[e.name]=e})),QO.worldchain=[MO("worldchain")],QO.worldchain.forEach((e=>{QO.worldchain[e.name]=e}));QO.route=({blockchain:e,tokenIn:t,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a})=>Promise.all(QO[e].map((e=>e.route({tokenIn:t,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a})))).then((e=>e.filter(Boolean).sort(((e,t)=>(r||o?BigInt(e.amountOut)<BigInt(t.amountOut):BigInt(e.amountIn)>BigInt(t.amountIn))?1:(r||o?BigInt(e.amountOut)>BigInt(t.amountOut):BigInt(e.amountIn)<BigInt(t.amountIn))?-1:0))));var WO={solana:{address:"DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7",ammProgram:"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",alt:"EYGgx5fYCZtLN2pvnR4Bhn5KpMffKwyHCms4VhjSvF2K",api:{createPaymentsAccount:{anchorDiscriminator:new ef("8445995362644372894"),layout:hf([yf("anchorDiscriminator")])},createEscrowSolAccount:{anchorDiscriminator:new ef("2482112285991870004"),layout:hf([yf("anchorDiscriminator")])},createEscrowTokenAccount:{anchorDiscriminator:new ef("16156440424245087"),layout:hf([yf("anchorDiscriminator")])},routeSol:{anchorDiscriminator:new ef("6497164560834983274"),layout:hf([yf("anchorDiscriminator"),yf("nonce"),yf("paymentAmount"),yf("feeAmount"),af("deadline")])},routeToken:{anchorDiscriminator:new ef("13483873682232752277"),layout:hf([yf("anchorDiscriminator"),yf("nonce"),yf("paymentAmount"),yf("feeAmount"),af("deadline")])},routeOrcaSwap:{anchorDiscriminator:new ef("9797248061404332986"),layout:hf([yf("anchorDiscriminator"),yf("nonce"),yf("amountIn"),df("sqrtPriceLimit"),nf("amountSpecifiedIsInput"),nf("aToB"),yf("paymentAmount"),yf("feeAmount"),af("deadline")])},routeOrcaSwapSolOut:{anchorDiscriminator:new ef("13662217913752830165"),layout:hf([yf("anchorDiscriminator"),yf("nonce"),yf("amountIn"),df("sqrtPriceLimit"),nf("amountSpecifiedIsInput"),nf("aToB"),yf("paymentAmount"),yf("feeAmount"),af("deadline")])},routeOrcaTwoHopSwap:{anchorDiscriminator:new ef("15695720599845325801"),layout:hf([yf("anchorDiscriminator"),yf("nonce"),yf("amountIn"),nf("amountSpecifiedIsInput"),nf("aToBOne"),nf("aToBTwo"),df("sqrtPriceLimitOne"),df("sqrtPriceLimitTwo"),yf("paymentAmount"),yf("feeAmount"),af("deadline")])},routeOrcaTwoHopSwapSolOut:{anchorDiscriminator:new ef("15074061855608091530"),layout:hf([yf("anchorDiscriminator"),yf("nonce"),yf("amountIn"),nf("amountSpecifiedIsInput"),nf("aToBOne"),nf("aToBTwo"),df("sqrtPriceLimitOne"),df("sqrtPriceLimitTwo"),yf("paymentAmount"),yf("feeAmount"),af("deadline")])}}}};let YO,FO=()=>YO||(YO="object"==typeof r?r:window,YO);const VO=()=>(void 0===FO()._Web3ClientConfiguration&&(FO()._Web3ClientConfiguration={}),FO()._Web3ClientConfiguration);function HO(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}class GO extends qA{constructor(e,t,n,r){super(e),this._network=t,this._endpoint=e,this._endpoints=n,this._failover=r,this._pendingBatch=[]}handleError(e,t,n){if(t<5&&e){const e=this._endpoints.indexOf(this._endpoint)+1;this._failover(),this._endpoint=e>=this._endpoints.length?this._endpoints[0]:this._endpoints[e],this.requestChunk(n,this._endpoint,t+1)}else n.forEach((t=>{t.reject(e)}))}detectNetwork(){return Promise.resolve(Vf.findByName(this._network).id)}batchRequest(e,t){return new Promise(((n,r)=>{0===e.length&&n([]),fetch(this._endpoint,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(1e4)}).then((e=>{e.ok?e.json().then((e=>{e.find((e=>HO([e,"optionalAccess",e=>e.error])&&[-32062,-32016].includes(HO([e,"optionalAccess",e=>e.error,"optionalAccess",e=>e.code]))))&&t<5?r("Error in batch found!"):n(e)})).catch(r):r(`${e.status} ${e.text}`)})).catch(r)}))}requestChunk(e,t,n){const r=e.map((e=>e.request));try{return this.batchRequest(r,n).then((t=>{e.forEach(((e,n)=>{const r=t[n];if(HO([r,"optionalAccess",e=>e.error])){const t=new Error(r.error.message);t.code=r.error.code,t.data=r.error.data,e.reject(t)}else HO([r,"optionalAccess",e=>e.result])?e.resolve(r.result):e.reject()}))})).catch((t=>this.handleError(t,n,e)))}catch(t){this.handleError(t,n,e)}}send(e,t){const n={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:n,resolve:null,reject:null},i=new Promise(((e,t)=>{r.resolve=e,r.reject=t}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const e=this._pendingBatch;this._pendingBatch=[],this._pendingBatchAggregator=null;const t=[];for(let n=0;n<Math.ceil(e.length/50);n++)t[n]=e.slice(50*n,50*(n+1));t.forEach((e=>(e.map((e=>e.request)),this.requestChunk(e,this._endpoint,1))))}),VO().batchInterval||10)),i}}const qO=()=>(null==FO()._Web3ClientProviders&&(FO()._Web3ClientProviders={}),FO()._Web3ClientProviders),ZO=(e,t)=>{if(null==t)return;void 0===qO()[e]&&(qO()[e]=[]);const n=qO()[e].indexOf(t);n>-1&&qO()[e].splice(n,1),qO()[e].unshift(t)},JO=async(e,t,n=!0)=>{let r;qO()[e]=t.map(((r,i)=>new GO(r,e,t,(()=>{1===qO()[e].length?JO(e,t,n):qO()[e].splice(i,1)}))));let i=FO();if(null==i.fetch||void 0!==x&&x.env&&"test"==x.env.NODE_ENV||void 0!==i.cy||!1===n)r=qO()[e][0];else{let n=await Promise.all(t.map((e=>new Promise((async t=>{let n,r=(new Date).getTime();setTimeout((()=>t(900)),900);try{n=await fetch(e,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},referrer:"",referrerPolicy:"no-referrer",body:JSON.stringify({method:"net_version",id:1,jsonrpc:"2.0"}),signal:AbortSignal.timeout(1e4)})}catch(e){}if(!function(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}([n,"optionalAccess",e=>e.ok]))return t(999);let i=(new Date).getTime();t(i-r)})))));const i=Math.min(...n),o=n.indexOf(i);r=qO()[e][o]}ZO(e,r)};var XO=async e=>{let t=qO();if(t&&t[e])return t[e][0];let n=FO();return n._Web3ClientGetProviderPromise&&n._Web3ClientGetProviderPromise[e]||(n._Web3ClientGetProviderPromise||(n._Web3ClientGetProviderPromise={}),n._Web3ClientGetProviderPromise[e]=new Promise((async t=>{await JO(e,Vf[e].endpoints),t(FO()._Web3ClientProviders[e][0])}))),await n._Web3ClientGetProviderPromise[e]},KO=async e=>{let t=qO();if(t&&t[e])return t[e];let n=FO();return n._Web3ClientGetProvidersPromise&&n._Web3ClientGetProvidersPromise[e]||(n._Web3ClientGetProvidersPromise||(n._Web3ClientGetProvidersPromise={}),n._Web3ClientGetProvidersPromise[e]=new Promise((async t=>{await JO(e,Vf[e].endpoints),t(FO()._Web3ClientProviders[e])}))),await n._Web3ClientGetProvidersPromise[e]};function $O(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}class ez extends Vl{constructor(e,t,n,r){super(e),this._provider=new Vl(e),this._network=t,this._endpoint=e,this._endpoints=n,this._failover=r,this._pendingBatch=[],this._rpcRequest=this._rpcRequestReplacement.bind(this)}handleError(e,t,n){if(t<10){const e=this._endpoints.indexOf(this._endpoint)+1;this._endpoint=e>=this._endpoints.length?this._endpoints[0]:this._endpoints[e],this._provider=new Vl(this._endpoint),this.requestChunk(n,t+1)}else n.forEach((t=>{t.reject(e)}))}batchRequest(e,t){return new Promise(((n,r)=>{0===e.length&&n([]);const i=e.map((e=>this._rpcClient.request(e.methodName,e.args)));fetch(this._endpoint,{method:"POST",body:JSON.stringify(i),headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(1e4)}).then((e=>{e.ok?e.json().then((e=>{e.find((e=>$O([e,"optionalAccess",e=>e.error])))&&t<10?r("Error in batch found!"):n(e)})).catch(r):r(`${e.status} ${e.text}`)})).catch(r)}))}requestChunk(e,t){const n=e.map((e=>e.request));try{return this.batchRequest(n,t).then((t=>{e.forEach(((e,n)=>{const r=t[n];if($O([r,"optionalAccess",e=>e.error])){const t=new Error(r.error.message);t.code=r.error.code,t.data=r.error.data,e.reject(t)}else r?e.resolve(r):e.reject()}))})).catch((n=>this.handleError(n,t,e)))}catch(n){return this.handleError(n,t,e)}}_rpcRequestReplacement(e,t){const n={methodName:e,args:t};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:n,resolve:null,reject:null},i=new Promise(((e,t)=>{r.resolve=e,r.reject=t}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const e=this._pendingBatch;this._pendingBatch=[],this._pendingBatchAggregator=null;const t=[];for(let n=0;n<Math.ceil(e.length/50);n++)t[n]=e.slice(50*n,50*(n+1));t.forEach((e=>(e.map((e=>e.request)),this.requestChunk(e,1))))}),VO().batchInterval||10)),i}}const tz=()=>(null==FO()._Web3ClientProviders&&(FO()._Web3ClientProviders={}),FO()._Web3ClientProviders),nz=(e,t)=>{if(null==t)return;void 0===tz()[e]&&(tz()[e]=[]);const n=tz()[e].indexOf(t);n>-1&&tz()[e].splice(n,1),tz()[e].unshift(t)},rz=async(e,t,n=!0)=>{let r;tz()[e]=t.map(((r,i)=>new ez(r,e,t,(()=>{1===tz()[e].length?rz(e,t,n):tz()[e].splice(i,1)}))));let i=FO();if(null==i.fetch||void 0!==x&&x.env&&"test"==x.env.NODE_ENV||void 0!==i.cy||!1===n)r=tz()[e][0];else{let n=await Promise.all(t.map((e=>new Promise((async t=>{let n,r=(new Date).getTime();setTimeout((()=>t(900)),900);try{n=await fetch(e,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},referrer:"",referrerPolicy:"no-referrer",body:JSON.stringify({method:"getIdentity",id:1,jsonrpc:"2.0"}),signal:AbortSignal.timeout(1e4)})}catch(e){}if(!function(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}([n,"optionalAccess",e=>e.ok]))return t(999);let i=(new Date).getTime();t(i-r)})))));const i=Math.min(...n),o=n.indexOf(i);r=tz()[e][o]}nz(e,r)};var iz=async e=>{let t=tz();if(t&&t[e])return t[e][0];let n=FO();return n._Web3ClientGetProviderPromise&&n._Web3ClientGetProviderPromise[e]||(n._Web3ClientGetProviderPromise||(n._Web3ClientGetProviderPromise={}),n._Web3ClientGetProviderPromise[e]=new Promise((async t=>{await rz(e,Vf[e].endpoints),t(FO()._Web3ClientProviders[e][0])}))),await n._Web3ClientGetProviderPromise[e]},oz=async e=>{let t=tz();if(t&&t[e])return t[e];let n=FO();return n._Web3ClientGetProvidersPromise&&n._Web3ClientGetProvidersPromise[e]||(n._Web3ClientGetProvidersPromise||(n._Web3ClientGetProvidersPromise={}),n._Web3ClientGetProvidersPromise[e]=new Promise((async t=>{await rz(e,Vf[e].endpoints),t(FO()._Web3ClientProviders[e])}))),await n._Web3ClientGetProvidersPromise[e]};let az=["ethereum","bsc","polygon","solana","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"];az.evm=["ethereum","bsc","polygon","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"],az.solana=["solana"];let sz=()=>(null==FO()._Web3ClientCacheStore&&(FO()._Web3ClientCacheStore={}),FO()._Web3ClientCacheStore),uz=()=>(null==FO()._Web3ClientPromiseStore&&(FO()._Web3ClientPromiseStore={}),FO()._Web3ClientPromiseStore),cz=function({key:e}){uz()[e]=void 0},lz=function({call:e,key:t,expires:n=0}){return new Promise(((r,i)=>{let o,a=function({key:e}){return uz()[e]}({key:t=JSON.stringify(t)});if(a)return a.then(r).catch(i);(function({key:e,promise:t}){return uz()[e]=t,t})({key:t,promise:new Promise(((a,s)=>0===n?e().then((e=>{r(e),a(e)})).catch((e=>{i(e),s(e)})):(o=function({key:e,expires:t}){let n=sz()[e];if(function(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}([n,"optionalAccess",e=>e.expiresAt])>Date.now())return n.value}({key:t,expires:n}),o?(r(o),a(o),o):void e().then((e=>{e&&function({key:e,value:t,expires:n}){sz()[e]={expiresAt:Date.now()+n,value:t}}({key:t,value:e,expires:n}),r(e),a(e)})).catch((e=>{i(e),s(e)})))))}).then((()=>{cz({key:t})})).catch((()=>{cz({key:t})}))}))};const hz=async e=>{if(az.evm.includes(e))return await XO(e);if(az.solana.includes(e))return await iz(e);throw"Unknown blockchain: "+e};const dz=({address:e,api:t,method:n,params:r,provider:i,block:o})=>{const a=new zM(e,t,i),s=(({contract:e,method:t,params:n})=>e.interface.fragments.find((e=>e.name==t)).inputs.map(((e,t)=>Array.isArray(n)?n[t]:n[e.name])))({contract:a,method:n,params:r}),u=a.interface.fragments.find((e=>e.name===n));return void 0===a[n]&&(n=`${n}(${u.inputs.map((e=>e.type)).join(",")})`),u&&"nonpayable"===u.stateMutability?a.callStatic[n](...s,{blockTag:o}):a[n](...s,{blockTag:o})},fz=({blockchain:e,address:t,api:n,method:r,params:i,block:o,provider:a})=>n?dz({address:t,api:n,method:r,params:i,provider:a,block:o}):"latestBlockNumber"===r?a.getBlockNumber():"balance"===r?(({address:e,provider:t})=>t.getBalance(e))({address:t,provider:a}):"transactionCount"===r?(({address:e,provider:t})=>t.getTransactionCount(e))({address:t,provider:a}):void 0;const pz=async({blockchain:e,address:t,api:n,method:r,params:i,block:o,provider:a,providers:s})=>{try{if(null==r||"getAccountInfo"===r)return null==n&&(n=tf),await(async({address:e,api:t,method:n,params:r,provider:i,block:o})=>{const a=await i.getAccountInfo(new qs(e));if(a&&a.data)return t.decode(a.data)})({address:t,api:n,method:r,params:i,provider:a,block:o});if("getProgramAccounts"===r)return await a.getProgramAccounts(new qs(t),i).then((e=>n?e.map((e=>(e.data=n.decode(e.account.data),e))):e));if("getTokenAccountBalance"===r)return await a.getTokenAccountBalance(new qs(t));if("latestBlockNumber"===r)return await a.getSlot(i||void 0);if("balance"===r)return await(({address:e,provider:t})=>t.getBalance(new qs(e)))({address:t,provider:a})}catch(u){if(s&&u&&["Failed to fetch","limit reached","504","503","502","500","429","426","422","413","409","408","406","405","404","403","402","401","400"].some((e=>u.toString().match(e)))){let u=s[s.indexOf(a)+1]||s[0];return pz({blockchain:e,address:t,api:n,method:r,params:i,block:o,provider:u,providers:s})}throw u}};const yz=async function(e,t){const{blockchain:n,address:r,method:i}=(e=>{if("object"==typeof e)return e;let t=e.match(/(?<blockchain>\w+):\/\/(?<part1>[\w\d]+)(\/(?<part2>[\w\d]+)*)?/);return null==t.groups.part2?t.groups.part1.match(/\d/)?{blockchain:t.groups.blockchain,address:t.groups.part1}:{blockchain:t.groups.blockchain,method:t.groups.part1}:{blockchain:t.groups.blockchain,address:t.groups.part1,method:t.groups.part2}})(e),{api:o,params:a,cache:s,block:u,timeout:c,strategy:l,cacheKey:h}=("object"==typeof e?e:t)||{};return await lz({expires:s||0,key:h||[n,r,i,a,u],call:async()=>{if(az.evm.includes(n))return await(async({blockchain:e,address:t,api:n,method:r,params:i,block:o,timeout:a,strategy:s})=>{if(s=s||VO().strategy||"failover",a=a||VO().timeout||void 0,"fastest"===s){const s=await KO(e);let u=[];const c=s.map((a=>new Promise((s=>{u.push(fz({blockchain:e,address:t,api:n,method:r,params:i,block:o,provider:a}).then(s))})))),l=new Promise(((e,t)=>setTimeout((()=>{t(new Error("Web3ClientTimeout"))}),a||1e4)));return u=Promise.all(u.map((e=>new Promise((t=>{e.catch(t)}))))).then((()=>{})),Promise.race([...c,l,u])}{const s=await XO(e),u=fz({blockchain:e,address:t,api:n,method:r,params:i,block:o,provider:s});return a?(a=new Promise(((e,t)=>setTimeout((()=>{t(new Error("Web3ClientTimeout"))}),a))),Promise.race([u,a])):u}})({blockchain:n,address:r,api:o,method:i,params:a,block:u,strategy:l,timeout:c});if(az.solana.includes(n))return await(async({blockchain:e,address:t,api:n,method:r,params:i,block:o,timeout:a,strategy:s})=>{s=s||VO().strategy||"failover",a=a||VO().timeout||void 0;const u=await oz(e);if("fastest"===s){let s=[];const c=u.map((a=>new Promise((u=>{s.push(pz({blockchain:e,address:t,api:n,method:r,params:i,block:o,provider:a}).then(u))})))),l=new Promise(((e,t)=>setTimeout((()=>{t(new Error("Web3ClientTimeout"))}),a||1e4)));return s=Promise.all(s.map((e=>new Promise((t=>{e.catch(t)}))))).then((()=>{})),Promise.race([...c,l,s])}{const s=await iz(e),c=pz({blockchain:e,address:t,api:n,method:r,params:i,block:o,provider:s,providers:u});return a?(a=new Promise(((e,t)=>setTimeout((()=>{t(new Error("Web3ClientTimeout"))}),a))),Promise.race([c,a])):c}})({blockchain:n,address:r,api:o,method:i,params:a,block:u,strategy:l,timeout:c});throw"Unknown blockchain: "+n}})},mz=async({wSolSenderAccountKeypair:e,paymentRoute:t})=>{if(!e)return;const n=t.fromToken.address===Vf.solana.currency.address?new ef(t.fromAmount):new ef("0"),r=await hz("solana"),i=new ef(await r.getMinimumBalanceForRentExemption(RS.solana.TOKEN_LAYOUT.span)),o=t.fromAddress,a=n.add(i);return[Uu.createAccount({fromPubkey:new qs(o),newAccountPubkey:e.publicKey,programId:new qs(RS.solana.TOKEN_PROGRAM),space:RS.solana.TOKEN_LAYOUT.span,lamports:a}),RS.solana.initializeAccountInstruction({account:e.publicKey.toString(),token:Vf.solana.wrapped.address,owner:o})]},gz=async({wSolEscrowAccountKeypair:e,paymentRoute:t})=>{if(!e)return;const n=await hz("solana"),r=new ef(await n.getMinimumBalanceForRentExemption(RS.solana.TOKEN_LAYOUT.span)),i=await Sz();return[Uu.createAccount({fromPubkey:new qs(t.fromAddress),newAccountPubkey:e.publicKey,programId:new qs(RS.solana.TOKEN_PROGRAM),space:RS.solana.TOKEN_LAYOUT.span,lamports:r}),RS.solana.initializeAccountInstruction({account:e.publicKey.toString(),token:Vf.solana.wrapped.address,owner:i.toString()})]},vz=({paymentRoute:e})=>{let t=[...e.exchangeRoutes[0].path];return t.indexOf(Vf.solana.currency.address)>-1&&t.splice(t.indexOf(Vf.solana.currency.address),1),t.indexOf(e.fromToken.address)>-1&&t.splice(t.indexOf(e.fromToken.address),1),t.indexOf(e.toToken.address)>-1&&t.splice(t.indexOf(e.toToken.address),1),2===t.length&&t[0]===Vf.solana.wrapped.address?t[1]:t[0]},wz=async({paymentRoute:e})=>await RS.solana.findProgramAddress({token:vz({paymentRoute:e}),owner:e.fromAddress}),bz=async({paymentRoute:e})=>{if(0===e.exchangeRoutes.length||Oz(e.exchangeRoutes[0].path).length<=2)return;return await(async({paymentRoute:e})=>await yz({blockchain:"solana",address:await wz({paymentRoute:e}),api:RS.solana.TOKEN_LAYOUT,cache:1e3}))({paymentRoute:e})?void 0:RS.solana.createAssociatedTokenAccountInstruction({token:vz({paymentRoute:e}),owner:e.fromAddress,payer:e.fromAddress})},Mz=async({wSolSenderAccountKeypair:e,paymentRoute:t})=>{if(e)return RS.solana.closeAccountInstruction({account:e.publicKey.toString(),owner:t.fromAddress})},Az=async({from:e})=>{let t=[$d.from("payments"),new qs(e).toBuffer()],[n]=await qs.findProgramAddress(t,new qs(WO.solana.address));return n},Iz=async({from:e})=>{let t=(await Az({from:e})).toString();return await yz({blockchain:"solana",address:t,api:hf([yf("anchorDiscriminator"),yf("nonce")]),cache:1e3})},Nz=async({from:e})=>{if(await Iz({from:e}))return;const t=[{pubkey:Uu.programId,isSigner:!1,isWritable:!1},{pubkey:new qs(e),isSigner:!0,isWritable:!0},{pubkey:await Az({from:e}),isSigner:!1,isWritable:!0}],n=$d.alloc(WO.solana.api.createPaymentsAccount.layout.span);return WO.solana.api.createPaymentsAccount.layout.encode({anchorDiscriminator:WO.solana.api.createPaymentsAccount.anchorDiscriminator},n),new pu({keys:t,programId:new qs(WO.solana.address),data:n})},Tz=async({paymentRoute:e})=>await RS.solana.findProgramAddress({token:e.fromToken.address,owner:e.fromAddress}),Ez=async({paymentRoute:e})=>await RS.solana.findProgramAddress({token:e.toToken.address,owner:e.toAddress}),xz=async({paymentRoute:e})=>{if(e.toToken.address===Vf.solana.currency.address){const t=await yz({blockchain:"solana",method:"balance",address:e.toAddress}),n=await hz("solana"),r=new ef(await n.getMinimumBalanceForRentExemption(0)),i=new ef(e.toAmount);if(new ef(t).add(i).gt(r))return;return Uu.transfer({fromPubkey:new qs(e.fromAddress),toPubkey:new qs(e.toAddress),lamports:r.sub(i)})}{const t=e.toToken.address;if(await(async({paymentRoute:e})=>await RS.solana.findAccount({token:e.toToken.address,owner:e.toAddress}))({paymentRoute:e}))return;return RS.solana.createAssociatedTokenAccountInstruction({token:t,owner:e.toAddress,payer:e.fromAddress})}},kz=async({paymentRoute:e})=>await RS.solana.findProgramAddress({token:e.toToken.address,owner:e.fee.receiver}),Lz=async({paymentRoute:e})=>{if(e.fee){if(e.toToken.address===Vf.solana.currency.address){const t=await yz({blockchain:"solana",method:"balance",address:e.fee.receiver}),n=await hz("solana"),r=new ef(await n.getMinimumBalanceForRentExemption(0)),i=new ef(e.feeAmount);if(new ef(t).add(i).gt(r))return;return Uu.transfer({fromPubkey:new qs(e.fromAddress),toPubkey:new qs(e.fee.receiver),lamports:r.sub(i)})}{const t=e.toToken.address;if(await(async({paymentRoute:e})=>await RS.solana.findAccount({token:e.toToken.address,owner:e.fee.receiver}))({paymentRoute:e}))return;return RS.solana.createAssociatedTokenAccountInstruction({token:t,owner:e.fee.receiver,payer:e.fromAddress})}}},Sz=async()=>{let e=[$d.from("escrow_sol")],[t,n]=await qs.findProgramAddress(e,new qs(WO.solana.address));return t},jz=async({paymentRoute:e})=>{let t=[$d.from("escrow"),new qs(e.toToken.address===Vf.solana.currency.address?Vf.solana.wrapped.address:e.toToken.address).toBuffer()],[n,r]=await qs.findProgramAddress(t,new qs(WO.solana.address));return n},Dz=async({paymentRoute:e})=>{if(0===e.exchangeRoutes.length||e.toToken.address===Vf.solana.currency.address)return;if(await(async({paymentRoute:e})=>await yz({blockchain:"solana",address:(await jz({paymentRoute:e})).toString(),api:RS.solana.TOKEN_LAYOUT,cache:1e3}))({paymentRoute:e}))return;const t=[{pubkey:Uu.programId,isSigner:!1,isWritable:!1},{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:new qs(e.toToken.address===Vf.solana.currency.address?Vf.solana.wrapped.address:e.toToken.address),isSigner:!1,isWritable:!0},{pubkey:await jz({paymentRoute:e}),isSigner:!1,isWritable:!0}],n=$d.alloc(WO.solana.api.createEscrowTokenAccount.layout.span);return WO.solana.api.createEscrowTokenAccount.layout.encode({anchorDiscriminator:WO.solana.api.createEscrowTokenAccount.anchorDiscriminator},n),new pu({keys:t,programId:new qs(WO.solana.address),data:n})},Cz=async({paymentRoute:e})=>{if(0===e.exchangeRoutes.length||e.toToken.address!=Vf.solana.currency.address)return;if(await(async({paymentRoute:e})=>await yz({blockchain:"solana",address:(await Sz()).toString(),api:hf([yf("amount"),uf("owner")]),cache:1e3}))({paymentRoute:e}))return;const t=[{pubkey:Uu.programId,isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await Sz(),isSigner:!1,isWritable:!0}],n=$d.alloc(WO.solana.api.createEscrowSolAccount.layout.span);return WO.solana.api.createEscrowSolAccount.layout.encode({anchorDiscriminator:WO.solana.api.createEscrowSolAccount.anchorDiscriminator},n),new pu({keys:t,programId:new qs(WO.solana.address),data:n})},Oz=e=>e.filter((e=>e!==Vf.solana.currency.address)),zz=async({paymentRoute:e,wSolSenderAccountKeypair:t,wSolEscrowAccountKeypair:n,nonce:r,deadline:i})=>{switch((({paymentRoute:e})=>{if(e.fromToken.address===Vf.solana.currency.address&&e.toToken.address===Vf.solana.currency.address)return"routeSol";if(e.fromToken.address!==Vf.solana.currency.address&&e.toToken.address!==Vf.solana.currency.address&&0===e.exchangeRoutes.length)return"routeToken";if(e.exchangeRoutes.length>0&&2===Oz(e.exchangeRoutes[0].path).length)return e.toToken.address===Vf.solana.currency.address?"routeOrcaSwapSolOut":"routeOrcaSwap";if(e.exchangeRoutes.length>0&&Oz(e.exchangeRoutes[0].path).length>2)return e.toToken.address===Vf.solana.currency.address?"routeOrcaTwoHopSwapSolOut":"routeOrcaTwoHopSwap";throw"Payment method does not exist!"})({paymentRoute:e})){case"routeSol":return await(async({paymentRoute:e,nonce:t,deadline:n})=>{const r=new qs(e.toAddress),i=e.fee?new qs(e.fee.receiver):r,o=[{pubkey:Uu.programId,isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await Az({from:e.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0}],a=$d.alloc(WO.solana.api.routeSol.layout.span);return WO.solana.api.routeSol.layout.encode({anchorDiscriminator:WO.solana.api.routeSol.anchorDiscriminator,nonce:t,paymentAmount:new ef(e.toAmount.toString()),feeAmount:new ef((e.feeAmount||"0").toString()),deadline:new ef(n)},a),new pu({keys:o,programId:new qs(WO.solana.address),data:a})})({paymentRoute:e,nonce:r,deadline:i});case"routeToken":return await(async({paymentRoute:e,nonce:t,deadline:n})=>{const r=await Tz({paymentRoute:e}),i=await Ez({paymentRoute:e}),o=e.fee?await kz({paymentRoute:e}):i,a=[{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await Az({from:e.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new qs(r),isSigner:!1,isWritable:!0},{pubkey:new qs(i),isSigner:!1,isWritable:!0},{pubkey:new qs(o),isSigner:!1,isWritable:!0}],s=$d.alloc(WO.solana.api.routeToken.layout.span);return WO.solana.api.routeToken.layout.encode({anchorDiscriminator:WO.solana.api.routeToken.anchorDiscriminator,nonce:t,paymentAmount:new ef(e.toAmount.toString()),feeAmount:new ef((e.feeAmount||"0").toString()),deadline:new ef(n)},s),new pu({keys:a,programId:new qs(WO.solana.address),data:s})})({paymentRoute:e,nonce:r,deadline:i});case"routeOrcaSwap":return await(async({paymentRoute:e,nonce:t,wSolSenderAccountKeypair:n,deadline:r})=>{const i=n?n.publicKey:await Tz({paymentRoute:e}),o=await Ez({paymentRoute:e}),a=e.fee?await kz({paymentRoute:e}):o,s=await jz({paymentRoute:e}),u=(await e.exchangeRoutes[0].getTransaction({account:e.fromAddress})).instructions.find((e=>e.programId.toString()===WO.solana.ammProgram)),c=hf([yf("anchorDiscriminator"),yf("amount"),yf("otherAmountThreshold"),df("sqrtPriceLimit"),nf("amountSpecifiedIsInput"),nf("aToB")]).decode(u.data),l=[{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new qs(WO.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await Az({from:e.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new qs(i),isSigner:!1,isWritable:!0},u.keys[2],u.keys[4],u.keys[6],u.keys[7],u.keys[8],u.keys[9],u.keys[10],{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:new qs(o),isSigner:!1,isWritable:!0},{pubkey:new qs(a),isSigner:!1,isWritable:!0}],h=$d.alloc(WO.solana.api.routeOrcaSwap.layout.span);return WO.solana.api.routeOrcaSwap.layout.encode({anchorDiscriminator:WO.solana.api.routeOrcaSwap.anchorDiscriminator,nonce:t,amountIn:c.amount,sqrtPriceLimit:c.sqrtPriceLimit,amountSpecifiedIsInput:c.amountSpecifiedIsInput,aToB:c.aToB,paymentAmount:new ef(e.toAmount.toString()),feeAmount:new ef((e.feeAmount||"0").toString()),deadline:new ef(r)},h),new pu({keys:l,programId:new qs(WO.solana.address),data:h})})({paymentRoute:e,nonce:r,wSolSenderAccountKeypair:t,deadline:i});case"routeOrcaSwapSolOut":return await(async({paymentRoute:e,nonce:t,wSolEscrowAccountKeypair:n,deadline:r})=>{const i=await Tz({paymentRoute:e}),o=n.publicKey,a=(await e.exchangeRoutes[0].getTransaction({account:e.fromAddress})).instructions.find((e=>e.programId.toString()===WO.solana.ammProgram)),s=hf([yf("anchorDiscriminator"),yf("amount"),yf("otherAmountThreshold"),df("sqrtPriceLimit"),nf("amountSpecifiedIsInput"),nf("aToB")]).decode(a.data),u=[{pubkey:Uu.programId,isSigner:!1,isWritable:!1},{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new qs(WO.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await Az({from:e.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new qs(i),isSigner:!1,isWritable:!0},a.keys[2],a.keys[4],a.keys[6],a.keys[7],a.keys[8],a.keys[9],a.keys[10],{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:await Sz(),isSigner:!1,isWritable:!0},{pubkey:new qs(e.toAddress),isSigner:!1,isWritable:!0},{pubkey:new qs(e.fee?e.fee.receiver:e.toAddress),isSigner:!1,isWritable:!0}],c=$d.alloc(WO.solana.api.routeOrcaSwapSolOut.layout.span);return WO.solana.api.routeOrcaSwapSolOut.layout.encode({anchorDiscriminator:WO.solana.api.routeOrcaSwapSolOut.anchorDiscriminator,nonce:t,amountIn:s.amount,sqrtPriceLimit:s.sqrtPriceLimit,amountSpecifiedIsInput:s.amountSpecifiedIsInput,aToB:s.aToB,paymentAmount:new ef(e.toAmount.toString()),feeAmount:new ef((e.feeAmount||"0").toString()),deadline:new ef(r)},c),new pu({keys:u,programId:new qs(WO.solana.address),data:c})})({paymentRoute:e,nonce:r,wSolEscrowAccountKeypair:n,deadline:i});case"routeOrcaTwoHopSwap":return await(async({paymentRoute:e,nonce:t,wSolSenderAccountKeypair:n,deadline:r})=>{const i=new qs(await Ez({paymentRoute:e})),o=e.fee?new qs(await kz({paymentRoute:e})):i,a=await jz({paymentRoute:e}),s=new qs(await wz({paymentRoute:e})),u=(await e.exchangeRoutes[0].getTransaction({account:e.fromAddress})).instructions.find((e=>e.programId.toString()===WO.solana.ammProgram)),c=n?n.publicKey:new qs(await Tz({paymentRoute:e})),l=hf([yf("anchorDiscriminator"),yf("amount"),yf("otherAmountThreshold"),nf("amountSpecifiedIsInput"),nf("aToBOne"),nf("aToBTwo"),df("sqrtPriceLimitOne"),df("sqrtPriceLimitTwo")]).decode(u.data),h=[{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new qs(WO.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await Az({from:e.fromAddress}),isSigner:!1,isWritable:!0},u.keys[2],u.keys[3],{pubkey:c,isSigner:!1,isWritable:!0},u.keys[5],u.keys[7],{pubkey:s,isSigner:!1,isWritable:!0},u.keys[9],u.keys[11],u.keys[12],u.keys[13],u.keys[14],u.keys[15],u.keys[16],u.keys[17],u.keys[18],u.keys[19],{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0}],d=$d.alloc(WO.solana.api.routeOrcaTwoHopSwap.layout.span);return WO.solana.api.routeOrcaTwoHopSwap.layout.encode({anchorDiscriminator:WO.solana.api.routeOrcaTwoHopSwap.anchorDiscriminator,nonce:t,amountIn:l.amount,amountSpecifiedIsInput:l.amountSpecifiedIsInput,aToBOne:l.aToBOne,aToBTwo:l.aToBTwo,sqrtPriceLimitOne:l.sqrtPriceLimitOne,sqrtPriceLimitTwo:l.sqrtPriceLimitTwo,paymentAmount:new ef(e.toAmount.toString()),feeAmount:new ef((e.feeAmount||"0").toString()),deadline:new ef(r)},d),new pu({keys:h,programId:new qs(WO.solana.address),data:d})})({paymentRoute:e,nonce:r,wSolSenderAccountKeypair:t,deadline:i});case"routeOrcaTwoHopSwapSolOut":return await(async({paymentRoute:e,nonce:t,wSolEscrowAccountKeypair:n,deadline:r})=>{const i=new qs(await wz({paymentRoute:e})),o=(await e.exchangeRoutes[0].getTransaction({account:e.fromAddress})).instructions.find((e=>e.programId.toString()===WO.solana.ammProgram)),a=new qs(await Tz({paymentRoute:e})),s=hf([yf("anchorDiscriminator"),yf("amount"),yf("otherAmountThreshold"),nf("amountSpecifiedIsInput"),nf("aToBOne"),nf("aToBTwo"),df("sqrtPriceLimitOne"),df("sqrtPriceLimitTwo")]).decode(o.data),u=[{pubkey:Uu.programId,isSigner:!1,isWritable:!1},{pubkey:new qs(RS.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new qs(WO.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new qs(e.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await Az({from:e.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},o.keys[2],o.keys[3],o.keys[5],o.keys[7],{pubkey:i,isSigner:!1,isWritable:!0},o.keys[9],o.keys[11],o.keys[12],o.keys[13],o.keys[14],o.keys[15],o.keys[16],o.keys[17],o.keys[18],o.keys[19],{pubkey:n.publicKey,isSigner:!1,isWritable:!0},{pubkey:await Sz(),isSigner:!1,isWritable:!0},{pubkey:new qs(e.toAddress),isSigner:!1,isWritable:!0},{pubkey:new qs(e.fee?e.fee.receiver:e.toAddress),isSigner:!1,isWritable:!0}],c=$d.alloc(WO.solana.api.routeOrcaTwoHopSwapSolOut.layout.span);return WO.solana.api.routeOrcaTwoHopSwapSolOut.layout.encode({anchorDiscriminator:WO.solana.api.routeOrcaTwoHopSwapSolOut.anchorDiscriminator,nonce:t,amountIn:s.amount,amountSpecifiedIsInput:s.amountSpecifiedIsInput,aToBOne:s.aToBOne,aToBTwo:s.aToBTwo,sqrtPriceLimitOne:s.sqrtPriceLimitOne,sqrtPriceLimitTwo:s.sqrtPriceLimitTwo,paymentAmount:new ef(e.toAmount.toString()),feeAmount:new ef((e.feeAmount||"0").toString()),deadline:new ef(r)},c),new pu({keys:u,programId:new qs(WO.solana.address),data:c})})({paymentRoute:e,nonce:r,wSolEscrowAccountKeypair:n,deadline:i})}},Pz=async({paymentRoute:e})=>{const t=await Iz({from:e.fromAddress}),n=Math.ceil((new Date).getTime()/1e3)+1800,r=(e=>e?e.nonce:new ef("0"))(t),i=await(async({paymentRoute:e})=>{if(e.fromToken.address===Vf.solana.currency.address&&e.toToken.address!==Vf.solana.currency.address)return Hl.generate()})({paymentRoute:e}),o=await(async({paymentRoute:e})=>{if(e.fromToken.address!==Vf.solana.currency.address&&e.toToken.address===Vf.solana.currency.address)return Hl.generate()})({paymentRoute:e});let a=(await Promise.all([Nz({from:e.fromAddress}),mz({paymentRoute:e,wSolSenderAccountKeypair:i}),bz({paymentRoute:e}),xz({paymentRoute:e}),Lz({paymentRoute:e}),Cz({paymentRoute:e}),gz({paymentRoute:e,wSolEscrowAccountKeypair:o}),Dz({paymentRoute:e}),zz({paymentRoute:e,wSolSenderAccountKeypair:i,wSolEscrowAccountKeypair:o,nonce:r,deadline:n}),Mz({paymentRoute:e,wSolSenderAccountKeypair:i})])).filter(Boolean).flat();const s={blockchain:e.blockchain,instructions:a,signers:[i,o].filter(Boolean),alts:[WO.solana.alt]};return s.deadline=n,s.nonce=r.toString(),s},_z=[{inputs:[{internalType:"address",name:"_PERMIT2",type:"address"},{internalType:"address",name:"_FORWARDER",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ExchangeCallFailed",type:"error"},{inputs:[],name:"ExchangeCallMissing",type:"error"},{inputs:[],name:"ExchangeNotApproved",type:"error"},{inputs:[],name:"ForwardingPaymentFailed",type:"error"},{inputs:[],name:"InsufficientBalanceInAfterPayment",type:"error"},{inputs:[],name:"InsufficientBalanceOutAfterPayment",type:"error"},{inputs:[],name:"NativeFeePaymentFailed",type:"error"},{inputs:[],name:"NativePaymentFailed",type:"error"},{inputs:[],name:"PaymentDeadlineReached",type:"error"},{inputs:[],name:"PaymentToZeroAddressNotAllowed",type:"error"},{inputs:[],name:"WrongAmountPaidIn",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"exchange",type:"address"}],name:"Disabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"exchange",type:"address"}],name:"Enabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"InternalTransfer",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"},{inputs:[],name:"FORWARDER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"exchange",type:"address"},{internalType:"bool",name:"enabled",type:"bool"}],name:"enable",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"exchanges",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"bool",name:"permit2",type:"bool"},{internalType:"uint256",name:"paymentAmount",type:"uint256"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{internalType:"address",name:"tokenInAddress",type:"address"},{internalType:"address",name:"exchangeAddress",type:"address"},{internalType:"address",name:"tokenOutAddress",type:"address"},{internalType:"address",name:"paymentReceiverAddress",type:"address"},{internalType:"address",name:"feeReceiverAddress",type:"address"},{internalType:"uint8",name:"exchangeType",type:"uint8"},{internalType:"uint8",name:"receiverType",type:"uint8"},{internalType:"bytes",name:"exchangeCallData",type:"bytes"},{internalType:"bytes",name:"receiverCallData",type:"bytes"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct IDePayRouterV2.Payment",name:"payment",type:"tuple"}],name:"pay",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"bool",name:"permit2",type:"bool"},{internalType:"uint256",name:"paymentAmount",type:"uint256"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{internalType:"address",name:"tokenInAddress",type:"address"},{internalType:"address",name:"exchangeAddress",type:"address"},{internalType:"address",name:"tokenOutAddress",type:"address"},{internalType:"address",name:"paymentReceiverAddress",type:"address"},{internalType:"address",name:"feeReceiverAddress",type:"address"},{internalType:"uint8",name:"exchangeType",type:"uint8"},{internalType:"uint8",name:"receiverType",type:"uint8"},{internalType:"bytes",name:"exchangeCallData",type:"bytes"},{internalType:"bytes",name:"receiverCallData",type:"bytes"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct IDePayRouterV2.Payment",name:"payment",type:"tuple"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IPermit2.PermitDetails",name:"details",type:"tuple"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IPermit2.PermitSingle",name:"permitSingle",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"pay",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[],name:"pendingOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}];var Bz={ethereum:{address:"0x6466F27B169C908Ba8174d80aEfa7173CbC3D0c7",api:_z},bsc:{address:"0x7ea09401db4692a8AEF4111b75bD32AE758f552A",api:_z},polygon:{address:"0x50CFAB577623B1359602E11514a9482B061A941e",api:_z},fantom:{address:"0xFee05C41195985909DDfc9127Db1f94559c46db3",api:_z},avalanche:{address:"0xFee05C41195985909DDfc9127Db1f94559c46db3",api:_z},gnosis:{address:"0xFee05C41195985909DDfc9127Db1f94559c46db3",api:_z},arbitrum:{address:"0xA1cfbeeF344A52e18f748fd6a126f9426A40fbc7",api:_z},optimism:{address:"0x8698E529E9867eEbcC68b4792daC627cd8870736",api:_z},base:{address:"0x8B127D169D232D5F3ebE1C3D06CE343FD7C1AA11",api:_z},worldchain:{address:"0xC9850b32475f4fdE5c972EA6f967982a3c435D10",api:[{inputs:[{internalType:"address",name:"_PERMIT2",type:"address"},{internalType:"address",name:"_FORWARDER",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ExchangeCallFailed",type:"error"},{inputs:[],name:"ExchangeCallMissing",type:"error"},{inputs:[],name:"ExchangeNotApproved",type:"error"},{inputs:[],name:"ForwardingPaymentFailed",type:"error"},{inputs:[],name:"InsufficientBalanceInAfterPayment",type:"error"},{inputs:[],name:"InsufficientBalanceOutAfterPayment",type:"error"},{inputs:[],name:"InsufficientProtocolAmount",type:"error"},{inputs:[],name:"NativeFeePaymentFailed",type:"error"},{inputs:[],name:"NativePaymentFailed",type:"error"},{inputs:[],name:"PaymentDeadlineReached",type:"error"},{inputs:[],name:"PaymentToZeroAddressNotAllowed",type:"error"},{inputs:[],name:"WrongAmountPaidIn",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"exchange",type:"address"}],name:"Disabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"exchange",type:"address"}],name:"Enabled",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:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"deadline",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amountIn",type:"uint256"},{indexed:!1,internalType:"uint256",name:"paymentAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"feeAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"protocolAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"slippageAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"tokenInAddress",type:"address"},{indexed:!1,internalType:"address",name:"tokenOutAddress",type:"address"},{indexed:!1,internalType:"address",name:"feeReceiverAddress",type:"address"}],name:"Payment",type:"event"},{inputs:[],name:"FORWARDER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"exchange",type:"address"},{internalType:"bool",name:"enabled",type:"bool"}],name:"enable",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"exchanges",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"paymentAmount",type:"uint256"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{internalType:"uint256",name:"protocolAmount",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"address",name:"tokenInAddress",type:"address"},{internalType:"address",name:"exchangeAddress",type:"address"},{internalType:"address",name:"tokenOutAddress",type:"address"},{internalType:"address",name:"paymentReceiverAddress",type:"address"},{internalType:"address",name:"feeReceiverAddress",type:"address"},{internalType:"uint8",name:"exchangeType",type:"uint8"},{internalType:"uint8",name:"receiverType",type:"uint8"},{internalType:"bool",name:"permit2",type:"bool"},{internalType:"bytes",name:"exchangeCallData",type:"bytes"},{internalType:"bytes",name:"receiverCallData",type:"bytes"}],internalType:"structIDePayRouterV3.Payment",name:"payment",type:"tuple"},{components:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"structIPermit2.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"structIPermit2.PermitTransferFrom",name:"permitTransferFrom",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"structIDePayRouterV3.PermitTransferFromAndSignature",name:"permitTransferFromAndSignature",type:"tuple"}],name:"pay",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"paymentAmount",type:"uint256"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{internalType:"uint256",name:"protocolAmount",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"address",name:"tokenInAddress",type:"address"},{internalType:"address",name:"exchangeAddress",type:"address"},{internalType:"address",name:"tokenOutAddress",type:"address"},{internalType:"address",name:"paymentReceiverAddress",type:"address"},{internalType:"address",name:"feeReceiverAddress",type:"address"},{internalType:"uint8",name:"exchangeType",type:"uint8"},{internalType:"uint8",name:"receiverType",type:"uint8"},{internalType:"bool",name:"permit2",type:"bool"},{internalType:"bytes",name:"exchangeCallData",type:"bytes"},{internalType:"bytes",name:"receiverCallData",type:"bytes"}],internalType:"structIDePayRouterV3.Payment",name:"payment",type:"tuple"}],name:"pay",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"paymentAmount",type:"uint256"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{internalType:"uint256",name:"protocolAmount",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"address",name:"tokenInAddress",type:"address"},{internalType:"address",name:"exchangeAddress",type:"address"},{internalType:"address",name:"tokenOutAddress",type:"address"},{internalType:"address",name:"paymentReceiverAddress",type:"address"},{internalType:"address",name:"feeReceiverAddress",type:"address"},{internalType:"uint8",name:"exchangeType",type:"uint8"},{internalType:"uint8",name:"receiverType",type:"uint8"},{internalType:"bool",name:"permit2",type:"bool"},{internalType:"bytes",name:"exchangeCallData",type:"bytes"},{internalType:"bytes",name:"receiverCallData",type:"bytes"}],internalType:"structIDePayRouterV3.Payment",name:"payment",type:"tuple"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"structIPermit2.PermitDetails",name:"details",type:"tuple"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"structIPermit2.PermitSingle",name:"permitSingle",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"pay",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[],name:"pendingOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]}},Rz={...Bz,...WO},Uz="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:{},Qz="object"==typeof Uz&&Uz&&Uz.Object===Object&&Uz,Wz="object"==typeof self&&self&&self.Object===Object&&self,Yz=(Qz||Wz||Function("return this")()).Symbol;Yz&&Yz.toStringTag,Yz&&Yz.toStringTag;const Fz=e=>{switch(e){case"solana":return 125e-6;case"worldchain":return.0043;case"gnosis":return.009;case"base":return.0095;case"optimism":return.0096;case"polygon":return.011;case"fantom":return.05;case"avalanche":return.1;case"arbitrum":return.11;case"bsc":return.2;case"ethereum":return 10;default:return 100}};function Vz(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}const Hz={arbitrum:{[Vf.arbitrum.wrapped.address]:"0x7E655088214d0657251A51aDccE9109CFd23B5B5"},avalanche:{[Vf.avalanche.wrapped.address]:"0x2d0a6275eaDa0d03226919ce6D93661E589B2d59"},base:{[Vf.base.wrapped.address]:"0xD1711710843B125a6a01FfDF9b95fDc3064BeF7A"},bsc:{[Vf.bsc.wrapped.address]:"0xeEb80d14abfB058AA78DE38813fe705c3e3b243E"},ethereum:{[Vf.ethereum.wrapped.address]:"0x298f4980525594b3b982779cf74ba76819708D43"},fantom:{[Vf.fantom.wrapped.address]:"0x2d0a6275eaDa0d03226919ce6D93661E589B2d59"},gnosis:{[Vf.gnosis.wrapped.address]:"0x2d0a6275eaDa0d03226919ce6D93661E589B2d59"},optimism:{[Vf.optimism.wrapped.address]:"0x69594057e2C0224deb1180c7a5Df9ec9d5B611B5"},polygon:{[Vf.polygon.wrapped.address]:"0xaE59C9d3E055BdFAa583E169aA5Ebe395689476a"},worldchain:{[Vf.worldchain.wrapped.address]:"0x2CA727BC33915823e3D05fe043d310B8c5b2dC5b"},solana:{}},Gz=({paymentRoute:e,options:t})=>e.directTransfer&&!e.fee&&"World App"!==Vz([t,"optionalAccess",e=>e.wallet,"optionalAccess",e=>e.name])?e.toToken.address==Vf[e.blockchain].currency.address?e.toAddress:e.toToken.address:Bz[e.blockchain].address,qz=({paymentRoute:e,options:t})=>e.directTransfer&&!e.fee&&"World App"!==Vz([t,"optionalAccess",e=>e.wallet,"optionalAccess",e=>e.name])?e.toToken.address==Vf[e.blockchain].currency.address?void 0:RS[e.blockchain].DEFAULT:Bz[e.blockchain].api,Zz=({paymentRoute:e,options:t})=>e.directTransfer&&!e.fee&&"World App"!==Vz([t,"optionalAccess",e=>e.wallet,"optionalAccess",e=>e.name])?e.toToken.address==Vf[e.blockchain].currency.address?void 0:"transfer":"pay",Jz=async({paymentRoute:e,options:t,deadline:n})=>{if(e.directTransfer&&!e.fee&&"World App"!==Vz([t,"optionalAccess",e=>e.wallet,"optionalAccess",e=>e.name]))return e.toToken.address==Vf[e.blockchain].currency.address?void 0:[e.toAddress,e.toAmount];{const r=e.exchangeRoutes[0],i=(({exchangeRoute:e,blockchain:t})=>void 0===e?0:e.exchange[t].router.address===Vf[t].wrapped.address?2:1)({exchangeRoute:r,blockchain:e.blockchain}),o=r?await r.getTransaction({account:Bz[e.blockchain].address,inputTokenPushed:2===i}):void 0,a=o?(({exchangeTransaction:e})=>{const t=new zM(e.to,e.api),n=e.method,r=e.params;let i,o,a;return o=t.interface.fragments.find((e=>!(e.name!=n||e.inputs&&r&&"object"==typeof r&&e.inputs.length!=Object.keys(r).length))),1===o.inputs.length&&"tuple"===o.inputs[0].type?(i=n,a=[r[o.inputs[0].name]]):(i=`${n}(${o.inputs.map((e=>e.type)).join(",")})`,a=o.inputs.map((e=>{if("tuple"===e.type){let t={};return e.components.forEach(((n,i)=>{t[n.name]=r[e.name][i]})),i=n,t}return r[e.name]}))),t.interface.encodeFunctionData(i,a)})({exchangeTransaction:o}):Vf[e.blockchain].zero;let s,u=Vf[e.blockchain].zero;if(r&&(u="bsc"===e.blockchain&&"pancakeswap_v3"===r.exchange.name&&e.toToken.address===Vf[e.blockchain].currency.address?r.exchange[e.blockchain].smartRouter.address:Hz[o.blockchain][r.exchange[e.blockchain].router.address]||r.exchange[e.blockchain].router.address),t&&"World App"===Vz([t,"optionalAccess",e=>e.wallet,"optionalAccess",e=>e.name])&&"worldchain"===e.blockchain){const t=Math.floor(Date.now()/1e3)+1800,r=await(async({address:e,blockchain:t})=>{const n=(e,n)=>yz({blockchain:t,address:Vf[t].permit2,api:[{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"AllowanceExpired",type:"error"},{inputs:[],name:"ExcessiveInvalidation",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"InsufficientAllowance",type:"error"},{inputs:[{internalType:"uint256",name:"maxAmount",type:"uint256"}],name:"InvalidAmount",type:"error"},{inputs:[],name:"InvalidContractSignature",type:"error"},{inputs:[],name:"InvalidNonce",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"InvalidSignatureLength",type:"error"},{inputs:[],name:"InvalidSigner",type:"error"},{inputs:[],name:"LengthMismatch",type:"error"},{inputs:[{internalType:"uint256",name:"signatureDeadline",type:"uint256"}],name:"SignatureExpired",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"spender",type:"address"}],name:"Lockdown",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint48",name:"newNonce",type:"uint48"},{indexed:!1,internalType:"uint48",name:"oldNonce",type:"uint48"}],name:"NonceInvalidation",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"},{indexed:!1,internalType:"uint48",name:"nonce",type:"uint48"}],name:"Permit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"uint256",name:"word",type:"uint256"},{indexed:!1,internalType:"uint256",name:"mask",type:"uint256"}],name:"UnorderedNonceInvalidation",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint48",name:"newNonce",type:"uint48"}],name:"invalidateNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"wordPos",type:"uint256"},{internalType:"uint256",name:"mask",type:"uint256"}],name:"invalidateUnorderedNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"}],internalType:"struct IAllowanceTransfer.TokenSpenderPair[]",name:"approvals",type:"tuple[]"}],name:"lockdown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"nonceBitmap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails[]",name:"details",type:"tuple[]"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitBatch",name:"permitBatch",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails",name:"details",type:"tuple"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitSingle",name:"permitSingle",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],internalType:"struct IAllowanceTransfer.AllowanceTransferDetails[]",name:"transferDetails",type:"tuple[]"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}],method:"nonceBitmap",params:[e,n]}),r=e=>{for(let t=0;t<256;t++)if(e.shr(t).and(1).eq(0))return t;return-1};function i(e,t){return Yp.from(e).mul(256).add(t)}let o=0;for(;o<1;){const a=await n(e,o);if(a.toString()!=Vf[t].maxInt){const e=r(a);if(e>=0)return i(o,e)}o+=1}})({blockchain:e.blockchain,address:e.fromAddress}),o={permitted:{token:e.fromToken.address,amount:e.fromAmount.toString()},nonce:r.toString(),deadline:t.toString()};s={args:[[e.fromAmount.toString(),e.toAmount.toString(),(e.feeAmount||0).toString(),"0",n.toString(),e.fromToken.address,u,e.toToken.address,e.toAddress,e.fee?e.fee.receiver:Vf[e.blockchain].zero,i,0,!0,a,"0x"],[[[e.fromToken.address,e.fromAmount.toString()],r.toString(),t.toString()],"PERMIT2_SIGNATURE_PLACEHOLDER_0"]],permit2:{...o,spender:Bz[e.blockchain].address}}}else s="worldchain"===e.blockchain?{payment:{amountIn:e.fromAmount,paymentAmount:e.toAmount,feeAmount:e.feeAmount||0,protocolAmount:0,tokenInAddress:e.fromToken.address,exchangeAddress:u,tokenOutAddress:e.toToken.address,paymentReceiverAddress:e.toAddress,feeReceiverAddress:e.fee?e.fee.receiver:Vf[e.blockchain].zero,exchangeType:i,receiverType:0,exchangeCallData:a,receiverCallData:Vf[e.blockchain].zero,deadline:n}}:{payment:{amountIn:e.fromAmount,paymentAmount:e.toAmount,feeAmount:e.feeAmount||0,tokenInAddress:e.fromToken.address,exchangeAddress:u,tokenOutAddress:e.toToken.address,paymentReceiverAddress:e.toAddress,feeReceiverAddress:e.fee?e.fee.receiver:Vf[e.blockchain].zero,exchangeType:i,receiverType:0,exchangeCallData:a,receiverCallData:Vf[e.blockchain].zero,deadline:n}};return s}},Xz=({paymentRoute:e})=>e.fromToken.address==Vf[e.blockchain].currency.address?e.directTransfer?e.toAmount.toString():e.fromAmount.toString():Yp.from("0").toString();let Kz=["ethereum","bsc","polygon","solana","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"];Kz.evm=["ethereum","bsc","polygon","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"],Kz.solana=["solana"];const $z=({paymentRoute:e,fee:t,options:n})=>{if(Kz.evm.includes(e.blockchain))return(async({paymentRoute:e,options:t})=>{let n;n="worldchain"===e.blockchain?Math.ceil(new Date)+36e5:Math.ceil(new Date/1e3)+3600;const r={blockchain:e.blockchain,to:Gz({paymentRoute:e,options:t}),api:qz({paymentRoute:e,options:t}),method:Zz({paymentRoute:e,options:t}),params:await Jz({paymentRoute:e,options:t,deadline:n}),value:Xz({paymentRoute:e})};return r.deadline=n,r})({paymentRoute:e,fee:t,options:n});if(Kz.solana.includes(e.blockchain))return Pz({paymentRoute:e,fee:t,options:n});throw"Blockchain not supported!"};function eP(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}class tP{constructor({blockchain:e,fromAddress:t,fromToken:n,fromAmount:r,fromDecimals:i,fromBalance:o,toToken:a,toAmount:s,toDecimals:u,toAddress:c,fee:l,feeAmount:h,exchangeRoutes:d,approvalRequired:f,currentAllowance:p,approvalTransaction:y,directTransfer:m}){this.blockchain=e,this.fromAddress=t,this.fromToken=n,this.fromAmount=eP([r||s,"optionalAccess",e=>e.toString,"call",e=>e()]),this.fromDecimals=i,this.fromBalance=o,this.toToken=a,this.toAmount=eP([s,"optionalAccess",e=>e.toString,"call",e=>e()]),this.toDecimals=u,this.toAddress=c,this.fee=l,this.feeAmount=h,this.exchangeRoutes=d||[],this.currentAllowance=p,this.approvalRequired=f,this.approvalTransaction=y,this.directTransfer=m,this.getTransaction=async e=>await $z({paymentRoute:this,options:e})}}function nP({assets:e,blacklist:t,accept:n,from:r}){return Promise.resolve(iP({assets:e,blacklist:t})).then((e=>function({assets:e,accept:t,from:n}){return Promise.all(e.map((async e=>{let r=t.filter((t=>t.blockchain==e.blockchain)),i=new RS(e);return Promise.all(r.map((async t=>{if(t.token&&t.amount){let r=t.blockchain,o=e.decimals,a=new RS({blockchain:r,address:t.token}),s=await a.decimals(),u=(await a.BigNumber(t.amount)).toString();return new tP({blockchain:r,fromToken:i,fromDecimals:o,toToken:a,toAmount:u,toDecimals:s,fromBalance:e.balance,fromAddress:n[t.blockchain],toAddress:t.toAddress,fee:t.fee})}if(t.fromToken&&t.fromAmount&&i.address.toLowerCase()==t.fromToken.toLowerCase()){let r=t.blockchain,o=(await i.BigNumber(t.fromAmount)).toString(),a=e.decimals,s=new RS({blockchain:r,address:t.toToken}),u=await s.decimals();return new tP({blockchain:r,fromToken:i,fromDecimals:a,fromAmount:o,toToken:s,toDecimals:u,fromBalance:e.balance,fromAddress:n[t.blockchain],toAddress:t.toAddress,fee:t.fee})}})))}))).then((e=>e.flat().filter((e=>e))))}({assets:e,accept:n,from:r}))).then((e=>cP({routes:e}))).then(oP).then(aP).then(sP).then((e=>fP({routes:e}))).then(uP).then(yP).then(pP).then((e=>e.map((e=>new tP(e)))))}function rP({accept:e,from:t,whitelist:n,blacklist:r,drip:i}){if(e.some((e=>e&&e.fee&&"string"==typeof e.fee.amount&&e.fee.amount.match(/\.\d\d+\%/))))throw"Only up to 1 decimal is supported for fee amounts!";return new Promise((async(o,a)=>{let s=[],u=[];if(n)for(const e in n)(n[e]||[]).forEach((t=>{u.push(e),s.push({blockchain:e,address:t})}));else e.forEach((e=>{u.push(e.blockchain),s.push({blockchain:e.blockchain,address:e.token||e.toToken})}));[...new Set(u)].forEach((e=>{s.find((t=>t.blockchain===e&&t.address===Vf[e].currency.address))||n&&!(n&&n[e]&&n[e].includes(Vf[e].currency.address))||s.push({blockchain:e,address:Vf[e].currency.address})})),s.sort(((e,t)=>Fz(e.blockchain)<Fz(t.blockchain)?-1:Fz(t.blockchain)<Fz(e.blockchain)?1:e.address.toLowerCase()===Vf[e.blockchain].currency.address.toLowerCase()?-1:t.address.toLowerCase()===Vf[t.blockchain].currency.address.toLowerCase()?1:0));let c=0;const l=[],h=[],d=s.map((e=>[e.blockchain,e.address.toLowerCase()].join(""))),f=()=>Math.ceil(new Date),p=f();setTimeout((()=>{l.forEach((e=>y(rP,!1)))}),3e3);const y=(e,t=!0)=>{try{const n={blockchain:e.blockchain,address:e.fromToken.address},r=[n.blockchain,n.address.toLowerCase()].join(""),o=f()-p>3e3;if(h.indexOf(r)>-1)return;if(d.indexOf(r)===c){if(h.push(r),i(e),c+=1,!t)return;l.forEach((t=>y(e,!1)))}else c>=d.length||o?(-1===d.indexOf(r)||c>=d.length||o)&&(h.push(r),i(e)):l.find((e=>e.blockchain===n.blockchain&&e.address.toLowerCase()===n.address.toLowerCase()))||(l.push(n),l.sort(((e,t)=>((e,t,n)=>{if(!e||0===e.length)return 0;let r=e.indexOf([t.blockchain,t.address.toLowerCase()].join("")),i=e.indexOf([n.blockchain,n.address.toLowerCase()].join(""));return-1!==r&&-1===i?-1:-1!==i&&-1===r?1:r<i?-1:i<r?1:0})(d,e,t))))}catch(e){}},m=await ZS({accounts:t,priority:s,only:n,exclude:r,drip:i?n=>{nP({assets:[n],blacklist:r,accept:e,from:t}).then((e=>{eP([e,"optionalAccess",e=>e.length])&&y(e[0])}))}:void 0});let g=await nP({assets:m,blacklist:r,accept:e,from:t})||[];g.assets=m,o(g)}))}let iP=({assets:e,blacklist:t})=>null==t?e:e.filter((e=>null==t[e.blockchain]||!t[e.blockchain].find((t=>t.toLowerCase()==e.address.toLowerCase())))),oP=async e=>await Promise.all(e.map((e=>e.directTransfer?[]:e.toToken&&e.toAmount?QO.route({blockchain:e.blockchain,tokenIn:e.fromToken.address,tokenOut:e.toToken.address,amountOutMin:e.toAmount,fromAddress:e.fromAddress,toAddress:e.toAddress}):e.fromToken&&e.fromAmount?QO.route({blockchain:e.blockchain,tokenIn:e.fromToken.address,tokenOut:e.toToken.address,amountIn:e.fromAmount,fromAddress:e.fromAddress,toAddress:e.toAddress}):void 0))).then((t=>e.map(((e,n)=>(e.exchangeRoutes=t[n],e))))),aP=e=>e.filter((e=>0!=e.exchangeRoutes.length||e.fromToken.address.toLowerCase()==e.toToken.address.toLowerCase())),sP=async e=>e.filter((e=>e.fromToken.address.toLowerCase()==e.toToken.address.toLowerCase()?Yp.from(e.fromBalance).gte(Yp.from(e.toAmount)):e.fromAmount&&e.toAmount?Yp.from(e.fromBalance).gte(Yp.from(e.exchangeRoutes[0].amountInMax)):e.exchangeRoutes[0]&&e.exchangeRoutes[0].amountIn?Yp.from(e.fromBalance).gte(Yp.from(e.exchangeRoutes[0].amountIn)):void 0)),uP=e=>Promise.all(e.map((e=>"solana"===e.blockchain?Promise.resolve(Vf.solana.maxInt):e.fromToken.allowance(e.fromAddress,Rz[e.blockchain].address).catch((()=>{}))))).then((t=>(e.map(((n,r)=>{void 0===t[r]||n.directTransfer||n.fromToken.address.toLowerCase()==Vf[n.blockchain].currency.address.toLowerCase()||"solana"===n.blockchain?e[r].approvalRequired=!1:(e[r].currentAllowance=Yp.from(t[r]),e[r].approvalRequired=Yp.from(n.fromAmount).gte(Yp.from(t[r])),e[r].approvalRequired&&(e[r].approvalTransaction={blockchain:n.blockchain,to:n.fromToken.address,api:RS[n.blockchain].DEFAULT,method:"approve",params:[Rz[n.blockchain].address,Vf[n.blockchain].maxInt]}))})),e))),cP=({routes:e})=>e.map((e=>(Kz.evm.includes(e.blockchain)?e.directTransfer=e.fromToken.address.toLowerCase()==e.toToken.address.toLowerCase()&&null==e.fee:"solana"===e.blockchain&&(e.directTransfer=e.fromToken.address.toLowerCase()==e.toToken.address.toLowerCase()),e))),lP=({paymentRoute:e,exchangeRoute:t})=>{let n,r,i;return t?(t&&t.exchange.wrapper,n=t.amountIn.toString(),r=hP({amount:t.amountOutMin.toString(),paymentRoute:e})):(n=e.fromAmount,r=hP({amount:e.fromAmount,paymentRoute:e})),e.fee&&(i=dP({paymentRoute:e})),{fromAmount:n,toAmount:r,feeAmount:i}},hP=({amount:e,paymentRoute:t})=>{if(t.fee){let n=dP({paymentRoute:t});return Yp.from(e).sub(n).toString()}return e},dP=({paymentRoute:e})=>{if("string"==typeof e.fee.amount&&e.fee.amount.match("%"))return Yp.from(e.toAmount).mul(10*parseFloat(e.fee.amount)).div(1e3).toString();if("string"==typeof e.fee.amount)return e.fee.amount;if("number"==typeof e.fee.amount)return uI(e.fee.amount.toString(),e.toDecimals).toString();throw"Unknown fee amount type!"},fP=({routes:e})=>e.map((e=>{if(Kz.evm.includes(e.blockchain))if(e.directTransfer&&!e.fee)e.fromAmount=e.toAmount;else{let{fromAmount:t,toAmount:n,feeAmount:r}=lP({paymentRoute:e,exchangeRoute:e.exchangeRoutes[0]});e.fromAmount=t,e.toAmount=n,e.fee&&(e.feeAmount=r)}else if(Kz.solana.includes(e.blockchain)){let{fromAmount:t,toAmount:n,feeAmount:r}=lP({paymentRoute:e,exchangeRoute:e.exchangeRoutes[0]});e.fromAmount=t,e.toAmount=n,e.fee&&(e.feeAmount=r)}return e})),pP=e=>e.filter(((t,n)=>null==e.find(((e,r)=>t.fromToken.address==e.fromToken.address&&(t.fromToken.blockchain==e.fromToken.blockchain&&(!(!e.directTransfer||t.directTransfer)||(!(!Yp.from(e.fromAmount).lt(Yp.from(t.fromAmount))||t.directTransfer)||(e.fromAmount==t.fromAmount&&r<n||void 0)))))))),yP=e=>{let t=-1;return e.sort(((e,n)=>Fz(e.fromToken.blockchain)<Fz(n.fromToken.blockchain)?t:Fz(n.fromToken.blockchain)<Fz(e.fromToken.blockchain)?1:e.fromToken.address.toLowerCase()==e.toToken.address.toLowerCase()?t:n.fromToken.address.toLowerCase()==n.toToken.address.toLowerCase()||e.approvalRequired&&!n.approvalRequired?1:n.approvalRequired&&!e.approvalRequired||JSON.stringify([e.fromToken.address.toLowerCase(),e.toToken.address.toLowerCase()].sort())==JSON.stringify([Vf[e.blockchain].currency.address.toLowerCase(),Vf[e.blockchain].wrapped.address.toLowerCase()].sort())?t:JSON.stringify([n.fromToken.address.toLowerCase(),n.toToken.address.toLowerCase()].sort())==JSON.stringify([Vf[n.blockchain].currency.address.toLowerCase(),Vf[n.blockchain].wrapped.address.toLowerCase()].sort())?1:e.fromToken.address.toLowerCase()==Vf[e.blockchain].currency.address.toLowerCase()?t:n.fromToken.address.toLowerCase()==Vf[n.blockchain].currency.address.toLowerCase()?1:e.fromToken.address<n.fromToken.address?t:1))};var mP=dS.createContext({accept:[]});
89
89
  /**!
90
90
  * @uiw/copy-to-clipboard v1.0.14
91
91
  * Copy to clipboard.
@@ -176,4 +176,4 @@ function Sq(){return(Sq=Object.assign?Object.assign.bind():function(e){for(var t
176
176
  * LICENSE.md file in the root directory of this source tree.
177
177
  *
178
178
  * @license MIT
179
- */var Wq="undefined"!=typeof document?dS.useLayoutEffect:dS.useEffect;function Yq(e){return function(e){var t=dS.useReducer((function(){return{}}),{})[1],n=Sq({},e,{onChange:function(n){t(),null==e.onChange||e.onChange(n)}}),r=dS.useState((function(){return new Uq(n)}))[0];return r.setOptions(n),dS.useEffect((function(){return r._didMount()}),[]),Wq((function(){return r._willUpdate()})),r}(Sq({observeElementRect:Pq,observeElementOffset:_q,scrollToFn:Rq},e))}function Fq(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Vq=function(e){var t,r=dS.useContext(mP).wallets;t=null!=r&&r.sort||null!=r&&r.whitelist?dS.useMemo((function(){var e=n(TL);return null!=r&&r.sort&&r.sort.forEach((function(t,n){var r=e.findIndex((function(e){return e.name===t}));r>-1&&e.splice(n,0,e.splice(r,1)[0])})),null!=r&&r.whitelist&&(e=e.filter((function(e){return r.whitelist.indexOf(e.name)>-1}))),e}),[r]):TL;var i=dS.useRef(),o=new Lq(t,{keys:["name"],threshold:.3,ignoreFieldNorm:!0}),a=DL(dS.useState(t),2),s=a[0],u=a[1],c=Yq({count:s.length,getScrollElement:function(){return i.current},estimateSize:function(){return 61}});return dS.useEffect((function(){var n=o.search(e.searchTerm).map((function(e){return e.item}));i.current&&i.current.scrollTo(0,0),e.searchTerm.length?u(n):u(t)}),[e.searchTerm]),dS.createElement("div",{ref:i,className:"DialogBody ScrollHeightM PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("div",{style:{height:"".concat(c.getTotalSize(),"px"),width:"100%",position:"relative"}},c.getVirtualItems().map((function(t){return dS.createElement("div",{key:t.key,style:{position:"absolute",top:0,left:0,width:"100%",height:"".concat(t.size,"px"),transform:"translateY(".concat(t.start,"px)")}},dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("button",{type:"button",className:"Card small",title:"Connect ".concat(s[t.key].name),onClick:function(){e.onClickWallet(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Fq(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Fq(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},s[t.key]))}},dS.createElement("div",{className:"CardImage"},dS.createElement("img",RG({className:"transparent",src:s[t.key].logo},"className","WalletLogoS"))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper PaddingLeftXS LineHeightXS"},dS.createElement("div",{className:"CardText"},s[t.key].name))))))}))))};function Hq(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Gq(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Hq(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hq(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var qq=function(e){var t,r=DL(dS.useState(""),2),i=r[0],o=r[1],a=DL(dS.useState([]),2),s=a[0],u=a[1],c=DL(dS.useState(),2),l=c[0],h=c[1],d=DL(dS.useState(!1),2),f=d[0],p=d[1],y=DL(dS.useState(!1),2),m=y[0],g=y[1],v=dS.useContext(mP).wallets,w=dS.useRef(),b=dS.useContext(MG).navigate;t=null!=v&&v.sort||null!=v&&v.whitelist?dS.useMemo((function(){var e=n(TL);return null!=v&&v.sort&&v.sort.forEach((function(t,n){var r=e.findIndex((function(e){return e.name===t}));r>-1&&e.splice(n,0,e.splice(r,1)[0])})),null!=v&&v.whitelist&&(e=e.filter((function(e){return v.whitelist.indexOf(e.name)>-1}))),e}),[v]):TL;var M=function(t,n){if("detected"==t.via)"app"==t.connectionType?(n.account().then((function(t){t&&e.resolve(t,n)})),e.setWallet(t),b("ConnectWallet")):"extension"==t.connectionType&&(e.setWallet(t),e.connectExtension(t),b("ConnectWallet"));else if(EG()){var r=OG(t);r&&r.open?(e.openInApp(t),e.setWallet(t),b("ConnectWallet")):(e.connectViaRedirect(t),e.setWallet(t),b("ConnectWallet"))}else e.setWallet(t),b("ConnectWallet")};return dS.useEffect((function(){1===t.length&&M(t[0])}),[t]),dS.useEffect((function(){if(1==s.length){var e=t.find((function(e){return e.name===s[0].info.name}));e.autoSelect&&M(e)}}),[s]),dS.useEffect((function(){var e=[];Uk({drip:function(t){if(e=e.concat(t),null!=v&&v.sort||null!=v&&v.whitelist){var r=n(e);null!=v&&v.sort&&v.sort.forEach((function(e,t){var n=r.findIndex((function(t){var n;return(null==t||null===(n=t.info)||void 0===n?void 0:n.name)===e}));n>-1&&r.splice(t,0,r.splice(n,1)[0])})),null!=v&&v.whitelist&&(r=r.filter((function(e){var t;return v.whitelist.indexOf(null==e||null===(t=e.info)||void 0===t?void 0:t.name)>-1}))),u(r)}else u(e)}});var r=localStorage[LG],i=t.find((function(e){return e.name==r}))||t.find((function(e){return e.name==r}));i&&h(i)}),[]),dS.useEffect((function(){setTimeout((function(){g(!0),EG()||w.current&&(w.current.click(),w.current.focus())}),200)}),[]),dS.createElement(TG,{header:dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft PaddingBottomS"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Select a wallet")),(s&&s.length>0||l)&&dS.createElement("div",{className:"PaddingBottomXS PaddingLeftS PaddingRightS"},s.filter((function(e,t,n){return n.findIndex((function(t){var n,r;return(null==t||null===(n=t.info)||void 0===n?void 0:n.name)===(null==e||null===(r=e.info)||void 0===r?void 0:r.name)}))===t})).map((function(e,n){var r=t.find((function(t){return t.name===(e.info?e.info.name:e.name)}));if(!r)return null;var i="app";return e&&e.constructor&&![Bk.WalletConnectV1,Bk.WalletConnectV2,Bk.WalletLink].includes(e.constructor)&&(i="extension"),dS.createElement("div",{key:n,className:"PaddingBottomXS"},dS.createElement("button",{type:"button",className:"Card small",title:"Connect ".concat(r.name),onClick:function(){M(Gq(Gq({},r),{},{via:"detected",connectionType:i}),e)}},dS.createElement("div",{className:"CardImage"},dS.createElement("img",RG({className:"transparent",src:r.logo},"className","WalletLogoS"))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper PaddingLeftXS LineHeightXS"},dS.createElement("div",{className:"CardText FontWeightMedium"},r.name),dS.createElement("div",{className:"LightGreen"},dS.createElement("span",{className:"LightGreen",style:{fontSize:"70%",top:"-1px",position:"relative"}},"●")," Connect detected ",i)))))})),l&&!s.find((function(e){return l.name===(e.info?e.info.name:e.name)}))&&dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("button",{type:"button",className:"Card small",title:"Connect ".concat(l.name),onClick:function(){M(Gq(Gq({},l),{},{via:"previouslyConnected",connectionType:"app"}))}},dS.createElement("div",{className:"CardImage"},dS.createElement("img",RG({className:"transparent",src:l.logo},"className","WalletLogoS"))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper PaddingLeftXS LineHeightXS"},dS.createElement("div",{className:"CardText FontWeightMedium"},l.name),dS.createElement("div",{className:"Opacity05"},dS.createElement("span",{style:{fontSize:"70%",top:"-1px",position:"relative"}},"●")," Used previously")))))),dS.createElement("div",{className:"PaddingBottomXS PaddingLeftS PaddingRightS PaddingTopXS"},dS.createElement("div",{className:"Row"},t.length>4&&dS.createElement("input",{className:"Search",value:i,onChange:function(e){o(e.target.value)},placeholder:"Search by name",ref:w})))),alternativeHeaderAction:dS.createElement("span",{className:"DropDownWrapper"},dS.createElement("button",{type:"button",onClick:function(){return p(!f)},className:"ButtonCircular",title:"More options"},dS.createElement(QG,null)),f&&dS.createElement(UG,{hide:function(){return p(!1)},items:[{label:"What is a wallet?",action:function(){b("WhatIsAWallet")}},{label:"Wallet missing?",action:function(){window.open("mailto:support@depay.com?subject=Add wallet&body=Please enter the name of the wallet you want us to add:","_blank")}},{label:"Problems connecting?",action:function(){window.open("mailto:support@depay.com?subject=Problem connecting wallet&body=Please enter the name of the wallet you have problems with connecting:","_blank")}}]})),bodyClassName:"PaddingBottomXS",body:dS.createElement("div",{className:"ScrollHeightM PaddingTopXS"},m&&dS.createElement(Vq,{setWallet:e.setWallet,searchTerm:i,onClickWallet:M})),footer:!1})},Zq="data:image/png;base64,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",Jq=function(e){return dS.createElement(TG,{stacked:!0,header:dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextCenter"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},"What is a wallet?"))),body:dS.createElement("div",{className:"TextCenter PaddingLeftL PaddingRightL PaddingTopS"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:Zq})),dS.createElement("p",{className:"FontSizeM PaddingTopS PaddingLeftM PaddingRightM"},"Wallets are used to send, receive, and store digital assets. Wallets come in many forms. They are either built into your browser, an extension added to your browser, an app on your phone, your computer or even a piece of hardware."),dS.createElement("div",{className:"PaddingTopS"},dS.createElement("a",{className:"Link FontSizeM",href:"https://ethereum.org/wallets/",target:"_blank",rel:"noopener noreferrer"},"Learn more")))})},Xq=function(e){var t=dS.useContext(fS),n=t.open,r=t.close,i=DL(dS.useState(),2),o=i[0],a=i[1],s=DL(dS.useState(),2),u=s[0],c=s[1],l=DL(dS.useState(),2),h=l[0],d=l[1],f=DL(dS.useState(!1),2),p=f[0],y=f[1],m=DL(dS.useState(!1),2),g=m[0],v=m[1],w=DL(dS.useState(),2),b=w[0],M=w[1],A=DL(dS.useState(),2),I=A[0],N=A[1],T=DL(dS.useState({blockchain:void 0}),2),E=T[0];T[1];var x=DL(dS.useState(!1),2),k=x[0],L=x[1],S=function(t,n){if(t&&n){var i=TL.find((function(e){return e.name==n.name}));SG(i.name),e.autoClose&&r(),e.resolve&&e.resolve({account:t,wallet:n})}},j=function(t,n){if(L(!1),void 0===n)if(t.extensions&&e.accept){var r=t.extensions.filter((function(t){return e.accept.some((function(e){return NL[Bk[t].info.platform].includes(e.blockchain)}))}));if(1===r.length)n=r[0];else if(r.length>1)return void setTimeout((function(){u.navigate("SelectPlatform")}),50)}else{if(t.extensions&&void 0===e.accept)return u.navigate("SelectPlatform");n=t.extension}y(!0),t=new Bk[n];var i=setTimeout((function(){y(!1)}),5e3);t.connect().then((function(e){S(e,t),y(!1),clearTimeout(i)})).catch((function(e){y(!1),clearTimeout(i),-32002==(null==e?void 0:e.code)?L(!0):"string"==typeof e&&N(e)}))},D=function(e,t,n){if(e.universal){var r=function(e){return e.endsWith("/")&&(e=e.slice(0,-1)),e}(e.universal);return localStorage.setItem("WALLETCONNECT_DEEPLINK_CHOICE",JSON.stringify({href:r,name:n})),r=!1!==e.encoded?"".concat(r,"/wc?uri=").concat(encodeURIComponent(t)):"".concat(r,"/wc?uri=").concat(t),window.open(r,"_self","noreferrer noopener")}},C=function(e){var t=e.walletMetaData,n=e.platform,r=e.uri,i=DG()?"Android":t.name;CG()?n.universal?D(n,r,i):DG()&&function(e,t,n){var r="wc://";localStorage.setItem("WALLETCONNECT_DEEPLINK_CHOICE",JSON.stringify({href:r,name:n})),r=!1!==e.encoded?"".concat(r,"wc?uri=").concat(encodeURIComponent(t)):"".concat(r,"wc?uri=").concat(t),window.open(r,"_self","noreferrer noopener")}(n,r,i):n.native?function(e,t,n){if(e.native){var r=function(e){return e.includes("://")||(e=e.replaceAll("/","").replaceAll(":",""),e="".concat(e,"://")),e}(e.native);localStorage.setItem("WALLETCONNECT_DEEPLINK_CHOICE",JSON.stringify({href:r,name:n})),r=!1!==e.encoded?"".concat(r,"wc?uri=").concat(encodeURIComponent(t)):"".concat(r,"wc?uri=").concat(t),window.open(r,"_self","noreferrer noopener")}}(n,r,i):D(n,r,i)},O=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=OG(e);if(n)if(v(!0),setTimeout((function(){v(!1)}),15e3),["WalletConnectV1","WalletConnectV2"].includes(n.connect)){localStorage[atob("ZGVwYXk6d2FsbGV0czp3YzI6cHJvamVjdElk")]=atob("YjFmYzJmMDZlYTIxMDdmY2Q5OWM2OGY0MTI3MTQxYWI=");var r=new Bk[n.connect];if(b)return C({walletMetaData:e,platform:n,uri:b});N(),r.connect({name:e.name,logo:e.logo,reconnect:t,connect:function(t){var r=t.uri;M(r),C({walletMetaData:e,platform:n,uri:r})}}).then((function(e){v(!1),S(e,r)})).catch((function(e){v(!1),"string"==typeof e&&N(e)}))}else if("SolanaMobileWalletAdapter"===n.connect){var i=new Bk[n.connect];N(),i.connect({name:e.name,logo:e.logo}).then((function(e){v(!1),S(e,i)})).catch((function(e){v(!1),"string"==typeof e&&N(e)}))}},z=function(e){var t=OG(e);t&&t.open&&(SG(e.name),window.open(t.open(),"_self","noreferrer noopener"))};return dS.useEffect((function(){delete localStorage.WALLETCONNECT_DEEPLINK_CHOICE}),[]),dS.createElement("div",null,dS.createElement(NG,{open:n,close:r,start:"SelectWallet",container:e.container,document:e.document,setNavigator:function(t){e.setNavigator&&t&&c(t),t&&c(t)},stacked:e.stacked,dialogs:{SelectWallet:dS.createElement(qq,{setWallet:function(e){d(OG(e)),a(e)},resolve:S,openInApp:z,connectViaRedirect:O,connectExtension:j}),WhatIsAWallet:dS.createElement(Jq,null),SelectPlatform:dS.createElement(BG,{onSelect:function(e){u.navigate("back"),j(o,e)},wallet:o,accept:e.accept}),ConnectWallet:dS.createElement(jG,{selection:E,accept:e.accept,wallet:o,platform:h,resolve:S,openInApp:z,connectViaRedirect:O,connectExtension:j,connectingExtension:p,connectingApp:g,showConnectExtensionWarning:k,continueWithSolanaPay:e.continueWithSolanaPay,connectionError:I})}}),dS.createElement(_G,null))},Kq=function(e){return void 0===e?window.document:e};function $q(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function eZ(e,t){return(eZ=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function tZ(e,t){if(t&&("object"===kL(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function nZ(e){return(nZ=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var rZ=dS.createContext(),iZ="data:image/png;base64,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";function oZ(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=nZ(e);if(t){var i=nZ(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return tZ(this,n)}}var aZ,sZ=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&eZ(e,t)}(o,dS.Component);var t,n,r,i=oZ(o);function o(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),i.call(this,e)}return t=o,(n=[{key:"componentDidCatch",value:function(e,t){e.error&&(e=e.error),this.props.setError(e)}},{key:"render",value:function(){return this.props.children}}])&&$q(t.prototype,n),r&&$q(t,r),Object.defineProperty(t,"prototype",{writable:!1}),o}(),uZ=function(e){var t=DL(dS.useState(e.error),2),n=t[0],r=t[1],i=DL(dS.useState(!0),2),o=i[0],a=i[1],s=function(t){console.log(t),t.error&&(t=t.error),r(t),e.errorCallback&&e.errorCallback(t.message||t.toString())},u=function(){a(!1),setTimeout(e.unmount,300)};return n?dS.createElement(wG,{container:e.container,close:u,open:o},dS.createElement("div",{className:"Dialog ReactDialogAnimation"},dS.createElement("div",{className:"DialogHeader"},dS.createElement("div",{className:"PaddingTopS PaddingLeftS PaddingRightS"})),dS.createElement("div",{className:"DialogBody TextCenter"},dS.createElement("div",{className:"GraphicWrapper PaddingTopS"},dS.createElement("img",{className:"Graphic",src:iZ})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Oops, Something Went Wrong"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("div",{className:"PaddingLeftS PaddingRightS"},dS.createElement("pre",{className:"ErrorSnippetText"},n.message||n.toString())),dS.createElement("div",{className:"PaddingTopS PaddingBottomS"},dS.createElement("strong",{className:"FontSizeM PaddingTopS"},"If this keeps happening, please report it.")))),dS.createElement("div",{className:"DialogFooter"},dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:u},"Try again"))))):dS.createElement(rZ.Provider,{value:{setError:s,errorCallback:e.errorCallback}},dS.createElement(sZ,{setError:s},e.children))},cZ=function(e){return"\n\n .ButtonCircular {\n border-radius: 9999px;\n border: 1px solid transparent;\n cursor: pointer;\n height: 34px;\n opacity: 0.5;\n padding: 5px 4px 4px 4px;\n width: 34px;\n }\n\n .ButtonCircular:focus {\n border: 1px solid ".concat(e.colors.primary,";\n }\n\n .ButtonCircular:hover {\n background: rgba(0,0,0,0.1);\n opacity: 1;\n }\n\n .ButtonCircular:active {\n background: rgba(0,0,0,0.25);\n opacity: 1;\n }\n ")},lZ=function(e){return"\n\n .ButtonPrimary {\n align-items: center;\n align-self: center;\n background: ".concat(e.colors.primary,";\n border-radius: 13px;\n border: 1px solid transparent;\n box-shadow: 0 0 16px rgba(0,0,0,0.1);\n font-size: 22px;\n font-weight: 400;\n line-height: 40px;\n height: 58px;\n justify-content: center;\n width: 100%;\n overflow: hidden;\n padding: 7px 0;\n position: relative;\n text-align: center;\n text-decoration: none;\n text-overflow: ellipsis;\n transition: background 0.1s;\n vertical-align: middle;\n display: inline-block;\n }\n\n .ButtonPrimary, .ButtonPrimary * {\n color: ").concat(e.colors.buttonText,";\n }\n\n .ButtonPrimary.disabled {\n background: rgba(0,0,0,.25) !important;\n box-shadow: 0 !important;\n }\n \n .ButtonPrimary.disabled * {\n opacity: 0.7;\n }\n\n .ButtonPrimary:not(.disabled){\n cursor: pointer;\n }\n .ButtonPrimary:not(.disabled):hover {\n box-shadow: inset 0 0 300px rgba(0,0,0,0.1);\n }\n .ButtonPrimary:not(.disabled):active {\n box-shadow: inset 0 0 300px rgba(0,0,0,0.2);\n }\n ")},hZ=function(e){return"\n\n .Card {\n align-items: center;\n background: rgb(255,255,255);\n border: 1px solid transparent;\n border-radius: 13px;\n box-shadow: 0 0 8px rgba(0,0,0,0.03);\n cursor: pointer;\n display: flex;\n flex-direction: row;\n margin-bottom: 8px;\n min-height: 76px;\n padding: 16px 10px;\n width: 100%;\n }\n\n .Card:focus {\n border: 1px solid ".concat(e.colors.primary,";\n }\n\n .Card.center {\n justify-content: center;\n }\n\n .Card.Row {\n border-radius: 0;\n margin-bottom: 0;\n box-shadow: none;\n min-height: 69px;\n padding: 7px 21px;\n border-top: 1px solid rgba(0,0,0,0.05);\n }\n\n .Card.Row .CardText {\n font-size: 19px;\n line-height: 40px;\n }\n\n .CardTokenSymbol {\n width: 40%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .CardTokenFullName {\n width: 100%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .CardTokenName {\n text-align: right;\n opacity: 0.5;\n width: 60%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n \n .Card.Row .CardTokenName .CardText {\n font-size: 17px;\n }\n\n .Card.Row .CardImage {\n width: 40px;\n }\n\n .Card.Row .CardImage img {\n height: 30px;\n width: 30px;\n }\n\n a.Card, a.Card * {\n color: inherit;\n text-decoration: none;\n }\n\n .Card.transparent {\n background: none;\n box-shadow: none;\n }\n\n .Card.small {\n min-height: auto;\n padding: 8px 8px;\n margin: 0;\n }\n\n .CardImage.small {\n width: 27px;\n }\n\n .CardImage.small img {\n height: 27px;\n width: 27px;\n }\n\n .CardImage.large {\n width: 58px;\n }\n\n .CardImage.large img {\n height: 58px;\n width: 58px;\n }\n\n .Card.disabled {\n cursor: default;\n }\n\n .Card:hover:not(.disabled) {\n background: rgb(240,240,240);\n box-shadow: 0 0 0 rgba(0,0,0,0); \n }\n\n .Card:active:not(.disabled) {\n background: rgb(235,235,235);\n box-shadow: inset 0 0 6px rgba(0,0,0,0.02);\n color: inherit;\n }\n\n .Card:hover:not(.disabled) .CardAction {\n opacity: 0.4;\n }\n\n .CardImage, .CardBody, .CardAction, .CardInfo {\n align-items: center;\n display: flex;\n min-width: 0;\n padding: 0 7px;\n }\n\n .CardImage {\n display: inline-flex;\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 0;\n justify-content: center;\n position: relative;\n width: 58px;\n }\n\n .CardBody {\n flex-basis: auto;\n flex-grow: 1;\n flex-shrink: 1;\n line-height: 27px;\n padding-left: 10px;\n text-align: left;\n }\n\n .CardBodyWrapper {\n min-width: 0;\n }\n\n .CardAction {\n flex-basis: auto;\n flex-shrink: 0;\n flex-grow: 0;\n padding-right: 0;\n margin-left: auto;\n }\n\n .Card.disabled .CardAction {\n opacity: 0; \n }\n\n .CardInfo {\n display: flex;\n flex-basis: auto;\n flex-direction: column;\n flex-grow: 0;\n flex-shrink: 1;\n justify-content: center;\n margin-left: auto; \n padding-right: 0;\n }\n\n .CardImage img {\n background: white;\n border-radius: 9999px;\n border: 1px solid white;\n box-shadow: 0 2px 8px rgb(0 0 0 / 10%);\n height: 45px;\n position: relative;\n vertical-align: middle;\n width: 45px;\n }\n\n .CardImage.rounded img {\n border-radius: 8px !important;\n }\n\n .CardImage.square img {\n border-radius: 0;\n }\n\n .CardImage img.transparent {\n border: none;\n background: none;\n box-shadow: none;\n }\n \n .CardTitle {\n font-size: 15px;\n color: rgb(150,150,150);\n line-height: 20px;\n }\n \n .CardText, a .CardText {\n color: ").concat(e.colors.text,";\n flex: 1;\n font-size: 21px;\n line-height: 26px;\n }\n\n .CardText strong {\n font-weight: 500;\n }\n\n .CardText.small, .CardText.small small {\n font-size: 17px;\n color: rgb(150,150,150);\n line-height: 20px;\n }\n\n .CardAction {\n opacity: 0.2;\n }\n\n .Card.More {\n display: inline-block;\n text-align: center;\n }\n ")},dZ=function(e){return"\n\n .DropDownWrapper {\n position: relative;\n }\n\n .DropDown {\n background: rgb(240,240,240);\n border-radius: 8px;\n border: 1px solid rgb(230,230,230);\n box-shadow: 0 0 12px rgba(0,0,0,0.1);\n display: block;\n padding: 8px 6px;\n position: absolute;\n right: 0;\n z-index: 1000;\n }\n\n .DropDownItem {\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n font-size: 17px;\n font-weight: 500;\n min-width: 160px;\n padding: 6px 10px;\n text-align: left;\n white-space: nowrap;\n width: 100%;\n }\n\n .DropDownItem:focus {\n border: 1px solid ".concat(e.colors.primary,";\n }\n\n .DropDownItem:hover {\n background: rgba(0,0,0,0.1);\n }\n \n .DropDownItem:active {\n background: rgba(0,0,0,0.15);\n }\n \n ")},fZ=function(e){return"\n\n *, div, div * {\n font-family: ".concat(e.fontFamily,";\n }\n\n * {\n font-size: 15px;\n }\n\n .FontSizeS {\n font-size: 16px;\n }\n\n .FontSizeM {\n font-size: 19px;\n }\n\n .FontSizeL {\n font-size: 23px;\n }\n\n .FontSizeXL {\n font-size: 32px;\n }\n\n .FontSizeXXL {\n font-size: 42px;\n }\n\n .FontWeightMedium {\n font-weight: 500;\n }\n\n .FontWeightBold {\n font-weight: bold;\n }\n\n .FontItalic {\n font-style: italic;\n }\n ")},pZ=function(e){return"\n\n .Icon {\n fill: ".concat(e.colors.icons,";\n stroke: ").concat(e.colors.icons,";\n }\n\n .QuestionMarkIcon {\n fill: transparent;\n }\n\n .ChevronLeft, .ChevronRight {\n position: relative;\n top: 1px;\n }\n\n .ChevronLeft.small, .ChevronRight.small {\n height: 12px;\n width: 12px;\n }\n\n .Checkmark {\n height: 24px;\n position: relative;\n top: -1px;\n vertical-align: middle;\n width: 24px;\n }\n\n .AlertIcon {\n height: 20px;\n position: relative;\n top: -1px;\n vertical-align: middle;\n width: 20px;\n fill: #e42626;\n stroke: transparent;\n }\n\n .CheckMark.small {\n height: 16px;\n width: 16px;\n }\n\n .DigitalWalletIcon {\n height: 24px;\n position: relative;\n top: -1px;\n vertical-align: middle;\n width: 24px;\n }\n\n .ButtonPrimary .Icon {\n fill : ").concat(e.colors.buttonText,";\n stroke : ").concat(e.colors.buttonText,";\n }\n\n .Loading {\n animation: spin 1.5s linear infinite;\n border-radius: 100%;\n border: 3px solid ").concat(e.colors.primary,";\n border-top: 3px solid rgba(0,0,0,0.1);\n display: inline-block;\n height: 18px;\n left: -1px;\n position: relative;\n width: 18px;\n }\n\n .Loading.medium {\n border: 4px solid ").concat(e.colors.primary,";\n border-top: 4px solid rgba(0,0,0,0.1);\n display: inline-block;\n height: 22px;\n position: relative;\n top: 0;\n width: 22px; \n }\n\n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n ")},yZ=function(e){return"\n\n .Input {\n background: none;\n border: 1px solid transparent;\n margin: 0;\n outline: none !important;\n padding: 0 0 0 14px;\n width: 100%;\n }\n\n .Input::placeholder {\n color: rgb(210,210,210);\n }\n\n .InputField {\n border-radius: 13px;\n border: 1px solid rgba(0,0,0,0.2);\n background: white;\n outline: none !important;\n color: ".concat(e.colors.text,";\n font-size: 19px;\n padding: 13px;\n width: 100%;\n }\n\n .InputField.small {\n border-radius: 8px;\n font-size: 15px;\n }\n\n .InputField::placeholder {\n color: rgb(180,180,180);\n } \n\n .InputField:focus, .InputField:focus-visible {\n border: 1px solid ").concat(e.colors.primary,";\n }\n \n ")},mZ=function(e){return"\n\n .Link {\n color: ".concat(e.colors.primary,";\n cursor: pointer;\n text-decoration: none;\n }\n\n .Link:hover {\n filter: brightness(0.8);\n }\n\n .Link:active {\n filter: brightness(1.0);\n }\n ")},gZ=function(e){return"\n\n .LoadingText {\n color: ".concat(e.colors.buttonText,";\n display: inline-block;\n text-decoration: none;\n }\n\n @keyframes blink {\n 0% { opacity: .2; }\n 20% { opacity: 1; }\n 100% { opacity: .2; }\n }\n \n .LoadingText .dot {\n animation-name: blink;\n animation-duration: 1.4s;\n animation-iteration-count: infinite;\n animation-fill-mode: both;\n }\n \n .LoadingText .dot:nth-child(2) {\n animation-delay: .2s;\n }\n \n .LoadingText .dot:nth-child(3) {\n animation-delay: .4s;\n }\n ")},vZ=function(e){return"\n\n .rangeslider {\n margin: 20px 0;\n position: relative;\n background: #e6e6e6;\n -ms-touch-action: none;\n touch-action: none;\n }\n\n .rangeslider,\n .rangeslider__fill {\n display: block;\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.4);\n }\n\n .rangeslider__handle {\n outline: none;\n cursor: pointer;\n display: inline-block;\n position: absolute;\n border-radius: 50%;\n background-color: "+e.colors.primary+";\n border: 1px solid white;\n box-shadow: 0 0 8px rgba(0,0,0,0.1);\n }\n\n .rangeslider__handle:hover {\n box-shadow: inset 0 0 300px rgba(0,0,0,0.2);\n }\n\n .rangeslider__handle:active {\n box-shadow: inset 0 0 300px rgba(0,0,0,0.3);\n }\n\n .rangeslider__active {\n opacity: 1;\n }\n\n .rangeslider__handle-tooltip {\n display: none;\n }\n\n .rangeslider-horizontal {\n height: 12px;\n border-radius: 10px;\n }\n\n .rangeslider-horizontal .rangeslider__fill {\n height: 100%;\n background-color: "+e.colors.primary+";\n border-radius: 10px;\n top: 0;\n }\n .rangeslider-horizontal .rangeslider__handle {\n width: 18px;\n height: 18px;\n border-radius: 30px;\n top: 50%;\n transform: translate3d(-50%, -50%, 0);\n }\n\n\n .rangeslider-horizontal .rangeslider__handle-tooltip {\n top: -55px;\n }\n\n "},wZ=function(e){return"\n\n .Search {\n border-radius: 13px;\n border: 1px solid rgba(0,0,0,0.2);\n background: white;\n outline: none !important;\n color: ".concat(e.colors.text,";\n font-size: 19px;\n padding: 13px;\n width: 100%;\n position: relative !important; // fixes LastPass extension problem\n }\n\n .Search.small {\n padding: 4px 8px;\n font-size: 16px;\n border-radius: 6px;\n }\n\n .Search::placeholder {\n color: rgb(180,180,180);\n } \n\n .Search:focus, .Search:focus-visible {\n border: 1px solid ").concat(e.colors.primary,";\n }\n\n ")},bZ=function(e){return"\n\n .TextButton {\n cursor: pointer;\n font-size: 16px;\n color: ".concat(e.colors.primary,"\n }\n\n .TextButton:hover * {\n opacity: 1.0;\n }\n ")},MZ=function(e){return"\n\n * {\n color: ".concat(e.colors.text,";\n }\n\n .LightGreen {\n color: rgba(50,160,60);\n }\n\n h1, h2, h3, h4, h5, h6 {\n display: block;\n }\n\n .Text {\n font-size: 16px;\n line-height: 24px\n }\n\n .TextLeft, .TextLeft * {\n text-align: left !important;\n }\n\n .TextCenter, .TextCenter * {\n text-align: center;\n }\n\n .LineHeightXS {\n line-height: 16px;\n }\n\n .LineHeightL {\n line-height: 32px;\n }\n\n .ErrorSnippetText {\n background: rgb(30, 30, 20);\n border-radius: 19px;\n border: 8px solid rgb(30, 30, 20);\n color: #00FF41;\n font-size: 15px;\n font-style: italic;\n max-height: 100px;\n padding: 6px;\n overflow-wrap: break-word;\n overflow-y: auto;\n white-space: pre-wrap;\n word-wrap: break-word;\n }\n ")},AZ=function(e){return"\n\n .TooltipWrapper {\n position: relative;\n }\n\n .Tooltip {\n background: ".concat(e.colors.primary,";\n border-radius: 10px;\n color: ").concat(e.colors.buttonText,";\n padding: 10px 13px;\n position: relative;\n box-shadow: 0 0 8px rgba(0,0,0,0.2);\n }\n\n .Tooltip.absolute {\n position: absolute;\n }\n\n .Tooltip.top {\n top: -40px;\n }\n\n .TooltipArrowUp {\n border-bottom: 10px solid ").concat(e.colors.primary,";\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n height: 0; \n left: 12px;\n position: absolute;\n top: -8px;\n width: 0; \n }\n\n .TooltipArrowDown {\n border-top: 10px solid ").concat(e.colors.primary,";\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n height: 0; \n left: 12px;\n position: absolute;\n bottom: -8px;\n width: 0; \n }\n ")};aZ=mG.createRoot;const IZ="ReactShadowDOMInsideContainer";function NZ(e){return e.replace(/\s*[\r\n]\s*/g,"")}function TZ({document:e,element:t,content:n,outsideStyle:r="",insideStyle:i="",insideClasses:o=[]}){const a=function({document:e,element:t,style:n}){const r=e.createElement("div");return r.setAttribute("class","ReactShadowDOMOutsideContainer"),r.setAttribute("style",n),t.appendChild(r),r}({document:e,element:t,style:NZ(r)}),s=function({document:e,shadow:t,style:n,classes:r=[]}){const i=e.createElement("div");if(i.setAttribute("class",[IZ].concat(r).join(" ")),t.appendChild(i),n&&n.length){const r=e.createElement("style");r.type="text/css",r.appendChild(e.createTextNode(n)),t.appendChild(r)}return i}({document:e,shadow:function(e){let t;return t=e.shadowRoot?e.shadowRoot:e.attachShadow({mode:"open"}),t}(a),style:NZ(i),classes:o});"function"==typeof n&&(n=n(s));const u=aZ(s);return u.render(n),{content:n,unmount:()=>function({insideRoot:e,outsideContainer:t}){e.unmount(),t.remove()}({insideRoot:u,outsideContainer:a})}}var EZ=function(e,t){var n=e.style,r=e.container,i=e.document,o=e.closed,a=function(e){var t,n;return e={colors:Object.assign({primary:"#ea357a",buttonText:"#ffffff",icons:"#000000",text:"#212529"},(null===(t=e)||void 0===t?void 0:t.colors)||{}),fontFamily:(null===(n=e)||void 0===n?void 0:n.fontFamily)||'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'},["\n\n html, body, div, span, applet, object, iframe,\n h1, h2, h3, h4, h5, h6, p, blockquote, pre,\n a, abbr, acronym, address, big, cite, code,\n del, dfn, em, img, ins, kbd, q, s, samp,\n small, strike, strong, sub, sup, tt, var,\n b, u, i, center,\n dl, dt, dd, ol, ul, li,\n fieldset, form, label, legend,\n table, caption, tbody, tfoot, thead, tr, th, td,\n article, aside, canvas, details, embed, \n figure, figcaption, footer, header, hgroup, \n menu, nav, output, ruby, section, summary,\n time, mark, audio, video {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font: inherit;\n text-align: inherit;\n vertical-align: baseline;\n }\n\n article, aside, details, figcaption, figure, \n footer, header, hgroup, menu, nav, section {\n display: block;\n }\n\n body {\n line-height: 1;\n }\n\n ol, ul {\n list-style: none;\n }\n\n blockquote, q {\n quotes: none;\n }\n\n blockquote:before, blockquote:after,\n q:before, q:after {\n content: '';\n content: none;\n }\n \n table {\n border-collapse: collapse;\n border-spacing: 0;\n }\n\n * {\n box-sizing: border-box;\n }\n\n button {\n border: 0;\n background: none;\n outline: none;\n }\n\n ","\n\n .ReactDialogBackground {\n z-index: -2;\n backdrop-filter: blur(5px);\n background: rgba(0,0,0,0.7);\n }\n\n .contained .ReactDialog {\n position: absolute;\n height: 100%;\n min-height: 100%;\n width: 100%;\n min-width: 100%;\n }\n\n .contained .ReactDialogBackground {\n position: absolute;\n }\n\n .contained .ReactDialog.ReactDialogOpen .ReactDialogAnimation {\n top: 0;\n }\n\n .Dialog {\n margin: 0 auto;\n position: relative;\n width: 420px;\n box-shadow: 0 0 22px rgba(0,0,0,0.3);\n border-radius: 13px;\n background: rgb(248,248,248);\n }\n\n @media (max-width: 450px) {\n\n .Dialog {\n border-radius: 0;\n width: 100%;\n }\n }\n\n @media (orientation: portrait) and (max-width: 800px) {\n\n .ReactDialogAnimation {\n width: 100%;\n }\n\n .ReactDialog {\n height: 100%;\n min-height: 100%;\n }\n\n .ReactDialogStack {\n align-items: flex-end;\n }\n\n .Dialog {\n align-content: stretch;\n border-radius: 13px;\n border-top-radius: 13px;\n display: flex;\n flex-direction: column;\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n\n .DialogBody {\n flex: 1;\n align-items: flex-end;\n }\n\n .DialogFooter {\n padding-bottom: 20px;\n }\n\n .ReactDialogAnimation {\n margin-bottom: -100px !important;\n top: inherit !important;\n position: relative;\n transition: opacity 0.4s ease, margin-bottom 0.4s ease;\n }\n\n .ReactDialog.ReactDialogOpen .ReactDialogAnimation {\n margin-bottom: 0px !important;\n }\n\n .DialogFooter {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n\n .ReactShadowDOMInsideContainer > .ReactDialog {\n align-items: flex-end;\n }\n }\n\n .DialogBody {\n overflow-x: hidden;\n overflow-y: auto;\n }\n\n .ScrollHeight {\n height: 30vh !important;\n max-height: 30vh !important;\n }\n\n .ScrollHeightS {\n height: 180px !important;\n max-height: 180px !important;\n }\n\n .ScrollHeightM {\n height: 194px !important;\n max-height: 194px !important;\n }\n\n .DialogBody.MinHeight {\n height: 120px !important;\n max-height: 120px !important;\n }\n\n .DialogHeader {\n border-top-left-radius: 13px;\n border-top-right-radius: 13px;\n min-height: 54px;\n position: relative;\n width: 100%;\n }\n\n .DialogHeaderActionRight {\n position: absolute;\n top: 0;\n right: 0;\n height: 48px;\n }\n\n .DialogHeaderActionLeft {\n position: absolute;\n top: 0;\n left: 0;\n height: 48px;\n }\n\n .DialogFooter {\n border-bottom-left-radius: 13px;\n border-bottom-right-radius: 13px;\n line-height: 24px;\n min-height: 32px;\n position: relative;\n text-align: center;\n }\n\n ",cZ(e),lZ(e),hZ(e),'\n\n .PoweredByWrapper {\n display: block;\n left: 0;\n padding-top: 3px;\n position: fixed;\n right: 0;\n text-align: center;\n top: 0;\n z-index: 999;\n }\n\n .contained .PoweredByWrapper {\n position: absolute;\n }\n\n .PoweredByLink {\n color: white;\n display: inline-block;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;\n font-size: 14px;\n font-style: italic;\n font-weight: bold;\n letter-spacing: -0.2px;\n margin-left: 8px;\n opacity: 0.5;\n text-decoration: none;\n text-shadow: black 0 0 2px;\n }\n\n .PoweredByLink:hover, .PoweredByLink:active {\n opacity: 1.0;\n }\n ',"\n\n .QRCode {\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n ","\n\n .GraphicWrapper {\n display: block;\n }\n\n .Graphic {\n width: 50%;\n position: relative;\n }\n ","\n\n .Row {\n overflow: hidden;\n }\n\n .Column {\n float: left;\n }\n\n .Column2 {\n width: 16.66%;\n }\n\n .Column10 {\n width: 83.33%;\n }\n ","\n \n .Skeleton {\n background: rgb(230,230,230) !important;\n border: 0px solid transparent !important;\n box-shadow: none !important;\n cursor: inherit !important;\n line-height: 0;\n overflow: hidden;\n position: relative;\n }\n\n @keyframes SkeletonBackgroundAnimation {\n from {\n left: -500px;\n }\n to {\n left: +120%;\n }\n }\n\n .SkeletonBackground {\n animation: 2s SkeletonBackgroundAnimation 0.2s ease infinite;\n background: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.1) 50%, transparent 100%);\n height: 100%;\n left: -140%;\n position: absolute;\n top: 0;\n width: 400px;\n }\n\n .SkeletonWrapper {\n line-height: 0;\n }\n ","\n \n .TokenAmountRow {\n min-width: 0;\n width: 100%;\n display: flex;\n flex-direction: row;\n }\n \n .TokenAmountRow.small {\n font-size: 17px;\n line-height: 17px;\n }\n\n .TokenAmountRow.grey {\n opacity: 0.5;\n }\n\n .TokenAmountCell {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .TokenSymbolCell {\n }\n ",MZ(e),fZ(e),pZ(e),"\n\n .Opacity03 {\n opacity: 0.3;\n }\n\n .Opacity05 {\n opacity: 0.5;\n }\n ","\n\n .PaddingTopXS {\n padding-top: 3px;\n }\n\n .PaddingRightXS {\n padding-right: 3px;\n }\n\n .PaddingBottomXS {\n padding-bottom: 3px;\n }\n\n .PaddingLeftXS {\n padding-left: 3px; \n }\n\n .PaddingTopS {\n padding-top: 13px;\n }\n\n .PaddingRightS {\n padding-right: 13px;\n }\n\n .PaddingBottomS {\n padding-bottom: 13px;\n }\n\n .PaddingLeftS {\n padding-left: 13px; \n }\n\n .PaddingTopM {\n padding-top: 19px;\n }\n\n .PaddingRightM {\n padding-right: 19px;\n }\n\n .PaddingBottomM {\n padding-bottom: 19px;\n }\n\n .PaddingLeftM {\n padding-left: 19px; \n }\n\n .PaddingTopL {\n padding-top: 29px;\n }\n\n .PaddingRightL {\n padding-right: 29px;\n }\n\n .PaddingBottomL {\n padding-bottom: 29px;\n }\n\n .PaddingLeftL {\n padding-left: 29px; \n }\n ","\n\n .MaxHeight {\n max-height: 320px;\n overflow-y: auto;\n }\n ","\n\n .Tab {\n padding: 3px 7px;\n margin-right: 3px;\n font-size: 17px;\n border-radius: 4px;\n cursor: pointer;\n }\n\n .Tab.active {\n background: white;\n box-shadow: 0 0 4px rgba(0,0,0,0.03);\n }\n\n .Tab:hover:not(.active) {\n background: rgb(240,240,240);\n box-shadow: 0 0 0 rgba(0,0,0,0); \n }\n\n .Tab:active:not(.active) {\n background: rgb(235,235,235);\n box-shadow: inset 0 0 4px rgba(0,0,0,0.02);\n }\n ",gZ(e),vZ(e),yZ(e),bZ(e),"\n\n .MaxAmountImage {\n display: inline-block;\n padding-right: 6px;\n }\n \n .MaxAmountImage img {\n height: 16px;\n width: 16px;\n position: relative;\n top: 3px;\n }\n ","\n\n .BlockchainLogo {\n border-radius: 6px !important;\n }\n\n .BlockchainLogo.small {\n border-radius: 4px !important;\n height: 20px;\n width: 20px;\n }\n\n .BlockchainLogo.bottomRight {\n position: absolute;\n bottom: 0;\n right: 0;\n }\n\n .SolanaPayLogo {\n height: 26px;\n position: relative;\n top: 4px;\n }\n ",wZ(e),"\n\n .TokenImage img {\n border-radius: 9999px;\n border: 1px solid white;\n background: white;\n box-shadow: 0 2px 8px rgb(0 0 0 / 10%);\n height: 45px;\n position: relative;\n vertical-align: middle;\n width: 45px;\n }\n\n .TokenImage.medium img {\n height: 93px;\n width: 93px;\n }\n ","\n\n .Alert {\n background: rgba(0,0,0,0.08);\n border-radius: 7px;\n font-weight: 500;\n padding: 8px;\n }\n ","\n\n .Table {\n border-collapse: separate;\n border-radius: 7px;\n border-style: hidden;\n border: 1px solid rgba(0,0,0,0.1);\n width: 100%;\n }\n\n .Table tr.small td {\n font-size: 14px;\n }\n\n .Table tr td {\n border-bottom: 1px solid rgba(0,0,0,0.1);\n word-break: break-all;\n }\n \n .Table tr:last-child td {\n border-bottom: none;\n }\n \n .Table tr td {\n padding: 8px 15px;\n text-align: left;\n }\n \n .Table tr td:first-child {\n width: 30%\n }\n\n .Table tr td:last-child {\n width: 70%\n }\n \n .Table .TableSubTitle {\n font-weight: 300;\n opacity: 0.7;\n }\n\n .Table tr td:last-child {\n font-weight: 500;\n }\n ",mZ(e),AZ(e),"\n\n .WalletLogoS {\n background: none !important;\n border-radius: 8px !important;\n border: 1px solid transparent !important;\n box-shadow: none !important;\n height: 40px !important;\n width: 40px !important;\n }\n ",dZ(e)].join("")}(n);n&&n.css&&(a=[a,n.css].join(" "));var s;s=r?"\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n z-index: 99999;\n ":"\n position: fixed;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n z-index: 99999;\n ";var u=TZ({document:i,element:r||i.body,content:t((function(){setTimeout((function(){u(),"function"==typeof o&&o()}),300)})),outsideStyle:s,insideStyle:a,insideClasses:r?["contained"]:[]}).unmount;return u},xZ=function(){if(parseInt(dS.version.split(".")[0])<17)throw"depay/widgets require at least React v17"},kZ=dS.createContext(),LZ=function(e){var t=DL(dS.useState({}),2),n=t[0],r=t[1];return dS.createElement(kZ.Provider,{value:{selection:n,setSelection:r}},e.children)},SZ=function(e){var t=DL(dS.useState(!0),2),n=t[0],r=t[1];return dS.createElement(pS.Provider,{value:{updatable:n,setUpdatable:r}},e.children)},jZ=dS.createContext(),DZ=function(e){return dS.createElement(TG,{closable:!1,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Loading")),body:dS.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},dS.createElement("div",{className:"Card Skeleton"},dS.createElement("div",{className:"SkeletonBackground"}))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomS"},dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("div",{className:"SkeletonWrapper PaddingBottomXS"},dS.createElement("div",{className:"ButtonPrimary Skeleton"},dS.createElement("div",{className:"SkeletonBackground"})))),!1!==e.text&&dS.createElement("div",{className:"TextCenter Opacity05 PaddingTopXS"},dS.createElement("strong",null,e.text)))})},CZ=function(e){var t=dS.useContext(fS),n=t.open,r=t.close,i=dS.useContext(jZ).setNavigator;return dS.createElement(NG,{setNavigator:i,open:n,close:r,start:"Loading",container:e.container,document:e.document,dialogs:{Loading:dS.createElement(DZ,{text:e.text})}})},OZ=function(e){var t;return dS.createElement(jZ.Provider,{value:{navigate:function(e){t&&t.navigate(e)},set:function(e){t&&t.set(e)},setNavigator:function(e){t=e}}},e.children)},zZ={"Pacific/Midway":"USD","Pacific/Niue":"NZD","Pacific/Pago_Pago":"USD","America/Adak":"USD","Pacific/Honolulu":"USD","Pacific/Rarotonga":"NZD","Pacific/Tahiti":"XPF","Pacific/Marquesas":"XPF","America/Anchorage":"USD","America/Juneau":"USD","America/Metlakatla":"USD","America/Nome":"USD","America/Sitka":"USD","America/Yakutat":"USD","Pacific/Gambier":"XPF","America/Los_Angeles":"USD","America/Tijuana":"MXN","America/Vancouver":"CAD","Pacific/Pitcairn":"NZD","America/Boise":"USD","America/Cambridge_Bay":"CAD","America/Chihuahua":"MXN","America/Creston":"CAD","America/Dawson":"CAD","America/Dawson_Creek":"CAD","America/Denver":"USD","America/Edmonton":"CAD","America/Fort_Nelson":"CAD","America/Hermosillo":"MXN","America/Inuvik":"CAD","America/Mazatlan":"MXN","America/Ojinaga":"MXN","America/Phoenix":"USD","America/Whitehorse":"CAD","America/Yellowknife":"CAD","America/Bahia_Banderas":"MXN","America/Belize":"BZD","America/Chicago":"USD","America/Costa_Rica":"CRC","America/El_Salvador":"USD","America/Guatemala":"GTQ","America/Indiana/Knox":"USD","America/Indiana/Tell_City":"USD","America/Managua":"NIO","America/Matamoros":"MXN","America/Menominee":"USD","America/Merida":"MXN","America/Mexico_City":"MXN","America/Monterrey":"MXN","America/North_Dakota/Beulah":"USD","America/North_Dakota/Center":"USD","America/North_Dakota/New_Salem":"USD","America/Rainy_River":"CAD","America/Rankin_Inlet":"CAD","America/Regina":"CAD","America/Resolute":"CAD","America/Swift_Current":"CAD","America/Tegucigalpa":"HNL","America/Winnipeg":"CAD","Pacific/Easter":"CLP","Pacific/Galapagos":"USD","America/Atikokan":"CAD","America/Bogota":"COP","America/Cancun":"MXN","America/Cayman":"KYD","America/Detroit":"USD","America/Eirunepe":"BRL","America/Grand_Turk":"USD","America/Guayaquil":"USD","America/Havana":"CUP","America/Indiana/Indianapolis":"USD","America/Indiana/Marengo":"USD","America/Indiana/Petersburg":"USD","America/Indiana/Vevay":"USD","America/Indiana/Vincennes":"USD","America/Indiana/Winamac":"USD","America/Iqaluit":"CAD","America/Jamaica":"JMD","America/Kentucky/Louisville":"USD","America/Kentucky/Monticello":"USD","America/Lima":"PEN","America/Nassau":"BSD","America/New_York":"USD","America/Nipigon":"CAD","America/Panama":"PAB","America/Pangnirtung":"CAD","America/Port-au-Prince":"HTG","America/Rio_Branco":"BRL","America/Thunder_Bay":"CAD","America/Toronto":"CAD","America/AnguillaSandy Hill":"XCD","America/Antigua":"XCD","America/Aruba":"AWG","America/Asuncion":"PYG","America/Barbados":"BBD","America/Blanc-Sablon":"CAD","America/Boa_Vista":"BRL","America/Campo_Grande":"BRL","America/Caracas":"VEB","America/Cuiaba":"BRL","America/Curacao":"ANG","America/Dominica":"DOP","America/Glace_Bay":"CAD","America/Goose_Bay":"CAD","America/Grenada":"XCD","America/Guadeloupe":"EUR","America/Guyana":"GYD","America/Halifax":"CAD","America/Kralendijk":"USD","America/La_Paz":"BOB","America/Lower_Princes":"USD","America/Manaus":"BRL","America/Marigot":"EUR","America/Martinique":"EUR","America/Moncton":"CAD","America/Montserrat":"XCD","America/Porto_Velho":"BRL","America/Port_of_Spain":"BZD","America/Puerto_Rico":"USD","America/Santiago":"CLP","America/Santo_Domingo":"DOP","America/St_Barthelemy":"EUR","America/St_Kitts":"XCD","America/St_Lucia":"XCD","America/St_Thomas":"USD","America/St_Vincent":"XCD","America/Thule":"DKK","America/Tortola":"USD","Atlantic/Bermuda":"BMD","America/St_Johns":"CAD","America/Araguaina":"BRL","America/Argentina/Buenos_Aires":"ARS","America/Argentina/Catamarca":"ARS","America/Argentina/Cordoba":"ARS","America/Argentina/Jujuy":"ARS","America/Argentina/La_Rioja":"ARS","America/Argentina/Mendoza":"ARS","America/Argentina/Rio_Gallegos":"ARS","America/Argentina/Salta":"ARS","America/Argentina/San_Juan":"ARS","America/Argentina/San_Luis":"ARS","America/Argentina/Tucuman":"ARS","America/Argentina/Ushuaia":"ARS","America/Bahia":"BRL","America/Belem":"BRL","America/Cayenne":"EUR","America/Fortaleza":"BRL","America/Godthab":"DKK","America/Maceio":"BRL","America/Miquelon":"EUR","America/Montevideo":"UYU","America/Paramaribo":"SRD","America/Punta_Arenas":"CLP","America/Recife":"BRL","America/Santarem":"BRL","America/Sao_Paulo":"BRL","Antarctica/Palmer":"USD","Antarctica/Rothera":"USD","Atlantic/Stanley":"FKP","America/Noronha":"BRL","Atlantic/South_Georgia":"GBP","America/Scoresbysund":"DKK","Atlantic/Azores":"EUR","Atlantic/Cape_Verde":"CVE","Africa/Abidjan":"XOF","Africa/Accra":"GHC","Africa/Bamako":"XOF","Africa/Banjul":"GMD","Africa/Bissau":"XOF","Africa/Casablanca":"MAD","Africa/Conakry":"GNF","Africa/Dakar":"XOF","Africa/El_Aaiun":"MAD","Africa/Freetown":"SLL","Africa/Lome":"XOF","Africa/Monrovia":"LRD","Africa/Nouakchott":"MRU","Africa/Ouagadougou":"XOF","Africa/Sao_Tome":"STD","America/Danmarkshavn":"DKK","Antarctica/Troll":"NOK","Atlantic/Canary":"EUR","Atlantic/Faroe":"DKK","Atlantic/Madeira":"EUR","Atlantic/Reykjavik":"ISK","Atlantic/St_Helena":"SHP","Europe/Dublin":"EUR","Europe/Guernsey":"GBP","Europe/Isle_of_Man":"IMP","Europe/Jersey":"GBP","Europe/Lisbon":"EUR","Europe/London":"GBP","Africa/Algiers":"DZD","Africa/Bangui":"XAF","Africa/Brazzaville":"XAF","Africa/Ceuta":"EUR","Africa/Douala":"XAF","Africa/Kinshasa":"CDF","Africa/Lagos":"NGN","Africa/Libreville":"XAF","Africa/Luanda":"AOA","Africa/Malabo":"XAF","Africa/Ndjamena":"XAF","Africa/Niamey":"XOF","Africa/Porto-Novo":"XOF","Africa/Tunis":"TND","Africa/Windhoek":"NAD","Arctic/Longyearbyen":"NOK","Europe/Amsterdam":"EUR","Europe/Andorra":"EUR","Europe/Belgrade":"RSD","Europe/Berlin":"EUR","Europe/Bratislava":"EUR","Europe/Brussels":"EUR","Europe/Budapest":"HUF","Europe/Copenhagen":"DKK","Europe/Gibraltar":"GIP","Europe/Ljubljana":"EUR","Europe/Luxembourg":"EUR","Europe/Madrid":"EUR","Europe/Malta":"EUR","Europe/Monaco":"EUR","Europe/Oslo":"NOK","Europe/Paris":"EUR","Europe/Podgorica":"EUR","Europe/Prague":"CZK","Europe/Rome":"EUR","Europe/San_Marino":"EUR","Europe/Sarajevo":"BAM","Europe/Skopje":"MKD","Europe/Stockholm":"SEK","Europe/Tirane":"ALL","Europe/Vaduz":"CHF","Europe/Vatican":"EUR","Europe/Vienna":"EUR","Europe/Warsaw":"PLN","Europe/Zagreb":"HRK","Europe/Zurich":"CHF","Africa/Blantyre":"MWK","Africa/Bujumbura":"BIF","Africa/Cairo":"EGP","Africa/Gaborone":"BWP","Africa/Harare":"ZWL","Africa/Johannesburg":"ZAR","Africa/Juba":"SSP","Africa/Khartoum":"SDG","Africa/Kigali":"RWF","Africa/Lubumbashi":"CDF","Africa/Lusaka":"ZMW","Africa/Maputo":"MZM","Africa/Maseru":"LSL","Africa/Mbabane":"SZL","Africa/Tripoli":"LYD","Asia/Amman":"JOD","Asia/Beirut":"LBP","Asia/Damascus":"SYP","Asia/Famagusta":"TRY","Asia/Gaza":"ILS","Asia/Hebron":"ILS","Asia/Jerusalem":"ILS","Asia/Nicosia":"EUR","Europe/Athens":"EUR","Europe/Bucharest":"RON","Europe/Chisinau":"MDL","Europe/Helsinki":"EUR","Europe/Kaliningrad":"RUB","Europe/Kiev":"UAH","Europe/Mariehamn":"EUR","Europe/Riga":"EUR","Europe/Sofia":"BGN","Europe/Tallinn":"EUR","Europe/Uzhgorod":"UAH","Europe/Vilnius":"EUR","Europe/Zaporozhye":"UAH","Africa/Addis_Ababa":"ETB","Africa/Asmara":"ERN","Africa/Dar_es_Salaam":"TZS","Africa/Djibouti":"DJF","Africa/Kampala":"UGX","Africa/Mogadishu":"SOS","Africa/Nairobi":"KES","Antarctica/Syowa":"EUR","Asia/Aden":"YER","Asia/Baghdad":"IQD","Asia/Bahrain":"BHD","Asia/Kuwait":"KWD","Asia/Qatar":"QAR","Asia/Riyadh":"SAR","Europe/Istanbul":"TRY","Europe/Kirov":"RUB","Europe/Minsk":"BYN","Europe/Moscow":"RUB","Europe/Simferopol":"RUB","Europe/Volgograd":"RUB","Indian/Antananarivo":"MGA","Indian/Comoro":"USD","Indian/Mayotte":"EUR","Asia/Tehran":"IRR","Asia/Baku":"AZN","Asia/Dubai":"AED","Asia/Muscat":"OMR","Asia/Tbilisi":"GEL","Asia/Yerevan":"AMD","Europe/Astrakhan":"RUB","Europe/Samara":"RUB","Europe/Saratov":"RUB","Europe/Ulyanovsk":"RUB","Indian/Mahe":"SCR","Indian/Mauritius":"MUR","Indian/Reunion":"EUR","Asia/Kabul":"AFN","Antarctica/Mawson":"USD","Asia/Aqtau":"KZT","Asia/Aqtobe":"KZT","Asia/Ashgabat":"TMM","Asia/Atyrau":"KZT","Asia/Dushanbe":"TJS","Asia/Karachi":"PKR","Asia/Oral":"KZT","Asia/Qyzylorda":"KZT","Asia/Samarkand":"UZS","Asia/Tashkent":"UZS","Asia/Yekaterinburg":"RUB","Indian/Kerguelen":"EUR","Indian/Maldives":"MVR","Asia/Colombo":"LKR","Asia/Kolkata":"INR","Asia/Kathmandu":"NPR","Antarctica/Vostok":"USD","Asia/Almaty":"KZT","Asia/Bishkek":"KGS","Asia/Dhaka":"BDT","Asia/Omsk":"RUB","Asia/Qostanay":"KZT","Asia/Thimphu":"BTN","Asia/Urumqi":"CNY","Indian/Chagos":"USD","Asia/Yangon":"MMK","Indian/Cocos":"AUD","Antarctica/Davis":"USD","Asia/Bangkok":"THB","Asia/Barnaul":"RUB","Asia/Hovd":"MNT","Asia/Ho_Chi_Minh":"VND","Asia/Jakarta":"IDR","Asia/Krasnoyarsk":"RUB","Asia/Novokuznetsk":"RUB","Asia/Novosibirsk":"RUB","Asia/Phnom_Penh":"KHR","Asia/Pontianak":"IDR","Asia/Tomsk":"RUB","Asia/Vientiane":"LAK","Indian/Christmas":"AUD","Asia/Brunei":"BND","Asia/Choibalsan":"MNT","Asia/Hong_Kong":"HKD","Asia/Irkutsk":"RUB","Asia/Kuala_Lumpur":"MYR","Asia/Kuching":"MYR","Asia/Macau":"MOP","Asia/Makassar":"IDR","Asia/Manila":"PHP","Asia/Shanghai":"CNY","Asia/Singapore":"SGD","Asia/Taipei":"TWD","Asia/Ulaanbaatar":"MNT","Australia/Perth":"AUD","Australia/Eucla":"AUD","Asia/Chita":"RUB","Asia/Dili":"USD","Asia/Jayapura":"IDR","Asia/Khandyga":"RUB","Asia/Pyongyang":"KPW","Asia/Seoul":"KRW","Asia/Tokyo":"JPY","Asia/Yakutsk":"RUB","Pacific/Palau":"USD","Australia/Adelaide":"AUD","Australia/Broken_Hill":"AUD","Australia/Darwin":"AUD","Antarctica/DumontDUrville":"USD","Antarctica/Macquarie":"USD","Asia/Ust-Nera":"RUB","Asia/Vladivostok":"RUB","Australia/Brisbane":"AUD","Australia/Currie":"AUD","Australia/Hobart":"AUD","Australia/Lindeman":"AUD","Australia/Melbourne":"AUD","Australia/Sydney":"AUD","Pacific/Chuuk":"USD","Pacific/GuamVillage":"USD","Pacific/Port_Moresby":"PGK","Pacific/Saipan":"USD","Australia/Lord_Howe":"AUD","Antarctica/Casey":"USD","Asia/Magadan":"RUB","Asia/Sakhalin":"RUB","Asia/Srednekolymsk":"RUB","Pacific/Bougainville":"PGK","Pacific/Efate":"VUV","Pacific/Guadalcanal":"SBD","Pacific/Kosrae":"USD","Pacific/Norfolk":"USD","Pacific/Noumea":"XPF","Pacific/Pohnpei":"USD","Antarctica/McMurdo":"USD","Asia/Anadyr":"RUB","Asia/Kamchatka":"RUB","Pacific/Auckland":"NZD","Pacific/Fiji":"FJD","Pacific/Funafuti":"AUD","Pacific/Kwajalein":"USD","Pacific/Majuro":"USD","Pacific/Nauru":"AUD","Pacific/Tarawa":"AUD","Pacific/Wake":"USD","Pacific/Wallis":"XPF","Pacific/Chatham":"CAD","Pacific/Apia":"NGN","Pacific/Enderbury":"USD","Pacific/Fakaofo":"NZD","Pacific/Tongatapu":"TOP","Pacific/Kiritimati":"AUD"};class PZ{constructor({amount:e,code:t,timeZone:n=PZ.timeZone()}){this.amount=e,this.code=t||window._LocalCurrencyCode||PZ.getCode(n),this.timeZone=n}static getCode(e){return window._LocalCurrencyCode||zZ[e||PZ.timeZone()]||"USD"}static getCacheKey(e){return`@depay/local-currency/v3.8.1/rates/${e}`}static async rate({from:e,to:t}){null==t&&(t=PZ.getCode());let n=await PZ.fromUSD({amount:1,code:e}),r=await PZ.fromUSD({amount:1,code:t});if(n.code!=e||r.code!=t)throw"Failed fetching rate!";return n.amount/r.amount}static getCachedValue(e){let t=localStorage.getItem(e);return t&&(t=JSON.parse(t),t=t.expiresAt<Date.now()?null:t.value),t}static fromUSDSync({amount:e,code:t,timeZone:n}){let r=new PZ({amount:e,code:t,timeZone:n});const i=PZ.getCacheKey(r.code);let o,a=PZ.getCachedValue(i);return a?o=a:(PZ.fromUSD({amount:e,code:t,timeZone:n}),r.code="USD",o=1),r.amount=r.amount*o,r}static async fromUSD({amount:e,code:t,timeZone:n}){let r=new PZ({amount:e,code:t,timeZone:n});const i=PZ.getCacheKey(r.code);let o,a=PZ.getCachedValue(i);return o=a||await fetch("https://public.depay.com/currencies/"+r.code).then((e=>e.json())).then((e=>{let t=parseFloat(e);return localStorage.setItem(i,JSON.stringify({value:t,expiresAt:Date.now()+864e5})),t})).catch((e=>(r.code="USD",1))),r.amount=r.amount*o,r}static timeZone(){return Intl.DateTimeFormat().resolvedOptions().timeZone}toString(e={}){return null==e.minimumFractionDigits&&this.amount%1==0&&this.amount>=100?e.minimumFractionDigits=0:null==e.minimumFractionDigits&&(e.minimumFractionDigits=2),new Intl.NumberFormat(navigator.language,{...e,style:"currency",currency:this.code}).format(this.amount)}}const _Z=e=>{const t=new ArrayBuffer(e.length),n=new Uint8Array(t);for(let t=0,r=e.length;t<r;t++)n[t]=e.charCodeAt(t);return t};var BZ=async({signature:e,publicKey:t,data:n,saltLength:r=64,crypto:i,atob:o})=>{let a=t.replace(/^.*?-----BEGIN PUBLIC KEY-----\n/,"").replace(/-----END PUBLIC KEY-----(\n)*$/,"").replace(/(\n)*/g,"");for(;a.length%4;)a+="=";const s=o(a),u=_Z(s),c=await i.subtle.importKey("spki",u,{name:"RSA-PSS",hash:"SHA-256"},!0,["verify"]);return await i.subtle.verify({name:"RSA-PSS",saltLength:r},c,((e,t)=>{const n=t(e.replace(/-/g,"+").replace(/_/g,"/"));let r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r})(e,o),_Z(n))};const RZ=window.crypto,UZ=window.atob,QZ=({signature:e,publicKey:t,data:n,saltLength:r=64})=>BZ({signature:e,publicKey:t,data:n,saltLength:r,crypto:RZ,atob:UZ});function WZ(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function YZ(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?WZ(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):WZ(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var FZ=function(e){var t,n,r="string"==typeof e.configuration.currency?new PZ({code:e.configuration.currency}).code:new PZ({amount:0}).code,i=DL(dS.useState(null!==(t=e.configuration)&&void 0!==t&&t.integration?void 0:YZ(YZ({},e.configuration),{},{currencyCode:r})),2),o=i[0],a=i[1],s=function t(n,i){var o;if(!(i>=10)){var s=function(){setTimeout((function(){return t(n,i+1)}),1e3)};fetch("https://public.depay.com/configurations/".concat(n),{method:"POST",headers:{"Content-Type":"application/json"},body:null!==(o=e.configuration)&&void 0!==o&&o.payload?JSON.stringify({payload:e.configuration.payload}):void 0}).catch(s).then(function(){var t=xL(jL.mark((function t(n){var i,o,u,c,l;return jL.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(200!=n.status){t.next=21;break}return t.t0=JSON,t.next=4,n.text();case 4:return t.t1=t.sent,i=t.t0.parse.call(t.t0,t.t1),o=i.id,u=i.configuration,t.next=10,QZ({signature:n.headers.get("x-signature"),publicKey:"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtqsu0wy94cpz90W4pGsJ\nSf0bfvmsq3su+R1J4AoAYz0XoAu2MXJZM8vrQvG3op7OgB3zze8pj4joaoPU2piT\ndH7kcF4Mde6QG4qKEL3VE+J8CL3qK2dUY0Umu20x/O9O792tlv8+Q/qAVv8yPfdM\nn5Je9Wc7VI5XeIBKP2AzsCkrXuzQlR48Ac5LpViNSSLu0mz5NTBoHkW2sz1sNWc6\nUpYISJkiKTvYc8Bo4p5xD6+ZmlL4hj1Ad/+26SjYcisX2Ut4QD7YKRBP2SbItVkI\nqp9mp6c6MCKNmEUkosxAr0KVfOcrk6/fcc4tI8g+KYZ32G11Ri8Xo4fgHH06DLYP\n3QIDAQAB\n-----END PUBLIC KEY-----\n",data:JSON.stringify(u)});case 10:if(!t.sent){t.next=18;break}if(l=Object.entries(e.configuration).reduce((function(e,t){var n=DL(t,2),r=n[0],i=n[1];return void 0!==i&&(e[r]=i),e}),{}),null!=u&&u.accept&&!(!(null!=u&&null!==(c=u.accept)&&void 0!==c&&c.length)>0)){t.next=15;break}throw"Configuration is missing token acceptance!";case 15:a(YZ(YZ(YZ({},u),l),{},{id:o,currencyCode:r})),t.next=19;break;case 18:throw"Configuration response not verified!";case 19:t.next=22;break;case 21:s();case 22:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())}};return dS.useEffect((function(){null!=(null==o?void 0:o.providers)&&Object.entries(e.configuration.providers).forEach((function(e){((e,t,n)=>{if(NI.evm.includes(e))return gI.setProviderEndpoints(e,t,n);if(NI.solana.includes(e))return II.setProviderEndpoints(e,t,n);throw"Unknown blockchain: "+e})(e[0],e[1])}))}),[o]),dS.useEffect((function(){var t,n;null!==(t=e.configuration)&&void 0!==t&&t.integration&&s(null===(n=e.configuration)||void 0===n?void 0:n.integration,1)}),[e.configuration]),null!==(n=e.configuration)&&void 0!==n&&n.integration&&!o?dS.createElement(SZ,null,dS.createElement(yS,{unmount:e.unmount,closable:!1},dS.createElement(OZ,null,dS.createElement(_G,null),dS.createElement(CZ,{text:!1,document:e.document,container:e.container})))):dS.createElement(mP.Provider,{value:o},e.children)},VZ=function(){var e=xL(jL.mark((function e(t){var n,r,i,o,a,s,u;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.text,r=t.style,i=t.error,o=t.critical,a=t.container,s=t.document,xZ(),e.prev=2,u=EZ({style:r,container:a,document:Kq(s),closed:closed},(function(e){return function(t){return dS.createElement(uZ,{errorCallback:i,container:t,unmount:e},dS.createElement(SZ,null,dS.createElement(yS,{unmount:e,closable:!1},dS.createElement(OZ,null,dS.createElement(_G,null),dS.createElement(CZ,{text:n,document:s,container:t})))))}})),window._depayUnmountLoading=u,e.abrupt("return",{unmount:u});case 8:e.prev=8,e.t0=e.catch(2),console.log("critical error",e.t0),null!=o&&o(e.t0);case 12:case"end":return e.stop()}}),e,null,[[2,8]])})));return function(t){return e.apply(this,arguments)}}(),HZ=function(e){var t=dS.useContext(rZ).setError,n=dS.useContext(mP),r=n.message,i=n.endpoint,o=dS.useContext(mP).recoverSignature,a=dS.useContext(PG),s=a.wallet,u=a.account,c=DL(dS.useState(!1),2),l=c[0],h=c[1];if(!s)return null;null==s||!s.name||s.name;var d=null!=s&&s.logo?s.logo:void 0;"function"!=typeof o&&(o=function(e){var n=e.message,r=e.signature;return new Promise((function(e,o){fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:n,signature:r})}).then((function(n){200==n.status?n.text().then((function(t){e(t)})).catch(t):n.text().then((function(e){t(e||"Recovering login signature failed!")}))}))}))});return dS.createElement(TG,{body:dS.createElement("div",{className:"TextCenter"},d&&dS.createElement("div",{className:"GraphicWrapper PaddingTopS PaddingBottomS"},dS.createElement("img",{className:"Graphic",src:d})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL FontWeightBold PaddingTopS"},"Wallet Login"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("p",{className:"FontSizeM PaddingLeftM PaddingRightM PaddingBottomS"},'Please click "Log in" and sign the message with your connected wallet.'))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},l&&dS.createElement("div",{className:"PaddingTopXS PaddingBottomXS",style:{height:"58px"}},dS.createElement("div",{className:"PaddingTopS PaddingBottomS TextCenter"},dS.createElement("div",{className:"Loading Icon medium",style:{position:"relative"}}))),!l&&dS.createElement("button",{className:"ButtonPrimary",onClick:function(){var n;h(!0),n="function"==typeof r?r(u):r,s.sign(n).then((function(r){o({message:n,signature:r,wallet:s}).then((function(t){e.resolve({account:t,wallet:s}),h(!1)})).catch((function(e){h(!1),t(e)}))})).catch((function(e){h(!1),e&&e.code&&(4001==e.code||"ACTION_REJECTED"==e.code)||t(e)}))}},"Log in"))})},GZ=function(e){var t=dS.useContext(fS),n=t.open,r=t.close;return dS.createElement(NG,{open:n,close:r,start:"SignLogin",stacked:e.stacked,container:e.container,document:e.document,dialogs:{SignLogin:dS.createElement(HZ,{resolve:e.resolve,userClosedDialog:e.userClosedDialog})}})},qZ=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"up",r=parseFloat(e),i=r.toString().match(/\d+\.0*(\d{4})/);if(null!==(t=i)&&void 0!==t&&t.length){var o,a,s=(i=i[0]).match(/\d{4}$/)[0];return s.match(/^0/)?(o=parseFloat("".concat(s[1],".").concat(s[2]).concat(s[3])),a=parseFloat(o).toFixed(2),a="0".concat(a).replace(".","")):(o="up"==n?parseFloat("".concat(s[0],".").concat(s[1]).concat(s[2],"9")):parseFloat("".concat(s[0],".").concat(s[1]).concat(s[2],"1")),a=parseFloat(o).toFixed(2).replace(".","")),"0999"==a&&0==parseInt(r.toFixed(0))?(a="up"==n?"1000":"0999",parseFloat(i.replace(/\d{4}$/,a))):"1000"==a&&0==parseInt(r.toFixed(0))?parseFloat(i.replace(/\d{5}$/,a)):"0"!=a.toString()[0]&&a.toString().length>3?parseInt(r.toFixed(0)):parseFloat(i.replace(/\d{4}$/,a))}return parseFloat(r.toFixed(3))},ZZ=function(e){var t=qZ(e),n=t.toString();if(new RegExp(/\./).test(n)){var r=n.split(".");return(new Intl.NumberFormat).format(parseInt(r[0]))+"."+r[1]}return(new Intl.NumberFormat).format(t)},JZ=function(){var e=dS.useContext(mP).accept,t=dS.useContext(MG).navigate,r=n(new Set(e.map((function(e){return e.blockchain})))).map((function(e){return Vf[e]}));return dS.createElement(TG,{stacked:!0,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Available blockchains"))),body:dS.createElement("div",{className:"MaxHeight PaddingTopM PaddingBottomM"},r.map((function(e,t){return dS.createElement("div",{key:t,className:"Card Row"},dS.createElement("div",{className:"CardImage"},dS.createElement("img",{className:"transparent BlockchainLogo small",src:e.logo,style:{backgroundColor:e.logoBackgroundColor}})),dS.createElement("div",{className:"CardBody"},dS.createElement("span",{className:"CardText"},e.label)))}))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{type:"button",className:"ButtonPrimary",onClick:function(){return t("back")}},"Go back"))})},XZ=dS.createContext(),KZ=function(e){var t=dS.useContext(MG).navigate;return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:Zq})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Wallet Misses Blockchain Support"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftM PaddingRightM"},dS.createElement("strong",{className:"FontSizeM"},"The connected wallet does not support the blockchains required by this payment. Try to connect another wallet that does support one of the available blockchains.")),dS.createElement("div",{className:"PaddingBottomM"},dS.createElement("button",{onClick:function(){return t("PaymentBlockchains")},className:"Link FontSizeM",title:"Check which blockchains are available"},"Check available blockchains"))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){return e.disconnect()}},"Connect another wallet"))})},$Z=function(e){var t=dS.useContext(fS),n=t.open,r=t.close,i=dS.useContext(mP),o=i.accept,a=i.recover,s=i.wallet,u=dS.useContext(XZ),c=dS.useContext(pS).setUpdatable;dS.useContext(rZ).setError;var l=DL(dS.useState(s),2),h=l[0],d=l[1],f=DL(dS.useState(),2),p=f[0],y=f[1],m=DL(dS.useState(!1),2),g=m[0],v=m[1],w=DL(dS.useState(),2),b=w[0],M=w[1],A=DL(dS.useState(!1),2),I=A[0],N=A[1],T=DL(dS.useState(s?"connected":void 0),2),E=T[0],x=T[1],k=dS.useCallback(kG.debounce((function(){h.connect().then(M)}))),L=dS.useCallback(kG.debounce((function(e){v(e)}))),S=function(){M(),d(),x(),v(!1)},j=o&&o.some((function(e){return"solana"===e.blockchain}))?function(){u.start()}:void 0;return dS.useEffect((function(){if(h){if(o&&!o.some((function(e){return h.blockchains.includes(e.blockchain)})))return c(!1),void setTimeout((function(){return L(!0)}),200);var e=function(e){e?M(e):k()};return h.on("account",e),function(){h.off("account",e)}}}),[h]),dS.useEffect((function(){xL(jL.mark((function e(){var t;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!s){e.next=5;break}return e.next=3,s.account();case 3:(t=e.sent)?M(t):(d(),x());case 5:case"end":return e.stop()}}),e)})))()}),[]),g?dS.createElement(NG,{open:n,close:r,start:"WalletMissesBlockchainSupport",container:e.container,document:e.document,stacked:!0,dialogs:{WalletMissesBlockchainSupport:dS.createElement(KZ,{disconnect:S}),PaymentBlockchains:dS.createElement(JZ,null)}}):"connected"==E||null!=a?dS.createElement(PG.Provider,{value:{account:b,wallet:h,disconnect:S}},e.children):dS.createElement(Xq,{setNavigator:y,document:e.document,container:e.container,resolve:function(t){var n=t.account,r=t.wallet;null==p||p.hide(),setTimeout((function(){M(n),d(r),N(!0),x("connected"),e.connected&&e.connected(n)}),80)},accept:o,continueWithSolanaPay:j,stacked:I?"backward":void 0})},eJ=dS.createContext(),tJ=dS.createContext();function nJ(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function rJ(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nJ(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nJ(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var iJ=function(e){var t=function(e){return!e.every((function(e){return void 0!==e.amount||void 0!==e.fromAmount}))},n=dS.useContext(mP),r=n.amount;n.toAmount;var i=n.recover,o=n.accept;dS.useContext(mP);var a,s=DL(dS.useState(null==i&&t(o)),2),u=s[0],c=s[1],l=dS.useContext(PG).account,h=dS.useContext(tJ),d=h.conversionRate,f=h.fixedCurrencyConversionRate,p=dS.useContext(rZ).setError,y=DL(dS.useState(),2),m=y[0],g=y[1],v=DL(dS.useState("object"==kL(r)&&r.fix&&r.currency?r.fix:null),1)[0],w=DL(dS.useState("object"==kL(r)&&r.fix&&r.currency?r.currency:null),1)[0];u&&(a="object"==kL(r)&&r.start&&r.start?r.start:"object"==kL(r)&&r.fix?r.fix:1);var b=DL(dS.useState(a),2),M=b[0],A=b[1],I=DL(dS.useState(),2),N=I[0],T=I[1],E=DL(dS.useState(),2),x=E[0],k=E[1];dS.useEffect((function(){i||c(t(o))}),[o,i]);var L=dS.useCallback(kG.debounce((function(e){e.account,function(e){var t=e.amount,n=e.conversionRate,i=e.fixedCurrencyConversionRate;return new Promise((function(e,a){r&&r.token?e(o.map((function(){return t}))):Promise.all(o.map((function(e){return v?Vf[e.blockchain].stables.usd[0]==e.token?1/i*v:QO.route({blockchain:e.blockchain,tokenIn:Vf[e.blockchain].stables.usd[0],amountIn:1/i*v,tokenOut:e.token,fromAddress:l,toAddress:l}):Vf[e.blockchain].stables.usd.find((function(t){return t.toLowerCase()===e.token.toLowerCase()}))?1/n*t:QO.route({blockchain:e.blockchain,tokenIn:Vf[e.blockchain].stables.usd[0],amountIn:1/n*t,tokenOut:e.token,fromAddress:l,toAddress:l})}))).then((function(t){Promise.all(t.map((function(e,t){return"number"==typeof e?e:null==e[0]?void 0:RS.readable({blockchain:o[t].blockchain,amount:e[0].amountOut,address:e[0].tokenOut})}))).then(e).catch(p)})).catch(p)}))}({amount:e.amount,conversionRate:e.conversionRate,fixedCurrencyConversionRate:e.fixedCurrencyConversionRate}).then((function(e){g(o.map((function(t,n){if(null!=e[n])return rJ(rJ({},t),{},{amount:qZ(e[n])})})).filter((function(e){return!!e})))})).catch(p)}),500),[]);return dS.useEffect((function(){i||u&&l&&d&&(!v||f)&&(g(),L({account:l,amount:M,conversionRate:d,fixedCurrencyConversionRate:f}))}),[u,l,d,v,f,M,i]),dS.useEffect((function(){u&&N?N.fromToken.readable(N.fromBalance).then((function(e){if(r&&r.token)QO.route({blockchain:N.blockchain,tokenIn:N.fromToken.address,tokenOut:N.toToken.address,amountIn:parseFloat(e),fromAddress:l,toAddress:l}).then((function(e){null!=e[0]?RS.readable({amount:e[0].amountOut,blockchain:N.blockchain,address:N.toToken.address}).then((function(e){var t=parseFloat(new TD(e).div(1.01).mul(d).toString());k(t>10?Math.round(t-1):qZ(t-1))})).catch(p):RS.readable({amount:N.fromBalance,blockchain:N.blockchain,address:N.fromToken.address}).then(k)})).catch(p);else if(N.fromToken.address==Vf[N.blockchain].stables.usd[0]){var t=parseFloat(new TD(e).mul(d).toString());k(t>10?Math.round(t-1):t-1)}else QO.route({blockchain:N.blockchain,tokenIn:N.fromToken.address,tokenOut:Vf[N.blockchain].stables.usd[0],amountIn:parseFloat(e),fromAddress:l,toAddress:l}).then((function(e){null!=e[0]&&RS.readable({amount:e[0].amountOut,blockchain:N.blockchain,address:Vf[N.blockchain].stables.usd[0]}).then((function(e){var t=parseFloat(new TD(e).div(1.01).mul(d).toString());k(t>10?Math.round(t-1):qZ(t-1))})).catch(p)})).catch(p)})).catch(p):k(100)}),[l,N]),dS.createElement(eJ.Provider,{value:{amountsMissing:u,fixedAmount:v,fixedCurrency:w,acceptWithAmount:m,amount:M,setAmount:A,setMaxRoute:T,maxRoute:N,maxAmount:x}},e.children)},oJ=function(e){dS.useContext(rZ).setError;var t=dS.useContext(mP),n=t.amount,r=t.currency,i=DL(dS.useState(),2),o=i[0],a=i[1],s=DL(dS.useState(),2),u=s[0],c=s[1];return dS.useEffect((function(){"object"==kL(n)&&n.currency&&PZ.fromUSD({amount:1,code:n.currency}).then((function(e){return c(e.amount)})),PZ.fromUSD({amount:1,code:r}).then((function(e){return a(e.amount)})).catch(a(1))}),[]),dS.createElement(tJ.Provider,{value:{conversionRate:o,fixedCurrencyConversionRate:u}},e.children)},aJ=dS.createContext(),sJ=dS.createContext();function uJ(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function cJ(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?uJ(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):uJ(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var lJ=function(e,t){var n={};return e.forEach((function(e){n[e.blockchain]=t})),n},hJ=function(e){var t=e.accept,n=e.account,r=e.receiver,i=e.whitelist,o=e.blacklist,a=e.fee,s=e.update,u=e.drip;return rP({accept:t.map((function(e){return function(e,t){var n;n=t||("object"==kL(e.receiver)?e.receiver.address:e.receiver);var r="object"==kL(e.receiver)?e.receiver:void 0;return cJ(cJ({},e),{},{toAddress:n,toContract:r})}(e,r)})),from:lJ(t,n),whitelist:i,blacklist:o,fee:a,update:s,drip:u})};function dJ(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function fJ(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dJ(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dJ(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var pJ=function(e){var t=DL(dS.useState(),2),r=t[0],i=t[1],o=DL(dS.useState(),2),a=o[0],s=o[1],u=DL(dS.useState(),2),c=u[0],l=u[1],h=DL(dS.useState(),2),d=h[0],f=h[1],p=DL(dS.useState(!1),2),y=p[0],m=p[1],g=DL(dS.useState(0),2),v=g[0],w=g[1],b=DL(dS.useState(!1),2);b[0];var M=b[1],A=DL(dS.useState(!1),2),I=A[0],N=A[1],T=dS.useContext(PG),E=T.account;T.wallet;var x=dS.useContext(pS).updatable,k=dS.useContext(mP).recover,L=dS.useContext(mP),S=dS.useContext(eJ).amountsMissing,j=function(){var t=xL(jL.mark((function t(n){var r;return jL.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(0!=n.updatable&&e.accept&&E){t.next=3;break}return t.abrupt("return");case 3:return r=setTimeout((function(){m(!0)}),3e3),t.abrupt("return",new Promise((function(t,n){hJ(Object.assign({},L,{accept:e.accept,account:E})).then((function(e){s(e),M(!0),clearInterval(r),t()})).catch(n)})));case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),D=function(e,t){e.fromAmount=t.toString()},C=function(){var e=xL(jL.mark((function e(t,n){var r,i;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.directTransfer){e.next=2;break}return e.abrupt("return",t);case 2:return e.next=4,t.fromToken.readable(n||t.fromAmount);case 4:return r=e.sent,e.next=7,t.fromToken.BigNumber(qZ(r));case 7:return i=e.sent,D(t,i),e.abrupt("return",t);case 10:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),O=function(){var e=xL(jL.mark((function e(t){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all(t.map((function(e){return C(e)}))));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),z=function(){var e=xL(jL.mark((function e(){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:f(fJ({},c)),l(null);case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),P=function(){return j({allRoutes:r,selectedRoute:void 0,updatable:x})};dS.useEffect((function(){var e=setTimeout((function(){I&&(w(v+1),j({allRoutes:r,selectedRoute:d,updatable:x}))}),15e3);return function(){return clearTimeout(e)}}),[v,r,I,d,x]),dS.useEffect((function(){k||(E&&e.accept?P():void 0===e.accept&&(f(),N(!1),s(),i()))}),[E,e.accept]);var _=dS.useCallback(kG.debounce((function(t,r){void 0!==r&&(0==r.length?(i(r),e.setMaxRoute&&e.setMaxRoute(null)):O(r).then((function(o){if(void 0===t){var a=o[0];f(a)}else{var s=o[o.findIndex((function(e){return e.fromToken.address==t.fromToken.address&&e.blockchain==t.blockchain}))];s?t.fromAmount!=s.fromAmount?l(s):t.approvalRequired==s.approvalRequired&&t.currentAllowance==s.currentAllowance||f(s):f(o[0])}o.assets=r.assets,S&&e.setMaxRoute?Promise.all(o.map((function(e){return new Promise((function(t,n){if(-1===Vf[e.blockchain].tokens.findIndex((function(t){return t.address.toLowerCase()===e.fromToken.address.toLowerCase()})))return t();QO.route({blockchain:e.blockchain,tokenIn:e.fromToken.address,amountIn:e.fromBalance,tokenOut:Vf[e.blockchain].stables.usd[0].toLowerCase()!==e.fromToken.address.toLowerCase()?Vf[e.blockchain].stables.usd[0]:Vf[e.blockchain].stables.usd[1],fromAddress:e.fromAddress,toAddress:e.toAddress}).then((function(n){return t({route:e,usdRoute:n})})).catch(n)}))}))).then((function(t){var r;e.setMaxRoute(null===(r=function(e){var t=n(e).sort((function(e,t){var n,r,i,o;if(void 0===(null==e||null===(n=e.usdRoute)||void 0===n?void 0:n.length)||0==(null==e||null===(r=e.usdRoute)||void 0===r?void 0:r.length))return-1;if(void 0===(null==t||null===(i=t.usdRoute)||void 0===i?void 0:i.length)||0==(null==t||null===(o=t.usdRoute)||void 0===o?void 0:o.length))return 1;if("0"==e.usdRoute[0].amountOut)return-1;if("0"==t.usdRoute[0].amountOut)return 1;var a=new TD(sI(e.usdRoute[0].amountOut,e.usdRoute[0].decimalsOut)),s=new TD(sI(t.usdRoute[0].amountOut,t.usdRoute[0].decimalsOut));return a.lt(s)?-1:s.lt(a)?1:0}));return t[t.length-1]}(t.filter(Boolean)))||void 0===r?void 0:r.route),i(o),N(!0)})).catch((function(t){console.log("ERROR",t),e.setMaxRoute(null)})):(i(o),N(!0))})))}),500),[]);return dS.useEffect((function(){_(d,a)}),[d,a]),dS.createElement(sJ.Provider,{value:{selectedRoute:d,setSelectedRoute:f,refreshPaymentRoutes:P,allRoutes:r,allRoutesLoaded:I,slowRouting:y,updatedRouteWithNewPrice:c,updateRouteWithNewPrice:z}},e.children)},yJ=function(e){var t=dS.useContext(eJ),n=t.amountsMissing,r=t.acceptWithAmount,i=t.setMaxRoute,o=dS.useContext(mP).accept,a=DL(dS.useState(),2),s=a[0],u=a[1];return dS.useEffect((function(){u(n?r:o)}),[n,r]),dS.createElement(aJ.Provider,{value:{}},dS.createElement(pJ,{accept:s,setMaxRoute:i,container:e.container,document:e.document},e.children))},mJ={ethereum:Yp.from("3000000000000000"),bsc:Yp.from("700000000000000"),polygon:Yp.from("15000000000000000"),solana:Yp.from("15000"),optimism:Yp.from("3000000000000000"),base:Yp.from("3000000000000000"),arbitrum:Yp.from("3000000000000000"),fantom:Yp.from("3000000000000000"),avalanche:Yp.from("3000000000000000"),gnosis:Yp.from("3000000000000000")},gJ=function(e){var t=DL(dS.useState(),2),n=t[0],r=t[1],i=DL(dS.useState(),2),o=i[0],a=i[1],s=DL(dS.useState(),2),u=s[0],c=s[1],l=DL(dS.useState(),2),h=l[0],d=l[1],f=DL(dS.useState(!0),2),p=f[0],y=f[1],m=dS.useContext(MG);m.navigate;var g=m.set,v=dS.useContext(mP),w=v.accept,b=v.sell,M=dS.useContext(eJ).acceptWithAmount,A=dS.useContext(fS).close,I=function(){var t=xL(jL.mark((function t(n){var i,o,s,u,l;return jL.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=n.route,o=n.accept,s=e.assets.find((function(e){return Vf[e.blockchain].currency.address.toLowerCase()===e.address.toLowerCase()})),i.blockchain!==o.blockchain||i.tokenIn.toLowerCase()!==o.token.toLowerCase()){t.next=34;break}return u=new RS({blockchain:i.blockchain,address:i.tokenIn}),l=e.assets.find((function(e){return e.blockchain===i.blockchain&&e.address.toLowerCase()===i.tokenIn.toLowerCase()})),t.t0=d,t.t1=qZ,t.next=9,u.readable(Yp.from(o.amount));case 9:return t.t2=t.sent,t.t3=(0,t.t1)(t.t2),(0,t.t0)(t.t3),t.t4=c,t.t5=qZ,t.next=16,u.readable(Yp.from(i.amountIn).sub(Yp.from(l.balance)));case 16:return t.t6=t.sent,t.t7=(0,t.t5)(t.t6),(0,t.t4)(t.t7),t.t8=r,t.next=22,u.symbol();case 22:return t.t9=t.sent,(0,t.t8)(t.t9),t.t10=a,t.t11=qZ,t.next=28,u.readable(l.balance);case 28:t.t12=t.sent,t.t13=(0,t.t11)(t.t12,"down"),(0,t.t10)(t.t13),y(!1),t.next=63;break;case 34:if(s&&!Yp.from(s.balance).lt(mJ[s.blockchain])){t.next=48;break}return t.t14=QO,t.t15=i.blockchain,t.t16=Vf[i.blockchain].currency.address,t.next=40,RS.BigNumber({amount:o.amount,blockchain:o.blockchain,address:o.token});case 40:t.t17=t.sent,t.t18=o.token,t.t19=e.account,t.t20=o.receiver,t.t21={blockchain:t.t15,tokenIn:t.t16,amountOut:t.t17,tokenOut:t.t18,fromAddress:t.t19,toAddress:t.t20},t.t14.route.call(t.t14,t.t21).then(function(){var e=xL(jL.mark((function e(t){var n;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t[0],e.t0=c,e.t1=qZ,e.next=5,RS.readable({blockchain:n.blockchain,address:n.tokenIn,amount:n.amountIn});case 5:e.t2=e.sent,e.t3=(0,e.t1)(e.t2),(0,e.t0)(e.t3),r(Vf[n.blockchain].currency.symbol),a(0),y(!1);case 11:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),t.next=63;break;case 48:if(!i){t.next=62;break}return t.t22=QO,t.t23=i.blockchain,t.t24=i.tokenIn,t.next=54,RS.BigNumber({amount:o.amount,blockchain:o.blockchain,address:o.token});case 54:t.t25=t.sent,t.t26=o.token,t.t27=e.account,t.t28=o.receiver,t.t29={blockchain:t.t23,tokenIn:t.t24,amountOut:t.t25,tokenOut:t.t26,fromAddress:t.t27,toAddress:t.t28},t.t22.route.call(t.t22,t.t29).then(function(){var t=xL(jL.mark((function t(n){var i,o,s;return jL.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=n[0],o=new RS({blockchain:i.blockchain,address:i.tokenIn}),s=e.assets.find((function(e){return e.blockchain===i.blockchain&&e.address.toLowerCase()===i.tokenIn.toLowerCase()})),t.t0=d,t.t1=qZ,t.next=7,o.readable(Yp.from(i.amountIn).mul(101).div(100));case 7:return t.t2=t.sent,t.t3=(0,t.t1)(t.t2),(0,t.t0)(t.t3),t.t4=c,t.t5=qZ,t.next=14,o.readable(Yp.from(i.amountIn).sub(Yp.from(s.balance)).mul(101).div(100));case 14:return t.t6=t.sent,t.t7=(0,t.t5)(t.t6),(0,t.t4)(t.t7),t.t8=r,t.next=20,o.symbol();case 20:return t.t9=t.sent,(0,t.t8)(t.t9),t.t10=a,t.t11=qZ,t.next=26,o.readable(s.balance);case 26:t.t12=t.sent,t.t13=(0,t.t11)(t.t12,"down"),(0,t.t10)(t.t13),y(!1);case 30:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),t.next=63;break;case 62:g(["NoPaymentOptionFound"]);case 63:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}();return dS.useEffect((function(){(function(){var t=xL(jL.mark((function t(){var n,r;return jL.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(n=!b&&(M||w).find((function(t){return e.assets.find((function(e){return t.blockchain===e.blockchain&&t.token.toLowerCase()===e.address.toLowerCase()}))})))){t.next=14;break}return r=new RS({blockchain:n.blockchain,address:n.token}),t.t0=n.blockchain,t.t1=n.token,t.next=7,r.BigNumber(n.amount);case 7:return t.t2=t.sent,t.next=10,r.BigNumber(n.amount);case 10:t.t3=t.sent,t.t4=n.token,t.t5=n.receiver,n={blockchain:t.t0,tokenIn:t.t1,amountIn:t.t2,amount:t.t3,token:t.t4,receiver:t.t5};case 14:n&&e.assets.find((function(e){return Vf[e.blockchain].currency.address.toLowerCase()===e.address.toLowerCase()}))&&"0"!==e.assets.find((function(e){return Vf[e.blockchain].currency.address.toLowerCase()===e.address.toLowerCase()})).balance?I({route:n,accept:n}):Promise.all(e.assets.map((function(t){if(Vf[t.blockchain].tokens.find((function(e){return e.address.toLowerCase()===t.address.toLowerCase()})))return(M||w).map(function(){var n=xL(jL.mark((function n(r){return jL.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r.blockchain!==t.blockchain){n.next=12;break}return n.t0=QO,n.t1=t.blockchain,n.t2=t.address,n.next=6,RS.BigNumber({amount:r.amount,blockchain:r.blockchain,address:r.token});case 6:return n.t3=n.sent,n.t4=r.token,n.t5=e.account,n.t6=r.receiver,n.t7={blockchain:n.t1,tokenIn:n.t2,amountOut:n.t3,tokenOut:n.t4,fromAddress:n.t5,toAddress:n.t6},n.abrupt("return",n.t0.route.call(n.t0,n.t7));case 12:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()).filter(Boolean).flat()})).flat().filter(Boolean)).then(function(){var e=xL(jL.mark((function e(t){var n,r;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:(n=(t.filter(Boolean)||[]).flat().find((function(e){return(M||w).find((function(t){return t.blockchain===e.blockchain&&t.token.toLowerCase()===e.tokenOut.toLowerCase()}))}))||t.flat()[0])?(r=(M||w).find((function(e){return e.blockchain===n.blockchain&&e.token.toLowerCase()===n.tokenOut.toLowerCase()}))||w.find((function(e){return e.blockchain===n.blockchain})),I({route:n,accept:r})):g(["NoPaymentOptionFound"]);case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());case 15:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}})()()}),[]),dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter PaddingBottomS"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAGZCAYAAAD/+YnsAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFw2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4wLWMwMDAgNzkuZGE0YTdlNWVmLCAyMDIyLzExLzIyLTEzOjUwOjA3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjQuMSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjMtMDgtMjJUMDg6MDM6NDUrMDI6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIzLTA4LTIyVDA5OjI0OjIzKzAyOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIzLTA4LTIyVDA5OjI0OjIzKzAyOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4YjA0MTU4Mi04MWVhLTRkNjktOGNmMi1hMGI0MTAxYTZjOTUiIHhtcE1NOkRvY3VtZW50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"})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Insufficient Amount"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftM PaddingRightM"},p&&dS.createElement("div",{className:"Skeleton",style:{borderRadius:"18px",width:"100%",height:"170px"}},dS.createElement("div",{className:"SkeletonBackground"})),!p&&dS.createElement("div",null,dS.createElement("div",null,o>0&&dS.createElement("div",null,dS.createElement("div",null,dS.createElement("strong",{className:"FontSizeM"},dS.createElement("span",{style:{fontWeight:"bold"}},u," ",n),dS.createElement("br",null)," are additionally required in order to perform this payment of ",h," ",n,".")),dS.createElement("div",{className:"PaddingTopS PaddingBottomM"},dS.createElement("strong",{className:"FontSizeM"},"Please top up or swap another token to ",n," to perform this payment."))),0===o&&dS.createElement("div",null,dS.createElement("div",null,dS.createElement("strong",{className:"FontSizeM"},dS.createElement("span",{style:{fontWeight:"bold"}},u," ",n),dS.createElement("br",null)," is required in order to perform this payment.")),dS.createElement("div",{className:"PaddingTopS"},dS.createElement("strong",{className:"FontSizeM"},"Please top up your ",n," to perform this payment."))))))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:A},"Ok"))})};function vJ(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(void 0===e)return e;var n="";return n+=e.slice(0,t+2),n+="...",n+=e.slice(e.length-t,e.length)}var wJ=function(){if(void 0===window.eruda){var e=document.createElement("script");e.src="https://cdn.jsdelivr.net/npm/eruda",e.onload=function(){window.eruda.init(),console.log("Eruda has been initialized.")},document.body.appendChild(e)}else console.log("Eruda is already loaded.")},bJ=function(){dS.useContext(MG).navigate;var e=dS.useContext(mP).accept,t=dS.useContext(fS).close,r=dS.useContext(PG).wallet,i=DL(dS.useState(),2),o=i[0],a=i[1];return dS.useEffect((function(){r.account().then(a)}),[r]),dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper",onClick:wJ},dS.createElement("img",{className:"Graphic",src:Zq})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"No Payment Option Found"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftM PaddingRightM"},dS.createElement("strong",{className:"FontSizeM"},"Correct wallet connected ",vJ(o),"?")),dS.createElement("div",{className:"Text PaddingTopXS PaddingBottomXS PaddingLeftM PaddingRightM"},dS.createElement("strong",{className:"FontSizeM"},"Please make sure you have cryptocurrencies on one of the following blockchains:")),dS.createElement("div",{className:"Text PaddingTopXS PaddingBottomS PaddingLeftM PaddingRightM"},dS.createElement("span",{className:"FontSizeS"},n(new Set(e.map((function(e){return e.blockchain})))).map((function(e){return Vf[e].label})).join(", "),"."))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:t},"Ok"))})},MJ=dS.createContext(),AJ=dS.createContext(),IJ=dS.createContext(),NJ=function(e){var t=dS.useContext(rZ).setError,n=dS.useContext(mP),r=n.sent,i=n.succeeded,o=n.failed,a=n.recover,s=n.before,u=n.accept,c=dS.useContext(sJ),l=c.allRoutes;c.allAssets;var h=c.selectedRoute,d=c.refreshPaymentRoutes,f=dS.useContext(fS),p=f.open,y=f.close,m=f.setClosable,g=dS.useContext(pS).setUpdatable,v=dS.useContext(jZ),w=v.navigate,b=v.set,M=dS.useContext(PG),A=M.wallet,I=M.account,N=dS.useContext(AJ),T=N.setPayment,E=N.release,x=N.synchronousTracking,k=N.asynchronousTracking,L=N.trackingInitialized,S=N.initializeTracking,j=N.trace,D=dS.useContext(IJ),C=D.foundTransaction,O=D.initializeTracking,z=DL(dS.useState(),2),P=z[0],_=z[1],B=DL(dS.useState(),2),R=B[0],U=B[1],Q=DL(dS.useState(),2),W=Q[0],Y=Q[1],F=DL(dS.useState(),2),V=F[0],H=F[1],G=DL(dS.useState("initialized"),2),q=G[0],Z=G[1],J=function(e,t){0!=x||0!=k&&1!=L||m(!0),Z("success"),i&&setTimeout((function(){return i(e,t)}),200)},X=function(e,t,n){console.log("error",null==t?void 0:t.toString()),0!=k&&1!=L||m(!0),b(["PaymentFailed"]),Z("failed"),o&&o(e,t,n)},K=function(){var e=xL(jL.mark((function e(){var t,n,i,o,a,u;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Z("paying"),g(!1),e.next=4,A.account();case 4:return i=e.sent,e.next=7,P.route.getTransaction({wallet:A});case 7:if(o=e.sent,!s){e.next=14;break}return e.next=11,s(o,i);case 11:if(!1!==e.sent){e.next=14;break}return e.abrupt("return");case 14:return e.next=16,_I({blockchain:o.blockchain,method:"latestBlockNumber"});case 16:return a=e.sent,u=o.deadline||(null==o||null===(t=o.params)||void 0===t||null===(n=t.payment)||void 0===n?void 0:n.deadline),e.next=20,j(a,P.route,o,u).then(xL(jL.mark((function e(){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return m(!1),e.next=3,A.sendTransaction(Object.assign({},o,{accepted:function(){U(o)},sent:function(e){O(e,a,u),r&&r(e)},succeeded:function(e){return J(e,P)},failed:function(e,t){return X(e,t,P)}})).then((function(e){U(e),S(e,a,P.route,u)})).catch((function(e){console.log("error",e),Z("initialized"),m(!0),g(!0),"WRONG_NETWORK"!=(null==e?void 0:e.code)&&"NOT_SUPPORTED"!=(null==e?void 0:e.code)||w("WrongNetwork")}));case 3:case"end":return e.stop()}}),e)})))).catch((function(e){console.log(e),Z("initialized"),m(!0),g(!0),w("TracingFailed")}));case 20:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();dS.useEffect((function(){T(P)}),[P]),dS.useEffect((function(){E&&Z("success")}),[E]),dS.useEffect((function(){k&&L&&("success"==q||"failed"==q)&&m(!0)}),[L,q]),dS.useEffect((function(){if(a){m(!1),g(!1),Z("paying"),U({blockchain:a.blockchain,id:a.transaction,url:Vf.findByName(a.blockchain).explorerUrlFor({transaction:{id:a.transaction}})});var e=new RS({blockchain:a.blockchain,address:a.token});Promise.all([e.name(),e.symbol()]).then((function(e){var t=DL(e,2),n=t[0],r=t[1];_({blockchain:a.blockchain,token:a.token,name:n,symbol:r.toUpperCase(),amount:a.amount})})).catch(t)}}),[a]),dS.useEffect((function(){var e;C&&C.id&&C.status&&(C.id!=R.id&&(e=Object.assign({},R,{id:C.id,url:Vf.findByName(R.blockchain).explorerUrlFor({transaction:C})}),U(e)),"success"==C.status?J(e||R,P):"failed"==C.status&&X(e||R,P))}),[C,R,P]);var $=dS.useCallback(kG.debounce((function(e){if(e){var n=e.fromToken;Promise.all([n.name(),n.symbol(),n.readable(e.fromAmount)]).then((function(t){var r=DL(t,3),i=r[0],o=r[1],a=r[2];_({blockchain:e.blockchain,route:e,token:n.address,name:i,symbol:o.toUpperCase(),amount:a})})).catch(t)}else void 0===a&&_()}),100),[]);return dS.useEffect((function(){$(h)}),[h]),dS.useEffect((function(){l&&0==l.length?g(!1):l&&l.length>0&&g(!0)}),[l]),l instanceof Array&&0==l.length?dS.createElement(NG,{open:p,close:y,start:void 0===l.assets||0===l.assets.length?"NoPaymentOptionFound":"InsufficientAmountOfTokens",container:e.container,document:e.document,dialogs:{InsufficientAmountOfTokens:dS.createElement(gJ,{assets:l.assets,accept:u,account:I}),NoPaymentOptionFound:dS.createElement(bJ,null)}}):dS.createElement(MJ.Provider,{value:{payment:P,paymentState:q,pay:K,transaction:R,approve:function(){Z("approving"),m(!1),g(!1),A.sendTransaction(Object.assign({},P.route.approvalTransaction,{sent:function(e){Y(e)},succeeded:function(){g(!0),m(!0),d().then((function(){setTimeout((function(){Z("initialized")}),1e3)}))}})).catch((function(e){console.log("error",e),"WRONG_NETWORK"!=(null==e?void 0:e.code)&&"NOT_SUPPORTED"!=(null==e?void 0:e.code)||w("WrongNetwork"),Z("initialized"),m(!0)}))},resetApproval:function(){Z("resetting"),m(!1),g(!1);var e=JSON.parse(JSON.stringify(P.route.approvalTransaction));e.params[1]="0",A.sendTransaction(Object.assign({},e,{sent:function(e){H(e)},succeeded:function(){g(!0),m(!0),d().then((function(){setTimeout((function(){Z("initialized")}),1e3)}))}})).catch((function(e){console.log("error",e),"WRONG_NETWORK"!=(null==e?void 0:e.code)&&"NOT_SUPPORTED"!=(null==e?void 0:e.code)||w("WrongNetwork"),Z("initialized"),m(!0)}))},approvalTransaction:W,resetApprovalTransaction:V}},e.children)},TJ=dS.createContext(),EJ=function(e){var t=dS.useContext(MG).navigate;dS.useContext(rZ).setError,dS.useContext(PG).account;var n=dS.useContext(eJ),r=n.amount,i=n.setAmount,o=n.maxAmount;dS.useContext(TJ).displayedPaymentValue;var a=DL(dS.useState(r),2),s=a[0],u=a[1],c=dS.useContext(mP),l=c.currencyCode,h=c.amount,d=dS.useContext(sJ);d.allRoutes;var f=d.setSelectedRoute,p="object"==kL(h)&&h.min?h.min:1,y="object"==kL(h)&&h.step?h.step:1,m=null!=h&&h.token?null:l,g=function(e){Number.isNaN(e)||u(e)},v=function(e){return y&&(e=parseFloat(new TD(Math.floor(new TD(e).div(y))).mul(y).toString())),e},w=function(e){return e=v(e),o&&(e=Math.max(p,Math.min(e,o))),e=v(e)};return dS.createElement(TG,{stacked:!0,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},dS.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Change Amount"),dS.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},dS.createElement("strong",null,m))),body:dS.createElement("div",{className:"MaxHeight PaddingTopXS"},dS.createElement("div",{className:"PaddingLeftM PaddingRightM"},dS.createElement("div",{className:"PaddingTopS TextCenter PaddingBottomL"},dS.createElement("div",{className:"PaddingBottomM"},dS.createElement("input",{max:o?parseFloat(o):null,min:p,step:y,className:"Input FontSizeXXL TextAlignCenter",type:"number",name:"amount",value:parseFloat(s),onChange:function(e){g(e.target.value)},onBlur:function(e){var t;t=e.target.value,u(w(t))}})),o&&dS.createElement("div",{style:{height:"40px"}},dS.createElement("div",{className:"FontSizeS"},ZZ(v(o)),dS.createElement("div",null,dS.createElement("button",{className:"TextButton",onClick:function(){g(w(o))}},"(Max)"))))))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){var e=w(parseFloat(s));e!=r&&(f(void 0),i(e)),t("back")}},"Done"))})};let xJ=["ethereum","bsc","polygon","solana","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"];xJ.evm=["ethereum","bsc","polygon","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"],xJ.solana=["solana"];const kJ="/Users/sebastian/Work/DePay/react-token-image/src/index.js";function LJ(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}const SJ=[{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],jJ=[{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],DJ="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI4My41IDI4My41OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxjaXJjbGUgZmlsbD0iI0YwRUZFRiIgY3g9IjE0MS43IiBjeT0iMTQxLjciIHI9IjE0MS43Ii8+CjxnPgoJPHBhdGggZmlsbD0iI0FCQUJBQiIgZD0iTTEyNywxNzUuMXYtNC40YzAtOC40LDEuMS0xNS4zLDMuNC0yMC43YzIuMy01LjQsNS4xLTEwLDguNC0xMy44YzMuMy0zLjcsNi42LTcsMTAuMS05LjdzNi4zLTUuNiw4LjYtOC41CgkJYzIuMy0yLjksMy40LTYuNCwzLjQtMTAuNWMwLTUtMS4xLTguNy0zLjMtMTEuMWMtMi4yLTIuNC01LTQtOC40LTQuOGMtMy40LTAuOC02LjktMS4zLTEwLjUtMS4zYy01LjgsMC0xMS44LDEtMTcuOSwyLjkKCQljLTYuMSwxLjktMTEuNSw0LjctMTYsOC40Vjc0YzIuMy0xLjcsNS40LTMuMyw5LjQtNC45YzQtMS42LDguNC0yLjksMTMuNC00YzUtMS4xLDEwLjEtMS42LDE1LjUtMS42YzguMSwwLDE1LjEsMS4xLDIxLjEsMy40CgkJYzYsMi4zLDEwLjgsNS41LDE0LjcsOS41YzMuOCw0LDYuNyw4LjcsOC42LDE0LjFjMS45LDUuMywyLjksMTEuMSwyLjksMTcuMmMwLDYuNi0xLjEsMTItMy40LDE2LjNjLTIuMyw0LjMtNS4xLDgtOC41LDExLjIKCQljLTMuNCwzLjItNi44LDYuNC0xMC4yLDkuNWMtMy40LDMuMS02LjMsNi44LTguNiwxMWMtMi4zLDQuMi0zLjQsOS41LTMuNCwxNS45djMuNEgxMjd6IE0xMjUuMiwyMTguMnYtMjcuN2gzM3YyNy43SDEyNS4yeiIvPgo8L2c+Cjwvc3ZnPgo=";let CJ=function(e){const[t,n]=dS.useState(),[r,i]=dS.useState(),o=e.blockchain.toLowerCase(),a=e.address,s=e.id,u=(e,t)=>["react-token-image","v5.0.2",e,t].join("-"),c=(e,t)=>{n(e),i(t),"unknown"!=t&&localStorage.setItem(u(o,a),JSON.stringify({src:e,expiresAt:Date.now()+864e5}))};dS.useEffect((()=>{let e=localStorage.getItem(u(o,a));if(e&&e.length)try{e=JSON.parse(e)}catch(e){}if(e&&e.src&&e.expiresAt>Date.now()&&e.src!=DJ)return c(e.src,"stored");const t=Vf[o].tokens.find((e=>e.address.toLowerCase()===LJ([a,"optionalAccess",e=>e.toLowerCase,"call",e=>e()])));t?c(t.logo,"web3-blockchains"):xJ.evm.includes(o)?c(h({blockchain:o,address:a}),"repository"):"solana"===o&&l({blockchain:o,address:a}).then((e=>{c(e,"metaplex")})).catch((e=>{c(h({blockchain:o,address:a}),"repository")}))}),[o,a]);const l=({blockchain:e,address:t})=>new Promise((async(n,r)=>{try{let i=new qs(t),o=new qs(RS.solana.METADATA_ACCOUNT),a=[$d.from("metadata"),o.toBuffer(),i.toBuffer()],s=(await qs.findProgramAddress(a,o))[0],u=await _I({blockchain:e,address:s.toString(),api:RS.solana.METADATA_LAYOUT,cache:864e5});if(LJ([u,"optionalAccess",e=>e.data,"optionalAccess",e=>e.uri])){const e=u.data.uri.replace(new RegExp("\0","g"),"");e&&e.length?await fetch(e).then((e=>e.json())).then((e=>{e&&e.image?n(e.image):r("image not found on metaplex")})).catch((()=>r("image not found on metaplex"))):r("image not found on metaplex")}else r("image not found on metaplex")}catch(e){r("image not found on metaplex")}})),h=({blockchain:e,address:t})=>`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/${d(e)}/assets/${t}/logo.png`,d=e=>{switch(e){case"ethereum":return"ethereum";case"bsc":return"smartchain";case"polygon":return"polygon";case"solana":return"solana";case"fantom":return"fantom";case"arbitrum":return"arbitrum";case"avalanche":return"avalanchec";case"gnosis":return"xdai";case"optimism":return"optimism";case"base":return"base";case"worldchain":return"optimism";default:throw"DePayReactTokenImage: Unknown blockchain"}},f=()=>{c(DJ,"unknown")},p=e=>{e.match(/^ipfs/)&&(e=`https://ipfs.io/ipfs/${e.split("://")[1]}`),fetch(e).then((e=>{if(e.ok)return e.json();f()})).then((e=>{if(e){let t=e.image;t?(t.match(/^ipfs/)&&(t=`https://ipfs.io/ipfs/${t.split("://")[1]}`),c(t,"meta")):f()}})).catch(f)};return null==t?dS.createElement("div",{className:e.className,__self:this,__source:{fileName:kJ,lineNumber:209}}):dS.createElement("img",{className:e.className,src:t,onError:e=>{delete localStorage[u(o,a)],"metaplex"==r||"web3-blockchains"==r?c(h({blockchain:o,address:a}),"repository"):"repository"==r?c(`https://integrate.depay.com/tokens/${o}/${a}/image`,"depay"):"depay"==r&&xJ.evm.includes(o)?s?_I({blockchain:o,address:a,api:jJ,method:"uri",params:[s]}).then((e=>{e=e.match("0x{id}")?e.replace("0x{id}",s):e,p(e)})).catch(f):_I({blockchain:o,address:a,api:SJ,method:"tokenURI",params:[1]}).then(p).catch(f):f()},__self:this,__source:{fileName:kJ,lineNumber:214}})};var OJ=function(e){var t=dS.useContext(TJ).paymentValue;return dS.createElement(TG,{stacked:!0,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},dS.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Payment options"),null!=t&&dS.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},dS.createElement("strong",null,t.toString()))),body:dS.createElement("div",{className:"MaxHeight PaddingTopXS"},dS.createElement("div",{className:"PaddingLeftM PaddingRightM"},dS.createElement("div",{className:"Card Skeleton"},dS.createElement("div",{className:"SkeletonBackground"})),dS.createElement("div",{className:"Card Skeleton"},dS.createElement("div",{className:"SkeletonBackground"})),dS.createElement("div",{className:"Card Skeleton"},dS.createElement("div",{className:"SkeletonBackground"})))),footer:dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("div",{className:"TextCenter Opacity05 PaddingTopS PaddingBottomS"},dS.createElement("strong",null,"Loading all payment options...")))})},zJ=function(e){var t=dS.useContext(rZ).setError,n=dS.useContext(sJ),r=n.allRoutes,i=n.allRoutesLoaded,o=n.setSelectedRoute,a=dS.useContext(TJ).displayedPaymentValue,s=dS.useContext(MG).navigate,u=DL(dS.useState(),2),c=u[0],l=u[1],h=DL(dS.useState(),2),d=h[0],f=h[1],p=DL(dS.useState(),2),y=p[0],m=p[1],g=DL(dS.useState(),2),v=g[0],w=g[1],b=DL(dS.useState(),2),M=b[0],A=b[1],I=DL(dS.useState(),2),N=I[0],T=I[1],E=DL(dS.useState(),2),x=E[0],k=E[1],L=DL(dS.useState(!1),2),S=L[0],j=L[1],D=DL(dS.useState(""),2),C=D[0],O=D[1],z=DL(dS.useState(),2),P=z[0],_=z[1],B=dS.useCallback(kG.debounce((function(e,t){var n=t.search(e);T(n.map((function(e){return e.item}))),R.current.scrollTop=0}),300),[]),R=dS.useRef();dS.useEffect((function(){null!=r&&!0===i&&Promise.all(r.map((function(e){return e.exchangeRoutes[0],e.fromToken,Promise.all([e.fromToken.name(),e.fromToken.symbol(),e.fromToken.decimals(),e.fromToken.readable(e.fromAmount)])}))).then((function(e){var t=r.map((function(t,n){return{name:e[n][0],symbol:e[n][1].toUpperCase(),decimals:e[n][2],amount:e[n][3],blockchainName:t.blockchain,route:t}}));_(new Lq(t,{keys:["name","symbol","blockchainName"],threshold:.3,ignoreFieldNorm:!0}));var n=t.filter((function(e){return e.route.fromToken.address.toLowerCase()===e.route.toToken.address.toLowerCase()}));l(n);var i=t.filter((function(e){return Vf[e.route.blockchain].tokens.find((function(t){return t.address.toLowerCase()===e.route.fromToken.address.toLowerCase()}))}));f(i),m(t.filter((function(e){return Vf[e.route.blockchain].currency.address.toLowerCase()===e.route.fromToken.address.toLowerCase()}))),w(t.filter((function(e){return Vf[e.route.blockchain].stables.usd.find((function(t){return t.toLowerCase()===e.route.fromToken.address.toLowerCase()}))}))),A(t),void 0===N&&(n.length?(k("best"),T(n)):(k("major"),T(i)))})).catch(t)}),[r,i]);var U=null==N?void 0:N.map((function(e,t){var n=Vf.findByName(e.route.blockchain);return dS.createElement("button",{type:"button",key:t,className:"Card",title:"Select ".concat(e.symbol," as payment"),onClick:function(){o(e.route),s("back")}},dS.createElement("div",{className:"CardImage"},dS.createElement(CJ,{blockchain:e.route.blockchain,address:e.route.fromToken.address}),dS.createElement("img",{className:"BlockchainLogo small bottomRight "+n.name,style:{backgroundColor:n.logoBackgroundColor},src:n.logo,alt:n.label,title:n.label})),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("h2",{className:"CardText"},dS.createElement("div",{className:"TokenAmountRow"},dS.createElement("span",{className:"TokenSymbolCell"},e.symbol),dS.createElement("span",null," "),dS.createElement("span",{className:"TokenAmountCell"},ZZ(e.amount)))),dS.createElement("h3",{className:"CardText small"},dS.createElement("small",null,ZZ(qZ(parseFloat(e.route.fromBalance.toString())/Math.pow(10,e.decimals),"down")))))))}));return i&&void 0!==U?dS.createElement(TG,{stacked:!0,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"},dS.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Payment options"),null!=a&&dS.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},dS.createElement("strong",null,a.toString())),dS.createElement("div",{className:"PaddingTopS"},dS.createElement("div",{className:"TextLeft",style:{height:"32px"}},!S&&dS.createElement("div",null,c.length>0&&dS.createElement("button",{type:"button",className:"Tab ".concat("best"===x?"active":""),title:"Payment options not requiring conversion",onClick:function(){k("best"),T(c),R.current.scrollTop=0}},"Best"),dS.createElement("button",{type:"button",className:"Tab ".concat("major"===x?"active":""),title:"Major tokens available to use",onClick:function(){k("major"),T(d),R.current.scrollTop=0}},"Major"),y.length>0&&dS.createElement("button",{type:"button",className:"Tab ".concat("native"===x?"active":""),title:"Native blockchain currencies available to use",onClick:function(){k("native"),T(y),R.current.scrollTop=0}},"Native"),v.length>0&&dS.createElement("button",{type:"button",className:"Tab ".concat("stable"===x?"active":""),title:"Stablecoins available to use",onClick:function(){k("stable"),T(v),R.current.scrollTop=0}},"Stable"),dS.createElement("button",{type:"button",className:"Tab ".concat("all"===x?"active":""),title:"All available payment options",onClick:function(){k("all"),T(M),R.current.scrollTop=0}},"All"),dS.createElement("button",{type:"button",className:"Tab",title:"Search for a payment option",style:{fontSize:"12px",position:"relative",top:"-2px"},onClick:function(){k("all"),T(M),j(!0),R.current.scrollTop=0}},"🔍")),S&&dS.createElement("div",{style:{display:"flex"}},dS.createElement("button",{type:"button",className:"Tab",title:"Go back to all payment options",onClick:function(){k("all"),T(M),j(!1),O(""),R.current.scrollTop=0}},dS.createElement(gP,{className:"small"})),dS.createElement("input",{type:"text",className:"Search small",placeholder:"Search by name, symbol or blockchain",autoFocus:!0,value:C,onChange:function(e){return function(e,t,n){O(e.target.value),B(e.target.value,t,n)}(e,P,M)}}))))),bodyRef:R,body:dS.createElement("div",{className:"ScrollHeight PaddingTopXS PaddingBottomS"},dS.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomM"},U,0===U.length&&dS.createElement("div",{className:"TextCenter Opacity05 PaddingTopS PaddingBottomS"},dS.createElement("strong",null,"Nothing found for the given search term."),dS.createElement("br",null),dS.createElement("strong",null,"Please search for something else.")))),footer:!1}):dS.createElement(OJ,null)},PJ=function(){var e=dS.useContext(fS).close,t=dS.useContext(MJ).transaction,n=dS.useContext(PG).wallet;return dS.createElement(TG,{stacked:!1,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:iZ})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Payment Failed"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("strong",{className:"FontSizeM"},"Unfortunately executing your payment failed, but you can try again."),t&&dS.createElement("div",{className:"PaddingTopS"},dS.createElement("a",{className:"Link",title:"Check your transaction on a block explorer",href:zG({url:null==t?void 0:t.url,target:"_blank",wallet:n}),target:"_blank",rel:"noopener noreferrer"},"View details")))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){return e()}},"Try again"))})},_J=function(){return dS.createElement("svg",{className:"ChevronRight Icon",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16"},dS.createElement("path",{strokeWidth:"1",fillRule:"evenodd",d:"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"}))},BJ=function(e){return dS.createElement("svg",{className:"Checkmark Icon "+e.className,version:"1.1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 24 24"},dS.createElement("path",{d:"M20,4.9L9.2,16l-5.4-3.9c-0.7-0.5-1.6-0.3-2.1,0.3c-0.5,0.7-0.3,1.6,0.3,2.1l6.4,4.7c0.3,0.2,0.6,0.3,0.9,0.3 c0.4,0,0.8-0.2,1.1-0.5l11.7-12c0.6-0.6,0.6-1.6,0-2.2C21.6,4.3,20.6,4.3,20,4.9z"}))},RJ=function(e){return dS.createElement("svg",{className:"DigitalWalletIcon Icon "+e.className,version:"1.1",xmlns:"http://www.w3.org/2000/svg",height:"24",width:"24",viewBox:"0 0 24 24"},dS.createElement("path",{d:"M8.51,4.84l-.39-.53,4-2.89a2.2,2.2,0,0,1,3.06.48l.4.56-.53.39-.4-.56A1.54,1.54,0,0,0,12.5,2Z",transform:"translate(-0.81 -1)"}),dS.createElement("path",{d:"M9.77,4.89l-.21-.62,6.31-2.13h0a2.18,2.18,0,0,1,.67-.1h0a2.21,2.21,0,0,1,2.08,1.49l.32.95-.63.21L18,3.73a1.53,1.53,0,0,0-1.45-1h0a1.61,1.61,0,0,0-.48.08h0Z",transform:"translate(-0.81 -1)"}),dS.createElement("path",{d:"M19.72,16.2H18.27a3.28,3.28,0,1,1,0-6.56h1.45a3.21,3.21,0,0,1,1.33.28h0a3.28,3.28,0,0,1,0,6A3.21,3.21,0,0,1,19.72,16.2Zm-1.45-5.9a2.63,2.63,0,0,0,0,5.25h1.45a2.56,2.56,0,0,0,1.06-.23,2.62,2.62,0,0,0,0-4.8,2.55,2.55,0,0,0-1.06-.22ZM19,14.53a1.61,1.61,0,1,1,1.61-1.61A1.62,1.62,0,0,1,19,14.53ZM19,12a1,1,0,1,0,.95.95A1,1,0,0,0,19,12Z",transform:"translate(-0.81 -1)"}),dS.createElement("path",{d:"M10.49,19.69a1.58,1.58,0,1,1,1.58-1.57A1.57,1.57,0,0,1,10.49,19.69Zm0-2.49a.92.92,0,1,0,.92.92A.92.92,0,0,0,10.49,17.2Z",transform:"translate(-0.81 -1)"}),dS.createElement("path",{d:"M19.09,22.14H2.79a2,2,0,0,1-2-2V6.25a2.1,2.1,0,0,1,0-.43,2,2,0,0,1,.48-.92,2,2,0,0,1,1.48-.65H19.09a2,2,0,0,1,.64.1,2,2,0,0,1,1.36,1.79v0a.28.28,0,0,1,0,.09v3.91h-.66v-4a1.49,1.49,0,0,0-.23-.69A1.35,1.35,0,0,0,19.52,5a1.26,1.26,0,0,0-.43-.08H2.82a1.34,1.34,0,0,0-1,.44A1.49,1.49,0,0,0,1.5,6a1.5,1.5,0,0,0,0,.29V20.13a1.36,1.36,0,0,0,1.34,1.35H19.09a1.35,1.35,0,0,0,1.35-1.35V15.68h.66v4.45A2,2,0,0,1,19.09,22.14Z",transform:"translate(-0.81 -1)"}),dS.createElement("path",{d:"M9.27,9.31a1.58,1.58,0,1,1,0-3.15,1.58,1.58,0,0,1,0,3.15Zm0-2.5a.92.92,0,1,0,.92.92A.92.92,0,0,0,9.27,6.81Z",transform:"translate(-0.81 -1)"}),dS.createElement("path",{d:"M7.11,14.67A1.58,1.58,0,1,1,8.69,13.1,1.57,1.57,0,0,1,7.11,14.67Zm0-2.49A.92.92,0,1,0,8,13.1.92.92,0,0,0,7.11,12.18Z",transform:"translate(-0.81 -1)"}),dS.createElement("rect",{x:"0.33",y:"11.77",width:"4.72",height:"0.66"}),dS.createElement("polygon",{points:"2.08 9.53 0.33 9.53 0.33 8.87 1.8 8.87 4.28 6.39 7.21 6.39 7.21 7.05 4.55 7.05 2.08 9.53"}),dS.createElement("polygon",{points:"8.43 17.45 4.53 17.45 2.63 15.55 0.33 15.55 0.33 14.89 2.9 14.89 4.8 16.79 8.43 16.79 8.43 17.45"}))},UJ={ethereum:12,bsc:3,polygon:2,solana:.2,optimism:.5,base:.5,arbitrum:.28,fantom:2.5,avalanche:2,gnosis:5},QJ=function(e){return dS.createElement("div",{className:"LoadingText"},e.children,dS.createElement("span",{className:"dot"},"."),dS.createElement("span",{className:"dot"},"."),dS.createElement("span",{className:"dot"},"."))},WJ={ethereum:["0xdAC17F958D2ee523a2206206994597C13D831ec7"]},YJ=function(){var e=dS.useContext(eJ);e.amount,e.amountsMissing;var t=dS.useContext(AJ),n=t.synchronousTracking,r=t.asynchronousTracking,i=t.trackingInitialized,o=t.release,a=t.forwardTo,s=t.confirmationsRequired,u=t.confirmationsPassed,c=dS.useContext(MJ),l=c.payment,h=c.paymentState,d=c.pay,f=c.transaction,p=c.approve,y=c.approvalTransaction,m=c.resetApproval,g=c.resetApprovalTransaction,v=dS.useContext(TJ).paymentValueLoss,w=dS.useContext(sJ),b=w.updatedRouteWithNewPrice,M=w.updateRouteWithNewPrice;dS.useContext(MG).navigate;var A=dS.useContext(fS).close,I=dS.useContext(PG).wallet,N=DL(dS.useState(),2),T=N[0],E=N[1],x=DL(dS.useState(0),2),k=x[0],L=x[1],S=DL(dS.useState(!1),2),j=S[0],D=S[1],C=kG.throttle(M,2e3),O=kG.throttle(d,2e3),z=kG.throttle(p,2e3),P=kG.throttle(m,2e3);dS.useEffect((function(){if(s){var e=setInterval((function(){L(k+1)}),1e3);return function(){clearInterval(e)}}}),[s,k]),dS.useEffect((function(){u&&E(function(e,t,n){return(t-n)*UJ[e]}(l.blockchain,s,u)-k)}),[u,k]),dS.useEffect((function(){u&&L(0)}),[u]),dS.useEffect((function(){var e,t,n,r;null!=l&&null!==(e=l.route)&&void 0!==e&&e.approvalRequired&&WJ[l.blockchain]&&WJ[l.blockchain].includes(l.token)&&null!=l&&null!==(t=l.route)&&void 0!==t&&t.currentAllowance&&"0"!=(null==l||null===(n=l.route)||void 0===n?void 0:n.currentAllowance.toString())&&null!=l&&null!==(r=l.route)&&void 0!==r&&r.currentAllowance.lt(Yp.from(l.route.fromAmount))?D(!0):D(!1)}),[l]);return dS.createElement("div",null,v&&dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("div",{className:"Alert"},dS.createElement("strong",null,"Payment would lose ",v,"% of its value!"))),!j||null==l.route||!l.route.approvalRequired||l.route.directTransfer||b?null:v?dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("button",{type:"button",className:"ButtonPrimary disabled",onClick:function(){},title:"Reset approval for ".concat(l.symbol)},"Reset ",l.symbol," approval")):"initialized"==h?dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("button",{type:"button",className:"ButtonPrimary",onClick:P,title:"Reset approval for ".concat(l.symbol)},"Reset ",l.symbol," approval")):"resetting"==h?dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("a",{className:"ButtonPrimary",title:"Resetting current approval - please wait",href:zG({url:null==g?void 0:g.url,target:"_blank",wallet:I}),target:"_blank",rel:"noopener noreferrer"},dS.createElement(QJ,null,"Resetting"))):void 0,null==l.route||!l.route.approvalRequired||l.route.directTransfer||b||"World App"===(null==I?void 0:I.name)?null:v||j?dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("button",{type:"button",className:"ButtonPrimary disabled",onClick:function(){},title:"Allow ".concat(l.symbol," to be used as payment")},"Approve use of ",l.symbol)):"initialized"==h?dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("button",{type:"button",className:"ButtonPrimary",onClick:z,title:"Allow ".concat(l.symbol," to be used as payment")},"Approve use of ",l.symbol)):"approving"==h?dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("a",{className:"ButtonPrimary",title:"Approving payment token - please wait",href:zG({url:null==y?void 0:y.url,target:"_blank",wallet:I}),target:"_blank",rel:"noopener noreferrer"},dS.createElement(QJ,null,"Approving"))):void 0,"paying"==h&&null==f?dS.createElement("div",{className:"PaddingBottomS"},dS.createElement("div",{className:"Card transparent disabled small"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter Opacity05"},dS.createElement(RJ,{className:"small"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Confirm in your wallet (",dS.createElement("a",{href:zG({url:"https://depay.com/docs/payments/verify",target:"_blank",wallet:I}),target:"_blank",rel:"noopener noreferrer",style:{textDecoration:"none"}},"verify"),")"))))):"success"==h?dS.createElement("div",{className:"PaddingBottomS"},dS.createElement("div",null,dS.createElement("a",{className:"Card transparent small",title:"Transaction has been confirmed by the network",href:zG({url:null==f?void 0:f.url,target:"_blank",wallet:I}),target:"_blank",rel:"noopener noreferrer"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter Opacity05"},dS.createElement(BJ,{className:"small"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Transaction confirmed"))))),function(e){return e?0==n&&0==r||r&&i?null:r&&0==i?dS.createElement("div",null,dS.createElement("div",{className:"Card transparent small disabled"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"Loading Icon"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Initializing tracking"))))):o?dS.createElement("div",null,dS.createElement("a",{className:"Card transparent small",title:"DePay has validated the payment",href:zG({url:"https://status.depay.com/tx/".concat(e.blockchain,"/").concat(e.id),target:"_blank",wallet:I}),target:"_blank",rel:"noopener noreferrer"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter Opacity05"},dS.createElement(BJ,{className:"small"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Payment validated"))))):dS.createElement("div",null,dS.createElement("a",{className:"Card transparent small",title:"DePay is validating the payment",href:zG({url:"https://status.depay.com/tx/".concat(e.blockchain,"/").concat(e.id),target:"_blank",wallet:I}),target:"_blank",rel:"noopener noreferrer"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"Loading Icon"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Validating payment",s&&T>0&&dS.createElement("span",{title:"".concat(u,"/").concat(s," required confirmations")}," ",T,"s")))))):null}(f)):void 0,function(){if(b)return dS.createElement("div",null,dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("div",{className:"Alert"},dS.createElement("strong",null,"Price updated!"))),dS.createElement("button",{type:"button",className:"ButtonPrimary",onClick:function(){C()}},"Reload"));if(v)return dS.createElement("div",null,dS.createElement("button",{type:"button",className:"ButtonPrimary disabled",onClick:function(){}},"Pay"));if(("initialized"==h||"approving"==h||"resetting"==h)&&l.route){var e=l.route.approvalRequired&&!l.route.directTransfer&&"World App"!=(null==I?void 0:I.name);return dS.createElement("button",{tabIndex:1,type:"button",className:["ButtonPrimary",e?"disabled":""].join(" "),onClick:function(){e||O()}},"Pay")}return"paying"==h?dS.createElement("a",{className:"ButtonPrimary",title:"Performing the payment - please wait",href:zG({url:null==f?void 0:f.url,target:"_blank",wallet:I}),target:"_blank",rel:"noopener noreferrer"},dS.createElement(QJ,null,"Paying")):"success"==h?1==n?o?a?dS.createElement("a",{className:"ButtonPrimary",href:a,rel:"noopener noreferrer"},"Continue"):dS.createElement("button",{className:"ButtonPrimary",onClick:A},"Continue"):dS.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Continue"):1==r&&0==i?dS.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Close"):dS.createElement("button",{className:"ButtonPrimary",onClick:A},"Close"):void 0}())},FJ=function(e){var t=dS.useContext(eJ),n=t.amountsMissing,r=t.fixedAmount,i=dS.useContext(sJ),o=i.slowRouting,a=i.selectedRoute,s=dS.useContext(mP).title;return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},s||"Payment")),alternativeHeaderAction:e.alternativeHeaderAction,body:dS.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},n&&!r&&dS.createElement("div",{className:"Card Skeleton"},dS.createElement("div",{className:"SkeletonBackground"})),dS.createElement("div",{className:"Card Skeleton"},dS.createElement("div",{className:"SkeletonBackground"}))),footer:dS.createElement("div",{className:["PaddingTopXS PaddingRightM PaddingLeftM",null==a&&o?"PaddingBottomS":"PaddingBottomM"].join(" ")},dS.createElement("div",{className:"SkeletonWrapper"},dS.createElement("div",{className:"ButtonPrimary Skeleton"},dS.createElement("div",{className:"SkeletonBackground"}))),null==a&&o&&dS.createElement("div",{className:"TextCenter Opacity05 PaddingTopS"},dS.createElement("strong",null,"Loading payment options...")))})},VJ=function(e){var t=dS.useContext(mP),n=t.currencyCode,r=t.recover,i=t.amount,o=t.currency,a=t.title,s=dS.useContext(MJ),u=s.payment,c=s.paymentState,l=dS.useContext(eJ),h=l.amount,d=l.amountsMissing,f=l.fixedAmount,p=l.fixedCurrency,y=dS.useContext(PG).disconnect,m=dS.useContext(TJ),g=m.paymentValue,v=m.displayedPaymentValue,w=dS.useContext(MG).navigate,b=DL(dS.useState(!1),2),M=b[0],A=b[1],I=null!=i&&i.token?null:n,N=dS.createElement("span",{className:"DropDownWrapper"},dS.createElement("button",{type:"button",onClick:function(){return A(!M)},className:"ButtonCircular",title:"Disconnect connected wallet"},dS.createElement(QG,null)),M&&dS.createElement(UG,{hide:function(){return A(!1)},items:[{label:"Disconnect wallet",action:y}]}));if(null==u||null==r&&null==g)return dS.createElement(FJ,{alternativeHeaderAction:N});var T=Vf.findByName(u.blockchain);return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},a||"Payment")),alternativeHeaderAction:N,body:dS.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},d&&!f&&dS.createElement("button",{type:"button",className:["Card","initialized"==c?"":"disabled"].join(" "),title:"initialized"==c?"Change amount":void 0,onClick:function(){"initialized"==c&&w("ChangeAmount")}},dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("h4",{className:"CardTitle"},"Amount"),dS.createElement("h2",{className:"CardText"},I&&dS.createElement("div",{className:"TokenAmountRow"},new PZ({amount:h.toFixed(2),code:n}).toString()),!I&&dS.createElement("div",{className:"TokenAmountRow"},h)))),dS.createElement("div",{className:"CardAction"},dS.createElement(_J,null))),dS.createElement("button",{type:"button",className:["Card","initialized"==c?"":"disabled"].join(" "),title:"initialized"==c?"Change payment":void 0,onClick:function(){"initialized"==c&&w("ChangePayment")}},dS.createElement("div",{className:"CardImage",title:u.name},dS.createElement(CJ,{blockchain:u.blockchain,address:u.token}),dS.createElement("img",{className:"BlockchainLogo small bottomRight "+T.name,style:{backgroundColor:T.logoBackgroundColor},src:T.logo,alt:T.label,title:T.label})),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},d&&!p&&dS.createElement("h4",{className:"CardTitle"},"Payment"),dS.createElement("h2",{className:"CardText"},dS.createElement("div",{className:"TokenAmountRow"},dS.createElement("span",{className:"TokenSymbolCell"},u.symbol),dS.createElement("span",null," "),dS.createElement("span",{className:"TokenAmountCell"},ZZ(u.amount))),v!="".concat(u.symbol," ").concat(ZZ(u.amount))&&!(d&&!p)&&!1!==o&&dS.createElement("div",{className:"TokenAmountRow small grey"},dS.createElement("span",{className:"TokenAmountCell"},v))))),dS.createElement("div",{className:"CardAction"},dS.createElement(_J,null)))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement(YJ,null))})},HJ=function(e){var t=dS.useContext(MG).navigate;return dS.createElement(TG,{stacked:!1,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:iZ})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),dS.createElement("div",{className:"PaddingTopS"},dS.createElement("span",null,"If this keeps happening, please report it.")))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){e.tryAgain&&e.tryAgain(),t("back")}},"Try again"))})},GJ=function(){var e=dS.useContext(AJ).continueTryTracking,t=dS.useContext(MG).navigate;return dS.createElement(TG,{stacked:!1,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:iZ})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),dS.createElement("div",{className:"PaddingTopS"},dS.createElement("span",null,"If this keeps happening, please report it.")))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){e(),t("back")}},"Try again"))})},qJ=function(e){var t=dS.useContext(MJ).payment,n=dS.useContext(PG).wallet,r=dS.useContext(MG).navigate,i=DL(dS.useState(!1),2);i[0],i[1];var o=Vf.findByName(t.route.blockchain);return dS.createElement(TG,{stacked:!0,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Wrong Network")),body:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:o.logoWhiteBackground})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Connect to ",o.label),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("strong",{className:"FontSizeM"},"Please make sure you connect your wallet to the correct network before you try again!"))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{type:"button",className:"ButtonPrimary",onClick:function(){n.switchTo(t.blockchain),r("back")}},"Switch Network"))})},ZJ=function(e){var t=dS.useContext(fS),n=t.open,r=t.close,i=dS.useContext(jZ).setNavigator,o=dS.useContext(PG).account,a=DL(dS.useState(),2),s=a[0],u=a[1];return dS.useEffect((function(){s&&s.set(["PaymentOverview"])}),[o]),dS.createElement(NG,{setNavigator:function(e){u(e),i(e)},open:n,close:r,start:"PaymentOverview",container:e.container,document:e.document,stacked:!0,dialogs:{PaymentOverview:dS.createElement(VJ,null),ChangeAmount:dS.createElement(EJ,null),ChangePayment:dS.createElement(zJ,null),PaymentFailed:dS.createElement(PJ,null),WrongNetwork:dS.createElement(qJ,null),TrackingFailed:dS.createElement(GJ,null),TracingFailed:dS.createElement(HJ,null)}})},JJ=function(){var e=xL(jL.mark((function e(t){var n,r,i,o,a;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.account,r=[$d.from("payments"),new qs(n).toBuffer()],e.next=4,qs.findProgramAddress(r,new qs("DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7"));case 4:return i=e.sent,o=DL(i,1),a=o[0],e.abrupt("return",a);case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),XJ=function(){var e=xL(jL.mark((function e(t){var n,r;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.account,e.next=3,JJ({account:n});case 3:return r=e.sent.toString(),e.next=6,_I({blockchain:"solana",address:r,api:hf([yf("anchorDiscriminator"),yf("nonce")])});case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),KJ=function(){var e=xL(jL.mark((function e(t){var n,r,i,o,a,s,u;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.blockchain,r=t.transaction,i=t.account,o=t.wallet,n||(n=r.blockchain),!NL.evm.includes(n)){e.next=13;break}if(!r||null==r||!r.nonce){e.next=7;break}return e.abrupt("return",null==r||null===(a=r.nonce)||void 0===a?void 0:a.toString());case 7:if(!n){e.next=11;break}return e.next=10,o.transactionCount({blockchain:n,address:i});case 10:return e.abrupt("return",e.sent.toString());case 11:e.next=24;break;case 13:if(!NL.solana.includes(n)){e.next=24;break}if(!r||null==r||!r.nonce){e.next=16;break}return e.abrupt("return",null==r||null===(s=r.nonce)||void 0===s?void 0:s.toString());case 16:return e.next=18,XJ({account:i});case 18:if(!(u=e.sent)){e.next=23;break}return e.abrupt("return",u.nonce.toString());case 23:return e.abrupt("return","0");case 24:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),$J=function(e){dS.useContext(rZ).errorCallback;var t=dS.useContext(mP),n=t.id,r=t.track,i=t.validated;t.failed;var o=t.integration,a=t.link,s=t.type,u=dS.useContext(PG),c=u.account,l=u.wallet,h=DL(dS.useState(),2),d=h[0],f=h[1],p=DL(dS.useState(),2),y=p[0],m=p[1],g=DL(dS.useState(),2),v=g[0],w=g[1],b=DL(dS.useState(),2),M=b[0],A=b[1],I=DL(dS.useState(),2),N=I[0],T=I[1],E=DL(dS.useState(),2);E[0],E[1];var x=DL(dS.useState(),2),k=x[0],L=x[1],S=DL(dS.useState(),2),j=S[0],D=S[1],C=DL(dS.useState(),2),O=C[0],z=C[1],P=dS.useRef(O);P.current=O;var _=DL(dS.useState(!1),2),B=_[0],R=_[1],U=DL(dS.useState(!!n||!(!r||!r.endpoint&&"function"!=typeof r.method||1==r.async)),1)[0],Q=DL(dS.useState(!n&&!(!r||1!=r.async)),1)[0],W=DL(dS.useState(!!n||!(!r||!r.poll||!r.poll.endpoint&&"function"!=typeof r.poll.method||1==r.async)),1)[0],Y=DL(dS.useState(!1),2),F=Y[0],V=Y[1],H=DL(dS.useState(),2),G=H[0],q=H[1],Z=dS.useContext(fS).setClosable,J=dS.useContext(jZ),X=J.navigate,K=J.set,$=function e(t){var n=new WebSocket("wss://integrate.depay.com/cable");n.onopen=function(){var e=xL(jL.mark((function e(r){var i;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=JSON,e.t1=t.blockchain,e.t2=t.from||c,e.next=5,KJ({transaction:t,account:c,wallet:l});case 5:e.t3=e.sent,e.t4={blockchain:e.t1,sender:e.t2,nonce:e.t3,channel:"PaymentChannel"},e.t5=e.t0.stringify.call(e.t0,e.t4),i={command:"subscribe",identifier:e.t5},n.send(JSON.stringify(i));case 10:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),n.onclose=function(n){n&&1e3==n.code||setTimeout((function(){return e(t)}),1e3)},n.onmessage=function(e){var r=JSON.parse(e.data);if("ping"!==r.type&&r.message){var o="success"==r.message.status;i&&setTimeout((function(){return i(o,t,k)}),200),r.message.release?(n.close(),o?(V(!0),Z(!0),q(r.message.forward_to)):0==o&&(Z(!0),K(["PaymentFailed"]))):r.message.confirmations&&(w(r.message.confirmations.required),A(r.message.confirmations.passed))}},n.onerror=function(e){console.log("WebSocket Error: ",e)}},ee=function(e,t,n,i,o){(o=parseInt(o||1,10))<((null==r?void 0:r.attempts)||40)?setTimeout((function(){ne(e,t,n,i,o+1)}),3e3):X("TrackingFailed")},te=function(e){if(n)return fetch("https://public.depay.com/configurations/".concat(n,"/attempts"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then((function(e){return 200==e.status||201==e.status?(e.json().then((function(e){return z(e.id)})),e):reject("TRACKING REQUEST FAILED")}));if(r.endpoint)return fetch(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then((function(e){if(200==e.status||201==e.status)return e;throw e}));if(r.method)return r.method(e);throw"No tracking defined!"},ne=function(){var e=xL(jL.mark((function e(t,n,r,i,o){var a;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=te,e.t1=t.blockchain,e.t2=t.id,e.t3=t.from,e.next=6,KJ({transaction:t,account:c,wallet:l});case 6:e.t4=e.sent,e.t5=n.toString(),e.t6=r.fromToken.address,e.t7=r.fromAmount.toString(),e.t8=r.fromDecimals,e.t9=r.toToken.address,e.t10=r.toAmount.toString(),e.t11=r.toDecimals,e.t12=null==r||null===(a=r.feeAmount)||void 0===a?void 0:a.toString(),e.t13=P.current,e.t14=i,e.t15=null==l?void 0:l.name,e.t16={blockchain:e.t1,transaction:e.t2,sender:e.t3,nonce:e.t4,after_block:e.t5,from_token:e.t6,from_amount:e.t7,from_decimals:e.t8,to_token:e.t9,to_amount:e.t10,to_decimals:e.t11,fee_amount:e.t12,trace_attempt_id:e.t13,deadline:e.t14,selected_wallet:e.t15},(0,e.t0)(e.t16).then((function(e){R(!0)})).catch((function(e){ee(t,n,r,i,o)}));case 20:case"end":return e.stop()}}),e)})));return function(t,n,r,i,o){return e.apply(this,arguments)}}(),re=function(){var e=xL(jL.mark((function e(t,o,a,s,u,h){var d,f;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&null!=o&&null!=a&&null!=s){e.next=2;break}return e.abrupt("return");case 2:return d=function(e){e&&(e&&e.forward_to?(Z(!0),q(e.forward_to)):Z(!0),clearInterval(u),i&&i(!e.status||"success"==e.status,o,k),V(!0))},e.t0=o.blockchain,e.t1=o.id,e.t2=o.from,e.next=8,KJ({transaction:o,account:c,wallet:l});case 8:e.t3=e.sent,e.t4=a.toString(),e.t5=s.toToken.address,f={blockchain:e.t0,transaction:e.t1,sender:e.t2,nonce:e.t3,after_block:e.t4,to_token:e.t5},n?h&&fetch("https://public.depay.com/attempts/".concat(h),{method:"GET",headers:{"Content-Type":"application/json"}}).then((function(e){return 200==e.status||201==e.status?e.json():void 0})).then(d):r.poll.endpoint?fetch(r.poll.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(f)}).then((function(e){return 200==e.status||201==e.status?e.json().catch((function(){Z(!0)})):void 0})).then(d):r.poll.method&&r.poll.method(f).then(d);case 13:case"end":return e.stop()}}),e)})));return function(t,n,r,i,o,a){return e.apply(this,arguments)}}();dS.useEffect((function(){G&&(e.document.location.href=G)}),[G]),dS.useEffect((function(){if(W&&U){var e=setInterval((function(){return re(W,y,N,j,e,O)}),5e3);return function(){clearInterval(e)}}}),[W,y,N,O,j]);var ie=function(){var e=xL(jL.mark((function e(t,n,r,i){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=fetch,e.t1={"Content-Type":"application/json"},e.t2=JSON,e.t3=t.blockchain,e.t4=t.id,e.t5=t.from,e.next=8,KJ({transaction:t,account:c,wallet:l});case 8:e.t6=e.sent,e.t7=r.toAddress,e.t8=r.toToken.address,e.t9=sI(r.toAmount,r.toDecimals),e.t10=n.toString(),e.t11=t.id,e.t12={sender_id:t.from,sender_token_id:r.fromToken.address,sender_amount:sI(r.fromAmount,r.fromDecimals),integration:o,link:a,type:s},e.t13=r.fee?sI(r.feeAmount,r.toDecimals):null,e.t14=r.fee?r.fee.receiver:null,e.t15=i,e.t16=null==l?void 0:l.name,e.t17={blockchain:e.t3,transaction:e.t4,sender:e.t5,nonce:e.t6,receiver:e.t7,token:e.t8,amount:e.t9,confirmations:1,after_block:e.t10,uuid:e.t11,payload:e.t12,fee_amount:e.t13,fee_receiver:e.t14,deadline:e.t15,selected_wallet:e.t16},e.t18=e.t2.stringify.call(e.t2,e.t17),e.t19={headers:e.t1,method:"POST",body:e.t18},(0,e.t0)("https://public.depay.com/payments",e.t19).then((function(e){200==e.status||201==e.status||setTimeout((function(){ie(t,n,r,i)}),3e3)})).catch((function(e){setTimeout((function(){ie(t,n,r,i)}),3e3)}));case 23:case"end":return e.stop()}}),e)})));return function(t,n,r,i){return e.apply(this,arguments)}}(),oe=function(){var e=xL(jL.mark((function e(t,n,i,o){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("solana"!==t.blockchain){e.next=4;break}return e.next=3,KJ({transaction:t,account:c,wallet:l});case 3:t.nonce=e.sent;case 4:if(ie(t,n,i,o),(U||r&&1==r.async)&&ne(t,n,i,o),0!=U){e.next=8;break}return e.abrupt("return");case 8:f(o),m(t),T(n),D(i),$(t);case 13:case"end":return e.stop()}}),e)})));return function(t,n,r,i){return e.apply(this,arguments)}}();return dS.createElement(AJ.Provider,{value:{synchronousTracking:U,asynchronousTracking:Q,initializeTracking:oe,trace:function(e,t,i,o){return z(),U||Q?(f(o),T(e),D(t),$(i),new Promise(function(){var a=xL(jL.mark((function a(s,u){var h,d;return jL.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.t0=t.blockchain,a.t1=c,a.next=4,KJ({blockchain:t.blockchain,transaction:i,account:c,wallet:l});case 4:if(a.t2=a.sent,a.t3=e.toString(),a.t4=t.fromToken.address,a.t5=t.fromAmount.toString(),a.t6=t.fromDecimals,a.t7=t.toToken.address,a.t8=t.toAmount.toString(),a.t9=t.toDecimals,a.t10=null==t||null===(h=t.feeAmount)||void 0===h?void 0:h.toString(),a.t11=o,a.t12=null==l?void 0:l.name,d={blockchain:a.t0,sender:a.t1,nonce:a.t2,after_block:a.t3,from_token:a.t4,from_amount:a.t5,from_decimals:a.t6,to_token:a.t7,to_amount:a.t8,to_decimals:a.t9,fee_amount:a.t10,deadline:a.t11,selected_wallet:a.t12},!n){a.next=20;break}return a.abrupt("return",fetch("https://public.depay.com/configurations/".concat(n,"/attempts"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}).then((function(e){return 200==e.status||201==e.status?(e.json().then((function(e){return z(e.id)})),s()):u("TRACING REQUEST FAILED")})));case 20:if(!r.endpoint){a.next=24;break}return a.abrupt("return",fetch(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}).then((function(e){return 200==e.status||201==e.status?s():u("TRACING REQUEST FAILED")})));case 24:r.method?r.method(d).then(s).catch(u):u("No tracking defined!");case 25:case"end":return a.stop()}}),a)})));return function(e,t){return a.apply(this,arguments)}}())):Promise.resolve()},trackingInitialized:B,continueTryTracking:function(){ee(y,N,j,d,1)},release:F,forwardTo:G,confirmationsRequired:v,confirmationsPassed:M,setPayment:L}},e.children)},eX=function(e){var t=dS.useContext(rZ).setError,n=dS.useContext(PG).account,r=dS.useContext(pS).updatable,i=dS.useContext(mP),o=i.amount,a=i.currencyCode,s=dS.useContext(eJ).amount,u=dS.useContext(MJ).payment,c=DL(dS.useState(),2),l=c[0],h=c[1],d=DL(dS.useState(),2),f=d[0],p=d[1],y=DL(dS.useState(),2),m=y[0],g=y[1],v=dS.useContext(mP).currency,w=DL(dS.useState(0),2),b=w[0],M=w[1],A=function(e){var r=e.updatable,i=e.payment;0!=r&&null!=(null==i?void 0:i.route)&&(h(null),g(null),Promise.all([Promise.all(Vf[i.route.blockchain].stables.usd.map((function(e){return QO.route({blockchain:i.route.blockchain,tokenIn:i.route.fromToken.address,tokenOut:e,amountIn:i.route.fromAmount,fromAddress:n,toAddress:n})}))),i.route.directTransfer?Promise.resolve([]):QO.route({blockchain:i.route.blockchain,tokenIn:i.route.toToken.address,tokenOut:i.route.fromToken.address,amountIn:i.route.feeAmount?Yp.from(i.route.toAmount).add(Yp.from(i.route.feeAmount)):i.route.toAmount,fromAddress:n,toAddress:n})]).then((function(e){var t,n=DL(e,2),r=n[0],o=n[1][0];if(o){var a=Yp.from(o.amountOut),s=Yp.from(i.route.fromAmount),u=100-a.mul(Yp.from("100")).div(s).abs().toString();g(u>=10?u:null)}if(Vf[i.route.blockchain].stables.usd.includes(i.route.fromToken.address)){var c=Vf[i.route.blockchain].tokens.find((function(e){return e.address===i.route.fromToken.address})).decimals;t=sI(i.route.fromAmount.toString(),c)}else{var l=r.map((function(e){return e?e[0]:void 0})).filter(Boolean);if(0==l.length)return void h("");var d=l.map((function(e){var t=Vf[i.route.blockchain].tokens.find((function(t){return t.address===e.tokenOut})).decimals;return parseFloat(sI(e.amountOut,t))})),f=d.reduce((function(e,t){return e+t}))/d.length,p=d.filter((function(e){return e<f+.1*f&&e>f-.1*f}));t=p.length?p.reduce((function(e,t){return e+t}))/p.length:d.reduce((function(e,t){return e+t}))/d.length}PZ.fromUSD({amount:t,code:v}).then(h)})).catch(t))};return dS.useEffect((function(){l&&s&&o&&o.currency&&o.fix?p(l.toString()):!s||null!=o&&1==(null==o?void 0:o.token)?l&&l.toString().length&&1!=(null==o?void 0:o.token)?p(l.toString()):u&&p("".concat(u.symbol," ").concat(u.amount)):p(new PZ({amount:s.toFixed(2),code:a}).toString())}),[l,u,s,o]),dS.useEffect((function(){n&&u&&A({updatable:r,payment:u})}),[u,n]),dS.useEffect((function(){var e=setTimeout((function(){M(b+1),A({updatable:r})}),15e3);return function(){return clearTimeout(e)}}),[b,r]),dS.createElement(TJ.Provider,{value:{paymentValue:l,paymentValueLoss:m,displayedPaymentValue:f}},e.children)};function tX(){for(var e,t=document.getElementsByTagName("link"),n=0;n<t.length;n++)"icon"!=t[n].getAttribute("rel")&&"shortcut icon"!=t[n].getAttribute("rel")||(e=t[n].getAttribute("href"));if(e)return e.match(":")?e:"".concat(window.location.origin,"/").concat(e.replace(/^\//,""))}var nX=function(e){var t,n,r,i;if(e&&null!=e&&null!==(t=e.meta)&&void 0!==t&&t.logMessages&&null!=e&&null!==(n=e.transaction)&&void 0!==n&&null!==(r=n.message)&&void 0!==r&&r.compiledInstructions&&e.meta.logMessages.some((function(e){return e.match("Program DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7 invoke")})))return e.transaction.message.compiledInstructions.forEach((function(e){Object.keys(Rz.solana.api).forEach((function(t){if(!i)try{if(t.match(/^route/)){var n=Rz.solana.api[t].layout.decode(e.data);n.anchorDiscriminator.toString()===Rz.solana.api[t].anchorDiscriminator.toString()&&(i=n)}}catch(e){}}))})),i},rX=function(){var e=(new Date).getTime(),t=performance&&performance.now&&1e3*performance.now()||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(n){var r=16*Math.random();return e>0?(r=(e+r)%16|0,e=Math.floor(e/16)):(r=(t+r)%16|0,t=Math.floor(t/16)),("x"===n?r:3&r|8).toString(16)}))};function iX(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function oX(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?iX(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):iX(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var aX="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCA4NiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTc3LjExMjggMjIuMDA2NUw3Mi4xNDc5IDExLjE1ODNINjguMDI3TDc1LjExOTcgMjUuNzk1Nkw3NC45OTIxIDI2LjIzNjRDNzQuODE0NCAyNi44MjIzIDc0LjQzOTUgMjcuMzI4MiA3My45MzExIDI3LjY2NzlDNzMuNDIyOCAyOC4wMDc2IDcyLjgxMjUgMjguMTU5OSA3Mi4yMDQ2IDI4LjA5ODlDNzEuNDkzIDI4LjA5MjMgNzAuNzk0OCAyNy45MDM5IDcwLjE3NjEgMjcuNTUxNUw2OS41MTY1IDMwLjY4NjVDNzAuNDY4NCAzMS4wNzk3IDcxLjQ4NzEgMzEuMjg0OSA3Mi41MTY3IDMxLjI5MDhDNzUuMzUzOCAzMS4yOTA4IDc3LjA3MDIgMzAuMjQ1OCA3OC40ODg4IDI3LjE2NzZMODYgMTEuMTU4M0g4Mi4wMjFMNzcuMTEyOCAyMi4wMDY1WiIgZmlsbD0iYmxhY2siLz4KPHBhdGggZD0iTTQyLjAyMzUgNS45OTAxMUgzMC4xMjE5VjI1LjkzMDZIMzQuMDIyOVYxOC42MDEzSDQyLjAyMzVDNDYuMzcxMyAxOC42MDEzIDQ5LjIyOTcgMTYuNDA0NyA0OS4yMjk3IDEyLjI5NTdDNDkuMjI5NyA4LjE4Njc3IDQ2LjM3MTMgNS45OTAxMSA0Mi4wMjM1IDUuOTkwMTFaTTQxLjgxMDcgMTUuMTEwOUgzNC4wMDg3VjkuNDIzNzJINDEuODEwN0M0NC4wNjYyIDkuNDIzNzIgNDUuMzU3IDEwLjQ1NDUgNDUuMzU3IDEyLjI2NzNDNDUuMzU3IDE0LjA4MDEgNDQuMDY2MiAxNS4xMTA5IDQxLjgxMDcgMTUuMTEwOVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik02NS41MzkgMjIuMTQ4N1YxNi4xNDE2QzY1LjUzOSAxMi41ODcyIDYyLjk5MjggMTAuNzQ2IDU4LjYyMzYgMTAuNzQ2QzU1LjA3NzMgMTAuNzQ2IDUxLjk3MDYgMTIuNDAyNCA1MS4wOTgyIDE0Ljk0NzNMNTQuMzA0MiAxNi4wODQ4QzU0Ljc3OTQgMTQuODEyMyA1Ni40MzIgMTMuODczOSA1OC40ODg5IDEzLjg3MzlDNjAuOTI4OCAxMy44NzM5IDYxLjk1NzIgMTQuODY5MSA2MS45NTcyIDE2LjA4NDhWMTYuNDc1OEw1Ni4xNTU0IDE3LjExNTZDNTIuODE0NyAxNy40NzEgNTAuNjE1OSAxOC45NzEgNTAuNjE1OSAyMS42NTExQzUwLjYxNTkgMjQuNTg3IDUzLjEzMzkgMjYuMTY1MiA1Ni40NzQ1IDI2LjE2NTJDNTguNjI3OCAyNi4yMzI1IDYwLjcyNDggMjUuNDY5MSA2Mi4zMzMxIDI0LjAzMjVDNjIuOTE0NyAyNS40NTQzIDYzLjUxMDUgMjYuNDA2OSA2Ny40NzU0IDI1LjkwMjJWMjIuOTMwN0M2NS44ODY2IDIzLjMxNDUgNjUuNTM5IDIyLjkzMDcgNjUuNTM5IDIyLjE0ODdaTTYxLjk5MjcgMjAuMjQzNUM2MS45OTI3IDIyLjE3NzEgNTkuMjkwMyAyMy4yMDA4IDU3LjAyNzggMjMuMjAwOEM1NS4zMDQyIDIzLjIwMDggNTQuMjY4NyAyMi42NDYzIDU0LjI2ODcgMjEuNTQ0NEM1NC4yNjg3IDIwLjQ0MjUgNTUuMTE5OCAyMC4wNDQ0IDU2Ljc2NTMgMTkuODUyNUw2Mi4wMDY5IDE5LjI0MTFMNjEuOTkyNyAyMC4yNDM1WiIgZmlsbD0iYmxhY2siLz4KPHBhdGggZD0iTTIyLjc0MzkgMjEuMjUzQzIyLjc3MTQgMjEuMzM2MSAyMi43NzE0IDIxLjQyNTkgMjIuNzQzOSAyMS41MDg5QzIyLjcyNzkgMjEuNTkxOCAyMi42ODg1IDIxLjY2ODMgMjIuNjMwNCAyMS43MjkzTDE4Ljg3ODMgMjUuNjc0OEMxOC43OTU2IDI1Ljc1OTkgMTguNjk2OCAyNS44Mjc2IDE4LjU4NzUgMjUuODczOEMxOC40NzggMjUuOTIxOSAxOC4zNTk1IDI1Ljk0NjIgMTguMjQgMjUuOTQ0OUgwLjQ0NDMwOEMwLjM2MTg5NCAyNS45NDU2IDAuMjgwODg4IDI1LjkyMzUgMC4yMTAyNDggMjUuODgwOUMwLjEzOTY1NSAyNS44MzI4IDAuMDgzMzAyOCAyNS43NjY1IDAuMDQ3MTE1NiAyNS42ODlDMC4wMjIxMjM2IDI1LjYxMDQgMC4wMjIxMjM2IDI1LjUyNTkgMC4wNDcxMTU2IDI1LjQ0NzNDMC4wNjE4MjM3IDI1LjM2NTUgMC4wOTg2MTkzIDI1LjI4OTIgMC4xNTM1MDYgMjUuMjI2OUwzLjkxMjY1IDIxLjI4MTVDMy45OTUzMyAyMS4xOTYzIDQuMDk0MjIgMjEuMTI4NiA0LjIwMzQ2IDIxLjA4MjRDNC4zMTI3NyAyMS4wMzM3IDQuNDMxMzcgMjEuMDA5NCA0LjU1MSAyMS4wMTEzSDIyLjMxODNDMjIuNDA0IDIxLjAwOTcgMjIuNDg4MiAyMS4wMzQ1IDIyLjU1OTQgMjEuMDgyNEMyMi42MzkzIDIxLjExNTQgMjIuNzA0NyAyMS4xNzU5IDIyLjc0MzkgMjEuMjUzWk0xOC44ODU0IDEzLjc2MDJDMTguODAwOSAxMy42NzczIDE4LjcwMjUgMTMuNjA5OSAxOC41OTQ2IDEzLjU2MTJDMTguNDg0IDEzLjUxNjQgMTguMzY2MyAxMy40OTI0IDE4LjI0NzEgMTMuNDkwMUgwLjQ0NDMwOEMwLjM2MDg2NCAxMy40OTEzIDAuMjc5NDMgMTMuNTE1OSAwLjIwOTIzMSAxMy41NjEyQzAuMTM5MDMyIDEzLjYwNjQgMC4wODI4NzI0IDEzLjY3MDQgMC4wNDcxMTU2IDEzLjc0NkMwLjAyMjU4MzEgMTMuODI0NyAwLjAyMjU4MzEgMTMuOTA5IDAuMDQ3MTE1NiAxMy45ODc3QzAuMDU5MDYwNyAxNC4wNzA0IDAuMDk2MjIwNiAxNC4xNDc0IDAuMTUzNTA2IDE0LjIwODFMMy45MTI2NSAxOC4xNjA2QzMuOTk3MTcgMTguMjQzNiA0LjA5NTYxIDE4LjMxMSA0LjIwMzQ2IDE4LjM1OTdDNC4zMTM4MyAxOC40MDUgNC40MzE3MyAxOC40MjkxIDQuNTUxIDE4LjQzMDhIMjIuMzE4M0MyMi40MDQgMTguNDMyNCAyMi40ODgyIDE4LjQwNzYgMjIuNTU5NCAxOC4zNTk3QzIyLjYzMTEgMTguMzE3OCAyMi42ODYxIDE4LjI1MjYgMjIuNzE1NSAxOC4xNzQ5QzIyLjc1MTggMTguMDk5MiAyMi43NjM5IDE4LjAxNDEgMjIuNzQ5OSAxNy45MzE0QzIyLjczNTkgMTcuODQ4NiAyMi42OTY2IDE3Ljc3MjIgMjIuNjM3NSAxNy43MTI4TDE4Ljg4NTQgMTMuNzYwMlpNMC4yMTAyNDggMTAuODQ1NUMwLjI4MDg4OCAxMC44ODgxIDAuMzYxODk0IDEwLjkxMDIgMC40NDQzMDggMTAuOTA5NUgxOC4yNDcxQzE4LjM2NjYgMTAuOTEwOCAxOC40ODUxIDEwLjg4NjUgMTguNTk0NiAxMC44Mzg0QzE4LjcwMzggMTAuNzkyMiAxOC44MDI3IDEwLjcyNDYgMTguODg1NCAxMC42Mzk0TDIyLjYzNzUgNi42OTM5NEMyMi42OTU2IDYuNjMyODggMjIuNzM0OSA2LjU1NjM5IDIyLjc1MDkgNi40NzM1NkMyMi43NzU1IDYuMzk0ODcgMjIuNzc1NSA2LjMxMDU1IDIyLjc1MDkgNi4yMzE4NkMyMi43MjE2IDYuMTU0MTQgMjIuNjY2NSA2LjA4ODg5IDIyLjU5NDkgNi4wNDcwMkMyMi41MjM3IDUuOTk5MTIgMjIuNDM5NSA1Ljk3NDMgMjIuMzUzOCA1Ljk3NTkzSDQuNTIyNjNDNC40MDMgNS45NzQwMiA0LjI4NDQgNS45OTgyOCA0LjE3NTA5IDYuMDQ3MDJDNC4wNjU4NSA2LjA5MzIyIDMuOTY2OTYgNi4xNjA5IDMuODg0MjggNi4yNDYwN0wwLjEzMjIyOSAxMC4yMDU3QzAuMDcyNzMzNyAxMC4yNjU4IDAuMDMzMTExOSAxMC4zNDI3IDAuMDE4NzQ0MSAxMC40MjYxQy0wLjAwNjI0ODAyIDEwLjUwNDcgLTAuMDA2MjQ4MDIgMTAuNTg5MiAwLjAxODc0NDEgMTAuNjY3OEMwLjA2NDc3ODkgMTAuNzQzOCAwLjEzMTExNiAxMC44MDU0IDAuMjEwMjQ4IDEwLjg0NTVWMTAuODQ1NVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=",sX=function(e){var t=dS.useContext(mP),n=t.accept,r=t.track,i=t.validated,o=t.integration,a=t.link,s=t.type,u=t.id,c=DL(dS.useState(),2),l=c[0],h=c[1];dS.useRef(l).current=l;var d=dS.useContext(MG);d.set,d.navigate;var f=dS.useContext(fS),p=f.close,y=f.setClosable,m=DL(dS.useState(),2),g=m[0],v=m[1],w=DL(dS.useState(),2),b=w[0],M=w[1],A=DL(dS.useState(),2),I=A[0],N=A[1],T=DL(dS.useState(),2),E=T[0],x=T[1],k=DL(dS.useState(),2),L=k[0],S=k[1],j=DL(dS.useState(),2),D=j[0],C=j[1],O=DL(dS.useState(),2),z=O[0],P=O[1],_=DL(dS.useState(),2),B=_[0],R=_[1],U=DL(dS.useState(),2),Q=U[0],W=U[1],Y=DL(dS.useState(),2),F=Y[0],V=Y[1],H=DL(dS.useState(),2),G=H[0],q=H[1],Z=DL(dS.useState(),2),J=Z[0],X=Z[1],K=DL(dS.useState(),2),$=K[0],ee=K[1],te=DL(dS.useState(),2),ne=te[0],re=te[1],ie=DL(dS.useState("select"),2),oe=ie[0],ae=ie[1],se=DL(dS.useState(!!u||!(!r||!r.endpoint&&"function"!=typeof r.method||1==r.async)),1)[0],ue=DL(dS.useState(!u&&!(!r||1!=r.async)),1)[0],ce=DL(dS.useState(!!u||!(!r||!r.poll||!r.poll.endpoint&&"function"!=typeof r.poll.method||1==r.async)),1)[0],le=se||ue,he=dS.useRef(),de=function(){var e=xL(jL.mark((function e(t){var n;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=rX(),P(n),e.next=4,RS.BigNumber({amount:t.amount,blockchain:"solana",address:t.token});case 4:if(t.fromAmountBN=e.sent,!t.fee){e.next=17;break}if(!t.fee.amount.match("%")){e.next=10;break}t.feeAmountBN=t.fromAmountBN.mul(10*parseFloat(t.fee.amount.replace("%",""))).div(1e3),e.next=17;break;case 10:if("string"!=typeof t.fee.amount){e.next=14;break}t.feeAmountBN=t.fee.amount,e.next=17;break;case 14:return e.next=16,RS.BigNumber({amount:t.fee.amount,blockchain:"solana",address:t.token});case 16:t.feeAmountBN=e.sent;case 17:t.fee?t.toAmountBN=t.fromAmountBN.sub(t.feeAmountBN):t.toAmountBN=t.fromAmountBN,S(t),ae("wait"),me(n,t);case 21:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),fe=function(e){var t=e.payment,n=e.resolve,i=e.reject;return u?fetch("https://public.depay.com/configurations/".concat(u,"/attempts"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(e){return 200==e.status||201==e.status?(e.json().then((function(e){return h(e.id)})),n()):i("TRACING REQUEST FAILED")})):r.endpoint?fetch(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(e){return 200==e.status||201==e.status?n():i("TRACING REQUEST FAILED")})):void(r.method?r.method(t).then(n).catch(i):i("No tracking defined!"))},pe=function(e){var t=e.secretId,n=e.selectedPaymentOption;return le?new Promise(function(){var e=xL(jL.mark((function e(r,i){var o;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:o={blockchain:"solana",sender:"solana:".concat(t),nonce:0,after_block:$.toString(),from_token:n.token,from_amount:n.fromAmountBN.toString(),from_decimals:n.decimals,to_token:n.token,to_amount:n.toAmountBN.toString(),to_decimals:n.decimals,fee_amount:n.feeAmountBN.toString(),deadline:Math.ceil(Date.now()/1e3)+36e5},fe({payment:o,resolve:r,reject:i});case 2:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()):Promise.resolve()},ye=function(e){var t=e.transaction;if(le){var n={blockchain:"solana",sender:t.from,transaction:t.id,nonce:t.nonce,after_block:$.toString(),from_token:L.token,from_amount:L.fromAmountBN.toString(),from_decimals:L.decimals,to_token:L.token,to_amount:L.toAmountBN.toString(),to_decimals:L.decimals,fee_amount:L.feeAmountBN.toString(),deadline:t.deadline};fe({payment:n,resolve:function(){y(!se),X(!se)},reject:function(){ae("trackingFailed")}})}},me=function e(t,n){B&&B.close();var r=new WebSocket("wss://integrate.depay.com/cable");R(r),r.onopen=function(){var e=xL(jL.mark((function e(i){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.send(JSON.stringify({command:"subscribe",identifier:JSON.stringify({secret_id:t,channel:"SolanaPayChannel"})}));case 2:if(void 0!==G){e.next=5;break}return e.next=5,r.send(JSON.stringify({command:"message",identifier:JSON.stringify({secret_id:t,channel:"SolanaPayChannel"}),data:JSON.stringify({type:"create",secret_id:t,label:document.title||"DePay",icon:tX()||"https://depay.com/favicon.png",token:n.token,payment_receiver:n.receiver,payment_amount:n.fromAmountBN.toString(),fee_receiver:n.fee?n.fee.receiver:void 0,fee_amount:n.fee?n.feeAmountBN.toString():void 0})}));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r.onclose=function(r){r&&1e3==r.code||setTimeout((function(){return e(t,n)}),1e3)},r.onmessage=function(e){var r=JSON.parse(e.data);"ping"!==r.type&&r.message&&(!0===r.message.created?Me(t,n,"solana:https://public.depay.com/solana/".concat(t)):r.message.scanned?(y("Are you sure you want to abort this payment?"),ae("pay")):r.message.account&&(be(r.message),y("Are you sure you want to abort this payment?"),ae("pay")))},r.onerror=function(e){console.log("WebSocket Error: ",e)}},ge=function e(t){var n=t.account,r=t.nonce;Q&&Q.close();var i=new WebSocket(Vf.solana.sockets[Math.floor(Math.random()*Vf.solana.sockets.length)]);W(i),i.onopen=function(){var e=xL(jL.mark((function e(t){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.send(JSON.stringify({jsonrpc:"2.0",id:1,method:"logsSubscribe",params:[{mentions:[n]},{commitment:"processed"}]}));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),i.onclose=function(t){t&&1e3==t.code||setTimeout((function(){return e({account:n,nonce:r})}),1e3)},i.onmessage=function(e){if(e&&e.data){var t,i,o,a,s,u,c,l=JSON.parse(e.data);if(l&&null!=l&&null!==(t=l.params)&&void 0!==t&&null!==(i=t.result)&&void 0!==i&&null!==(o=i.value)&&void 0!==o&&o.logs&&null!==(a=(null==l||null===(s=l.params)||void 0===s||null===(u=s.result)||void 0===u||null===(c=u.value)||void 0===c?void 0:c.logs)||[])&&void 0!==a&&a.find((function(e){return e.match("Program DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7")}))){var h,d,f=null==l||null===(h=l.params)||void 0===h||null===(d=h.result)||void 0===d?void 0:d.value;f&&null===f.err?(ae("succeeded"),C({status:"succeeded",id:f.signature,url:Vf.solana.explorerUrlFor({transaction:{id:f.signature}}),from:n,nonce:r,deadline:Math.ceil(Date.now()/1e3)+6e5})):f&&(ae("failed"),C({status:"failed",id:f.signature,url:Vf.solana.explorerUrlFor({transaction:{id:f.signature}}),from:n,nonce:r,deadline:Math.ceil(Date.now()/1e3)+6e5}))}}},i.onerror=function(e){console.log("WebSocket Error: ",e)}},ve=function t(n){F&&F.close();var r=new WebSocket("wss://integrate.depay.com/cable");V(r),r.onopen=function(){var e=xL(jL.mark((function e(t){var i;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i={command:"subscribe",identifier:JSON.stringify({blockchain:"solana",sender:n.from,nonce:n.nonce,channel:"PaymentChannel"})},r.send(JSON.stringify(i));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r.onclose=function(e){e&&1e3==e.code||setTimeout((function(){return t(n)}),1e3)},r.onmessage=function(t){var o=JSON.parse(t.data);if("ping"!==o.type&&o.message){var a="success"===o.message.status;i&&setTimeout((function(){return i(a,n)}),200),o.message.release&&(r.close(),a?(X(!0),y(!0),M(o.message.forward_to),o.message.forward_to&&setTimeout((function(){(e.document||window.document).location.href=o.message.forward_to}),200)):0==a&&(y(!0),ae("failed")))}},r.onerror=function(e){console.log("WebSocket Error: ",e)}},we=function(t){ce&&N(setInterval((function(){!function(t){var n,o,a={blockchain:"solana",transaction:t.id,sender:t.from,nonce:t.nonce,after_block:$.toString(),to_token:L.token},s=function(n){n&&(n&&n.forward_to?(y(!0),M(n.forward_to),setTimeout((function(){(e.document||window.document).location.href=n.forward_to}),200)):y(!0),clearInterval(pollingInterval),i&&i(!0,t),X(!0))};u?l&&fetch("https://public.depay.com/attempts/".concat(l),{method:"GET",headers:{"Content-Type":"application/json"}}).then((function(e){return 200==e.status||201==e.status?e.json():void 0})).then(s):null!=r&&null!==(n=r.poll)&&void 0!==n&&n.endpoint?fetch(r.poll.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}).then((function(e){return 200==e.status||201==e.status?e.json().catch((function(){y(!0)})):void 0})).then(s):null!=r&&null!==(o=r.poll)&&void 0!==o&&o.method&&r.poll.method(a).then(s)}(t)}),5e3))},be=function(e){var t=e.account,n=e.nonce;ge({account:t,nonce:n}),x(setInterval(xL(jL.mark((function e(){var r,i,o;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,LI("solana");case 2:return r=e.sent,e.next=5,r.getSignaturesForAddress(new qs(t));case 5:if(!((i=e.sent)&&i.length&&i[0].slot>$)){e.next=11;break}return o=i.filter((function(e){return e.slot>$})),e.next=10,Promise.all(o.map(function(){var e=xL(jL.mark((function e(i){var o,a;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.getTransaction(i.signature,{commitment:"confirmed",maxSupportedTransactionVersion:0});case 2:o=e.sent,(a=nX(o))&&a.nonce.toString()===n.toString()&&(null===o.meta.err?(ae("succeeded"),C({status:"succeeded",id:o.transaction.signatures[0],url:Vf.solana.explorerUrlFor({transaction:{id:o.transaction.signatures[0]}}),from:t,nonce:n,deadline:Math.ceil(Date.now()/1e3)+6e5})):(ae("failed"),C({status:"failed",id:o.transaction.signatures[0],url:Vf.solana.explorerUrlFor({transaction:{id:o.transaction.signatures[0]}}),from:t,nonce:n,deadline:Math.ceil(Date.now()/1e3)+6e5})));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 10:case 11:case"end":return e.stop()}}),e)}))),1e3))},Me=function(){var e=xL(jL.mark((function e(t,n,r){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return pe({secretId:t,selectedPaymentOption:n}).then(xL(jL.mark((function e(){var t;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:q(r),(t=new xG({width:340,height:340,type:"svg",dotsOptions:{type:"extra-rounded"},cornersSquareOptions:{type:"rounded"},backgroundOptions:{color:"transparent"}})).update({data:r}),re(t);case 4:case"end":return e.stop()}}),e)})))).catch((function(e){console.log("Tracing error:",e),ae("tracingFailed")})),e.abrupt("return",{afterBlock:$});case 2:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),Ae=function(){var e=xL(jL.mark((function e(t){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:fetch("https://public.depay.com/payments",{headers:{"Content-Type":"application/json"},method:"POST",body:JSON.stringify({blockchain:"solana",transaction:t.id,sender:t.from,nonce:t.nonce,receiver:L.receiver,token:L.token,amount:sI(L.toAmountBN,L.decimals),confirmations:1,after_block:$.toString(),uuid:t.id,payload:{sender_id:t.from,sender_token_id:L.token,sender_amount:sI(L.fromAmountBN,L.decimals),integration:o,link:a,type:s},fee_amount:L.fee?sI(L.feeAmountBN,L.decimals):null,fee_receiver:L.fee?L.fee.receiver:null,deadline:t.deadline,selected_wallet:"Solana Pay"})}).then((function(e){200==e.status||201==e.status||setTimeout((function(){Ae(t)}),3e3)})).catch((function(e){setTimeout((function(){Ae(t)}),3e3)}));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return dS.useEffect((function(){_I({blockchain:"solana",method:"latestBlockNumber"}).then(ee)}),[]),dS.useEffect((function(){$&&Promise.all(n.filter((function(e){return"solana"===e.blockchain})).map((function(e){var t=new RS({blockchain:e.blockchain,address:e.token});return Promise.all([Promise.resolve(e),t.symbol(),t.name(),t.decimals()])}))).then((function(e){return e.map((function(e){return oX(oX({},e[0]),{},{symbol:e[1],name:e[2],decimals:e[3]})}))})).then((function(e){v(e)}))}),[$]),dS.useEffect((function(){return function(){B&&B.close()}}),[B]),dS.useEffect((function(){return function(){Q&&Q.close()}}),[Q]),dS.useEffect((function(){return function(){F&&F.close()}}),[F]),dS.useEffect((function(){return function(){E&&clearInterval(E)}}),[E]),dS.useEffect((function(){return function(){I&&clearInterval(I)}}),[I]),dS.useEffect((function(){$&&ne&&ae("scan")}),[$&&ne]),dS.useEffect((function(){"scan"===oe&&ne&&he&&he.current&&(he.current.innerHTML="",ne.append(he.current))}),[oe,ne]),dS.useEffect((function(){D&&["succeeded","failed"].includes(oe)&&void 0===F&&(y(!le),X(!le),Ae(D),Q&&Q.close(),E&&clearInterval(E),se&&(ve(D),we(D)),ye({transaction:D}))}),[D,oe,F]),"trackingFailed"===oe?dS.createElement(TG,{stacked:!1,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:iZ})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),dS.createElement("div",{className:"PaddingTopS"},dS.createElement("span",null,"If this keeps happening, please report it.")))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){ae(D.status),ye({transaction:D})}},"Try again"))}):"tracingFailed"===oe?dS.createElement(TG,{stacked:!1,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:iZ})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),dS.createElement("div",{className:"PaddingTopS"},dS.createElement("span",null,"If this keeps happening, please report it.")))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){ae("wait"),Me(z,L,"solana:https://public.depay.com/solana/".concat(z))}},"Try again"))}):"failed"===oe?dS.createElement(TG,{stacked:!1,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:iZ})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Payment Failed"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("strong",{className:"FontSizeM"},"Unfortunately executing your payment failed, but you can try again."),D&&dS.createElement("div",{className:"PaddingTopS"},dS.createElement("a",{className:"Link",title:"Check your transaction on a block explorer",href:null==D?void 0:D.url,target:"_blank",rel:"noopener noreferrer"},"View details")))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){return p()}},"Try again"))}):g?dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL TextLeft"},dS.createElement("img",{src:aX,className:"SolanaPayLogo",alt:"Solana Pay",title:"Solana Pay"})))),body:dS.createElement("div",{className:"".concat(["select"].includes(oe)?"MaxHeight":"")},dS.createElement("div",{className:"PaddingLeftM PaddingRightM"},"select"===oe&&g&&dS.createElement("div",{className:"PaddingTopXS"},g.map((function(e,t){return dS.createElement("div",{className:"Card",key:t,onClick:function(){return de(e)}},dS.createElement("div",{className:"CardImage"},dS.createElement(CJ,{blockchain:e.blockchain,address:e.token}),dS.createElement("img",{className:"BlockchainLogo small bottomRight "+Vf[e.blockchain].name,style:{backgroundColor:Vf[e.blockchain].logoBackgroundColor},src:Vf[e.blockchain].logo,alt:Vf[e.blockchain].label,title:Vf[e.blockchain].label})),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("h2",{className:"CardText"},dS.createElement("div",{className:"TokenAmountRow"},dS.createElement("span",{className:"TokenAmountCell"},ZZ(e.amount)),dS.createElement("span",null," "),dS.createElement("span",{className:"TokenSymbolCell"},e.symbol))))))}))),"wait"===oe&&dS.createElement("div",{className:"TextCenter PaddingTopS"},dS.createElement("div",{className:"Skeleton",style:{display:"inline-block",borderRadius:"18px",width:"305px",height:"305px"}},dS.createElement("div",{className:"SkeletonBackground"}))),"scan"===oe&&dS.createElement("div",{ref:he,className:"QRCode"}),["pay","succeeded","failed"].includes(oe)&&dS.createElement("div",{className:"Card disabled"},dS.createElement("div",{className:"CardImage"},dS.createElement(CJ,{blockchain:L.blockchain,address:L.token}),dS.createElement("img",{className:"BlockchainLogo small bottomRight "+Vf[L.blockchain].name,style:{backgroundColor:Vf[L.blockchain].logoBackgroundColor},src:Vf[L.blockchain].logo,alt:Vf[L.blockchain].label,title:Vf[L.blockchain].label})),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("h2",{className:"CardText"},dS.createElement("div",{className:"TokenAmountRow"},dS.createElement("span",{className:"TokenAmountCell"},ZZ(L.amount)),dS.createElement("span",null," "),dS.createElement("span",{className:"TokenSymbolCell"},L.symbol)))))))),footer:dS.createElement("div",{className:"PaddingRightM PaddingLeftM PaddingBottomM"},"select"===oe&&dS.createElement("div",{className:"Opacity05 PaddingBottomXS PaddingTopS"},dS.createElement("small",null,"Select a payment option to continue")),"wait"===oe&&dS.createElement("div",{className:"Opacity05 PaddingBottomXS PaddingTopS"},dS.createElement("small",null,"Loading QR code...")),"scan"===oe&&dS.createElement("div",{className:"Opacity05 PaddingBottomXS PaddingTopS"},dS.createElement("small",null,"Scan QR code with your wallet")),"pay"===oe&&dS.createElement("div",{className:"PaddingTopXS"},dS.createElement("div",{className:"PaddingBottomS"},dS.createElement("div",{className:"Card transparent disabled small"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter Opacity05"},dS.createElement(RJ,{className:"small"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Confirm payment in your wallet"))))),dS.createElement("a",{className:"ButtonPrimary ".concat(null!=D&&D.url?"":"disabled"),href:null==D?void 0:D.url,target:"_blank",rel:"noopener noreferrer"},dS.createElement(QJ,null,"Paying"))),"succeeded"===oe&&dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopXS"},dS.createElement("div",{className:"PaddingBottomS"},dS.createElement("div",null,dS.createElement("a",{className:"Card transparent small",title:"Transaction has been confirmed by the network",href:null==D?void 0:D.url,target:"_blank",rel:"noopener noreferrer"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter Opacity05"},dS.createElement(BJ,{className:"small"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Transaction confirmed"))))),se&&!J&&dS.createElement("div",{className:"Card transparent small disabled"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"Loading Icon"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Validating payment")))),se&&J&&dS.createElement("div",{className:"Card transparent small disabled"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter Opacity05"},dS.createElement(BJ,{className:"small"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Payment validated"))))),!J&&dS.createElement("button",{className:"ButtonPrimary disabled"},"Continue"),J&&b&&dS.createElement("a",{className:"ButtonPrimary",href:b,rel:"noopener noreferrer"},"Continue"),J&&!b&&dS.createElement("button",{className:"ButtonPrimary",onClick:p},"Close"))))}):dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL TextLeft"},dS.createElement("img",{src:aX,className:"SolanaPayLogo",alt:"Solana Pay",title:"Solana Pay"})))),body:dS.createElement("div",{className:"MaxHeight"},dS.createElement("div",{className:"PaddingLeftM PaddingRightM"},n.filter((function(e){return"solana"===e.blockchain})).map((function(e,t){return dS.createElement("div",{className:"Card Skeleton",key:t},dS.createElement("div",{className:"SkeletonBackground"}))}))))})},uX=function(e){var t=dS.useContext(fS),n=t.open,r=t.close,i=dS.useContext(jZ).setNavigator;return dS.createElement(NG,{setNavigator:i,open:n,close:r,start:"SolanaPay",container:e.container,document:e.document,stacked:!0,dialogs:{SolanaPay:dS.createElement(sX,{unmount:e.unmount,document:e.document})}})},cX=function(e){var t=DL(dS.useState(),2),n=t[0],r=t[1];return n?dS.createElement(uX,{setShowSolanaPayStack:r,document:e.document,container:e.container,unmount:e.unmount}):dS.createElement(XZ.Provider,{value:{start:function(){r(!0)}}},e.children)},lX=["all","xcd","eur","bbd","btn","bnd","xaf","cup","usd","fkp","gip","huf","irr","jmd","aud","lak","lyd","mkd","xof","nzd","omr","pgk","rwf","wst","rsd","sek","tzs","amd","bsd","bam","cve","cny","crc","czk","ern","gel","htg","inr","jod","krw","lbp","mwk","mru","mzn","ang","pen","qar","std","sll","sos","sdg","syp","aoa","awg","bhd","bzd","bwp","bif","kyd","cop","dkk","gtq","hnl","idr","ils","kzt","kwd","lsl","myr","mur","mnt","mmk","ngn","pab","php","ron","sar","sgd","zar","srd","twd","top","vef","dzd","ars","azn","bob","bgn","cad","clp","cdf","dop","fjd","gmd","gyd","isk","iqd","jpy","kpw","chf","mga","mdl","mad","npr","nio","pkr","pyg","shp","scr","sbd","lkr","thb","try","aed","vuv","yer","afn","bdt","brl","khr","kmf","hrk","djf","egp","etb","xpf","ghs","gnf","hkd","xdr","kes","kgs","lrd","mop","mvr","mxn","nad","nok","pln","rub","szl","tjs","ttd","ugx","uyu","vnd","tnd","uah","uzs","tmt","gbp","zmw","byn","bmd","ggp","clf","cuc","imp","jep","svc","xag","zwl"],hX=function(e){var t=DL(dS.useState(),2),n=t[0],r=t[1],i=DL(dS.useState(),2),o=i[0],a=i[1],s=DL(dS.useState(!1),2),u=s[0],c=s[1];dS.useContext(rZ).errorCallback;var l=dS.useContext(mP).recover,h=dS.useContext(PG),d=h.account,f=h.wallet;dS.useEffect((function(){if(u){var e=function(){fetch("https://public.depay.com/transactions/".concat(n.blockchain,"/").concat(n.from,"/").concat(n.nonce)).then((function(e){200==e.status&&e.json().then((function(e){"pending"!=e.status&&(a({id:e.external_id,status:e.status}),c(!1))}))}))},t=setInterval(e,5e3);return e(),function(){clearInterval(t)}}}),[u]);var p=function(){var e=xL(jL.mark((function e(t,n,r,i){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(i>3)){e.next=2;break}return e.abrupt("return");case 2:return e.t0=fetch,e.t1={"Content-Type":"application/json"},e.t2=JSON,e.t3=t.id,e.t4=n.toString(),e.t5=t.blockchain,e.t6=t.from,e.next=11,KJ({transaction:t,wallet:f,account:d});case 11:e.t7=e.sent,e.t8=r,e.t9={id:e.t3,after_block:e.t4,blockchain:e.t5,sender:e.t6,nonce:e.t7,deadline:e.t8},e.t10=e.t2.stringify.call(e.t2,e.t9),e.t11={method:"POST",headers:e.t1,body:e.t10},(0,e.t0)("https://public.depay.com/transactions",e.t11).then((function(e){200==e.status||201==e.status||setTimeout((function(){p(t,n,r,i+1)}),3e3)})).catch((function(e){setTimeout((function(){p(t,n,r,i+1)}),3e3)}));case 17:case"end":return e.stop()}}),e)})));return function(t,n,r,i){return e.apply(this,arguments)}}(),y=function e(t){var n=new WebSocket("wss://integrate.depay.com/cable");n.onopen=function(){var e=xL(jL.mark((function e(r){var i;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=JSON,e.t1=t.blockchain,e.t2=t.from,e.next=5,KJ({transaction:t,wallet:f,account:d});case 5:e.t3=e.sent,e.t4={blockchain:e.t1,sender:e.t2,nonce:e.t3,channel:"TransactionChannel"},e.t5=e.t0.stringify.call(e.t0,e.t4),i={command:"subscribe",identifier:e.t5},n.send(JSON.stringify(i));case 10:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),n.onclose=function(n){n&&1e3==n.code||setTimeout((function(){return e(t)}),1e3)},n.onmessage=function(e){var t=JSON.parse(e.data);"ping"!==t.type&&t.message&&t.message.status&&"pending"!=t.message.status&&(a(t.message),n.close(1e3))},n.onerror=function(e){console.log("WebSocket Error: ",e)}},m=function(e,t,n){NL.evm.includes(e.blockchain)&&(r(e),null==l&&p(e,t,n,1),y(e),c(!0))};return dS.useEffect((function(){l&&m({blockchain:l.blockchain,id:l.transaction,from:l.sender,nonce:l.nonce},l.afterBlock)}),[l]),dS.createElement(IJ.Provider,{value:{initializeTracking:m,foundTransaction:o}},e.children)},dX=function(){var e=xL(jL.mark((function e(t){var n,r,i;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.accept,r=t.recover,void 0===(i=t.integration)||void 0===n){e.next=3;break}throw"You can either use `integration` or `accept`, but not both!";case 3:if(!i&&!r){e.next=5;break}return e.abrupt("return");case 5:n.forEach((function(e){if(void 0===e.blockchain)throw"You need to set the blockchain you want to receive the payment on!";if(!NL.includes(e.blockchain))throw"You need to set a supported blockchain!";if(void 0===e.token&&void 0===e.fromToken&&void 0===e.fromAmount&&void 0===e.toToken)throw"You need to set the token you want to receive as payment!";if(void 0===e.token&&void 0!==e.fromToken&&void 0===e.fromAmount&&void 0===e.toToken)throw"You need to set the fromToken, fromAmount and toToken!";if(void 0===e.receiver)throw"You need to set the receiver address that you want to receive the payment!"}));case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),fX=function(){var e=xL(jL.mark((function e(t){var n,r,i,o,a,s,u,c,l,h,d,f,p,y,m,g,v,w,b,M,A,I,N,T,E,x,k,L,S;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.accept,r=t.amount,i=t.sent,o=t.succeeded,a=t.validated,s=t.failed,u=t.error,c=t.critical,l=t.style,h=t.whitelist,d=t.blacklist,f=t.providers,p=t.currency,y=t.connected,m=t.closed,g=t.track,v=t.recover,w=t.closable,b=t.integration,M=t.payload,A=t.link,I=t.container,N=t.before,T=t.wallet,E=t.title,x=t.action,k=t.document,L=t.wallets,xZ(),p&&!lX.includes(p.toLowerCase())&&(p=!1),e.prev=3,e.next=6,dX({accept:n,integration:b,recover:v});case 6:return"function"==typeof window._depayUnmountLoading&&window._depayUnmountLoading(),S=EZ({style:l,container:I,document:Kq(k),closed:m},(function(e){return function(t){return dS.createElement(uZ,{errorCallback:u,container:t,unmount:e},dS.createElement(FZ,{unmount:e,document:k,container:t,configuration:{type:"payment",payload:M,before:N,amount:r,accept:n,currency:p,event:event,sent:i,succeeded:o,validated:a,failed:s,whitelist:h,blacklist:d,providers:f,track:g,recover:v,integration:b,link:A,wallet:T,title:E,action:x,wallets:L}},dS.createElement(SZ,null,dS.createElement(yS,{unmount:e,closable:w},dS.createElement(OZ,null,dS.createElement(cX,{unmount:e,document:k,container:t},dS.createElement($Z,{document:k,container:t,connected:y,unmount:e},dS.createElement(oJ,null,dS.createElement(iJ,null,dS.createElement(yJ,{container:t,document:k},dS.createElement(hX,null,dS.createElement($J,{document:Kq(k)},dS.createElement(NJ,{container:t,document:k},dS.createElement(eX,null,dS.createElement(ZJ,{document:k,container:t}),dS.createElement(_G,null)))))))))))))))}})),e.abrupt("return",{unmount:S});case 11:e.prev=11,e.t0=e.catch(3),console.log("critical error",e.t0),null!=c&&c(e.t0);case 15:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(t){return e.apply(this,arguments)}}();fX.preload=function(e){var t=e.account,n=e.accept,r=e.whitelist,i=e.blacklist;e.event,hJ({account:t,accept:n,whitelist:r,blacklist:i})};var pX=dS.createContext(),yX=dS.createContext(),mX=function(e){var t=dS.useContext(MJ).payment,n=DL(dS.useState(),2),r=n[0],i=n[1],o=DL(dS.useState(),2),a=o[0],s=o[1];return dS.useEffect((function(){t&&Promise.all([t.route.toToken.symbol(),t.route.toToken.readable(t.route.toAmount)]).then((function(e){var n=DL(e,2),r=n[0],o=n[1];i({address:t.route.toToken.address,symbol:r}),s(o)}))}),[t]),dS.createElement(yX.Provider,{value:{toToken:r,toTokenReadableAmount:a}},e.children)};function gX(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vX(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?gX(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gX(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var wX=function(e){var t=dS.useContext(eJ),n=t.acceptWithAmount,r=t.setMaxRoute,i=dS.useContext(mP).sell,o=dS.useContext(PG).account,a=dS.useContext(mP).blacklist,s=DL(dS.useState(n?n.map((function(e){return vX(vX({},e),{},{receiver:o})})):void 0),2),u=s[0],c=s[1];for(var l in null==a&&(a={}),i){var h=i[l];a[l]instanceof Array?a[l].push(h):a[l]=[h]}return dS.useEffect((function(){n?c(n.map((function(e){return vX(vX({},e),{},{receiver:o})}))):c()}),[n]),dS.createElement(pX.Provider,{value:{}},dS.createElement(pJ,{accept:u,setMaxRoute:r},dS.createElement(NJ,{container:e.container,document:e.document},dS.createElement(eX,null,dS.createElement(mX,null,e.children)))))},bX=function(e){return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Buy")),body:dS.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},dS.createElement("div",{className:"Card Skeleton",style:{height:"100px"}},dS.createElement("div",{className:"SkeletonBackground"})),dS.createElement("div",{className:"Card Skeleton"},dS.createElement("div",{className:"SkeletonBackground"}))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("div",{className:"SkeletonWrapper"},dS.createElement("div",{className:"ButtonPrimary Skeleton"},dS.createElement("div",{className:"SkeletonBackground"}))))})},MX=function(e){dS.useContext(eJ).amount;var t,n=dS.useContext(mP),r=n.tokenImage,i=n.amount,o=dS.useContext(TJ),a=o.paymentValue,s=o.displayedPaymentValue,u=dS.useContext(MJ),c=u.payment,l=u.paymentState,h=dS.useContext(MG).navigate,d=dS.useContext(yX),f=d.toToken,p=d.toTokenReadableAmount,y=DL(dS.useState(),2),m=y[0],g=y[1];if(dS.useEffect((function(){if(a&&(null==i||1!=i.token)&&p){var e=a.amount/parseFloat(p),t=new PZ({amount:e,code:a.code}).toString();t!=new PZ({amount:0,code:a.code}).toString()&&g(t)}}),[a,p]),null==f||null==p||null==c||null==a)return dS.createElement(bX,null);t=r?dS.createElement("img",{src:r}):dS.createElement(CJ,{blockchain:c.route.blockchain,address:f.address});var v=Vf.findByName(c.blockchain);return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Buy")),body:dS.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},dS.createElement("div",{className:["Card","initialized"!=l||i&&i.fix?"disabled":""].join(" "),title:"initialized"==l?"Change amount":void 0,onClick:function(){"initialized"==l&&(i&&i.fix||h("ChangeAmount"))}},dS.createElement("div",{className:"CardImage",title:c.name},t,dS.createElement("img",{className:"BlockchainLogo small bottomRight "+v.name,style:{backgroundColor:v.logoBackgroundColor},src:v.logo,alt:v.label,title:v.label})),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("h4",{className:"CardTitle"},"Amount"),dS.createElement("h2",{className:"CardText"},dS.createElement("div",{className:"TokenAmountRow"},dS.createElement("span",{className:"TokenSymbolCell"},f.symbol),dS.createElement("span",null," "),dS.createElement("span",{className:"TokenAmountCell"},ZZ(p))),m&&dS.createElement("div",{className:"TokenAmountRow small grey"},dS.createElement("span",{className:"TokenAmountCell"},m," per token"))))),dS.createElement("div",{className:"CardAction"},(!i||!i.fix)&&dS.createElement(_J,null))),dS.createElement("div",{className:["Card","initialized"==l?"":"disabled"].join(" "),title:"initialized"==l?"Payment options":void 0,onClick:function(){"initialized"==l&&h("ChangePayment")}},dS.createElement("div",{className:"CardImage",title:c.name},dS.createElement(CJ,{blockchain:c.route.blockchain,address:c.token})),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("h4",{className:"CardTitle"},"Payment"),dS.createElement("h2",{className:"CardText"},dS.createElement("div",{className:"TokenAmountRow"},dS.createElement("span",{className:"TokenSymbolCell"},c.symbol),dS.createElement("span",null," "),dS.createElement("span",{className:"TokenAmountCell"},ZZ(c.amount))),dS.createElement("div",{className:"TokenAmountRow small grey"},dS.createElement("span",{className:"TokenAmountCell"},s))))),dS.createElement("div",{className:"CardAction"},dS.createElement(_J,null)))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement(YJ,null))})},AX=function(e){var t=dS.useContext(fS),n=t.open,r=t.close,i=dS.useContext(jZ).setNavigator;return dS.createElement(NG,{setNavigator:i,open:n,close:r,start:"SaleOverview",container:e.container,document:e.document,stacked:!0,dialogs:{SaleOverview:dS.createElement(MX,null),ChangeAmount:dS.createElement(EJ,null),ChangePayment:dS.createElement(zJ,null),NoPaymentOptionFound:dS.createElement(bJ,null),PaymentFailed:dS.createElement(PJ,null),WrongNetwork:dS.createElement(qJ,null)}})},IX=function(){var e=xL(jL.mark((function e(t){var n;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("object"==kL(n=t.sell)){e.next=3;break}throw'You need to configure at least 1 "blockchain": "token"';case 3:if(0!=Object.keys(n).length){e.next=5;break}throw'You need to configure at least 1 "blockchain": "token"';case 5:if(0!=Object.values(n).length){e.next=7;break}throw'You need to configure at least 1 "blockchain": "token"';case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),NX=function(e){var t,n,r,i,o;return o=Math.floor(e/1e3),i=Math.floor(o/60),o%=60,r=Math.floor(i/60),i%=60,n=Math.floor(r/24),r%=24,t=Math.floor(n/30),n%=30,{year:Math.floor(t/12),month:t%=12,day:n,hour:r,minute:i,second:o}};function TX(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function EX(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?TX(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):TX(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var xX=function(e){var t,n,r=dS.useContext(kZ),i=r.selection;r.setSelection;var o,a=dS.useContext(fS).setOpen,s=dS.useContext(MG).navigate;i.nft.createdAt&&(o=[(o=NX(new Date-new Date(i.nft.createdAt))).year&&o.year>=1?o.year>=2?"".concat(o.year," years"):"1 year":void 0,o.month&&o.month>=1?o.month>=2?"".concat(o.month," months"):"1 month":void 0,o.day&&o.day>=1&&o.month<=1&&o.year<1?o.day>=2?"".concat(o.day," days !!!"):"1 day !!!":void 0].filter((function(e){return e})).join(" "));var u=(null===(t=i.nft)||void 0===t?void 0:t.blockchain)||(null===(n=i.blockchain)||void 0===n?void 0:n.name);if(null==u)return s("SelectBlockchain"),null;return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Confirm Selection"))),stacked:!0,body:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",{className:"TokenImage medium TextCenter"},i.nft.image&&dS.createElement("img",{src:i.nft.image})),dS.createElement("div",{className:"PaddingTopS TextCenter"},dS.createElement("div",{className:"Alert FontSizeS"},dS.createElement("strong",null,"Please review this information"))),dS.createElement("div",{className:"PaddingTopXS"},dS.createElement("table",{className:"Table TextLeft FontSizeS"},dS.createElement("tbody",null,dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Blockchain")),dS.createElement("td",null,dS.createElement("div",null,Vf.findByName(u).label))),dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Name")),dS.createElement("td",null,dS.createElement("a",{className:"Link",href:i.nft.link,target:"_blank",rel:"noopener noreferrer"},i.nft.name))),i.nft.address&&dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Address")),dS.createElement("td",null,dS.createElement("div",null,dS.createElement("a",{className:"Link",title:i.nft.address,href:Vf.findByName(u).explorerUrlFor({token:i.nft.address}),target:"_blank",rel:"noopener noreferrer"},vJ(i.nft.address,6))))),i.nft.id&&dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Token ID")),dS.createElement("td",null,dS.createElement("div",null,i.nft.id))),i.nft.addresses&&dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Addresses")),dS.createElement("td",null,dS.createElement("div",null,i.nft.addresses.join(", ")))))))),footer:dS.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){a(!1),e.resolve(EX(EX({},i.nft),{},{blockchain:u})),setTimeout(e.unmount,300)}},"Confirm"))})},kX=function(e){var t,n,r,i,o,a,s,u,c,l,h,d,f,p,y=dS.useContext(MG).navigate,m=DL(dS.useState(),2);m[0];var g=m[1],v=dS.useContext(kZ),w=v.selection,b=v.setSelection,M=DL(dS.useState(""),2),A=M[0],I=M[1],N=DL(dS.useState(""),2),T=N[0],E=N[1],x=DL(dS.useState(""),2),k=x[0],L=x[1],S=DL(dS.useState(""),2),j=S[0],D=S[1],C=DL(dS.useState(""),2),O=C[0],z=C[1],P=DL(dS.useState(""),2),_=P[0],B=P[1],R=DL(dS.useState(!1),2),U=R[0],Q=R[1],W=function(t){var n=Vf.findByName(t);g(n),b(Object.assign(e.selection,{blockchain:n,token:void 0}))};return dS.useEffect((function(){xL(jL.mark((function e(){var t;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:setTimeout((function(){t||(window._depay_token_selection_selected_blockchain?W(window._depay_token_selection_selected_blockchain):W("ethereum"))}),400),Uk({drip:function(e){e&&!t?(new e).connectedTo().then((function(e){t=Vf.findByName(e),window._depay_token_selection_selected_blockchain?W(window._depay_token_selection_selected_blockchain):e&&e.length&&t&&t.tokens&&t.tokens.length?W(e):W("ethereum")})).catch((function(){return W("ethereum")})):W("ethereum")}});case 2:case"end":return e.stop()}}),e)})))()}),[]),dS.useEffect((function(){E(""),I(""),L(""),D(""),z(""),B(""),Q(!1),g(w.blockchain)}),[w.blockchain]),dS.useEffect((function(){var e,t,n=(null==w||null===(e=w.blockchain)||void 0===e?void 0:e.name)||(null==w?void 0:w.blockchain)||(null==w||null===(t=w.collection)||void 0===t?void 0:t.blockchain);(function(){var e=xL(jL.mark((function e(){var t;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n||NL.solana.includes(n)){e.next=10;break}return e.prev=1,e.next=4,_I({blockchain:n,address:T,method:"balanceOf",api:RS[n][1155],params:[T,"1"]});case 4:t=e.sent,e.next=9;break;case 7:e.prev=7,e.t0=e.catch(1);case 9:Q(!!t);case 10:case"end":return e.stop()}}),e,null,[[1,7]])})));return function(){return e.apply(this,arguments)}})()()}),[T]),dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Enter NFT information")),dS.createElement("div",{className:"PaddingTopS PaddingBottomS"},dS.createElement("div",{className:"Card small",onClick:function(){return y("SelectBlockchain")}},dS.createElement("div",{className:"CardImage small"},dS.createElement("img",{className:"transparent BlockchainLogo small",src:null===(t=Vf[(null==w||null===(n=w.blockchain)||void 0===n?void 0:n.name)||(null==w?void 0:w.blockchain)||(null==w||null===(r=w.collection)||void 0===r?void 0:r.blockchain)])||void 0===t?void 0:t.logo,style:{backgroundColor:null===(i=Vf[(null==w||null===(o=w.blockchain)||void 0===o?void 0:o.name)||(null==w?void 0:w.blockchain)||(null==w||null===(a=w.collection)||void 0===a?void 0:a.blockchain)])||void 0===i?void 0:i.logoBackgroundColor}})),dS.createElement("div",{className:"CardBody FontSizeM"},null===(s=Vf.findByName((null==w||null===(u=w.blockchain)||void 0===u?void 0:u.name)||(null==w?void 0:w.blockchain)||(null==w||null===(c=w.collection)||void 0===c?void 0:c.blockchain)))||void 0===s?void 0:s.label),dS.createElement("div",{className:"CardAction"},dS.createElement(_J,null))))),bodyClassName:"ScrollHeight",body:dS.createElement("div",{className:"PaddingLeftM PaddingRightM"},dS.createElement("div",null,NL.solana.includes(null==w||null===(l=w.blockchain)||void 0===l?void 0:l.name)&&dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopXS TextLeft"},dS.createElement("label",{htmlFor:"DePayWidgetsEnterNFTTokenAddresses"},dS.createElement("div",{className:"FontSizeS Opacity05"},"Token Mint Addresses"))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},dS.createElement("textarea",{id:"DePayWidgetsEnterNFTTokenAddresses",name:"DePayWidgetsEnterNFTTokenAddress",value:A,onChange:function(e){return I(e.target.value)},placeholder:"4LWoVdJWNFQCvDZsf2EP6xD8xAF6S7RhQKkA5gjxJEnn\n979vHrvJ5d4CoCv2Hx5PHN837dsJe9ijhNAQwmY7hpcx",className:"InputField small",rows:4,style:{resize:"vertical",minHeight:"78px",width:"100%"}}),dS.createElement("div",{className:"FontSizeXS PaddingLeftXS PaddingRightXS Opacity03 LineHeightXS"},"Separate each one with a new line break."))),!NL.solana.includes(null==w||null===(h=w.blockchain)||void 0===h?void 0:h.name)&&dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopXS TextLeft"},dS.createElement("label",{htmlFor:"DePayWidgetsEnterNFTTokenAddress"},dS.createElement("div",{className:"FontSizeS Opacity05"},"Token Contract Address"))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},dS.createElement("input",{id:"DePayWidgetsEnterNFTTokenAddress",name:"DePayWidgetsEnterNFTTokenAddress",value:T,onChange:function(e){return E(e.target.value)},placeholder:"0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb",className:"InputField small",style:{width:"100%"}})))),U&&dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopXS TextLeft"},dS.createElement("label",{htmlFor:"DePayWidgetsEnterNFTTokenId"},dS.createElement("span",{className:"FontSizeS Opacity05"},"Token ID"))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},dS.createElement("input",{id:"DePayWidgetsEnterNFTTokenId",name:"DePayWidgetsEnterNFTTokenId",value:k,onChange:function(e){return L(e.target.value)},placeholder:"35347623114821255323888368639026081793120226253597860997754787919489216283624",className:"InputField small"}))),dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopXS TextLeft"},dS.createElement("label",{htmlFor:"DePayWidgetsEnterNFTName"},dS.createElement("span",{className:"FontSizeS Opacity05"},"NFT Name"))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},dS.createElement("input",{id:"DePayWidgetsEnterNFTName",name:"DePayWidgetsEnterNFTName",value:_,onChange:function(e){return B(e.target.value)},placeholder:NL.solana.includes(null==w||null===(d=w.blockchain)||void 0===d?void 0:d.name)?"SMB":"CryptoPunks",className:"InputField small"}))),dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopXS TextLeft"},dS.createElement("label",{htmlFor:"DePayWidgetsEnterNFTImage"},dS.createElement("span",{className:"FontSizeS Opacity05"},"Image URL"))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},dS.createElement("input",{id:"DePayWidgetsEnterNFTImage",name:"DePayWidgetsEnterNFTImage",value:j,onChange:function(e){return D(e.target.value)},placeholder:NL.solana.includes(null==w||null===(f=w.blockchain)||void 0===f?void 0:f.name)?"https://img-cdn.magiceden.dev/rs:fill:128:128:0:0/plain/https://creator-hub-prod.s3.us-east-2.amazonaws.com/smb_gen3_pfp_1688353503184.png":"https://i.seadn.io/gae/BdxvLseXcfl57BiuQcQYdJ64v-aI8din7WPk0Pgo3qQFhAUH-B6i-dCqqc_mCkRIzULmwzwecnohLhrcH8A9mpWIZqA7ygc52Sr81hE?auto=format&w=128",className:"InputField small"}))),dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopXS TextLeft"},dS.createElement("label",{htmlFor:"DePayWidgetsEnterNFTLink"},dS.createElement("span",{className:"FontSizeS Opacity05"},"Link URL"))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},dS.createElement("input",{id:"DePayWidgetsEnterNFTLink",name:"DePayWidgetsEnterNFTLink",value:O,onChange:function(e){return z(e.target.value)},placeholder:NL.solana.includes(null==w||null===(p=w.blockchain)||void 0===p?void 0:p.name)?"https://magiceden.io/marketplace/smb_gen3":"https://opensea.io/collection/cryptopunks",className:"InputField small"})))),footer:dS.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:["ButtonPrimary",j.length&&(T.length||A.length)&&O.length&&_.length&&(!U||k.length)?"":"disabled"].join(" "),onClick:function(){j.length&&(T.length||A.length)&&O.length&&_.length&&(!U||k.length)&&function(){var t,n,r=(null==w||null===(t=w.blockchain)||void 0===t?void 0:t.name)||(null==w?void 0:w.blockchain)||(null==w||null===(n=w.collection)||void 0===n?void 0:n.blockchain);b(Object.assign(e.selection,{nft:{blockchain:r,address:T.length?T:void 0,addresses:A.length?A.split("\n").map((function(e){return e.replace(/\s*/,"")})):void 0,id:k.length?k:void 0,image:j,name:_,link:O,type:NL.solana.includes(r)?"metaplex":U?"1155":"721"}})),y("ConfirmNFTSelection")}()}},"Continue"))})},LX=function(e){var t=dS.useContext(kZ).setSelection,n=DL(dS.useState(""),2),r=n[0],i=n[1],o=dS.useContext(MG).navigate,a=e.stacked||Object.keys(e.selection).length>1,s=NL.map((function(e){return Vf[e]})),u=DL(dS.useState(s),2),c=u[0],l=u[1],h=dS.useRef(),d=new Lq(s,{keys:["label","name"],threshold:.3,ignoreFieldNorm:!0});return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Select Blockchain"),dS.createElement("div",{className:"PaddingTopS TextLeft"},dS.createElement("input",{value:r,autoFocus:!EG(),onChange:function(e){i(e.target.value),e.target.value.length>1?l(d.search(e.target.value).map((function(e){return e.item}))):l(s)},className:"Search",placeholder:"Search by name",ref:h})))),stacked:a,bodyClassName:"ScrollHeight",body:dS.createElement("div",null,c.map((function(n,r){return dS.createElement("div",{key:r,className:"Card Row",onClick:function(){return function(n){window._depay_token_selection_selected_blockchain=n.name,t(Object.assign(e.selection,{blockchain:n})),a&&!1!==e.navigateBack?o("back"):e.resolve(n)}(n)}},dS.createElement("div",{className:"CardImage"},dS.createElement("img",{className:"transparent BlockchainLogo",src:n.logo,style:{backgroundColor:n.logoBackgroundColor}})),dS.createElement("div",{className:"CardBody"},dS.createElement("span",{className:"CardText"},n.label)))}))),footer:dS.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"})})},SX=function(e){dS.useContext(mP).what;var t=dS.useContext(fS),n=t.open,r=t.close,i=dS.useContext(kZ),o=i.selection;i.setSelection;var a=DL(dS.useState(),2);a[0];var s=a[1];return dS.createElement(NG,{open:n,close:r,start:"EnterDataManually",container:e.container,document:e.document,setNavigator:function(e){s(e)},dialogs:{EnterDataManually:dS.createElement(kX,{selection:o,resolve:e.resolve,unmount:e.unmount}),SelectBlockchain:dS.createElement(LX,{stacked:!0,selection:o,resolve:e.resolve,unmount:e.unmount}),ConfirmNFTSelection:dS.createElement(xX,{selection:o,resolve:e.resolve,unmount:e.unmount})}})},jX=function(e){var t=dS.useContext(kZ).selection,n=dS.useContext(fS).setOpen,r=t.token,i=r.address||r.external_id,o=r.logo||r.image,a=Vf.findByName(r.blockchain),s=r.first_transfer?NX(new Date-new Date(r.first_transfer)):void 0;s&&(s=[s.year&&s.year>=1?s.year>=2?"".concat(s.year," years"):"1 year":void 0,s.month&&s.month>=1?s.month>=2?"".concat(s.month," months"):"1 month":void 0,s.day&&s.day>=1&&s.month<=1&&s.year<1?s.day>=2?"".concat(s.day," days !!!"):"1 day !!!":void 0].filter((function(e){return e})).join(" "));var u=r.unique_senders?r.unique_senders:void 0;u&&(u=u>1e6?"Millions":u>1e5?"Hundreds of Thousands":u>2e3?"Thousands":u>100?"Hundreds":"Only a Few!!!");return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Confirm Selection"))),stacked:!0,body:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",{className:"TokenImage medium TextCenter"},o&&dS.createElement("img",{src:o}),!o&&dS.createElement(CJ,{blockchain:r.blockchain,address:i})),dS.createElement("div",{className:"PaddingTopS TextCenter"},dS.createElement("div",{className:"Alert FontSizeS"},dS.createElement("strong",null,"Please review this information"))),dS.createElement("div",{className:"PaddingTopXS"},dS.createElement("table",{className:"Table TextLeft FontSizeS"},dS.createElement("tbody",null,dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Address")),dS.createElement("td",null,dS.createElement("div",null,dS.createElement("a",{className:"Link",title:i,href:a.explorerUrlFor({token:i}),target:"_blank",rel:"noopener noreferrer"},vJ(i,8))))),dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Blockchain")),dS.createElement("td",null,dS.createElement("div",null,a.label))),dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Symbol")),dS.createElement("td",null,dS.createElement("div",null,r.symbol))),dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Name")),dS.createElement("td",null,dS.createElement("div",null,r.name))),s&&dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Age")),dS.createElement("td",null,dS.createElement("div",null,s))),u&&dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Holders")),dS.createElement("td",null,dS.createElement("div",null,u))))))),footer:dS.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){n(!1),e.resolve({blockchain:r.blockchain,address:r.external_id||r.address,symbol:r.symbol,name:r.name,decimals:r.decimals,logo:r.image||r.logo,routable:r.routable}),setTimeout(e.unmount,300)}},"Confirm"))})},DX=function(e){var t=dS.useContext(MG).navigate,n=dS.useContext(fS).setOpen,r=dS.useContext(kZ).setSelection,i=DL(dS.useState(!1),2),o=i[0],a=i[1],s=DL(dS.useState(""),2),u=s[0],c=s[1],l=DL(dS.useState(),2),h=l[0],d=l[1],f=DL(dS.useState(!1),2),p=f[0],y=f[1],m=DL(dS.useState([]),2),g=m[0],v=m[1],w=DL(dS.useState(),2);w[0],w[1];var b=dS.useRef(),M=function(t){var n=Vf.findByName(t);d(n),r(Object.assign(e.selection,{blockchain:n,token:void 0})),v(n.tokens)};dS.useEffect((function(){xL(jL.mark((function e(){var t;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:setTimeout((function(){t||(window._depay_token_selection_selected_blockchain?M(window._depay_token_selection_selected_blockchain):M("ethereum"))}),400),Uk({drip:function(e){e&&!t?(new e).connectedTo().then((function(e){t=Vf.findByName(e),window._depay_token_selection_selected_blockchain?M(window._depay_token_selection_selected_blockchain):e&&e.length&&t&&t.tokens&&t.tokens.length?M(e):M("ethereum")})).catch((function(){return M("ethereum")})):M("ethereum")}});case 2:case"end":return e.stop()}}),e)})))()}),[]),dS.useEffect((function(){e.selection.blockchain&&(d(e.selection.blockchain),v(e.selection.blockchain.tokens),b.current&&(b.current.value="",EG()||b.current.focus()))}),[e.selection,e.selection.blockchain]);var A,I=dS.useCallback(kG.debounce((function(e,t){fetch("https://public.depay.com/tokens/search?blockchain=".concat(t,"&term=").concat(e)).then((function(e){200==e.status?e.json().then((function(e){v(e),a(!1)})).catch((function(){return reject})):reject()})).catch((function(){return reject}))}),500),[]);return A=o?[dS.createElement("div",{className:"SkeletonWrapper",key:"loading"},dS.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},dS.createElement("div",{className:"SkeletonBackground"})))]:g.map((function(i,o){return dS.createElement("div",{key:"".concat(o,"-").concat(i.address),className:"Card Row",onClick:function(){return function(i){i.address&&i.address.match("0x")&&(i.address=om(i.address)),i.external_id&&i.external_id.match("0x")&&(i.external_id=om(i.external_id)),h.tokens.find((function(e){return e.address==(i.address||i.external_id)}))?(n(!1),e.resolve({blockchain:h.name,address:i.address||i.external_id,logo:i.logo||i.image,name:i.name,symbol:i.symbol,decimals:i.decimals,routable:!0}),setTimeout(e.unmount,300)):(r(Object.assign(e.selection,{token:i})),t("ConfirmTokenSelection"))}(i)}},dS.createElement("div",{className:"CardImage"},i.logo&&dS.createElement("img",{src:i.logo}),i.image&&dS.createElement("img",{src:i.image}),!(i.logo||i.image)&&dS.createElement(CJ,{blockchain:i.blockchain,address:i.external_id||i.address})),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardTokenSymbol",title:i.symbol},dS.createElement("span",{className:"CardText"},i.symbol)),dS.createElement("div",{className:"CardTokenName",title:i.name},dS.createElement("span",{className:"CardText"},i.name))))})),h?dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Select Token")),dS.createElement("div",{className:"PaddingTopS PaddingBottomXS"},dS.createElement("div",{className:"Card small",onClick:function(){t("SelectBlockchain")}},dS.createElement("div",{className:"CardImage small"},dS.createElement("img",{className:"transparent BlockchainLogo",src:h.logo,style:{backgroundColor:h.logoBackgroundColor}})),dS.createElement("div",{className:"CardBody FontSizeM"},h.label),dS.createElement("div",{className:"CardAction"},dS.createElement(_J,null)))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS"},dS.createElement("input",{value:u,autoFocus:!EG(),onBlur:function(){return y(!1)},onChange:function(e){y(!1),a(!0);var t=e.target.value;if(c(t),t.match(/^0x/)){var n;v([]);try{n=new RS({blockchain:h.name,address:t})}catch(e){}if(null==n)return void a(!1);Promise.all([n.name(),n.symbol(),n.decimals(),fetch("https://public.depay.com/tokens/routable/".concat(h.name,"/").concat(t)).then((function(e){if(200==e.status)return e.json()}))]).then((function(e){var n=DL(e,4),r=n[0],i=n[1],o=n[2],s=n[3];v([{name:r,symbol:i,decimals:o,address:t,blockchain:h.name,routable:!!s}]),a(!1)}))}else if(t.length>32&&t.length<=44&&!/[^123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]/.test(t)){var r;v([]);try{r=new RS({blockchain:h.name,address:t})}catch(e){}if(null==r)return void a(!1);Promise.all([r.name(),r.symbol(),r.decimals(),fetch("https://public.depay.com/tokens/routable/".concat(h.name,"/").concat(t)).then((function(e){if(200==e.status)return e.json()}))]).then((function(e){var n=DL(e,4),r=n[0],i=n[1],o=n[2],s=n[3];v([{name:r,symbol:i,decimals:o,address:t,blockchain:h.name,routable:!!s}]),a(!1)}))}else t&&t.length?(v([]),I(t,h.name)):(v(h.tokens),a(!1))},className:"Search",placeholder:"Search name or paste address",ref:b}),p&&dS.createElement("div",{className:"PaddingTopXS PaddingRightXS PaddingLeftXS"},dS.createElement("div",{className:"Tooltip"},dS.createElement("span",{className:"TooltipArrowUp"}),"Enter token address here")))),bodyClassName:"ScrollHeight",body:dS.createElement("div",{className:""},A),footer:dS.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},dS.createElement("div",{className:"PaddingTopXS PaddingBottomXS"},dS.createElement("div",{className:"Link FontSizeS",onClick:function(){y(!0),b.current&&(b.current.value="")}},"Token missing? Add it.")))}):dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Select Token")),dS.createElement("div",{className:"PaddingTopS PaddingBottomXS"},dS.createElement("div",{className:"SkeletonWrapper",key:"loading"},dS.createElement("div",{className:"Skeleton",style:{height:"46px",borderRadius:"8px",width:"100%"}},dS.createElement("div",{className:"SkeletonBackground"})))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS"},dS.createElement("div",{className:"SkeletonWrapper",key:"loading"},dS.createElement("div",{className:"Skeleton",style:{height:"50px",borderRadius:"8px",width:"100%"}},dS.createElement("div",{className:"SkeletonBackground"}))))),bodyClassName:"ScrollHeight",body:dS.createElement("div",{className:""},[1,2,3,4,5,6].map((function(e){return dS.createElement("div",{className:"SkeletonWrapper",key:e,style:{marginBottom:"1px"}},dS.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},dS.createElement("div",{className:"SkeletonBackground"})))}))),footer:dS.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},dS.createElement("div",{className:"PaddingTopXS PaddingBottomXS",style:{height:"32px"}}))})},CX=function(e){dS.useContext(mP).what;var t,n=dS.useContext(fS),r=n.open,i=n.close,o=dS.useContext(kZ).selection;return t="SelectToken",dS.createElement(NG,{open:r,close:i,start:t,container:e.container,document:e.document,dialogs:{SelectToken:dS.createElement(DX,{selection:o,resolve:e.resolve,unmount:e.unmount}),SelectBlockchain:dS.createElement(LX,{selection:o,resolve:e.resolve,unmount:e.unmount}),ConfirmTokenSelection:dS.createElement(jX,{selection:o,resolve:e.resolve,unmount:e.unmount})}})},OX={Connect:function(e){var t,n,r;return xZ(),"object"==kL(e)&&(t=e.style,n=e.error,r=e.document),new Promise(function(){var e=xL(jL.mark((function e(i,o){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:EZ({style:t,document:Kq(r)},(function(e){var t=function(){o("USER_CLOSED_DIALOG"),e()};return function(a){return dS.createElement(uZ,{errorCallback:n,container:a,unmount:e},dS.createElement(SZ,null,dS.createElement(yS,{unmount:t},dS.createElement(LZ,null,dS.createElement(Xq,{document:r,container:a,resolve:i,reject:o,autoClose:!0}),dS.createElement(_G,null)))))}}));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}())},Login:function(e){var t,n,r,i,o,a,s;return xZ(),"object"==kL(e)&&(t=e.style,n=e.error,r=e.document,i=e.message,o=e.endpoint,a=e.recover,s=e.wallet),new Promise(function(){var e=xL(jL.mark((function e(u,c){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:EZ({style:t,document:Kq(r)},(function(e){var t=function(){c("USER_CLOSED_DIALOG"),e()};return function(c){return dS.createElement(uZ,{errorCallback:n,container:c,unmount:e},dS.createElement(FZ,{configuration:{message:i,endpoint:o||"/login",recoverSignature:a,wallet:s}},dS.createElement(SZ,null,dS.createElement(yS,{unmount:t},dS.createElement(_G,null),dS.createElement($Z,{container:c,unmount:e},dS.createElement(GZ,{document:r,container:c,stacked:!0,resolve:function(t){var n=t.account,r=t.wallet;e(),u({account:n,wallet:r})}}))))))}}));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}())},Payment:fX,Sale:function(){var e=xL(jL.mark((function e(t){var n,r,i,o,a,s,u,c,l,h,d,f,p,y,m,g,v,w,b,M,A;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.amount,r=t.sell,i=t.sent,o=t.succeeded,a=t.failed,s=t.error,u=t.critical,c=t.style,l=t.blacklist,h=t.before,d=t.providers,f=t.currency,p=t.connected,y=t.closed,m=t.tokenImage,g=t.closable,v=t.integration,w=t.wallet,b=t.document,xZ(),e.prev=2,e.next=5,IX({sell:r});case 5:return M=Object.keys(r).map((function(e){return{blockchain:e,token:r[e]}})),l=Object.assign(l||{}),Object.keys(r).forEach((function(e){l[e]||(l[e]=[]),l[e].push(r[e])})),A=EZ({style:c,document:Kq(b),closed:y},(function(e){return function(t){return dS.createElement(uZ,{errorCallback:s,container:t,unmount:e},dS.createElement(FZ,{configuration:{type:"sale",accept:M,before:h,tokenImage:m,amount:n,sell:r,currency:f,sent:i,succeeded:o,failed:a,blacklist:l,providers:d,integration:v,wallet:w}},dS.createElement(SZ,null,dS.createElement(yS,{unmount:e,closable:g},dS.createElement($Z,{container:t,connected:p,unmount:e},dS.createElement(OZ,null,dS.createElement(oJ,null,dS.createElement(iJ,null,dS.createElement(hX,null,dS.createElement($J,{document:Kq(b)},dS.createElement(wX,{container:t,document:b},dS.createElement(AX,{document:b,container:t}),dS.createElement(_G,null))))))))))))}})),e.abrupt("return",{unmount:A});case 12:e.prev=12,e.t0=e.catch(2),console.log("critical error",e.t0),null!=u&&u(e.t0);case 16:case"end":return e.stop()}}),e,null,[[2,12]])})));return function(t){return e.apply(this,arguments)}}(),Select:function(e){var t,n,r,i,o;return xZ(),"object"==kL(e)&&(t=e.style,n=e.error,r=e.document,i=e.what),null==i?o='"what" needs to be configured!':["token","nft"].indexOf(i)<0&&(o='Unknown "what" configured: '.concat(i,"!")),new Promise(function(){var e=xL(jL.mark((function e(a,s){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:EZ({style:t,document:Kq(r)},(function(e){var t=function(){s("USER_CLOSED_DIALOG"),e()};return function(s){return dS.createElement(uZ,{error:o,errorCallback:n,container:s,unmount:e},dS.createElement(FZ,{configuration:{what:i}},dS.createElement(SZ,null,dS.createElement(yS,{unmount:t},dS.createElement(LZ,null,"token"==i&&dS.createElement(CX,{document:r,container:s,unmount:e,resolve:a}),"nft"==i&&dS.createElement(SX,{document:r,container:s,unmount:e,resolve:a})),dS.createElement(_G,null)))))}}));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}())},Loading:VZ,allWallets:TL};export{OX as default};
179
+ */var Wq="undefined"!=typeof document?dS.useLayoutEffect:dS.useEffect;function Yq(e){return function(e){var t=dS.useReducer((function(){return{}}),{})[1],n=Sq({},e,{onChange:function(n){t(),null==e.onChange||e.onChange(n)}}),r=dS.useState((function(){return new Uq(n)}))[0];return r.setOptions(n),dS.useEffect((function(){return r._didMount()}),[]),Wq((function(){return r._willUpdate()})),r}(Sq({observeElementRect:Pq,observeElementOffset:_q,scrollToFn:Rq},e))}function Fq(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Vq=function(e){var t,r=dS.useContext(mP).wallets;t=null!=r&&r.sort||null!=r&&r.whitelist?dS.useMemo((function(){var e=n(TL);return null!=r&&r.sort&&r.sort.forEach((function(t,n){var r=e.findIndex((function(e){return e.name===t}));r>-1&&e.splice(n,0,e.splice(r,1)[0])})),null!=r&&r.whitelist&&(e=e.filter((function(e){return r.whitelist.indexOf(e.name)>-1}))),e}),[r]):TL;var i=dS.useRef(),o=new Lq(t,{keys:["name"],threshold:.3,ignoreFieldNorm:!0}),a=DL(dS.useState(t),2),s=a[0],u=a[1],c=Yq({count:s.length,getScrollElement:function(){return i.current},estimateSize:function(){return 61}});return dS.useEffect((function(){var n=o.search(e.searchTerm).map((function(e){return e.item}));i.current&&i.current.scrollTo(0,0),e.searchTerm.length?u(n):u(t)}),[e.searchTerm]),dS.createElement("div",{ref:i,className:"DialogBody ScrollHeightM PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("div",{style:{height:"".concat(c.getTotalSize(),"px"),width:"100%",position:"relative"}},c.getVirtualItems().map((function(t){return dS.createElement("div",{key:t.key,style:{position:"absolute",top:0,left:0,width:"100%",height:"".concat(t.size,"px"),transform:"translateY(".concat(t.start,"px)")}},dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("button",{type:"button",className:"Card small",title:"Connect ".concat(s[t.key].name),onClick:function(){e.onClickWallet(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Fq(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Fq(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},s[t.key]))}},dS.createElement("div",{className:"CardImage"},dS.createElement("img",RG({className:"transparent",src:s[t.key].logo},"className","WalletLogoS"))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper PaddingLeftXS LineHeightXS"},dS.createElement("div",{className:"CardText"},s[t.key].name))))))}))))};function Hq(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Gq(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Hq(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hq(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var qq=function(e){var t,r=DL(dS.useState(""),2),i=r[0],o=r[1],a=DL(dS.useState([]),2),s=a[0],u=a[1],c=DL(dS.useState(),2),l=c[0],h=c[1],d=DL(dS.useState(!1),2),f=d[0],p=d[1],y=DL(dS.useState(!1),2),m=y[0],g=y[1],v=dS.useContext(mP).wallets,w=dS.useRef(),b=dS.useContext(MG).navigate;t=null!=v&&v.sort||null!=v&&v.whitelist?dS.useMemo((function(){var e=n(TL);return null!=v&&v.sort&&v.sort.forEach((function(t,n){var r=e.findIndex((function(e){return e.name===t}));r>-1&&e.splice(n,0,e.splice(r,1)[0])})),null!=v&&v.whitelist&&(e=e.filter((function(e){return v.whitelist.indexOf(e.name)>-1}))),e}),[v]):TL;var M=function(t,n){if("detected"==t.via)"app"==t.connectionType?(n.account().then((function(t){t&&e.resolve(t,n)})),e.setWallet(t),b("ConnectWallet")):"extension"==t.connectionType&&(e.setWallet(t),e.connectExtension(t),b("ConnectWallet"));else if(EG()){var r=OG(t);r&&r.open?(e.openInApp(t),e.setWallet(t),b("ConnectWallet")):(e.connectViaRedirect(t),e.setWallet(t),b("ConnectWallet"))}else e.setWallet(t),b("ConnectWallet")};return dS.useEffect((function(){1===t.length&&M(t[0])}),[t]),dS.useEffect((function(){if(1==s.length){var e=t.find((function(e){return e.name===s[0].info.name}));e.autoSelect&&M(e)}}),[s]),dS.useEffect((function(){var e=[];Uk({drip:function(t){if(e=e.concat(t),null!=v&&v.sort||null!=v&&v.whitelist){var r=n(e);null!=v&&v.sort&&v.sort.forEach((function(e,t){var n=r.findIndex((function(t){var n;return(null==t||null===(n=t.info)||void 0===n?void 0:n.name)===e}));n>-1&&r.splice(t,0,r.splice(n,1)[0])})),null!=v&&v.whitelist&&(r=r.filter((function(e){var t;return v.whitelist.indexOf(null==e||null===(t=e.info)||void 0===t?void 0:t.name)>-1}))),u(r)}else u(e)}});var r=localStorage[LG],i=t.find((function(e){return e.name==r}))||t.find((function(e){return e.name==r}));i&&h(i)}),[]),dS.useEffect((function(){setTimeout((function(){g(!0),EG()||w.current&&(w.current.click(),w.current.focus())}),200)}),[]),dS.createElement(TG,{header:dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft PaddingBottomS"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Select a wallet")),(s&&s.length>0||l)&&dS.createElement("div",{className:"PaddingBottomXS PaddingLeftS PaddingRightS"},s.filter((function(e,t,n){return n.findIndex((function(t){var n,r;return(null==t||null===(n=t.info)||void 0===n?void 0:n.name)===(null==e||null===(r=e.info)||void 0===r?void 0:r.name)}))===t})).map((function(e,n){var r=t.find((function(t){return t.name===(e.info?e.info.name:e.name)}));if(!r)return null;var i="app";return e&&e.constructor&&![Bk.WalletConnectV1,Bk.WalletConnectV2,Bk.WalletLink].includes(e.constructor)&&(i="extension"),dS.createElement("div",{key:n,className:"PaddingBottomXS"},dS.createElement("button",{type:"button",className:"Card small",title:"Connect ".concat(r.name),onClick:function(){M(Gq(Gq({},r),{},{via:"detected",connectionType:i}),e)}},dS.createElement("div",{className:"CardImage"},dS.createElement("img",RG({className:"transparent",src:r.logo},"className","WalletLogoS"))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper PaddingLeftXS LineHeightXS"},dS.createElement("div",{className:"CardText FontWeightMedium"},r.name),dS.createElement("div",{className:"LightGreen"},dS.createElement("span",{className:"LightGreen",style:{fontSize:"70%",top:"-1px",position:"relative"}},"●")," Connect detected ",i)))))})),l&&!s.find((function(e){return l.name===(e.info?e.info.name:e.name)}))&&dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("button",{type:"button",className:"Card small",title:"Connect ".concat(l.name),onClick:function(){M(Gq(Gq({},l),{},{via:"previouslyConnected",connectionType:"app"}))}},dS.createElement("div",{className:"CardImage"},dS.createElement("img",RG({className:"transparent",src:l.logo},"className","WalletLogoS"))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper PaddingLeftXS LineHeightXS"},dS.createElement("div",{className:"CardText FontWeightMedium"},l.name),dS.createElement("div",{className:"Opacity05"},dS.createElement("span",{style:{fontSize:"70%",top:"-1px",position:"relative"}},"●")," Used previously")))))),dS.createElement("div",{className:"PaddingBottomXS PaddingLeftS PaddingRightS PaddingTopXS"},dS.createElement("div",{className:"Row"},t.length>4&&dS.createElement("input",{className:"Search",value:i,onChange:function(e){o(e.target.value)},placeholder:"Search by name",ref:w})))),alternativeHeaderAction:dS.createElement("span",{className:"DropDownWrapper"},dS.createElement("button",{type:"button",onClick:function(){return p(!f)},className:"ButtonCircular",title:"More options"},dS.createElement(QG,null)),f&&dS.createElement(UG,{hide:function(){return p(!1)},items:[{label:"What is a wallet?",action:function(){b("WhatIsAWallet")}},{label:"Wallet missing?",action:function(){window.open("mailto:support@depay.com?subject=Add wallet&body=Please enter the name of the wallet you want us to add:","_blank")}},{label:"Problems connecting?",action:function(){window.open("mailto:support@depay.com?subject=Problem connecting wallet&body=Please enter the name of the wallet you have problems with connecting:","_blank")}}]})),bodyClassName:"PaddingBottomXS",body:dS.createElement("div",{className:"ScrollHeightM PaddingTopXS"},m&&dS.createElement(Vq,{setWallet:e.setWallet,searchTerm:i,onClickWallet:M})),footer:!1})},Zq="data:image/png;base64,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",Jq=function(e){return dS.createElement(TG,{stacked:!0,header:dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextCenter"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},"What is a wallet?"))),body:dS.createElement("div",{className:"TextCenter PaddingLeftL PaddingRightL PaddingTopS"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:Zq})),dS.createElement("p",{className:"FontSizeM PaddingTopS PaddingLeftM PaddingRightM"},"Wallets are used to send, receive, and store digital assets. Wallets come in many forms. They are either built into your browser, an extension added to your browser, an app on your phone, your computer or even a piece of hardware."),dS.createElement("div",{className:"PaddingTopS"},dS.createElement("a",{className:"Link FontSizeM",href:"https://ethereum.org/wallets/",target:"_blank",rel:"noopener noreferrer"},"Learn more")))})},Xq=function(e){var t=dS.useContext(fS),n=t.open,r=t.close,i=DL(dS.useState(),2),o=i[0],a=i[1],s=DL(dS.useState(),2),u=s[0],c=s[1],l=DL(dS.useState(),2),h=l[0],d=l[1],f=DL(dS.useState(!1),2),p=f[0],y=f[1],m=DL(dS.useState(!1),2),g=m[0],v=m[1],w=DL(dS.useState(),2),b=w[0],M=w[1],A=DL(dS.useState(),2),I=A[0],N=A[1],T=DL(dS.useState({blockchain:void 0}),2),E=T[0];T[1];var x=DL(dS.useState(!1),2),k=x[0],L=x[1],S=function(t,n){if(t&&n){var i=TL.find((function(e){return e.name==n.name}));SG(i.name),e.autoClose&&r(),e.resolve&&e.resolve({account:t,wallet:n})}},j=function(t,n){if(L(!1),void 0===n)if(t.extensions&&e.accept){var r=t.extensions.filter((function(t){return e.accept.some((function(e){return NL[Bk[t].info.platform].includes(e.blockchain)}))}));if(1===r.length)n=r[0];else if(r.length>1)return void setTimeout((function(){u.navigate("SelectPlatform")}),50)}else{if(t.extensions&&void 0===e.accept)return u.navigate("SelectPlatform");n=t.extension}y(!0),t=new Bk[n];var i=setTimeout((function(){y(!1)}),5e3);t.connect().then((function(e){S(e,t),y(!1),clearTimeout(i)})).catch((function(e){y(!1),clearTimeout(i),-32002==(null==e?void 0:e.code)?L(!0):"string"==typeof e&&N(e)}))},D=function(e,t,n){if(e.universal){var r=function(e){return e.endsWith("/")&&(e=e.slice(0,-1)),e}(e.universal);return localStorage.setItem("WALLETCONNECT_DEEPLINK_CHOICE",JSON.stringify({href:r,name:n})),r=!1!==e.encoded?"".concat(r,"/wc?uri=").concat(encodeURIComponent(t)):"".concat(r,"/wc?uri=").concat(t),window.open(r,"_self","noreferrer noopener")}},C=function(e){var t=e.walletMetaData,n=e.platform,r=e.uri,i=DG()?"Android":t.name;CG()?n.universal?D(n,r,i):DG()&&function(e,t,n){var r="wc://";localStorage.setItem("WALLETCONNECT_DEEPLINK_CHOICE",JSON.stringify({href:r,name:n})),r=!1!==e.encoded?"".concat(r,"wc?uri=").concat(encodeURIComponent(t)):"".concat(r,"wc?uri=").concat(t),window.open(r,"_self","noreferrer noopener")}(n,r,i):n.native?function(e,t,n){if(e.native){var r=function(e){return e.includes("://")||(e=e.replaceAll("/","").replaceAll(":",""),e="".concat(e,"://")),e}(e.native);localStorage.setItem("WALLETCONNECT_DEEPLINK_CHOICE",JSON.stringify({href:r,name:n})),r=!1!==e.encoded?"".concat(r,"wc?uri=").concat(encodeURIComponent(t)):"".concat(r,"wc?uri=").concat(t),window.open(r,"_self","noreferrer noopener")}}(n,r,i):D(n,r,i)},O=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=OG(e);if(n)if(v(!0),setTimeout((function(){v(!1)}),15e3),["WalletConnectV1","WalletConnectV2"].includes(n.connect)){localStorage[atob("ZGVwYXk6d2FsbGV0czp3YzI6cHJvamVjdElk")]=atob("YjFmYzJmMDZlYTIxMDdmY2Q5OWM2OGY0MTI3MTQxYWI=");var r=new Bk[n.connect];if(b)return C({walletMetaData:e,platform:n,uri:b});N(),r.connect({name:e.name,logo:e.logo,reconnect:t,connect:function(t){var r=t.uri;M(r),C({walletMetaData:e,platform:n,uri:r})}}).then((function(e){v(!1),S(e,r)})).catch((function(e){v(!1),"string"==typeof e&&N(e)}))}else if("SolanaMobileWalletAdapter"===n.connect){var i=new Bk[n.connect];N(),i.connect({name:e.name,logo:e.logo}).then((function(e){v(!1),S(e,i)})).catch((function(e){v(!1),"string"==typeof e&&N(e)}))}},z=function(e){var t=OG(e);t&&t.open&&(SG(e.name),window.open(t.open(),"_self","noreferrer noopener"))};return dS.useEffect((function(){delete localStorage.WALLETCONNECT_DEEPLINK_CHOICE}),[]),dS.createElement("div",null,dS.createElement(NG,{open:n,close:r,start:"SelectWallet",container:e.container,document:e.document,setNavigator:function(t){e.setNavigator&&t&&c(t),t&&c(t)},stacked:e.stacked,dialogs:{SelectWallet:dS.createElement(qq,{setWallet:function(e){d(OG(e)),a(e)},resolve:S,openInApp:z,connectViaRedirect:O,connectExtension:j}),WhatIsAWallet:dS.createElement(Jq,null),SelectPlatform:dS.createElement(BG,{onSelect:function(e){u.navigate("back"),j(o,e)},wallet:o,accept:e.accept}),ConnectWallet:dS.createElement(jG,{selection:E,accept:e.accept,wallet:o,platform:h,resolve:S,openInApp:z,connectViaRedirect:O,connectExtension:j,connectingExtension:p,connectingApp:g,showConnectExtensionWarning:k,continueWithSolanaPay:e.continueWithSolanaPay,connectionError:I})}}),dS.createElement(_G,null))},Kq=function(e){return void 0===e?window.document:e};function $q(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function eZ(e,t){return(eZ=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function tZ(e,t){if(t&&("object"===kL(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function nZ(e){return(nZ=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var rZ=dS.createContext(),iZ="data:image/png;base64,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";function oZ(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=nZ(e);if(t){var i=nZ(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return tZ(this,n)}}var aZ,sZ=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&eZ(e,t)}(o,dS.Component);var t,n,r,i=oZ(o);function o(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),i.call(this,e)}return t=o,(n=[{key:"componentDidCatch",value:function(e,t){e.error&&(e=e.error),this.props.setError(e)}},{key:"render",value:function(){return this.props.children}}])&&$q(t.prototype,n),r&&$q(t,r),Object.defineProperty(t,"prototype",{writable:!1}),o}(),uZ=function(e){var t=DL(dS.useState(e.error),2),n=t[0],r=t[1],i=DL(dS.useState(!0),2),o=i[0],a=i[1],s=function(t){console.log(t),t.error&&(t=t.error),r(t),e.errorCallback&&e.errorCallback(t.message||t.toString())},u=function(){a(!1),setTimeout(e.unmount,300)};return n?dS.createElement(wG,{container:e.container,close:u,open:o},dS.createElement("div",{className:"Dialog ReactDialogAnimation"},dS.createElement("div",{className:"DialogHeader"},dS.createElement("div",{className:"PaddingTopS PaddingLeftS PaddingRightS"})),dS.createElement("div",{className:"DialogBody TextCenter"},dS.createElement("div",{className:"GraphicWrapper PaddingTopS"},dS.createElement("img",{className:"Graphic",src:iZ})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Oops, Something Went Wrong"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("div",{className:"PaddingLeftS PaddingRightS"},dS.createElement("pre",{className:"ErrorSnippetText"},n.message||n.toString())),dS.createElement("div",{className:"PaddingTopS PaddingBottomS"},dS.createElement("strong",{className:"FontSizeM PaddingTopS"},"If this keeps happening, please report it.")))),dS.createElement("div",{className:"DialogFooter"},dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:u},"Try again"))))):dS.createElement(rZ.Provider,{value:{setError:s,errorCallback:e.errorCallback}},dS.createElement(sZ,{setError:s},e.children))},cZ=function(e){return"\n\n .ButtonCircular {\n border-radius: 9999px;\n border: 1px solid transparent;\n cursor: pointer;\n height: 34px;\n opacity: 0.5;\n padding: 5px 4px 4px 4px;\n width: 34px;\n }\n\n .ButtonCircular:focus {\n border: 1px solid ".concat(e.colors.primary,";\n }\n\n .ButtonCircular:hover {\n background: rgba(0,0,0,0.1);\n opacity: 1;\n }\n\n .ButtonCircular:active {\n background: rgba(0,0,0,0.25);\n opacity: 1;\n }\n ")},lZ=function(e){return"\n\n .ButtonPrimary {\n align-items: center;\n align-self: center;\n background: ".concat(e.colors.primary,";\n border-radius: 13px;\n border: 1px solid transparent;\n box-shadow: 0 0 16px rgba(0,0,0,0.1);\n font-size: 22px;\n font-weight: 400;\n line-height: 40px;\n height: 58px;\n justify-content: center;\n width: 100%;\n overflow: hidden;\n padding: 7px 0;\n position: relative;\n text-align: center;\n text-decoration: none;\n text-overflow: ellipsis;\n transition: background 0.1s;\n vertical-align: middle;\n display: inline-block;\n }\n\n .ButtonPrimary, .ButtonPrimary * {\n color: ").concat(e.colors.buttonText,";\n }\n\n .ButtonPrimary.disabled {\n background: rgba(0,0,0,.25) !important;\n box-shadow: 0 !important;\n }\n \n .ButtonPrimary.disabled * {\n opacity: 0.7;\n }\n\n .ButtonPrimary:not(.disabled){\n cursor: pointer;\n }\n .ButtonPrimary:not(.disabled):hover {\n box-shadow: inset 0 0 300px rgba(0,0,0,0.1);\n }\n .ButtonPrimary:not(.disabled):active {\n box-shadow: inset 0 0 300px rgba(0,0,0,0.2);\n }\n ")},hZ=function(e){return"\n\n .Card {\n align-items: center;\n background: rgb(255,255,255);\n border: 1px solid transparent;\n border-radius: 13px;\n box-shadow: 0 0 8px rgba(0,0,0,0.03);\n cursor: pointer;\n display: flex;\n flex-direction: row;\n margin-bottom: 8px;\n min-height: 76px;\n padding: 16px 10px;\n width: 100%;\n }\n\n .Card:focus {\n border: 1px solid ".concat(e.colors.primary,";\n }\n\n .Card.center {\n justify-content: center;\n }\n\n .Card.Row {\n border-radius: 0;\n margin-bottom: 0;\n box-shadow: none;\n min-height: 69px;\n padding: 7px 21px;\n border-top: 1px solid rgba(0,0,0,0.05);\n }\n\n .Card.Row .CardText {\n font-size: 19px;\n line-height: 40px;\n }\n\n .CardTokenSymbol {\n width: 40%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .CardTokenFullName {\n width: 100%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .CardTokenName {\n text-align: right;\n opacity: 0.5;\n width: 60%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n \n .Card.Row .CardTokenName .CardText {\n font-size: 17px;\n }\n\n .Card.Row .CardImage {\n width: 40px;\n }\n\n .Card.Row .CardImage img {\n height: 30px;\n width: 30px;\n }\n\n a.Card, a.Card * {\n color: inherit;\n text-decoration: none;\n }\n\n .Card.transparent {\n background: none;\n box-shadow: none;\n }\n\n .Card.tiny {\n border-radius: 4px;\n min-height: auto;\n padding: 2px 2px;\n }\n \n .Card.tiny img {\n width: 18px;\n height: 18px;\n position: relative;\n top: 3px;\n marginRight: 2px;\n }\n\n .Card.small {\n min-height: auto;\n padding: 8px 8px;\n margin: 0;\n }\n\n .CardImage.small {\n width: 27px;\n }\n\n .CardImage.small img {\n height: 27px;\n width: 27px;\n }\n\n .CardImage.large {\n width: 58px;\n }\n\n .CardImage.large img {\n height: 58px;\n width: 58px;\n }\n\n .Card.disabled {\n cursor: default;\n }\n\n .Card:hover:not(.disabled) {\n background: rgb(240,240,240);\n box-shadow: 0 0 0 rgba(0,0,0,0); \n }\n\n .Card:active:not(.disabled) {\n background: rgb(235,235,235);\n box-shadow: inset 0 0 6px rgba(0,0,0,0.02);\n color: inherit;\n }\n\n .Card:hover:not(.disabled) .CardAction {\n opacity: 0.4;\n }\n\n .CardImage, .CardBody, .CardAction, .CardInfo {\n align-items: center;\n display: flex;\n min-width: 0;\n padding: 0 7px;\n }\n\n .CardImage {\n display: inline-flex;\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 0;\n justify-content: center;\n position: relative;\n width: 58px;\n }\n\n .CardBody {\n flex-basis: auto;\n flex-grow: 1;\n flex-shrink: 1;\n line-height: 27px;\n padding-left: 10px;\n text-align: left;\n }\n\n .CardBodyWrapper {\n min-width: 0;\n }\n\n .CardAction {\n flex-basis: auto;\n flex-shrink: 0;\n flex-grow: 0;\n padding-right: 0;\n margin-left: auto;\n }\n\n .Card.disabled .CardAction {\n opacity: 0; \n }\n\n .CardInfo {\n display: flex;\n flex-basis: auto;\n flex-direction: column;\n flex-grow: 0;\n flex-shrink: 1;\n justify-content: center;\n margin-left: auto; \n padding-right: 0;\n }\n\n .CardImage img {\n background: white;\n border-radius: 9999px;\n border: 1px solid white;\n box-shadow: 0 2px 8px rgb(0 0 0 / 10%);\n height: 45px;\n position: relative;\n vertical-align: middle;\n width: 45px;\n }\n\n .CardImage.rounded img {\n border-radius: 8px !important;\n }\n\n .CardImage.square img {\n border-radius: 0;\n }\n\n .CardImage img.transparent {\n border: none;\n background: none;\n box-shadow: none;\n }\n \n .CardTitle {\n font-size: 15px;\n color: rgb(150,150,150);\n line-height: 20px;\n }\n \n .CardText, a .CardText {\n color: ").concat(e.colors.text,";\n flex: 1;\n font-size: 21px;\n line-height: 26px;\n }\n\n .CardText strong {\n font-weight: 500;\n }\n\n .CardText.small, .CardText.small small {\n font-size: 17px;\n color: rgb(150,150,150);\n line-height: 20px;\n }\n\n .CardAction {\n opacity: 0.2;\n }\n\n .Card.inlineBlock {\n display: inline-block;\n width: auto;\n }\n \n .Card.More {\n display: inline-block;\n text-align: center;\n }\n ")},dZ=function(e){return"\n\n .DropDownWrapper {\n position: relative;\n }\n\n .DropDown {\n background: rgb(240,240,240);\n border-radius: 8px;\n border: 1px solid rgb(230,230,230);\n box-shadow: 0 0 12px rgba(0,0,0,0.1);\n display: block;\n padding: 8px 6px;\n position: absolute;\n right: 0;\n z-index: 1000;\n }\n\n .DropDownItem {\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n font-size: 17px;\n font-weight: 500;\n min-width: 160px;\n padding: 6px 10px;\n text-align: left;\n white-space: nowrap;\n width: 100%;\n }\n\n .DropDownItem:focus {\n border: 1px solid ".concat(e.colors.primary,";\n }\n\n .DropDownItem:hover {\n background: rgba(0,0,0,0.1);\n }\n \n .DropDownItem:active {\n background: rgba(0,0,0,0.15);\n }\n \n ")},fZ=function(e){return"\n\n *, div, div * {\n font-family: ".concat(e.fontFamily,";\n }\n\n * {\n font-size: 15px;\n }\n\n .FontSizeS {\n font-size: 16px;\n }\n\n .FontSizeM {\n font-size: 19px;\n }\n\n .FontSizeL {\n font-size: 23px;\n }\n\n .FontSizeXL {\n font-size: 32px;\n }\n\n .FontSizeXXL {\n font-size: 42px;\n }\n\n .FontWeightLight {\n font-weight: 300;\n }\n\n .FontWeightMedium {\n font-weight: 500;\n }\n\n .FontWeightBold {\n font-weight: bold;\n }\n\n .FontItalic {\n font-style: italic;\n }\n ")},pZ=function(e){return"\n\n .Icon {\n fill: ".concat(e.colors.icons,";\n stroke: ").concat(e.colors.icons,";\n }\n\n .QuestionMarkIcon {\n fill: transparent;\n }\n\n .ChevronLeft, .ChevronRight {\n position: relative;\n top: 1px;\n }\n\n .ChevronLeft.small, .ChevronRight.small {\n height: 12px;\n width: 12px;\n }\n\n .Checkmark {\n height: 24px;\n position: relative;\n top: -1px;\n vertical-align: middle;\n width: 24px;\n }\n\n .AlertIcon {\n height: 20px;\n position: relative;\n top: -1px;\n vertical-align: middle;\n width: 20px;\n fill: #e42626;\n stroke: transparent;\n }\n\n .CheckMark.small {\n height: 16px;\n width: 16px;\n }\n\n .DigitalWalletIcon {\n height: 24px;\n position: relative;\n top: -1px;\n vertical-align: middle;\n width: 24px;\n }\n\n .ButtonPrimary .Icon {\n fill : ").concat(e.colors.buttonText,";\n stroke : ").concat(e.colors.buttonText,";\n }\n\n .Loading {\n animation: spin 1.5s linear infinite;\n border-radius: 100%;\n border: 3px solid ").concat(e.colors.primary,";\n border-top: 3px solid rgba(0,0,0,0.1);\n display: inline-block;\n height: 18px;\n left: -1px;\n position: relative;\n width: 18px;\n }\n\n .Loading.medium {\n border: 4px solid ").concat(e.colors.primary,";\n border-top: 4px solid rgba(0,0,0,0.1);\n display: inline-block;\n height: 22px;\n position: relative;\n top: 0;\n width: 22px; \n }\n\n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n ")},yZ=function(e){return"\n\n .Input {\n background: none;\n border: 1px solid transparent;\n margin: 0;\n outline: none !important;\n padding: 0 0 0 14px;\n width: 100%;\n }\n\n .Input::placeholder {\n color: rgb(210,210,210);\n }\n\n .InputField {\n border-radius: 13px;\n border: 1px solid rgba(0,0,0,0.2);\n background: white;\n outline: none !important;\n color: ".concat(e.colors.text,";\n font-size: 19px;\n padding: 13px;\n width: 100%;\n }\n\n .InputField.small {\n border-radius: 8px;\n font-size: 15px;\n }\n\n .InputField::placeholder {\n color: rgb(180,180,180);\n } \n\n .InputField:focus, .InputField:focus-visible {\n border: 1px solid ").concat(e.colors.primary,";\n }\n \n ")},mZ=function(e){return"\n\n .Link {\n color: ".concat(e.colors.primary,";\n cursor: pointer;\n text-decoration: none;\n }\n\n .Link:hover {\n filter: brightness(0.8);\n }\n\n .Link:active {\n filter: brightness(1.0);\n }\n ")},gZ=function(e){return"\n\n .LoadingText {\n color: ".concat(e.colors.buttonText,";\n display: inline-block;\n text-decoration: none;\n }\n\n @keyframes blink {\n 0% { opacity: .2; }\n 20% { opacity: 1; }\n 100% { opacity: .2; }\n }\n \n .LoadingText .dot {\n animation-name: blink;\n animation-duration: 1.4s;\n animation-iteration-count: infinite;\n animation-fill-mode: both;\n }\n \n .LoadingText .dot:nth-child(2) {\n animation-delay: .2s;\n }\n \n .LoadingText .dot:nth-child(3) {\n animation-delay: .4s;\n }\n ")},vZ=function(e){return"\n\n .rangeslider {\n margin: 20px 0;\n position: relative;\n background: #e6e6e6;\n -ms-touch-action: none;\n touch-action: none;\n }\n\n .rangeslider,\n .rangeslider__fill {\n display: block;\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.4);\n }\n\n .rangeslider__handle {\n outline: none;\n cursor: pointer;\n display: inline-block;\n position: absolute;\n border-radius: 50%;\n background-color: "+e.colors.primary+";\n border: 1px solid white;\n box-shadow: 0 0 8px rgba(0,0,0,0.1);\n }\n\n .rangeslider__handle:hover {\n box-shadow: inset 0 0 300px rgba(0,0,0,0.2);\n }\n\n .rangeslider__handle:active {\n box-shadow: inset 0 0 300px rgba(0,0,0,0.3);\n }\n\n .rangeslider__active {\n opacity: 1;\n }\n\n .rangeslider__handle-tooltip {\n display: none;\n }\n\n .rangeslider-horizontal {\n height: 12px;\n border-radius: 10px;\n }\n\n .rangeslider-horizontal .rangeslider__fill {\n height: 100%;\n background-color: "+e.colors.primary+";\n border-radius: 10px;\n top: 0;\n }\n .rangeslider-horizontal .rangeslider__handle {\n width: 18px;\n height: 18px;\n border-radius: 30px;\n top: 50%;\n transform: translate3d(-50%, -50%, 0);\n }\n\n\n .rangeslider-horizontal .rangeslider__handle-tooltip {\n top: -55px;\n }\n\n "},wZ=function(e){return"\n\n .Search {\n border-radius: 13px;\n border: 1px solid rgba(0,0,0,0.2);\n background: white;\n outline: none !important;\n color: ".concat(e.colors.text,";\n font-size: 19px;\n padding: 13px;\n width: 100%;\n position: relative !important; // fixes LastPass extension problem\n }\n\n .Search.small {\n padding: 4px 8px;\n font-size: 16px;\n border-radius: 6px;\n }\n\n .Search::placeholder {\n color: rgb(180,180,180);\n } \n\n .Search:focus, .Search:focus-visible {\n border: 1px solid ").concat(e.colors.primary,";\n }\n\n ")},bZ=function(e){return"\n\n .TextButton {\n cursor: pointer;\n font-size: 16px;\n color: ".concat(e.colors.primary,"\n }\n\n .TextButton:hover * {\n opacity: 1.0;\n }\n ")},MZ=function(e){return"\n\n * {\n color: ".concat(e.colors.text,";\n }\n\n .LightGreen {\n color: rgba(50,160,60);\n }\n\n h1, h2, h3, h4, h5, h6 {\n display: block;\n }\n\n .Text {\n font-size: 16px;\n line-height: 24px\n }\n\n .TextLeft, .TextLeft * {\n text-align: left !important;\n }\n\n .TextCenter, .TextCenter * {\n text-align: center;\n }\n\n .LineHeightXS {\n line-height: 16px;\n }\n\n .LineHeightL {\n line-height: 32px;\n }\n\n .ErrorSnippetText {\n background: rgb(30, 30, 20);\n border-radius: 19px;\n border: 8px solid rgb(30, 30, 20);\n color: #00FF41;\n font-size: 15px;\n font-style: italic;\n max-height: 100px;\n padding: 6px;\n overflow-wrap: break-word;\n overflow-y: auto;\n white-space: pre-wrap;\n word-wrap: break-word;\n }\n\n .ResponsiveText {\n font-size: clamp(14px, 2vw, 15px);\n max-width: fit-content;\n }\n ")},AZ=function(e){return"\n\n .TooltipWrapper {\n position: relative;\n }\n\n .Tooltip {\n background: ".concat(e.colors.primary,";\n border-radius: 10px;\n color: ").concat(e.colors.buttonText,";\n padding: 10px 13px;\n position: relative;\n box-shadow: 0 0 8px rgba(0,0,0,0.2);\n }\n\n .Tooltip.absolute {\n position: absolute;\n }\n\n .Tooltip.top {\n top: -40px;\n }\n\n .TooltipArrowUp {\n border-bottom: 10px solid ").concat(e.colors.primary,";\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n height: 0; \n left: 12px;\n position: absolute;\n top: -8px;\n width: 0; \n }\n\n .TooltipArrowDown {\n border-top: 10px solid ").concat(e.colors.primary,";\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n height: 0; \n left: 12px;\n position: absolute;\n bottom: -8px;\n width: 0; \n }\n ")};aZ=mG.createRoot;const IZ="ReactShadowDOMInsideContainer";function NZ(e){return e.replace(/\s*[\r\n]\s*/g,"")}function TZ({document:e,element:t,content:n,outsideStyle:r="",insideStyle:i="",insideClasses:o=[]}){const a=function({document:e,element:t,style:n}){const r=e.createElement("div");return r.setAttribute("class","ReactShadowDOMOutsideContainer"),r.setAttribute("style",n),t.appendChild(r),r}({document:e,element:t,style:NZ(r)}),s=function({document:e,shadow:t,style:n,classes:r=[]}){const i=e.createElement("div");if(i.setAttribute("class",[IZ].concat(r).join(" ")),t.appendChild(i),n&&n.length){const r=e.createElement("style");r.type="text/css",r.appendChild(e.createTextNode(n)),t.appendChild(r)}return i}({document:e,shadow:function(e){let t;return t=e.shadowRoot?e.shadowRoot:e.attachShadow({mode:"open"}),t}(a),style:NZ(i),classes:o});"function"==typeof n&&(n=n(s));const u=aZ(s);return u.render(n),{content:n,unmount:()=>function({insideRoot:e,outsideContainer:t}){e.unmount(),t.remove()}({insideRoot:u,outsideContainer:a})}}var EZ=function(e,t){var n=e.style,r=e.container,i=e.document,o=e.closed,a=function(e){var t,n;return e={colors:Object.assign({primary:"#ea357a",buttonText:"#ffffff",icons:"#000000",text:"#212529"},(null===(t=e)||void 0===t?void 0:t.colors)||{}),fontFamily:(null===(n=e)||void 0===n?void 0:n.fontFamily)||'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'},["\n\n html, body, div, span, applet, object, iframe,\n h1, h2, h3, h4, h5, h6, p, blockquote, pre,\n a, abbr, acronym, address, big, cite, code,\n del, dfn, em, img, ins, kbd, q, s, samp,\n small, strike, strong, sub, sup, tt, var,\n b, u, i, center,\n dl, dt, dd, ol, ul, li,\n fieldset, form, label, legend,\n table, caption, tbody, tfoot, thead, tr, th, td,\n article, aside, canvas, details, embed, \n figure, figcaption, footer, header, hgroup, \n menu, nav, output, ruby, section, summary,\n time, mark, audio, video {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font: inherit;\n text-align: inherit;\n vertical-align: baseline;\n }\n\n article, aside, details, figcaption, figure, \n footer, header, hgroup, menu, nav, section {\n display: block;\n }\n\n body {\n line-height: 1;\n }\n\n ol, ul {\n list-style: none;\n }\n\n blockquote, q {\n quotes: none;\n }\n\n blockquote:before, blockquote:after,\n q:before, q:after {\n content: '';\n content: none;\n }\n \n table {\n border-collapse: collapse;\n border-spacing: 0;\n }\n\n * {\n box-sizing: border-box;\n }\n\n button {\n border: 0;\n background: none;\n outline: none;\n }\n\n ","\n\n .ReactDialogBackground {\n z-index: -2;\n backdrop-filter: blur(5px);\n background: rgba(0,0,0,0.7);\n }\n\n .contained .ReactDialog {\n position: absolute;\n height: 100%;\n min-height: 100%;\n width: 100%;\n min-width: 100%;\n }\n\n .contained .ReactDialogBackground {\n position: absolute;\n }\n\n .contained .ReactDialog.ReactDialogOpen .ReactDialogAnimation {\n top: 0;\n }\n\n .Dialog {\n margin: 0 auto;\n position: relative;\n width: 420px;\n box-shadow: 0 0 22px rgba(0,0,0,0.3);\n border-radius: 13px;\n background: rgb(248,248,248);\n }\n\n @media (max-width: 450px) {\n\n .Dialog {\n border-radius: 0;\n width: 100%;\n }\n }\n\n @media (orientation: portrait) and (max-width: 800px) {\n\n .ReactDialogAnimation {\n width: 100%;\n }\n\n .ReactDialog {\n height: 100%;\n min-height: 100%;\n }\n\n .ReactDialogStack {\n align-items: flex-end;\n }\n\n .Dialog {\n align-content: stretch;\n border-radius: 13px;\n border-top-radius: 13px;\n display: flex;\n flex-direction: column;\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n\n .DialogBody {\n flex: 1;\n align-items: flex-end;\n }\n\n .DialogFooter {\n padding-bottom: 20px;\n }\n\n .ReactDialogAnimation {\n margin-bottom: -100px !important;\n top: inherit !important;\n position: relative;\n transition: opacity 0.4s ease, margin-bottom 0.4s ease;\n }\n\n .ReactDialog.ReactDialogOpen .ReactDialogAnimation {\n margin-bottom: 0px !important;\n }\n\n .DialogFooter {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n\n .ReactShadowDOMInsideContainer > .ReactDialog {\n align-items: flex-end;\n }\n }\n\n .DialogBody {\n overflow-x: hidden;\n overflow-y: auto;\n }\n\n .ScrollHeight {\n height: 30vh !important;\n max-height: 30vh !important;\n }\n\n .ScrollHeightS {\n height: 180px !important;\n max-height: 180px !important;\n }\n\n .ScrollHeightM {\n height: 194px !important;\n max-height: 194px !important;\n }\n\n .DialogBody.MinHeight {\n height: 120px !important;\n max-height: 120px !important;\n }\n\n .DialogHeader {\n border-top-left-radius: 13px;\n border-top-right-radius: 13px;\n min-height: 54px;\n position: relative;\n width: 100%;\n }\n\n .DialogHeaderActionRight {\n position: absolute;\n top: 0;\n right: 0;\n height: 48px;\n }\n\n .DialogHeaderActionLeft {\n position: absolute;\n top: 0;\n left: 0;\n height: 48px;\n }\n\n .DialogFooter {\n border-bottom-left-radius: 13px;\n border-bottom-right-radius: 13px;\n line-height: 24px;\n min-height: 32px;\n position: relative;\n text-align: center;\n }\n\n ",cZ(e),lZ(e),hZ(e),'\n\n .PoweredByWrapper {\n display: block;\n left: 0;\n padding-top: 3px;\n position: fixed;\n right: 0;\n text-align: center;\n top: 0;\n z-index: 999;\n }\n\n .contained .PoweredByWrapper {\n position: absolute;\n }\n\n .PoweredByLink {\n color: white;\n display: inline-block;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;\n font-size: 14px;\n font-style: italic;\n font-weight: bold;\n letter-spacing: -0.2px;\n margin-left: 8px;\n opacity: 0.5;\n text-decoration: none;\n text-shadow: black 0 0 2px;\n }\n\n .PoweredByLink:hover, .PoweredByLink:active {\n opacity: 1.0;\n }\n ',"\n\n .QRCode {\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n ","\n\n .GraphicWrapper {\n display: block;\n }\n\n .Graphic {\n width: 50%;\n position: relative;\n }\n ","\n\n .Row {\n overflow: hidden;\n }\n\n .Column {\n float: left;\n }\n\n .Column2 {\n width: 16.66%;\n }\n\n .Column10 {\n width: 83.33%;\n }\n ","\n \n .Skeleton {\n background: rgb(230,230,230) !important;\n border: 0px solid transparent !important;\n box-shadow: none !important;\n cursor: inherit !important;\n line-height: 0;\n overflow: hidden;\n position: relative;\n }\n\n @keyframes SkeletonBackgroundAnimation {\n from {\n left: -500px;\n }\n to {\n left: +120%;\n }\n }\n\n .SkeletonBackground {\n animation: 2s SkeletonBackgroundAnimation 0.2s ease infinite;\n background: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.1) 50%, transparent 100%);\n height: 100%;\n left: -140%;\n position: absolute;\n top: 0;\n width: 400px;\n }\n\n .SkeletonWrapper {\n line-height: 0;\n }\n ","\n \n .TokenAmountRow {\n min-width: 0;\n width: 100%;\n display: flex;\n flex-direction: row;\n }\n \n .TokenAmountRow.small {\n font-size: 17px;\n line-height: 17px;\n }\n\n .TokenAmountRow.grey {\n opacity: 0.5;\n }\n\n .TokenAmountCell {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .TokenSymbolCell {\n }\n ",MZ(e),fZ(e),pZ(e),"\n\n .Opacity03 {\n opacity: 0.3;\n }\n\n .Opacity05 {\n opacity: 0.5;\n }\n ","\n\n .PaddingTopXS {\n padding-top: 3px;\n }\n\n .PaddingRightXS {\n padding-right: 3px;\n }\n\n .PaddingBottomXS {\n padding-bottom: 3px;\n }\n\n .PaddingLeftXS {\n padding-left: 3px; \n }\n\n .PaddingTopS {\n padding-top: 13px;\n }\n\n .PaddingRightS {\n padding-right: 13px;\n }\n\n .PaddingBottomS {\n padding-bottom: 13px;\n }\n\n .PaddingLeftS {\n padding-left: 13px; \n }\n\n .PaddingTopM {\n padding-top: 19px;\n }\n\n .PaddingRightM {\n padding-right: 19px;\n }\n\n .PaddingBottomM {\n padding-bottom: 19px;\n }\n\n .PaddingLeftM {\n padding-left: 19px; \n }\n\n .PaddingTopL {\n padding-top: 29px;\n }\n\n .PaddingRightL {\n padding-right: 29px;\n }\n\n .PaddingBottomL {\n padding-bottom: 29px;\n }\n\n .PaddingLeftL {\n padding-left: 29px; \n }\n ","\n\n .MarginTopXS {\n margin-top: 3px;\n }\n\n .MarginRightXS {\n margin-right: 3px;\n }\n\n .MarginBottomXS {\n margin-bottom: 3px;\n }\n\n .MarginLeftXS {\n margin-left: 3px; \n }\n\n .MarginTopS {\n margin-top: 13px;\n }\n\n .MarginRightS {\n margin-right: 13px;\n }\n\n .MarginBottomS {\n margin-bottom: 13px;\n }\n\n .MarginLeftS {\n margin-left: 13px; \n }\n\n .MarginTopM {\n margin-top: 19px;\n }\n\n .MarginRightM {\n margin-right: 19px;\n }\n\n .MarginBottomM {\n margin-bottom: 19px;\n }\n\n .MarginLeftM {\n margin-left: 19px; \n }\n\n .MarginTopL {\n margin-top: 29px;\n }\n\n .MarginRightL {\n margin-right: 29px;\n }\n\n .MarginBottomL {\n margin-bottom: 29px;\n }\n\n .MarginLeftL {\n margin-left: 29px; \n }\n ","\n\n .MaxHeight {\n max-height: 320px;\n overflow-y: auto;\n }\n ","\n\n .Tab {\n padding: 3px 7px;\n margin-right: 3px;\n font-size: 17px;\n border-radius: 4px;\n cursor: pointer;\n }\n\n .Tab.active {\n background: white;\n box-shadow: 0 0 4px rgba(0,0,0,0.03);\n }\n\n .Tab:hover:not(.active) {\n background: rgb(240,240,240);\n box-shadow: 0 0 0 rgba(0,0,0,0); \n }\n\n .Tab:active:not(.active) {\n background: rgb(235,235,235);\n box-shadow: inset 0 0 4px rgba(0,0,0,0.02);\n }\n ",gZ(e),vZ(e),yZ(e),bZ(e),"\n\n .MaxAmountImage {\n display: inline-block;\n padding-right: 6px;\n }\n \n .MaxAmountImage img {\n height: 16px;\n width: 16px;\n position: relative;\n top: 3px;\n }\n ","\n\n .BlockchainLogo {\n border-radius: 6px !important;\n }\n\n .BlockchainLogo.small {\n border-radius: 4px !important;\n height: 20px;\n width: 20px;\n }\n\n .BlockchainLogo.bottomRight {\n position: absolute;\n bottom: 0;\n right: 0;\n }\n\n .SolanaPayLogo {\n height: 26px;\n position: relative;\n top: 4px;\n }\n ",wZ(e),"\n\n .TokenImage img {\n border-radius: 9999px;\n border: 1px solid white;\n background: white;\n box-shadow: 0 2px 8px rgb(0 0 0 / 10%);\n height: 45px;\n position: relative;\n vertical-align: middle;\n width: 45px;\n }\n\n .TokenImage.medium img {\n height: 93px;\n width: 93px;\n }\n ","\n\n .Alert {\n background: rgba(0,0,0,0.08);\n border-radius: 7px;\n font-weight: 500;\n padding: 8px;\n }\n ","\n\n .Table {\n border-collapse: separate;\n border-radius: 7px;\n border-style: hidden;\n border: 1px solid rgba(0,0,0,0.1);\n width: 100%;\n }\n\n .Table tr.small td {\n font-size: 14px;\n }\n\n .Table tr td {\n border-bottom: 1px solid rgba(0,0,0,0.1);\n word-break: break-all;\n }\n \n .Table tr:last-child td {\n border-bottom: none;\n }\n \n .Table tr td {\n padding: 8px 15px;\n text-align: left;\n }\n \n .Table tr td:first-child {\n width: 30%\n }\n\n .Table tr td:last-child {\n width: 70%\n }\n \n .Table .TableSubTitle {\n font-weight: 300;\n opacity: 0.7;\n }\n\n .Table tr td:last-child {\n font-weight: 500;\n }\n ",mZ(e),AZ(e),"\n\n .WalletLogoS {\n background: none !important;\n border-radius: 8px !important;\n border: 1px solid transparent !important;\n box-shadow: none !important;\n height: 40px !important;\n width: 40px !important;\n }\n ",dZ(e)].join("")}(n);n&&n.css&&(a=[a,n.css].join(" "));var s;s=r?"\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n z-index: 99999;\n ":"\n position: fixed;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n z-index: 99999;\n ";var u=TZ({document:i,element:r||i.body,content:t((function(){setTimeout((function(){u(),"function"==typeof o&&o()}),300)})),outsideStyle:s,insideStyle:a,insideClasses:r?["contained"]:[]}).unmount;return u},xZ=function(){if(parseInt(dS.version.split(".")[0])<17)throw"depay/widgets require at least React v17"},kZ=dS.createContext(),LZ=function(e){var t=DL(dS.useState({}),2),n=t[0],r=t[1];return dS.createElement(kZ.Provider,{value:{selection:n,setSelection:r}},e.children)},SZ=function(e){var t=DL(dS.useState(!0),2),n=t[0],r=t[1];return dS.createElement(pS.Provider,{value:{updatable:n,setUpdatable:r}},e.children)},jZ=dS.createContext(),DZ=function(e){return dS.createElement(TG,{closable:!1,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Loading")),body:dS.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},dS.createElement("div",{className:"Card Skeleton"},dS.createElement("div",{className:"SkeletonBackground"}))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomS"},dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("div",{className:"SkeletonWrapper PaddingBottomXS"},dS.createElement("div",{className:"ButtonPrimary Skeleton"},dS.createElement("div",{className:"SkeletonBackground"})))),!1!==e.text&&dS.createElement("div",{className:"TextCenter Opacity05 PaddingTopXS"},dS.createElement("strong",null,e.text)))})},CZ=function(e){var t=dS.useContext(fS),n=t.open,r=t.close,i=dS.useContext(jZ).setNavigator;return dS.createElement(NG,{setNavigator:i,open:n,close:r,start:"Loading",container:e.container,document:e.document,dialogs:{Loading:dS.createElement(DZ,{text:e.text})}})},OZ=function(e){var t;return dS.createElement(jZ.Provider,{value:{navigate:function(e){t&&t.navigate(e)},set:function(e){t&&t.set(e)},setNavigator:function(e){t=e}}},e.children)},zZ={"Pacific/Midway":"USD","Pacific/Niue":"NZD","Pacific/Pago_Pago":"USD","America/Adak":"USD","Pacific/Honolulu":"USD","Pacific/Rarotonga":"NZD","Pacific/Tahiti":"XPF","Pacific/Marquesas":"XPF","America/Anchorage":"USD","America/Juneau":"USD","America/Metlakatla":"USD","America/Nome":"USD","America/Sitka":"USD","America/Yakutat":"USD","Pacific/Gambier":"XPF","America/Los_Angeles":"USD","America/Tijuana":"MXN","America/Vancouver":"CAD","Pacific/Pitcairn":"NZD","America/Boise":"USD","America/Cambridge_Bay":"CAD","America/Chihuahua":"MXN","America/Creston":"CAD","America/Dawson":"CAD","America/Dawson_Creek":"CAD","America/Denver":"USD","America/Edmonton":"CAD","America/Fort_Nelson":"CAD","America/Hermosillo":"MXN","America/Inuvik":"CAD","America/Mazatlan":"MXN","America/Ojinaga":"MXN","America/Phoenix":"USD","America/Whitehorse":"CAD","America/Yellowknife":"CAD","America/Bahia_Banderas":"MXN","America/Belize":"BZD","America/Chicago":"USD","America/Costa_Rica":"CRC","America/El_Salvador":"USD","America/Guatemala":"GTQ","America/Indiana/Knox":"USD","America/Indiana/Tell_City":"USD","America/Managua":"NIO","America/Matamoros":"MXN","America/Menominee":"USD","America/Merida":"MXN","America/Mexico_City":"MXN","America/Monterrey":"MXN","America/North_Dakota/Beulah":"USD","America/North_Dakota/Center":"USD","America/North_Dakota/New_Salem":"USD","America/Rainy_River":"CAD","America/Rankin_Inlet":"CAD","America/Regina":"CAD","America/Resolute":"CAD","America/Swift_Current":"CAD","America/Tegucigalpa":"HNL","America/Winnipeg":"CAD","Pacific/Easter":"CLP","Pacific/Galapagos":"USD","America/Atikokan":"CAD","America/Bogota":"COP","America/Cancun":"MXN","America/Cayman":"KYD","America/Detroit":"USD","America/Eirunepe":"BRL","America/Grand_Turk":"USD","America/Guayaquil":"USD","America/Havana":"CUP","America/Indiana/Indianapolis":"USD","America/Indiana/Marengo":"USD","America/Indiana/Petersburg":"USD","America/Indiana/Vevay":"USD","America/Indiana/Vincennes":"USD","America/Indiana/Winamac":"USD","America/Iqaluit":"CAD","America/Jamaica":"JMD","America/Kentucky/Louisville":"USD","America/Kentucky/Monticello":"USD","America/Lima":"PEN","America/Nassau":"BSD","America/New_York":"USD","America/Nipigon":"CAD","America/Panama":"PAB","America/Pangnirtung":"CAD","America/Port-au-Prince":"HTG","America/Rio_Branco":"BRL","America/Thunder_Bay":"CAD","America/Toronto":"CAD","America/AnguillaSandy Hill":"XCD","America/Antigua":"XCD","America/Aruba":"AWG","America/Asuncion":"PYG","America/Barbados":"BBD","America/Blanc-Sablon":"CAD","America/Boa_Vista":"BRL","America/Campo_Grande":"BRL","America/Caracas":"VEB","America/Cuiaba":"BRL","America/Curacao":"ANG","America/Dominica":"DOP","America/Glace_Bay":"CAD","America/Goose_Bay":"CAD","America/Grenada":"XCD","America/Guadeloupe":"EUR","America/Guyana":"GYD","America/Halifax":"CAD","America/Kralendijk":"USD","America/La_Paz":"BOB","America/Lower_Princes":"USD","America/Manaus":"BRL","America/Marigot":"EUR","America/Martinique":"EUR","America/Moncton":"CAD","America/Montserrat":"XCD","America/Porto_Velho":"BRL","America/Port_of_Spain":"BZD","America/Puerto_Rico":"USD","America/Santiago":"CLP","America/Santo_Domingo":"DOP","America/St_Barthelemy":"EUR","America/St_Kitts":"XCD","America/St_Lucia":"XCD","America/St_Thomas":"USD","America/St_Vincent":"XCD","America/Thule":"DKK","America/Tortola":"USD","Atlantic/Bermuda":"BMD","America/St_Johns":"CAD","America/Araguaina":"BRL","America/Argentina/Buenos_Aires":"ARS","America/Argentina/Catamarca":"ARS","America/Argentina/Cordoba":"ARS","America/Argentina/Jujuy":"ARS","America/Argentina/La_Rioja":"ARS","America/Argentina/Mendoza":"ARS","America/Argentina/Rio_Gallegos":"ARS","America/Argentina/Salta":"ARS","America/Argentina/San_Juan":"ARS","America/Argentina/San_Luis":"ARS","America/Argentina/Tucuman":"ARS","America/Argentina/Ushuaia":"ARS","America/Bahia":"BRL","America/Belem":"BRL","America/Cayenne":"EUR","America/Fortaleza":"BRL","America/Godthab":"DKK","America/Maceio":"BRL","America/Miquelon":"EUR","America/Montevideo":"UYU","America/Paramaribo":"SRD","America/Punta_Arenas":"CLP","America/Recife":"BRL","America/Santarem":"BRL","America/Sao_Paulo":"BRL","Antarctica/Palmer":"USD","Antarctica/Rothera":"USD","Atlantic/Stanley":"FKP","America/Noronha":"BRL","Atlantic/South_Georgia":"GBP","America/Scoresbysund":"DKK","Atlantic/Azores":"EUR","Atlantic/Cape_Verde":"CVE","Africa/Abidjan":"XOF","Africa/Accra":"GHC","Africa/Bamako":"XOF","Africa/Banjul":"GMD","Africa/Bissau":"XOF","Africa/Casablanca":"MAD","Africa/Conakry":"GNF","Africa/Dakar":"XOF","Africa/El_Aaiun":"MAD","Africa/Freetown":"SLL","Africa/Lome":"XOF","Africa/Monrovia":"LRD","Africa/Nouakchott":"MRU","Africa/Ouagadougou":"XOF","Africa/Sao_Tome":"STD","America/Danmarkshavn":"DKK","Antarctica/Troll":"NOK","Atlantic/Canary":"EUR","Atlantic/Faroe":"DKK","Atlantic/Madeira":"EUR","Atlantic/Reykjavik":"ISK","Atlantic/St_Helena":"SHP","Europe/Dublin":"EUR","Europe/Guernsey":"GBP","Europe/Isle_of_Man":"IMP","Europe/Jersey":"GBP","Europe/Lisbon":"EUR","Europe/London":"GBP","Africa/Algiers":"DZD","Africa/Bangui":"XAF","Africa/Brazzaville":"XAF","Africa/Ceuta":"EUR","Africa/Douala":"XAF","Africa/Kinshasa":"CDF","Africa/Lagos":"NGN","Africa/Libreville":"XAF","Africa/Luanda":"AOA","Africa/Malabo":"XAF","Africa/Ndjamena":"XAF","Africa/Niamey":"XOF","Africa/Porto-Novo":"XOF","Africa/Tunis":"TND","Africa/Windhoek":"NAD","Arctic/Longyearbyen":"NOK","Europe/Amsterdam":"EUR","Europe/Andorra":"EUR","Europe/Belgrade":"RSD","Europe/Berlin":"EUR","Europe/Bratislava":"EUR","Europe/Brussels":"EUR","Europe/Budapest":"HUF","Europe/Copenhagen":"DKK","Europe/Gibraltar":"GIP","Europe/Ljubljana":"EUR","Europe/Luxembourg":"EUR","Europe/Madrid":"EUR","Europe/Malta":"EUR","Europe/Monaco":"EUR","Europe/Oslo":"NOK","Europe/Paris":"EUR","Europe/Podgorica":"EUR","Europe/Prague":"CZK","Europe/Rome":"EUR","Europe/San_Marino":"EUR","Europe/Sarajevo":"BAM","Europe/Skopje":"MKD","Europe/Stockholm":"SEK","Europe/Tirane":"ALL","Europe/Vaduz":"CHF","Europe/Vatican":"EUR","Europe/Vienna":"EUR","Europe/Warsaw":"PLN","Europe/Zagreb":"HRK","Europe/Zurich":"CHF","Africa/Blantyre":"MWK","Africa/Bujumbura":"BIF","Africa/Cairo":"EGP","Africa/Gaborone":"BWP","Africa/Harare":"ZWL","Africa/Johannesburg":"ZAR","Africa/Juba":"SSP","Africa/Khartoum":"SDG","Africa/Kigali":"RWF","Africa/Lubumbashi":"CDF","Africa/Lusaka":"ZMW","Africa/Maputo":"MZM","Africa/Maseru":"LSL","Africa/Mbabane":"SZL","Africa/Tripoli":"LYD","Asia/Amman":"JOD","Asia/Beirut":"LBP","Asia/Damascus":"SYP","Asia/Famagusta":"TRY","Asia/Gaza":"ILS","Asia/Hebron":"ILS","Asia/Jerusalem":"ILS","Asia/Nicosia":"EUR","Europe/Athens":"EUR","Europe/Bucharest":"RON","Europe/Chisinau":"MDL","Europe/Helsinki":"EUR","Europe/Kaliningrad":"RUB","Europe/Kiev":"UAH","Europe/Mariehamn":"EUR","Europe/Riga":"EUR","Europe/Sofia":"BGN","Europe/Tallinn":"EUR","Europe/Uzhgorod":"UAH","Europe/Vilnius":"EUR","Europe/Zaporozhye":"UAH","Africa/Addis_Ababa":"ETB","Africa/Asmara":"ERN","Africa/Dar_es_Salaam":"TZS","Africa/Djibouti":"DJF","Africa/Kampala":"UGX","Africa/Mogadishu":"SOS","Africa/Nairobi":"KES","Antarctica/Syowa":"EUR","Asia/Aden":"YER","Asia/Baghdad":"IQD","Asia/Bahrain":"BHD","Asia/Kuwait":"KWD","Asia/Qatar":"QAR","Asia/Riyadh":"SAR","Europe/Istanbul":"TRY","Europe/Kirov":"RUB","Europe/Minsk":"BYN","Europe/Moscow":"RUB","Europe/Simferopol":"RUB","Europe/Volgograd":"RUB","Indian/Antananarivo":"MGA","Indian/Comoro":"USD","Indian/Mayotte":"EUR","Asia/Tehran":"IRR","Asia/Baku":"AZN","Asia/Dubai":"AED","Asia/Muscat":"OMR","Asia/Tbilisi":"GEL","Asia/Yerevan":"AMD","Europe/Astrakhan":"RUB","Europe/Samara":"RUB","Europe/Saratov":"RUB","Europe/Ulyanovsk":"RUB","Indian/Mahe":"SCR","Indian/Mauritius":"MUR","Indian/Reunion":"EUR","Asia/Kabul":"AFN","Antarctica/Mawson":"USD","Asia/Aqtau":"KZT","Asia/Aqtobe":"KZT","Asia/Ashgabat":"TMM","Asia/Atyrau":"KZT","Asia/Dushanbe":"TJS","Asia/Karachi":"PKR","Asia/Oral":"KZT","Asia/Qyzylorda":"KZT","Asia/Samarkand":"UZS","Asia/Tashkent":"UZS","Asia/Yekaterinburg":"RUB","Indian/Kerguelen":"EUR","Indian/Maldives":"MVR","Asia/Colombo":"LKR","Asia/Kolkata":"INR","Asia/Kathmandu":"NPR","Antarctica/Vostok":"USD","Asia/Almaty":"KZT","Asia/Bishkek":"KGS","Asia/Dhaka":"BDT","Asia/Omsk":"RUB","Asia/Qostanay":"KZT","Asia/Thimphu":"BTN","Asia/Urumqi":"CNY","Indian/Chagos":"USD","Asia/Yangon":"MMK","Indian/Cocos":"AUD","Antarctica/Davis":"USD","Asia/Bangkok":"THB","Asia/Barnaul":"RUB","Asia/Hovd":"MNT","Asia/Ho_Chi_Minh":"VND","Asia/Jakarta":"IDR","Asia/Krasnoyarsk":"RUB","Asia/Novokuznetsk":"RUB","Asia/Novosibirsk":"RUB","Asia/Phnom_Penh":"KHR","Asia/Pontianak":"IDR","Asia/Tomsk":"RUB","Asia/Vientiane":"LAK","Indian/Christmas":"AUD","Asia/Brunei":"BND","Asia/Choibalsan":"MNT","Asia/Hong_Kong":"HKD","Asia/Irkutsk":"RUB","Asia/Kuala_Lumpur":"MYR","Asia/Kuching":"MYR","Asia/Macau":"MOP","Asia/Makassar":"IDR","Asia/Manila":"PHP","Asia/Shanghai":"CNY","Asia/Singapore":"SGD","Asia/Taipei":"TWD","Asia/Ulaanbaatar":"MNT","Australia/Perth":"AUD","Australia/Eucla":"AUD","Asia/Chita":"RUB","Asia/Dili":"USD","Asia/Jayapura":"IDR","Asia/Khandyga":"RUB","Asia/Pyongyang":"KPW","Asia/Seoul":"KRW","Asia/Tokyo":"JPY","Asia/Yakutsk":"RUB","Pacific/Palau":"USD","Australia/Adelaide":"AUD","Australia/Broken_Hill":"AUD","Australia/Darwin":"AUD","Antarctica/DumontDUrville":"USD","Antarctica/Macquarie":"USD","Asia/Ust-Nera":"RUB","Asia/Vladivostok":"RUB","Australia/Brisbane":"AUD","Australia/Currie":"AUD","Australia/Hobart":"AUD","Australia/Lindeman":"AUD","Australia/Melbourne":"AUD","Australia/Sydney":"AUD","Pacific/Chuuk":"USD","Pacific/GuamVillage":"USD","Pacific/Port_Moresby":"PGK","Pacific/Saipan":"USD","Australia/Lord_Howe":"AUD","Antarctica/Casey":"USD","Asia/Magadan":"RUB","Asia/Sakhalin":"RUB","Asia/Srednekolymsk":"RUB","Pacific/Bougainville":"PGK","Pacific/Efate":"VUV","Pacific/Guadalcanal":"SBD","Pacific/Kosrae":"USD","Pacific/Norfolk":"USD","Pacific/Noumea":"XPF","Pacific/Pohnpei":"USD","Antarctica/McMurdo":"USD","Asia/Anadyr":"RUB","Asia/Kamchatka":"RUB","Pacific/Auckland":"NZD","Pacific/Fiji":"FJD","Pacific/Funafuti":"AUD","Pacific/Kwajalein":"USD","Pacific/Majuro":"USD","Pacific/Nauru":"AUD","Pacific/Tarawa":"AUD","Pacific/Wake":"USD","Pacific/Wallis":"XPF","Pacific/Chatham":"CAD","Pacific/Apia":"NGN","Pacific/Enderbury":"USD","Pacific/Fakaofo":"NZD","Pacific/Tongatapu":"TOP","Pacific/Kiritimati":"AUD"};class PZ{constructor({amount:e,code:t,timeZone:n=PZ.timeZone()}){this.amount=e,this.code=t||window._LocalCurrencyCode||PZ.getCode(n),this.timeZone=n}static getCode(e){return window._LocalCurrencyCode||zZ[e||PZ.timeZone()]||"USD"}static getCacheKey(e){return`@depay/local-currency/v3.8.1/rates/${e}`}static async rate({from:e,to:t}){null==t&&(t=PZ.getCode());let n=await PZ.fromUSD({amount:1,code:e}),r=await PZ.fromUSD({amount:1,code:t});if(n.code!=e||r.code!=t)throw"Failed fetching rate!";return n.amount/r.amount}static getCachedValue(e){let t=localStorage.getItem(e);return t&&(t=JSON.parse(t),t=t.expiresAt<Date.now()?null:t.value),t}static fromUSDSync({amount:e,code:t,timeZone:n}){let r=new PZ({amount:e,code:t,timeZone:n});const i=PZ.getCacheKey(r.code);let o,a=PZ.getCachedValue(i);return a?o=a:(PZ.fromUSD({amount:e,code:t,timeZone:n}),r.code="USD",o=1),r.amount=r.amount*o,r}static async fromUSD({amount:e,code:t,timeZone:n}){let r=new PZ({amount:e,code:t,timeZone:n});const i=PZ.getCacheKey(r.code);let o,a=PZ.getCachedValue(i);return o=a||await fetch("https://public.depay.com/currencies/"+r.code).then((e=>e.json())).then((e=>{let t=parseFloat(e);return localStorage.setItem(i,JSON.stringify({value:t,expiresAt:Date.now()+864e5})),t})).catch((e=>(r.code="USD",1))),r.amount=r.amount*o,r}static timeZone(){return Intl.DateTimeFormat().resolvedOptions().timeZone}toString(e={}){return null==e.minimumFractionDigits&&this.amount%1==0&&this.amount>=100?e.minimumFractionDigits=0:null==e.minimumFractionDigits&&(e.minimumFractionDigits=2),new Intl.NumberFormat(navigator.language,{...e,style:"currency",currency:this.code}).format(this.amount)}}const _Z=e=>{const t=new ArrayBuffer(e.length),n=new Uint8Array(t);for(let t=0,r=e.length;t<r;t++)n[t]=e.charCodeAt(t);return t};var BZ=async({signature:e,publicKey:t,data:n,saltLength:r=64,crypto:i,atob:o})=>{let a=t.replace(/^.*?-----BEGIN PUBLIC KEY-----\n/,"").replace(/-----END PUBLIC KEY-----(\n)*$/,"").replace(/(\n)*/g,"");for(;a.length%4;)a+="=";const s=o(a),u=_Z(s),c=await i.subtle.importKey("spki",u,{name:"RSA-PSS",hash:"SHA-256"},!0,["verify"]);return await i.subtle.verify({name:"RSA-PSS",saltLength:r},c,((e,t)=>{const n=t(e.replace(/-/g,"+").replace(/_/g,"/"));let r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r})(e,o),_Z(n))};const RZ=window.crypto,UZ=window.atob,QZ=({signature:e,publicKey:t,data:n,saltLength:r=64})=>BZ({signature:e,publicKey:t,data:n,saltLength:r,crypto:RZ,atob:UZ});function WZ(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function YZ(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?WZ(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):WZ(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var FZ=function(e){var t,n,r="string"==typeof e.configuration.currency?new PZ({code:e.configuration.currency}).code:new PZ({amount:0}).code,i=DL(dS.useState(null!==(t=e.configuration)&&void 0!==t&&t.integration?void 0:YZ(YZ({},e.configuration),{},{currencyCode:r})),2),o=i[0],a=i[1],s=function t(n,i){var o;if(!(i>=10)){var s=function(){setTimeout((function(){return t(n,i+1)}),1e3)};fetch("https://public.depay.com/configurations/".concat(n),{method:"POST",headers:{"Content-Type":"application/json"},body:null!==(o=e.configuration)&&void 0!==o&&o.payload?JSON.stringify({payload:e.configuration.payload}):void 0}).catch(s).then(function(){var t=xL(jL.mark((function t(n){var i,o,u,c,l;return jL.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(200!=n.status){t.next=21;break}return t.t0=JSON,t.next=4,n.text();case 4:return t.t1=t.sent,i=t.t0.parse.call(t.t0,t.t1),o=i.id,u=i.configuration,t.next=10,QZ({signature:n.headers.get("x-signature"),publicKey:"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtqsu0wy94cpz90W4pGsJ\nSf0bfvmsq3su+R1J4AoAYz0XoAu2MXJZM8vrQvG3op7OgB3zze8pj4joaoPU2piT\ndH7kcF4Mde6QG4qKEL3VE+J8CL3qK2dUY0Umu20x/O9O792tlv8+Q/qAVv8yPfdM\nn5Je9Wc7VI5XeIBKP2AzsCkrXuzQlR48Ac5LpViNSSLu0mz5NTBoHkW2sz1sNWc6\nUpYISJkiKTvYc8Bo4p5xD6+ZmlL4hj1Ad/+26SjYcisX2Ut4QD7YKRBP2SbItVkI\nqp9mp6c6MCKNmEUkosxAr0KVfOcrk6/fcc4tI8g+KYZ32G11Ri8Xo4fgHH06DLYP\n3QIDAQAB\n-----END PUBLIC KEY-----\n",data:JSON.stringify(u)});case 10:if(!t.sent){t.next=18;break}if(l=Object.entries(e.configuration).reduce((function(e,t){var n=DL(t,2),r=n[0],i=n[1];return void 0!==i&&(e[r]=i),e}),{}),null!=u&&u.accept&&!(!(null!=u&&null!==(c=u.accept)&&void 0!==c&&c.length)>0)){t.next=15;break}throw"Configuration is missing token acceptance!";case 15:a(YZ(YZ(YZ({},u),l),{},{id:o,currencyCode:r})),t.next=19;break;case 18:throw"Configuration response not verified!";case 19:t.next=22;break;case 21:s();case 22:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())}};return dS.useEffect((function(){null!=(null==o?void 0:o.providers)&&Object.entries(e.configuration.providers).forEach((function(e){((e,t,n)=>{if(NI.evm.includes(e))return gI.setProviderEndpoints(e,t,n);if(NI.solana.includes(e))return II.setProviderEndpoints(e,t,n);throw"Unknown blockchain: "+e})(e[0],e[1])}))}),[o]),dS.useEffect((function(){var t,n;null!==(t=e.configuration)&&void 0!==t&&t.integration&&s(null===(n=e.configuration)||void 0===n?void 0:n.integration,1)}),[e.configuration]),null!==(n=e.configuration)&&void 0!==n&&n.integration&&!o?dS.createElement(SZ,null,dS.createElement(yS,{unmount:e.unmount,closable:!1},dS.createElement(OZ,null,dS.createElement(_G,null),dS.createElement(CZ,{text:!1,document:e.document,container:e.container})))):dS.createElement(mP.Provider,{value:o},e.children)},VZ=function(){var e=xL(jL.mark((function e(t){var n,r,i,o,a,s,u;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.text,r=t.style,i=t.error,o=t.critical,a=t.container,s=t.document,xZ(),e.prev=2,u=EZ({style:r,container:a,document:Kq(s),closed:closed},(function(e){return function(t){return dS.createElement(uZ,{errorCallback:i,container:t,unmount:e},dS.createElement(SZ,null,dS.createElement(yS,{unmount:e,closable:!1},dS.createElement(OZ,null,dS.createElement(_G,null),dS.createElement(CZ,{text:n,document:s,container:t})))))}})),window._depayUnmountLoading=u,e.abrupt("return",{unmount:u});case 8:e.prev=8,e.t0=e.catch(2),console.log("critical error",e.t0),null!=o&&o(e.t0);case 12:case"end":return e.stop()}}),e,null,[[2,8]])})));return function(t){return e.apply(this,arguments)}}(),HZ=function(e){var t=dS.useContext(rZ).setError,n=dS.useContext(mP),r=n.message,i=n.endpoint,o=dS.useContext(mP).recoverSignature,a=dS.useContext(PG),s=a.wallet,u=a.account,c=DL(dS.useState(!1),2),l=c[0],h=c[1];if(!s)return null;null==s||!s.name||s.name;var d=null!=s&&s.logo?s.logo:void 0;"function"!=typeof o&&(o=function(e){var n=e.message,r=e.signature;return new Promise((function(e,o){fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:n,signature:r})}).then((function(n){200==n.status?n.text().then((function(t){e(t)})).catch(t):n.text().then((function(e){t(e||"Recovering login signature failed!")}))}))}))});return dS.createElement(TG,{body:dS.createElement("div",{className:"TextCenter"},d&&dS.createElement("div",{className:"GraphicWrapper PaddingTopS PaddingBottomS"},dS.createElement("img",{className:"Graphic",src:d})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL FontWeightBold PaddingTopS"},"Wallet Login"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("p",{className:"FontSizeM PaddingLeftM PaddingRightM PaddingBottomS"},'Please click "Log in" and sign the message with your connected wallet.'))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},l&&dS.createElement("div",{className:"PaddingTopXS PaddingBottomXS",style:{height:"58px"}},dS.createElement("div",{className:"PaddingTopS PaddingBottomS TextCenter"},dS.createElement("div",{className:"Loading Icon medium",style:{position:"relative"}}))),!l&&dS.createElement("button",{className:"ButtonPrimary",onClick:function(){var n;h(!0),n="function"==typeof r?r(u):r,s.sign(n).then((function(r){o({message:n,signature:r,wallet:s}).then((function(t){e.resolve({account:t,wallet:s}),h(!1)})).catch((function(e){h(!1),t(e)}))})).catch((function(e){h(!1),e&&e.code&&(4001==e.code||"ACTION_REJECTED"==e.code)||t(e)}))}},"Log in"))})},GZ=function(e){var t=dS.useContext(fS),n=t.open,r=t.close;return dS.createElement(NG,{open:n,close:r,start:"SignLogin",stacked:e.stacked,container:e.container,document:e.document,dialogs:{SignLogin:dS.createElement(HZ,{resolve:e.resolve,userClosedDialog:e.userClosedDialog})}})},qZ=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"up",r=parseFloat(e),i=r.toString().match(/\d+\.0*(\d{4})/);if(null!==(t=i)&&void 0!==t&&t.length){var o,a,s=(i=i[0]).match(/\d{4}$/)[0];return s.match(/^0/)?(o=parseFloat("".concat(s[1],".").concat(s[2]).concat(s[3])),a=parseFloat(o).toFixed(2),a="0".concat(a).replace(".","")):(o="up"==n?parseFloat("".concat(s[0],".").concat(s[1]).concat(s[2],"9")):parseFloat("".concat(s[0],".").concat(s[1]).concat(s[2],"1")),a=parseFloat(o).toFixed(2).replace(".","")),"0999"==a&&0==parseInt(r.toFixed(0))?(a="up"==n?"1000":"0999",parseFloat(i.replace(/\d{4}$/,a))):"1000"==a&&0==parseInt(r.toFixed(0))?parseFloat(i.replace(/\d{5}$/,a)):"0"!=a.toString()[0]&&a.toString().length>3?parseInt(r.toFixed(0)):parseFloat(i.replace(/\d{4}$/,a))}return parseFloat(r.toFixed(3))},ZZ=function(e){var t=qZ(e),n=t.toString();if(new RegExp(/\./).test(n)){var r=n.split(".");return(new Intl.NumberFormat).format(parseInt(r[0]))+"."+r[1]}return(new Intl.NumberFormat).format(t)},JZ=function(){var e=dS.useContext(mP).accept,t=dS.useContext(MG).navigate,r=n(new Set(e.map((function(e){return e.blockchain})))).map((function(e){return Vf[e]}));return dS.createElement(TG,{stacked:!0,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Available blockchains"))),body:dS.createElement("div",{className:"MaxHeight PaddingTopM PaddingBottomM"},r.map((function(e,t){return dS.createElement("div",{key:t,className:"Card Row"},dS.createElement("div",{className:"CardImage"},dS.createElement("img",{className:"transparent BlockchainLogo small",src:e.logo,style:{backgroundColor:e.logoBackgroundColor}})),dS.createElement("div",{className:"CardBody"},dS.createElement("span",{className:"CardText"},e.label)))}))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{type:"button",className:"ButtonPrimary",onClick:function(){return t("back")}},"Go back"))})},XZ=dS.createContext(),KZ=function(e){var t=dS.useContext(MG).navigate;return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:Zq})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Wallet Misses Blockchain Support"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftM PaddingRightM"},dS.createElement("strong",{className:"FontSizeM"},"The connected wallet does not support the blockchains required by this payment. Try to connect another wallet that does support one of the available blockchains.")),dS.createElement("div",{className:"PaddingBottomM"},dS.createElement("button",{onClick:function(){return t("PaymentBlockchains")},className:"Link FontSizeM",title:"Check which blockchains are available"},"Check available blockchains"))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){return e.disconnect()}},"Connect another wallet"))})},$Z=function(e){var t=dS.useContext(fS),n=t.open,r=t.close,i=dS.useContext(mP),o=i.accept,a=i.recover,s=i.wallet,u=dS.useContext(XZ),c=dS.useContext(pS).setUpdatable;dS.useContext(rZ).setError;var l=DL(dS.useState(s),2),h=l[0],d=l[1],f=DL(dS.useState(),2),p=f[0],y=f[1],m=DL(dS.useState(!1),2),g=m[0],v=m[1],w=DL(dS.useState(),2),b=w[0],M=w[1],A=DL(dS.useState(!1),2),I=A[0],N=A[1],T=DL(dS.useState(s?"connected":void 0),2),E=T[0],x=T[1],k=dS.useCallback(kG.debounce((function(){h.connect().then(M)}))),L=dS.useCallback(kG.debounce((function(e){v(e)}))),S=function(){M(),d(),x(),v(!1)},j=o&&o.some((function(e){return"solana"===e.blockchain}))?function(){u.start()}:void 0;return dS.useEffect((function(){if(h){if(o&&!o.some((function(e){return h.blockchains.includes(e.blockchain)})))return c(!1),void setTimeout((function(){return L(!0)}),200);var e=function(e){e?M(e):k()};return h.on("account",e),function(){h.off("account",e)}}}),[h]),dS.useEffect((function(){xL(jL.mark((function e(){var t;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!s){e.next=5;break}return e.next=3,s.account();case 3:(t=e.sent)?M(t):(d(),x());case 5:case"end":return e.stop()}}),e)})))()}),[]),g?dS.createElement(NG,{open:n,close:r,start:"WalletMissesBlockchainSupport",container:e.container,document:e.document,stacked:!0,dialogs:{WalletMissesBlockchainSupport:dS.createElement(KZ,{disconnect:S}),PaymentBlockchains:dS.createElement(JZ,null)}}):"connected"==E||null!=a?dS.createElement(PG.Provider,{value:{account:b,wallet:h,disconnect:S}},e.children):dS.createElement(Xq,{setNavigator:y,document:e.document,container:e.container,resolve:function(t){var n=t.account,r=t.wallet;null==p||p.hide(),setTimeout((function(){M(n),d(r),N(!0),x("connected"),e.connected&&e.connected(n)}),80)},accept:o,continueWithSolanaPay:j,stacked:I?"backward":void 0})},eJ=dS.createContext(),tJ=dS.createContext();function nJ(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function rJ(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nJ(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nJ(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var iJ=function(e){var t=function(e){return!e.every((function(e){return void 0!==e.amount||void 0!==e.fromAmount}))},n=dS.useContext(mP),r=n.amount;n.toAmount;var i=n.recover,o=n.accept;dS.useContext(mP);var a,s=DL(dS.useState(null==i&&t(o)),2),u=s[0],c=s[1],l=dS.useContext(PG).account,h=dS.useContext(tJ),d=h.conversionRate,f=h.fixedCurrencyConversionRate,p=dS.useContext(rZ).setError,y=DL(dS.useState(),2),m=y[0],g=y[1],v=DL(dS.useState("object"==kL(r)&&r.fix&&r.currency?r.fix:null),1)[0],w=DL(dS.useState("object"==kL(r)&&r.fix&&r.currency?r.currency:null),1)[0];u&&(a="object"==kL(r)&&r.start&&r.start?r.start:"object"==kL(r)&&r.fix?r.fix:1);var b=DL(dS.useState(a),2),M=b[0],A=b[1],I=DL(dS.useState(),2),N=I[0],T=I[1],E=DL(dS.useState(),2),x=E[0],k=E[1];dS.useEffect((function(){i||c(t(o))}),[o,i]);var L=dS.useCallback(kG.debounce((function(e){e.account,function(e){var t=e.amount,n=e.conversionRate,i=e.fixedCurrencyConversionRate;return new Promise((function(e,a){r&&r.token?e(o.map((function(){return t}))):Promise.all(o.map((function(e){return v?Vf[e.blockchain].stables.usd[0]==e.token?1/i*v:QO.route({blockchain:e.blockchain,tokenIn:Vf[e.blockchain].stables.usd[0],amountIn:1/i*v,tokenOut:e.token,fromAddress:l,toAddress:l}):Vf[e.blockchain].stables.usd.find((function(t){return t.toLowerCase()===e.token.toLowerCase()}))?1/n*t:QO.route({blockchain:e.blockchain,tokenIn:Vf[e.blockchain].stables.usd[0],amountIn:1/n*t,tokenOut:e.token,fromAddress:l,toAddress:l})}))).then((function(t){Promise.all(t.map((function(e,t){return"number"==typeof e?e:null==e[0]?void 0:RS.readable({blockchain:o[t].blockchain,amount:e[0].amountOut,address:e[0].tokenOut})}))).then(e).catch(p)})).catch(p)}))}({amount:e.amount,conversionRate:e.conversionRate,fixedCurrencyConversionRate:e.fixedCurrencyConversionRate}).then((function(e){g(o.map((function(t,n){if(null!=e[n])return rJ(rJ({},t),{},{amount:qZ(e[n])})})).filter((function(e){return!!e})))})).catch(p)}),500),[]);return dS.useEffect((function(){i||u&&l&&d&&(!v||f)&&(g(),L({account:l,amount:M,conversionRate:d,fixedCurrencyConversionRate:f}))}),[u,l,d,v,f,M,i]),dS.useEffect((function(){u&&N?N.fromToken.readable(N.fromBalance).then((function(e){if(r&&r.token)QO.route({blockchain:N.blockchain,tokenIn:N.fromToken.address,tokenOut:N.toToken.address,amountIn:parseFloat(e),fromAddress:l,toAddress:l}).then((function(e){null!=e[0]?RS.readable({amount:e[0].amountOut,blockchain:N.blockchain,address:N.toToken.address}).then((function(e){var t=parseFloat(new TD(e).div(1.01).mul(d).toString());k(t>10?Math.round(t-1):qZ(t-1))})).catch(p):RS.readable({amount:N.fromBalance,blockchain:N.blockchain,address:N.fromToken.address}).then(k)})).catch(p);else if(N.fromToken.address==Vf[N.blockchain].stables.usd[0]){var t=parseFloat(new TD(e).mul(d).toString());k(t>10?Math.round(t-1):t-1)}else QO.route({blockchain:N.blockchain,tokenIn:N.fromToken.address,tokenOut:Vf[N.blockchain].stables.usd[0],amountIn:parseFloat(e),fromAddress:l,toAddress:l}).then((function(e){null!=e[0]&&RS.readable({amount:e[0].amountOut,blockchain:N.blockchain,address:Vf[N.blockchain].stables.usd[0]}).then((function(e){var t=parseFloat(new TD(e).div(1.01).mul(d).toString());k(t>10?Math.round(t-1):qZ(t-1))})).catch(p)})).catch(p)})).catch(p):k(100)}),[l,N]),dS.createElement(eJ.Provider,{value:{amountsMissing:u,fixedAmount:v,fixedCurrency:w,acceptWithAmount:m,amount:M,setAmount:A,setMaxRoute:T,maxRoute:N,maxAmount:x}},e.children)},oJ=function(e){dS.useContext(rZ).setError;var t=dS.useContext(mP),n=t.amount,r=t.currency,i=DL(dS.useState(),2),o=i[0],a=i[1],s=DL(dS.useState(),2),u=s[0],c=s[1];return dS.useEffect((function(){"object"==kL(n)&&n.currency&&PZ.fromUSD({amount:1,code:n.currency}).then((function(e){return c(e.amount)})),PZ.fromUSD({amount:1,code:r}).then((function(e){return a(e.amount)})).catch(a(1))}),[]),dS.createElement(tJ.Provider,{value:{conversionRate:o,fixedCurrencyConversionRate:u}},e.children)},aJ=dS.createContext(),sJ=dS.createContext();function uJ(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function cJ(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?uJ(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):uJ(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var lJ=function(e,t){var n={};return e.forEach((function(e){n[e.blockchain]=t})),n},hJ=function(e){var t=e.accept,n=e.account,r=e.receiver,i=e.whitelist,o=e.blacklist,a=e.fee,s=e.update,u=e.drip;return rP({accept:t.map((function(e){return function(e,t){var n;n=t||("object"==kL(e.receiver)?e.receiver.address:e.receiver);var r="object"==kL(e.receiver)?e.receiver:void 0;return cJ(cJ({},e),{},{toAddress:n,toContract:r})}(e,r)})),from:lJ(t,n),whitelist:i,blacklist:o,fee:a,update:s,drip:u})};function dJ(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function fJ(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dJ(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dJ(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var pJ=function(e){var t=DL(dS.useState(),2),r=t[0],i=t[1],o=DL(dS.useState(),2),a=o[0],s=o[1],u=DL(dS.useState(),2),c=u[0],l=u[1],h=DL(dS.useState(),2),d=h[0],f=h[1],p=DL(dS.useState(!1),2),y=p[0],m=p[1],g=DL(dS.useState(0),2),v=g[0],w=g[1],b=DL(dS.useState(!1),2);b[0];var M=b[1],A=DL(dS.useState(!1),2),I=A[0],N=A[1],T=dS.useContext(PG),E=T.account;T.wallet;var x=dS.useContext(pS).updatable,k=dS.useContext(mP).recover,L=dS.useContext(mP),S=dS.useContext(eJ).amountsMissing,j=function(){var t=xL(jL.mark((function t(n){var r;return jL.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(0!=n.updatable&&e.accept&&E){t.next=3;break}return t.abrupt("return");case 3:return r=setTimeout((function(){m(!0)}),3e3),t.abrupt("return",new Promise((function(t,n){hJ(Object.assign({},L,{accept:e.accept,account:E})).then((function(e){s(e),M(!0),clearInterval(r),t()})).catch(n)})));case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),D=function(e,t){e.fromAmount=t.toString()},C=function(){var e=xL(jL.mark((function e(t,n){var r,i;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.directTransfer){e.next=2;break}return e.abrupt("return",t);case 2:return e.next=4,t.fromToken.readable(n||t.fromAmount);case 4:return r=e.sent,e.next=7,t.fromToken.BigNumber(qZ(r));case 7:return i=e.sent,D(t,i),e.abrupt("return",t);case 10:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),O=function(){var e=xL(jL.mark((function e(t){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all(t.map((function(e){return C(e)}))));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),z=function(){var e=xL(jL.mark((function e(){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:f(fJ({},c)),l(null);case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),P=function(){return j({allRoutes:r,selectedRoute:void 0,updatable:x})};dS.useEffect((function(){var e=setTimeout((function(){I&&(w(v+1),j({allRoutes:r,selectedRoute:d,updatable:x}))}),15e3);return function(){return clearTimeout(e)}}),[v,r,I,d,x]),dS.useEffect((function(){k||(E&&e.accept?P():void 0===e.accept&&(f(),N(!1),s(),i()))}),[E,e.accept]);var _=dS.useCallback(kG.debounce((function(t,r){void 0!==r&&(0==r.length?(i(r),e.setMaxRoute&&e.setMaxRoute(null)):O(r).then((function(o){if(void 0===t){var a=o[0];f(a)}else{var s=o[o.findIndex((function(e){return e.fromToken.address==t.fromToken.address&&e.blockchain==t.blockchain}))];s?t.fromAmount!=s.fromAmount?l(s):t.approvalRequired==s.approvalRequired&&t.currentAllowance==s.currentAllowance||f(s):f(o[0])}o.assets=r.assets,S&&e.setMaxRoute?Promise.all(o.map((function(e){return new Promise((function(t,n){if(-1===Vf[e.blockchain].tokens.findIndex((function(t){return t.address.toLowerCase()===e.fromToken.address.toLowerCase()})))return t();QO.route({blockchain:e.blockchain,tokenIn:e.fromToken.address,amountIn:e.fromBalance,tokenOut:Vf[e.blockchain].stables.usd[0].toLowerCase()!==e.fromToken.address.toLowerCase()?Vf[e.blockchain].stables.usd[0]:Vf[e.blockchain].stables.usd[1],fromAddress:e.fromAddress,toAddress:e.toAddress}).then((function(n){return t({route:e,usdRoute:n})})).catch(n)}))}))).then((function(t){var r;e.setMaxRoute(null===(r=function(e){var t=n(e).sort((function(e,t){var n,r,i,o;if(void 0===(null==e||null===(n=e.usdRoute)||void 0===n?void 0:n.length)||0==(null==e||null===(r=e.usdRoute)||void 0===r?void 0:r.length))return-1;if(void 0===(null==t||null===(i=t.usdRoute)||void 0===i?void 0:i.length)||0==(null==t||null===(o=t.usdRoute)||void 0===o?void 0:o.length))return 1;if("0"==e.usdRoute[0].amountOut)return-1;if("0"==t.usdRoute[0].amountOut)return 1;var a=new TD(sI(e.usdRoute[0].amountOut,e.usdRoute[0].decimalsOut)),s=new TD(sI(t.usdRoute[0].amountOut,t.usdRoute[0].decimalsOut));return a.lt(s)?-1:s.lt(a)?1:0}));return t[t.length-1]}(t.filter(Boolean)))||void 0===r?void 0:r.route),i(o),N(!0)})).catch((function(t){console.log("ERROR",t),e.setMaxRoute(null)})):(i(o),N(!0))})))}),500),[]);return dS.useEffect((function(){_(d,a)}),[d,a]),dS.createElement(sJ.Provider,{value:{selectedRoute:d,setSelectedRoute:f,refreshPaymentRoutes:P,allRoutes:r,allRoutesLoaded:I,slowRouting:y,updatedRouteWithNewPrice:c,updateRouteWithNewPrice:z}},e.children)},yJ=function(e){var t=dS.useContext(eJ),n=t.amountsMissing,r=t.acceptWithAmount,i=t.setMaxRoute,o=dS.useContext(mP).accept,a=DL(dS.useState(),2),s=a[0],u=a[1];return dS.useEffect((function(){u(n?r:o)}),[n,r]),dS.createElement(aJ.Provider,{value:{}},dS.createElement(pJ,{accept:s,setMaxRoute:i,container:e.container,document:e.document},e.children))},mJ={ethereum:Yp.from("3000000000000000"),bsc:Yp.from("700000000000000"),polygon:Yp.from("15000000000000000"),solana:Yp.from("15000"),optimism:Yp.from("3000000000000000"),base:Yp.from("3000000000000000"),arbitrum:Yp.from("3000000000000000"),fantom:Yp.from("3000000000000000"),avalanche:Yp.from("3000000000000000"),gnosis:Yp.from("3000000000000000"),worldchain:Yp.from("3000000000000000")},gJ=function(e){var t=DL(dS.useState(),2),n=t[0],r=t[1],i=DL(dS.useState(),2),o=i[0],a=i[1],s=DL(dS.useState(),2),u=s[0],c=s[1],l=DL(dS.useState(),2),h=l[0],d=l[1],f=DL(dS.useState(!0),2),p=f[0],y=f[1],m=dS.useContext(MG);m.navigate;var g=m.set,v=dS.useContext(mP),w=v.accept,b=v.sell,M=dS.useContext(eJ).acceptWithAmount,A=dS.useContext(fS).close,I=dS.useContext(PG).wallet,N=DL(dS.useState(),2),T=N[0],E=N[1];dS.useEffect((function(){I.account().then(E)}),[I]);var x=function(){var t=xL(jL.mark((function t(n){var i,o,s,u,l;return jL.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=n.route,o=n.accept,s=e.assets.find((function(e){return Vf[e.blockchain].currency.address.toLowerCase()===e.address.toLowerCase()})),i.blockchain!==o.blockchain||i.tokenIn.toLowerCase()!==o.token.toLowerCase()){t.next=34;break}return u=new RS({blockchain:i.blockchain,address:i.tokenIn}),l=e.assets.find((function(e){return e.blockchain===i.blockchain&&e.address.toLowerCase()===i.tokenIn.toLowerCase()})),t.t0=d,t.t1=qZ,t.next=9,u.readable(Yp.from(o.amount));case 9:return t.t2=t.sent,t.t3=(0,t.t1)(t.t2),(0,t.t0)(t.t3),t.t4=c,t.t5=qZ,t.next=16,u.readable(Yp.from(i.amountIn).sub(Yp.from(l.balance)));case 16:return t.t6=t.sent,t.t7=(0,t.t5)(t.t6),(0,t.t4)(t.t7),t.t8=r,t.next=22,u.symbol();case 22:return t.t9=t.sent,(0,t.t8)(t.t9),t.t10=a,t.t11=qZ,t.next=28,u.readable(l.balance);case 28:t.t12=t.sent,t.t13=(0,t.t11)(t.t12,"down"),(0,t.t10)(t.t13),y(!1),t.next=63;break;case 34:if(s&&!Yp.from(s.balance).lt(mJ[s.blockchain])){t.next=48;break}return t.t14=QO,t.t15=i.blockchain,t.t16=Vf[i.blockchain].currency.address,t.next=40,RS.BigNumber({amount:o.amount,blockchain:o.blockchain,address:o.token});case 40:t.t17=t.sent,t.t18=o.token,t.t19=e.account,t.t20=o.receiver,t.t21={blockchain:t.t15,tokenIn:t.t16,amountOut:t.t17,tokenOut:t.t18,fromAddress:t.t19,toAddress:t.t20},t.t14.route.call(t.t14,t.t21).then(function(){var e=xL(jL.mark((function e(t){var n;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t[0],e.t0=c,e.t1=qZ,e.next=5,RS.readable({blockchain:n.blockchain,address:n.tokenIn,amount:n.amountIn});case 5:e.t2=e.sent,e.t3=(0,e.t1)(e.t2),(0,e.t0)(e.t3),r(Vf[n.blockchain].currency.symbol),a(0),y(!1);case 11:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),t.next=63;break;case 48:if(!i){t.next=62;break}return t.t22=QO,t.t23=i.blockchain,t.t24=i.tokenIn,t.next=54,RS.BigNumber({amount:o.amount,blockchain:o.blockchain,address:o.token});case 54:t.t25=t.sent,t.t26=o.token,t.t27=e.account,t.t28=o.receiver,t.t29={blockchain:t.t23,tokenIn:t.t24,amountOut:t.t25,tokenOut:t.t26,fromAddress:t.t27,toAddress:t.t28},t.t22.route.call(t.t22,t.t29).then(function(){var t=xL(jL.mark((function t(n){var i,o,s;return jL.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=n[0],o=new RS({blockchain:i.blockchain,address:i.tokenIn}),s=e.assets.find((function(e){return e.blockchain===i.blockchain&&e.address.toLowerCase()===i.tokenIn.toLowerCase()})),t.t0=d,t.t1=qZ,t.next=7,o.readable(Yp.from(i.amountIn).mul(101).div(100));case 7:return t.t2=t.sent,t.t3=(0,t.t1)(t.t2),(0,t.t0)(t.t3),t.t4=c,t.t5=qZ,t.next=14,o.readable(Yp.from(i.amountIn).sub(Yp.from(s.balance)).mul(101).div(100));case 14:return t.t6=t.sent,t.t7=(0,t.t5)(t.t6),(0,t.t4)(t.t7),t.t8=r,t.next=20,o.symbol();case 20:return t.t9=t.sent,(0,t.t8)(t.t9),t.t10=a,t.t11=qZ,t.next=26,o.readable(s.balance);case 26:t.t12=t.sent,t.t13=(0,t.t11)(t.t12,"down"),(0,t.t10)(t.t13),y(!1);case 30:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),t.next=63;break;case 62:g(["NoPaymentOptionFound"]);case 63:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}();return dS.useEffect((function(){(function(){var t=xL(jL.mark((function t(){var n,r;return jL.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(n=!b&&(M||w).find((function(t){return e.assets.find((function(e){return t.blockchain===e.blockchain&&t.token.toLowerCase()===e.address.toLowerCase()}))})))){t.next=14;break}return r=new RS({blockchain:n.blockchain,address:n.token}),t.t0=n.blockchain,t.t1=n.token,t.next=7,r.BigNumber(n.amount);case 7:return t.t2=t.sent,t.next=10,r.BigNumber(n.amount);case 10:t.t3=t.sent,t.t4=n.token,t.t5=n.receiver,n={blockchain:t.t0,tokenIn:t.t1,amountIn:t.t2,amount:t.t3,token:t.t4,receiver:t.t5};case 14:n&&e.assets.find((function(e){return Vf[e.blockchain].currency.address.toLowerCase()===e.address.toLowerCase()}))&&"0"!==e.assets.find((function(e){return Vf[e.blockchain].currency.address.toLowerCase()===e.address.toLowerCase()})).balance?x({route:n,accept:n}):Promise.all(e.assets.map((function(t){if(Vf[t.blockchain].tokens.find((function(e){return e.address.toLowerCase()===t.address.toLowerCase()})))return(M||w).map(function(){var n=xL(jL.mark((function n(r){return jL.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r.blockchain!==t.blockchain){n.next=12;break}return n.t0=QO,n.t1=t.blockchain,n.t2=t.address,n.next=6,RS.BigNumber({amount:r.amount,blockchain:r.blockchain,address:r.token});case 6:return n.t3=n.sent,n.t4=r.token,n.t5=e.account,n.t6=r.receiver,n.t7={blockchain:n.t1,tokenIn:n.t2,amountOut:n.t3,tokenOut:n.t4,fromAddress:n.t5,toAddress:n.t6},n.abrupt("return",n.t0.route.call(n.t0,n.t7));case 12:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()).filter(Boolean).flat()})).flat().filter(Boolean)).then(function(){var e=xL(jL.mark((function e(t){var n,r;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:(n=(t.filter(Boolean)||[]).flat().find((function(e){return(M||w).find((function(t){return t.blockchain===e.blockchain&&t.token.toLowerCase()===e.tokenOut.toLowerCase()}))}))||t.flat()[0])?(r=(M||w).find((function(e){return e.blockchain===n.blockchain&&e.token.toLowerCase()===n.tokenOut.toLowerCase()}))||w.find((function(e){return e.blockchain===n.blockchain})),x({route:n,accept:r})):g(["NoPaymentOptionFound"]);case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());case 15:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}})()()}),[]),dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter PaddingBottomS"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAGZCAYAAAD/+YnsAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFw2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4wLWMwMDAgNzkuZGE0YTdlNWVmLCAyMDIyLzExLzIyLTEzOjUwOjA3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjQuMSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjMtMDgtMjJUMDg6MDM6NDUrMDI6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIzLTA4LTIyVDA5OjI0OjIzKzAyOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIzLTA4LTIyVDA5OjI0OjIzKzAyOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4YjA0MTU4Mi04MWVhLTRkNjktOGNmMi1hMGI0MTAxYTZjOTUiIHhtcE1NOkRvY3VtZW50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"})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"No enough funds!"),dS.createElement("div",{className:"Text PaddingTopS PaddingLeftM PaddingRightM"},p&&dS.createElement("div",{className:"Skeleton",style:{borderRadius:"18px",width:"100%",height:"170px"}},dS.createElement("div",{className:"SkeletonBackground"})),!p&&dS.createElement("div",null,dS.createElement("div",null,o>0&&dS.createElement("div",null,dS.createElement("div",null,dS.createElement("strong",{className:"FontSizeM"},dS.createElement("span",{style:{fontWeight:"bold"}},u," ",n),dS.createElement("br",null)," are additionally required in order to perform this payment of ",h," ",n,".")),dS.createElement("div",{className:"PaddingTopS PaddingBottomM"},dS.createElement("strong",{className:"FontSizeM"},"Please top up or swap another token to ",n," to perform this payment."))),0===o&&dS.createElement("div",null,dS.createElement("div",null,dS.createElement("strong",{className:"FontSizeM"},dS.createElement("span",{style:{fontWeight:"bold"}},u," ",n),dS.createElement("br",null)," is required in order to perform this payment.")),dS.createElement("div",{className:"PaddingTopS"},dS.createElement("strong",{className:"FontSizeM"},"Please top up your ",n," to perform this payment.")))))),dS.createElement("div",{className:"Text PaddingLeftM PaddingRightM"},dS.createElement("div",{className:"Card tiny disabled center"},dS.createElement("div",{className:"ResponsiveText FontWeightLight TextCenter"},T)))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:A},"Ok"))})};function vJ(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(void 0===e)return e;var n="";return n+=e.slice(0,t+2),n+="...",n+=e.slice(e.length-t,e.length)}var wJ=function(){if(void 0===window.eruda){var e=document.createElement("script");e.src="https://cdn.jsdelivr.net/npm/eruda",e.onload=function(){window.eruda.init(),console.log("Eruda has been initialized.")},document.body.appendChild(e)}else console.log("Eruda is already loaded.")},bJ=function(){dS.useContext(MG).navigate;var e=dS.useContext(mP).accept,t=dS.useContext(fS).close,r=dS.useContext(PG).wallet,i=DL(dS.useState(),2),o=i[0],a=i[1];return dS.useEffect((function(){r.account().then(a)}),[r]),dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper",onClick:wJ},dS.createElement("img",{className:"Graphic",src:Zq})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"No enough funds!"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomXS PaddingLeftM PaddingRightM"},dS.createElement("div",{className:"Card tiny disabled center"},dS.createElement("div",{className:"ResponsiveText FontWeightLight TextCenter"},o))),dS.createElement("div",{className:"Text PaddingTopXS PaddingBottomXS PaddingLeftM PaddingRightM"},dS.createElement("strong",{className:"FontSizeM"},"Please make sure you have enough funds on one of the following blockchains:")),dS.createElement("div",{className:"Text PaddingTopXS PaddingBottomS PaddingLeftM PaddingRightM"},n(new Set(e.map((function(e){return e.blockchain})))).map((function(e){return dS.createElement("div",{className:"Card tiny disabled inlineBlock MarginRightXS MarginBottomXS"},dS.createElement("img",{className:"MarginRightXS",src:Vf[e].logoWhiteBackground}),dS.createElement("span",{className:"ResponsiveText FontWeightLight"},Vf[e].label))})))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:t},"Ok"))})},MJ=dS.createContext(),AJ=dS.createContext(),IJ=dS.createContext(),NJ=function(e){var t=dS.useContext(rZ).setError,n=dS.useContext(mP),r=n.sent,i=n.succeeded,o=n.failed,a=n.recover,s=n.before,u=n.accept,c=dS.useContext(sJ),l=c.allRoutes;c.allAssets;var h=c.selectedRoute,d=c.refreshPaymentRoutes,f=dS.useContext(fS),p=f.open,y=f.close,m=f.setClosable,g=dS.useContext(pS).setUpdatable,v=dS.useContext(jZ),w=v.navigate,b=v.set,M=dS.useContext(PG),A=M.wallet,I=M.account,N=dS.useContext(AJ),T=N.setPayment,E=N.release,x=N.synchronousTracking,k=N.asynchronousTracking,L=N.trackingInitialized,S=N.initializeTracking,j=N.trace,D=dS.useContext(IJ),C=D.foundTransaction,O=D.initializeTracking,z=DL(dS.useState(),2),P=z[0],_=z[1],B=DL(dS.useState(),2),R=B[0],U=B[1],Q=DL(dS.useState(),2),W=Q[0],Y=Q[1],F=DL(dS.useState(),2),V=F[0],H=F[1],G=DL(dS.useState("initialized"),2),q=G[0],Z=G[1],J=function(e,t){0!=x||0!=k&&1!=L||m(!0),Z("success"),i&&setTimeout((function(){return i(e,t)}),200)},X=function(e,t,n){console.log("error",null==t?void 0:t.toString()),0!=k&&1!=L||m(!0),b(["PaymentFailed"]),Z("failed"),o&&o(e,t,n)},K=function(){var e=xL(jL.mark((function e(){var t,n,i,o,a,u;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Z("paying"),g(!1),e.next=4,A.account();case 4:return i=e.sent,e.next=7,P.route.getTransaction({wallet:A});case 7:if(o=e.sent,!s){e.next=14;break}return e.next=11,s(o,i);case 11:if(!1!==e.sent){e.next=14;break}return e.abrupt("return");case 14:return e.next=16,_I({blockchain:o.blockchain,method:"latestBlockNumber"});case 16:return a=e.sent,u=o.deadline||(null==o||null===(t=o.params)||void 0===t||null===(n=t.payment)||void 0===n?void 0:n.deadline),e.next=20,j(a,P.route,o,u).then(xL(jL.mark((function e(){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return m(!1),e.next=3,A.sendTransaction(Object.assign({},o,{accepted:function(){U(o)},sent:function(e){O(e,a,u),r&&r(e)},succeeded:function(e){return J(e,P)},failed:function(e,t){return X(e,t,P)}})).then((function(e){U(e),S(e,a,P.route,u)})).catch((function(e){console.log("error",e),Z("initialized"),m(!0),g(!0),"WRONG_NETWORK"!=(null==e?void 0:e.code)&&"NOT_SUPPORTED"!=(null==e?void 0:e.code)||w("WrongNetwork")}));case 3:case"end":return e.stop()}}),e)})))).catch((function(e){console.log(e),Z("initialized"),m(!0),g(!0),w("TracingFailed")}));case 20:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();dS.useEffect((function(){T(P)}),[P]),dS.useEffect((function(){E&&Z("success")}),[E]),dS.useEffect((function(){k&&L&&("success"==q||"failed"==q)&&m(!0)}),[L,q]),dS.useEffect((function(){if(a){m(!1),g(!1),Z("paying"),U({blockchain:a.blockchain,id:a.transaction,url:Vf.findByName(a.blockchain).explorerUrlFor({transaction:{id:a.transaction}})});var e=new RS({blockchain:a.blockchain,address:a.token});Promise.all([e.name(),e.symbol()]).then((function(e){var t=DL(e,2),n=t[0],r=t[1];_({blockchain:a.blockchain,token:a.token,name:n,symbol:r.toUpperCase(),amount:a.amount})})).catch(t)}}),[a]),dS.useEffect((function(){var e;C&&C.id&&C.status&&(C.id!=R.id&&(e=Object.assign({},R,{id:C.id,url:Vf.findByName(R.blockchain).explorerUrlFor({transaction:C})}),U(e)),"success"==C.status?J(e||R,P):"failed"==C.status&&X(e||R,P))}),[C,R,P]);var $=dS.useCallback(kG.debounce((function(e){if(e){var n=e.fromToken;Promise.all([n.name(),n.symbol(),n.readable(e.fromAmount)]).then((function(t){var r=DL(t,3),i=r[0],o=r[1],a=r[2];_({blockchain:e.blockchain,route:e,token:n.address,name:i,symbol:o.toUpperCase(),amount:a})})).catch(t)}else void 0===a&&_()}),100),[]);return dS.useEffect((function(){$(h)}),[h]),dS.useEffect((function(){l&&0==l.length?g(!1):l&&l.length>0&&g(!0)}),[l]),l instanceof Array&&0==l.length?dS.createElement(NG,{open:p,close:y,start:void 0===l.assets||0===l.assets.length?"NoPaymentOptionFound":"InsufficientAmountOfTokens",container:e.container,document:e.document,dialogs:{InsufficientAmountOfTokens:dS.createElement(gJ,{assets:l.assets,accept:u,account:I}),NoPaymentOptionFound:dS.createElement(bJ,null)}}):dS.createElement(MJ.Provider,{value:{payment:P,paymentState:q,pay:K,transaction:R,approve:function(){Z("approving"),m(!1),g(!1),A.sendTransaction(Object.assign({},P.route.approvalTransaction,{sent:function(e){Y(e)},succeeded:function(){g(!0),m(!0),d().then((function(){setTimeout((function(){Z("initialized")}),1e3)}))}})).catch((function(e){console.log("error",e),"WRONG_NETWORK"!=(null==e?void 0:e.code)&&"NOT_SUPPORTED"!=(null==e?void 0:e.code)||w("WrongNetwork"),Z("initialized"),m(!0)}))},resetApproval:function(){Z("resetting"),m(!1),g(!1);var e=JSON.parse(JSON.stringify(P.route.approvalTransaction));e.params[1]="0",A.sendTransaction(Object.assign({},e,{sent:function(e){H(e)},succeeded:function(){g(!0),m(!0),d().then((function(){setTimeout((function(){Z("initialized")}),1e3)}))}})).catch((function(e){console.log("error",e),"WRONG_NETWORK"!=(null==e?void 0:e.code)&&"NOT_SUPPORTED"!=(null==e?void 0:e.code)||w("WrongNetwork"),Z("initialized"),m(!0)}))},approvalTransaction:W,resetApprovalTransaction:V}},e.children)},TJ=dS.createContext(),EJ=function(e){var t=dS.useContext(MG).navigate;dS.useContext(rZ).setError,dS.useContext(PG).account;var n=dS.useContext(eJ),r=n.amount,i=n.setAmount,o=n.maxAmount;dS.useContext(TJ).displayedPaymentValue;var a=DL(dS.useState(r),2),s=a[0],u=a[1],c=dS.useContext(mP),l=c.currencyCode,h=c.amount,d=dS.useContext(sJ);d.allRoutes;var f=d.setSelectedRoute,p="object"==kL(h)&&h.min?h.min:1,y="object"==kL(h)&&h.step?h.step:1,m=null!=h&&h.token?null:l,g=function(e){Number.isNaN(e)||u(e)},v=function(e){return y&&(e=parseFloat(new TD(Math.floor(new TD(e).div(y))).mul(y).toString())),e},w=function(e){return e=v(e),o&&(e=Math.max(p,Math.min(e,o))),e=v(e)};return dS.createElement(TG,{stacked:!0,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},dS.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Change Amount"),dS.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},dS.createElement("strong",null,m))),body:dS.createElement("div",{className:"MaxHeight PaddingTopXS"},dS.createElement("div",{className:"PaddingLeftM PaddingRightM"},dS.createElement("div",{className:"PaddingTopS TextCenter PaddingBottomL"},dS.createElement("div",{className:"PaddingBottomM"},dS.createElement("input",{max:o?parseFloat(o):null,min:p,step:y,className:"Input FontSizeXXL TextAlignCenter",type:"number",name:"amount",value:parseFloat(s),onChange:function(e){g(e.target.value)},onBlur:function(e){var t;t=e.target.value,u(w(t))}})),o&&dS.createElement("div",{style:{height:"40px"}},dS.createElement("div",{className:"FontSizeS"},ZZ(v(o)),dS.createElement("div",null,dS.createElement("button",{className:"TextButton",onClick:function(){g(w(o))}},"(Max)"))))))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){var e=w(parseFloat(s));e!=r&&(f(void 0),i(e)),t("back")}},"Done"))})};let xJ=["ethereum","bsc","polygon","solana","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"];xJ.evm=["ethereum","bsc","polygon","fantom","arbitrum","avalanche","gnosis","optimism","base","worldchain"],xJ.solana=["solana"];const kJ="/Users/sebastian/Work/DePay/react-token-image/src/index.js";function LJ(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],o=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...e)=>n.call(t,...e))),t=void 0)}return n}const SJ=[{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],jJ=[{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],DJ="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI4My41IDI4My41OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxjaXJjbGUgZmlsbD0iI0YwRUZFRiIgY3g9IjE0MS43IiBjeT0iMTQxLjciIHI9IjE0MS43Ii8+CjxnPgoJPHBhdGggZmlsbD0iI0FCQUJBQiIgZD0iTTEyNywxNzUuMXYtNC40YzAtOC40LDEuMS0xNS4zLDMuNC0yMC43YzIuMy01LjQsNS4xLTEwLDguNC0xMy44YzMuMy0zLjcsNi42LTcsMTAuMS05LjdzNi4zLTUuNiw4LjYtOC41CgkJYzIuMy0yLjksMy40LTYuNCwzLjQtMTAuNWMwLTUtMS4xLTguNy0zLjMtMTEuMWMtMi4yLTIuNC01LTQtOC40LTQuOGMtMy40LTAuOC02LjktMS4zLTEwLjUtMS4zYy01LjgsMC0xMS44LDEtMTcuOSwyLjkKCQljLTYuMSwxLjktMTEuNSw0LjctMTYsOC40Vjc0YzIuMy0xLjcsNS40LTMuMyw5LjQtNC45YzQtMS42LDguNC0yLjksMTMuNC00YzUtMS4xLDEwLjEtMS42LDE1LjUtMS42YzguMSwwLDE1LjEsMS4xLDIxLjEsMy40CgkJYzYsMi4zLDEwLjgsNS41LDE0LjcsOS41YzMuOCw0LDYuNyw4LjcsOC42LDE0LjFjMS45LDUuMywyLjksMTEuMSwyLjksMTcuMmMwLDYuNi0xLjEsMTItMy40LDE2LjNjLTIuMyw0LjMtNS4xLDgtOC41LDExLjIKCQljLTMuNCwzLjItNi44LDYuNC0xMC4yLDkuNWMtMy40LDMuMS02LjMsNi44LTguNiwxMWMtMi4zLDQuMi0zLjQsOS41LTMuNCwxNS45djMuNEgxMjd6IE0xMjUuMiwyMTguMnYtMjcuN2gzM3YyNy43SDEyNS4yeiIvPgo8L2c+Cjwvc3ZnPgo=";let CJ=function(e){const[t,n]=dS.useState(),[r,i]=dS.useState(),o=e.blockchain.toLowerCase(),a=e.address,s=e.id,u=(e,t)=>["react-token-image","v5.0.2",e,t].join("-"),c=(e,t)=>{n(e),i(t),"unknown"!=t&&localStorage.setItem(u(o,a),JSON.stringify({src:e,expiresAt:Date.now()+864e5}))};dS.useEffect((()=>{let e=localStorage.getItem(u(o,a));if(e&&e.length)try{e=JSON.parse(e)}catch(e){}if(e&&e.src&&e.expiresAt>Date.now()&&e.src!=DJ)return c(e.src,"stored");const t=Vf[o].tokens.find((e=>e.address.toLowerCase()===LJ([a,"optionalAccess",e=>e.toLowerCase,"call",e=>e()])));t?c(t.logo,"web3-blockchains"):xJ.evm.includes(o)?c(h({blockchain:o,address:a}),"repository"):"solana"===o&&l({blockchain:o,address:a}).then((e=>{c(e,"metaplex")})).catch((e=>{c(h({blockchain:o,address:a}),"repository")}))}),[o,a]);const l=({blockchain:e,address:t})=>new Promise((async(n,r)=>{try{let i=new qs(t),o=new qs(RS.solana.METADATA_ACCOUNT),a=[$d.from("metadata"),o.toBuffer(),i.toBuffer()],s=(await qs.findProgramAddress(a,o))[0],u=await _I({blockchain:e,address:s.toString(),api:RS.solana.METADATA_LAYOUT,cache:864e5});if(LJ([u,"optionalAccess",e=>e.data,"optionalAccess",e=>e.uri])){const e=u.data.uri.replace(new RegExp("\0","g"),"");e&&e.length?await fetch(e).then((e=>e.json())).then((e=>{e&&e.image?n(e.image):r("image not found on metaplex")})).catch((()=>r("image not found on metaplex"))):r("image not found on metaplex")}else r("image not found on metaplex")}catch(e){r("image not found on metaplex")}})),h=({blockchain:e,address:t})=>`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/${d(e)}/assets/${t}/logo.png`,d=e=>{switch(e){case"ethereum":return"ethereum";case"bsc":return"smartchain";case"polygon":return"polygon";case"solana":return"solana";case"fantom":return"fantom";case"arbitrum":return"arbitrum";case"avalanche":return"avalanchec";case"gnosis":return"xdai";case"optimism":return"optimism";case"base":return"base";case"worldchain":return"optimism";default:throw"DePayReactTokenImage: Unknown blockchain"}},f=()=>{c(DJ,"unknown")},p=e=>{e.match(/^ipfs/)&&(e=`https://ipfs.io/ipfs/${e.split("://")[1]}`),fetch(e).then((e=>{if(e.ok)return e.json();f()})).then((e=>{if(e){let t=e.image;t?(t.match(/^ipfs/)&&(t=`https://ipfs.io/ipfs/${t.split("://")[1]}`),c(t,"meta")):f()}})).catch(f)};return null==t?dS.createElement("div",{className:e.className,__self:this,__source:{fileName:kJ,lineNumber:209}}):dS.createElement("img",{className:e.className,src:t,onError:e=>{delete localStorage[u(o,a)],"metaplex"==r||"web3-blockchains"==r?c(h({blockchain:o,address:a}),"repository"):"repository"==r?c(`https://integrate.depay.com/tokens/${o}/${a}/image`,"depay"):"depay"==r&&xJ.evm.includes(o)?s?_I({blockchain:o,address:a,api:jJ,method:"uri",params:[s]}).then((e=>{e=e.match("0x{id}")?e.replace("0x{id}",s):e,p(e)})).catch(f):_I({blockchain:o,address:a,api:SJ,method:"tokenURI",params:[1]}).then(p).catch(f):f()},__self:this,__source:{fileName:kJ,lineNumber:214}})};var OJ=function(e){var t=dS.useContext(TJ).paymentValue;return dS.createElement(TG,{stacked:!0,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},dS.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Payment options"),null!=t&&dS.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},dS.createElement("strong",null,t.toString()))),body:dS.createElement("div",{className:"MaxHeight PaddingTopXS"},dS.createElement("div",{className:"PaddingLeftM PaddingRightM"},dS.createElement("div",{className:"Card Skeleton"},dS.createElement("div",{className:"SkeletonBackground"})),dS.createElement("div",{className:"Card Skeleton"},dS.createElement("div",{className:"SkeletonBackground"})),dS.createElement("div",{className:"Card Skeleton"},dS.createElement("div",{className:"SkeletonBackground"})))),footer:dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("div",{className:"TextCenter Opacity05 PaddingTopS PaddingBottomS"},dS.createElement("strong",null,"Loading all payment options...")))})},zJ=function(e){var t=dS.useContext(rZ).setError,n=dS.useContext(sJ),r=n.allRoutes,i=n.allRoutesLoaded,o=n.setSelectedRoute,a=dS.useContext(TJ).displayedPaymentValue,s=dS.useContext(MG).navigate,u=DL(dS.useState(),2),c=u[0],l=u[1],h=DL(dS.useState(),2),d=h[0],f=h[1],p=DL(dS.useState(),2),y=p[0],m=p[1],g=DL(dS.useState(),2),v=g[0],w=g[1],b=DL(dS.useState(),2),M=b[0],A=b[1],I=DL(dS.useState(),2),N=I[0],T=I[1],E=DL(dS.useState(),2),x=E[0],k=E[1],L=DL(dS.useState(!1),2),S=L[0],j=L[1],D=DL(dS.useState(""),2),C=D[0],O=D[1],z=DL(dS.useState(),2),P=z[0],_=z[1],B=dS.useCallback(kG.debounce((function(e,t){var n=t.search(e);T(n.map((function(e){return e.item}))),R.current.scrollTop=0}),300),[]),R=dS.useRef();dS.useEffect((function(){null!=r&&!0===i&&Promise.all(r.map((function(e){return e.exchangeRoutes[0],e.fromToken,Promise.all([e.fromToken.name(),e.fromToken.symbol(),e.fromToken.decimals(),e.fromToken.readable(e.fromAmount)])}))).then((function(e){var t=r.map((function(t,n){return{name:e[n][0],symbol:e[n][1].toUpperCase(),decimals:e[n][2],amount:e[n][3],blockchainName:t.blockchain,route:t}}));_(new Lq(t,{keys:["name","symbol","blockchainName"],threshold:.3,ignoreFieldNorm:!0}));var n=t.filter((function(e){return e.route.fromToken.address.toLowerCase()===e.route.toToken.address.toLowerCase()}));l(n);var i=t.filter((function(e){return Vf[e.route.blockchain].tokens.find((function(t){return t.address.toLowerCase()===e.route.fromToken.address.toLowerCase()}))}));f(i),m(t.filter((function(e){return Vf[e.route.blockchain].currency.address.toLowerCase()===e.route.fromToken.address.toLowerCase()}))),w(t.filter((function(e){return Vf[e.route.blockchain].stables.usd.find((function(t){return t.toLowerCase()===e.route.fromToken.address.toLowerCase()}))}))),A(t),void 0===N&&(n.length?(k("best"),T(n)):(k("major"),T(i)))})).catch(t)}),[r,i]);var U=null==N?void 0:N.map((function(e,t){var n=Vf.findByName(e.route.blockchain);return dS.createElement("button",{type:"button",key:t,className:"Card",title:"Select ".concat(e.symbol," as payment"),onClick:function(){o(e.route),s("back")}},dS.createElement("div",{className:"CardImage"},dS.createElement(CJ,{blockchain:e.route.blockchain,address:e.route.fromToken.address}),dS.createElement("img",{className:"BlockchainLogo small bottomRight "+n.name,style:{backgroundColor:n.logoBackgroundColor},src:n.logo,alt:n.label,title:n.label})),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("h2",{className:"CardText"},dS.createElement("div",{className:"TokenAmountRow"},dS.createElement("span",{className:"TokenSymbolCell"},e.symbol),dS.createElement("span",null," "),dS.createElement("span",{className:"TokenAmountCell"},ZZ(e.amount)))),dS.createElement("h3",{className:"CardText small"},dS.createElement("small",null,ZZ(qZ(parseFloat(e.route.fromBalance.toString())/Math.pow(10,e.decimals),"down")))))))}));return i&&void 0!==U?dS.createElement(TG,{stacked:!0,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS"},dS.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Payment options"),null!=a&&dS.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},dS.createElement("strong",null,a.toString())),dS.createElement("div",{className:"PaddingTopS"},dS.createElement("div",{className:"TextLeft",style:{height:"32px"}},!S&&dS.createElement("div",null,c.length>0&&dS.createElement("button",{type:"button",className:"Tab ".concat("best"===x?"active":""),title:"Payment options not requiring conversion",onClick:function(){k("best"),T(c),R.current.scrollTop=0}},"Best"),dS.createElement("button",{type:"button",className:"Tab ".concat("major"===x?"active":""),title:"Major tokens available to use",onClick:function(){k("major"),T(d),R.current.scrollTop=0}},"Major"),y.length>0&&dS.createElement("button",{type:"button",className:"Tab ".concat("native"===x?"active":""),title:"Native blockchain currencies available to use",onClick:function(){k("native"),T(y),R.current.scrollTop=0}},"Native"),v.length>0&&dS.createElement("button",{type:"button",className:"Tab ".concat("stable"===x?"active":""),title:"Stablecoins available to use",onClick:function(){k("stable"),T(v),R.current.scrollTop=0}},"Stable"),dS.createElement("button",{type:"button",className:"Tab ".concat("all"===x?"active":""),title:"All available payment options",onClick:function(){k("all"),T(M),R.current.scrollTop=0}},"All"),dS.createElement("button",{type:"button",className:"Tab",title:"Search for a payment option",style:{fontSize:"12px",position:"relative",top:"-2px"},onClick:function(){k("all"),T(M),j(!0),R.current.scrollTop=0}},"🔍")),S&&dS.createElement("div",{style:{display:"flex"}},dS.createElement("button",{type:"button",className:"Tab",title:"Go back to all payment options",onClick:function(){k("all"),T(M),j(!1),O(""),R.current.scrollTop=0}},dS.createElement(gP,{className:"small"})),dS.createElement("input",{type:"text",className:"Search small",placeholder:"Search by name, symbol or blockchain",autoFocus:!0,value:C,onChange:function(e){return function(e,t,n){O(e.target.value),B(e.target.value,t,n)}(e,P,M)}}))))),bodyRef:R,body:dS.createElement("div",{className:"ScrollHeight PaddingTopXS PaddingBottomS"},dS.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomM"},U,0===U.length&&dS.createElement("div",{className:"TextCenter Opacity05 PaddingTopS PaddingBottomS"},dS.createElement("strong",null,"Nothing found for the given search term."),dS.createElement("br",null),dS.createElement("strong",null,"Please search for something else.")))),footer:!1}):dS.createElement(OJ,null)},PJ=function(){var e=dS.useContext(fS).close,t=dS.useContext(MJ).transaction,n=dS.useContext(PG).wallet;return dS.createElement(TG,{stacked:!1,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:iZ})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Payment Failed"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("strong",{className:"FontSizeM"},"Unfortunately executing your payment failed, but you can try again."),t&&dS.createElement("div",{className:"PaddingTopS"},dS.createElement("a",{className:"Link",title:"Check your transaction on a block explorer",href:zG({url:null==t?void 0:t.url,target:"_blank",wallet:n}),target:"_blank",rel:"noopener noreferrer"},"View details")))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){return e()}},"Try again"))})},_J=function(){return dS.createElement("svg",{className:"ChevronRight Icon",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16"},dS.createElement("path",{strokeWidth:"1",fillRule:"evenodd",d:"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"}))},BJ=function(e){return dS.createElement("svg",{className:"Checkmark Icon "+e.className,version:"1.1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 24 24"},dS.createElement("path",{d:"M20,4.9L9.2,16l-5.4-3.9c-0.7-0.5-1.6-0.3-2.1,0.3c-0.5,0.7-0.3,1.6,0.3,2.1l6.4,4.7c0.3,0.2,0.6,0.3,0.9,0.3 c0.4,0,0.8-0.2,1.1-0.5l11.7-12c0.6-0.6,0.6-1.6,0-2.2C21.6,4.3,20.6,4.3,20,4.9z"}))},RJ=function(e){return dS.createElement("svg",{className:"DigitalWalletIcon Icon "+e.className,version:"1.1",xmlns:"http://www.w3.org/2000/svg",height:"24",width:"24",viewBox:"0 0 24 24"},dS.createElement("path",{d:"M8.51,4.84l-.39-.53,4-2.89a2.2,2.2,0,0,1,3.06.48l.4.56-.53.39-.4-.56A1.54,1.54,0,0,0,12.5,2Z",transform:"translate(-0.81 -1)"}),dS.createElement("path",{d:"M9.77,4.89l-.21-.62,6.31-2.13h0a2.18,2.18,0,0,1,.67-.1h0a2.21,2.21,0,0,1,2.08,1.49l.32.95-.63.21L18,3.73a1.53,1.53,0,0,0-1.45-1h0a1.61,1.61,0,0,0-.48.08h0Z",transform:"translate(-0.81 -1)"}),dS.createElement("path",{d:"M19.72,16.2H18.27a3.28,3.28,0,1,1,0-6.56h1.45a3.21,3.21,0,0,1,1.33.28h0a3.28,3.28,0,0,1,0,6A3.21,3.21,0,0,1,19.72,16.2Zm-1.45-5.9a2.63,2.63,0,0,0,0,5.25h1.45a2.56,2.56,0,0,0,1.06-.23,2.62,2.62,0,0,0,0-4.8,2.55,2.55,0,0,0-1.06-.22ZM19,14.53a1.61,1.61,0,1,1,1.61-1.61A1.62,1.62,0,0,1,19,14.53ZM19,12a1,1,0,1,0,.95.95A1,1,0,0,0,19,12Z",transform:"translate(-0.81 -1)"}),dS.createElement("path",{d:"M10.49,19.69a1.58,1.58,0,1,1,1.58-1.57A1.57,1.57,0,0,1,10.49,19.69Zm0-2.49a.92.92,0,1,0,.92.92A.92.92,0,0,0,10.49,17.2Z",transform:"translate(-0.81 -1)"}),dS.createElement("path",{d:"M19.09,22.14H2.79a2,2,0,0,1-2-2V6.25a2.1,2.1,0,0,1,0-.43,2,2,0,0,1,.48-.92,2,2,0,0,1,1.48-.65H19.09a2,2,0,0,1,.64.1,2,2,0,0,1,1.36,1.79v0a.28.28,0,0,1,0,.09v3.91h-.66v-4a1.49,1.49,0,0,0-.23-.69A1.35,1.35,0,0,0,19.52,5a1.26,1.26,0,0,0-.43-.08H2.82a1.34,1.34,0,0,0-1,.44A1.49,1.49,0,0,0,1.5,6a1.5,1.5,0,0,0,0,.29V20.13a1.36,1.36,0,0,0,1.34,1.35H19.09a1.35,1.35,0,0,0,1.35-1.35V15.68h.66v4.45A2,2,0,0,1,19.09,22.14Z",transform:"translate(-0.81 -1)"}),dS.createElement("path",{d:"M9.27,9.31a1.58,1.58,0,1,1,0-3.15,1.58,1.58,0,0,1,0,3.15Zm0-2.5a.92.92,0,1,0,.92.92A.92.92,0,0,0,9.27,6.81Z",transform:"translate(-0.81 -1)"}),dS.createElement("path",{d:"M7.11,14.67A1.58,1.58,0,1,1,8.69,13.1,1.57,1.57,0,0,1,7.11,14.67Zm0-2.49A.92.92,0,1,0,8,13.1.92.92,0,0,0,7.11,12.18Z",transform:"translate(-0.81 -1)"}),dS.createElement("rect",{x:"0.33",y:"11.77",width:"4.72",height:"0.66"}),dS.createElement("polygon",{points:"2.08 9.53 0.33 9.53 0.33 8.87 1.8 8.87 4.28 6.39 7.21 6.39 7.21 7.05 4.55 7.05 2.08 9.53"}),dS.createElement("polygon",{points:"8.43 17.45 4.53 17.45 2.63 15.55 0.33 15.55 0.33 14.89 2.9 14.89 4.8 16.79 8.43 16.79 8.43 17.45"}))},UJ={ethereum:12,bsc:3,polygon:2,solana:.2,optimism:.5,base:.5,arbitrum:.28,fantom:2.5,avalanche:2,gnosis:5},QJ=function(e){return dS.createElement("div",{className:"LoadingText"},e.children,dS.createElement("span",{className:"dot"},"."),dS.createElement("span",{className:"dot"},"."),dS.createElement("span",{className:"dot"},"."))},WJ={ethereum:["0xdAC17F958D2ee523a2206206994597C13D831ec7"]},YJ=function(){var e=dS.useContext(eJ);e.amount,e.amountsMissing;var t=dS.useContext(AJ),n=t.synchronousTracking,r=t.asynchronousTracking,i=t.trackingInitialized,o=t.release,a=t.forwardTo,s=t.confirmationsRequired,u=t.confirmationsPassed,c=dS.useContext(MJ),l=c.payment,h=c.paymentState,d=c.pay,f=c.transaction,p=c.approve,y=c.approvalTransaction,m=c.resetApproval,g=c.resetApprovalTransaction,v=dS.useContext(TJ).paymentValueLoss,w=dS.useContext(sJ),b=w.updatedRouteWithNewPrice,M=w.updateRouteWithNewPrice;dS.useContext(MG).navigate;var A=dS.useContext(fS).close,I=dS.useContext(PG).wallet,N=DL(dS.useState(),2),T=N[0],E=N[1],x=DL(dS.useState(0),2),k=x[0],L=x[1],S=DL(dS.useState(!1),2),j=S[0],D=S[1],C=kG.throttle(M,2e3),O=kG.throttle(d,2e3),z=kG.throttle(p,2e3),P=kG.throttle(m,2e3);dS.useEffect((function(){if(s){var e=setInterval((function(){L(k+1)}),1e3);return function(){clearInterval(e)}}}),[s,k]),dS.useEffect((function(){u&&E(function(e,t,n){return(t-n)*UJ[e]}(l.blockchain,s,u)-k)}),[u,k]),dS.useEffect((function(){u&&L(0)}),[u]),dS.useEffect((function(){var e,t,n,r;null!=l&&null!==(e=l.route)&&void 0!==e&&e.approvalRequired&&WJ[l.blockchain]&&WJ[l.blockchain].includes(l.token)&&null!=l&&null!==(t=l.route)&&void 0!==t&&t.currentAllowance&&"0"!=(null==l||null===(n=l.route)||void 0===n?void 0:n.currentAllowance.toString())&&null!=l&&null!==(r=l.route)&&void 0!==r&&r.currentAllowance.lt(Yp.from(l.route.fromAmount))?D(!0):D(!1)}),[l]);return dS.createElement("div",null,v&&dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("div",{className:"Alert"},dS.createElement("strong",null,"Payment would lose ",v,"% of its value!"))),!j||null==l.route||!l.route.approvalRequired||l.route.directTransfer||b?null:v?dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("button",{type:"button",className:"ButtonPrimary disabled",onClick:function(){},title:"Reset approval for ".concat(l.symbol)},"Reset ",l.symbol," approval")):"initialized"==h?dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("button",{type:"button",className:"ButtonPrimary",onClick:P,title:"Reset approval for ".concat(l.symbol)},"Reset ",l.symbol," approval")):"resetting"==h?dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("a",{className:"ButtonPrimary",title:"Resetting current approval - please wait",href:zG({url:null==g?void 0:g.url,target:"_blank",wallet:I}),target:"_blank",rel:"noopener noreferrer"},dS.createElement(QJ,null,"Resetting"))):void 0,null==l.route||!l.route.approvalRequired||l.route.directTransfer||b||"World App"===(null==I?void 0:I.name)?null:v||j?dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("button",{type:"button",className:"ButtonPrimary disabled",onClick:function(){},title:"Allow ".concat(l.symbol," to be used as payment")},"Approve use of ",l.symbol)):"initialized"==h?dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("button",{type:"button",className:"ButtonPrimary",onClick:z,title:"Allow ".concat(l.symbol," to be used as payment")},"Approve use of ",l.symbol)):"approving"==h?dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("a",{className:"ButtonPrimary",title:"Approving payment token - please wait",href:zG({url:null==y?void 0:y.url,target:"_blank",wallet:I}),target:"_blank",rel:"noopener noreferrer"},dS.createElement(QJ,null,"Approving"))):void 0,"paying"==h&&null==f?dS.createElement("div",{className:"PaddingBottomS"},dS.createElement("div",{className:"Card transparent disabled small"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter Opacity05"},dS.createElement(RJ,{className:"small"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Confirm in your wallet (",dS.createElement("a",{href:zG({url:"https://depay.com/docs/payments/verify",target:"_blank",wallet:I}),target:"_blank",rel:"noopener noreferrer",style:{textDecoration:"none"}},"verify"),")"))))):"success"==h?dS.createElement("div",{className:"PaddingBottomS"},dS.createElement("div",null,dS.createElement("a",{className:"Card transparent small",title:"Transaction has been confirmed by the network",href:zG({url:null==f?void 0:f.url,target:"_blank",wallet:I}),target:"_blank",rel:"noopener noreferrer"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter Opacity05"},dS.createElement(BJ,{className:"small"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Transaction confirmed"))))),function(e){return e?0==n&&0==r||r&&i?null:r&&0==i?dS.createElement("div",null,dS.createElement("div",{className:"Card transparent small disabled"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"Loading Icon"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Initializing tracking"))))):o?dS.createElement("div",null,dS.createElement("a",{className:"Card transparent small",title:"DePay has validated the payment",href:zG({url:"https://status.depay.com/tx/".concat(e.blockchain,"/").concat(e.id),target:"_blank",wallet:I}),target:"_blank",rel:"noopener noreferrer"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter Opacity05"},dS.createElement(BJ,{className:"small"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Payment validated"))))):dS.createElement("div",null,dS.createElement("a",{className:"Card transparent small",title:"DePay is validating the payment",href:zG({url:"https://status.depay.com/tx/".concat(e.blockchain,"/").concat(e.id),target:"_blank",wallet:I}),target:"_blank",rel:"noopener noreferrer"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"Loading Icon"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Validating payment",s&&T>0&&dS.createElement("span",{title:"".concat(u,"/").concat(s," required confirmations")}," ",T,"s")))))):null}(f)):void 0,function(){if(b)return dS.createElement("div",null,dS.createElement("div",{className:"PaddingBottomXS"},dS.createElement("div",{className:"Alert"},dS.createElement("strong",null,"Price updated!"))),dS.createElement("button",{type:"button",className:"ButtonPrimary",onClick:function(){C()}},"Reload"));if(v)return dS.createElement("div",null,dS.createElement("button",{type:"button",className:"ButtonPrimary disabled",onClick:function(){}},"Pay"));if(("initialized"==h||"approving"==h||"resetting"==h)&&l.route){var e=l.route.approvalRequired&&!l.route.directTransfer&&"World App"!=(null==I?void 0:I.name);return dS.createElement("button",{tabIndex:1,type:"button",className:["ButtonPrimary",e?"disabled":""].join(" "),onClick:function(){e||O()}},"Pay")}return"paying"==h?dS.createElement("a",{className:"ButtonPrimary",title:"Performing the payment - please wait",href:zG({url:null==f?void 0:f.url,target:"_blank",wallet:I}),target:"_blank",rel:"noopener noreferrer"},dS.createElement(QJ,null,"Paying")):"success"==h?1==n?o?a?dS.createElement("a",{className:"ButtonPrimary",href:a,rel:"noopener noreferrer"},"Continue"):dS.createElement("button",{className:"ButtonPrimary",onClick:A},"Continue"):dS.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Continue"):1==r&&0==i?dS.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Close"):dS.createElement("button",{className:"ButtonPrimary",onClick:A},"Close"):void 0}())},FJ=function(e){var t=dS.useContext(eJ),n=t.amountsMissing,r=t.fixedAmount,i=dS.useContext(sJ),o=i.slowRouting,a=i.selectedRoute,s=dS.useContext(mP).title;return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},s||"Payment")),alternativeHeaderAction:e.alternativeHeaderAction,body:dS.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},n&&!r&&dS.createElement("div",{className:"Card Skeleton"},dS.createElement("div",{className:"SkeletonBackground"})),dS.createElement("div",{className:"Card Skeleton"},dS.createElement("div",{className:"SkeletonBackground"}))),footer:dS.createElement("div",{className:["PaddingTopXS PaddingRightM PaddingLeftM",null==a&&o?"PaddingBottomS":"PaddingBottomM"].join(" ")},dS.createElement("div",{className:"SkeletonWrapper"},dS.createElement("div",{className:"ButtonPrimary Skeleton"},dS.createElement("div",{className:"SkeletonBackground"}))),null==a&&o&&dS.createElement("div",{className:"TextCenter Opacity05 PaddingTopS"},dS.createElement("strong",null,"Loading payment options...")))})},VJ=function(e){var t=dS.useContext(mP),n=t.currencyCode,r=t.recover,i=t.amount,o=t.currency,a=t.title,s=dS.useContext(MJ),u=s.payment,c=s.paymentState,l=dS.useContext(eJ),h=l.amount,d=l.amountsMissing,f=l.fixedAmount,p=l.fixedCurrency,y=dS.useContext(PG).disconnect,m=dS.useContext(TJ),g=m.paymentValue,v=m.displayedPaymentValue,w=dS.useContext(MG).navigate,b=DL(dS.useState(!1),2),M=b[0],A=b[1],I=null!=i&&i.token?null:n,N=dS.createElement("span",{className:"DropDownWrapper"},dS.createElement("button",{type:"button",onClick:function(){return A(!M)},className:"ButtonCircular",title:"Disconnect connected wallet"},dS.createElement(QG,null)),M&&dS.createElement(UG,{hide:function(){return A(!1)},items:[{label:"Disconnect wallet",action:y}]}));if(null==u||null==r&&null==g)return dS.createElement(FJ,{alternativeHeaderAction:N});var T=Vf.findByName(u.blockchain);return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},a||"Payment")),alternativeHeaderAction:N,body:dS.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},d&&!f&&dS.createElement("button",{type:"button",className:["Card","initialized"==c?"":"disabled"].join(" "),title:"initialized"==c?"Change amount":void 0,onClick:function(){"initialized"==c&&w("ChangeAmount")}},dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("h4",{className:"CardTitle"},"Amount"),dS.createElement("h2",{className:"CardText"},I&&dS.createElement("div",{className:"TokenAmountRow"},new PZ({amount:h.toFixed(2),code:n}).toString()),!I&&dS.createElement("div",{className:"TokenAmountRow"},h)))),dS.createElement("div",{className:"CardAction"},dS.createElement(_J,null))),dS.createElement("button",{type:"button",className:["Card","initialized"==c?"":"disabled"].join(" "),title:"initialized"==c?"Change payment":void 0,onClick:function(){"initialized"==c&&w("ChangePayment")}},dS.createElement("div",{className:"CardImage",title:u.name},dS.createElement(CJ,{blockchain:u.blockchain,address:u.token}),dS.createElement("img",{className:"BlockchainLogo small bottomRight "+T.name,style:{backgroundColor:T.logoBackgroundColor},src:T.logo,alt:T.label,title:T.label})),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},d&&!p&&dS.createElement("h4",{className:"CardTitle"},"Payment"),dS.createElement("h2",{className:"CardText"},dS.createElement("div",{className:"TokenAmountRow"},dS.createElement("span",{className:"TokenSymbolCell"},u.symbol),dS.createElement("span",null," "),dS.createElement("span",{className:"TokenAmountCell"},ZZ(u.amount))),v!="".concat(u.symbol," ").concat(ZZ(u.amount))&&!(d&&!p)&&!1!==o&&dS.createElement("div",{className:"TokenAmountRow small grey"},dS.createElement("span",{className:"TokenAmountCell"},v))))),dS.createElement("div",{className:"CardAction"},dS.createElement(_J,null)))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement(YJ,null))})},HJ=function(e){var t=dS.useContext(MG).navigate;return dS.createElement(TG,{stacked:!1,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:iZ})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),dS.createElement("div",{className:"PaddingTopS"},dS.createElement("span",null,"If this keeps happening, please report it.")))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){e.tryAgain&&e.tryAgain(),t("back")}},"Try again"))})},GJ=function(){var e=dS.useContext(AJ).continueTryTracking,t=dS.useContext(MG).navigate;return dS.createElement(TG,{stacked:!1,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:iZ})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),dS.createElement("div",{className:"PaddingTopS"},dS.createElement("span",null,"If this keeps happening, please report it.")))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){e(),t("back")}},"Try again"))})},qJ=function(e){var t=dS.useContext(MJ).payment,n=dS.useContext(PG).wallet,r=dS.useContext(MG).navigate,i=DL(dS.useState(!1),2);i[0],i[1];var o=Vf.findByName(t.route.blockchain);return dS.createElement(TG,{stacked:!0,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Wrong Network")),body:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:o.logoWhiteBackground})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Connect to ",o.label),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("strong",{className:"FontSizeM"},"Please make sure you connect your wallet to the correct network before you try again!"))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{type:"button",className:"ButtonPrimary",onClick:function(){n.switchTo(t.blockchain),r("back")}},"Switch Network"))})},ZJ=function(e){var t=dS.useContext(fS),n=t.open,r=t.close,i=dS.useContext(jZ).setNavigator,o=dS.useContext(PG).account,a=DL(dS.useState(),2),s=a[0],u=a[1];return dS.useEffect((function(){s&&s.set(["PaymentOverview"])}),[o]),dS.createElement(NG,{setNavigator:function(e){u(e),i(e)},open:n,close:r,start:"PaymentOverview",container:e.container,document:e.document,stacked:!0,dialogs:{PaymentOverview:dS.createElement(VJ,null),ChangeAmount:dS.createElement(EJ,null),ChangePayment:dS.createElement(zJ,null),PaymentFailed:dS.createElement(PJ,null),WrongNetwork:dS.createElement(qJ,null),TrackingFailed:dS.createElement(GJ,null),TracingFailed:dS.createElement(HJ,null)}})},JJ=function(){var e=xL(jL.mark((function e(t){var n,r,i,o,a;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.account,r=[$d.from("payments"),new qs(n).toBuffer()],e.next=4,qs.findProgramAddress(r,new qs("DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7"));case 4:return i=e.sent,o=DL(i,1),a=o[0],e.abrupt("return",a);case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),XJ=function(){var e=xL(jL.mark((function e(t){var n,r;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.account,e.next=3,JJ({account:n});case 3:return r=e.sent.toString(),e.next=6,_I({blockchain:"solana",address:r,api:hf([yf("anchorDiscriminator"),yf("nonce")])});case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),KJ=function(){var e=xL(jL.mark((function e(t){var n,r,i,o,a,s,u;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.blockchain,r=t.transaction,i=t.account,o=t.wallet,n||(n=r.blockchain),!NL.evm.includes(n)){e.next=13;break}if(!r||null==r||!r.nonce){e.next=7;break}return e.abrupt("return",null==r||null===(a=r.nonce)||void 0===a?void 0:a.toString());case 7:if(!n){e.next=11;break}return e.next=10,o.transactionCount({blockchain:n,address:i});case 10:return e.abrupt("return",e.sent.toString());case 11:e.next=24;break;case 13:if(!NL.solana.includes(n)){e.next=24;break}if(!r||null==r||!r.nonce){e.next=16;break}return e.abrupt("return",null==r||null===(s=r.nonce)||void 0===s?void 0:s.toString());case 16:return e.next=18,XJ({account:i});case 18:if(!(u=e.sent)){e.next=23;break}return e.abrupt("return",u.nonce.toString());case 23:return e.abrupt("return","0");case 24:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),$J=function(e){dS.useContext(rZ).errorCallback;var t=dS.useContext(mP),n=t.id,r=t.track,i=t.validated;t.failed;var o=t.integration,a=t.link,s=t.type,u=dS.useContext(PG),c=u.account,l=u.wallet,h=DL(dS.useState(),2),d=h[0],f=h[1],p=DL(dS.useState(),2),y=p[0],m=p[1],g=DL(dS.useState(),2),v=g[0],w=g[1],b=DL(dS.useState(),2),M=b[0],A=b[1],I=DL(dS.useState(),2),N=I[0],T=I[1],E=DL(dS.useState(),2);E[0],E[1];var x=DL(dS.useState(),2),k=x[0],L=x[1],S=DL(dS.useState(),2),j=S[0],D=S[1],C=DL(dS.useState(),2),O=C[0],z=C[1],P=dS.useRef(O);P.current=O;var _=DL(dS.useState(!1),2),B=_[0],R=_[1],U=DL(dS.useState(!!n||!(!r||!r.endpoint&&"function"!=typeof r.method||1==r.async)),1)[0],Q=DL(dS.useState(!n&&!(!r||1!=r.async)),1)[0],W=DL(dS.useState(!!n||!(!r||!r.poll||!r.poll.endpoint&&"function"!=typeof r.poll.method||1==r.async)),1)[0],Y=DL(dS.useState(!1),2),F=Y[0],V=Y[1],H=DL(dS.useState(),2),G=H[0],q=H[1],Z=dS.useContext(fS).setClosable,J=dS.useContext(jZ),X=J.navigate,K=J.set,$=function e(t){var n=new WebSocket("wss://integrate.depay.com/cable");n.onopen=function(){var e=xL(jL.mark((function e(r){var i;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=JSON,e.t1=t.blockchain,e.t2=t.from||c,e.next=5,KJ({transaction:t,account:c,wallet:l});case 5:e.t3=e.sent,e.t4={blockchain:e.t1,sender:e.t2,nonce:e.t3,channel:"PaymentChannel"},e.t5=e.t0.stringify.call(e.t0,e.t4),i={command:"subscribe",identifier:e.t5},n.send(JSON.stringify(i));case 10:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),n.onclose=function(n){n&&1e3==n.code||setTimeout((function(){return e(t)}),1e3)},n.onmessage=function(e){var r=JSON.parse(e.data);if("ping"!==r.type&&r.message){var o="success"==r.message.status;i&&setTimeout((function(){return i(o,t,k)}),200),r.message.release?(n.close(),o?(V(!0),Z(!0),q(r.message.forward_to)):0==o&&(Z(!0),K(["PaymentFailed"]))):r.message.confirmations&&(w(r.message.confirmations.required),A(r.message.confirmations.passed))}},n.onerror=function(e){console.log("WebSocket Error: ",e)}},ee=function(e,t,n,i,o){(o=parseInt(o||1,10))<((null==r?void 0:r.attempts)||40)?setTimeout((function(){ne(e,t,n,i,o+1)}),3e3):X("TrackingFailed")},te=function(e){if(n)return fetch("https://public.depay.com/configurations/".concat(n,"/attempts"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then((function(e){return 200==e.status||201==e.status?(e.json().then((function(e){return z(e.id)})),e):reject("TRACKING REQUEST FAILED")}));if(r.endpoint)return fetch(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then((function(e){if(200==e.status||201==e.status)return e;throw e}));if(r.method)return r.method(e);throw"No tracking defined!"},ne=function(){var e=xL(jL.mark((function e(t,n,r,i,o){var a;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=te,e.t1=t.blockchain,e.t2=t.id,e.t3=t.from,e.next=6,KJ({transaction:t,account:c,wallet:l});case 6:e.t4=e.sent,e.t5=n.toString(),e.t6=r.fromToken.address,e.t7=r.fromAmount.toString(),e.t8=r.fromDecimals,e.t9=r.toToken.address,e.t10=r.toAmount.toString(),e.t11=r.toDecimals,e.t12=null==r||null===(a=r.feeAmount)||void 0===a?void 0:a.toString(),e.t13=P.current,e.t14=i,e.t15=null==l?void 0:l.name,e.t16={blockchain:e.t1,transaction:e.t2,sender:e.t3,nonce:e.t4,after_block:e.t5,from_token:e.t6,from_amount:e.t7,from_decimals:e.t8,to_token:e.t9,to_amount:e.t10,to_decimals:e.t11,fee_amount:e.t12,trace_attempt_id:e.t13,deadline:e.t14,selected_wallet:e.t15},(0,e.t0)(e.t16).then((function(e){R(!0)})).catch((function(e){ee(t,n,r,i,o)}));case 20:case"end":return e.stop()}}),e)})));return function(t,n,r,i,o){return e.apply(this,arguments)}}(),re=function(){var e=xL(jL.mark((function e(t,o,a,s,u,h){var d,f;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&null!=o&&null!=a&&null!=s){e.next=2;break}return e.abrupt("return");case 2:return d=function(e){e&&(e&&e.forward_to?(Z(!0),q(e.forward_to)):Z(!0),clearInterval(u),i&&i(!e.status||"success"==e.status,o,k),V(!0))},e.t0=o.blockchain,e.t1=o.id,e.t2=o.from,e.next=8,KJ({transaction:o,account:c,wallet:l});case 8:e.t3=e.sent,e.t4=a.toString(),e.t5=s.toToken.address,f={blockchain:e.t0,transaction:e.t1,sender:e.t2,nonce:e.t3,after_block:e.t4,to_token:e.t5},n?h&&fetch("https://public.depay.com/attempts/".concat(h),{method:"GET",headers:{"Content-Type":"application/json"}}).then((function(e){return 200==e.status||201==e.status?e.json():void 0})).then(d):r.poll.endpoint?fetch(r.poll.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(f)}).then((function(e){return 200==e.status||201==e.status?e.json().catch((function(){Z(!0)})):void 0})).then(d):r.poll.method&&r.poll.method(f).then(d);case 13:case"end":return e.stop()}}),e)})));return function(t,n,r,i,o,a){return e.apply(this,arguments)}}();dS.useEffect((function(){G&&(e.document.location.href=G)}),[G]),dS.useEffect((function(){if(W&&U){var e=setInterval((function(){return re(W,y,N,j,e,O)}),5e3);return function(){clearInterval(e)}}}),[W,y,N,O,j]);var ie=function(){var e=xL(jL.mark((function e(t,n,r,i){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=fetch,e.t1={"Content-Type":"application/json"},e.t2=JSON,e.t3=t.blockchain,e.t4=t.id,e.t5=t.from,e.next=8,KJ({transaction:t,account:c,wallet:l});case 8:e.t6=e.sent,e.t7=r.toAddress,e.t8=r.toToken.address,e.t9=sI(r.toAmount,r.toDecimals),e.t10=n.toString(),e.t11=t.id,e.t12={sender_id:t.from,sender_token_id:r.fromToken.address,sender_amount:sI(r.fromAmount,r.fromDecimals),integration:o,link:a,type:s},e.t13=r.fee?sI(r.feeAmount,r.toDecimals):null,e.t14=r.fee?r.fee.receiver:null,e.t15=i,e.t16=null==l?void 0:l.name,e.t17={blockchain:e.t3,transaction:e.t4,sender:e.t5,nonce:e.t6,receiver:e.t7,token:e.t8,amount:e.t9,confirmations:1,after_block:e.t10,uuid:e.t11,payload:e.t12,fee_amount:e.t13,fee_receiver:e.t14,deadline:e.t15,selected_wallet:e.t16},e.t18=e.t2.stringify.call(e.t2,e.t17),e.t19={headers:e.t1,method:"POST",body:e.t18},(0,e.t0)("https://public.depay.com/payments",e.t19).then((function(e){200==e.status||201==e.status||setTimeout((function(){ie(t,n,r,i)}),3e3)})).catch((function(e){setTimeout((function(){ie(t,n,r,i)}),3e3)}));case 23:case"end":return e.stop()}}),e)})));return function(t,n,r,i){return e.apply(this,arguments)}}(),oe=function(){var e=xL(jL.mark((function e(t,n,i,o){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("solana"!==t.blockchain){e.next=4;break}return e.next=3,KJ({transaction:t,account:c,wallet:l});case 3:t.nonce=e.sent;case 4:if(ie(t,n,i,o),(U||r&&1==r.async)&&ne(t,n,i,o),0!=U){e.next=8;break}return e.abrupt("return");case 8:f(o),m(t),T(n),D(i),$(t);case 13:case"end":return e.stop()}}),e)})));return function(t,n,r,i){return e.apply(this,arguments)}}();return dS.createElement(AJ.Provider,{value:{synchronousTracking:U,asynchronousTracking:Q,initializeTracking:oe,trace:function(e,t,i,o){return z(),U||Q?(f(o),T(e),D(t),$(i),new Promise(function(){var a=xL(jL.mark((function a(s,u){var h,d;return jL.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.t0=t.blockchain,a.t1=c,a.next=4,KJ({blockchain:t.blockchain,transaction:i,account:c,wallet:l});case 4:if(a.t2=a.sent,a.t3=e.toString(),a.t4=t.fromToken.address,a.t5=t.fromAmount.toString(),a.t6=t.fromDecimals,a.t7=t.toToken.address,a.t8=t.toAmount.toString(),a.t9=t.toDecimals,a.t10=null==t||null===(h=t.feeAmount)||void 0===h?void 0:h.toString(),a.t11=o,a.t12=null==l?void 0:l.name,d={blockchain:a.t0,sender:a.t1,nonce:a.t2,after_block:a.t3,from_token:a.t4,from_amount:a.t5,from_decimals:a.t6,to_token:a.t7,to_amount:a.t8,to_decimals:a.t9,fee_amount:a.t10,deadline:a.t11,selected_wallet:a.t12},!n){a.next=20;break}return a.abrupt("return",fetch("https://public.depay.com/configurations/".concat(n,"/attempts"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}).then((function(e){return 200==e.status||201==e.status?(e.json().then((function(e){return z(e.id)})),s()):u("TRACING REQUEST FAILED")})));case 20:if(!r.endpoint){a.next=24;break}return a.abrupt("return",fetch(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}).then((function(e){return 200==e.status||201==e.status?s():u("TRACING REQUEST FAILED")})));case 24:r.method?r.method(d).then(s).catch(u):u("No tracking defined!");case 25:case"end":return a.stop()}}),a)})));return function(e,t){return a.apply(this,arguments)}}())):Promise.resolve()},trackingInitialized:B,continueTryTracking:function(){ee(y,N,j,d,1)},release:F,forwardTo:G,confirmationsRequired:v,confirmationsPassed:M,setPayment:L}},e.children)},eX=function(e){var t=dS.useContext(rZ).setError,n=dS.useContext(PG).account,r=dS.useContext(pS).updatable,i=dS.useContext(mP),o=i.amount,a=i.currencyCode,s=dS.useContext(eJ).amount,u=dS.useContext(MJ).payment,c=DL(dS.useState(),2),l=c[0],h=c[1],d=DL(dS.useState(),2),f=d[0],p=d[1],y=DL(dS.useState(),2),m=y[0],g=y[1],v=dS.useContext(mP).currency,w=DL(dS.useState(0),2),b=w[0],M=w[1],A=function(e){var r=e.updatable,i=e.payment;0!=r&&null!=(null==i?void 0:i.route)&&(h(null),g(null),Promise.all([Promise.all(Vf[i.route.blockchain].stables.usd.map((function(e){return QO.route({blockchain:i.route.blockchain,tokenIn:i.route.fromToken.address,tokenOut:e,amountIn:i.route.fromAmount,fromAddress:n,toAddress:n})}))),i.route.directTransfer?Promise.resolve([]):QO.route({blockchain:i.route.blockchain,tokenIn:i.route.toToken.address,tokenOut:i.route.fromToken.address,amountIn:i.route.feeAmount?Yp.from(i.route.toAmount).add(Yp.from(i.route.feeAmount)):i.route.toAmount,fromAddress:n,toAddress:n})]).then((function(e){var t,n=DL(e,2),r=n[0],o=n[1][0];if(o){var a=Yp.from(o.amountOut),s=Yp.from(i.route.fromAmount),u=100-a.mul(Yp.from("100")).div(s).abs().toString();g(u>=10?u:null)}if(Vf[i.route.blockchain].stables.usd.includes(i.route.fromToken.address)){var c=Vf[i.route.blockchain].tokens.find((function(e){return e.address===i.route.fromToken.address})).decimals;t=sI(i.route.fromAmount.toString(),c)}else{var l=r.map((function(e){return e?e[0]:void 0})).filter(Boolean);if(0==l.length)return void h("");var d=l.map((function(e){var t=Vf[i.route.blockchain].tokens.find((function(t){return t.address===e.tokenOut})).decimals;return parseFloat(sI(e.amountOut,t))})),f=d.reduce((function(e,t){return e+t}))/d.length,p=d.filter((function(e){return e<f+.1*f&&e>f-.1*f}));t=p.length?p.reduce((function(e,t){return e+t}))/p.length:d.reduce((function(e,t){return e+t}))/d.length}PZ.fromUSD({amount:t,code:v}).then(h)})).catch(t))};return dS.useEffect((function(){l&&s&&o&&o.currency&&o.fix?p(l.toString()):!s||null!=o&&1==(null==o?void 0:o.token)?l&&l.toString().length&&1!=(null==o?void 0:o.token)?p(l.toString()):u&&p("".concat(u.symbol," ").concat(u.amount)):p(new PZ({amount:s.toFixed(2),code:a}).toString())}),[l,u,s,o]),dS.useEffect((function(){n&&u&&A({updatable:r,payment:u})}),[u,n]),dS.useEffect((function(){var e=setTimeout((function(){M(b+1),A({updatable:r})}),15e3);return function(){return clearTimeout(e)}}),[b,r]),dS.createElement(TJ.Provider,{value:{paymentValue:l,paymentValueLoss:m,displayedPaymentValue:f}},e.children)};function tX(){for(var e,t=document.getElementsByTagName("link"),n=0;n<t.length;n++)"icon"!=t[n].getAttribute("rel")&&"shortcut icon"!=t[n].getAttribute("rel")||(e=t[n].getAttribute("href"));if(e)return e.match(":")?e:"".concat(window.location.origin,"/").concat(e.replace(/^\//,""))}var nX=function(e){var t,n,r,i;if(e&&null!=e&&null!==(t=e.meta)&&void 0!==t&&t.logMessages&&null!=e&&null!==(n=e.transaction)&&void 0!==n&&null!==(r=n.message)&&void 0!==r&&r.compiledInstructions&&e.meta.logMessages.some((function(e){return e.match("Program DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7 invoke")})))return e.transaction.message.compiledInstructions.forEach((function(e){Object.keys(Rz.solana.api).forEach((function(t){if(!i)try{if(t.match(/^route/)){var n=Rz.solana.api[t].layout.decode(e.data);n.anchorDiscriminator.toString()===Rz.solana.api[t].anchorDiscriminator.toString()&&(i=n)}}catch(e){}}))})),i},rX=function(){var e=(new Date).getTime(),t=performance&&performance.now&&1e3*performance.now()||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(n){var r=16*Math.random();return e>0?(r=(e+r)%16|0,e=Math.floor(e/16)):(r=(t+r)%16|0,t=Math.floor(t/16)),("x"===n?r:3&r|8).toString(16)}))};function iX(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function oX(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?iX(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):iX(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var aX="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCA4NiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTc3LjExMjggMjIuMDA2NUw3Mi4xNDc5IDExLjE1ODNINjguMDI3TDc1LjExOTcgMjUuNzk1Nkw3NC45OTIxIDI2LjIzNjRDNzQuODE0NCAyNi44MjIzIDc0LjQzOTUgMjcuMzI4MiA3My45MzExIDI3LjY2NzlDNzMuNDIyOCAyOC4wMDc2IDcyLjgxMjUgMjguMTU5OSA3Mi4yMDQ2IDI4LjA5ODlDNzEuNDkzIDI4LjA5MjMgNzAuNzk0OCAyNy45MDM5IDcwLjE3NjEgMjcuNTUxNUw2OS41MTY1IDMwLjY4NjVDNzAuNDY4NCAzMS4wNzk3IDcxLjQ4NzEgMzEuMjg0OSA3Mi41MTY3IDMxLjI5MDhDNzUuMzUzOCAzMS4yOTA4IDc3LjA3MDIgMzAuMjQ1OCA3OC40ODg4IDI3LjE2NzZMODYgMTEuMTU4M0g4Mi4wMjFMNzcuMTEyOCAyMi4wMDY1WiIgZmlsbD0iYmxhY2siLz4KPHBhdGggZD0iTTQyLjAyMzUgNS45OTAxMUgzMC4xMjE5VjI1LjkzMDZIMzQuMDIyOVYxOC42MDEzSDQyLjAyMzVDNDYuMzcxMyAxOC42MDEzIDQ5LjIyOTcgMTYuNDA0NyA0OS4yMjk3IDEyLjI5NTdDNDkuMjI5NyA4LjE4Njc3IDQ2LjM3MTMgNS45OTAxMSA0Mi4wMjM1IDUuOTkwMTFaTTQxLjgxMDcgMTUuMTEwOUgzNC4wMDg3VjkuNDIzNzJINDEuODEwN0M0NC4wNjYyIDkuNDIzNzIgNDUuMzU3IDEwLjQ1NDUgNDUuMzU3IDEyLjI2NzNDNDUuMzU3IDE0LjA4MDEgNDQuMDY2MiAxNS4xMTA5IDQxLjgxMDcgMTUuMTEwOVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik02NS41MzkgMjIuMTQ4N1YxNi4xNDE2QzY1LjUzOSAxMi41ODcyIDYyLjk5MjggMTAuNzQ2IDU4LjYyMzYgMTAuNzQ2QzU1LjA3NzMgMTAuNzQ2IDUxLjk3MDYgMTIuNDAyNCA1MS4wOTgyIDE0Ljk0NzNMNTQuMzA0MiAxNi4wODQ4QzU0Ljc3OTQgMTQuODEyMyA1Ni40MzIgMTMuODczOSA1OC40ODg5IDEzLjg3MzlDNjAuOTI4OCAxMy44NzM5IDYxLjk1NzIgMTQuODY5MSA2MS45NTcyIDE2LjA4NDhWMTYuNDc1OEw1Ni4xNTU0IDE3LjExNTZDNTIuODE0NyAxNy40NzEgNTAuNjE1OSAxOC45NzEgNTAuNjE1OSAyMS42NTExQzUwLjYxNTkgMjQuNTg3IDUzLjEzMzkgMjYuMTY1MiA1Ni40NzQ1IDI2LjE2NTJDNTguNjI3OCAyNi4yMzI1IDYwLjcyNDggMjUuNDY5MSA2Mi4zMzMxIDI0LjAzMjVDNjIuOTE0NyAyNS40NTQzIDYzLjUxMDUgMjYuNDA2OSA2Ny40NzU0IDI1LjkwMjJWMjIuOTMwN0M2NS44ODY2IDIzLjMxNDUgNjUuNTM5IDIyLjkzMDcgNjUuNTM5IDIyLjE0ODdaTTYxLjk5MjcgMjAuMjQzNUM2MS45OTI3IDIyLjE3NzEgNTkuMjkwMyAyMy4yMDA4IDU3LjAyNzggMjMuMjAwOEM1NS4zMDQyIDIzLjIwMDggNTQuMjY4NyAyMi42NDYzIDU0LjI2ODcgMjEuNTQ0NEM1NC4yNjg3IDIwLjQ0MjUgNTUuMTE5OCAyMC4wNDQ0IDU2Ljc2NTMgMTkuODUyNUw2Mi4wMDY5IDE5LjI0MTFMNjEuOTkyNyAyMC4yNDM1WiIgZmlsbD0iYmxhY2siLz4KPHBhdGggZD0iTTIyLjc0MzkgMjEuMjUzQzIyLjc3MTQgMjEuMzM2MSAyMi43NzE0IDIxLjQyNTkgMjIuNzQzOSAyMS41MDg5QzIyLjcyNzkgMjEuNTkxOCAyMi42ODg1IDIxLjY2ODMgMjIuNjMwNCAyMS43MjkzTDE4Ljg3ODMgMjUuNjc0OEMxOC43OTU2IDI1Ljc1OTkgMTguNjk2OCAyNS44Mjc2IDE4LjU4NzUgMjUuODczOEMxOC40NzggMjUuOTIxOSAxOC4zNTk1IDI1Ljk0NjIgMTguMjQgMjUuOTQ0OUgwLjQ0NDMwOEMwLjM2MTg5NCAyNS45NDU2IDAuMjgwODg4IDI1LjkyMzUgMC4yMTAyNDggMjUuODgwOUMwLjEzOTY1NSAyNS44MzI4IDAuMDgzMzAyOCAyNS43NjY1IDAuMDQ3MTE1NiAyNS42ODlDMC4wMjIxMjM2IDI1LjYxMDQgMC4wMjIxMjM2IDI1LjUyNTkgMC4wNDcxMTU2IDI1LjQ0NzNDMC4wNjE4MjM3IDI1LjM2NTUgMC4wOTg2MTkzIDI1LjI4OTIgMC4xNTM1MDYgMjUuMjI2OUwzLjkxMjY1IDIxLjI4MTVDMy45OTUzMyAyMS4xOTYzIDQuMDk0MjIgMjEuMTI4NiA0LjIwMzQ2IDIxLjA4MjRDNC4zMTI3NyAyMS4wMzM3IDQuNDMxMzcgMjEuMDA5NCA0LjU1MSAyMS4wMTEzSDIyLjMxODNDMjIuNDA0IDIxLjAwOTcgMjIuNDg4MiAyMS4wMzQ1IDIyLjU1OTQgMjEuMDgyNEMyMi42MzkzIDIxLjExNTQgMjIuNzA0NyAyMS4xNzU5IDIyLjc0MzkgMjEuMjUzWk0xOC44ODU0IDEzLjc2MDJDMTguODAwOSAxMy42NzczIDE4LjcwMjUgMTMuNjA5OSAxOC41OTQ2IDEzLjU2MTJDMTguNDg0IDEzLjUxNjQgMTguMzY2MyAxMy40OTI0IDE4LjI0NzEgMTMuNDkwMUgwLjQ0NDMwOEMwLjM2MDg2NCAxMy40OTEzIDAuMjc5NDMgMTMuNTE1OSAwLjIwOTIzMSAxMy41NjEyQzAuMTM5MDMyIDEzLjYwNjQgMC4wODI4NzI0IDEzLjY3MDQgMC4wNDcxMTU2IDEzLjc0NkMwLjAyMjU4MzEgMTMuODI0NyAwLjAyMjU4MzEgMTMuOTA5IDAuMDQ3MTE1NiAxMy45ODc3QzAuMDU5MDYwNyAxNC4wNzA0IDAuMDk2MjIwNiAxNC4xNDc0IDAuMTUzNTA2IDE0LjIwODFMMy45MTI2NSAxOC4xNjA2QzMuOTk3MTcgMTguMjQzNiA0LjA5NTYxIDE4LjMxMSA0LjIwMzQ2IDE4LjM1OTdDNC4zMTM4MyAxOC40MDUgNC40MzE3MyAxOC40MjkxIDQuNTUxIDE4LjQzMDhIMjIuMzE4M0MyMi40MDQgMTguNDMyNCAyMi40ODgyIDE4LjQwNzYgMjIuNTU5NCAxOC4zNTk3QzIyLjYzMTEgMTguMzE3OCAyMi42ODYxIDE4LjI1MjYgMjIuNzE1NSAxOC4xNzQ5QzIyLjc1MTggMTguMDk5MiAyMi43NjM5IDE4LjAxNDEgMjIuNzQ5OSAxNy45MzE0QzIyLjczNTkgMTcuODQ4NiAyMi42OTY2IDE3Ljc3MjIgMjIuNjM3NSAxNy43MTI4TDE4Ljg4NTQgMTMuNzYwMlpNMC4yMTAyNDggMTAuODQ1NUMwLjI4MDg4OCAxMC44ODgxIDAuMzYxODk0IDEwLjkxMDIgMC40NDQzMDggMTAuOTA5NUgxOC4yNDcxQzE4LjM2NjYgMTAuOTEwOCAxOC40ODUxIDEwLjg4NjUgMTguNTk0NiAxMC44Mzg0QzE4LjcwMzggMTAuNzkyMiAxOC44MDI3IDEwLjcyNDYgMTguODg1NCAxMC42Mzk0TDIyLjYzNzUgNi42OTM5NEMyMi42OTU2IDYuNjMyODggMjIuNzM0OSA2LjU1NjM5IDIyLjc1MDkgNi40NzM1NkMyMi43NzU1IDYuMzk0ODcgMjIuNzc1NSA2LjMxMDU1IDIyLjc1MDkgNi4yMzE4NkMyMi43MjE2IDYuMTU0MTQgMjIuNjY2NSA2LjA4ODg5IDIyLjU5NDkgNi4wNDcwMkMyMi41MjM3IDUuOTk5MTIgMjIuNDM5NSA1Ljk3NDMgMjIuMzUzOCA1Ljk3NTkzSDQuNTIyNjNDNC40MDMgNS45NzQwMiA0LjI4NDQgNS45OTgyOCA0LjE3NTA5IDYuMDQ3MDJDNC4wNjU4NSA2LjA5MzIyIDMuOTY2OTYgNi4xNjA5IDMuODg0MjggNi4yNDYwN0wwLjEzMjIyOSAxMC4yMDU3QzAuMDcyNzMzNyAxMC4yNjU4IDAuMDMzMTExOSAxMC4zNDI3IDAuMDE4NzQ0MSAxMC40MjYxQy0wLjAwNjI0ODAyIDEwLjUwNDcgLTAuMDA2MjQ4MDIgMTAuNTg5MiAwLjAxODc0NDEgMTAuNjY3OEMwLjA2NDc3ODkgMTAuNzQzOCAwLjEzMTExNiAxMC44MDU0IDAuMjEwMjQ4IDEwLjg0NTVWMTAuODQ1NVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=",sX=function(e){var t=dS.useContext(mP),n=t.accept,r=t.track,i=t.validated,o=t.integration,a=t.link,s=t.type,u=t.id,c=DL(dS.useState(),2),l=c[0],h=c[1];dS.useRef(l).current=l;var d=dS.useContext(MG);d.set,d.navigate;var f=dS.useContext(fS),p=f.close,y=f.setClosable,m=DL(dS.useState(),2),g=m[0],v=m[1],w=DL(dS.useState(),2),b=w[0],M=w[1],A=DL(dS.useState(),2),I=A[0],N=A[1],T=DL(dS.useState(),2),E=T[0],x=T[1],k=DL(dS.useState(),2),L=k[0],S=k[1],j=DL(dS.useState(),2),D=j[0],C=j[1],O=DL(dS.useState(),2),z=O[0],P=O[1],_=DL(dS.useState(),2),B=_[0],R=_[1],U=DL(dS.useState(),2),Q=U[0],W=U[1],Y=DL(dS.useState(),2),F=Y[0],V=Y[1],H=DL(dS.useState(),2),G=H[0],q=H[1],Z=DL(dS.useState(),2),J=Z[0],X=Z[1],K=DL(dS.useState(),2),$=K[0],ee=K[1],te=DL(dS.useState(),2),ne=te[0],re=te[1],ie=DL(dS.useState("select"),2),oe=ie[0],ae=ie[1],se=DL(dS.useState(!!u||!(!r||!r.endpoint&&"function"!=typeof r.method||1==r.async)),1)[0],ue=DL(dS.useState(!u&&!(!r||1!=r.async)),1)[0],ce=DL(dS.useState(!!u||!(!r||!r.poll||!r.poll.endpoint&&"function"!=typeof r.poll.method||1==r.async)),1)[0],le=se||ue,he=dS.useRef(),de=function(){var e=xL(jL.mark((function e(t){var n;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=rX(),P(n),e.next=4,RS.BigNumber({amount:t.amount,blockchain:"solana",address:t.token});case 4:if(t.fromAmountBN=e.sent,!t.fee){e.next=17;break}if(!t.fee.amount.match("%")){e.next=10;break}t.feeAmountBN=t.fromAmountBN.mul(10*parseFloat(t.fee.amount.replace("%",""))).div(1e3),e.next=17;break;case 10:if("string"!=typeof t.fee.amount){e.next=14;break}t.feeAmountBN=t.fee.amount,e.next=17;break;case 14:return e.next=16,RS.BigNumber({amount:t.fee.amount,blockchain:"solana",address:t.token});case 16:t.feeAmountBN=e.sent;case 17:t.fee?t.toAmountBN=t.fromAmountBN.sub(t.feeAmountBN):t.toAmountBN=t.fromAmountBN,S(t),ae("wait"),me(n,t);case 21:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),fe=function(e){var t=e.payment,n=e.resolve,i=e.reject;return u?fetch("https://public.depay.com/configurations/".concat(u,"/attempts"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(e){return 200==e.status||201==e.status?(e.json().then((function(e){return h(e.id)})),n()):i("TRACING REQUEST FAILED")})):r.endpoint?fetch(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(e){return 200==e.status||201==e.status?n():i("TRACING REQUEST FAILED")})):void(r.method?r.method(t).then(n).catch(i):i("No tracking defined!"))},pe=function(e){var t=e.secretId,n=e.selectedPaymentOption;return le?new Promise(function(){var e=xL(jL.mark((function e(r,i){var o;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:o={blockchain:"solana",sender:"solana:".concat(t),nonce:0,after_block:$.toString(),from_token:n.token,from_amount:n.fromAmountBN.toString(),from_decimals:n.decimals,to_token:n.token,to_amount:n.toAmountBN.toString(),to_decimals:n.decimals,fee_amount:n.feeAmountBN.toString(),deadline:Math.ceil(Date.now()/1e3)+36e5},fe({payment:o,resolve:r,reject:i});case 2:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()):Promise.resolve()},ye=function(e){var t=e.transaction;if(le){var n={blockchain:"solana",sender:t.from,transaction:t.id,nonce:t.nonce,after_block:$.toString(),from_token:L.token,from_amount:L.fromAmountBN.toString(),from_decimals:L.decimals,to_token:L.token,to_amount:L.toAmountBN.toString(),to_decimals:L.decimals,fee_amount:L.feeAmountBN.toString(),deadline:t.deadline};fe({payment:n,resolve:function(){y(!se),X(!se)},reject:function(){ae("trackingFailed")}})}},me=function e(t,n){B&&B.close();var r=new WebSocket("wss://integrate.depay.com/cable");R(r),r.onopen=function(){var e=xL(jL.mark((function e(i){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.send(JSON.stringify({command:"subscribe",identifier:JSON.stringify({secret_id:t,channel:"SolanaPayChannel"})}));case 2:if(void 0!==G){e.next=5;break}return e.next=5,r.send(JSON.stringify({command:"message",identifier:JSON.stringify({secret_id:t,channel:"SolanaPayChannel"}),data:JSON.stringify({type:"create",secret_id:t,label:document.title||"DePay",icon:tX()||"https://depay.com/favicon.png",token:n.token,payment_receiver:n.receiver,payment_amount:n.fromAmountBN.toString(),fee_receiver:n.fee?n.fee.receiver:void 0,fee_amount:n.fee?n.feeAmountBN.toString():void 0})}));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r.onclose=function(r){r&&1e3==r.code||setTimeout((function(){return e(t,n)}),1e3)},r.onmessage=function(e){var r=JSON.parse(e.data);"ping"!==r.type&&r.message&&(!0===r.message.created?Me(t,n,"solana:https://public.depay.com/solana/".concat(t)):r.message.scanned?(y("Are you sure you want to abort this payment?"),ae("pay")):r.message.account&&(be(r.message),y("Are you sure you want to abort this payment?"),ae("pay")))},r.onerror=function(e){console.log("WebSocket Error: ",e)}},ge=function e(t){var n=t.account,r=t.nonce;Q&&Q.close();var i=new WebSocket(Vf.solana.sockets[Math.floor(Math.random()*Vf.solana.sockets.length)]);W(i),i.onopen=function(){var e=xL(jL.mark((function e(t){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.send(JSON.stringify({jsonrpc:"2.0",id:1,method:"logsSubscribe",params:[{mentions:[n]},{commitment:"processed"}]}));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),i.onclose=function(t){t&&1e3==t.code||setTimeout((function(){return e({account:n,nonce:r})}),1e3)},i.onmessage=function(e){if(e&&e.data){var t,i,o,a,s,u,c,l=JSON.parse(e.data);if(l&&null!=l&&null!==(t=l.params)&&void 0!==t&&null!==(i=t.result)&&void 0!==i&&null!==(o=i.value)&&void 0!==o&&o.logs&&null!==(a=(null==l||null===(s=l.params)||void 0===s||null===(u=s.result)||void 0===u||null===(c=u.value)||void 0===c?void 0:c.logs)||[])&&void 0!==a&&a.find((function(e){return e.match("Program DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7")}))){var h,d,f=null==l||null===(h=l.params)||void 0===h||null===(d=h.result)||void 0===d?void 0:d.value;f&&null===f.err?(ae("succeeded"),C({status:"succeeded",id:f.signature,url:Vf.solana.explorerUrlFor({transaction:{id:f.signature}}),from:n,nonce:r,deadline:Math.ceil(Date.now()/1e3)+6e5})):f&&(ae("failed"),C({status:"failed",id:f.signature,url:Vf.solana.explorerUrlFor({transaction:{id:f.signature}}),from:n,nonce:r,deadline:Math.ceil(Date.now()/1e3)+6e5}))}}},i.onerror=function(e){console.log("WebSocket Error: ",e)}},ve=function t(n){F&&F.close();var r=new WebSocket("wss://integrate.depay.com/cable");V(r),r.onopen=function(){var e=xL(jL.mark((function e(t){var i;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i={command:"subscribe",identifier:JSON.stringify({blockchain:"solana",sender:n.from,nonce:n.nonce,channel:"PaymentChannel"})},r.send(JSON.stringify(i));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r.onclose=function(e){e&&1e3==e.code||setTimeout((function(){return t(n)}),1e3)},r.onmessage=function(t){var o=JSON.parse(t.data);if("ping"!==o.type&&o.message){var a="success"===o.message.status;i&&setTimeout((function(){return i(a,n)}),200),o.message.release&&(r.close(),a?(X(!0),y(!0),M(o.message.forward_to),o.message.forward_to&&setTimeout((function(){(e.document||window.document).location.href=o.message.forward_to}),200)):0==a&&(y(!0),ae("failed")))}},r.onerror=function(e){console.log("WebSocket Error: ",e)}},we=function(t){ce&&N(setInterval((function(){!function(t){var n,o,a={blockchain:"solana",transaction:t.id,sender:t.from,nonce:t.nonce,after_block:$.toString(),to_token:L.token},s=function(n){n&&(n&&n.forward_to?(y(!0),M(n.forward_to),setTimeout((function(){(e.document||window.document).location.href=n.forward_to}),200)):y(!0),clearInterval(pollingInterval),i&&i(!0,t),X(!0))};u?l&&fetch("https://public.depay.com/attempts/".concat(l),{method:"GET",headers:{"Content-Type":"application/json"}}).then((function(e){return 200==e.status||201==e.status?e.json():void 0})).then(s):null!=r&&null!==(n=r.poll)&&void 0!==n&&n.endpoint?fetch(r.poll.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}).then((function(e){return 200==e.status||201==e.status?e.json().catch((function(){y(!0)})):void 0})).then(s):null!=r&&null!==(o=r.poll)&&void 0!==o&&o.method&&r.poll.method(a).then(s)}(t)}),5e3))},be=function(e){var t=e.account,n=e.nonce;ge({account:t,nonce:n}),x(setInterval(xL(jL.mark((function e(){var r,i,o;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,LI("solana");case 2:return r=e.sent,e.next=5,r.getSignaturesForAddress(new qs(t));case 5:if(!((i=e.sent)&&i.length&&i[0].slot>$)){e.next=11;break}return o=i.filter((function(e){return e.slot>$})),e.next=10,Promise.all(o.map(function(){var e=xL(jL.mark((function e(i){var o,a;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.getTransaction(i.signature,{commitment:"confirmed",maxSupportedTransactionVersion:0});case 2:o=e.sent,(a=nX(o))&&a.nonce.toString()===n.toString()&&(null===o.meta.err?(ae("succeeded"),C({status:"succeeded",id:o.transaction.signatures[0],url:Vf.solana.explorerUrlFor({transaction:{id:o.transaction.signatures[0]}}),from:t,nonce:n,deadline:Math.ceil(Date.now()/1e3)+6e5})):(ae("failed"),C({status:"failed",id:o.transaction.signatures[0],url:Vf.solana.explorerUrlFor({transaction:{id:o.transaction.signatures[0]}}),from:t,nonce:n,deadline:Math.ceil(Date.now()/1e3)+6e5})));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 10:case 11:case"end":return e.stop()}}),e)}))),1e3))},Me=function(){var e=xL(jL.mark((function e(t,n,r){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return pe({secretId:t,selectedPaymentOption:n}).then(xL(jL.mark((function e(){var t;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:q(r),(t=new xG({width:340,height:340,type:"svg",dotsOptions:{type:"extra-rounded"},cornersSquareOptions:{type:"rounded"},backgroundOptions:{color:"transparent"}})).update({data:r}),re(t);case 4:case"end":return e.stop()}}),e)})))).catch((function(e){console.log("Tracing error:",e),ae("tracingFailed")})),e.abrupt("return",{afterBlock:$});case 2:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),Ae=function(){var e=xL(jL.mark((function e(t){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:fetch("https://public.depay.com/payments",{headers:{"Content-Type":"application/json"},method:"POST",body:JSON.stringify({blockchain:"solana",transaction:t.id,sender:t.from,nonce:t.nonce,receiver:L.receiver,token:L.token,amount:sI(L.toAmountBN,L.decimals),confirmations:1,after_block:$.toString(),uuid:t.id,payload:{sender_id:t.from,sender_token_id:L.token,sender_amount:sI(L.fromAmountBN,L.decimals),integration:o,link:a,type:s},fee_amount:L.fee?sI(L.feeAmountBN,L.decimals):null,fee_receiver:L.fee?L.fee.receiver:null,deadline:t.deadline,selected_wallet:"Solana Pay"})}).then((function(e){200==e.status||201==e.status||setTimeout((function(){Ae(t)}),3e3)})).catch((function(e){setTimeout((function(){Ae(t)}),3e3)}));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return dS.useEffect((function(){_I({blockchain:"solana",method:"latestBlockNumber"}).then(ee)}),[]),dS.useEffect((function(){$&&Promise.all(n.filter((function(e){return"solana"===e.blockchain})).map((function(e){var t=new RS({blockchain:e.blockchain,address:e.token});return Promise.all([Promise.resolve(e),t.symbol(),t.name(),t.decimals()])}))).then((function(e){return e.map((function(e){return oX(oX({},e[0]),{},{symbol:e[1],name:e[2],decimals:e[3]})}))})).then((function(e){v(e)}))}),[$]),dS.useEffect((function(){return function(){B&&B.close()}}),[B]),dS.useEffect((function(){return function(){Q&&Q.close()}}),[Q]),dS.useEffect((function(){return function(){F&&F.close()}}),[F]),dS.useEffect((function(){return function(){E&&clearInterval(E)}}),[E]),dS.useEffect((function(){return function(){I&&clearInterval(I)}}),[I]),dS.useEffect((function(){$&&ne&&ae("scan")}),[$&&ne]),dS.useEffect((function(){"scan"===oe&&ne&&he&&he.current&&(he.current.innerHTML="",ne.append(he.current))}),[oe,ne]),dS.useEffect((function(){D&&["succeeded","failed"].includes(oe)&&void 0===F&&(y(!le),X(!le),Ae(D),Q&&Q.close(),E&&clearInterval(E),se&&(ve(D),we(D)),ye({transaction:D}))}),[D,oe,F]),"trackingFailed"===oe?dS.createElement(TG,{stacked:!1,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:iZ})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),dS.createElement("div",{className:"PaddingTopS"},dS.createElement("span",null,"If this keeps happening, please report it.")))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){ae(D.status),ye({transaction:D})}},"Try again"))}):"tracingFailed"===oe?dS.createElement(TG,{stacked:!1,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:iZ})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),dS.createElement("div",{className:"PaddingTopS"},dS.createElement("span",null,"If this keeps happening, please report it.")))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){ae("wait"),Me(z,L,"solana:https://public.depay.com/solana/".concat(z))}},"Try again"))}):"failed"===oe?dS.createElement(TG,{stacked:!1,header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"GraphicWrapper"},dS.createElement("img",{className:"Graphic",src:iZ})),dS.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Payment Failed"),dS.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},dS.createElement("strong",{className:"FontSizeM"},"Unfortunately executing your payment failed, but you can try again."),D&&dS.createElement("div",{className:"PaddingTopS"},dS.createElement("a",{className:"Link",title:"Check your transaction on a block explorer",href:null==D?void 0:D.url,target:"_blank",rel:"noopener noreferrer"},"View details")))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){return p()}},"Try again"))}):g?dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL TextLeft"},dS.createElement("img",{src:aX,className:"SolanaPayLogo",alt:"Solana Pay",title:"Solana Pay"})))),body:dS.createElement("div",{className:"".concat(["select"].includes(oe)?"MaxHeight":"")},dS.createElement("div",{className:"PaddingLeftM PaddingRightM"},"select"===oe&&g&&dS.createElement("div",{className:"PaddingTopXS"},g.map((function(e,t){return dS.createElement("div",{className:"Card",key:t,onClick:function(){return de(e)}},dS.createElement("div",{className:"CardImage"},dS.createElement(CJ,{blockchain:e.blockchain,address:e.token}),dS.createElement("img",{className:"BlockchainLogo small bottomRight "+Vf[e.blockchain].name,style:{backgroundColor:Vf[e.blockchain].logoBackgroundColor},src:Vf[e.blockchain].logo,alt:Vf[e.blockchain].label,title:Vf[e.blockchain].label})),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("h2",{className:"CardText"},dS.createElement("div",{className:"TokenAmountRow"},dS.createElement("span",{className:"TokenAmountCell"},ZZ(e.amount)),dS.createElement("span",null," "),dS.createElement("span",{className:"TokenSymbolCell"},e.symbol))))))}))),"wait"===oe&&dS.createElement("div",{className:"TextCenter PaddingTopS"},dS.createElement("div",{className:"Skeleton",style:{display:"inline-block",borderRadius:"18px",width:"305px",height:"305px"}},dS.createElement("div",{className:"SkeletonBackground"}))),"scan"===oe&&dS.createElement("div",{ref:he,className:"QRCode"}),["pay","succeeded","failed"].includes(oe)&&dS.createElement("div",{className:"Card disabled"},dS.createElement("div",{className:"CardImage"},dS.createElement(CJ,{blockchain:L.blockchain,address:L.token}),dS.createElement("img",{className:"BlockchainLogo small bottomRight "+Vf[L.blockchain].name,style:{backgroundColor:Vf[L.blockchain].logoBackgroundColor},src:Vf[L.blockchain].logo,alt:Vf[L.blockchain].label,title:Vf[L.blockchain].label})),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("h2",{className:"CardText"},dS.createElement("div",{className:"TokenAmountRow"},dS.createElement("span",{className:"TokenAmountCell"},ZZ(L.amount)),dS.createElement("span",null," "),dS.createElement("span",{className:"TokenSymbolCell"},L.symbol)))))))),footer:dS.createElement("div",{className:"PaddingRightM PaddingLeftM PaddingBottomM"},"select"===oe&&dS.createElement("div",{className:"Opacity05 PaddingBottomXS PaddingTopS"},dS.createElement("small",null,"Select a payment option to continue")),"wait"===oe&&dS.createElement("div",{className:"Opacity05 PaddingBottomXS PaddingTopS"},dS.createElement("small",null,"Loading QR code...")),"scan"===oe&&dS.createElement("div",{className:"Opacity05 PaddingBottomXS PaddingTopS"},dS.createElement("small",null,"Scan QR code with your wallet")),"pay"===oe&&dS.createElement("div",{className:"PaddingTopXS"},dS.createElement("div",{className:"PaddingBottomS"},dS.createElement("div",{className:"Card transparent disabled small"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter Opacity05"},dS.createElement(RJ,{className:"small"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Confirm payment in your wallet"))))),dS.createElement("a",{className:"ButtonPrimary ".concat(null!=D&&D.url?"":"disabled"),href:null==D?void 0:D.url,target:"_blank",rel:"noopener noreferrer"},dS.createElement(QJ,null,"Paying"))),"succeeded"===oe&&dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopXS"},dS.createElement("div",{className:"PaddingBottomS"},dS.createElement("div",null,dS.createElement("a",{className:"Card transparent small",title:"Transaction has been confirmed by the network",href:null==D?void 0:D.url,target:"_blank",rel:"noopener noreferrer"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter Opacity05"},dS.createElement(BJ,{className:"small"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Transaction confirmed"))))),se&&!J&&dS.createElement("div",{className:"Card transparent small disabled"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter"},dS.createElement("div",{className:"Loading Icon"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Validating payment")))),se&&J&&dS.createElement("div",{className:"Card transparent small disabled"},dS.createElement("div",{className:"CardImage"},dS.createElement("div",{className:"TextCenter Opacity05"},dS.createElement(BJ,{className:"small"}))),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("div",{className:"Opacity05"},"Payment validated"))))),!J&&dS.createElement("button",{className:"ButtonPrimary disabled"},"Continue"),J&&b&&dS.createElement("a",{className:"ButtonPrimary",href:b,rel:"noopener noreferrer"},"Continue"),J&&!b&&dS.createElement("button",{className:"ButtonPrimary",onClick:p},"Close"))))}):dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL TextLeft"},dS.createElement("img",{src:aX,className:"SolanaPayLogo",alt:"Solana Pay",title:"Solana Pay"})))),body:dS.createElement("div",{className:"MaxHeight"},dS.createElement("div",{className:"PaddingLeftM PaddingRightM"},n.filter((function(e){return"solana"===e.blockchain})).map((function(e,t){return dS.createElement("div",{className:"Card Skeleton",key:t},dS.createElement("div",{className:"SkeletonBackground"}))}))))})},uX=function(e){var t=dS.useContext(fS),n=t.open,r=t.close,i=dS.useContext(jZ).setNavigator;return dS.createElement(NG,{setNavigator:i,open:n,close:r,start:"SolanaPay",container:e.container,document:e.document,stacked:!0,dialogs:{SolanaPay:dS.createElement(sX,{unmount:e.unmount,document:e.document})}})},cX=function(e){var t=DL(dS.useState(),2),n=t[0],r=t[1];return n?dS.createElement(uX,{setShowSolanaPayStack:r,document:e.document,container:e.container,unmount:e.unmount}):dS.createElement(XZ.Provider,{value:{start:function(){r(!0)}}},e.children)},lX=["all","xcd","eur","bbd","btn","bnd","xaf","cup","usd","fkp","gip","huf","irr","jmd","aud","lak","lyd","mkd","xof","nzd","omr","pgk","rwf","wst","rsd","sek","tzs","amd","bsd","bam","cve","cny","crc","czk","ern","gel","htg","inr","jod","krw","lbp","mwk","mru","mzn","ang","pen","qar","std","sll","sos","sdg","syp","aoa","awg","bhd","bzd","bwp","bif","kyd","cop","dkk","gtq","hnl","idr","ils","kzt","kwd","lsl","myr","mur","mnt","mmk","ngn","pab","php","ron","sar","sgd","zar","srd","twd","top","vef","dzd","ars","azn","bob","bgn","cad","clp","cdf","dop","fjd","gmd","gyd","isk","iqd","jpy","kpw","chf","mga","mdl","mad","npr","nio","pkr","pyg","shp","scr","sbd","lkr","thb","try","aed","vuv","yer","afn","bdt","brl","khr","kmf","hrk","djf","egp","etb","xpf","ghs","gnf","hkd","xdr","kes","kgs","lrd","mop","mvr","mxn","nad","nok","pln","rub","szl","tjs","ttd","ugx","uyu","vnd","tnd","uah","uzs","tmt","gbp","zmw","byn","bmd","ggp","clf","cuc","imp","jep","svc","xag","zwl"],hX=function(e){var t=DL(dS.useState(),2),n=t[0],r=t[1],i=DL(dS.useState(),2),o=i[0],a=i[1],s=DL(dS.useState(!1),2),u=s[0],c=s[1];dS.useContext(rZ).errorCallback;var l=dS.useContext(mP).recover,h=dS.useContext(PG),d=h.account,f=h.wallet;dS.useEffect((function(){if(u){var e=function(){fetch("https://public.depay.com/transactions/".concat(n.blockchain,"/").concat(n.from,"/").concat(n.nonce)).then((function(e){200==e.status&&e.json().then((function(e){"pending"!=e.status&&(a({id:e.external_id,status:e.status}),c(!1))}))}))},t=setInterval(e,5e3);return e(),function(){clearInterval(t)}}}),[u]);var p=function(){var e=xL(jL.mark((function e(t,n,r,i){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(i>3)){e.next=2;break}return e.abrupt("return");case 2:return e.t0=fetch,e.t1={"Content-Type":"application/json"},e.t2=JSON,e.t3=t.id,e.t4=n.toString(),e.t5=t.blockchain,e.t6=t.from,e.next=11,KJ({transaction:t,wallet:f,account:d});case 11:e.t7=e.sent,e.t8=r,e.t9={id:e.t3,after_block:e.t4,blockchain:e.t5,sender:e.t6,nonce:e.t7,deadline:e.t8},e.t10=e.t2.stringify.call(e.t2,e.t9),e.t11={method:"POST",headers:e.t1,body:e.t10},(0,e.t0)("https://public.depay.com/transactions",e.t11).then((function(e){200==e.status||201==e.status||setTimeout((function(){p(t,n,r,i+1)}),3e3)})).catch((function(e){setTimeout((function(){p(t,n,r,i+1)}),3e3)}));case 17:case"end":return e.stop()}}),e)})));return function(t,n,r,i){return e.apply(this,arguments)}}(),y=function e(t){var n=new WebSocket("wss://integrate.depay.com/cable");n.onopen=function(){var e=xL(jL.mark((function e(r){var i;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=JSON,e.t1=t.blockchain,e.t2=t.from,e.next=5,KJ({transaction:t,wallet:f,account:d});case 5:e.t3=e.sent,e.t4={blockchain:e.t1,sender:e.t2,nonce:e.t3,channel:"TransactionChannel"},e.t5=e.t0.stringify.call(e.t0,e.t4),i={command:"subscribe",identifier:e.t5},n.send(JSON.stringify(i));case 10:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),n.onclose=function(n){n&&1e3==n.code||setTimeout((function(){return e(t)}),1e3)},n.onmessage=function(e){var t=JSON.parse(e.data);"ping"!==t.type&&t.message&&t.message.status&&"pending"!=t.message.status&&(a(t.message),n.close(1e3))},n.onerror=function(e){console.log("WebSocket Error: ",e)}},m=function(e,t,n){NL.evm.includes(e.blockchain)&&(r(e),null==l&&p(e,t,n,1),y(e),c(!0))};return dS.useEffect((function(){l&&m({blockchain:l.blockchain,id:l.transaction,from:l.sender,nonce:l.nonce},l.afterBlock)}),[l]),dS.createElement(IJ.Provider,{value:{initializeTracking:m,foundTransaction:o}},e.children)},dX=function(){var e=xL(jL.mark((function e(t){var n,r,i;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.accept,r=t.recover,void 0===(i=t.integration)||void 0===n){e.next=3;break}throw"You can either use `integration` or `accept`, but not both!";case 3:if(!i&&!r){e.next=5;break}return e.abrupt("return");case 5:n.forEach((function(e){if(void 0===e.blockchain)throw"You need to set the blockchain you want to receive the payment on!";if(!NL.includes(e.blockchain))throw"You need to set a supported blockchain!";if(void 0===e.token&&void 0===e.fromToken&&void 0===e.fromAmount&&void 0===e.toToken)throw"You need to set the token you want to receive as payment!";if(void 0===e.token&&void 0!==e.fromToken&&void 0===e.fromAmount&&void 0===e.toToken)throw"You need to set the fromToken, fromAmount and toToken!";if(void 0===e.receiver)throw"You need to set the receiver address that you want to receive the payment!"}));case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),fX=function(){var e=xL(jL.mark((function e(t){var n,r,i,o,a,s,u,c,l,h,d,f,p,y,m,g,v,w,b,M,A,I,N,T,E,x,k,L,S;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.accept,r=t.amount,i=t.sent,o=t.succeeded,a=t.validated,s=t.failed,u=t.error,c=t.critical,l=t.style,h=t.whitelist,d=t.blacklist,f=t.providers,p=t.currency,y=t.connected,m=t.closed,g=t.track,v=t.recover,w=t.closable,b=t.integration,M=t.payload,A=t.link,I=t.container,N=t.before,T=t.wallet,E=t.title,x=t.action,k=t.document,L=t.wallets,xZ(),p&&!lX.includes(p.toLowerCase())&&(p=!1),e.prev=3,e.next=6,dX({accept:n,integration:b,recover:v});case 6:return"function"==typeof window._depayUnmountLoading&&window._depayUnmountLoading(),S=EZ({style:l,container:I,document:Kq(k),closed:m},(function(e){return function(t){return dS.createElement(uZ,{errorCallback:u,container:t,unmount:e},dS.createElement(FZ,{unmount:e,document:k,container:t,configuration:{type:"payment",payload:M,before:N,amount:r,accept:n,currency:p,event:event,sent:i,succeeded:o,validated:a,failed:s,whitelist:h,blacklist:d,providers:f,track:g,recover:v,integration:b,link:A,wallet:T,title:E,action:x,wallets:L}},dS.createElement(SZ,null,dS.createElement(yS,{unmount:e,closable:w},dS.createElement(OZ,null,dS.createElement(cX,{unmount:e,document:k,container:t},dS.createElement($Z,{document:k,container:t,connected:y,unmount:e},dS.createElement(oJ,null,dS.createElement(iJ,null,dS.createElement(yJ,{container:t,document:k},dS.createElement(hX,null,dS.createElement($J,{document:Kq(k)},dS.createElement(NJ,{container:t,document:k},dS.createElement(eX,null,dS.createElement(ZJ,{document:k,container:t}),dS.createElement(_G,null)))))))))))))))}})),e.abrupt("return",{unmount:S});case 11:e.prev=11,e.t0=e.catch(3),console.log("critical error",e.t0),null!=c&&c(e.t0);case 15:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(t){return e.apply(this,arguments)}}();fX.preload=function(e){var t=e.account,n=e.accept,r=e.whitelist,i=e.blacklist;e.event,hJ({account:t,accept:n,whitelist:r,blacklist:i})};var pX=dS.createContext(),yX=dS.createContext(),mX=function(e){var t=dS.useContext(MJ).payment,n=DL(dS.useState(),2),r=n[0],i=n[1],o=DL(dS.useState(),2),a=o[0],s=o[1];return dS.useEffect((function(){t&&Promise.all([t.route.toToken.symbol(),t.route.toToken.readable(t.route.toAmount)]).then((function(e){var n=DL(e,2),r=n[0],o=n[1];i({address:t.route.toToken.address,symbol:r}),s(o)}))}),[t]),dS.createElement(yX.Provider,{value:{toToken:r,toTokenReadableAmount:a}},e.children)};function gX(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vX(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?gX(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gX(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var wX=function(e){var t=dS.useContext(eJ),n=t.acceptWithAmount,r=t.setMaxRoute,i=dS.useContext(mP).sell,o=dS.useContext(PG).account,a=dS.useContext(mP).blacklist,s=DL(dS.useState(n?n.map((function(e){return vX(vX({},e),{},{receiver:o})})):void 0),2),u=s[0],c=s[1];for(var l in null==a&&(a={}),i){var h=i[l];a[l]instanceof Array?a[l].push(h):a[l]=[h]}return dS.useEffect((function(){n?c(n.map((function(e){return vX(vX({},e),{},{receiver:o})}))):c()}),[n]),dS.createElement(pX.Provider,{value:{}},dS.createElement(pJ,{accept:u,setMaxRoute:r},dS.createElement(NJ,{container:e.container,document:e.document},dS.createElement(eX,null,dS.createElement(mX,null,e.children)))))},bX=function(e){return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Buy")),body:dS.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},dS.createElement("div",{className:"Card Skeleton",style:{height:"100px"}},dS.createElement("div",{className:"SkeletonBackground"})),dS.createElement("div",{className:"Card Skeleton"},dS.createElement("div",{className:"SkeletonBackground"}))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("div",{className:"SkeletonWrapper"},dS.createElement("div",{className:"ButtonPrimary Skeleton"},dS.createElement("div",{className:"SkeletonBackground"}))))})},MX=function(e){dS.useContext(eJ).amount;var t,n=dS.useContext(mP),r=n.tokenImage,i=n.amount,o=dS.useContext(TJ),a=o.paymentValue,s=o.displayedPaymentValue,u=dS.useContext(MJ),c=u.payment,l=u.paymentState,h=dS.useContext(MG).navigate,d=dS.useContext(yX),f=d.toToken,p=d.toTokenReadableAmount,y=DL(dS.useState(),2),m=y[0],g=y[1];if(dS.useEffect((function(){if(a&&(null==i||1!=i.token)&&p){var e=a.amount/parseFloat(p),t=new PZ({amount:e,code:a.code}).toString();t!=new PZ({amount:0,code:a.code}).toString()&&g(t)}}),[a,p]),null==f||null==p||null==c||null==a)return dS.createElement(bX,null);t=r?dS.createElement("img",{src:r}):dS.createElement(CJ,{blockchain:c.route.blockchain,address:f.address});var v=Vf.findByName(c.blockchain);return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Buy")),body:dS.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},dS.createElement("div",{className:["Card","initialized"!=l||i&&i.fix?"disabled":""].join(" "),title:"initialized"==l?"Change amount":void 0,onClick:function(){"initialized"==l&&(i&&i.fix||h("ChangeAmount"))}},dS.createElement("div",{className:"CardImage",title:c.name},t,dS.createElement("img",{className:"BlockchainLogo small bottomRight "+v.name,style:{backgroundColor:v.logoBackgroundColor},src:v.logo,alt:v.label,title:v.label})),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("h4",{className:"CardTitle"},"Amount"),dS.createElement("h2",{className:"CardText"},dS.createElement("div",{className:"TokenAmountRow"},dS.createElement("span",{className:"TokenSymbolCell"},f.symbol),dS.createElement("span",null," "),dS.createElement("span",{className:"TokenAmountCell"},ZZ(p))),m&&dS.createElement("div",{className:"TokenAmountRow small grey"},dS.createElement("span",{className:"TokenAmountCell"},m," per token"))))),dS.createElement("div",{className:"CardAction"},(!i||!i.fix)&&dS.createElement(_J,null))),dS.createElement("div",{className:["Card","initialized"==l?"":"disabled"].join(" "),title:"initialized"==l?"Payment options":void 0,onClick:function(){"initialized"==l&&h("ChangePayment")}},dS.createElement("div",{className:"CardImage",title:c.name},dS.createElement(CJ,{blockchain:c.route.blockchain,address:c.token})),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardBodyWrapper"},dS.createElement("h4",{className:"CardTitle"},"Payment"),dS.createElement("h2",{className:"CardText"},dS.createElement("div",{className:"TokenAmountRow"},dS.createElement("span",{className:"TokenSymbolCell"},c.symbol),dS.createElement("span",null," "),dS.createElement("span",{className:"TokenAmountCell"},ZZ(c.amount))),dS.createElement("div",{className:"TokenAmountRow small grey"},dS.createElement("span",{className:"TokenAmountCell"},s))))),dS.createElement("div",{className:"CardAction"},dS.createElement(_J,null)))),footer:dS.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement(YJ,null))})},AX=function(e){var t=dS.useContext(fS),n=t.open,r=t.close,i=dS.useContext(jZ).setNavigator;return dS.createElement(NG,{setNavigator:i,open:n,close:r,start:"SaleOverview",container:e.container,document:e.document,stacked:!0,dialogs:{SaleOverview:dS.createElement(MX,null),ChangeAmount:dS.createElement(EJ,null),ChangePayment:dS.createElement(zJ,null),NoPaymentOptionFound:dS.createElement(bJ,null),PaymentFailed:dS.createElement(PJ,null),WrongNetwork:dS.createElement(qJ,null)}})},IX=function(){var e=xL(jL.mark((function e(t){var n;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("object"==kL(n=t.sell)){e.next=3;break}throw'You need to configure at least 1 "blockchain": "token"';case 3:if(0!=Object.keys(n).length){e.next=5;break}throw'You need to configure at least 1 "blockchain": "token"';case 5:if(0!=Object.values(n).length){e.next=7;break}throw'You need to configure at least 1 "blockchain": "token"';case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),NX=function(e){var t,n,r,i,o;return o=Math.floor(e/1e3),i=Math.floor(o/60),o%=60,r=Math.floor(i/60),i%=60,n=Math.floor(r/24),r%=24,t=Math.floor(n/30),n%=30,{year:Math.floor(t/12),month:t%=12,day:n,hour:r,minute:i,second:o}};function TX(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function EX(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?TX(Object(n),!0).forEach((function(t){RG(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):TX(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var xX=function(e){var t,n,r=dS.useContext(kZ),i=r.selection;r.setSelection;var o,a=dS.useContext(fS).setOpen,s=dS.useContext(MG).navigate;i.nft.createdAt&&(o=[(o=NX(new Date-new Date(i.nft.createdAt))).year&&o.year>=1?o.year>=2?"".concat(o.year," years"):"1 year":void 0,o.month&&o.month>=1?o.month>=2?"".concat(o.month," months"):"1 month":void 0,o.day&&o.day>=1&&o.month<=1&&o.year<1?o.day>=2?"".concat(o.day," days !!!"):"1 day !!!":void 0].filter((function(e){return e})).join(" "));var u=(null===(t=i.nft)||void 0===t?void 0:t.blockchain)||(null===(n=i.blockchain)||void 0===n?void 0:n.name);if(null==u)return s("SelectBlockchain"),null;return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Confirm Selection"))),stacked:!0,body:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",{className:"TokenImage medium TextCenter"},i.nft.image&&dS.createElement("img",{src:i.nft.image})),dS.createElement("div",{className:"PaddingTopS TextCenter"},dS.createElement("div",{className:"Alert FontSizeS"},dS.createElement("strong",null,"Please review this information"))),dS.createElement("div",{className:"PaddingTopXS"},dS.createElement("table",{className:"Table TextLeft FontSizeS"},dS.createElement("tbody",null,dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Blockchain")),dS.createElement("td",null,dS.createElement("div",null,Vf.findByName(u).label))),dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Name")),dS.createElement("td",null,dS.createElement("a",{className:"Link",href:i.nft.link,target:"_blank",rel:"noopener noreferrer"},i.nft.name))),i.nft.address&&dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Address")),dS.createElement("td",null,dS.createElement("div",null,dS.createElement("a",{className:"Link",title:i.nft.address,href:Vf.findByName(u).explorerUrlFor({token:i.nft.address}),target:"_blank",rel:"noopener noreferrer"},vJ(i.nft.address,6))))),i.nft.id&&dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Token ID")),dS.createElement("td",null,dS.createElement("div",null,i.nft.id))),i.nft.addresses&&dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Addresses")),dS.createElement("td",null,dS.createElement("div",null,i.nft.addresses.join(", ")))))))),footer:dS.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){a(!1),e.resolve(EX(EX({},i.nft),{},{blockchain:u})),setTimeout(e.unmount,300)}},"Confirm"))})},kX=function(e){var t,n,r,i,o,a,s,u,c,l,h,d,f,p,y=dS.useContext(MG).navigate,m=DL(dS.useState(),2);m[0];var g=m[1],v=dS.useContext(kZ),w=v.selection,b=v.setSelection,M=DL(dS.useState(""),2),A=M[0],I=M[1],N=DL(dS.useState(""),2),T=N[0],E=N[1],x=DL(dS.useState(""),2),k=x[0],L=x[1],S=DL(dS.useState(""),2),j=S[0],D=S[1],C=DL(dS.useState(""),2),O=C[0],z=C[1],P=DL(dS.useState(""),2),_=P[0],B=P[1],R=DL(dS.useState(!1),2),U=R[0],Q=R[1],W=function(t){var n=Vf.findByName(t);g(n),b(Object.assign(e.selection,{blockchain:n,token:void 0}))};return dS.useEffect((function(){xL(jL.mark((function e(){var t;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:setTimeout((function(){t||(window._depay_token_selection_selected_blockchain?W(window._depay_token_selection_selected_blockchain):W("ethereum"))}),400),Uk({drip:function(e){e&&!t?(new e).connectedTo().then((function(e){t=Vf.findByName(e),window._depay_token_selection_selected_blockchain?W(window._depay_token_selection_selected_blockchain):e&&e.length&&t&&t.tokens&&t.tokens.length?W(e):W("ethereum")})).catch((function(){return W("ethereum")})):W("ethereum")}});case 2:case"end":return e.stop()}}),e)})))()}),[]),dS.useEffect((function(){E(""),I(""),L(""),D(""),z(""),B(""),Q(!1),g(w.blockchain)}),[w.blockchain]),dS.useEffect((function(){var e,t,n=(null==w||null===(e=w.blockchain)||void 0===e?void 0:e.name)||(null==w?void 0:w.blockchain)||(null==w||null===(t=w.collection)||void 0===t?void 0:t.blockchain);(function(){var e=xL(jL.mark((function e(){var t;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n||NL.solana.includes(n)){e.next=10;break}return e.prev=1,e.next=4,_I({blockchain:n,address:T,method:"balanceOf",api:RS[n][1155],params:[T,"1"]});case 4:t=e.sent,e.next=9;break;case 7:e.prev=7,e.t0=e.catch(1);case 9:Q(!!t);case 10:case"end":return e.stop()}}),e,null,[[1,7]])})));return function(){return e.apply(this,arguments)}})()()}),[T]),dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Enter NFT information")),dS.createElement("div",{className:"PaddingTopS PaddingBottomS"},dS.createElement("div",{className:"Card small",onClick:function(){return y("SelectBlockchain")}},dS.createElement("div",{className:"CardImage small"},dS.createElement("img",{className:"transparent BlockchainLogo small",src:null===(t=Vf[(null==w||null===(n=w.blockchain)||void 0===n?void 0:n.name)||(null==w?void 0:w.blockchain)||(null==w||null===(r=w.collection)||void 0===r?void 0:r.blockchain)])||void 0===t?void 0:t.logo,style:{backgroundColor:null===(i=Vf[(null==w||null===(o=w.blockchain)||void 0===o?void 0:o.name)||(null==w?void 0:w.blockchain)||(null==w||null===(a=w.collection)||void 0===a?void 0:a.blockchain)])||void 0===i?void 0:i.logoBackgroundColor}})),dS.createElement("div",{className:"CardBody FontSizeM"},null===(s=Vf.findByName((null==w||null===(u=w.blockchain)||void 0===u?void 0:u.name)||(null==w?void 0:w.blockchain)||(null==w||null===(c=w.collection)||void 0===c?void 0:c.blockchain)))||void 0===s?void 0:s.label),dS.createElement("div",{className:"CardAction"},dS.createElement(_J,null))))),bodyClassName:"ScrollHeight",body:dS.createElement("div",{className:"PaddingLeftM PaddingRightM"},dS.createElement("div",null,NL.solana.includes(null==w||null===(l=w.blockchain)||void 0===l?void 0:l.name)&&dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopXS TextLeft"},dS.createElement("label",{htmlFor:"DePayWidgetsEnterNFTTokenAddresses"},dS.createElement("div",{className:"FontSizeS Opacity05"},"Token Mint Addresses"))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},dS.createElement("textarea",{id:"DePayWidgetsEnterNFTTokenAddresses",name:"DePayWidgetsEnterNFTTokenAddress",value:A,onChange:function(e){return I(e.target.value)},placeholder:"4LWoVdJWNFQCvDZsf2EP6xD8xAF6S7RhQKkA5gjxJEnn\n979vHrvJ5d4CoCv2Hx5PHN837dsJe9ijhNAQwmY7hpcx",className:"InputField small",rows:4,style:{resize:"vertical",minHeight:"78px",width:"100%"}}),dS.createElement("div",{className:"FontSizeXS PaddingLeftXS PaddingRightXS Opacity03 LineHeightXS"},"Separate each one with a new line break."))),!NL.solana.includes(null==w||null===(h=w.blockchain)||void 0===h?void 0:h.name)&&dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopXS TextLeft"},dS.createElement("label",{htmlFor:"DePayWidgetsEnterNFTTokenAddress"},dS.createElement("div",{className:"FontSizeS Opacity05"},"Token Contract Address"))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},dS.createElement("input",{id:"DePayWidgetsEnterNFTTokenAddress",name:"DePayWidgetsEnterNFTTokenAddress",value:T,onChange:function(e){return E(e.target.value)},placeholder:"0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb",className:"InputField small",style:{width:"100%"}})))),U&&dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopXS TextLeft"},dS.createElement("label",{htmlFor:"DePayWidgetsEnterNFTTokenId"},dS.createElement("span",{className:"FontSizeS Opacity05"},"Token ID"))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},dS.createElement("input",{id:"DePayWidgetsEnterNFTTokenId",name:"DePayWidgetsEnterNFTTokenId",value:k,onChange:function(e){return L(e.target.value)},placeholder:"35347623114821255323888368639026081793120226253597860997754787919489216283624",className:"InputField small"}))),dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopXS TextLeft"},dS.createElement("label",{htmlFor:"DePayWidgetsEnterNFTName"},dS.createElement("span",{className:"FontSizeS Opacity05"},"NFT Name"))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},dS.createElement("input",{id:"DePayWidgetsEnterNFTName",name:"DePayWidgetsEnterNFTName",value:_,onChange:function(e){return B(e.target.value)},placeholder:NL.solana.includes(null==w||null===(d=w.blockchain)||void 0===d?void 0:d.name)?"SMB":"CryptoPunks",className:"InputField small"}))),dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopXS TextLeft"},dS.createElement("label",{htmlFor:"DePayWidgetsEnterNFTImage"},dS.createElement("span",{className:"FontSizeS Opacity05"},"Image URL"))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},dS.createElement("input",{id:"DePayWidgetsEnterNFTImage",name:"DePayWidgetsEnterNFTImage",value:j,onChange:function(e){return D(e.target.value)},placeholder:NL.solana.includes(null==w||null===(f=w.blockchain)||void 0===f?void 0:f.name)?"https://img-cdn.magiceden.dev/rs:fill:128:128:0:0/plain/https://creator-hub-prod.s3.us-east-2.amazonaws.com/smb_gen3_pfp_1688353503184.png":"https://i.seadn.io/gae/BdxvLseXcfl57BiuQcQYdJ64v-aI8din7WPk0Pgo3qQFhAUH-B6i-dCqqc_mCkRIzULmwzwecnohLhrcH8A9mpWIZqA7ygc52Sr81hE?auto=format&w=128",className:"InputField small"}))),dS.createElement("div",null,dS.createElement("div",{className:"PaddingTopXS TextLeft"},dS.createElement("label",{htmlFor:"DePayWidgetsEnterNFTLink"},dS.createElement("span",{className:"FontSizeS Opacity05"},"Link URL"))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},dS.createElement("input",{id:"DePayWidgetsEnterNFTLink",name:"DePayWidgetsEnterNFTLink",value:O,onChange:function(e){return z(e.target.value)},placeholder:NL.solana.includes(null==w||null===(p=w.blockchain)||void 0===p?void 0:p.name)?"https://magiceden.io/marketplace/smb_gen3":"https://opensea.io/collection/cryptopunks",className:"InputField small"})))),footer:dS.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomM"},dS.createElement("button",{className:["ButtonPrimary",j.length&&(T.length||A.length)&&O.length&&_.length&&(!U||k.length)?"":"disabled"].join(" "),onClick:function(){j.length&&(T.length||A.length)&&O.length&&_.length&&(!U||k.length)&&function(){var t,n,r=(null==w||null===(t=w.blockchain)||void 0===t?void 0:t.name)||(null==w?void 0:w.blockchain)||(null==w||null===(n=w.collection)||void 0===n?void 0:n.blockchain);b(Object.assign(e.selection,{nft:{blockchain:r,address:T.length?T:void 0,addresses:A.length?A.split("\n").map((function(e){return e.replace(/\s*/,"")})):void 0,id:k.length?k:void 0,image:j,name:_,link:O,type:NL.solana.includes(r)?"metaplex":U?"1155":"721"}})),y("ConfirmNFTSelection")}()}},"Continue"))})},LX=function(e){var t=dS.useContext(kZ).setSelection,n=DL(dS.useState(""),2),r=n[0],i=n[1],o=dS.useContext(MG).navigate,a=e.stacked||Object.keys(e.selection).length>1,s=NL.map((function(e){return Vf[e]})),u=DL(dS.useState(s),2),c=u[0],l=u[1],h=dS.useRef(),d=new Lq(s,{keys:["label","name"],threshold:.3,ignoreFieldNorm:!0});return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Select Blockchain"),dS.createElement("div",{className:"PaddingTopS TextLeft"},dS.createElement("input",{value:r,autoFocus:!EG(),onChange:function(e){i(e.target.value),e.target.value.length>1?l(d.search(e.target.value).map((function(e){return e.item}))):l(s)},className:"Search",placeholder:"Search by name",ref:h})))),stacked:a,bodyClassName:"ScrollHeight",body:dS.createElement("div",null,c.map((function(n,r){return dS.createElement("div",{key:r,className:"Card Row",onClick:function(){return function(n){window._depay_token_selection_selected_blockchain=n.name,t(Object.assign(e.selection,{blockchain:n})),a&&!1!==e.navigateBack?o("back"):e.resolve(n)}(n)}},dS.createElement("div",{className:"CardImage"},dS.createElement("img",{className:"transparent BlockchainLogo",src:n.logo,style:{backgroundColor:n.logoBackgroundColor}})),dS.createElement("div",{className:"CardBody"},dS.createElement("span",{className:"CardText"},n.label)))}))),footer:dS.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"})})},SX=function(e){dS.useContext(mP).what;var t=dS.useContext(fS),n=t.open,r=t.close,i=dS.useContext(kZ),o=i.selection;i.setSelection;var a=DL(dS.useState(),2);a[0];var s=a[1];return dS.createElement(NG,{open:n,close:r,start:"EnterDataManually",container:e.container,document:e.document,setNavigator:function(e){s(e)},dialogs:{EnterDataManually:dS.createElement(kX,{selection:o,resolve:e.resolve,unmount:e.unmount}),SelectBlockchain:dS.createElement(LX,{stacked:!0,selection:o,resolve:e.resolve,unmount:e.unmount}),ConfirmNFTSelection:dS.createElement(xX,{selection:o,resolve:e.resolve,unmount:e.unmount})}})},jX=function(e){var t=dS.useContext(kZ).selection,n=dS.useContext(fS).setOpen,r=t.token,i=r.address||r.external_id,o=r.logo||r.image,a=Vf.findByName(r.blockchain),s=r.first_transfer?NX(new Date-new Date(r.first_transfer)):void 0;s&&(s=[s.year&&s.year>=1?s.year>=2?"".concat(s.year," years"):"1 year":void 0,s.month&&s.month>=1?s.month>=2?"".concat(s.month," months"):"1 month":void 0,s.day&&s.day>=1&&s.month<=1&&s.year<1?s.day>=2?"".concat(s.day," days !!!"):"1 day !!!":void 0].filter((function(e){return e})).join(" "));var u=r.unique_senders?r.unique_senders:void 0;u&&(u=u>1e6?"Millions":u>1e5?"Hundreds of Thousands":u>2e3?"Thousands":u>100?"Hundreds":"Only a Few!!!");return dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Confirm Selection"))),stacked:!0,body:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},dS.createElement("div",{className:"TokenImage medium TextCenter"},o&&dS.createElement("img",{src:o}),!o&&dS.createElement(CJ,{blockchain:r.blockchain,address:i})),dS.createElement("div",{className:"PaddingTopS TextCenter"},dS.createElement("div",{className:"Alert FontSizeS"},dS.createElement("strong",null,"Please review this information"))),dS.createElement("div",{className:"PaddingTopXS"},dS.createElement("table",{className:"Table TextLeft FontSizeS"},dS.createElement("tbody",null,dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Address")),dS.createElement("td",null,dS.createElement("div",null,dS.createElement("a",{className:"Link",title:i,href:a.explorerUrlFor({token:i}),target:"_blank",rel:"noopener noreferrer"},vJ(i,8))))),dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Blockchain")),dS.createElement("td",null,dS.createElement("div",null,a.label))),dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Symbol")),dS.createElement("td",null,dS.createElement("div",null,r.symbol))),dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Name")),dS.createElement("td",null,dS.createElement("div",null,r.name))),s&&dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Age")),dS.createElement("td",null,dS.createElement("div",null,s))),u&&dS.createElement("tr",null,dS.createElement("td",null,dS.createElement("div",{className:"TableSubTitle"},"Holders")),dS.createElement("td",null,dS.createElement("div",null,u))))))),footer:dS.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},dS.createElement("button",{className:"ButtonPrimary",onClick:function(){n(!1),e.resolve({blockchain:r.blockchain,address:r.external_id||r.address,symbol:r.symbol,name:r.name,decimals:r.decimals,logo:r.image||r.logo,routable:r.routable}),setTimeout(e.unmount,300)}},"Confirm"))})},DX=function(e){var t=dS.useContext(MG).navigate,n=dS.useContext(fS).setOpen,r=dS.useContext(kZ).setSelection,i=DL(dS.useState(!1),2),o=i[0],a=i[1],s=DL(dS.useState(""),2),u=s[0],c=s[1],l=DL(dS.useState(),2),h=l[0],d=l[1],f=DL(dS.useState(!1),2),p=f[0],y=f[1],m=DL(dS.useState([]),2),g=m[0],v=m[1],w=DL(dS.useState(),2);w[0],w[1];var b=dS.useRef(),M=function(t){var n=Vf.findByName(t);d(n),r(Object.assign(e.selection,{blockchain:n,token:void 0})),v(n.tokens)};dS.useEffect((function(){xL(jL.mark((function e(){var t;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:setTimeout((function(){t||(window._depay_token_selection_selected_blockchain?M(window._depay_token_selection_selected_blockchain):M("ethereum"))}),400),Uk({drip:function(e){e&&!t?(new e).connectedTo().then((function(e){t=Vf.findByName(e),window._depay_token_selection_selected_blockchain?M(window._depay_token_selection_selected_blockchain):e&&e.length&&t&&t.tokens&&t.tokens.length?M(e):M("ethereum")})).catch((function(){return M("ethereum")})):M("ethereum")}});case 2:case"end":return e.stop()}}),e)})))()}),[]),dS.useEffect((function(){e.selection.blockchain&&(d(e.selection.blockchain),v(e.selection.blockchain.tokens),b.current&&(b.current.value="",EG()||b.current.focus()))}),[e.selection,e.selection.blockchain]);var A,I=dS.useCallback(kG.debounce((function(e,t){fetch("https://public.depay.com/tokens/search?blockchain=".concat(t,"&term=").concat(e)).then((function(e){200==e.status?e.json().then((function(e){v(e),a(!1)})).catch((function(){return reject})):reject()})).catch((function(){return reject}))}),500),[]);return A=o?[dS.createElement("div",{className:"SkeletonWrapper",key:"loading"},dS.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},dS.createElement("div",{className:"SkeletonBackground"})))]:g.map((function(i,o){return dS.createElement("div",{key:"".concat(o,"-").concat(i.address),className:"Card Row",onClick:function(){return function(i){i.address&&i.address.match("0x")&&(i.address=om(i.address)),i.external_id&&i.external_id.match("0x")&&(i.external_id=om(i.external_id)),h.tokens.find((function(e){return e.address==(i.address||i.external_id)}))?(n(!1),e.resolve({blockchain:h.name,address:i.address||i.external_id,logo:i.logo||i.image,name:i.name,symbol:i.symbol,decimals:i.decimals,routable:!0}),setTimeout(e.unmount,300)):(r(Object.assign(e.selection,{token:i})),t("ConfirmTokenSelection"))}(i)}},dS.createElement("div",{className:"CardImage"},i.logo&&dS.createElement("img",{src:i.logo}),i.image&&dS.createElement("img",{src:i.image}),!(i.logo||i.image)&&dS.createElement(CJ,{blockchain:i.blockchain,address:i.external_id||i.address})),dS.createElement("div",{className:"CardBody"},dS.createElement("div",{className:"CardTokenSymbol",title:i.symbol},dS.createElement("span",{className:"CardText"},i.symbol)),dS.createElement("div",{className:"CardTokenName",title:i.name},dS.createElement("span",{className:"CardText"},i.name))))})),h?dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Select Token")),dS.createElement("div",{className:"PaddingTopS PaddingBottomXS"},dS.createElement("div",{className:"Card small",onClick:function(){t("SelectBlockchain")}},dS.createElement("div",{className:"CardImage small"},dS.createElement("img",{className:"transparent BlockchainLogo",src:h.logo,style:{backgroundColor:h.logoBackgroundColor}})),dS.createElement("div",{className:"CardBody FontSizeM"},h.label),dS.createElement("div",{className:"CardAction"},dS.createElement(_J,null)))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS"},dS.createElement("input",{value:u,autoFocus:!EG(),onBlur:function(){return y(!1)},onChange:function(e){y(!1),a(!0);var t=e.target.value;if(c(t),t.match(/^0x/)){var n;v([]);try{n=new RS({blockchain:h.name,address:t})}catch(e){}if(null==n)return void a(!1);Promise.all([n.name(),n.symbol(),n.decimals(),fetch("https://public.depay.com/tokens/routable/".concat(h.name,"/").concat(t)).then((function(e){if(200==e.status)return e.json()}))]).then((function(e){var n=DL(e,4),r=n[0],i=n[1],o=n[2],s=n[3];v([{name:r,symbol:i,decimals:o,address:t,blockchain:h.name,routable:!!s}]),a(!1)}))}else if(t.length>32&&t.length<=44&&!/[^123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]/.test(t)){var r;v([]);try{r=new RS({blockchain:h.name,address:t})}catch(e){}if(null==r)return void a(!1);Promise.all([r.name(),r.symbol(),r.decimals(),fetch("https://public.depay.com/tokens/routable/".concat(h.name,"/").concat(t)).then((function(e){if(200==e.status)return e.json()}))]).then((function(e){var n=DL(e,4),r=n[0],i=n[1],o=n[2],s=n[3];v([{name:r,symbol:i,decimals:o,address:t,blockchain:h.name,routable:!!s}]),a(!1)}))}else t&&t.length?(v([]),I(t,h.name)):(v(h.tokens),a(!1))},className:"Search",placeholder:"Search name or paste address",ref:b}),p&&dS.createElement("div",{className:"PaddingTopXS PaddingRightXS PaddingLeftXS"},dS.createElement("div",{className:"Tooltip"},dS.createElement("span",{className:"TooltipArrowUp"}),"Enter token address here")))),bodyClassName:"ScrollHeight",body:dS.createElement("div",{className:""},A),footer:dS.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},dS.createElement("div",{className:"PaddingTopXS PaddingBottomXS"},dS.createElement("div",{className:"Link FontSizeS",onClick:function(){y(!0),b.current&&(b.current.value="")}},"Token missing? Add it.")))}):dS.createElement(TG,{header:dS.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},dS.createElement("div",null,dS.createElement("h1",{className:"LineHeightL FontSizeL"},"Select Token")),dS.createElement("div",{className:"PaddingTopS PaddingBottomXS"},dS.createElement("div",{className:"SkeletonWrapper",key:"loading"},dS.createElement("div",{className:"Skeleton",style:{height:"46px",borderRadius:"8px",width:"100%"}},dS.createElement("div",{className:"SkeletonBackground"})))),dS.createElement("div",{className:"PaddingTopXS PaddingBottomS"},dS.createElement("div",{className:"SkeletonWrapper",key:"loading"},dS.createElement("div",{className:"Skeleton",style:{height:"50px",borderRadius:"8px",width:"100%"}},dS.createElement("div",{className:"SkeletonBackground"}))))),bodyClassName:"ScrollHeight",body:dS.createElement("div",{className:""},[1,2,3,4,5,6].map((function(e){return dS.createElement("div",{className:"SkeletonWrapper",key:e,style:{marginBottom:"1px"}},dS.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},dS.createElement("div",{className:"SkeletonBackground"})))}))),footer:dS.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},dS.createElement("div",{className:"PaddingTopXS PaddingBottomXS",style:{height:"32px"}}))})},CX=function(e){dS.useContext(mP).what;var t,n=dS.useContext(fS),r=n.open,i=n.close,o=dS.useContext(kZ).selection;return t="SelectToken",dS.createElement(NG,{open:r,close:i,start:t,container:e.container,document:e.document,dialogs:{SelectToken:dS.createElement(DX,{selection:o,resolve:e.resolve,unmount:e.unmount}),SelectBlockchain:dS.createElement(LX,{selection:o,resolve:e.resolve,unmount:e.unmount}),ConfirmTokenSelection:dS.createElement(jX,{selection:o,resolve:e.resolve,unmount:e.unmount})}})},OX={Connect:function(e){var t,n,r;return xZ(),"object"==kL(e)&&(t=e.style,n=e.error,r=e.document),new Promise(function(){var e=xL(jL.mark((function e(i,o){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:EZ({style:t,document:Kq(r)},(function(e){var t=function(){o("USER_CLOSED_DIALOG"),e()};return function(a){return dS.createElement(uZ,{errorCallback:n,container:a,unmount:e},dS.createElement(SZ,null,dS.createElement(yS,{unmount:t},dS.createElement(LZ,null,dS.createElement(Xq,{document:r,container:a,resolve:i,reject:o,autoClose:!0}),dS.createElement(_G,null)))))}}));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}())},Login:function(e){var t,n,r,i,o,a,s;return xZ(),"object"==kL(e)&&(t=e.style,n=e.error,r=e.document,i=e.message,o=e.endpoint,a=e.recover,s=e.wallet),new Promise(function(){var e=xL(jL.mark((function e(u,c){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:EZ({style:t,document:Kq(r)},(function(e){var t=function(){c("USER_CLOSED_DIALOG"),e()};return function(c){return dS.createElement(uZ,{errorCallback:n,container:c,unmount:e},dS.createElement(FZ,{configuration:{message:i,endpoint:o||"/login",recoverSignature:a,wallet:s}},dS.createElement(SZ,null,dS.createElement(yS,{unmount:t},dS.createElement(_G,null),dS.createElement($Z,{container:c,unmount:e},dS.createElement(GZ,{document:r,container:c,stacked:!0,resolve:function(t){var n=t.account,r=t.wallet;e(),u({account:n,wallet:r})}}))))))}}));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}())},Payment:fX,Sale:function(){var e=xL(jL.mark((function e(t){var n,r,i,o,a,s,u,c,l,h,d,f,p,y,m,g,v,w,b,M,A;return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.amount,r=t.sell,i=t.sent,o=t.succeeded,a=t.failed,s=t.error,u=t.critical,c=t.style,l=t.blacklist,h=t.before,d=t.providers,f=t.currency,p=t.connected,y=t.closed,m=t.tokenImage,g=t.closable,v=t.integration,w=t.wallet,b=t.document,xZ(),e.prev=2,e.next=5,IX({sell:r});case 5:return M=Object.keys(r).map((function(e){return{blockchain:e,token:r[e]}})),l=Object.assign(l||{}),Object.keys(r).forEach((function(e){l[e]||(l[e]=[]),l[e].push(r[e])})),A=EZ({style:c,document:Kq(b),closed:y},(function(e){return function(t){return dS.createElement(uZ,{errorCallback:s,container:t,unmount:e},dS.createElement(FZ,{configuration:{type:"sale",accept:M,before:h,tokenImage:m,amount:n,sell:r,currency:f,sent:i,succeeded:o,failed:a,blacklist:l,providers:d,integration:v,wallet:w}},dS.createElement(SZ,null,dS.createElement(yS,{unmount:e,closable:g},dS.createElement($Z,{container:t,connected:p,unmount:e},dS.createElement(OZ,null,dS.createElement(oJ,null,dS.createElement(iJ,null,dS.createElement(hX,null,dS.createElement($J,{document:Kq(b)},dS.createElement(wX,{container:t,document:b},dS.createElement(AX,{document:b,container:t}),dS.createElement(_G,null))))))))))))}})),e.abrupt("return",{unmount:A});case 12:e.prev=12,e.t0=e.catch(2),console.log("critical error",e.t0),null!=u&&u(e.t0);case 16:case"end":return e.stop()}}),e,null,[[2,12]])})));return function(t){return e.apply(this,arguments)}}(),Select:function(e){var t,n,r,i,o;return xZ(),"object"==kL(e)&&(t=e.style,n=e.error,r=e.document,i=e.what),null==i?o='"what" needs to be configured!':["token","nft"].indexOf(i)<0&&(o='Unknown "what" configured: '.concat(i,"!")),new Promise(function(){var e=xL(jL.mark((function e(a,s){return jL.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:EZ({style:t,document:Kq(r)},(function(e){var t=function(){s("USER_CLOSED_DIALOG"),e()};return function(s){return dS.createElement(uZ,{error:o,errorCallback:n,container:s,unmount:e},dS.createElement(FZ,{configuration:{what:i}},dS.createElement(SZ,null,dS.createElement(yS,{unmount:t},dS.createElement(LZ,null,"token"==i&&dS.createElement(CX,{document:r,container:s,unmount:e,resolve:a}),"nft"==i&&dS.createElement(SX,{document:r,container:s,unmount:e,resolve:a})),dS.createElement(_G,null)))))}}));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}())},Loading:VZ,allWallets:TL};export{OX as default};