UNPKG

snapper-sdk

Version:

An SDK for building applications on top of Snapper.

1 lines 56.6 kB
import{PublicKey as Rr}from"@solana/web3.js";import Te from"bn.js";var ue=9e15,ie=1e9,We="0123456789abcdef",Le="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Be="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",qe={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ue,maxE:ue,crypto:!1},ft,Q,w=!0,Ne="[DecimalError] ",re=Ne+"Invalid argument: ",dt=Ne+"Precision limit exceeded",gt=Ne+"crypto unavailable",ht="[object Decimal]",O=Math.floor,E=Math.pow,zt=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Yt=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Qt=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,bt=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,H=1e7,b=7,Zt=9007199254740991,Xt=Le.length-1,Ue=Be.length-1,f={toStringTag:ht};f.absoluteValue=f.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),h(e)};f.ceil=function(){return h(new this.constructor(this),this.e+1,2)};f.clampedTo=f.clamp=function(e,t){var n,r=this,i=r.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(re+t);return n=r.cmp(e),n<0?e:r.cmp(t)>0?t:new i(r)};f.comparedTo=f.cmp=function(e){var t,n,r,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,c=o.s,u=e.s;if(!s||!a)return!c||!u?NaN:c!==u?c:s===a?0:!s^c<0?1:-1;if(!s[0]||!a[0])return s[0]?c:a[0]?-u:0;if(c!==u)return c;if(o.e!==e.e)return o.e>e.e^c<0?1:-1;for(r=s.length,i=a.length,t=0,n=r<i?r:i;t<n;++t)if(s[t]!==a[t])return s[t]>a[t]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1};f.cosine=f.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())+b,r.rounding=1,n=Jt(r,Pt(r,n)),r.precision=e,r.rounding=t,h(Q==2||Q==3?n.neg():n,e,t,!0)):new r(1):new r(NaN)};f.cubeRoot=f.cbrt=function(){var e,t,n,r,i,o,s,a,c,u,l=this,m=l.constructor;if(!l.isFinite()||l.isZero())return new m(l);for(w=!1,o=l.s*E(l.s*l,1/3),!o||Math.abs(o)==1/0?(n=_(l.d),e=l.e,(o=(e-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=E(n,1/3),e=O((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?n="5e"+e:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+e),r=new m(n),r.s=l.s):r=new m(o.toString()),s=(e=m.precision)+3;;)if(a=r,c=a.times(a).times(a),u=c.plus(l),r=S(u.plus(l).times(a),u.plus(c),s+2,1),_(a.d).slice(0,s)===(n=_(r.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!i&&n=="4999"){if(!i&&(h(a,e+1,0),a.times(a).times(a).eq(l))){r=a;break}s+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(h(r,e+1,1),t=!r.times(r).times(r).eq(l));break}return w=!0,h(r,e,m.rounding,t)};f.decimalPlaces=f.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-O(this.e/b))*b,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};f.dividedBy=f.div=function(e){return S(this,new this.constructor(e))};f.dividedToIntegerBy=f.divToInt=function(e){var t=this,n=t.constructor;return h(S(t,new n(e),0,1,1),n.precision,n.rounding)};f.equals=f.eq=function(e){return this.cmp(e)===0};f.floor=function(){return h(new this.constructor(this),this.e+1,3)};f.greaterThan=f.gt=function(e){return this.cmp(e)>0};f.greaterThanOrEqualTo=f.gte=function(e){var t=this.cmp(e);return t==1||t===0};f.hyperbolicCosine=f.cosh=function(){var e,t,n,r,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;n=s.precision,r=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/Ee(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=ce(s,1,o.times(t),new s(1),!0);for(var c,u=e,l=new s(8);u--;)c=o.times(o),o=a.minus(c.times(l.minus(c.times(l))));return h(o,s.precision=n,s.rounding=r,!0)};f.hyperbolicSine=f.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,r<3)i=ce(o,2,i,i,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,i=i.times(1/Ee(5,e)),i=ce(o,2,i,i,!0);for(var s,a=new o(5),c=new o(16),u=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(c.times(s).plus(u))))}return o.precision=t,o.rounding=n,h(i,t,n,!0)};f.hyperbolicTangent=f.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,S(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)};f.inverseCosine=f.acos=function(){var e,t=this,n=t.constructor,r=t.abs().cmp(1),i=n.precision,o=n.rounding;return r!==-1?r===0?t.isNeg()?G(n,i,o):new n(0):new n(NaN):t.isZero()?G(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,t=t.asin(),e=G(n,i+4,o).times(.5),n.precision=i,n.rounding=o,e.minus(t))};f.inverseHyperbolicCosine=f.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,w=!1,n=n.times(n).minus(1).sqrt().plus(n),w=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)};f.inverseHyperbolicSine=f.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,w=!1,n=n.times(n).plus(1).sqrt().plus(n),w=!0,r.precision=e,r.rounding=t,n.ln())};f.inverseHyperbolicTangent=f.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?h(new o(i),e,t,!0):(o.precision=n=r-i.e,i=S(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)};f.inverseSine=f.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,t!==-1?t===0?(e=G(o,n+4,r).times(.5),e.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)))};f.inverseTangent=f.atan=function(){var e,t,n,r,i,o,s,a,c,u=this,l=u.constructor,m=l.precision,p=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&m+4<=Ue)return s=G(l,m+4,p).times(.25),s.s=u.s,s}else{if(!u.s)return new l(NaN);if(m+4<=Ue)return s=G(l,m+4,p).times(.5),s.s=u.s,s}for(l.precision=a=m+10,l.rounding=1,n=Math.min(28,a/b+2|0),e=n;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(w=!1,t=Math.ceil(a/b),r=1,c=u.times(u),s=new l(u),i=u;e!==-1;)if(i=i.times(c),o=s.minus(i.div(r+=2)),i=i.times(c),s=o.plus(i.div(r+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return n&&(s=s.times(2<<n-1)),w=!0,h(s,l.precision=m,l.rounding=p,!0)};f.isFinite=function(){return!!this.d};f.isInteger=f.isInt=function(){return!!this.d&&O(this.e/b)>this.d.length-2};f.isNaN=function(){return!this.s};f.isNegative=f.isNeg=function(){return this.s<0};f.isPositive=f.isPos=function(){return this.s>0};f.isZero=function(){return!!this.d&&this.d[0]===0};f.lessThan=f.lt=function(e){return this.cmp(e)<0};f.lessThanOrEqualTo=f.lte=function(e){return this.cmp(e)<1};f.logarithm=f.log=function(e){var t,n,r,i,o,s,a,c,u=this,l=u.constructor,m=l.precision,p=l.rounding,g=5;if(e==null)e=new l(10),t=!0;else{if(e=new l(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(n=u.d,u.s<0||!n||!n[0]||u.eq(1))return new l(n&&!n[0]?-1/0:u.s!=1?NaN:n?0:1/0);if(t)if(n.length>1)o=!0;else{for(i=n[0];i%10===0;)i/=10;o=i!==1}if(w=!1,a=m+g,s=ne(u,a),r=t?Ie(l,a+10):ne(e,a),c=S(s,r,a,1),pe(c.d,i=m,p))do if(a+=10,s=ne(u,a),r=t?Ie(l,a+10):ne(e,a),c=S(s,r,a,1),!o){+_(c.d).slice(i+1,i+15)+1==1e14&&(c=h(c,m+1,0));break}while(pe(c.d,i+=10,p));return w=!0,h(c,m,p)};f.minus=f.sub=function(e){var t,n,r,i,o,s,a,c,u,l,m,p,g=this,x=g.constructor;if(e=new x(e),!g.d||!e.d)return!g.s||!e.s?e=new x(NaN):g.d?e.s=-e.s:e=new x(e.d||g.s!==e.s?g:NaN),e;if(g.s!=e.s)return e.s=-e.s,g.plus(e);if(u=g.d,p=e.d,a=x.precision,c=x.rounding,!u[0]||!p[0]){if(p[0])e.s=-e.s;else if(u[0])e=new x(g);else return new x(c===3?-0:0);return w?h(e,a,c):e}if(n=O(e.e/b),l=O(g.e/b),u=u.slice(),o=l-n,o){for(m=o<0,m?(t=u,o=-o,s=p.length):(t=p,n=l,s=u.length),r=Math.max(Math.ceil(a/b),s)+2,o>r&&(o=r,t.length=1),t.reverse(),r=o;r--;)t.push(0);t.reverse()}else{for(r=u.length,s=p.length,m=r<s,m&&(s=r),r=0;r<s;r++)if(u[r]!=p[r]){m=u[r]<p[r];break}o=0}for(m&&(t=u,u=p,p=t,e.s=-e.s),s=u.length,r=p.length-s;r>0;--r)u[s++]=0;for(r=p.length;r>o;){if(u[--r]<p[r]){for(i=r;i&&u[--i]===0;)u[i]=H-1;--u[i],u[r]+=H}u[r]-=p[r]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--n;return u[0]?(e.d=u,e.e=Ce(u,n),w?h(e,a,c):e):new x(c===3?-0:0)};f.modulo=f.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]?h(new r(n),r.precision,r.rounding):(w=!1,r.modulo==9?(t=S(n,e.abs(),0,3,1),t.s*=e.s):t=S(n,e,0,r.modulo,1),t=t.times(e),w=!0,n.minus(t))};f.naturalExponential=f.exp=function(){return Ge(this)};f.naturalLogarithm=f.ln=function(){return ne(this)};f.negated=f.neg=function(){var e=new this.constructor(this);return e.s=-e.s,h(e)};f.plus=f.add=function(e){var t,n,r,i,o,s,a,c,u,l,m=this,p=m.constructor;if(e=new p(e),!m.d||!e.d)return!m.s||!e.s?e=new p(NaN):m.d||(e=new p(e.d||m.s===e.s?m:NaN)),e;if(m.s!=e.s)return e.s=-e.s,m.minus(e);if(u=m.d,l=e.d,a=p.precision,c=p.rounding,!u[0]||!l[0])return l[0]||(e=new p(m)),w?h(e,a,c):e;if(o=O(m.e/b),r=O(e.e/b),u=u.slice(),i=o-r,i){for(i<0?(n=u,i=-i,s=l.length):(n=l,r=o,s=u.length),o=Math.ceil(a/b),s=o>s?o+1:s+1,i>s&&(i=s,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(s=u.length,i=l.length,s-i<0&&(i=s,n=l,l=u,u=n),t=0;i;)t=(u[--i]=u[i]+l[i]+t)/H|0,u[i]%=H;for(t&&(u.unshift(t),++r),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=Ce(u,r),w?h(e,a,c):e};f.precision=f.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(re+e);return n.d?(t=yt(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};f.round=function(){var e=this,t=e.constructor;return h(new t(e),e.e+1,t.rounding)};f.sine=f.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())+b,r.rounding=1,n=en(r,Pt(r,n)),r.precision=e,r.rounding=t,h(Q>2?n.neg():n,e,t,!0)):new r(NaN)};f.squareRoot=f.sqrt=function(){var e,t,n,r,i,o,s=this,a=s.d,c=s.e,u=s.s,l=s.constructor;if(u!==1||!a||!a[0])return new l(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(w=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=_(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=O((c+1)/2)-(c<0||c%2),u==1/0?t="5e"+c:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),r=new l(t)):r=new l(u.toString()),n=(c=l.precision)+3;;)if(o=r,r=o.plus(S(s,o,n+2,1)).times(.5),_(o.d).slice(0,n)===(t=_(r.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!i&&t=="4999"){if(!i&&(h(o,c+1,0),o.times(o).eq(s))){r=o;break}n+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(h(r,c+1,1),e=!r.times(r).eq(s));break}return w=!0,h(r,c,l.rounding,e)};f.tangent=f.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(),n.s=1,n=S(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,h(Q==2||Q==4?n.neg():n,e,t,!0)):new r(NaN)};f.times=f.mul=function(e){var t,n,r,i,o,s,a,c,u,l=this,m=l.constructor,p=l.d,g=(e=new m(e)).d;if(e.s*=l.s,!p||!p[0]||!g||!g[0])return new m(!e.s||p&&!p[0]&&!g||g&&!g[0]&&!p?NaN:!p||!g?e.s/0:e.s*0);for(n=O(l.e/b)+O(e.e/b),c=p.length,u=g.length,c<u&&(o=p,p=g,g=o,s=c,c=u,u=s),o=[],s=c+u,r=s;r--;)o.push(0);for(r=u;--r>=0;){for(t=0,i=c+r;i>r;)a=o[i]+g[r]*p[i-r-1]+t,o[i--]=a%H|0,t=a/H|0;o[i]=(o[i]+t)%H|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=Ce(o,n),w?h(e,m.precision,m.rounding):e};f.toBinary=function(e,t){return je(this,2,e,t)};f.toDecimalPlaces=f.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(V(e,0,ie),t===void 0?t=r.rounding:V(t,0,8),h(n,e+n.e+1,t))};f.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=j(r,!0):(V(e,0,ie),t===void 0?t=i.rounding:V(t,0,8),r=h(new i(r),e+1,t),n=j(r,!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};f.toFixed=function(e,t){var n,r,i=this,o=i.constructor;return e===void 0?n=j(i):(V(e,0,ie),t===void 0?t=o.rounding:V(t,0,8),r=h(new o(i),e+i.e+1,t),n=j(r,!1,e+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};f.toFraction=function(e){var t,n,r,i,o,s,a,c,u,l,m,p,g=this,x=g.d,y=g.constructor;if(!x)return new y(g);if(u=n=new y(1),r=c=new y(0),t=new y(r),o=t.e=yt(x)-g.e-1,s=o%b,t.d[0]=E(10,s<0?b+s:s),e==null)e=o>0?t:u;else{if(a=new y(e),!a.isInt()||a.lt(u))throw Error(re+a);e=a.gt(t)?o>0?t:u:a}for(w=!1,a=new y(_(x)),l=y.precision,y.precision=o=x.length*b*2;m=S(a,t,0,1,1),i=n.plus(m.times(r)),i.cmp(e)!=1;)n=r,r=i,i=u,u=c.plus(m.times(i)),c=i,i=t,t=a.minus(m.times(i)),a=i;return i=S(e.minus(n),r,0,1,1),c=c.plus(i.times(u)),n=n.plus(i.times(r)),c.s=u.s=g.s,p=S(u,r,o,1).minus(g).abs().cmp(S(c,n,o,1).minus(g).abs())<1?[u,r]:[c,n],y.precision=l,w=!0,p};f.toHexadecimal=f.toHex=function(e,t){return je(this,16,e,t)};f.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),e==null){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),t===void 0?t=r.rounding:V(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]?(w=!1,n=S(n,e,0,t,1).times(e),w=!0,h(n)):(e.s=n.s,n=e),n};f.toNumber=function(){return+this};f.toOctal=function(e,t){return je(this,8,e,t)};f.toPower=f.pow=function(e){var t,n,r,i,o,s,a=this,c=a.constructor,u=+(e=new c(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new c(E(+a,u));if(a=new c(a),a.eq(1))return a;if(r=c.precision,o=c.rounding,e.eq(1))return h(a,r,o);if(t=O(e.e/b),t>=e.d.length-1&&(n=u<0?-u:u)<=Zt)return i=wt(c,a,n,r),e.s<0?new c(1).div(i):h(i,r,o);if(s=a.s,s<0){if(t<e.d.length-1)return new c(NaN);if((e.d[t]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return n=E(+a,u),t=n==0||!isFinite(n)?O(u*(Math.log("0."+_(a.d))/Math.LN10+a.e+1)):new c(n+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?s/0:0):(w=!1,c.rounding=a.s=1,n=Math.min(12,(t+"").length),i=Ge(e.times(ne(a,r+n)),r),i.d&&(i=h(i,r+5,1),pe(i.d,r,o)&&(t=r+10,i=h(Ge(e.times(ne(a,t+n)),t),t+5,1),+_(i.d).slice(r+1,r+15)+1==1e14&&(i=h(i,r+1,0)))),i.s=s,w=!0,c.rounding=o,h(i,r,o))};f.toPrecision=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=j(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(V(e,1,ie),t===void 0?t=i.rounding:V(t,0,8),r=h(new i(r),e,t),n=j(r,e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n};f.toSignificantDigits=f.toSD=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(V(e,1,ie),t===void 0?t=r.rounding:V(t,0,8)),h(new r(n),e,t)};f.toString=function(){var e=this,t=e.constructor,n=j(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};f.truncated=f.trunc=function(){return h(new this.constructor(this),this.e+1,1)};f.valueOf=f.toJSON=function(){var e=this,t=e.constructor,n=j(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function _(e){var t,n,r,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;t<i;t++)r=e[t]+"",n=b-r.length,n&&(o+=te(n)),o+=r;s=e[t],r=s+"",n=b-r.length,n&&(o+=te(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function V(e,t,n){if(e!==~~e||e<t||e>n)throw Error(re+e)}function pe(e,t,n,r){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=b,i=0):(i=Math.ceil((t+1)/b),t%=b),o=E(10,b-t),a=e[i]%o|0,r==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=n<4&&a==99999||n>3&&a==49999||a==5e4||a==0):s=(n<4&&a+1==o||n>3&&a+1==o/2)&&(e[i+1]/o/100|0)==E(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(r||n<4)&&a==9999||!r&&n>3&&a==4999):s=((r||n<4)&&a+1==o||!r&&n>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==E(10,t-3)-1,s}function Se(e,t,n){for(var r,i=[0],o,s=0,a=e.length;s<a;){for(o=i.length;o--;)i[o]*=t;for(i[0]+=We.indexOf(e.charAt(s++)),r=0;r<i.length;r++)i[r]>n-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/n|0,i[r]%=n)}return i.reverse()}function Jt(e,t){var n,r,i;if(t.isZero())return t;r=t.d.length,r<32?(n=Math.ceil(r/3),i=(1/Ee(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),e.precision+=n,t=ce(e,1,t.times(i),new e(1));for(var o=n;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=n,t}var S=function(){function e(r,i,o){var s,a=0,c=r.length;for(r=r.slice();c--;)s=r[c]*i+a,r[c]=s%o|0,a=s/o|0;return a&&r.unshift(a),r}function t(r,i,o,s){var a,c;if(o!=s)c=o>s?1:-1;else for(a=c=0;a<o;a++)if(r[a]!=i[a]){c=r[a]>i[a]?1:-1;break}return c}function n(r,i,o,s){for(var a=0;o--;)r[o]-=a,a=r[o]<i[o]?1:0,r[o]=a*s+r[o]-i[o];for(;!r[0]&&r.length>1;)r.shift()}return function(r,i,o,s,a,c){var u,l,m,p,g,x,y,M,B,K,A,R,xe,Y,Fe,Pe,me,Ve,U,ke,Ae=r.constructor,Ke=r.s==i.s?1:-1,D=r.d,L=i.d;if(!D||!D[0]||!L||!L[0])return new Ae(!r.s||!i.s||(D?L&&D[0]==L[0]:!L)?NaN:D&&D[0]==0||!L?Ke*0:Ke/0);for(c?(g=1,l=r.e-i.e):(c=H,g=b,l=O(r.e/g)-O(i.e/g)),U=L.length,me=D.length,B=new Ae(Ke),K=B.d=[],m=0;L[m]==(D[m]||0);m++);if(L[m]>(D[m]||0)&&l--,o==null?(Y=o=Ae.precision,s=Ae.rounding):a?Y=o+(r.e-i.e)+1:Y=o,Y<0)K.push(1),x=!0;else{if(Y=Y/g+2|0,m=0,U==1){for(p=0,L=L[0],Y++;(m<me||p)&&Y--;m++)Fe=p*c+(D[m]||0),K[m]=Fe/L|0,p=Fe%L|0;x=p||m<me}else{for(p=c/(L[0]+1)|0,p>1&&(L=e(L,p,c),D=e(D,p,c),U=L.length,me=D.length),Pe=U,A=D.slice(0,U),R=A.length;R<U;)A[R++]=0;ke=L.slice(),ke.unshift(0),Ve=L[0],L[1]>=c/2&&++Ve;do p=0,u=t(L,A,U,R),u<0?(xe=A[0],U!=R&&(xe=xe*c+(A[1]||0)),p=xe/Ve|0,p>1?(p>=c&&(p=c-1),y=e(L,p,c),M=y.length,R=A.length,u=t(y,A,M,R),u==1&&(p--,n(y,U<M?ke:L,M,c))):(p==0&&(u=p=1),y=L.slice()),M=y.length,M<R&&y.unshift(0),n(A,y,R,c),u==-1&&(R=A.length,u=t(L,A,U,R),u<1&&(p++,n(A,U<R?ke:L,R,c))),R=A.length):u===0&&(p++,A=[0]),K[m++]=p,u&&A[0]?A[R++]=D[Pe]||0:(A=[D[Pe]],R=1);while((Pe++<me||A[0]!==void 0)&&Y--);x=A[0]!==void 0}K[0]||K.shift()}if(g==1)B.e=l,ft=x;else{for(m=1,p=K[0];p>=10;p/=10)m++;B.e=m+l*g-1,h(B,a?o+B.e+1:o,s,x)}return B}}();function h(e,t,n,r){var i,o,s,a,c,u,l,m,p,g=e.constructor;e:if(t!=null){if(m=e.d,!m)return e;for(i=1,a=m[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=b,s=t,l=m[p=0],c=l/E(10,i-s-1)%10|0;else if(p=Math.ceil((o+1)/b),a=m.length,p>=a)if(r){for(;a++<=p;)m.push(0);l=c=0,i=1,o%=b,s=o-b+1}else break e;else{for(l=a=m[p],i=1;a>=10;a/=10)i++;o%=b,s=o-b+i,c=s<0?0:l/E(10,i-s-1)%10|0}if(r=r||t<0||m[p+1]!==void 0||(s<0?l:l%E(10,i-s-1)),u=n<4?(c||r)&&(n==0||n==(e.s<0?3:2)):c>5||c==5&&(n==4||r||n==6&&(o>0?s>0?l/E(10,i-s):0:m[p-1])%10&1||n==(e.s<0?8:7)),t<1||!m[0])return m.length=0,u?(t-=e.e+1,m[0]=E(10,(b-t%b)%b),e.e=-t||0):m[0]=e.e=0,e;if(o==0?(m.length=p,a=1,p--):(m.length=p+1,a=E(10,b-o),m[p]=s>0?(l/E(10,i-s)%E(10,s)|0)*a:0),u)for(;;)if(p==0){for(o=1,s=m[0];s>=10;s/=10)o++;for(s=m[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,m[0]==H&&(m[0]=1));break}else{if(m[p]+=a,m[p]!=H)break;m[p--]=0,a=1}for(o=m.length;m[--o]===0;)m.pop()}return w&&(e.e>g.maxE?(e.d=null,e.e=NaN):e.e<g.minE&&(e.e=0,e.d=[0])),e}function j(e,t,n){if(!e.isFinite())return xt(e);var r,i=e.e,o=_(e.d),s=o.length;return t?(n&&(r=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+te(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+te(-i-1)+o,n&&(r=n-s)>0&&(o+=te(r))):i>=s?(o+=te(i+1-s),n&&(r=n-i-1)>0&&(o=o+"."+te(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-s)>0&&(i+1===s&&(o+="."),o+=te(r))),o}function Ce(e,t){var n=e[0];for(t*=b;n>=10;n/=10)t++;return t}function Ie(e,t,n){if(t>Xt)throw w=!0,n&&(e.precision=n),Error(dt);return h(new e(Le),t,1,!0)}function G(e,t,n){if(t>Ue)throw Error(dt);return h(new e(Be),t,n,!0)}function yt(e){var t=e.length-1,n=t*b+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function te(e){for(var t="";e--;)t+="0";return t}function wt(e,t,n,r){var i,o=new e(1),s=Math.ceil(r/b+4);for(w=!1;;){if(n%2&&(o=o.times(t),mt(o.d,s)&&(i=!0)),n=O(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}t=t.times(t),mt(t.d,s)}return w=!0,o}function lt(e){return e.d[e.d.length-1]&1}function Tt(e,t,n){for(var r,i=new e(t[0]),o=0;++o<t.length;)if(r=new e(t[o]),r.s)i[n](r)&&(i=r);else{i=r;break}return i}function Ge(e,t){var n,r,i,o,s,a,c,u=0,l=0,m=0,p=e.constructor,g=p.rounding,x=p.precision;if(!e.d||!e.d[0]||e.e>17)return new p(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(w=!1,c=x):c=t,a=new p(.03125);e.e>-2;)e=e.times(a),m+=5;for(r=Math.log(E(2,m))/Math.LN10*2+5|0,c+=r,n=o=s=new p(1),p.precision=c;;){if(o=h(o.times(e),c,1),n=n.times(++l),a=s.plus(S(o,n,c,1)),_(a.d).slice(0,c)===_(s.d).slice(0,c)){for(i=m;i--;)s=h(s.times(s),c,1);if(t==null)if(u<3&&pe(s.d,c-r,g,u))p.precision=c+=10,n=o=a=new p(1),l=0,u++;else return h(s,p.precision=x,g,w=!0);else return p.precision=x,s}s=a}}function ne(e,t){var n,r,i,o,s,a,c,u,l,m,p,g=1,x=10,y=e,M=y.d,B=y.constructor,K=B.rounding,A=B.precision;if(y.s<0||!M||!M[0]||!y.e&&M[0]==1&&M.length==1)return new B(M&&!M[0]?-1/0:y.s!=1?NaN:M?0:y);if(t==null?(w=!1,l=A):l=t,B.precision=l+=x,n=_(M),r=n.charAt(0),Math.abs(o=y.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)y=y.times(e),n=_(y.d),r=n.charAt(0),g++;o=y.e,r>1?(y=new B("0."+n),o++):y=new B(r+"."+n.slice(1))}else return u=Ie(B,l+2,A).times(o+""),y=ne(new B(r+"."+n.slice(1)),l-x).plus(u),B.precision=A,t==null?h(y,A,K,w=!0):y;for(m=y,c=s=y=S(y.minus(1),y.plus(1),l,1),p=h(y.times(y),l,1),i=3;;){if(s=h(s.times(p),l,1),u=c.plus(S(s,new B(i),l,1)),_(u.d).slice(0,l)===_(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(Ie(B,l+2,A).times(o+""))),c=S(c,new B(g),l,1),t==null)if(pe(c.d,l-x,K,a))B.precision=l+=x,u=s=y=S(m.minus(1),m.plus(1),l,1),p=h(y.times(y),l,1),i=a=1;else return h(c,B.precision=A,K,w=!0);else return B.precision=A,c;c=u,i+=2}}function xt(e){return String(e.s*e.s/0)}function He(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;t.charCodeAt(r)===48;r++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(r,i),t){if(i-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%b,n<0&&(r+=b),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=b;r<i;)e.d.push(+t.slice(r,r+=b));t=t.slice(r),r=b-t.length}else r-=i;for(;r--;)t+="0";e.d.push(+t),w&&(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 $t(e,t){var n,r,i,o,s,a,c,u,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),bt.test(t))return He(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Yt.test(t))n=16,t=t.toLowerCase();else if(zt.test(t))n=2;else if(Qt.test(t))n=8;else throw Error(re+t);for(o=t.search(/p/i),o>0?(c=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,r=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=wt(r,new r(n),o,o*2)),u=Se(t,n,H),l=u.length-1,o=l;u[o]===0;--o)u.pop();return o<0?new r(e.s*0):(e.e=Ce(u,l),e.d=u,w=!1,s&&(e=S(e,i,a*4)),c&&(e=e.times(Math.abs(c)<54?E(2,c):fe.pow(2,c))),w=!0,e)}function en(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:ce(e,2,t,t);n=1.4*Math.sqrt(r),n=n>16?16:n|0,t=t.times(1/Ee(5,n)),t=ce(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);n--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function ce(e,t,n,r,i){var o,s,a,c,u=1,l=e.precision,m=Math.ceil(l/b);for(w=!1,c=n.times(n),a=new e(r);;){if(s=S(a.times(c),new e(t++*t++),l,1),a=i?r.plus(s):r.minus(s),r=S(s.times(c),new e(t++*t++),l,1),s=a.plus(r),s.d[m]!==void 0){for(o=m;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=r,r=s,s=o,u++}return w=!0,s.d.length=m+1,s}function Ee(e,t){for(var n=e;--t;)n*=e;return n}function Pt(e,t){var n,r=t.s<0,i=G(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return Q=r?4:1,t;if(n=t.divToInt(i),n.isZero())Q=r?3:2;else{if(t=t.minus(n.times(i)),t.lte(o))return Q=lt(n)?r?2:3:r?4:1,t;Q=lt(n)?r?1:4:r?3:2}return t.minus(i).abs()}function je(e,t,n,r){var i,o,s,a,c,u,l,m,p,g=e.constructor,x=n!==void 0;if(x?(V(n,1,ie),r===void 0?r=g.rounding:V(r,0,8)):(n=g.precision,r=g.rounding),!e.isFinite())l=xt(e);else{for(l=j(e),s=l.indexOf("."),x?(i=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):i=t,s>=0&&(l=l.replace(".",""),p=new g(1),p.e=l.length-s,p.d=Se(j(p),10,i),p.e=p.d.length),m=Se(l,10,i),o=c=m.length;m[--c]==0;)m.pop();if(!m[0])l=x?"0p+0":"0";else{if(s<0?o--:(e=new g(e),e.d=m,e.e=o,e=S(e,p,n,r,0,i),m=e.d,o=e.e,u=ft),s=m[n],a=i/2,u=u||m[n+1]!==void 0,u=r<4?(s!==void 0||u)&&(r===0||r===(e.s<0?3:2)):s>a||s===a&&(r===4||u||r===6&&m[n-1]&1||r===(e.s<0?8:7)),m.length=n,u)for(;++m[--n]>i-1;)m[n]=0,n||(++o,m.unshift(1));for(c=m.length;!m[c-1];--c);for(s=0,l="";s<c;s++)l+=We.charAt(m[s]);if(x){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)l+="0";for(m=Se(l,i,t),c=m.length;!m[c-1];--c);for(s=1,l="1.";s<c;s++)l+=We.charAt(m[s])}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>c)for(o-=c;o--;)l+="0";else o<c&&(l=l.slice(0,o)+"."+l.slice(o))}l=(t==16?"0x":t==2?"0b":t==8?"0o":"")+l}return e.s<0?"-"+l:l}function mt(e,t){if(e.length>t)return e.length=t,!0}function tn(e){return new this(e).abs()}function nn(e){return new this(e).acos()}function rn(e){return new this(e).acosh()}function on(e,t){return new this(e).plus(t)}function sn(e){return new this(e).asin()}function an(e){return new this(e).asinh()}function un(e){return new this(e).atan()}function cn(e){return new this(e).atanh()}function ln(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?n=new this(NaN):!e.d&&!t.d?(n=G(this,o,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?G(this,r,i):new this(0),n.s=e.s):!e.d||t.isZero()?(n=G(this,o,1).times(.5),n.s=e.s):t.s<0?(this.precision=o,this.rounding=1,n=this.atan(S(e,t,o,1)),t=G(this,o,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(S(e,t,o,1)),n}function mn(e){return new this(e).cbrt()}function pn(e){return h(e=new this(e),e.e+1,2)}function fn(e,t,n){return new this(e).clamp(t,n)}function dn(e){if(!e||typeof e!="object")throw Error(Ne+"Object expected");var t,n,r,i=e.defaults===!0,o=["precision",1,ie,"rounding",0,8,"toExpNeg",-ue,0,"toExpPos",0,ue,"maxE",0,ue,"minE",-ue,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],i&&(this[n]=qe[n]),(r=e[n])!==void 0)if(O(r)===r&&r>=o[t+1]&&r<=o[t+2])this[n]=r;else throw Error(re+n+": "+r);if(n="crypto",i&&(this[n]=qe[n]),(r=e[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(gt);else this[n]=!1;else throw Error(re+n+": "+r);return this}function gn(e){return new this(e).cos()}function hn(e){return new this(e).cosh()}function kt(e){var t,n,r;function i(o){var s,a,c,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,pt(o)){u.s=o.s,w?!o.d||o.e>i.maxE?(u.e=NaN,u.d=null):o.e<i.minE?(u.e=0,u.d=[0]):(u.e=o.e,u.d=o.d.slice()):(u.e=o.e,u.d=o.d?o.d.slice():o.d);return}if(c=typeof o,c==="number"){if(o===0){u.s=1/o<0?-1:1,u.e=0,u.d=[0];return}if(o<0?(o=-o,u.s=-1):u.s=1,o===~~o&&o<1e7){for(s=0,a=o;a>=10;a/=10)s++;w?s>i.maxE?(u.e=NaN,u.d=null):s<i.minE?(u.e=0,u.d=[0]):(u.e=s,u.d=[o]):(u.e=s,u.d=[o]);return}else if(o*0!==0){o||(u.s=NaN),u.e=NaN,u.d=null;return}return He(u,o.toString())}else if(c!=="string")throw Error(re+o);return(a=o.charCodeAt(0))===45?(o=o.slice(1),u.s=-1):(a===43&&(o=o.slice(1)),u.s=1),bt.test(o)?He(u,o):$t(u,o)}if(i.prototype=f,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=dn,i.clone=kt,i.isDecimal=pt,i.abs=tn,i.acos=nn,i.acosh=rn,i.add=on,i.asin=sn,i.asinh=an,i.atan=un,i.atanh=cn,i.atan2=ln,i.cbrt=mn,i.ceil=pn,i.clamp=fn,i.cos=gn,i.cosh=hn,i.div=bn,i.exp=yn,i.floor=wn,i.hypot=Tn,i.ln=xn,i.log=Pn,i.log10=An,i.log2=kn,i.max=Sn,i.min=Ln,i.mod=Bn,i.mul=In,i.pow=Nn,i.random=Cn,i.round=En,i.sign=Mn,i.sin=_n,i.sinh=Rn,i.sqrt=Dn,i.sub=On,i.sum=vn,i.tan=Fn,i.tanh=Vn,i.trunc=Kn,e===void 0&&(e={}),e&&e.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)e.hasOwnProperty(n=r[t++])||(e[n]=this[n]);return i.config(e),i}function bn(e,t){return new this(e).div(t)}function yn(e){return new this(e).exp()}function wn(e){return h(e=new this(e),e.e+1,3)}function Tn(){var e,t,n=new this(0);for(w=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return w=!0,new this(1/0);n=t}return w=!0,n.sqrt()}function pt(e){return e instanceof fe||e&&e.toStringTag===ht||!1}function xn(e){return new this(e).ln()}function Pn(e,t){return new this(e).log(t)}function kn(e){return new this(e).log(2)}function An(e){return new this(e).log(10)}function Sn(){return Tt(this,arguments,"lt")}function Ln(){return Tt(this,arguments,"gt")}function Bn(e,t){return new this(e).mod(t)}function In(e,t){return new this(e).mul(t)}function Nn(e,t){return new this(e).pow(t)}function Cn(e){var t,n,r,i,o=0,s=new this(1),a=[];if(e===void 0?e=this.precision:V(e,1,ie),r=Math.ceil(e/b),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));o<r;)i=t[o],i>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);o<r;)i=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((t[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=r/4}else throw Error(gt);else for(;o<r;)a[o++]=Math.random()*1e7|0;for(r=a[--o],e%=b,r&&e&&(i=E(10,b-e),a[o]=(r/i|0)*i);a[o]===0;o--)a.pop();if(o<0)n=0,a=[0];else{for(n=-1;a[0]===0;n-=b)a.shift();for(r=1,i=a[0];i>=10;i/=10)r++;r<b&&(n-=b-r)}return s.e=n,s.d=a,s}function En(e){return h(e=new this(e),e.e+1,this.rounding)}function Mn(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function _n(e){return new this(e).sin()}function Rn(e){return new this(e).sinh()}function Dn(e){return new this(e).sqrt()}function On(e,t){return new this(e).sub(t)}function vn(){var e=0,t=arguments,n=new this(t[e]);for(w=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return w=!0,h(n,this.precision,this.rounding)}function Fn(e){return new this(e).tan()}function Vn(e){return new this(e).tanh()}function Kn(e){return h(e=new this(e),e.e+1,1)}f[Symbol.for("nodejs.util.inspect.custom")]=f.toString;f[Symbol.toStringTag]="Decimal";var fe=f.constructor=kt(qe);Le=new fe(Le);Be=new fe(Be);var de=fe;import{TOKEN_PROGRAM_ID as Dr}from"@solana/spl-token";import{ComputeBudgetProgram as Gr,Keypair as zr,PublicKey as Lt,Transaction as Ye,TransactionMessage as Zr,VersionedTransaction as Xr}from"@solana/web3.js";import{get as At,set as Wn}from"lodash";var ze=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},St={},qn={};function v(e){let t=At(St,e);if(!t){let n=At(qn,e);t=new ze({name:e,logLevel:n}),Wn(St,e,t)}return t}import{TOKEN_PROGRAM_ID as ti}from"@solana/spl-token";var Z=v("Raydium_txUtil"),Gn=1644;function Hn(e,t){e.length<1&&Z.logWithError(`no instructions provided: ${e.toString()}`),t.length<1&&Z.logWithError(`no signers provided:, ${t.toString()}`);let n=new Ye;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...e);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<Gn}catch{return!1}}async function Bt(e,t,n,r=!0){let i=new Lt("RaydiumSimuLateTransaction11111111111111111"),o=[],s=new Ye;s.feePayer=i;for(let u of t)Hn([...s.instructions,u],[i])||(o.push(s),s=new Ye,s.feePayer=i),s.add(u);s.instructions.length>0&&o.push(s);let a=[];try{if(a=await jn(e,o,r),a.find(u=>u.err!==null))throw Error("rpc simulateTransaction error")}catch(u){u instanceof Error&&Z.logWithError("failed to simulate for instructions","RPC_ERROR",{message:u.message})}let c=[];for(let u of a)if(Z.debug("simulate result:",u),u.logs){let l=u.logs.filter(m=>m&&m.includes(n));Z.debug("filteredLog:",c),l.length||Z.logWithError("simulate log not match keyword","keyword",n),c.push(...l)}return c}function It(e,t){let n=e.match(/{["\w:,]+}/g);return!n||n.length!==1?Z.logWithError(`simulate log fail to match json, keyword: ${t}`):n[0]}function X(e,t){let r=new RegExp(`"${t}":(\\d+)`,"g").exec(e);return!r||r.length!==2?Z.logWithError(`simulate log fail to match key", key: ${t}`):r[1]}function le(e,t){let[n,r]=Lt.findProgramAddressSync(e,t);return{publicKey:n,nonce:r}}async function jn(e,t,n){let r=[];if(n){let i=await e.getLatestBlockhash(),o=[];for(let u of t){u.recentBlockhash=i.blockhash,u.lastValidBlockHeight=i.lastValidBlockHeight;let m=u._compile().serialize(),g=u._serialize(m).toString("base64");o.push(g)}let s=o.map(u=>{let l=e._buildArgs([u],void 0,"base64");return{methodName:"simulateTransaction",args:l}}),a=[],c=20;for(let u=0;u<Math.ceil(s.length/c);u++)a.push(s.slice(u*c,(u+1)*c));r=await(await Promise.all(a.map(async u=>(await e._rpcBatchRequest(u)).map(l=>l.result.value)))).flat()}else try{r=await Promise.all(t.map(async i=>await(await e.simulateTransaction(i)).value))}catch(i){i instanceof Error&&Z.logWithError("failed to get info for multiple accounts","RPC_ERROR",{message:i.message})}return r}import{PublicKey as ru}from"@solana/web3.js";import{MintLayout as ou,TOKEN_PROGRAM_ID as au}from"@solana/spl-token";import dr from"big.js";import Da from"bn.js";import J from"bn.js";import{PublicKey as zn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Nt}from"@solana/spl-token";var Qe={chainId:101,address:zn.default.toBase58(),programId:Nt.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},oe={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Nt.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as $e}from"@solana/web3.js";import{PublicKey as N,SystemProgram as Ct,SYSVAR_RENT_PUBKEY as Yn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Qn}from"@solana/spl-token";function W({pubkey:e,isSigner:t=!1,isWritable:n=!0}){return{pubkey:e,isWritable:n,isSigner:t}}var ci=[W({pubkey:Qn,isWritable:!1}),W({pubkey:Ct.programId,isWritable:!1}),W({pubkey:Yn,isWritable:!1})];function Xe({publicKey:e,transformSol:t}){let n=Et(e.toString());if(n instanceof N)return t&&n.equals(ge)?Ze:n;if(t&&n.toString()===ge.toBase58())return Ze;if(typeof n=="string"){if(n===N.default.toBase58())return N.default;try{return new N(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function Et(e){try{return new N(e)}catch{return e}}var li=new N("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),mi=new N("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Zn=new N("SysvarRent111111111111111111111111111111111"),pi=new N("SysvarC1ock11111111111111111111111111111111"),fi=new N("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),di=new N("Sysvar1nstructions1111111111111111111111111"),gi=Ct.programId,hi=new N("2cpMA1jNS4obgRz8XNg38QuSP83L1AXpUgfxPNcvnAGj"),bi=new N("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),yi=new N("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),wi=new N("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Ti=new N("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),xi=new N("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Pi=new N("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),ki=new N("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Ai=new N("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Si=new N("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Li=new N("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),Ze=new N("So11111111111111111111111111111111111111112"),ge=N.default;function Je(e){return Xe({publicKey:e,transformSol:!0})}var et=class{constructor({mint:t,decimals:n,symbol:r,name:i,skipMint:o=!1,isToken2022:s=!1}){if(t===ge.toBase58()||t instanceof $e&&ge.equals(t)){this.decimals=oe.decimals,this.symbol=oe.symbol,this.name=oe.name,this.mint=new $e(oe.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||t.toString().substring(0,6),this.name=i||t.toString().substring(0,6),this.mint=o?$e.default:Xe({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},se=et;se.WSOL=new et({...oe,mint:oe.address});var tt=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},Me=tt;Me.SOL=new tt(Qe);import Re from"big.js";import er from"bn.js";import tr from"decimal.js-light";import he from"bn.js";var Mt=9007199254740991;function z(e){let t=v("Raydium_parseBigNumberish");if(e instanceof he)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new he(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=Mt||e<=-Mt)&&t.logWithError(`BigNumberish number overflow: ${e}`),new he(String(e))):typeof e=="bigint"?new he(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new he(0))}import Xn from"toformat";var Jn=Xn,be=Jn;var _e=v("module/fraction"),nt=be(Re),ye=be(tr),nr={[0]:ye.ROUND_DOWN,[1]:ye.ROUND_HALF_UP,[2]:ye.ROUND_UP},rr={[0]:Re.roundDown,[1]:Re.roundHalfUp,[2]:Re.roundUp},I=class{constructor(t,n=new er(1)){this.numerator=z(t),this.denominator=z(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new I(this.denominator,this.numerator)}add(t){let n=t instanceof I?t:new I(z(t));return this.denominator.eq(n.denominator)?new I(this.numerator.add(n.numerator),this.denominator):new I(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof I?t:new I(z(t));return this.denominator.eq(n.denominator)?new I(this.numerator.sub(n.numerator),this.denominator):new I(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof I?t:new I(z(t));return new I(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof I?t:new I(z(t));return new I(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||_e.logWithError(`${t} is not an integer.`),t<=0&&_e.logWithError(`${t} is not positive.`),ye.set({precision:t+1,rounding:nr[r]});let i=new ye(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return i.toFormat(i.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},r=1){return Number.isInteger(t)||_e.logWithError(`${t} is not an integer.`),t<0&&_e.logWithError(`${t} is negative.`),nt.DP=t,nt.RM=rr[r]||1,new nt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};import ir from"bn.js";var Xi=new I(new ir(100));var ro=v("Raydium_price");import{PublicKey as po}from"@solana/web3.js";import go from"bn.js";var Dt=new J(0),or=new J(1),Mo=new J(2),_o=new J(3),Ro=new J(5),sr=new J(10),Do=new J(100),Oo=new J(1e3),vo=new J(1e4);import{PublicKey as Go}from"@solana/web3.js";import{MINT_SIZE as Yo,TOKEN_PROGRAM_ID as Qo,getTransferFeeConfig as Zo,unpackMint as Xo}from"@solana/spl-token";var Jo=v("Raydium_accountInfo_util");import{PublicKey as os}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as as}from"@solana/spl-token";import{PublicKey as T}from"@solana/web3.js";var ms=new T("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),ps=new T("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),fs=new T("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),ds=new T("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),gs=new T("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),hs=new T("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),bs=new T("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),ys=new T("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),ws=new T("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Ts=new T("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),xs=new T("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Ps=new T("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),ks=new T("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),As=new T("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Ss=new T("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Ls=new T("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Bs=new T("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),Is=new T("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),Ns=new T("SNaPnpKUY656VPwbKmKT8FG4T85g4VWhRH1B4TQUfKs"),Cs=new T("9pR79Lqe6wDNjag3v8MeVYUostoXjY2ognTydor6AtEZ"),Es=new T("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ar=new T("4AscABy58S62owbByjUUkQfZsP7fxYH1rDYb69V58HPM"),ur=new T("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),cr=new T("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),Ms=new T("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),lr=new T("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),_s=new T("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),mr=new T("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var Rs={SERUM_MARKET:T.default,OPENBOOK_MARKET:new T("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:T.default,FarmV3:new T("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new T("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new T("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new T("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new T("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new T("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new T("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new T("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),Router:new T("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:ar,CREATE_CPMM_POOL_AUTH:ur,CREATE_CPMM_POOL_FEE_ACC:cr,FEE_DESTINATION_ID:new T("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:lr,LCOK_CPMM_AUTH:mr};import vs from"bn.js";import{PublicKey as pr,AddressLookupTableAccount as Ot}from"@solana/web3.js";var fr={"2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17":new Ot({key:new pr("2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17"),state:Ot.deserialize(Buffer.from("AQAAAP//////////d49+DAAAAAAAAQZMWvw7GUNJdaccNBVnb57OKakxL2BHLYvhRwVILRsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAABt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKkG3fbh7nWP3hhCXbzkbM3athr8TYO5DSf+vfko2KGL/AVKU1D4XciC1hSlVnJ4iilt3x6rq9CmBniISTL07vagBqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAAAGp9UXGMd0yShWY5hpHV62i164o5tLbVxzVVshAAAAAIyXJY9OJInxuz0QKRSODYMLWhOZ2v8QhASOe9jb6fhZC3BlsePRfEU4nVJ/awTDzVi4bHMaoP21SbbRvAP4KUbIScv+6Yw2LHF/6K0ZjUPibbSWXCirYPGuuVl7zT789IUPLW4CpHr4JNCatp3ELXDLKMv6JJ+37le50lbBJ2LvDQdRqCgtphMF/imcN7mY5YRx2xE1A3MQ+L4QRaYK9u4GRfZP3LsAd00a+IkCpA22UNQMKdq5BFbJuwuOLqc8zxCTDlqxBG8J0HcxtfogQHDK06ukzfaXiNDKAob1MqBHS9lJxDYCwz8gd5DtFqNSTKG5l1zxIaKpDP/sffi2is1H9aKveyXSu5StXElYRl9SD5As0DHE4N0GLnf84/siiKXVyp4Ez121kLcUui/jLLFZEz/BwZK3Ilf9B9OcsEAeDMKAy2vjGSxQODgBz0QwGA+eP4ZjIjrIAQaXENv31QfLlOdXSRCkaybRniDHF4C8YcwhcvsqrOVuTP4B2Na+9wLdtrB31uz2rtlFI5kahdsnp/d1SrASDInYCtTYtdoke4kX+hoKWcEWM4Tle8pTUkUVv4BxS6fje/EzKBE4Qu9N9LMnrw/JNO0hqMVB4rk/2ou4AB1loQ7FZoPwut2o4KZB+0p9xnbrQKw038qjpHar+PyDwvxBRcu5hpHw3dguezeWv+IwvgW5icu8EGkhGa9AkFPPJT7VMSFb8xowveU=","base64"))})};import{PublicKey as ta,sendAndConfirmTransaction as na,Transaction as ia,TransactionMessage as sa,VersionedTransaction as aa}from"@solana/web3.js";import ca from"axios";var Ga=v("Raydium_amount"),Ha=be(dr);var De=({address:e,programId:t,decimals:n,...r})=>({chainId:101,address:Je(e).toBase58(),programId:t,logoURI:"",symbol:"",name:"",decimals:n,tags:[],extensions:r.extensions||{},...r});import{PublicKey as ee,SystemProgram as Bc,SYSVAR_RENT_PUBKEY as Ic,TransactionInstruction as Er}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Cc,TOKEN_PROGRAM_ID as Ec}from"@solana/spl-token";import{PublicKey as Tr}from"@solana/web3.js";import Kt,{isBN as Wt}from"bn.js";import{bits as du,BitStructure as gu,blob as gr,Blob as hu,cstr as bu,f32 as yu,f32be as wu,f64 as Tu,f64be as xu,greedy as Pu,Layout as hr,ns64 as ku,ns64be as Au,nu64 as Su,nu64be as Lu,offset as Bu,s16 as Iu,s16be as Nu,s24 as Cu,s24be as Eu,s32 as Mu,s32be as _u,s40 as Ru,s40be as Du,s48 as Ou,s48be as vu,s8 as Fu,seq as br,struct as Vu,Structure as yr,u16 as Ku,u16be as Wu,u24 as qu,u24be as Uu,u32 as Gu,u32be as Hu,u40 as ju,u40be as zu,u48 as Yu,u48be as Qu,u8 as Zu,UInt as wr,union as Xu,Union as Ju,unionLayoutDiscriminator as $u,utf8 as ec}from"@solana/buffer-layout";var it=hr,vt=yr;var Ft=wr;var Vt=br;var ot=gr;var Oe=class extends it{constructor(n,r,i){super(n,i);this.blob=ot(n),this.signed=r}decode(n,r=0){let i=new Kt(this.blob.decode(n,r),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(n,r,i=0){return typeof n=="number"&&(n=new Kt(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,i)}};function q(e){return new Ft(1,e)}function d(e){return new Oe(8,!1,e)}function $(e){return new Oe(16,!1,e)}var st=class extends it{constructor(n,r,i,o){super(n.span,o);this.layout=n,this.decoder=r,this.encoder=i}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,i){return this.layout.encode(this.encoder(n),r,i)}getSpan(n,r){return this.layout.getSpan(n,r)}};function C(e){return new st(ot(32),t=>new Tr(t),t=>t.toBuffer(),e)}var at=class extends vt{decode(t,n){return super.decode(t,n)}};function F(e,t,n){return new at(e,t,n)}function we(e,t,n){let r,i=typeof t=="number"?t:Wt(t)?t.toNumber():new Proxy(t,{get(o,s){if(!r){let a=Reflect.get(o,"count");r=Wt(a)?a.toNumber():a,Reflect.set(o,"count",r)}return Reflect.get(o,s)},set(o,s,a){return s==="count"&&(r=a),Reflect.set(o,s,a)}});return Vt(e,i,n)}var xr=F([q("instruction"),d("amountIn"),d("minAmountOut")]),Pr=F([q("instruction"),d("maxAmountIn"),d("amountOut")]),hc=F([q("instruction"),q("nonce")]),kr=F([q("instruction"),q("nonce"),d("startTime")]),bc=F([d("status"),d("nonce"),d("maxOrder"),d("depth"),d("baseDecimal"),d("quoteDecimal"),d("state"),d("resetFlag"),d("minSize"),d("volMaxCutRatio"),d("amountWaveRatio"),d("baseLotSize"),d("quoteLotSize"),d("minPriceMultiplier"),d("maxPriceMultiplier"),d("systemDecimalValue"),d("minSeparateNumerator"),d("minSeparateDenominator"),d("tradeFeeNumerator"),d("tradeFeeDenominator"),d("pnlNumerator"),d("pnlDenominator"),d("swapFeeNumerator"),d("swapFeeDenominator"),d("baseNeedTakePnl"),d("quoteNeedTakePnl"),d("quoteTotalPnl"),d("baseTotalPnl"),d("poolOpenTime"),d("punishPcAmount"),d("punishCoinAmount"),d("orderbookToInitTime"),$("swapBaseInAmount"),$("swapQuoteOutAmount"),d("swapBase2QuoteFee"),$("swapQuoteInAmount"),$("swapBaseOutAmount"),d("swapQuote2BaseFee"),C("baseVault"),C("quoteVault"),C("baseMint"),C("quoteMint"),C("lpMint"),C("openOrders"),C("marketId"),C("marketProgramId"),C("targetOrders"),C("withdrawQueue"),C("lpVault"),C("owner"),d("lpReserve"),we(d(),3,"padding")]),yc=F([d("accountType"),d("status"),d("nonce"),d("maxOrder"),d("depth"),d("baseDecimal"),d("quoteDecimal"),d("state"),d("resetFlag"),d("minSize"),d("volMaxCutRatio"),d("amountWaveRatio"),d("baseLotSize"),d("quoteLotSize"),d("minPriceMultiplier"),d("maxPriceMultiplier"),d("systemDecimalsValue"),d("abortTradeFactor"),d("priceTickMultiplier"),d("priceTick"),d("minSeparateNumerator"),d("minSeparateDenominator"),d("tradeFeeNumerator"),d("tradeFeeDenominator"),d("pnlNumerator"),d("pnlDenominator"),d("swapFeeNumerator"),d("swapFeeDenominator"),d("baseNeedTakePnl"),d("quoteNeedTakePnl"),d("quoteTotalPnl"),d("baseTotal