UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

9 lines 49.5 kB
var Et=Object.defineProperty,It=Object.defineProperties;var Mt=Object.getOwnPropertyDescriptors;var Ze=Object.getOwnPropertySymbols;var Rt=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable;var je=(e,t,n)=>t in e?Et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,X=(e,t)=>{for(var n in t||(t={}))Rt.call(t,n)&&je(e,n,t[n]);if(Ze)for(var n of Ze(t))Dt.call(t,n)&&je(e,n,t[n]);return e},te=(e,t)=>It(e,Mt(t));import{PublicKey as ui}from"@solana/web3.js";import Qe,{isBN as $e}from"bn.js";import{bits as lr,BitStructure as fr,blob as _t,Blob as mr,cstr as pr,f32 as dr,f32be as gr,f64 as hr,f64be as br,greedy as yr,Layout as vt,ns64 as wr,ns64be as xr,nu64 as Tr,nu64be as Pr,offset as Sr,s16 as Ar,s16be as Lr,s24 as Br,s24be as Nr,s32 as kr,s32be as Cr,s40 as Er,s40be as Ir,s48 as Mr,s48be as Rr,s8 as Dr,seq as Ft,struct as _r,Structure as Ot,u16 as vr,u16be as Fr,u24 as Or,u24be as Vr,u32 as Kr,u32be as Wr,u40 as Ur,u40be as qr,u48 as Gr,u48be as Hr,u8 as Zr,UInt as jr,union as Yr,Union as zr,unionLayoutDiscriminator as Jr,utf8 as Xr}from"@solana/buffer-layout";var Ye=vt,ze=Ot;var Je=Ft;var Xe=_t;var Ee=class extends Ye{constructor(n,r,i){super(n,i);this.blob=Xe(n),this.signed=r}decode(n,r=0){let i=new Qe(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 Qe(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,i)}};function Z(e){return new Ee(8,!1,e)}var Ie=class extends ze{decode(t,n){return super.decode(t,n)}};function Me(e,t,n){return new Ie(e,t,n)}function et(e,t,n){let r,i=typeof t=="number"?t:$e(t)?t.toNumber():new Proxy(t,{get(o,s){if(!r){let a=Reflect.get(o,"count");r=$e(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 Je(e,i,n)}import{PublicKey as wi}from"@solana/web3.js";import{get as tt,set as Vt}from"lodash";var Re=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}},nt={},Kt={};function v(e){let t=tt(nt,e);if(!t){let n=tt(Kt,e);t=new Re({name:e,logLevel:n}),Vt(nt,e,t)}return t}import{MINT_SIZE as Si,TOKEN_PROGRAM_ID as Ai,getTransferFeeConfig as Li,unpackMint as Bi}from"@solana/spl-token";var Ni=v("Raydium_accountInfo_util");import H from"bn.js";var ne=9e15,J=1e9,_e="0123456789abcdef",be="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",ye="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ve={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ne,maxE:ne,crypto:!1},st,q,w=!0,xe="[DecimalError] ",z=xe+"Invalid argument: ",at=xe+"Precision limit exceeded",ut=xe+"crypto unavailable",ct="[object Decimal]",R=Math.floor,C=Math.pow,Wt=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Ut=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,qt=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,lt=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,V=1e7,y=7,Gt=9007199254740991,Ht=be.length-1,Fe=ye.length-1,p={toStringTag:ct};p.absoluteValue=p.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),g(e)};p.ceil=function(){return g(new this.constructor(this),this.e+1,2)};p.clampedTo=p.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(z+t);return n=r.cmp(e),n<0?e:r.cmp(t)>0?t:new i(r)};p.comparedTo=p.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};p.cosine=p.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())+y,r.rounding=1,n=Zt(r,gt(r,n)),r.precision=e,r.rounding=t,g(q==2||q==3?n.neg():n,e,t,!0)):new r(1):new r(NaN)};p.cubeRoot=p.cbrt=function(){var e,t,n,r,i,o,s,a,c,u,l=this,f=l.constructor;if(!l.isFinite()||l.isZero())return new f(l);for(w=!1,o=l.s*C(l.s*l,1/3),!o||Math.abs(o)==1/0?(n=E(l.d),e=l.e,(o=(e-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=C(n,1/3),e=R((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 f(n),r.s=l.s):r=new f(o.toString()),s=(e=f.precision)+3;;)if(a=r,c=a.times(a).times(a),u=c.plus(l),r=A(u.plus(l).times(a),u.plus(c),s+2,1),E(a.d).slice(0,s)===(n=E(r.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!i&&n=="4999"){if(!i&&(g(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")&&(g(r,e+1,1),t=!r.times(r).times(r).eq(l));break}return w=!0,g(r,e,f.rounding,t)};p.decimalPlaces=p.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-R(this.e/y))*y,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};p.dividedBy=p.div=function(e){return A(this,new this.constructor(e))};p.dividedToIntegerBy=p.divToInt=function(e){var t=this,n=t.constructor;return g(A(t,new n(e),0,1,1),n.precision,n.rounding)};p.equals=p.eq=function(e){return this.cmp(e)===0};p.floor=function(){return g(new this.constructor(this),this.e+1,3)};p.greaterThan=p.gt=function(e){return this.cmp(e)>0};p.greaterThanOrEqualTo=p.gte=function(e){var t=this.cmp(e);return t==1||t===0};p.hyperbolicCosine=p.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/Pe(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=re(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 g(o,s.precision=n,s.rounding=r,!0)};p.hyperbolicSine=p.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=re(o,2,i,i,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,i=i.times(1/Pe(5,e)),i=re(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,g(i,t,n,!0)};p.hyperbolicTangent=p.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,A(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)};p.inverseCosine=p.acos=function(){var e=this,t=e.constructor,n=e.abs().cmp(1),r=t.precision,i=t.rounding;return n!==-1?n===0?e.isNeg()?K(t,r,i):new t(0):new t(NaN):e.isZero()?K(t,r+4,i).times(.5):(t.precision=r+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=r,t.rounding=i,e.times(2))};p.inverseHyperbolicCosine=p.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)};p.inverseHyperbolicSine=p.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())};p.inverseHyperbolicTangent=p.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?g(new o(i),e,t,!0):(o.precision=n=r-i.e,i=A(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)};p.inverseSine=p.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=K(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)))};p.inverseTangent=p.atan=function(){var e,t,n,r,i,o,s,a,c,u=this,l=u.constructor,f=l.precision,m=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&f+4<=Fe)return s=K(l,f+4,m).times(.25),s.s=u.s,s}else{if(!u.s)return new l(NaN);if(f+4<=Fe)return s=K(l,f+4,m).times(.5),s.s=u.s,s}for(l.precision=a=f+10,l.rounding=1,n=Math.min(28,a/y+2|0),e=n;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(w=!1,t=Math.ceil(a/y),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,g(s,l.precision=f,l.rounding=m,!0)};p.isFinite=function(){return!!this.d};p.isInteger=p.isInt=function(){return!!this.d&&R(this.e/y)>this.d.length-2};p.isNaN=function(){return!this.s};p.isNegative=p.isNeg=function(){return this.s<0};p.isPositive=p.isPos=function(){return this.s>0};p.isZero=function(){return!!this.d&&this.d[0]===0};p.lessThan=p.lt=function(e){return this.cmp(e)<0};p.lessThanOrEqualTo=p.lte=function(e){return this.cmp(e)<1};p.logarithm=p.log=function(e){var t,n,r,i,o,s,a,c,u=this,l=u.constructor,f=l.precision,m=l.rounding,d=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=f+d,s=Y(u,a),r=t?we(l,a+10):Y(e,a),c=A(s,r,a,1),se(c.d,i=f,m))do if(a+=10,s=Y(u,a),r=t?we(l,a+10):Y(e,a),c=A(s,r,a,1),!o){+E(c.d).slice(i+1,i+15)+1==1e14&&(c=g(c,f+1,0));break}while(se(c.d,i+=10,m));return w=!0,g(c,f,m)};p.minus=p.sub=function(e){var t,n,r,i,o,s,a,c,u,l,f,m,d=this,x=d.constructor;if(e=new x(e),!d.d||!e.d)return!d.s||!e.s?e=new x(NaN):d.d?e.s=-e.s:e=new x(e.d||d.s!==e.s?d:NaN),e;if(d.s!=e.s)return e.s=-e.s,d.plus(e);if(u=d.d,m=e.d,a=x.precision,c=x.rounding,!u[0]||!m[0]){if(m[0])e.s=-e.s;else if(u[0])e=new x(d);else return new x(c===3?-0:0);return w?g(e,a,c):e}if(n=R(e.e/y),l=R(d.e/y),u=u.slice(),o=l-n,o){for(f=o<0,f?(t=u,o=-o,s=m.length):(t=m,n=l,s=u.length),r=Math.max(Math.ceil(a/y),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=m.length,f=r<s,f&&(s=r),r=0;r<s;r++)if(u[r]!=m[r]){f=u[r]<m[r];break}o=0}for(f&&(t=u,u=m,m=t,e.s=-e.s),s=u.length,r=m.length-s;r>0;--r)u[s++]=0;for(r=m.length;r>o;){if(u[--r]<m[r]){for(i=r;i&&u[--i]===0;)u[i]=V-1;--u[i],u[r]+=V}u[r]-=m[r]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--n;return u[0]?(e.d=u,e.e=Te(u,n),w?g(e,a,c):e):new x(c===3?-0:0)};p.modulo=p.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]?g(new r(n),r.precision,r.rounding):(w=!1,r.modulo==9?(t=A(n,e.abs(),0,3,1),t.s*=e.s):t=A(n,e,0,r.modulo,1),t=t.times(e),w=!0,n.minus(t))};p.naturalExponential=p.exp=function(){return Oe(this)};p.naturalLogarithm=p.ln=function(){return Y(this)};p.negated=p.neg=function(){var e=new this.constructor(this);return e.s=-e.s,g(e)};p.plus=p.add=function(e){var t,n,r,i,o,s,a,c,u,l,f=this,m=f.constructor;if(e=new m(e),!f.d||!e.d)return!f.s||!e.s?e=new m(NaN):f.d||(e=new m(e.d||f.s===e.s?f:NaN)),e;if(f.s!=e.s)return e.s=-e.s,f.minus(e);if(u=f.d,l=e.d,a=m.precision,c=m.rounding,!u[0]||!l[0])return l[0]||(e=new m(f)),w?g(e,a,c):e;if(o=R(f.e/y),r=R(e.e/y),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/y),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)/V|0,u[i]%=V;for(t&&(u.unshift(t),++r),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=Te(u,r),w?g(e,a,c):e};p.precision=p.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(z+e);return n.d?(t=ft(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};p.round=function(){var e=this,t=e.constructor;return g(new t(e),e.e+1,t.rounding)};p.sine=p.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())+y,r.rounding=1,n=Yt(r,gt(r,n)),r.precision=e,r.rounding=t,g(q>2?n.neg():n,e,t,!0)):new r(NaN)};p.squareRoot=p.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=E(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=R((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(A(s,o,n+2,1)).times(.5),E(o.d).slice(0,n)===(t=E(r.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!i&&t=="4999"){if(!i&&(g(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")&&(g(r,c+1,1),e=!r.times(r).eq(s));break}return w=!0,g(r,c,l.rounding,e)};p.tangent=p.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=A(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,g(q==2||q==4?n.neg():n,e,t,!0)):new r(NaN)};p.times=p.mul=function(e){var t,n,r,i,o,s,a,c,u,l=this,f=l.constructor,m=l.d,d=(e=new f(e)).d;if(e.s*=l.s,!m||!m[0]||!d||!d[0])return new f(!e.s||m&&!m[0]&&!d||d&&!d[0]&&!m?NaN:!m||!d?e.s/0:e.s*0);for(n=R(l.e/y)+R(e.e/y),c=m.length,u=d.length,c<u&&(o=m,m=d,d=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]+d[r]*m[i-r-1]+t,o[i--]=a%V|0,t=a/V|0;o[i]=(o[i]+t)%V|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=Te(o,n),w?g(e,f.precision,f.rounding):e};p.toBinary=function(e,t){return Ve(this,2,e,t)};p.toDecimalPlaces=p.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(_(e,0,J),t===void 0?t=r.rounding:_(t,0,8),g(n,e+n.e+1,t))};p.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=W(r,!0):(_(e,0,J),t===void 0?t=i.rounding:_(t,0,8),r=g(new i(r),e+1,t),n=W(r,!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};p.toFixed=function(e,t){var n,r,i=this,o=i.constructor;return e===void 0?n=W(i):(_(e,0,J),t===void 0?t=o.rounding:_(t,0,8),r=g(new o(i),e+i.e+1,t),n=W(r,!1,e+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};p.toFraction=function(e){var t,n,r,i,o,s,a,c,u,l,f,m,d=this,x=d.d,b=d.constructor;if(!x)return new b(d);if(u=n=new b(1),r=c=new b(0),t=new b(r),o=t.e=ft(x)-d.e-1,s=o%y,t.d[0]=C(10,s<0?y+s:s),e==null)e=o>0?t:u;else{if(a=new b(e),!a.isInt()||a.lt(u))throw Error(z+a);e=a.gt(t)?o>0?t:u:a}for(w=!1,a=new b(E(x)),l=b.precision,b.precision=o=x.length*y*2;f=A(a,t,0,1,1),i=n.plus(f.times(r)),i.cmp(e)!=1;)n=r,r=i,i=u,u=c.plus(f.times(i)),c=i,i=t,t=a.minus(f.times(i)),a=i;return i=A(e.minus(n),r,0,1,1),c=c.plus(i.times(u)),n=n.plus(i.times(r)),c.s=u.s=d.s,m=A(u,r,o,1).minus(d).abs().cmp(A(c,n,o,1).minus(d).abs())<1?[u,r]:[c,n],b.precision=l,w=!0,m};p.toHexadecimal=p.toHex=function(e,t){return Ve(this,16,e,t)};p.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:_(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=A(n,e,0,t,1).times(e),w=!0,g(n)):(e.s=n.s,n=e),n};p.toNumber=function(){return+this};p.toOctal=function(e,t){return Ve(this,8,e,t)};p.toPower=p.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(C(+a,u));if(a=new c(a),a.eq(1))return a;if(r=c.precision,o=c.rounding,e.eq(1))return g(a,r,o);if(t=R(e.e/y),t>=e.d.length-1&&(n=u<0?-u:u)<=Gt)return i=mt(c,a,n,r),e.s<0?new c(1).div(i):g(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=C(+a,u),t=n==0||!isFinite(n)?R(u*(Math.log("0."+E(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=Oe(e.times(Y(a,r+n)),r),i.d&&(i=g(i,r+5,1),se(i.d,r,o)&&(t=r+10,i=g(Oe(e.times(Y(a,t+n)),t),t+5,1),+E(i.d).slice(r+1,r+15)+1==1e14&&(i=g(i,r+1,0)))),i.s=s,w=!0,c.rounding=o,g(i,r,o))};p.toPrecision=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=W(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(_(e,1,J),t===void 0?t=i.rounding:_(t,0,8),r=g(new i(r),e,t),n=W(r,e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n};p.toSignificantDigits=p.toSD=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(_(e,1,J),t===void 0?t=r.rounding:_(t,0,8)),g(new r(n),e,t)};p.toString=function(){var e=this,t=e.constructor,n=W(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};p.truncated=p.trunc=function(){return g(new this.constructor(this),this.e+1,1)};p.valueOf=p.toJSON=function(){var e=this,t=e.constructor,n=W(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function E(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=y-r.length,n&&(o+=j(n)),o+=r;s=e[t],r=s+"",n=y-r.length,n&&(o+=j(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function _(e,t,n){if(e!==~~e||e<t||e>n)throw Error(z+e)}function se(e,t,n,r){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=y,i=0):(i=Math.ceil((t+1)/y),t%=y),o=C(10,y-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)==C(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)==C(10,t-3)-1,s}function ge(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]+=_e.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 Zt(e,t){var n,r,i;if(t.isZero())return t;r=t.d.length,r<32?(n=Math.ceil(r/3),i=(1/Pe(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),e.precision+=n,t=re(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 A=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,f,m,d,x,b,D,k,F,S,I,fe,U,Ne,me,oe,ke,O,pe,de=r.constructor,Ce=r.s==i.s?1:-1,M=r.d,L=i.d;if(!M||!M[0]||!L||!L[0])return new de(!r.s||!i.s||(M?L&&M[0]==L[0]:!L)?NaN:M&&M[0]==0||!L?Ce*0:Ce/0);for(c?(d=1,l=r.e-i.e):(c=V,d=y,l=R(r.e/d)-R(i.e/d)),O=L.length,oe=M.length,k=new de(Ce),F=k.d=[],f=0;L[f]==(M[f]||0);f++);if(L[f]>(M[f]||0)&&l--,o==null?(U=o=de.precision,s=de.rounding):a?U=o+(r.e-i.e)+1:U=o,U<0)F.push(1),x=!0;else{if(U=U/d+2|0,f=0,O==1){for(m=0,L=L[0],U++;(f<oe||m)&&U--;f++)Ne=m*c+(M[f]||0),F[f]=Ne/L|0,m=Ne%L|0;x=m||f<oe}else{for(m=c/(L[0]+1)|0,m>1&&(L=e(L,m,c),M=e(M,m,c),O=L.length,oe=M.length),me=O,S=M.slice(0,O),I=S.length;I<O;)S[I++]=0;pe=L.slice(),pe.unshift(0),ke=L[0],L[1]>=c/2&&++ke;do m=0,u=t(L,S,O,I),u<0?(fe=S[0],O!=I&&(fe=fe*c+(S[1]||0)),m=fe/ke|0,m>1?(m>=c&&(m=c-1),b=e(L,m,c),D=b.length,I=S.length,u=t(b,S,D,I),u==1&&(m--,n(b,O<D?pe:L,D,c))):(m==0&&(u=m=1),b=L.slice()),D=b.length,D<I&&b.unshift(0),n(S,b,I,c),u==-1&&(I=S.length,u=t(L,S,O,I),u<1&&(m++,n(S,O<I?pe:L,I,c))),I=S.length):u===0&&(m++,S=[0]),F[f++]=m,u&&S[0]?S[I++]=M[me]||0:(S=[M[me]],I=1);while((me++<oe||S[0]!==void 0)&&U--);x=S[0]!==void 0}F[0]||F.shift()}if(d==1)k.e=l,st=x;else{for(f=1,m=F[0];m>=10;m/=10)f++;k.e=f+l*d-1,g(k,a?o+k.e+1:o,s,x)}return k}}();function g(e,t,n,r){var i,o,s,a,c,u,l,f,m,d=e.constructor;e:if(t!=null){if(f=e.d,!f)return e;for(i=1,a=f[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=y,s=t,l=f[m=0],c=l/C(10,i-s-1)%10|0;else if(m=Math.ceil((o+1)/y),a=f.length,m>=a)if(r){for(;a++<=m;)f.push(0);l=c=0,i=1,o%=y,s=o-y+1}else break e;else{for(l=a=f[m],i=1;a>=10;a/=10)i++;o%=y,s=o-y+i,c=s<0?0:l/C(10,i-s-1)%10|0}if(r=r||t<0||f[m+1]!==void 0||(s<0?l:l%C(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/C(10,i-s):0:f[m-1])%10&1||n==(e.s<0?8:7)),t<1||!f[0])return f.length=0,u?(t-=e.e+1,f[0]=C(10,(y-t%y)%y),e.e=-t||0):f[0]=e.e=0,e;if(o==0?(f.length=m,a=1,m--):(f.length=m+1,a=C(10,y-o),f[m]=s>0?(l/C(10,i-s)%C(10,s)|0)*a:0),u)for(;;)if(m==0){for(o=1,s=f[0];s>=10;s/=10)o++;for(s=f[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,f[0]==V&&(f[0]=1));break}else{if(f[m]+=a,f[m]!=V)break;f[m--]=0,a=1}for(o=f.length;f[--o]===0;)f.pop()}return w&&(e.e>d.maxE?(e.d=null,e.e=NaN):e.e<d.minE&&(e.e=0,e.d=[0])),e}function W(e,t,n){if(!e.isFinite())return dt(e);var r,i=e.e,o=E(e.d),s=o.length;return t?(n&&(r=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+j(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+j(-i-1)+o,n&&(r=n-s)>0&&(o+=j(r))):i>=s?(o+=j(i+1-s),n&&(r=n-i-1)>0&&(o=o+"."+j(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-s)>0&&(i+1===s&&(o+="."),o+=j(r))),o}function Te(e,t){var n=e[0];for(t*=y;n>=10;n/=10)t++;return t}function we(e,t,n){if(t>Ht)throw w=!0,n&&(e.precision=n),Error(at);return g(new e(be),t,1,!0)}function K(e,t,n){if(t>Fe)throw Error(at);return g(new e(ye),t,n,!0)}function ft(e){var t=e.length-1,n=t*y+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 j(e){for(var t="";e--;)t+="0";return t}function mt(e,t,n,r){var i,o=new e(1),s=Math.ceil(r/y+4);for(w=!1;;){if(n%2&&(o=o.times(t),it(o.d,s)&&(i=!0)),n=R(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}t=t.times(t),it(t.d,s)}return w=!0,o}function rt(e){return e.d[e.d.length-1]&1}function pt(e,t,n){for(var r,i,o=new e(t[0]),s=0;++s<t.length;){if(i=new e(t[s]),!i.s){o=i;break}r=o.cmp(i),(r===n||r===0&&o.s===n)&&(o=i)}return o}function Oe(e,t){var n,r,i,o,s,a,c,u=0,l=0,f=0,m=e.constructor,d=m.rounding,x=m.precision;if(!e.d||!e.d[0]||e.e>17)return new m(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 m(.03125);e.e>-2;)e=e.times(a),f+=5;for(r=Math.log(C(2,f))/Math.LN10*2+5|0,c+=r,n=o=s=new m(1),m.precision=c;;){if(o=g(o.times(e),c,1),n=n.times(++l),a=s.plus(A(o,n,c,1)),E(a.d).slice(0,c)===E(s.d).slice(0,c)){for(i=f;i--;)s=g(s.times(s),c,1);if(t==null)if(u<3&&se(s.d,c-r,d,u))m.precision=c+=10,n=o=a=new m(1),l=0,u++;else return g(s,m.precision=x,d,w=!0);else return m.precision=x,s}s=a}}function Y(e,t){var n,r,i,o,s,a,c,u,l,f,m,d=1,x=10,b=e,D=b.d,k=b.constructor,F=k.rounding,S=k.precision;if(b.s<0||!D||!D[0]||!b.e&&D[0]==1&&D.length==1)return new k(D&&!D[0]?-1/0:b.s!=1?NaN:D?0:b);if(t==null?(w=!1,l=S):l=t,k.precision=l+=x,n=E(D),r=n.charAt(0),Math.abs(o=b.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)b=b.times(e),n=E(b.d),r=n.charAt(0),d++;o=b.e,r>1?(b=new k("0."+n),o++):b=new k(r+"."+n.slice(1))}else return u=we(k,l+2,S).times(o+""),b=Y(new k(r+"."+n.slice(1)),l-x).plus(u),k.precision=S,t==null?g(b,S,F,w=!0):b;for(f=b,c=s=b=A(b.minus(1),b.plus(1),l,1),m=g(b.times(b),l,1),i=3;;){if(s=g(s.times(m),l,1),u=c.plus(A(s,new k(i),l,1)),E(u.d).slice(0,l)===E(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(we(k,l+2,S).times(o+""))),c=A(c,new k(d),l,1),t==null)if(se(c.d,l-x,F,a))k.precision=l+=x,u=s=b=A(f.minus(1),f.plus(1),l,1),m=g(b.times(b),l,1),i=a=1;else return g(c,k.precision=S,F,w=!0);else return k.precision=S,c;c=u,i+=2}}function dt(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)%y,n<0&&(r+=y),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=y;r<i;)e.d.push(+t.slice(r,r+=y));t=t.slice(r),r=y-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 jt(e,t){var n,r,i,o,s,a,c,u,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),lt.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(Ut.test(t))n=16,t=t.toLowerCase();else if(Wt.test(t))n=2;else if(qt.test(t))n=8;else throw Error(z+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=mt(r,new r(n),o,o*2)),u=ge(t,n,V),l=u.length-1,o=l;u[o]===0;--o)u.pop();return o<0?new r(e.s*0):(e.e=Te(u,l),e.d=u,w=!1,s&&(e=A(e,i,a*4)),c&&(e=e.times(Math.abs(c)<54?C(2,c):Se.pow(2,c))),w=!0,e)}function Yt(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:re(e,2,t,t);n=1.4*Math.sqrt(r),n=n>16?16:n|0,t=t.times(1/Pe(5,n)),t=re(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 re(e,t,n,r,i){var o,s,a,c,u=1,l=e.precision,f=Math.ceil(l/y);for(w=!1,c=n.times(n),a=new e(r);;){if(s=A(a.times(c),new e(t++*t++),l,1),a=i?r.plus(s):r.minus(s),r=A(s.times(c),new e(t++*t++),l,1),s=a.plus(r),s.d[f]!==void 0){for(o=f;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=f+1,s}function Pe(e,t){for(var n=e;--t;)n*=e;return n}function gt(e,t){var n,r=t.s<0,i=K(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=rt(n)?r?2:3:r?4:1,t;q=rt(n)?r?1:4:r?3:2}return t.minus(i).abs()}function Ve(e,t,n,r){var i,o,s,a,c,u,l,f,m,d=e.constructor,x=n!==void 0;if(x?(_(n,1,J),r===void 0?r=d.rounding:_(r,0,8)):(n=d.precision,r=d.rounding),!e.isFinite())l=dt(e);else{for(l=W(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(".",""),m=new d(1),m.e=l.length-s,m.d=ge(W(m),10,i),m.e=m.d.length),f=ge(l,10,i),o=c=f.length;f[--c]==0;)f.pop();if(!f[0])l=x?"0p+0":"0";else{if(s<0?o--:(e=new d(e),e.d=f,e.e=o,e=A(e,m,n,r,0,i),f=e.d,o=e.e,u=st),s=f[n],a=i/2,u=u||f[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&&f[n-1]&1||r===(e.s<0?8:7)),f.length=n,u)for(;++f[--n]>i-1;)f[n]=0,n||(++o,f.unshift(1));for(c=f.length;!f[c-1];--c);for(s=0,l="";s<c;s++)l+=_e.charAt(f[s]);if(x){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)l+="0";for(f=ge(l,i,t),c=f.length;!f[c-1];--c);for(s=1,l="1.";s<c;s++)l+=_e.charAt(f[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 it(e,t){if(e.length>t)return e.length=t,!0}function zt(e){return new this(e).abs()}function Jt(e){return new this(e).acos()}function Xt(e){return new this(e).acosh()}function Qt(e,t){return new this(e).plus(t)}function $t(e){return new this(e).asin()}function en(e){return new this(e).asinh()}function tn(e){return new this(e).atan()}function nn(e){return new this(e).atanh()}function rn(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=K(this,o,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?K(this,r,i):new this(0),n.s=e.s):!e.d||t.isZero()?(n=K(this,o,1).times(.5),n.s=e.s):t.s<0?(this.precision=o,this.rounding=1,n=this.atan(A(e,t,o,1)),t=K(this,o,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(A(e,t,o,1)),n}function on(e){return new this(e).cbrt()}function sn(e){return g(e=new this(e),e.e+1,2)}function an(e,t,n){return new this(e).clamp(t,n)}function un(e){if(!e||typeof e!="object")throw Error(xe+"Object expected");var t,n,r,i=e.defaults===!0,o=["precision",1,J,"rounding",0,8,"toExpNeg",-ne,0,"toExpPos",0,ne,"maxE",0,ne,"minE",-ne,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],i&&(this[n]=ve[n]),(r=e[n])!==void 0)if(R(r)===r&&r>=o[t+1]&&r<=o[t+2])this[n]=r;else throw Error(z+n+": "+r);if(n="crypto",i&&(this[n]=ve[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(ut);else this[n]=!1;else throw Error(z+n+": "+r);return this}function cn(e){return new this(e).cos()}function ln(e){return new this(e).cosh()}function ht(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,ot(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}if(o*0!==0){o||(u.s=NaN),u.e=NaN,u.d=null;return}return he(u,o.toString())}if(c==="string")return(a=o.charCodeAt(0))===45?(o=o.slice(1),u.s=-1):(a===43&&(o=o.slice(1)),u.s=1),lt.test(o)?he(u,o):jt(u,o);if(c==="bigint")return o<0?(o=-o,u.s=-1):u.s=1,he(u,o.toString());throw Error(z+o)}if(i.prototype=p,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=un,i.clone=ht,i.isDecimal=ot,i.abs=zt,i.acos=Jt,i.acosh=Xt,i.add=Qt,i.asin=$t,i.asinh=en,i.atan=tn,i.atanh=nn,i.atan2=rn,i.cbrt=on,i.ceil=sn,i.clamp=an,i.cos=cn,i.cosh=ln,i.div=fn,i.exp=mn,i.floor=pn,i.hypot=dn,i.ln=gn,i.log=hn,i.log10=yn,i.log2=bn,i.max=wn,i.min=xn,i.mod=Tn,i.mul=Pn,i.pow=Sn,i.random=An,i.round=Ln,i.sign=Bn,i.sin=Nn,i.sinh=kn,i.sqrt=Cn,i.sub=En,i.sum=In,i.tan=Mn,i.tanh=Rn,i.trunc=Dn,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 fn(e,t){return new this(e).div(t)}function mn(e){return new this(e).exp()}function pn(e){return g(e=new this(e),e.e+1,3)}function dn(){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 ot(e){return e instanceof Se||e&&e.toStringTag===ct||!1}function gn(e){return new this(e).ln()}function hn(e,t){return new this(e).log(t)}function bn(e){return new this(e).log(2)}function yn(e){return new this(e).log(10)}function wn(){return pt(this,arguments,-1)}function xn(){return pt(this,arguments,1)}function Tn(e,t){return new this(e).mod(t)}function Pn(e,t){return new this(e).mul(t)}function Sn(e,t){return new this(e).pow(t)}function An(e){var t,n,r,i,o=0,s=new this(1),a=[];if(e===void 0?e=this.precision:_(e,1,J),r=Math.ceil(e/y),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(ut);else for(;o<r;)a[o++]=Math.random()*1e7|0;for(r=a[--o],e%=y,r&&e&&(i=C(10,y-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-=y)a.shift();for(r=1,i=a[0];i>=10;i/=10)r++;r<y&&(n-=y-r)}return s.e=n,s.d=a,s}function Ln(e){return g(e=new this(e),e.e+1,this.rounding)}function Bn(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function Nn(e){return new this(e).sin()}function kn(e){return new this(e).sinh()}function Cn(e){return new this(e).sqrt()}function En(e,t){return new this(e).sub(t)}function In(){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,g(n,this.precision,this.rounding)}function Mn(e){return new this(e).tan()}function Rn(e){return new this(e).tanh()}function Dn(e){return g(e=new this(e),e.e+1,1)}p[Symbol.for("nodejs.util.inspect.custom")]=p.toString;p[Symbol.toStringTag]="Decimal";var Se=p.constructor=ht(ve);be=new Se(be);ye=new Se(ye);import Un from"big.js";import ji from"bn.js";import _n from"toformat";var vn=_n,ae=vn;import Le from"big.js";import On from"bn.js";import Vn from"decimal.js-light";import ue from"bn.js";var bt=9007199254740991;function G(e){let t=v("Raydium_parseBigNumberish");if(e instanceof ue)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new ue(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=bt||e<=-bt)&&t.logWithError(`BigNumberish number overflow: ${e}`),new ue(String(e))):typeof e=="bigint"?new ue(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new ue(0))}var Ae=v("module/fraction"),Ke=ae(Le),ce=ae(Vn),Kn={[0]:ce.ROUND_DOWN,[1]:ce.ROUND_HALF_UP,[2]:ce.ROUND_UP},Wn={[0]:Le.roundDown,[1]:Le.roundHalfUp,[2]:Le.roundUp},B=class{constructor(t,n=new On(1)){this.numerator=G(t),this.denominator=G(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new B(this.denominator,this.numerator)}add(t){let n=t instanceof B?t:new B(G(t));return this.denominator.eq(n.denominator)?new B(this.numerator.add(n.numerator),this.denominator):new B(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof B?t:new B(G(t));return this.denominator.eq(n.denominator)?new B(this.numerator.sub(n.numerator),this.denominator):new B(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof B?t:new B(G(t));return new B(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof B?t:new B(G(t));return new B(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||Ae.logWithError(`${t} is not an integer.`),t<=0&&Ae.logWithError(`${t} is not positive.`),ce.set({precision:t+1,rounding:Kn[r]});let i=new ce(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)||Ae.logWithError(`${t} is not an integer.`),t<0&&Ae.logWithError(`${t} is negative.`),Ke.DP=t,Ke.RM=Wn[r]||1,new Ke(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var no=v("Raydium_amount"),ro=ae(Un);import{PublicKey as Gn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as yt}from"@solana/spl-token";var wt={chainId:101,address:Gn.default.toBase58(),programId:yt.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},Q={chainId:101,address:"So11111111111111111111111111111111111111112",programId:yt.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as Ue}from"@solana/web3.js";import{PublicKey as N,SystemProgram as xt,SYSVAR_RENT_PUBKEY as Hn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Zn}from"@solana/spl-token";function We({pubkey:e,isSigner:t=!1,isWritable:n=!0}){return{pubkey:e,isWritable:n,isSigner:t}}var fo=[We({pubkey:Zn,isWritable:!1}),We({pubkey:xt.programId,isWritable:!1}),We({pubkey:Hn,isWritable:!1})];function Tt({publicKey:e,transformSol:t}){let n=Pt(e.toString());if(n instanceof N)return t&&n.equals(le)?De:n;if(t&&n.toString()===le.toBase58())return De;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 Pt(e){try{return new N(e)}catch{return e}}var mo=new N("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),po=new N("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),go=new N("SysvarRent111111111111111111111111111111111"),ho=new N("SysvarC1ock11111111111111111111111111111111"),bo=new N("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),yo=new N("Sysvar1nstructions1111111111111111111111111"),wo=xt.programId,xo=new N("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),To=new N("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Po=new N("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),So=new N("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Ao=new N("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Lo=new N("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Bo=new N("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),No=new N("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),ko=new N("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Co=new N("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Eo=new N("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),De=new N("So11111111111111111111111111111111111111112"),le=N.default;var qe=class{constructor({mint:t,decimals:n,symbol:r,name:i,skipMint:o=!1,isToken2022:s=!1}){if(t===le.toBase58()||t instanceof Ue&&le.equals(t)){this.decimals=Q.decimals,this.symbol=Q.symbol,this.name=Q.name,this.mint=new Ue(Q.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?Ue.default:Tt({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},ie=qe;ie.WSOL=new qe(te(X({},Q),{mint:Q.address}));var Ge=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},Be=Ge;Be.SOL=new Ge(wt);import jn from"bn.js";var Uo=new B(new jn(100));var Yo=v("Raydium_price");var Yn=new H(0),Ss=new H(1),As=new H(2),Ls=new H(3),Bs=new H(5),qn=new H(10),Ns=new H(100),ks=new H(1e3),Cs=new H(1e4);import{PublicKey as ta}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ra}from"@solana/spl-token";import{ComputeBudgetProgram as Fs,Keypair as Ks,PublicKey as Ws,Transaction as qs,TransactionMessage as Hs,VersionedTransaction as Zs}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Js}from"@solana/spl-token";var Xs=v("Raydium_txUtil");import{PublicKey as h}from"@solana/web3.js";var aa=new h("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),ua=new h("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),ca=new h("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),la=new h("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),fa=new h("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),ma=new h("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),pa=new h("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),da=new h("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),ga=new h("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),ha=new h("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),ba=new h("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),ya=new h("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),wa=new h("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Bt=new h("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),xa=new h("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Ta=new h("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Pa=new h("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Sa=new h("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Aa=new h("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),La=new h("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),Ba=new h("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Na=new h("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),ka=new h("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Ca=new h("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Ea=new h("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Ia=new h("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Ma=new h("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),Ra=new h("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),Da=new h("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),_a=new h("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),va=new h("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var Fa={OPEN_BOOK_PROGRAM:new h("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new h("Ray1111111111111111111111111111111111111111"),AMM_V4:new h("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new h("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new h("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new h("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new h("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new h("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new h("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new h("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new h("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new h("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:h.default,Router:new h("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new h("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new h("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new h("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new h("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new h("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new h("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new h("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new h("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new h("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new h("Ray1111111111111111111111111111111111111111")};import Ka from"bn.js";import{PublicKey as Ha,AddressLookupTableAccount as Za}from"@solana/web3.js";import{PublicKey as cu,sendAndConfirmTransaction as lu,SystemProgram as pu,Transaction as du,TransactionMessage as hu,VersionedTransaction as bu}from"@solana/web3.js";import wu from"axios";import{PublicKey as Bu}from"@solana/web3.js";import ku from"bn.js";import Jn from"bn.js";var Ru=new Jn(1e6);var ee=5e4,Xn=Me([Z("x"),Z("y"),Z("price")]),Qn=Me([Z("accountType"),Z("status"),Z("multiplier"),Z("validDataCount"),et(Xn,ee,"DataElement")]);function $n(e,t){return[0,ee-2]}function er(e){return[0,ee-2]}function tr(e){return[0,ee-2]}function nr(e,t,n){let[r,i]=$n(t,n),o=r,s=i,a=0,c=t*e.multiplier/n;for(;o<=s;){if(a=Math.floor((s+o)/2),a===0||a>=ee-2)return[a,a,!1];let u=e.DataElement[a].x*e.multiplier/e.DataElement[a].y,l=e.DataElement[a-1].x*e.multiplier/e.DataElement[a-1].y,f=e.DataElement[a+1].x*e.multiplier/e.DataElement[a+1].y;if(c===u)return[a,a,!0];if(c===l)return[a-1,a-1,!0];if(c===f)return[a+1,a+1,!0];if(c<l)s=a-1;else{if(c>l&&c<u)return[a-1,a,!0];if(c>u&&c<f)return[a,a+1,!0];o=a+1}}return[a,a,!1]}function He(e,t,n){let[r,i,o]=nr(e,t,n);if(!o)return 0;if(r===i){let s=e.DataElement[r].x;return t*e.multiplier/s}else{let s=e.DataElement[r].x,a=e.DataElement[r].y,c=e.DataElement[i].x,u=e.DataElement[i].y,l=n*(c*a-s*u),f=s*l,m=(c-s)*(t*a-s*n)*u,d=f+m;return t*e.multiplier*l/d}}function $(e,t,n){return t*e.multiplier/n}function kt(e,t,n){return t*n/e.multiplier}function rr(e,t){let[n,r]=er(t),i=n,o=r,s=0,a=t;for(;i<o;){if(s=Math.floor((o+i)/2),s<=0||s>ee-2)return[s,s,!1];let c=e.DataElement[s].x,u=e.DataElement[s-1].x,l=e.DataElement[s+1].x;if(a===c)return[s,s,!0];if(a===u)return[s-1,s-1,!0];if(a===l)return[s+1,s+1,!0];if(a<u)o=s-1;else{if(a>u&&a<c)return[s-1,s,!0];if(a>c&&a<l)return[s,s+1,!0];i=s+1}}return[s,s,!1]}function ir(e,t){let[n,r]=tr(t),i=n,o=r,s=0,a=t;for(;i<=o;){if(s=Math.floor((o+i)/2),s<=0||s>=ee-2)return[s,s,!1];let c=e.DataElement[s].y,u=e.DataElement[s-1].y,l=e.DataElement[s+1].y;if(a===c)return[s,s,!0];if(a===u)return[s-1,s-1,!0];if(a===l)return[s+1,s+1,!0];if(a<l)i=s+1;else{if(a<u&&a>c)return[s-1,s,!0];if(a<c&&a>l)return[s,s+1,!0];o=s-1}}return[s,s,!1]}function Ct(e,t,n,r){let i=r?t+n:t-n,[o,s,a]=rr(e,i);if(!a)return[0,0,!1,a];if(o===s)return[e.DataElement[s].price,e.DataElement[s].y,!1,a];{let c=e.DataElement[o].x,u=e.DataElement[s].x,l=e.DataElement[o].price,f=e.DataElement[s].price,m=e.DataElement[o].y,d=e.DataElement[s].y;if(t>=c&&t<=u)return r?[f,d,!0,a]:[l,m,!0,a];{let x,b;return r?(x=l+(f-l)*(t-c)/(u-c),b=m-(i-c)*e.multiplier/f):(x=l+(f-l)*(t-c)/(u-c),b=d+(u-i)*e.multiplier/l),[x,b,!1,a]}}}function or(e,t,n,r){let i=r?t-n:t+n,[o,s,a]=ir(e,i);if(!a)return[0,0,!1,a];if(o===s)return[e.DataElement[s].price,e.DataElement[s].x,!1,a];{let c=e.DataElement[o].x,u=e.DataElement[s].x,l=e.DataElement[o].price,f=e.DataElement[s].price,m=e.DataElement[o].y,d=e.DataElement[s].y;if(t>=d&&t<=m)return r?[f,u,!0,a]:[l,c,!0,a];{let x,b;return r?(x=l+(f-l)*(m-t)/(m-d),b=c+f*(m-i)/e.multiplier):(x=l+(f-l)*(m-t)/(m-d),b=u-l*(i-d)/e.multiplier),[x,b,!1,a]}}}function sr(e,t){let n=Ct(e,t,0,!1);return n[3]?n[0]:0}function nc(e,t,n,r){let i=He(e,t,n),o=$(e,t,i),s=$(e,n,i),a=$(e,r,i),c=!0,[u,l,f,m]=Ct(e,o,a,c);if(!m)return 0;if(f)return r*e.multiplier/u;{let d=s-l;return kt(e,d,i)}}function rc(e,t,n,r){let i=He(e,t,n),o=$(e,t,i),s=$(e,n,i),a=$(e,r,i),c=!1,[u,l,f,m]=or(e,s,a,c);if(!m)return 0;if(f)return r*u/e.multiplier;{let d=o-l;return kt(e,d,i)}}function ar(e){let t=Qn.decode(e);return{accountType:t.accountType.toNumber(),status:t.status.toNumber(),multiplier:t.multiplier.toNumber(),validDataCount:t.validDataCount.toNumber(),DataElement:t.DataElement.map(n=>({x:n.x.toNumber(),y:n.y.toNumber(),price:n.price.toNumber()}))}}function ic(e,t,n,r){let i=sr(e,$(e,t,He(e,t,n)))/e.multiplier;return r?i:1/i}var Nt=class{constructor({connection:t,modelDataPubKey:n=Bt}){this._layoutData={accountType:0,status:0,multiplier:0,validDataCount:0,DataElement:[]};this.connection=t,this.modelDataPubKey=n}get stableModelData(){return this._layoutData}async initStableModelLayout(){if(this._layoutData.validDataCount===0&&this.connection){let t=await this.connection.getAccountInfo(this.modelDataPubKey);t&&(this._layoutData=ar(t==null?void 0:t.data))}}};export{Xn as DataElement,Nt as StableLayout,ar as formatLayout,rc as getDxByDyBaseIn,nc as getDyByDxBaseIn,ic as getStablePrice,Qn as modelDataInfoLayout}; /*! * decimal.js v10.6.0 * An arbitrary-precision Decimal type for JavaScript. * https://github.com/MikeMcl/decimal.js * Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com> * MIT Licence */ //# sourceMappingURL=stable.mjs.map