test-raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
1 lines • 59.5 kB
JavaScript
var yn=Object.defineProperty,wn=Object.defineProperties;var Tn=Object.getOwnPropertyDescriptors;var Et=Object.getOwnPropertySymbols;var An=Object.prototype.hasOwnProperty,xn=Object.prototype.propertyIsEnumerable;var Rt=(n,e,t)=>e in n?yn(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,ee=(n,e)=>{for(var t in e||(e={}))An.call(e,t)&&Rt(n,t,e[t]);if(Et)for(var t of Et(e))xn.call(e,t)&&Rt(n,t,e[t]);return n},ue=(n,e)=>wn(n,Tn(e));import{get as Ft,set as kn}from"lodash";import Dt from"dayjs";import Pn from"dayjs/plugin/utc";Dt.extend(Pn);var tt=class{constructor(e){this.logLevel=e.logLevel!==void 0?e.logLevel:0,this.name=e.name}set level(e){this.logLevel=e}get time(){return Dt().utc().format("YYYY/MM/DD HH:mm:ss UTC")}get moduleName(){return this.name}isLogLevel(e){return e<=this.logLevel}error(...e){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...e),this):this}logWithError(...e){let t=e.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(t)}warning(...e){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...e),this):this}info(...e){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...e),this):this}debug(...e){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...e),this):this}},Ot={},Bn={};function Z(n){let e=Ft(Ot,n);if(!e){let t=Ft(Bn,n);e=new tt({name:n,logLevel:t}),kn(Ot,n,e)}return e}import{PublicKey as ms}from"@solana/web3.js";import fs from"bn.js";import Or from"big.js";import Xo from"bn.js";import X from"bn.js";var xe=9e15,ge=1e9,nt="0123456789abcdef",Ke="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",qe="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",rt={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-xe,maxE:xe,crypto:!1},Kt,ce,y=!0,Ve="[DecimalError] ",pe=Ve+"Invalid argument: ",qt=Ve+"Precision limit exceeded",Gt=Ve+"crypto unavailable",Vt="[object Decimal]",V=Math.floor,O=Math.pow,In=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Nn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Sn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Ut=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ne=1e7,h=7,Cn=9007199254740991,Ln=Ke.length-1,it=qe.length-1,f={toStringTag:Vt};f.absoluteValue=f.abs=function(){var n=new this.constructor(this);return n.s<0&&(n.s=1),g(n)};f.ceil=function(){return g(new this.constructor(this),this.e+1,2)};f.clampedTo=f.clamp=function(n,e){var t,r=this,i=r.constructor;if(n=new i(n),e=new i(e),!n.s||!e.s)return new i(NaN);if(n.gt(e))throw Error(pe+e);return t=r.cmp(n),t<0?n:r.cmp(e)>0?e:new i(r)};f.comparedTo=f.cmp=function(n){var e,t,r,i,o=this,s=o.d,a=(n=new o.constructor(n)).d,c=o.s,u=n.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!==n.e)return o.e>n.e^c<0?1:-1;for(r=s.length,i=a.length,e=0,t=r<i?r:i;e<t;++e)if(s[e]!==a[e])return s[e]>a[e]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1};f.cosine=f.cos=function(){var n,e,t=this,r=t.constructor;return t.d?t.d[0]?(n=r.precision,e=r.rounding,r.precision=n+Math.max(t.e,t.sd())+h,r.rounding=1,t=En(r,Yt(r,t)),r.precision=n,r.rounding=e,g(ce==2||ce==3?t.neg():t,n,e,!0)):new r(1):new r(NaN)};f.cubeRoot=f.cbrt=function(){var n,e,t,r,i,o,s,a,c,u,l=this,m=l.constructor;if(!l.isFinite()||l.isZero())return new m(l);for(y=!1,o=l.s*O(l.s*l,1/3),!o||Math.abs(o)==1/0?(t=v(l.d),n=l.e,(o=(n-t.length+1)%3)&&(t+=o==1||o==-2?"0":"00"),o=O(t,1/3),n=V((n+1)/3)-(n%3==(n<0?-1:2)),o==1/0?t="5e"+n:(t=o.toExponential(),t=t.slice(0,t.indexOf("e")+1)+n),r=new m(t),r.s=l.s):r=new m(o.toString()),s=(n=m.precision)+3;;)if(a=r,c=a.times(a).times(a),u=c.plus(l),r=P(u.plus(l).times(a),u.plus(c),s+2,1),v(a.d).slice(0,s)===(t=v(r.d)).slice(0,s))if(t=t.slice(s-3,s+1),t=="9999"||!i&&t=="4999"){if(!i&&(g(a,n+1,0),a.times(a).times(a).eq(l))){r=a;break}s+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(g(r,n+1,1),e=!r.times(r).times(r).eq(l));break}return y=!0,g(r,n,m.rounding,e)};f.decimalPlaces=f.dp=function(){var n,e=this.d,t=NaN;if(e){if(n=e.length-1,t=(n-V(this.e/h))*h,n=e[n],n)for(;n%10==0;n/=10)t--;t<0&&(t=0)}return t};f.dividedBy=f.div=function(n){return P(this,new this.constructor(n))};f.dividedToIntegerBy=f.divToInt=function(n){var e=this,t=e.constructor;return g(P(e,new t(n),0,1,1),t.precision,t.rounding)};f.equals=f.eq=function(n){return this.cmp(n)===0};f.floor=function(){return g(new this.constructor(this),this.e+1,3)};f.greaterThan=f.gt=function(n){return this.cmp(n)>0};f.greaterThanOrEqualTo=f.gte=function(n){var e=this.cmp(n);return e==1||e===0};f.hyperbolicCosine=f.cosh=function(){var n,e,t,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;t=s.precision,r=s.rounding,s.precision=t+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(n=Math.ceil(i/3),e=(1/We(4,n)).toString()):(n=16,e="2.3283064365386962890625e-10"),o=ke(s,1,o.times(e),new s(1),!0);for(var c,u=n,l=new s(8);u--;)c=o.times(o),o=a.minus(c.times(l.minus(c.times(l))));return g(o,s.precision=t,s.rounding=r,!0)};f.hyperbolicSine=f.sinh=function(){var n,e,t,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,t=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=ke(o,2,i,i,!0);else{n=1.4*Math.sqrt(r),n=n>16?16:n|0,i=i.times(1/We(5,n)),i=ke(o,2,i,i,!0);for(var s,a=new o(5),c=new o(16),u=new o(20);n--;)s=i.times(i),i=i.times(a.plus(s.times(c.times(s).plus(u))))}return o.precision=e,o.rounding=t,g(i,e,t,!0)};f.hyperbolicTangent=f.tanh=function(){var n,e,t=this,r=t.constructor;return t.isFinite()?t.isZero()?new r(t):(n=r.precision,e=r.rounding,r.precision=n+7,r.rounding=1,P(t.sinh(),t.cosh(),r.precision=n,r.rounding=e)):new r(t.s)};f.inverseCosine=f.acos=function(){var n,e=this,t=e.constructor,r=e.abs().cmp(1),i=t.precision,o=t.rounding;return r!==-1?r===0?e.isNeg()?te(t,i,o):new t(0):new t(NaN):e.isZero()?te(t,i+4,o).times(.5):(t.precision=i+6,t.rounding=1,e=e.asin(),n=te(t,i+4,o).times(.5),t.precision=i,t.rounding=o,n.minus(e))};f.inverseHyperbolicCosine=f.acosh=function(){var n,e,t=this,r=t.constructor;return t.lte(1)?new r(t.eq(1)?0:NaN):t.isFinite()?(n=r.precision,e=r.rounding,r.precision=n+Math.max(Math.abs(t.e),t.sd())+4,r.rounding=1,y=!1,t=t.times(t).minus(1).sqrt().plus(t),y=!0,r.precision=n,r.rounding=e,t.ln()):new r(t)};f.inverseHyperbolicSine=f.asinh=function(){var n,e,t=this,r=t.constructor;return!t.isFinite()||t.isZero()?new r(t):(n=r.precision,e=r.rounding,r.precision=n+2*Math.max(Math.abs(t.e),t.sd())+6,r.rounding=1,y=!1,t=t.times(t).plus(1).sqrt().plus(t),y=!0,r.precision=n,r.rounding=e,t.ln())};f.inverseHyperbolicTangent=f.atanh=function(){var n,e,t,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):(n=o.precision,e=o.rounding,r=i.sd(),Math.max(r,n)<2*-i.e-1?g(new o(i),n,e,!0):(o.precision=t=r-i.e,i=P(i.plus(1),new o(1).minus(i),t+n,1),o.precision=n+4,o.rounding=1,i=i.ln(),o.precision=n,o.rounding=e,i.times(.5))):new o(NaN)};f.inverseSine=f.asin=function(){var n,e,t,r,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),t=o.precision,r=o.rounding,e!==-1?e===0?(n=te(o,t+4,r).times(.5),n.s=i.s,n):new o(NaN):(o.precision=t+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=t,o.rounding=r,i.times(2)))};f.inverseTangent=f.atan=function(){var n,e,t,r,i,o,s,a,c,u=this,l=u.constructor,m=l.precision,d=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&m+4<=it)return s=te(l,m+4,d).times(.25),s.s=u.s,s}else{if(!u.s)return new l(NaN);if(m+4<=it)return s=te(l,m+4,d).times(.5),s.s=u.s,s}for(l.precision=a=m+10,l.rounding=1,t=Math.min(28,a/h+2|0),n=t;n;--n)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(y=!1,e=Math.ceil(a/h),r=1,c=u.times(u),s=new l(u),i=u;n!==-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[e]!==void 0)for(n=e;s.d[n]===o.d[n]&&n--;);return t&&(s=s.times(2<<t-1)),y=!0,g(s,l.precision=m,l.rounding=d,!0)};f.isFinite=function(){return!!this.d};f.isInteger=f.isInt=function(){return!!this.d&&V(this.e/h)>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(n){return this.cmp(n)<0};f.lessThanOrEqualTo=f.lte=function(n){return this.cmp(n)<1};f.logarithm=f.log=function(n){var e,t,r,i,o,s,a,c,u=this,l=u.constructor,m=l.precision,d=l.rounding,p=5;if(n==null)n=new l(10),e=!0;else{if(n=new l(n),t=n.d,n.s<0||!t||!t[0]||n.eq(1))return new l(NaN);e=n.eq(10)}if(t=u.d,u.s<0||!t||!t[0]||u.eq(1))return new l(t&&!t[0]?-1/0:u.s!=1?NaN:t?0:1/0);if(e)if(t.length>1)o=!0;else{for(i=t[0];i%10===0;)i/=10;o=i!==1}if(y=!1,a=m+p,s=fe(u,a),r=e?Ge(l,a+10):fe(n,a),c=P(s,r,a,1),Se(c.d,i=m,d))do if(a+=10,s=fe(u,a),r=e?Ge(l,a+10):fe(n,a),c=P(s,r,a,1),!o){+v(c.d).slice(i+1,i+15)+1==1e14&&(c=g(c,m+1,0));break}while(Se(c.d,i+=10,d));return y=!0,g(c,m,d)};f.minus=f.sub=function(n){var e,t,r,i,o,s,a,c,u,l,m,d,p=this,w=p.constructor;if(n=new w(n),!p.d||!n.d)return!p.s||!n.s?n=new w(NaN):p.d?n.s=-n.s:n=new w(n.d||p.s!==n.s?p:NaN),n;if(p.s!=n.s)return n.s=-n.s,p.plus(n);if(u=p.d,d=n.d,a=w.precision,c=w.rounding,!u[0]||!d[0]){if(d[0])n.s=-n.s;else if(u[0])n=new w(p);else return new w(c===3?-0:0);return y?g(n,a,c):n}if(t=V(n.e/h),l=V(p.e/h),u=u.slice(),o=l-t,o){for(m=o<0,m?(e=u,o=-o,s=d.length):(e=d,t=l,s=u.length),r=Math.max(Math.ceil(a/h),s)+2,o>r&&(o=r,e.length=1),e.reverse(),r=o;r--;)e.push(0);e.reverse()}else{for(r=u.length,s=d.length,m=r<s,m&&(s=r),r=0;r<s;r++)if(u[r]!=d[r]){m=u[r]<d[r];break}o=0}for(m&&(e=u,u=d,d=e,n.s=-n.s),s=u.length,r=d.length-s;r>0;--r)u[s++]=0;for(r=d.length;r>o;){if(u[--r]<d[r]){for(i=r;i&&u[--i]===0;)u[i]=ne-1;--u[i],u[r]+=ne}u[r]-=d[r]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--t;return u[0]?(n.d=u,n.e=Ue(u,t),y?g(n,a,c):n):new w(c===3?-0:0)};f.modulo=f.mod=function(n){var e,t=this,r=t.constructor;return n=new r(n),!t.d||!n.s||n.d&&!n.d[0]?new r(NaN):!n.d||t.d&&!t.d[0]?g(new r(t),r.precision,r.rounding):(y=!1,r.modulo==9?(e=P(t,n.abs(),0,3,1),e.s*=n.s):e=P(t,n,0,r.modulo,1),e=e.times(n),y=!0,t.minus(e))};f.naturalExponential=f.exp=function(){return ot(this)};f.naturalLogarithm=f.ln=function(){return fe(this)};f.negated=f.neg=function(){var n=new this.constructor(this);return n.s=-n.s,g(n)};f.plus=f.add=function(n){var e,t,r,i,o,s,a,c,u,l,m=this,d=m.constructor;if(n=new d(n),!m.d||!n.d)return!m.s||!n.s?n=new d(NaN):m.d||(n=new d(n.d||m.s===n.s?m:NaN)),n;if(m.s!=n.s)return n.s=-n.s,m.minus(n);if(u=m.d,l=n.d,a=d.precision,c=d.rounding,!u[0]||!l[0])return l[0]||(n=new d(m)),y?g(n,a,c):n;if(o=V(m.e/h),r=V(n.e/h),u=u.slice(),i=o-r,i){for(i<0?(t=u,i=-i,s=l.length):(t=l,r=o,s=u.length),o=Math.ceil(a/h),s=o>s?o+1:s+1,i>s&&(i=s,t.length=1),t.reverse();i--;)t.push(0);t.reverse()}for(s=u.length,i=l.length,s-i<0&&(i=s,t=l,l=u,u=t),e=0;i;)e=(u[--i]=u[i]+l[i]+e)/ne|0,u[i]%=ne;for(e&&(u.unshift(e),++r),s=u.length;u[--s]==0;)u.pop();return n.d=u,n.e=Ue(u,r),y?g(n,a,c):n};f.precision=f.sd=function(n){var e,t=this;if(n!==void 0&&n!==!!n&&n!==1&&n!==0)throw Error(pe+n);return t.d?(e=Wt(t.d),n&&t.e+1>e&&(e=t.e+1)):e=NaN,e};f.round=function(){var n=this,e=n.constructor;return g(new e(n),n.e+1,e.rounding)};f.sine=f.sin=function(){var n,e,t=this,r=t.constructor;return t.isFinite()?t.isZero()?new r(t):(n=r.precision,e=r.rounding,r.precision=n+Math.max(t.e,t.sd())+h,r.rounding=1,t=Fn(r,Yt(r,t)),r.precision=n,r.rounding=e,g(ce>2?t.neg():t,n,e,!0)):new r(NaN)};f.squareRoot=f.sqrt=function(){var n,e,t,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(y=!1,u=Math.sqrt(+s),u==0||u==1/0?(e=v(a),(e.length+c)%2==0&&(e+="0"),u=Math.sqrt(e),c=V((c+1)/2)-(c<0||c%2),u==1/0?e="5e"+c:(e=u.toExponential(),e=e.slice(0,e.indexOf("e")+1)+c),r=new l(e)):r=new l(u.toString()),t=(c=l.precision)+3;;)if(o=r,r=o.plus(P(s,o,t+2,1)).times(.5),v(o.d).slice(0,t)===(e=v(r.d)).slice(0,t))if(e=e.slice(t-3,t+1),e=="9999"||!i&&e=="4999"){if(!i&&(g(o,c+1,0),o.times(o).eq(s))){r=o;break}t+=4,i=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(g(r,c+1,1),n=!r.times(r).eq(s));break}return y=!0,g(r,c,l.rounding,n)};f.tangent=f.tan=function(){var n,e,t=this,r=t.constructor;return t.isFinite()?t.isZero()?new r(t):(n=r.precision,e=r.rounding,r.precision=n+10,r.rounding=1,t=t.sin(),t.s=1,t=P(t,new r(1).minus(t.times(t)).sqrt(),n+10,0),r.precision=n,r.rounding=e,g(ce==2||ce==4?t.neg():t,n,e,!0)):new r(NaN)};f.times=f.mul=function(n){var e,t,r,i,o,s,a,c,u,l=this,m=l.constructor,d=l.d,p=(n=new m(n)).d;if(n.s*=l.s,!d||!d[0]||!p||!p[0])return new m(!n.s||d&&!d[0]&&!p||p&&!p[0]&&!d?NaN:!d||!p?n.s/0:n.s*0);for(t=V(l.e/h)+V(n.e/h),c=d.length,u=p.length,c<u&&(o=d,d=p,p=o,s=c,c=u,u=s),o=[],s=c+u,r=s;r--;)o.push(0);for(r=u;--r>=0;){for(e=0,i=c+r;i>r;)a=o[i]+p[r]*d[i-r-1]+e,o[i--]=a%ne|0,e=a/ne|0;o[i]=(o[i]+e)%ne|0}for(;!o[--s];)o.pop();return e?++t:o.shift(),n.d=o,n.e=Ue(o,t),y?g(n,m.precision,m.rounding):n};f.toBinary=function(n,e){return at(this,2,n,e)};f.toDecimalPlaces=f.toDP=function(n,e){var t=this,r=t.constructor;return t=new r(t),n===void 0?t:(W(n,0,ge),e===void 0?e=r.rounding:W(e,0,8),g(t,n+t.e+1,e))};f.toExponential=function(n,e){var t,r=this,i=r.constructor;return n===void 0?t=re(r,!0):(W(n,0,ge),e===void 0?e=i.rounding:W(e,0,8),r=g(new i(r),n+1,e),t=re(r,!0,n+1)),r.isNeg()&&!r.isZero()?"-"+t:t};f.toFixed=function(n,e){var t,r,i=this,o=i.constructor;return n===void 0?t=re(i):(W(n,0,ge),e===void 0?e=o.rounding:W(e,0,8),r=g(new o(i),n+i.e+1,e),t=re(r,!1,n+r.e+1)),i.isNeg()&&!i.isZero()?"-"+t:t};f.toFraction=function(n){var e,t,r,i,o,s,a,c,u,l,m,d,p=this,w=p.d,b=p.constructor;if(!w)return new b(p);if(u=t=new b(1),r=c=new b(0),e=new b(r),o=e.e=Wt(w)-p.e-1,s=o%h,e.d[0]=O(10,s<0?h+s:s),n==null)n=o>0?e:u;else{if(a=new b(n),!a.isInt()||a.lt(u))throw Error(pe+a);n=a.gt(e)?o>0?e:u:a}for(y=!1,a=new b(v(w)),l=b.precision,b.precision=o=w.length*h*2;m=P(a,e,0,1,1),i=t.plus(m.times(r)),i.cmp(n)!=1;)t=r,r=i,i=u,u=c.plus(m.times(i)),c=i,i=e,e=a.minus(m.times(i)),a=i;return i=P(n.minus(t),r,0,1,1),c=c.plus(i.times(u)),t=t.plus(i.times(r)),c.s=u.s=p.s,d=P(u,r,o,1).minus(p).abs().cmp(P(c,t,o,1).minus(p).abs())<1?[u,r]:[c,t],b.precision=l,y=!0,d};f.toHexadecimal=f.toHex=function(n,e){return at(this,16,n,e)};f.toNearest=function(n,e){var t=this,r=t.constructor;if(t=new r(t),n==null){if(!t.d)return t;n=new r(1),e=r.rounding}else{if(n=new r(n),e===void 0?e=r.rounding:W(e,0,8),!t.d)return n.s?t:n;if(!n.d)return n.s&&(n.s=t.s),n}return n.d[0]?(y=!1,t=P(t,n,0,e,1).times(n),y=!0,g(t)):(n.s=t.s,t=n),t};f.toNumber=function(){return+this};f.toOctal=function(n,e){return at(this,8,n,e)};f.toPower=f.pow=function(n){var e,t,r,i,o,s,a=this,c=a.constructor,u=+(n=new c(n));if(!a.d||!n.d||!a.d[0]||!n.d[0])return new c(O(+a,u));if(a=new c(a),a.eq(1))return a;if(r=c.precision,o=c.rounding,n.eq(1))return g(a,r,o);if(e=V(n.e/h),e>=n.d.length-1&&(t=u<0?-u:u)<=Cn)return i=Xt(c,a,t,r),n.s<0?new c(1).div(i):g(i,r,o);if(s=a.s,s<0){if(e<n.d.length-1)return new c(NaN);if((n.d[e]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return t=O(+a,u),e=t==0||!isFinite(t)?V(u*(Math.log("0."+v(a.d))/Math.LN10+a.e+1)):new c(t+"").e,e>c.maxE+1||e<c.minE-1?new c(e>0?s/0:0):(y=!1,c.rounding=a.s=1,t=Math.min(12,(e+"").length),i=ot(n.times(fe(a,r+t)),r),i.d&&(i=g(i,r+5,1),Se(i.d,r,o)&&(e=r+10,i=g(ot(n.times(fe(a,e+t)),e),e+5,1),+v(i.d).slice(r+1,r+15)+1==1e14&&(i=g(i,r+1,0)))),i.s=s,y=!0,c.rounding=o,g(i,r,o))};f.toPrecision=function(n,e){var t,r=this,i=r.constructor;return n===void 0?t=re(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(W(n,1,ge),e===void 0?e=i.rounding:W(e,0,8),r=g(new i(r),n,e),t=re(r,n<=r.e||r.e<=i.toExpNeg,n)),r.isNeg()&&!r.isZero()?"-"+t:t};f.toSignificantDigits=f.toSD=function(n,e){var t=this,r=t.constructor;return n===void 0?(n=r.precision,e=r.rounding):(W(n,1,ge),e===void 0?e=r.rounding:W(e,0,8)),g(new r(t),n,e)};f.toString=function(){var n=this,e=n.constructor,t=re(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()&&!n.isZero()?"-"+t:t};f.truncated=f.trunc=function(){return g(new this.constructor(this),this.e+1,1)};f.valueOf=f.toJSON=function(){var n=this,e=n.constructor,t=re(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()?"-"+t:t};function v(n){var e,t,r,i=n.length-1,o="",s=n[0];if(i>0){for(o+=s,e=1;e<i;e++)r=n[e]+"",t=h-r.length,t&&(o+=de(t)),o+=r;s=n[e],r=s+"",t=h-r.length,t&&(o+=de(t))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function W(n,e,t){if(n!==~~n||n<e||n>t)throw Error(pe+n)}function Se(n,e,t,r){var i,o,s,a;for(o=n[0];o>=10;o/=10)--e;return--e<0?(e+=h,i=0):(i=Math.ceil((e+1)/h),e%=h),o=O(10,h-e),a=n[i]%o|0,r==null?e<3?(e==0?a=a/100|0:e==1&&(a=a/10|0),s=t<4&&a==99999||t>3&&a==49999||a==5e4||a==0):s=(t<4&&a+1==o||t>3&&a+1==o/2)&&(n[i+1]/o/100|0)==O(10,e-2)-1||(a==o/2||a==0)&&(n[i+1]/o/100|0)==0:e<4?(e==0?a=a/1e3|0:e==1?a=a/100|0:e==2&&(a=a/10|0),s=(r||t<4)&&a==9999||!r&&t>3&&a==4999):s=((r||t<4)&&a+1==o||!r&&t>3&&a+1==o/2)&&(n[i+1]/o/1e3|0)==O(10,e-3)-1,s}function ve(n,e,t){for(var r,i=[0],o,s=0,a=n.length;s<a;){for(o=i.length;o--;)i[o]*=e;for(i[0]+=nt.indexOf(n.charAt(s++)),r=0;r<i.length;r++)i[r]>t-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/t|0,i[r]%=t)}return i.reverse()}function En(n,e){var t,r,i;if(e.isZero())return e;r=e.d.length,r<32?(t=Math.ceil(r/3),i=(1/We(4,t)).toString()):(t=16,i="2.3283064365386962890625e-10"),n.precision+=t,e=ke(n,1,e.times(i),new n(1));for(var o=t;o--;){var s=e.times(e);e=s.times(s).minus(s).times(8).plus(1)}return n.precision-=t,e}var P=function(){function n(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 e(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 t(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,d,p,w,b,_,C,J,k,q,Oe,ae,Je,De,Ne,$e,$,Me,_e=r.constructor,et=r.s==i.s?1:-1,G=r.d,N=i.d;if(!G||!G[0]||!N||!N[0])return new _e(!r.s||!i.s||(G?N&&G[0]==N[0]:!N)?NaN:G&&G[0]==0||!N?et*0:et/0);for(c?(p=1,l=r.e-i.e):(c=ne,p=h,l=V(r.e/p)-V(i.e/p)),$=N.length,Ne=G.length,C=new _e(et),J=C.d=[],m=0;N[m]==(G[m]||0);m++);if(N[m]>(G[m]||0)&&l--,o==null?(ae=o=_e.precision,s=_e.rounding):a?ae=o+(r.e-i.e)+1:ae=o,ae<0)J.push(1),w=!0;else{if(ae=ae/p+2|0,m=0,$==1){for(d=0,N=N[0],ae++;(m<Ne||d)&&ae--;m++)Je=d*c+(G[m]||0),J[m]=Je/N|0,d=Je%N|0;w=d||m<Ne}else{for(d=c/(N[0]+1)|0,d>1&&(N=n(N,d,c),G=n(G,d,c),$=N.length,Ne=G.length),De=$,k=G.slice(0,$),q=k.length;q<$;)k[q++]=0;Me=N.slice(),Me.unshift(0),$e=N[0],N[1]>=c/2&&++$e;do d=0,u=e(N,k,$,q),u<0?(Oe=k[0],$!=q&&(Oe=Oe*c+(k[1]||0)),d=Oe/$e|0,d>1?(d>=c&&(d=c-1),b=n(N,d,c),_=b.length,q=k.length,u=e(b,k,_,q),u==1&&(d--,t(b,$<_?Me:N,_,c))):(d==0&&(u=d=1),b=N.slice()),_=b.length,_<q&&b.unshift(0),t(k,b,q,c),u==-1&&(q=k.length,u=e(N,k,$,q),u<1&&(d++,t(k,$<q?Me:N,q,c))),q=k.length):u===0&&(d++,k=[0]),J[m++]=d,u&&k[0]?k[q++]=G[De]||0:(k=[G[De]],q=1);while((De++<Ne||k[0]!==void 0)&&ae--);w=k[0]!==void 0}J[0]||J.shift()}if(p==1)C.e=l,Kt=w;else{for(m=1,d=J[0];d>=10;d/=10)m++;C.e=m+l*p-1,g(C,a?o+C.e+1:o,s,w)}return C}}();function g(n,e,t,r){var i,o,s,a,c,u,l,m,d,p=n.constructor;e:if(e!=null){if(m=n.d,!m)return n;for(i=1,a=m[0];a>=10;a/=10)i++;if(o=e-i,o<0)o+=h,s=e,l=m[d=0],c=l/O(10,i-s-1)%10|0;else if(d=Math.ceil((o+1)/h),a=m.length,d>=a)if(r){for(;a++<=d;)m.push(0);l=c=0,i=1,o%=h,s=o-h+1}else break e;else{for(l=a=m[d],i=1;a>=10;a/=10)i++;o%=h,s=o-h+i,c=s<0?0:l/O(10,i-s-1)%10|0}if(r=r||e<0||m[d+1]!==void 0||(s<0?l:l%O(10,i-s-1)),u=t<4?(c||r)&&(t==0||t==(n.s<0?3:2)):c>5||c==5&&(t==4||r||t==6&&(o>0?s>0?l/O(10,i-s):0:m[d-1])%10&1||t==(n.s<0?8:7)),e<1||!m[0])return m.length=0,u?(e-=n.e+1,m[0]=O(10,(h-e%h)%h),n.e=-e||0):m[0]=n.e=0,n;if(o==0?(m.length=d,a=1,d--):(m.length=d+1,a=O(10,h-o),m[d]=s>0?(l/O(10,i-s)%O(10,s)|0)*a:0),u)for(;;)if(d==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&&(n.e++,m[0]==ne&&(m[0]=1));break}else{if(m[d]+=a,m[d]!=ne)break;m[d--]=0,a=1}for(o=m.length;m[--o]===0;)m.pop()}return y&&(n.e>p.maxE?(n.d=null,n.e=NaN):n.e<p.minE&&(n.e=0,n.d=[0])),n}function re(n,e,t){if(!n.isFinite())return Ht(n);var r,i=n.e,o=v(n.d),s=o.length;return e?(t&&(r=t-s)>0?o=o.charAt(0)+"."+o.slice(1)+de(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(n.e<0?"e":"e+")+n.e):i<0?(o="0."+de(-i-1)+o,t&&(r=t-s)>0&&(o+=de(r))):i>=s?(o+=de(i+1-s),t&&(r=t-i-1)>0&&(o=o+"."+de(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),t&&(r=t-s)>0&&(i+1===s&&(o+="."),o+=de(r))),o}function Ue(n,e){var t=n[0];for(e*=h;t>=10;t/=10)e++;return e}function Ge(n,e,t){if(e>Ln)throw y=!0,t&&(n.precision=t),Error(qt);return g(new n(Ke),e,1,!0)}function te(n,e,t){if(e>it)throw Error(qt);return g(new n(qe),e,t,!0)}function Wt(n){var e=n.length-1,t=e*h+1;if(e=n[e],e){for(;e%10==0;e/=10)t--;for(e=n[0];e>=10;e/=10)t++}return t}function de(n){for(var e="";n--;)e+="0";return e}function Xt(n,e,t,r){var i,o=new n(1),s=Math.ceil(r/h+4);for(y=!1;;){if(t%2&&(o=o.times(e),_t(o.d,s)&&(i=!0)),t=V(t/2),t===0){t=o.d.length-1,i&&o.d[t]===0&&++o.d[t];break}e=e.times(e),_t(e.d,s)}return y=!0,o}function Mt(n){return n.d[n.d.length-1]&1}function zt(n,e,t){for(var r,i=new n(e[0]),o=0;++o<e.length;)if(r=new n(e[o]),r.s)i[t](r)&&(i=r);else{i=r;break}return i}function ot(n,e){var t,r,i,o,s,a,c,u=0,l=0,m=0,d=n.constructor,p=d.rounding,w=d.precision;if(!n.d||!n.d[0]||n.e>17)return new d(n.d?n.d[0]?n.s<0?0:1/0:1:n.s?n.s<0?0:n:0/0);for(e==null?(y=!1,c=w):c=e,a=new d(.03125);n.e>-2;)n=n.times(a),m+=5;for(r=Math.log(O(2,m))/Math.LN10*2+5|0,c+=r,t=o=s=new d(1),d.precision=c;;){if(o=g(o.times(n),c,1),t=t.times(++l),a=s.plus(P(o,t,c,1)),v(a.d).slice(0,c)===v(s.d).slice(0,c)){for(i=m;i--;)s=g(s.times(s),c,1);if(e==null)if(u<3&&Se(s.d,c-r,p,u))d.precision=c+=10,t=o=a=new d(1),l=0,u++;else return g(s,d.precision=w,p,y=!0);else return d.precision=w,s}s=a}}function fe(n,e){var t,r,i,o,s,a,c,u,l,m,d,p=1,w=10,b=n,_=b.d,C=b.constructor,J=C.rounding,k=C.precision;if(b.s<0||!_||!_[0]||!b.e&&_[0]==1&&_.length==1)return new C(_&&!_[0]?-1/0:b.s!=1?NaN:_?0:b);if(e==null?(y=!1,l=k):l=e,C.precision=l+=w,t=v(_),r=t.charAt(0),Math.abs(o=b.e)<15e14){for(;r<7&&r!=1||r==1&&t.charAt(1)>3;)b=b.times(n),t=v(b.d),r=t.charAt(0),p++;o=b.e,r>1?(b=new C("0."+t),o++):b=new C(r+"."+t.slice(1))}else return u=Ge(C,l+2,k).times(o+""),b=fe(new C(r+"."+t.slice(1)),l-w).plus(u),C.precision=k,e==null?g(b,k,J,y=!0):b;for(m=b,c=s=b=P(b.minus(1),b.plus(1),l,1),d=g(b.times(b),l,1),i=3;;){if(s=g(s.times(d),l,1),u=c.plus(P(s,new C(i),l,1)),v(u.d).slice(0,l)===v(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(Ge(C,l+2,k).times(o+""))),c=P(c,new C(p),l,1),e==null)if(Se(c.d,l-w,J,a))C.precision=l+=w,u=s=b=P(m.minus(1),m.plus(1),l,1),d=g(b.times(b),l,1),i=a=1;else return g(c,C.precision=k,J,y=!0);else return C.precision=k,c;c=u,i+=2}}function Ht(n){return String(n.s*n.s/0)}function st(n,e){var t,r,i;for((t=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(t<0&&(t=r),t+=+e.slice(r+1),e=e.substring(0,r)):t<0&&(t=e.length),r=0;e.charCodeAt(r)===48;r++);for(i=e.length;e.charCodeAt(i-1)===48;--i);if(e=e.slice(r,i),e){if(i-=r,n.e=t=t-r-1,n.d=[],r=(t+1)%h,t<0&&(r+=h),r<i){for(r&&n.d.push(+e.slice(0,r)),i-=h;r<i;)n.d.push(+e.slice(r,r+=h));e=e.slice(r),r=h-e.length}else r-=i;for(;r--;)e+="0";n.d.push(+e),y&&(n.e>n.constructor.maxE?(n.d=null,n.e=NaN):n.e<n.constructor.minE&&(n.e=0,n.d=[0]))}else n.e=0,n.d=[0];return n}function Rn(n,e){var t,r,i,o,s,a,c,u,l;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),Ut.test(e))return st(n,e)}else if(e==="Infinity"||e==="NaN")return+e||(n.s=NaN),n.e=NaN,n.d=null,n;if(Nn.test(e))t=16,e=e.toLowerCase();else if(In.test(e))t=2;else if(Sn.test(e))t=8;else throw Error(pe+e);for(o=e.search(/p/i),o>0?(c=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),o=e.indexOf("."),s=o>=0,r=n.constructor,s&&(e=e.replace(".",""),a=e.length,o=a-o,i=Xt(r,new r(t),o,o*2)),u=ve(e,t,ne),l=u.length-1,o=l;u[o]===0;--o)u.pop();return o<0?new r(n.s*0):(n.e=Ue(u,l),n.d=u,y=!1,s&&(n=P(n,i,a*4)),c&&(n=n.times(Math.abs(c)<54?O(2,c):Ce.pow(2,c))),y=!0,n)}function Fn(n,e){var t,r=e.d.length;if(r<3)return e.isZero()?e:ke(n,2,e,e);t=1.4*Math.sqrt(r),t=t>16?16:t|0,e=e.times(1/We(5,t)),e=ke(n,2,e,e);for(var i,o=new n(5),s=new n(16),a=new n(20);t--;)i=e.times(e),e=e.times(o.plus(i.times(s.times(i).minus(a))));return e}function ke(n,e,t,r,i){var o,s,a,c,u=1,l=n.precision,m=Math.ceil(l/h);for(y=!1,c=t.times(t),a=new n(r);;){if(s=P(a.times(c),new n(e++*e++),l,1),a=i?r.plus(s):r.minus(s),r=P(s.times(c),new n(e++*e++),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 y=!0,s.d.length=m+1,s}function We(n,e){for(var t=n;--e;)t*=n;return t}function Yt(n,e){var t,r=e.s<0,i=te(n,n.precision,1),o=i.times(.5);if(e=e.abs(),e.lte(o))return ce=r?4:1,e;if(t=e.divToInt(i),t.isZero())ce=r?3:2;else{if(e=e.minus(t.times(i)),e.lte(o))return ce=Mt(t)?r?2:3:r?4:1,e;ce=Mt(t)?r?1:4:r?3:2}return e.minus(i).abs()}function at(n,e,t,r){var i,o,s,a,c,u,l,m,d,p=n.constructor,w=t!==void 0;if(w?(W(t,1,ge),r===void 0?r=p.rounding:W(r,0,8)):(t=p.precision,r=p.rounding),!n.isFinite())l=Ht(n);else{for(l=re(n),s=l.indexOf("."),w?(i=2,e==16?t=t*4-3:e==8&&(t=t*3-2)):i=e,s>=0&&(l=l.replace(".",""),d=new p(1),d.e=l.length-s,d.d=ve(re(d),10,i),d.e=d.d.length),m=ve(l,10,i),o=c=m.length;m[--c]==0;)m.pop();if(!m[0])l=w?"0p+0":"0";else{if(s<0?o--:(n=new p(n),n.d=m,n.e=o,n=P(n,d,t,r,0,i),m=n.d,o=n.e,u=Kt),s=m[t],a=i/2,u=u||m[t+1]!==void 0,u=r<4?(s!==void 0||u)&&(r===0||r===(n.s<0?3:2)):s>a||s===a&&(r===4||u||r===6&&m[t-1]&1||r===(n.s<0?8:7)),m.length=t,u)for(;++m[--t]>i-1;)m[t]=0,t||(++o,m.unshift(1));for(c=m.length;!m[c-1];--c);for(s=0,l="";s<c;s++)l+=nt.charAt(m[s]);if(w){if(c>1)if(e==16||e==8){for(s=e==16?4:3,--c;c%s;c++)l+="0";for(m=ve(l,i,e),c=m.length;!m[c-1];--c);for(s=1,l="1.";s<c;s++)l+=nt.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=(e==16?"0x":e==2?"0b":e==8?"0o":"")+l}return n.s<0?"-"+l:l}function _t(n,e){if(n.length>e)return n.length=e,!0}function On(n){return new this(n).abs()}function Dn(n){return new this(n).acos()}function Mn(n){return new this(n).acosh()}function _n(n,e){return new this(n).plus(e)}function vn(n){return new this(n).asin()}function Kn(n){return new this(n).asinh()}function qn(n){return new this(n).atan()}function Gn(n){return new this(n).atanh()}function Vn(n,e){n=new this(n),e=new this(e);var t,r=this.precision,i=this.rounding,o=r+4;return!n.s||!e.s?t=new this(NaN):!n.d&&!e.d?(t=te(this,o,1).times(e.s>0?.25:.75),t.s=n.s):!e.d||n.isZero()?(t=e.s<0?te(this,r,i):new this(0),t.s=n.s):!n.d||e.isZero()?(t=te(this,o,1).times(.5),t.s=n.s):e.s<0?(this.precision=o,this.rounding=1,t=this.atan(P(n,e,o,1)),e=te(this,o,1),this.precision=r,this.rounding=i,t=n.s<0?t.minus(e):t.plus(e)):t=this.atan(P(n,e,o,1)),t}function Un(n){return new this(n).cbrt()}function Wn(n){return g(n=new this(n),n.e+1,2)}function Xn(n,e,t){return new this(n).clamp(e,t)}function zn(n){if(!n||typeof n!="object")throw Error(Ve+"Object expected");var e,t,r,i=n.defaults===!0,o=["precision",1,ge,"rounding",0,8,"toExpNeg",-xe,0,"toExpPos",0,xe,"maxE",0,xe,"minE",-xe,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(t=o[e],i&&(this[t]=rt[t]),(r=n[t])!==void 0)if(V(r)===r&&r>=o[e+1]&&r<=o[e+2])this[t]=r;else throw Error(pe+t+": "+r);if(t="crypto",i&&(this[t]=rt[t]),(r=n[t])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[t]=!0;else throw Error(Gt);else this[t]=!1;else throw Error(pe+t+": "+r);return this}function Hn(n){return new this(n).cos()}function Yn(n){return new this(n).cosh()}function Zt(n){var e,t,r;function i(o){var s,a,c,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,vt(o)){u.s=o.s,y?!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++;y?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 st(u,o.toString())}else if(c!=="string")throw Error(pe+o);return(a=o.charCodeAt(0))===45?(o=o.slice(1),u.s=-1):(a===43&&(o=o.slice(1)),u.s=1),Ut.test(o)?st(u,o):Rn(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=zn,i.clone=Zt,i.isDecimal=vt,i.abs=On,i.acos=Dn,i.acosh=Mn,i.add=_n,i.asin=vn,i.asinh=Kn,i.atan=qn,i.atanh=Gn,i.atan2=Vn,i.cbrt=Un,i.ceil=Wn,i.clamp=Xn,i.cos=Hn,i.cosh=Yn,i.div=Zn,i.exp=jn,i.floor=Qn,i.hypot=Jn,i.ln=$n,i.log=er,i.log10=nr,i.log2=tr,i.max=rr,i.min=ir,i.mod=or,i.mul=sr,i.pow=ar,i.random=ur,i.round=cr,i.sign=lr,i.sin=mr,i.sinh=dr,i.sqrt=fr,i.sub=pr,i.sum=gr,i.tan=hr,i.tanh=br,i.trunc=yr,n===void 0&&(n={}),n&&n.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<r.length;)n.hasOwnProperty(t=r[e++])||(n[t]=this[t]);return i.config(n),i}function Zn(n,e){return new this(n).div(e)}function jn(n){return new this(n).exp()}function Qn(n){return g(n=new this(n),n.e+1,3)}function Jn(){var n,e,t=new this(0);for(y=!1,n=0;n<arguments.length;)if(e=new this(arguments[n++]),e.d)t.d&&(t=t.plus(e.times(e)));else{if(e.s)return y=!0,new this(1/0);t=e}return y=!0,t.sqrt()}function vt(n){return n instanceof Ce||n&&n.toStringTag===Vt||!1}function $n(n){return new this(n).ln()}function er(n,e){return new this(n).log(e)}function tr(n){return new this(n).log(2)}function nr(n){return new this(n).log(10)}function rr(){return zt(this,arguments,"lt")}function ir(){return zt(this,arguments,"gt")}function or(n,e){return new this(n).mod(e)}function sr(n,e){return new this(n).mul(e)}function ar(n,e){return new this(n).pow(e)}function ur(n){var e,t,r,i,o=0,s=new this(1),a=[];if(n===void 0?n=this.precision:W(n,1,ge),r=Math.ceil(n/h),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));o<r;)i=e[o],i>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(r*=4);o<r;)i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((e[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(e,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],n%=h,r&&n&&(i=O(10,h-n),a[o]=(r/i|0)*i);a[o]===0;o--)a.pop();if(o<0)t=0,a=[0];else{for(t=-1;a[0]===0;t-=h)a.shift();for(r=1,i=a[0];i>=10;i/=10)r++;r<h&&(t-=h-r)}return s.e=t,s.d=a,s}function cr(n){return g(n=new this(n),n.e+1,this.rounding)}function lr(n){return n=new this(n),n.d?n.d[0]?n.s:0*n.s:n.s||NaN}function mr(n){return new this(n).sin()}function dr(n){return new this(n).sinh()}function fr(n){return new this(n).sqrt()}function pr(n,e){return new this(n).sub(e)}function gr(){var n=0,e=arguments,t=new this(e[n]);for(y=!1;t.s&&++n<e.length;)t=t.plus(e[n]);return y=!0,g(t,this.precision,this.rounding)}function hr(n){return new this(n).tan()}function br(n){return new this(n).tanh()}function yr(n){return g(n=new this(n),n.e+1,1)}f[Symbol.for("nodejs.util.inspect.custom")]=f.toString;f[Symbol.toStringTag]="Decimal";var Ce=f.constructor=Zt(rt);Ke=new Ce(Ke);qe=new Ce(qe);var U=Ce;import{PublicKey as mt}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as wr}from"@solana/spl-token";import{PublicKey as L,SystemProgram as Tr,SYSVAR_RENT_PUBKEY as Ar}from"@solana/web3.js";function ut({pubkey:n,isSigner:e=!1,isWritable:t=!0}){return{pubkey:n,isWritable:t,isSigner:e}}var yi=[ut({pubkey:wr,isWritable:!1}),ut({pubkey:Tr.programId,isWritable:!1}),ut({pubkey:Ar,isWritable:!1})];function jt({publicKey:n,transformSol:e}){let t=Qt(n.toString());if(t instanceof L)return e&&t.equals(Pe)?ct:t;if(e&&t.toString()===Pe.toBase58())return ct;if(typeof t=="string"){if(t===L.default.toBase58())return L.default;try{return new L(t)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function Qt(n){try{return new L(n)}catch{return n}}var wi=new L("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Ti=new L("SysvarRent111111111111111111111111111111111"),Ai=new L("SysvarC1ock11111111111111111111111111111111"),xr=new L("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),xi=new L("Sysvar1nstructions1111111111111111111111111"),ki=new L("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Pi=new L("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Bi=new L("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Ii=new L("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Ni=new L("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Si=new L("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Ci=new L("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Li=new L("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Ei=new L("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Ri=new L("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Fi=new L("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),ct=new L("So11111111111111111111111111111111111111112"),Pe=L.default;import{PublicKey as kr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Jt}from"@solana/spl-token";var lt={chainId:101,address:kr.default.toBase58(),programId:Jt.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},we={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Jt.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};var dt=class{constructor({mint:e,decimals:t,symbol:r,name:i,skipMint:o=!1,isToken2022:s=!1}){if(e===Pe.toBase58()||e instanceof mt&&Pe.equals(e)){this.decimals=we.decimals,this.symbol=we.symbol,this.name=we.name,this.mint=new mt(we.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=r||e.toString().substring(0,6),this.name=i||e.toString().substring(0,6),this.mint=o?mt.default:jt({publicKey:e}),this.isToken2022=s}equals(e){return this===e?!0:this.mint.equals(e.mint)}},Te=dt;Te.WSOL=new dt(ue(ee({},we),{mint:we.address}));import ze from"big.js";import Ir from"bn.js";import Nr from"decimal.js-light";import Pr from"toformat";var Br=Pr,Le=Br;var Xe=Z("module/fraction"),ft=Le(ze),Ee=Le(Nr),Sr={[0]:Ee.ROUND_DOWN,[1]:Ee.ROUND_HALF_UP,[2]:Ee.ROUND_UP},Cr={[0]:ze.roundDown,[1]:ze.roundHalfUp,[2]:ze.roundUp},S=class{constructor(e,t=new Ir(1)){this.numerator=he(e),this.denominator=he(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new S(this.denominator,this.numerator)}add(e){let t=e instanceof S?e:new S(he(e));return this.denominator.eq(t.denominator)?new S(this.numerator.add(t.numerator),this.denominator):new S(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(e){let t=e instanceof S?e:new S(he(e));return this.denominator.eq(t.denominator)?new S(this.numerator.sub(t.numerator),this.denominator):new S(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(e){let t=e instanceof S?e:new S(he(e));return new S(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(e){let t=e instanceof S?e:new S(he(e));return new S(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(e,t={groupSeparator:""},r=1){Number.isInteger(e)||Xe.logWithError(`${e} is not an integer.`),e<=0&&Xe.logWithError(`${e} is not positive.`),Ee.set({precision:e+1,rounding:Sr[r]});let i=new Ee(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return i.toFormat(i.decimalPlaces(),t)}toFixed(e,t={groupSeparator:""},r=1){return Number.isInteger(e)||Xe.logWithError(`${e} is not an integer.`),e<0&&Xe.logWithError(`${e} is negative.`),ft.DP=e,ft.RM=Cr[r]||1,new ft(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};var oo=Z("Raydium_price");var pt=class{constructor({decimals:e,symbol:t="UNKNOWN",name:r="UNKNOWN"}){this.decimals=e,this.symbol=t,this.name=r}equals(e){return this===e}},He=pt;He.SOL=new pt(lt);import Er from"bn.js";var po=new S(new Er(100));var Rr=new X(0),Fo=new X(1),Oo=new X(2),Do=new X(3),Mo=new X(5),Fr=new X(10),_o=new X(100),vo=new X(1e3),Ko=new X(1e4),$t=9007199254740991;function he(n){let e=Z("Raydium_parseBigNumberish");if(n instanceof X)return n;if(typeof n=="string"){if(n.match(/^-?[0-9]+$/))return new X(n);e.logWithError(`invalid BigNumberish string: ${n}`)}return typeof n=="number"?(n%1&&e.logWithError(`BigNumberish number underflow: ${n}`),(n>=$t||n<=-$t)&&e.logWithError(`BigNumberish number overflow: ${n}`),new X(String(n))):typeof n=="bigint"?new X(n.toString()):(e.error(`invalid BigNumberish value: ${n}`),new X(0))}var $o=Z("Raydium_amount"),es=Le(Or);import{PublicKey as oa,sendAndConfirmTransaction as sa,Transaction as ua,TransactionMessage as la,VersionedTransaction as ma}from"@solana/web3.js";import fa from"axios";import{PublicKey as Dr,ComputeBudgetProgram as As,Transaction as ks,TransactionMessage as Bs,Keypair as Is,VersionedTransaction as Ss}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ls}from"@solana/spl-token";var Fs=Z("Raydium_txUtil");function yt(n,e){let[t,r]=Dr.findProgramAddressSync(n,e);return{publicKey:t,nonce:r}}import{PublicKey as _r,AddressLookupTableAccount as en}from"@solana/web3.js";import{PublicKey as Mr}from"@solana/web3.js";import{getTransferFeeConfig as qs,unpackMint as Gs}from"@solana/spl-token";var wt=Z("Raydium_accountInfo_util");async function Ye(n,e,t){let{batchRequest:r,commitment:i="confirmed"}=ee({batchRequest:!1},t),o=Tt(e,100),s=new Array(o.length).fill([]);if(r){let a=o.map(l=>{let m=n._buildArgs([l.map(d=>d.toBase58())],i,"base64");return{methodName:"getMultipleAccounts",args:m}}),c=Tt(a,10);s=(await(await Promise.all(c.map(async l=>await n._rpcBatchRequest(l)))).flat()).map(l=>(l.error&&wt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${l.error.message}`),l.result.value.map(m=>{if(m){let{data:d,executable:p,lamports:w,owner:b,rentEpoch:_}=m;return d.length!==2&&d[1]!=="base64"&&wt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(d[0],"base64"),executable:p,lamports:w,owner:new Mr(b),rentEpoch:_}}return null})))}else try{s=await Promise.all(o.map(a=>n.getMultipleAccountsInfo(a,i)))}catch(a){a instanceof Error&&wt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${a.message}`)}return s.flat()}var vr={"2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17":new en({key:new _r("2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17"),state:en.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"))})};function Tt(n,e=1,t=[]){let r=[...n];if(e<=0)return t;for(;r.length;)t.push(r.splice(0,e));return t}import{PublicKey as z}from"@solana/web3.js";var ka=new z("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Pa=new z("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Ba=new z("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Ia=new z("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Na=new z("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Sa=new z("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Ca=new z("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),La=new z("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Ea=new z("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Ra=new z("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Fa=new z("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Oa=new z("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Da=new z("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),Ma=new z("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi");import{PublicKey as Ka}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Va}from"@solana/spl-token";import Xa from"bn.js";import{PublicKey as Hr}from"@solana/web3.js";import on,{isBN as sn}from"bn.js";import{bits as mu,BitStructure as du,blob as Kr,Blob as fu,cstr as pu,f32 as gu,f32be as hu,f64 as bu,f64be as yu,greedy as wu,Layout as qr,ns64 as Tu,ns64be as Au,nu64 as xu,nu64be as ku,offset as Pu,s16 as Bu,s16be as Iu,s24 as Nu,s24be as Su,s32 as Gr,s32be as Cu,s40 as Lu,s40be as Eu,s48 as Ru,s48be as Fu,s8 as Ou,seq as Vr,struct as Du,Structure as Ur,u16 as Wr,u16be as Mu,u24 as _u,u24be as vu,u32 as Ku,u32be as qu,u40 as Gu,u40be as Vu,u48 as Uu,u48be as Wu,u8 as Xr,UInt as zr,union as Xu,Union as zu,unionLayoutDiscriminator as Hu,utf8 as Yu}from"@solana/buffer-layout";var At=qr,tn=Ur;var xt=zr;var nn=Xr,Be=Wr;var be=Gr;var rn=Vr;var j=Kr;var Re=class extends At{constructor(t,r,i){super(t,i);this.blob=j(t),this.signed=r}decode(t,r=0){let i=new on(this.blob.decode(t,r),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(t,r,i=0){return typeof t=="number"&&(t=new on(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),r,i)}};function Q(n){return new xt(1,n)}function Fe(n){return new xt(4,n)}function B(n){return new Re(8,!1,n)}function I(n){return new Re(16,!1,n)}function an(n){return new Re(16,!0,n)}var Ze=class extends At{constructor(t,r,i,o){super(t.span,o);this.layout=t,this.decoder=r,this.encoder=i}decode(t,r){return this.decoder(this.layout.decode(t,r))}encode(t,r,i){return this.layout.encode(this.encoder(t),r,i)}getSpan(t,r){return this.layout.getSpan(t,r)}};function D(n){return new Ze(j(32),e=>new Hr(e),e=>e.toBuffer(),n)}function un(n){return new Ze(nn(),Yr,Zr,n)}function Yr(n){if(n===0)return!1;if(n===1)return!0;throw new Error("Invalid bool: "+n)}function Zr(n){return n?1:0}var kt=class extends tn{decode(e,t){return super.decode(e,t)}};function H(n,e,t){return new kt(n,e,t)}function R(n,e,t){let r,i=typeof e=="number"?e:sn(e)?e.toNumber():new Proxy(e,{get(o,s){if(!r){let a=Reflect.get(o,"count");r=sn(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 rn(n,i,t)}import ri from"bn.js";function cn(n){let e=new ArrayBuffer(4);return new DataView(e).setInt32(0,n,!1),new Uint8Array(e)}var mc=Buffer.from("amm_config","utf8"),dc=Buffer.from("pool","utf8"),fc=Buffer.from("pool_vault","utf8"),pc=Buffer.from("pool_reward_vault","utf8"),gc=Buffer.from("position","utf8"),jr=Buffer.from("tick_array","utf8"),hc=Buffer.from("operation","utf8"),bc=Buffer.from("pool_tick_array_bitmap_extension","utf8");function le(n,e,t){return yt([jr,e.toBuffer(),cn(t)],n)}import ie from"bn.js";var oe=new ie(0),Ie=new ie(1),ln=new ie(-1),je=new ie(1).shln(64),Qe=new ie(1).shln(128),Qr=je.sub(Ie),Pt=64,mn=Qe.subn(1),me=-443636,ye=-me,Bt=new ie("4295048016"),It=new ie("79226673521066979257578248091"),dn=16,fn="59543866431248",pn="184467440737095516",gn="15793534762490258745",Jr=new ie(10).pow(new ie(6));var Tc=new ie("18446744073700000000");import x from"bn.js";import{PublicKey as Jc}from"@solana/web3.js";import nl from"bn.js";var Nt=14;import Mc from"bn.js";var se=class{static mulDivRoundingUp(e,t,r){let i=e.mul(t),o=i.div(r);return i.mod(r).eq(oe)||(o=o.add(Ie)),o}static mulDivFloor(e,t,r){if(r.eq(oe))throw new Error("division by 0");return e.mul(t).div(r)}static mulDivCeil(e,t,r){if(r.eq(oe))throw new Error("division by 0");return e.mul(t).add(r.sub(Ie)).div(r)}static x64ToDecimal(e,t){return new U(e.toString()).div(U.pow(2,64)).toDecimalPlaces(t)}static decimalToX64(e){return new x(e.mul(U.pow(2,64)).floor().toFixed())}static wrappingSubU128(e,t){return e.add(Qe).sub(t).mod(Qe)}};function M(n,e){return Lt(n.mul(e),64,256)}function ni(n,e,t){let r=n.toTwos(t).shln(e);return r.imaskn(t+1),r.fromTwos(t)}function Lt(n,e,t){let r=n.toTwos(t).shrn(e);return r.imaskn(t-e+1),r.fromTwos(t-e)}var F=class{static sqrtPriceX64ToPrice(e,t,r){return se.x64ToDecimal(e).pow(2).mul(U.pow(10,t-r))}static priceToSqrtPriceX64(e,t,r){return se.decimalToX64(e.mul(U.pow(10,r-t)).sqrt())}static getNextSqrtPriceX64FromInput(e,t,r,i){if(!e.gt(oe))throw new Error("sqrtPriceX64 must greater than 0");if(!t.gt(oe))throw new Error("liquidity must greater than 0");return i?this.getNextSqrtPriceFromTokenAmountARoundingUp(e,t,r,!0):this.getNextSqrtPriceFromTokenAmountBRoundingDown(e,t,r,!0)}static getNextSqrtPriceX64FromOutput(e,t,r,i){if(!e.gt(oe))throw new Error("sqrtPriceX64 must greater than 0");if(!t.gt(oe))throw new Error("liquidity must greater than 0");return i?this.getNextSqrtPriceFromTokenAmountBRoundingDown(e,t,r,!1):this.getNextSqrtPriceFromTokenAmountARoundingUp(e,t,r,!1)}static getNextSqrtPriceFromTokenAmountARoundingUp(e,t,r,i){if(r.eq(oe))return e;let o=t.shln(Pt);if(i){let s=o,a=o.add(r.mul(e));return a.gte(s)?se.mulDivCeil(s,e,a):se.mulDivRoundingUp(s,Ie,s.div(e).add(r))}else{let s=r.mul(e);if(!o.gt(s))throw new Error("getNextSqrtPriceFromTokenAmountARoundingUp,liquidityLeftShift must gt amountMulSqrtPrice");let a=o.sub(s);return se.mulDivCeil(o,e,a)}}static getNextSqrtPriceFromTokenAmountBRoundingDown(e,t,r,i){let o=r.shln(Pt);if(i)return e.add(o.div(t));{let s=se.mulDivRoundingUp(o,Ie,t);if(!e.gt(s))throw new Error("getNextSqrtPriceFromTokenAmountBRoundingDown sqrtPriceX64 must gt amountDivLiquidity");return e.sub(s)}}static getSqrtPriceX64FromTick(e){if(!Number.isInteger(e))throw new Error("tick must be integer");if(e<me||e>ye)throw new Error("tick must be in MIN_TICK and MAX_TICK");let t=e<0?e*-1:e,r=(t&1)!=0?new x("18445821805675395072"):new x("18446744073709551616");return(t&2)!=0&&(r=M(r,new x("18444899583751176192"))),(t&4)!=0&&(r=M(r,new x("18443055278223355904"))),(t&8)!=0&&(r=M(r,new x("18439367220385607680"))),(t&16)!=0&&(r=M(r,new x("18431993317065453568"))),(t&32)!=0&&(r=M(r,new x("18417254355718170624"))),(t&64)!=0&&(r=M(r,new x("18387811781193609216"))),(t&128)!=0&&(r=M(r,new x("18329067761203558400"))),(t&256)!=0&&(r=M(r,new x("18212142134806163456"))),(t&512)!=0&&(r=M(r,new x("17980523815641700352"))),(t&1024)!=0&&(r=M(r,new x("17526086738831433728"))),(t&2048)!=0&&(r=M(r,new x("16651378430235570176"))),(t&4096)!=0&&(r=M(r,new x("15030750278694412288"))),(t&8192)!=0&&(r=M(r,new x("12247334978884435968"))),(t&16384)!=0&&(r=M(r,new x("8131365268886854656"))),(t&32768)!=0&&(r=M(r,new x("3584323654725218816"))),(t&65536)!=0&&(r=M(r,new x("696457651848324352"))),(t&131072)!=0&&(r=M(r,new x("26294789957507116"))),(t&262144)!=0&&(r=M(r,new x("37481735321082"))),e>0&&(r=mn.div(r)),r}static getTickFromPrice(e,t,r){return F.getTickFromSqrtPriceX64(F.priceToSqrtPriceX64(e,t,r))}static getTickFromSqrtPriceX64