UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

1 lines 76.6 kB
var _r=Object.defineProperty,Dr=Object.defineProperties;var Wr=Object.getOwnPropertyDescriptors;var Ot=Object.getOwnPropertySymbols;var Or=Object.prototype.hasOwnProperty,Ur=Object.prototype.propertyIsEnumerable;var Ut=(e,t,r)=>t in e?_r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,q=(e,t)=>{for(var r in t||(t={}))Or.call(t,r)&&Ut(e,r,t[r]);if(Ot)for(var r of Ot(t))Ur.call(t,r)&&Ut(e,r,t[r]);return e},Z=(e,t)=>Dr(e,Wr(t));import{PublicKey as Zr}from"@solana/web3.js";import jt,{isBN as Yt}from"bn.js";import{bits as Gi,BitStructure as Hi,blob as qr,Blob as ji,cstr as Yi,f32 as zi,f32be as Zi,f64 as Xi,f64be as Ji,greedy as Qi,Layout as Gr,ns64 as $i,ns64be as eo,nu64 as to,nu64be as ro,offset as no,s16 as io,s16be as oo,s24 as so,s24be as ao,s32 as uo,s32be as co,s40 as lo,s40be as fo,s48 as po,s48be as mo,s8 as go,seq as Hr,struct as yo,Structure as jr,u16 as ho,u16be as bo,u24 as wo,u24be as Po,u32 as To,u32be as xo,u40 as ko,u40be as So,u48 as Ao,u48be as Lo,u8 as Yr,UInt as zr,union as Io,Union as Bo,unionLayoutDiscriminator as Ro,utf8 as No}from"@solana/buffer-layout";var st=Gr,qt=jr;var at=zr;var Gt=Yr;var Ht=Hr;var ye=qr;var Se=class extends st{constructor(r,n,i){super(r,i);this.blob=ye(r),this.signed=n}decode(r,n=0){let i=new jt(this.blob.decode(r,n),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(r,n,i=0){return typeof r=="number"&&(r=new jt(r)),this.signed&&(r=r.toTwos(this.span*8)),this.blob.encode(r.toArrayLike(Buffer,"le",this.span),n,i)}};function V(e){return new at(1,e)}function Ae(e){return new at(4,e)}function y(e){return new Se(8,!1,e)}function se(e){return new Se(16,!1,e)}function zt(e){return new Se(1,!0,e)}function qe(e){return new Se(8,!0,e)}var Ue=class extends st{constructor(r,n,i,o){super(r.span,o);this.layout=r,this.decoder=n,this.encoder=i}decode(r,n){return this.decoder(this.layout.decode(r,n))}encode(r,n,i){return this.layout.encode(this.encoder(r),n,i)}getSpan(r,n){return this.layout.getSpan(r,n)}};function A(e){return new Ue(ye(32),t=>new Zr(t),t=>t.toBuffer(),e)}function Ce(e){return new Ue(Gt(),Xr,Jr,e)}function Xr(e){if(e===0)return!1;if(e===1)return!0;throw new Error("Invalid bool: "+e)}function Jr(e){return e?1:0}var ut=class extends qt{decode(t,r){return super.decode(t,r)}};function C(e,t,r){return new ut(e,t,r)}function M(e,t,r){let n,i=typeof t=="number"?t:Yt(t)?t.toNumber():new Proxy(t,{get(o,s){if(!n){let a=Reflect.get(o,"count");n=Yt(a)?a.toNumber():a,Reflect.set(o,"count",n)}return Reflect.get(o,s)},set(o,s,a){return s==="count"&&(n=a),Reflect.set(o,s,a)}});return Ht(e,i,r)}import{PublicKey as er}from"@solana/web3.js";import{get as Zt,set as Qr}from"lodash";var ct=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 r=t.map(n=>typeof n=="object"?JSON.stringify(n):n).join(", ");throw new Error(r)}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}},Xt={},$r={};function W(e){let t=Zt(Xt,e);if(!t){let r=Zt($r,e);t=new ct({name:e,logLevel:r}),Qr(Xt,e,t)}return t}import{PublicKey as N}from"@solana/web3.js";var Jt=new N("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Qt=new N("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),$t=new N("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),jo=new N("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Yo=new N("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),zo=new N("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Zo=new N("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Xo=new N("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Jo=new N("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Qo=new N("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),$o=new N("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),es=new N("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),ts=new N("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),rs=new N("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),ns=new N("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),is=new N("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),os=new N("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ss=new N("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),as=new N("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),en=new N("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),tn=new N("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),rn=new N("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2");var us={SERUM_MARKET:N.default,OPENBOOK_MARKET:new N("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:N.default,FarmV3:new N("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new N("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new N("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new N("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new N("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new N("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),Router:new N("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:en,CREATE_CPMM_POOL_AUTH:tn,CREATE_CPMM_POOL_FEE_ACC:rn,FEE_DESTINATION_ID:new N("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR")};var ys=W("Raydium_farm_config"),hs=new er("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),bs=new er("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1"),tr={3:nr,5:ir,6:or},rr={3:Ke,5:sr,6:ar},ws=e=>[3,5,6].indexOf(e)!==-1,Ps=e=>{var s;let{version:t,rewardInfos:r,rewardTokenAccountsPublicKeys:n}=e,i=`rewardInfo:${JSON.stringify(r)}, rewardAccount:${JSON.stringify(n)}`,o={3:()=>{if(r.length!==1||n.length!==1)return`rewardInfos or rewardTokenAccounts lengths not equal 1: ${i}`},5:()=>{if(r.length!==n.length)return`rewardInfos and rewardTokenAccounts lengths not equal: ${i}`},6:()=>{if(!n.length||r.length!==n.length)return`no rewardTokenAccounts or rewardInfos and rewardTokenAccounts lengths not equal: ${i}`}};return(s=o[t])==null?void 0:s.call(o)},Le={"Standard SPL":0,"Option tokens":1},Ts={[Jt.toString()]:3,[Qt.toString()]:5,[$t.toString()]:6};var lt=C([V("instruction")]),dt=C([V("instruction")]),nn=C([y("rewardState"),y("rewardOpenTime"),y("rewardEndTime"),y("rewardLastUpdateTime"),y("totalReward"),y("totalRewardEmissioned"),y("rewardClaimed"),y("rewardPerSecond"),se("accRewardPerShare"),A("rewardVault"),A("rewardMint"),A("rewardSender"),y("rewardType"),M(y(),15,"padding")]),on=C([y("state"),y("nonce"),A("lpVault"),A("rewardVault"),A(),A(),y(),y(),y("totalReward"),se("perShareReward"),y("lastSlot"),y("perSlotReward")]),sn=C([y("state"),y("nonce"),A("lpVault"),A("rewardVaultA"),y("totalRewardA"),se("perShareRewardA"),y("perSlotRewardA"),V("option"),A("rewardVaultB"),ye(7),y("totalRewardB"),se("perShareRewardB"),y("perSlotRewardB"),y("lastSlot"),A()]),an=C([y(),y("state"),y("nonce"),y("validRewardTokenNum"),se("rewardMultiplier"),y("rewardPeriodMax"),y("rewardPeriodMin"),y("rewardPeriodExtend"),A("lpMint"),A("lpVault"),M(nn,5,"rewardInfos"),A("creator"),A(),M(y(),32,"padding")]),nr=new Proxy(on,{get(e,t,r){return t==="decode"?(...n)=>{let i=e.decode(...n);return Z(q({},i),{version:3,rewardInfos:[{rewardVault:i.rewardVault,totalReward:i.totalReward,perSlotReward:i.perSlotReward,perShareReward:i.perShareReward}]})}:Reflect.get(e,t,r)}}),ir=new Proxy(sn,{get(e,t,r){return t==="decode"?(...n)=>{let i=e.decode(...n);return Z(q({},i),{version:5,rewardInfos:[{rewardVault:i.rewardVaultA,totalReward:i.totalRewardA,perSlotReward:i.perSlotRewardA,perShareReward:i.perShareRewardA},{rewardVault:i.rewardVaultB,totalReward:i.totalRewardB,perSlotReward:i.perSlotRewardB,perShareReward:i.perShareRewardB}]})}:Reflect.get(e,t,r)}}),or=new Proxy(an,{get(e,t,r){return t==="decode"?(...n)=>{let i=e.decode(...n);return Z(q({},i),{version:6,rewardInfos:i.rewardInfos.map(o=>{var s;return Z(q({},o),{rewardType:((s=Object.entries(Le).find(a=>String(a[1])===o.rewardType.toString()))!=null?s:["Standard SPL"])[0]})})})}:Reflect.get(e,t,r)}}),un=C([y("isSet"),y("rewardPerSecond"),y("rewardOpenTime"),y("rewardEndTime"),y("rewardType")]),ft=C([V("instruction"),y("nonce"),M(un,5,"rewardTimeInfo")]),pt=C([V("instruction"),y("rewardReopenTime"),y("rewardEndTime"),y("rewardPerSecond")]),mt=C([V("instruction"),y("isSet"),y("rewardPerSecond"),y("rewardOpenTime"),y("rewardEndTime"),y("rewardType")]),Bs=C([y("state"),A("id"),A("owner"),y("deposited"),M(y(),1,"rewardDebts")]),Ke=C([y("state"),A("id"),A("owner"),y("deposited"),M(se(),1,"rewardDebts"),y(""),y("voteLockedBalance"),M(y(),15)]),Rs=C([y("state"),A("id"),A("owner"),y("deposited"),M(y(),2,"rewardDebts")]),sr=C([y("state"),A("id"),A("owner"),y("deposited"),M(se(),2,"rewardDebts"),M(y(),17)]),ar=C([y(),y("state"),A("id"),A("owner"),y("deposited"),M(se(),5,"rewardDebts"),M(y(),16)]),z=C([V("instruction"),y("amount")]),cn=C([A("mint"),A("grantAuthority"),y("baselineVoteWeightScaledFactor"),y("maxExtraLockupVoteWeightScaledFactor"),y("lockupSaturationSecs"),zt("digitShift"),M(V(),7,"reserved1"),M(y(),7,"reserved2")]),ur=C([ye(8),A("governanceProgramId"),A("realm"),A("realmGoverningTokenMint"),A("realmAuthority"),M(V(),32,"reserved1"),M(cn,4,"votingMints"),qe("timeOffset"),V("bump"),M(V(),7,"reserved2"),M(y(),11,"reserved3")]),ln=C([qe("startTime"),qe("endTime"),V("kind"),M(V(),15,"reserved")]),dn=C([M(ln,1,"lockup"),y("amountDeposited_native"),y("amountInitiallyLockedNative"),Ce("isUsed"),Ce("allowClawback"),V("votingMintConfigIdx"),M(V(),29,"reserved")]),cr=C([ye(8),A("voterAuthority"),A("registrar"),M(dn,32,"deposits"),V("voterBump"),V("voterWweightRecordBump"),M(V(),94,"reserved")]);import Q from"bn.js";import{PublicKey as Bi}from"@solana/web3.js";import{MINT_SIZE as Jc,TOKEN_PROGRAM_ID as Qc,getTransferFeeConfig as $c,unpackMint as el}from"@solana/spl-token";import{PublicKey as Ti}from"@solana/web3.js";import xi from"bn.js";import bi from"big.js";import rt from"bn.js";import J from"bn.js";var Ie=9e15,me=1e9,gt="0123456789abcdef",He="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",je="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",yt={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Ie,maxE:Ie,crypto:!1},pr,ae,x=!0,ze="[DecimalError] ",pe=ze+"Invalid argument: ",mr=ze+"Precision limit exceeded",gr=ze+"crypto unavailable",yr="[object Decimal]",j=Math.floor,O=Math.pow,fn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,pn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,mn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,hr=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ne=1e7,P=7,gn=9007199254740991,yn=He.length-1,ht=je.length-1,g={toStringTag:yr};g.absoluteValue=g.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),w(e)};g.ceil=function(){return w(new this.constructor(this),this.e+1,2)};g.clampedTo=g.clamp=function(e,t){var r,n=this,i=n.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(pe+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};g.comparedTo=g.cmp=function(e){var t,r,n,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(n=s.length,i=a.length,t=0,r=n<i?n:i;t<r;++t)if(s[t]!==a[t])return s[t]>a[t]^c<0?1:-1;return n===i?0:n>i^c<0?1:-1};g.cosine=g.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+P,n.rounding=1,r=hn(n,xr(n,r)),n.precision=e,n.rounding=t,w(ae==2||ae==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};g.cubeRoot=g.cbrt=function(){var e,t,r,n,i,o,s,a,c,u,l=this,d=l.constructor;if(!l.isFinite()||l.isZero())return new d(l);for(x=!1,o=l.s*O(l.s*l,1/3),!o||Math.abs(o)==1/0?(r=G(l.d),e=l.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=O(r,1/3),e=j((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new d(r),n.s=l.s):n=new d(o.toString()),s=(e=d.precision)+3;;)if(a=n,c=a.times(a).times(a),u=c.plus(l),n=F(u.plus(l).times(a),u.plus(c),s+2,1),G(a.d).slice(0,s)===(r=G(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(w(a,e+1,0),a.times(a).times(a).eq(l))){n=a;break}s+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(w(n,e+1,1),t=!n.times(n).times(n).eq(l));break}return x=!0,w(n,e,d.rounding,t)};g.decimalPlaces=g.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-j(this.e/P))*P,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};g.dividedBy=g.div=function(e){return F(this,new this.constructor(e))};g.dividedToIntegerBy=g.divToInt=function(e){var t=this,r=t.constructor;return w(F(t,new r(e),0,1,1),r.precision,r.rounding)};g.equals=g.eq=function(e){return this.cmp(e)===0};g.floor=function(){return w(new this.constructor(this),this.e+1,3)};g.greaterThan=g.gt=function(e){return this.cmp(e)>0};g.greaterThanOrEqualTo=g.gte=function(e){var t=this.cmp(e);return t==1||t===0};g.hyperbolicCosine=g.cosh=function(){var e,t,r,n,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;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/Xe(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=Be(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 w(o,s.precision=r,s.rounding=n,!0)};g.hyperbolicSine=g.sinh=function(){var e,t,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,r=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=Be(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/Xe(5,e)),i=Be(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=r,w(i,t,r,!0)};g.hyperbolicTangent=g.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,F(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};g.inverseCosine=g.acos=function(){var e,t=this,r=t.constructor,n=t.abs().cmp(1),i=r.precision,o=r.rounding;return n!==-1?n===0?t.isNeg()?re(r,i,o):new r(0):new r(NaN):t.isZero()?re(r,i+4,o).times(.5):(r.precision=i+6,r.rounding=1,t=t.asin(),e=re(r,i+4,o).times(.5),r.precision=i,r.rounding=o,e.minus(t))};g.inverseHyperbolicCosine=g.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,x=!1,r=r.times(r).minus(1).sqrt().plus(r),x=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};g.inverseHyperbolicSine=g.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,x=!1,r=r.times(r).plus(1).sqrt().plus(r),x=!0,n.precision=e,n.rounding=t,r.ln())};g.inverseHyperbolicTangent=g.atanh=function(){var e,t,r,n,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,n=i.sd(),Math.max(n,e)<2*-i.e-1?w(new o(i),e,t,!0):(o.precision=r=n-i.e,i=F(i.plus(1),new o(1).minus(i),r+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};g.inverseSine=g.asin=function(){var e,t,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),r=o.precision,n=o.rounding,t!==-1?t===0?(e=re(o,r+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))};g.inverseTangent=g.atan=function(){var e,t,r,n,i,o,s,a,c,u=this,l=u.constructor,d=l.precision,f=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&d+4<=ht)return s=re(l,d+4,f).times(.25),s.s=u.s,s}else{if(!u.s)return new l(NaN);if(d+4<=ht)return s=re(l,d+4,f).times(.5),s.s=u.s,s}for(l.precision=a=d+10,l.rounding=1,r=Math.min(28,a/P+2|0),e=r;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(x=!1,t=Math.ceil(a/P),n=1,c=u.times(u),s=new l(u),i=u;e!==-1;)if(i=i.times(c),o=s.minus(i.div(n+=2)),i=i.times(c),s=o.plus(i.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return r&&(s=s.times(2<<r-1)),x=!0,w(s,l.precision=d,l.rounding=f,!0)};g.isFinite=function(){return!!this.d};g.isInteger=g.isInt=function(){return!!this.d&&j(this.e/P)>this.d.length-2};g.isNaN=function(){return!this.s};g.isNegative=g.isNeg=function(){return this.s<0};g.isPositive=g.isPos=function(){return this.s>0};g.isZero=function(){return!!this.d&&this.d[0]===0};g.lessThan=g.lt=function(e){return this.cmp(e)<0};g.lessThanOrEqualTo=g.lte=function(e){return this.cmp(e)<1};g.logarithm=g.log=function(e){var t,r,n,i,o,s,a,c,u=this,l=u.constructor,d=l.precision,f=l.rounding,m=5;if(e==null)e=new l(10),t=!0;else{if(e=new l(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(r=u.d,u.s<0||!r||!r[0]||u.eq(1))return new l(r&&!r[0]?-1/0:u.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)o=!0;else{for(i=r[0];i%10===0;)i/=10;o=i!==1}if(x=!1,a=d+m,s=fe(u,a),n=t?Ye(l,a+10):fe(e,a),c=F(s,n,a,1),Ve(c.d,i=d,f))do if(a+=10,s=fe(u,a),n=t?Ye(l,a+10):fe(e,a),c=F(s,n,a,1),!o){+G(c.d).slice(i+1,i+15)+1==1e14&&(c=w(c,d+1,0));break}while(Ve(c.d,i+=10,f));return x=!0,w(c,d,f)};g.minus=g.sub=function(e){var t,r,n,i,o,s,a,c,u,l,d,f,m=this,b=m.constructor;if(e=new b(e),!m.d||!e.d)return!m.s||!e.s?e=new b(NaN):m.d?e.s=-e.s:e=new b(e.d||m.s!==e.s?m:NaN),e;if(m.s!=e.s)return e.s=-e.s,m.plus(e);if(u=m.d,f=e.d,a=b.precision,c=b.rounding,!u[0]||!f[0]){if(f[0])e.s=-e.s;else if(u[0])e=new b(m);else return new b(c===3?-0:0);return x?w(e,a,c):e}if(r=j(e.e/P),l=j(m.e/P),u=u.slice(),o=l-r,o){for(d=o<0,d?(t=u,o=-o,s=f.length):(t=f,r=l,s=u.length),n=Math.max(Math.ceil(a/P),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=u.length,s=f.length,d=n<s,d&&(s=n),n=0;n<s;n++)if(u[n]!=f[n]){d=u[n]<f[n];break}o=0}for(d&&(t=u,u=f,f=t,e.s=-e.s),s=u.length,n=f.length-s;n>0;--n)u[s++]=0;for(n=f.length;n>o;){if(u[--n]<f[n]){for(i=n;i&&u[--i]===0;)u[i]=ne-1;--u[i],u[n]+=ne}u[n]-=f[n]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--r;return u[0]?(e.d=u,e.e=Ze(u,r),x?w(e,a,c):e):new b(c===3?-0:0)};g.modulo=g.mod=function(e){var t,r=this,n=r.constructor;return e=new n(e),!r.d||!e.s||e.d&&!e.d[0]?new n(NaN):!e.d||r.d&&!r.d[0]?w(new n(r),n.precision,n.rounding):(x=!1,n.modulo==9?(t=F(r,e.abs(),0,3,1),t.s*=e.s):t=F(r,e,0,n.modulo,1),t=t.times(e),x=!0,r.minus(t))};g.naturalExponential=g.exp=function(){return bt(this)};g.naturalLogarithm=g.ln=function(){return fe(this)};g.negated=g.neg=function(){var e=new this.constructor(this);return e.s=-e.s,w(e)};g.plus=g.add=function(e){var t,r,n,i,o,s,a,c,u,l,d=this,f=d.constructor;if(e=new f(e),!d.d||!e.d)return!d.s||!e.s?e=new f(NaN):d.d||(e=new f(e.d||d.s===e.s?d:NaN)),e;if(d.s!=e.s)return e.s=-e.s,d.minus(e);if(u=d.d,l=e.d,a=f.precision,c=f.rounding,!u[0]||!l[0])return l[0]||(e=new f(d)),x?w(e,a,c):e;if(o=j(d.e/P),n=j(e.e/P),u=u.slice(),i=o-n,i){for(i<0?(r=u,i=-i,s=l.length):(r=l,n=o,s=u.length),o=Math.ceil(a/P),s=o>s?o+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=u.length,i=l.length,s-i<0&&(i=s,r=l,l=u,u=r),t=0;i;)t=(u[--i]=u[i]+l[i]+t)/ne|0,u[i]%=ne;for(t&&(u.unshift(t),++n),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=Ze(u,n),x?w(e,a,c):e};g.precision=g.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(pe+e);return r.d?(t=br(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};g.round=function(){var e=this,t=e.constructor;return w(new t(e),e.e+1,t.rounding)};g.sine=g.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+P,n.rounding=1,r=wn(n,xr(n,r)),n.precision=e,n.rounding=t,w(ae>2?r.neg():r,e,t,!0)):new n(NaN)};g.squareRoot=g.sqrt=function(){var e,t,r,n,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(x=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=G(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=j((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),n=new l(t)):n=new l(u.toString()),r=(c=l.precision)+3;;)if(o=n,n=o.plus(F(s,o,r+2,1)).times(.5),G(o.d).slice(0,r)===(t=G(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(w(o,c+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(w(n,c+1,1),e=!n.times(n).eq(s));break}return x=!0,w(n,c,l.rounding,e)};g.tangent=g.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=F(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,w(ae==2||ae==4?r.neg():r,e,t,!0)):new n(NaN)};g.times=g.mul=function(e){var t,r,n,i,o,s,a,c,u,l=this,d=l.constructor,f=l.d,m=(e=new d(e)).d;if(e.s*=l.s,!f||!f[0]||!m||!m[0])return new d(!e.s||f&&!f[0]&&!m||m&&!m[0]&&!f?NaN:!f||!m?e.s/0:e.s*0);for(r=j(l.e/P)+j(e.e/P),c=f.length,u=m.length,c<u&&(o=f,f=m,m=o,s=c,c=u,u=s),o=[],s=c+u,n=s;n--;)o.push(0);for(n=u;--n>=0;){for(t=0,i=c+n;i>n;)a=o[i]+m[n]*f[i-n-1]+t,o[i--]=a%ne|0,t=a/ne|0;o[i]=(o[i]+t)%ne|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=Ze(o,r),x?w(e,d.precision,d.rounding):e};g.toBinary=function(e,t){return Pt(this,2,e,t)};g.toDecimalPlaces=g.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(X(e,0,me),t===void 0?t=n.rounding:X(t,0,8),w(r,e+r.e+1,t))};g.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=oe(n,!0):(X(e,0,me),t===void 0?t=i.rounding:X(t,0,8),n=w(new i(n),e+1,t),r=oe(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};g.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=oe(i):(X(e,0,me),t===void 0?t=o.rounding:X(t,0,8),n=w(new o(i),e+i.e+1,t),r=oe(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};g.toFraction=function(e){var t,r,n,i,o,s,a,c,u,l,d,f,m=this,b=m.d,h=m.constructor;if(!b)return new h(m);if(u=r=new h(1),n=c=new h(0),t=new h(n),o=t.e=br(b)-m.e-1,s=o%P,t.d[0]=O(10,s<0?P+s:s),e==null)e=o>0?t:u;else{if(a=new h(e),!a.isInt()||a.lt(u))throw Error(pe+a);e=a.gt(t)?o>0?t:u:a}for(x=!1,a=new h(G(b)),l=h.precision,h.precision=o=b.length*P*2;d=F(a,t,0,1,1),i=r.plus(d.times(n)),i.cmp(e)!=1;)r=n,n=i,i=u,u=c.plus(d.times(i)),c=i,i=t,t=a.minus(d.times(i)),a=i;return i=F(e.minus(r),n,0,1,1),c=c.plus(i.times(u)),r=r.plus(i.times(n)),c.s=u.s=m.s,f=F(u,n,o,1).minus(m).abs().cmp(F(c,r,o,1).minus(m).abs())<1?[u,n]:[c,r],h.precision=l,x=!0,f};g.toHexadecimal=g.toHex=function(e,t){return Pt(this,16,e,t)};g.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:X(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(x=!1,r=F(r,e,0,t,1).times(e),x=!0,w(r)):(e.s=r.s,r=e),r};g.toNumber=function(){return+this};g.toOctal=function(e,t){return Pt(this,8,e,t)};g.toPower=g.pow=function(e){var t,r,n,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(O(+a,u));if(a=new c(a),a.eq(1))return a;if(n=c.precision,o=c.rounding,e.eq(1))return w(a,n,o);if(t=j(e.e/P),t>=e.d.length-1&&(r=u<0?-u:u)<=gn)return i=wr(c,a,r,n),e.s<0?new c(1).div(i):w(i,n,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 r=O(+a,u),t=r==0||!isFinite(r)?j(u*(Math.log("0."+G(a.d))/Math.LN10+a.e+1)):new c(r+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?s/0:0):(x=!1,c.rounding=a.s=1,r=Math.min(12,(t+"").length),i=bt(e.times(fe(a,n+r)),n),i.d&&(i=w(i,n+5,1),Ve(i.d,n,o)&&(t=n+10,i=w(bt(e.times(fe(a,t+r)),t),t+5,1),+G(i.d).slice(n+1,n+15)+1==1e14&&(i=w(i,n+1,0)))),i.s=s,x=!0,c.rounding=o,w(i,n,o))};g.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=oe(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(X(e,1,me),t===void 0?t=i.rounding:X(t,0,8),n=w(new i(n),e,t),r=oe(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};g.toSignificantDigits=g.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(X(e,1,me),t===void 0?t=n.rounding:X(t,0,8)),w(new n(r),e,t)};g.toString=function(){var e=this,t=e.constructor,r=oe(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};g.truncated=g.trunc=function(){return w(new this.constructor(this),this.e+1,1)};g.valueOf=g.toJSON=function(){var e=this,t=e.constructor,r=oe(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function G(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;t<i;t++)n=e[t]+"",r=P-n.length,r&&(o+=de(r)),o+=n;s=e[t],n=s+"",r=P-n.length,r&&(o+=de(r))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function X(e,t,r){if(e!==~~e||e<t||e>r)throw Error(pe+e)}function Ve(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=P,i=0):(i=Math.ceil((t+1)/P),t%=P),o=O(10,P-t),a=e[i]%o|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==o||r>3&&a+1==o/2)&&(e[i+1]/o/100|0)==O(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=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==o||!n&&r>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==O(10,t-3)-1,s}function Ge(e,t,r){for(var n,i=[0],o,s=0,a=e.length;s<a;){for(o=i.length;o--;)i[o]*=t;for(i[0]+=gt.indexOf(e.charAt(s++)),n=0;n<i.length;n++)i[n]>r-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function hn(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/Xe(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=Be(e,1,t.times(i),new e(1));for(var o=r;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var F=function(){function e(n,i,o){var s,a=0,c=n.length;for(n=n.slice();c--;)s=n[c]*i+a,n[c]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,c;if(o!=s)c=o>s?1:-1;else for(a=c=0;a<o;a++)if(n[a]!=i[a]){c=n[a]>i[a]?1:-1;break}return c}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]<i[o]?1:0,n[o]=a*s+n[o]-i[o];for(;!n[0]&&n.length>1;)n.shift()}return function(n,i,o,s,a,c){var u,l,d,f,m,b,h,T,k,E,B,D,le,Y,ge,Ne,Te,xe,$,ke,Oe=n.constructor,ot=n.s==i.s?1:-1,H=n.d,v=i.d;if(!H||!H[0]||!v||!v[0])return new Oe(!n.s||!i.s||(H?v&&H[0]==v[0]:!v)?NaN:H&&H[0]==0||!v?ot*0:ot/0);for(c?(m=1,l=n.e-i.e):(c=ne,m=P,l=j(n.e/m)-j(i.e/m)),$=v.length,Te=H.length,k=new Oe(ot),E=k.d=[],d=0;v[d]==(H[d]||0);d++);if(v[d]>(H[d]||0)&&l--,o==null?(Y=o=Oe.precision,s=Oe.rounding):a?Y=o+(n.e-i.e)+1:Y=o,Y<0)E.push(1),b=!0;else{if(Y=Y/m+2|0,d=0,$==1){for(f=0,v=v[0],Y++;(d<Te||f)&&Y--;d++)ge=f*c+(H[d]||0),E[d]=ge/v|0,f=ge%v|0;b=f||d<Te}else{for(f=c/(v[0]+1)|0,f>1&&(v=e(v,f,c),H=e(H,f,c),$=v.length,Te=H.length),Ne=$,B=H.slice(0,$),D=B.length;D<$;)B[D++]=0;ke=v.slice(),ke.unshift(0),xe=v[0],v[1]>=c/2&&++xe;do f=0,u=t(v,B,$,D),u<0?(le=B[0],$!=D&&(le=le*c+(B[1]||0)),f=le/xe|0,f>1?(f>=c&&(f=c-1),h=e(v,f,c),T=h.length,D=B.length,u=t(h,B,T,D),u==1&&(f--,r(h,$<T?ke:v,T,c))):(f==0&&(u=f=1),h=v.slice()),T=h.length,T<D&&h.unshift(0),r(B,h,D,c),u==-1&&(D=B.length,u=t(v,B,$,D),u<1&&(f++,r(B,$<D?ke:v,D,c))),D=B.length):u===0&&(f++,B=[0]),E[d++]=f,u&&B[0]?B[D++]=H[Ne]||0:(B=[H[Ne]],D=1);while((Ne++<Te||B[0]!==void 0)&&Y--);b=B[0]!==void 0}E[0]||E.shift()}if(m==1)k.e=l,pr=b;else{for(d=1,f=E[0];f>=10;f/=10)d++;k.e=d+l*m-1,w(k,a?o+k.e+1:o,s,b)}return k}}();function w(e,t,r,n){var i,o,s,a,c,u,l,d,f,m=e.constructor;e:if(t!=null){if(d=e.d,!d)return e;for(i=1,a=d[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=P,s=t,l=d[f=0],c=l/O(10,i-s-1)%10|0;else if(f=Math.ceil((o+1)/P),a=d.length,f>=a)if(n){for(;a++<=f;)d.push(0);l=c=0,i=1,o%=P,s=o-P+1}else break e;else{for(l=a=d[f],i=1;a>=10;a/=10)i++;o%=P,s=o-P+i,c=s<0?0:l/O(10,i-s-1)%10|0}if(n=n||t<0||d[f+1]!==void 0||(s<0?l:l%O(10,i-s-1)),u=r<4?(c||n)&&(r==0||r==(e.s<0?3:2)):c>5||c==5&&(r==4||n||r==6&&(o>0?s>0?l/O(10,i-s):0:d[f-1])%10&1||r==(e.s<0?8:7)),t<1||!d[0])return d.length=0,u?(t-=e.e+1,d[0]=O(10,(P-t%P)%P),e.e=-t||0):d[0]=e.e=0,e;if(o==0?(d.length=f,a=1,f--):(d.length=f+1,a=O(10,P-o),d[f]=s>0?(l/O(10,i-s)%O(10,s)|0)*a:0),u)for(;;)if(f==0){for(o=1,s=d[0];s>=10;s/=10)o++;for(s=d[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,d[0]==ne&&(d[0]=1));break}else{if(d[f]+=a,d[f]!=ne)break;d[f--]=0,a=1}for(o=d.length;d[--o]===0;)d.pop()}return x&&(e.e>m.maxE?(e.d=null,e.e=NaN):e.e<m.minE&&(e.e=0,e.d=[0])),e}function oe(e,t,r){if(!e.isFinite())return Tr(e);var n,i=e.e,o=G(e.d),s=o.length;return t?(r&&(n=r-s)>0?o=o.charAt(0)+"."+o.slice(1)+de(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+de(-i-1)+o,r&&(n=r-s)>0&&(o+=de(n))):i>=s?(o+=de(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+de(n))):((n=i+1)<s&&(o=o.slice(0,n)+"."+o.slice(n)),r&&(n=r-s)>0&&(i+1===s&&(o+="."),o+=de(n))),o}function Ze(e,t){var r=e[0];for(t*=P;r>=10;r/=10)t++;return t}function Ye(e,t,r){if(t>yn)throw x=!0,r&&(e.precision=r),Error(mr);return w(new e(He),t,1,!0)}function re(e,t,r){if(t>ht)throw Error(mr);return w(new e(je),t,r,!0)}function br(e){var t=e.length-1,r=t*P+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function de(e){for(var t="";e--;)t+="0";return t}function wr(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/P+4);for(x=!1;;){if(r%2&&(o=o.times(t),dr(o.d,s)&&(i=!0)),r=j(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),dr(t.d,s)}return x=!0,o}function lr(e){return e.d[e.d.length-1]&1}function Pr(e,t,r){for(var n,i=new e(t[0]),o=0;++o<t.length;)if(n=new e(t[o]),n.s)i[r](n)&&(i=n);else{i=n;break}return i}function bt(e,t){var r,n,i,o,s,a,c,u=0,l=0,d=0,f=e.constructor,m=f.rounding,b=f.precision;if(!e.d||!e.d[0]||e.e>17)return new f(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(x=!1,c=b):c=t,a=new f(.03125);e.e>-2;)e=e.times(a),d+=5;for(n=Math.log(O(2,d))/Math.LN10*2+5|0,c+=n,r=o=s=new f(1),f.precision=c;;){if(o=w(o.times(e),c,1),r=r.times(++l),a=s.plus(F(o,r,c,1)),G(a.d).slice(0,c)===G(s.d).slice(0,c)){for(i=d;i--;)s=w(s.times(s),c,1);if(t==null)if(u<3&&Ve(s.d,c-n,m,u))f.precision=c+=10,r=o=a=new f(1),l=0,u++;else return w(s,f.precision=b,m,x=!0);else return f.precision=b,s}s=a}}function fe(e,t){var r,n,i,o,s,a,c,u,l,d,f,m=1,b=10,h=e,T=h.d,k=h.constructor,E=k.rounding,B=k.precision;if(h.s<0||!T||!T[0]||!h.e&&T[0]==1&&T.length==1)return new k(T&&!T[0]?-1/0:h.s!=1?NaN:T?0:h);if(t==null?(x=!1,l=B):l=t,k.precision=l+=b,r=G(T),n=r.charAt(0),Math.abs(o=h.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)h=h.times(e),r=G(h.d),n=r.charAt(0),m++;o=h.e,n>1?(h=new k("0."+r),o++):h=new k(n+"."+r.slice(1))}else return u=Ye(k,l+2,B).times(o+""),h=fe(new k(n+"."+r.slice(1)),l-b).plus(u),k.precision=B,t==null?w(h,B,E,x=!0):h;for(d=h,c=s=h=F(h.minus(1),h.plus(1),l,1),f=w(h.times(h),l,1),i=3;;){if(s=w(s.times(f),l,1),u=c.plus(F(s,new k(i),l,1)),G(u.d).slice(0,l)===G(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(Ye(k,l+2,B).times(o+""))),c=F(c,new k(m),l,1),t==null)if(Ve(c.d,l-b,E,a))k.precision=l+=b,u=s=h=F(d.minus(1),d.plus(1),l,1),f=w(h.times(h),l,1),i=a=1;else return w(c,k.precision=B,E,x=!0);else return k.precision=B,c;c=u,i+=2}}function Tr(e){return String(e.s*e.s/0)}function wt(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(n,i),t){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%P,r<0&&(n+=P),n<i){for(n&&e.d.push(+t.slice(0,n)),i-=P;n<i;)e.d.push(+t.slice(n,n+=P));t=t.slice(n),n=P-t.length}else n-=i;for(;n--;)t+="0";e.d.push(+t),x&&(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 bn(e,t){var r,n,i,o,s,a,c,u,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),hr.test(t))return wt(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(pn.test(t))r=16,t=t.toLowerCase();else if(fn.test(t))r=2;else if(mn.test(t))r=8;else throw Error(pe+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,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=wr(n,new n(r),o,o*2)),u=Ge(t,r,ne),l=u.length-1,o=l;u[o]===0;--o)u.pop();return o<0?new n(e.s*0):(e.e=Ze(u,l),e.d=u,x=!1,s&&(e=F(e,i,a*4)),c&&(e=e.times(Math.abs(c)<54?O(2,c):Je.pow(2,c))),x=!0,e)}function wn(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:Be(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/Xe(5,r)),t=Be(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);r--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function Be(e,t,r,n,i){var o,s,a,c,u=1,l=e.precision,d=Math.ceil(l/P);for(x=!1,c=r.times(r),a=new e(n);;){if(s=F(a.times(c),new e(t++*t++),l,1),a=i?n.plus(s):n.minus(s),n=F(s.times(c),new e(t++*t++),l,1),s=a.plus(n),s.d[d]!==void 0){for(o=d;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,u++}return x=!0,s.d.length=d+1,s}function Xe(e,t){for(var r=e;--t;)r*=e;return r}function xr(e,t){var r,n=t.s<0,i=re(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return ae=n?4:1,t;if(r=t.divToInt(i),r.isZero())ae=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return ae=lr(r)?n?2:3:n?4:1,t;ae=lr(r)?n?1:4:n?3:2}return t.minus(i).abs()}function Pt(e,t,r,n){var i,o,s,a,c,u,l,d,f,m=e.constructor,b=r!==void 0;if(b?(X(r,1,me),n===void 0?n=m.rounding:X(n,0,8)):(r=m.precision,n=m.rounding),!e.isFinite())l=Tr(e);else{for(l=oe(e),s=l.indexOf("."),b?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(l=l.replace(".",""),f=new m(1),f.e=l.length-s,f.d=Ge(oe(f),10,i),f.e=f.d.length),d=Ge(l,10,i),o=c=d.length;d[--c]==0;)d.pop();if(!d[0])l=b?"0p+0":"0";else{if(s<0?o--:(e=new m(e),e.d=d,e.e=o,e=F(e,f,r,n,0,i),d=e.d,o=e.e,u=pr),s=d[r],a=i/2,u=u||d[r+1]!==void 0,u=n<4?(s!==void 0||u)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||u||n===6&&d[r-1]&1||n===(e.s<0?8:7)),d.length=r,u)for(;++d[--r]>i-1;)d[r]=0,r||(++o,d.unshift(1));for(c=d.length;!d[c-1];--c);for(s=0,l="";s<c;s++)l+=gt.charAt(d[s]);if(b){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)l+="0";for(d=Ge(l,i,t),c=d.length;!d[c-1];--c);for(s=1,l="1.";s<c;s++)l+=gt.charAt(d[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 dr(e,t){if(e.length>t)return e.length=t,!0}function Pn(e){return new this(e).abs()}function Tn(e){return new this(e).acos()}function xn(e){return new this(e).acosh()}function kn(e,t){return new this(e).plus(t)}function Sn(e){return new this(e).asin()}function An(e){return new this(e).asinh()}function Ln(e){return new this(e).atan()}function In(e){return new this(e).atanh()}function Bn(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,o=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=re(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?re(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=re(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan(F(e,t,o,1)),t=re(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(F(e,t,o,1)),r}function Rn(e){return new this(e).cbrt()}function Nn(e){return w(e=new this(e),e.e+1,2)}function Cn(e,t,r){return new this(e).clamp(t,r)}function Kn(e){if(!e||typeof e!="object")throw Error(ze+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,me,"rounding",0,8,"toExpNeg",-Ie,0,"toExpPos",0,Ie,"maxE",0,Ie,"minE",-Ie,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(r=o[t],i&&(this[r]=yt[r]),(n=e[r])!==void 0)if(j(n)===n&&n>=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(pe+r+": "+n);if(r="crypto",i&&(this[r]=yt[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(gr);else this[r]=!1;else throw Error(pe+r+": "+n);return this}function Vn(e){return new this(e).cos()}function Fn(e){return new this(e).cosh()}function kr(e){var t,r,n;function i(o){var s,a,c,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,fr(o)){u.s=o.s,x?!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++;x?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 wt(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),hr.test(o)?wt(u,o):bn(u,o)}if(i.prototype=g,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=Kn,i.clone=kr,i.isDecimal=fr,i.abs=Pn,i.acos=Tn,i.acosh=xn,i.add=kn,i.asin=Sn,i.asinh=An,i.atan=Ln,i.atanh=In,i.atan2=Bn,i.cbrt=Rn,i.ceil=Nn,i.clamp=Cn,i.cos=Vn,i.cosh=Fn,i.div=En,i.exp=vn,i.floor=Mn,i.hypot=_n,i.ln=Dn,i.log=Wn,i.log10=Un,i.log2=On,i.max=qn,i.min=Gn,i.mod=Hn,i.mul=jn,i.pow=Yn,i.random=zn,i.round=Zn,i.sign=Xn,i.sin=Jn,i.sinh=Qn,i.sqrt=$n,i.sub=ei,i.sum=ti,i.tan=ri,i.tanh=ni,i.trunc=ii,e===void 0&&(e={}),e&&e.defaults!==!0)for(n=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<n.length;)e.hasOwnProperty(r=n[t++])||(e[r]=this[r]);return i.config(e),i}function En(e,t){return new this(e).div(t)}function vn(e){return new this(e).exp()}function Mn(e){return w(e=new this(e),e.e+1,3)}function _n(){var e,t,r=new this(0);for(x=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)r.d&&(r=r.plus(t.times(t)));else{if(t.s)return x=!0,new this(1/0);r=t}return x=!0,r.sqrt()}function fr(e){return e instanceof Je||e&&e.toStringTag===yr||!1}function Dn(e){return new this(e).ln()}function Wn(e,t){return new this(e).log(t)}function On(e){return new this(e).log(2)}function Un(e){return new this(e).log(10)}function qn(){return Pr(this,arguments,"lt")}function Gn(){return Pr(this,arguments,"gt")}function Hn(e,t){return new this(e).mod(t)}function jn(e,t){return new this(e).mul(t)}function Yn(e,t){return new this(e).pow(t)}function zn(e){var t,r,n,i,o=0,s=new this(1),a=[];if(e===void 0?e=this.precision:X(e,1,me),n=Math.ceil(e/P),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(n));o<n;)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(n*=4);o<n;)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=n/4}else throw Error(gr);else for(;o<n;)a[o++]=Math.random()*1e7|0;for(n=a[--o],e%=P,n&&e&&(i=O(10,P-e),a[o]=(n/i|0)*i);a[o]===0;o--)a.pop();if(o<0)r=0,a=[0];else{for(r=-1;a[0]===0;r-=P)a.shift();for(n=1,i=a[0];i>=10;i/=10)n++;n<P&&(r-=P-n)}return s.e=r,s.d=a,s}function Zn(e){return w(e=new this(e),e.e+1,this.rounding)}function Xn(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function Jn(e){return new this(e).sin()}function Qn(e){return new this(e).sinh()}function $n(e){return new this(e).sqrt()}function ei(e,t){return new this(e).sub(t)}function ti(){var e=0,t=arguments,r=new this(t[e]);for(x=!1;r.s&&++e<t.length;)r=r.plus(t[e]);return x=!0,w(r,this.precision,this.rounding)}function ri(e){return new this(e).tan()}function ni(e){return new this(e).tanh()}function ii(e){return w(e=new this(e),e.e+1,1)}g[Symbol.for("nodejs.util.inspect.custom")]=g.toString;g[Symbol.toStringTag]="Decimal";var Je=g.constructor=kr(yt);He=new Je(He);je=new Je(je);import{PublicKey as At}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as oi}from"@solana/spl-token";import{PublicKey as _,SystemProgram as Sr,SYSVAR_RENT_PUBKEY as si}from"@solana/web3.js";function p({pubkey:e,isSigner:t=!1,isWritable:r=!0}){return{pubkey:e,isWritable:r,isSigner:t}}var xt=[p({pubkey:oi,isWritable:!1}),p({pubkey:Sr.programId,isWritable:!1}),p({pubkey:si,isWritable:!1})];function Ar({publicKey:e,transformSol:t}){let r=kt(e.toString());if(r instanceof _)return t&&r.equals(he)?Tt:r;if(t&&r.toString()===he.toBase58())return Tt;if(typeof r=="string"){if(r===_.default.toBase58())return _.default;try{return new _(r)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function kt(e){try{return new _(e)}catch{return e}}var Es=new _("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),vs=new _("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),St=new _("SysvarRent111111111111111111111111111111111"),Ms=new _("SysvarC1ock11111111111111111111111111111111"),_s=new _("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Qe=new _("Sysvar1nstructions1111111111111111111111111"),Ds=Sr.programId,Ws=new _("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Os=new _("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Us=new _("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),qs=new _("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Gs=new _("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Hs=new _("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),js=new _("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Ys=new _("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),zs=new _("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Zs=new _("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Xs=new _("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),Tt=new _("So11111111111111111111111111111111111111112"),he=_.default;import{PublicKey as ai}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Lr}from"@solana/spl-token";var Ir={chainId:101,address:ai.default.toBase58(),programId:Lr.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},be={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Lr.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 Lt=class{constructor({mint:t,decimals:r,symbol:n,name:i,skipMint:o=!1,isToken2022:s=!1}){if(t===he.toBase58()||t instanceof At&&he.equals(t)){this.decimals=be.decimals,this.symbol=be.symbol,this.name=be.name,this.mint=new At(be.address),this.isToken2022=!1;return}this.decimals=r,this.symbol=n||t.toString().substring(0,6),this.name=i||t.toString().substring(0,6),this.mint=o?At.default:Ar({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},we=Lt;we.WSOL=new Lt(Z(q({},be),{mint:be.address}));import et from"big.js";import li from"bn.js";import di from"decimal.js-light";import ui from"toformat";var ci=ui,Fe=ci;var $e=W("module/fraction"),It=Fe(et),Ee=Fe(di),fi={[0]:Ee.ROUND_DOWN,[1]:Ee.ROUND_HALF_UP,[2]:Ee.ROUND_UP},pi={[0]:et.roundDown,[1]:et.roundHalfUp,[2]:et.roundUp},K=class{constructor(t,r=new li(1)){this.numerator=R(t),this.denominator=R(r)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new K(this.denominator,this.numerator)}add(t){let r=t instanceof K?t:new K(R(t));return this.denominator.eq(r.denominator)?new K(this.numerator.add(r.numerator),this.denominator):new K(this.numerator.mul(r.denominator).add(r.numerator.mul(this.denominator)),this.denominator.mul(r.denominator))}sub(t){let r=t instanceof K?t:new K(R(t));return this.denominator.eq(r.denominator)?new K(this.numerator.sub(r.numerator),this.denominator):new K(this.numerator.mul(r.denominator).sub(r.numerator.mul(this.denominator)),this.denominator.mul(r.denominator))}mul(t){let r=t instanceof K?t:new K(R(t));return new K(this.numerator.mul(r.numerator),this.denominator.mul(r.denominator))}div(t){let r=t instanceof K?t:new K(R(t));return new K(this.numerator.mul(r.denominator),this.denominator.mul(r.numerator))}toSignificant(t,r={groupSeparator:""},n=1){Number.isInteger(t)||$e.logWithError(`${t} is not an integer.`),t<=0&&$e.logWithError(`${t} is not positive.`),Ee.set({precision:t+1,rounding:fi[n]});let i=new Ee(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return i.toFormat(i.decimalPlaces(),r)}toFixed(t,r={groupSeparator:""},n=1){return Number.isInteger(t)||$e.logWithError(`${t} is not an integer.`),t<0&&$e.logWithError(`${t} is negative.`),It.DP=t,It.RM=pi[n]||1,new It(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,r)}isZero(){return this.numerator.isZero()}};var gi=W("Raydium_price"),ue=class extends K{constructor(r){let{baseToken:n,quoteToken:i,numerator:o,denominator:s}=r;super(o,s);this.baseToken=n,this.quoteToken=i,this.scalar=new K(Bt(n.decimals),Bt(i.decimals))}get raw(){return new K(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new ue({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(r){this.quoteToken!==r.baseToken&&gi.logWithError("mul token not equals");let n=super.mul(r);return new ue({baseToken:this.baseToken,quoteToken:r.quoteToken,denominator:n.denominator,numerator:n.numerator})}toSignificant(r=this.quoteToken.decimals,n,i){return this.adjusted.toSignificant(r,n,i)}toFixed(r=this.quoteToken.decimals,n,i){return this.adjusted.toFixed(r,n,i)}};var Rt=class{constructor({decimals:t,symbol:r="UNKNOWN",name:n="UNKNOWN"}){this.decimals=t,this.symbol=r,this.name=n}equals(t){return this===t}},tt=Rt;tt.SOL=new Rt(Ir);import yi from"bn.js";var Br=new K(new yi(100)),Re=class extends K{toSignificant(t=5,r,n){return this.mul(Br).toSignificant(t,r,n)}toFixed(t=2,r,n){return this.mul(Br).toFixed(t,r,n)}};var hi=new J(0),Ya=new J(1),za=new J(2),Za=new J(3),Xa=new J(5),Nt=new J(10),Ja=new J(100),Qa=new J(1e3),$a=new J(1e4),Rr=9007199254740991;function R(e){let t=W("Raydium_parseBigNumberish");if(e instanceof J)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new J(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=Rr||e<=-Rr)&&t.logWithError(`BigNumberish number overflow: ${e}`),new J(String(e))):typeof e=="bigint"?new J(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new J(0))}function Bt(e){return Nt.pow(R(e))}var wi=W("Raydium_amount"),Cr=Fe(bi);function Pi(e,t){let r="0",n="0";if(e.includes(".")){let i=e.split(".");i.length===2?([r,n]=i,n=n.padEnd(t,"0")):wi.logWithError(`invalid number string, num: ${e}`)}else r=e;return[r,n.slice(0,t)||n]}var ce=class extends K{constructor(r,n,i=!0,o){let s=new rt(0),a=Nt.pow(new rt(r.decimals));if(i)s=R(n);else{let c=new rt(0),u=new rt(0);if(typeof n=="string"||typeof n=="number"||typeof n=="bigint"){let[l,d]=Pi(n.toString(),r.decimals);c=R(l),u=R(d)}c=c.mul(a),s=c.add(u)}super(s,a);this.logger=W(o||"TokenAmount"),this.token=r}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(r){return this.token.equals(r.token)||this.logger.logWithError("gt token not equals"),this.raw.gt(r.raw)}lt(r){return this.token.equals(r.token)||this.logger.logWithError("lt token not equals"),this.raw.lt(r.raw)}add(r){return this.token.equals(r.token)||this.logger.logWithError("add token not equals"),new ce(this.token,this.raw.add(r.raw))}subtract(r){return this.toke