@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
1 lines • 78.4 kB
JavaScript
var Wr=Object.defineProperty,Or=Object.defineProperties;var Ur=Object.getOwnPropertyDescriptors;var Ht=Object.getOwnPropertySymbols;var qr=Object.prototype.hasOwnProperty,Gr=Object.prototype.propertyIsEnumerable;var jt=(e,t,r)=>t in e?Wr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,q=(e,t)=>{for(var r in t||(t={}))qr.call(t,r)&&jt(e,r,t[r]);if(Ht)for(var r of Ht(t))Gr.call(t,r)&&jt(e,r,t[r]);return e},z=(e,t)=>Or(e,Ur(t));import{PublicKey as Xr}from"@solana/web3.js";import Jt,{isBN as Xt}from"bn.js";import{bits as Hi,BitStructure as ji,blob as Hr,Blob as Yi,cstr as Zi,f32 as zi,f32be as Ji,f64 as Xi,f64be as Qi,greedy as $i,Layout as jr,ns64 as eo,ns64be as to,nu64 as ro,nu64be as no,offset as io,s16 as oo,s16be as so,s24 as ao,s24be as uo,s32 as co,s32be as lo,s40 as fo,s40be as po,s48 as mo,s48be as go,s8 as yo,seq as Yr,struct as ho,Structure as Zr,u16 as bo,u16be as wo,u24 as To,u24be as Po,u32 as xo,u32be as So,u40 as ko,u40be as Lo,u48 as Ao,u48be as Io,u8 as zr,UInt as Jr,union as Ro,Union as Bo,unionLayoutDiscriminator as Co,utf8 as No}from"@solana/buffer-layout";var lt=jr,Yt=Zr;var ft=Jr;var Zt=zr;var zt=Yr;var ye=Hr;var ke=class extends lt{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 _(e){return new ft(1,e)}function Le(e){return new ft(4,e)}function y(e){return new ke(8,!1,e)}function oe(e){return new ke(16,!1,e)}function Qt(e){return new ke(1,!0,e)}function He(e){return new ke(8,!0,e)}var Ge=class extends lt{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 Ge(ye(32),t=>new Xr(t),t=>t.toBuffer(),e)}function Ke(e){return new Ge(Zt(),Qr,$r,e)}function Qr(e){if(e===0)return!1;if(e===1)return!0;throw new Error("Invalid bool: "+e)}function $r(e){return e?1:0}var dt=class extends Yt{decode(t,r){return super.decode(t,r)}};function N(e,t,r){return new dt(e,t,r)}function M(e,t,r){let n,i=typeof t=="number"?t:Xt(t)?t.toNumber():new Proxy(t,{get(o,s){if(!n){let a=Reflect.get(o,"count");n=Xt(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 zt(e,i,r)}import{PublicKey as mt}from"@solana/web3.js";import{get as $t,set as en}from"lodash";var pt=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}},er={},tn={};function W(e){let t=$t(er,e);if(!t){let r=$t(tn,e);t=new pt({name:e,logLevel:r}),en(er,e,t)}return t}import{PublicKey as T}from"@solana/web3.js";var tr=new T("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),rr=new T("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),nr=new T("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),ir=new T("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Yo=new T("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Zo=new T("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),zo=new T("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Jo=new T("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Xo=new T("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Qo=new T("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),$o=new T("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),es=new T("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ts=new T("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),rs=new T("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),ns=new T("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),is=new T("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),os=new T("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),ss=new T("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),as=new T("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),us=new T("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),cs=new T("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ls=new T("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),fs=new T("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),ds=new T("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ps=new T("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),ms=new T("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),gs=new T("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),ys=new T("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),hs=new T("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),bs=new T("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),ws=new T("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX");var Fe={OPEN_BOOK_PROGRAM:new T("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new T("Ray1111111111111111111111111111111111111111"),AMM_V4:new T("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new T("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new T("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new T("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new T("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new T("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new T("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new T("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new T("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new T("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:T.default,Router:new T("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new T("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V4:new T("Ray1111111111111111111111111111111111111111"),FARM_PROGRAM_ID_V5:new T("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new T("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new T("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new T("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:new T("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),LAUNCHPAD_CONFIG:new T("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt"),FEE_DESTINATION_ID:new T("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:new T("Ray1111111111111111111111111111111111111111")};import{NATIVE_MINT as rn}from"@solana/spl-token";var Rs=W("Raydium_farm_config"),Bs=new mt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Cs=new mt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1"),Ns=rn,_s=new mt("3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX"),or={3:ar,5:ur,6:cr},sr={3:ve,5:lr,6:fr},Ks=e=>[3,4,5,6].indexOf(e)!==-1,Fs=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)},Ae={"Standard SPL":0,"Option tokens":1},vs={[tr.toString()]:3,[rr.toString()]:4,[nr.toString()]:5,[ir.toString()]:6,[Fe.FARM_PROGRAM_ID_V3.toString()]:3,[Fe.FARM_PROGRAM_ID_V4.toString()]:4,[Fe.FARM_PROGRAM_ID_V5.toString()]:5,[Fe.FARM_PROGRAM_ID_V6.toString()]:6};var gt=N([_("instruction")]),yt=N([_("instruction")]),nn=N([y("rewardState"),y("rewardOpenTime"),y("rewardEndTime"),y("rewardLastUpdateTime"),y("totalReward"),y("totalRewardEmissioned"),y("rewardClaimed"),y("rewardPerSecond"),oe("accRewardPerShare"),A("rewardVault"),A("rewardMint"),A("rewardSender"),y("rewardType"),M(y(),15,"padding")]),on=N([y("state"),y("nonce"),A("lpVault"),A("rewardVault"),A(),A(),y(),y(),y("totalReward"),oe("perShareReward"),y("lastSlot"),y("perSlotReward")]),sn=N([y("state"),y("nonce"),A("lpVault"),A("rewardVaultA"),y("totalRewardA"),oe("perShareRewardA"),y("perSlotRewardA"),_("option"),A("rewardVaultB"),ye(7),y("totalRewardB"),oe("perShareRewardB"),y("perSlotRewardB"),y("lastSlot"),A()]),an=N([y(),y("state"),y("nonce"),y("validRewardTokenNum"),oe("rewardMultiplier"),y("rewardPeriodMax"),y("rewardPeriodMin"),y("rewardPeriodExtend"),A("lpMint"),A("lpVault"),M(nn,5,"rewardInfos"),A("creator"),A(),M(y(),32,"padding")]),ar=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)}}),ur=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)}}),cr=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(Ae).find(a=>String(a[1])===o.rewardType.toString()))!=null?s:["Standard SPL"])[0]})})})}:Reflect.get(e,t,r)}}),un=N([y("isSet"),y("rewardPerSecond"),y("rewardOpenTime"),y("rewardEndTime"),y("rewardType")]),ht=N([_("instruction"),y("nonce"),M(un,5,"rewardTimeInfo")]),bt=N([_("instruction"),y("rewardReopenTime"),y("rewardEndTime"),y("rewardPerSecond")]),wt=N([_("instruction"),y("isSet"),y("rewardPerSecond"),y("rewardOpenTime"),y("rewardEndTime"),y("rewardType")]),Us=N([y("state"),A("id"),A("owner"),y("deposited"),M(y(),1,"rewardDebts")]),ve=N([y("state"),A("id"),A("owner"),y("deposited"),M(oe(),1,"rewardDebts"),y(""),y("voteLockedBalance"),M(y(),15)]),qs=N([y("state"),A("id"),A("owner"),y("deposited"),M(y(),2,"rewardDebts")]),lr=N([y("state"),A("id"),A("owner"),y("deposited"),M(oe(),2,"rewardDebts"),M(y(),17)]),fr=N([y(),y("state"),A("id"),A("owner"),y("deposited"),M(oe(),5,"rewardDebts"),M(y(),16)]),Z=N([_("instruction"),y("amount")]),cn=N([A("mint"),A("grantAuthority"),y("baselineVoteWeightScaledFactor"),y("maxExtraLockupVoteWeightScaledFactor"),y("lockupSaturationSecs"),Qt("digitShift"),M(_(),7,"reserved1"),M(y(),7,"reserved2")]),dr=N([ye(8),A("governanceProgramId"),A("realm"),A("realmGoverningTokenMint"),A("realmAuthority"),M(_(),32,"reserved1"),M(cn,4,"votingMints"),He("timeOffset"),_("bump"),M(_(),7,"reserved2"),M(y(),11,"reserved3")]),ln=N([He("startTime"),He("endTime"),_("kind"),M(_(),15,"reserved")]),fn=N([M(ln,1,"lockup"),y("amountDeposited_native"),y("amountInitiallyLockedNative"),Ke("isUsed"),Ke("allowClawback"),_("votingMintConfigIdx"),M(_(),29,"reserved")]),pr=N([ye(8),A("voterAuthority"),A("registrar"),M(fn,32,"deposits"),_("voterBump"),_("voterWweightRecordBump"),M(_(),94,"reserved")]);import X from"bn.js";import{PublicKey as dn}from"@solana/web3.js";import{MINT_SIZE as Qs,TOKEN_PROGRAM_ID as $s,getTransferFeeConfig as ea,unpackMint as ta}from"@solana/spl-token";var Tt=W("Raydium_accountInfo_util");async function mr(e,t,r){let{batchRequest:n,commitment:i="confirmed",chunkCount:o=100}=q({batchRequest:!1},r),s=Pt(t,o),a=new Array(s.length).fill([]);if(n){let c=s.map(f=>{let d=e._buildArgs([f.map(m=>m.toBase58())],i,"base64");return{methodName:"getMultipleAccounts",args:d}}),u=Pt(c,10);a=(await(await Promise.all(u.map(async f=>await e._rpcBatchRequest(f)))).flat()).map(f=>(f.error&&Tt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${f.error.message}`),f.result.value.map(d=>{if(d){let{data:m,executable:b,lamports:h,owner:S,rentEpoch:L}=d;return m.length!==2&&m[1]!=="base64"&&Tt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(m[0],"base64"),executable:b,lamports:h,owner:new dn(S),rentEpoch:L}}return null})))}else try{a=await Promise.all(s.map(c=>e.getMultipleAccountsInfo(c,i)))}catch(c){c instanceof Error&&Tt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${c.message}`)}return a.flat()}async function gr(e,t,r){let n=await mr(e,t.map(i=>i.pubkey),r);return t.map((i,o)=>z(q({},i),{accountInfo:n[o]}))}import ce from"bn.js";var Ie=9e15,me=1e9,St="0123456789abcdef",Ze="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",ze="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",kt={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Ie,maxE:Ie,crypto:!1},wr,se,k=!0,Xe="[DecimalError] ",pe=Xe+"Invalid argument: ",Tr=Xe+"Precision limit exceeded",Pr=Xe+"crypto unavailable",xr="[object Decimal]",j=Math.floor,O=Math.pow,pn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,mn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,gn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Sr=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,te=1e7,P=7,yn=9007199254740991,hn=Ze.length-1,Lt=ze.length-1,g={toStringTag:xr};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=bn(n,Rr(n,r)),n.precision=e,n.rounding=t,w(se==2||se==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,f=l.constructor;if(!l.isFinite()||l.isZero())return new f(l);for(k=!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 f(r),n.s=l.s):n=new f(o.toString()),s=(e=f.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 k=!0,w(n,e,f.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/$e(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 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=Re(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/$e(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=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=this,t=e.constructor,r=e.abs().cmp(1),n=t.precision,i=t.rounding;return r!==-1?r===0?e.isNeg()?ne(t,n,i):new t(0):new t(NaN):e.isZero()?ne(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=n,t.rounding=i,e.times(2))};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,k=!1,r=r.times(r).minus(1).sqrt().plus(r),k=!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,k=!1,r=r.times(r).plus(1).sqrt().plus(r),k=!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=ne(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,f=l.precision,d=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&f+4<=Lt)return s=ne(l,f+4,d).times(.25),s.s=u.s,s}else{if(!u.s)return new l(NaN);if(f+4<=Lt)return s=ne(l,f+4,d).times(.5),s.s=u.s,s}for(l.precision=a=f+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(k=!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)),k=!0,w(s,l.precision=f,l.rounding=d,!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,f=l.precision,d=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(k=!1,a=f+m,s=de(u,a),n=t?Je(l,a+10):de(e,a),c=F(s,n,a,1),Ve(c.d,i=f,d))do if(a+=10,s=de(u,a),n=t?Je(l,a+10):de(e,a),c=F(s,n,a,1),!o){+G(c.d).slice(i+1,i+15)+1==1e14&&(c=w(c,f+1,0));break}while(Ve(c.d,i+=10,d));return k=!0,w(c,f,d)};g.minus=g.sub=function(e){var t,r,n,i,o,s,a,c,u,l,f,d,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,d=e.d,a=b.precision,c=b.rounding,!u[0]||!d[0]){if(d[0])e.s=-e.s;else if(u[0])e=new b(m);else return new b(c===3?-0:0);return k?w(e,a,c):e}if(r=j(e.e/P),l=j(m.e/P),u=u.slice(),o=l-r,o){for(f=o<0,f?(t=u,o=-o,s=d.length):(t=d,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=d.length,f=n<s,f&&(s=n),n=0;n<s;n++)if(u[n]!=d[n]){f=u[n]<d[n];break}o=0}for(f&&(t=u,u=d,d=t,e.s=-e.s),s=u.length,n=d.length-s;n>0;--n)u[s++]=0;for(n=d.length;n>o;){if(u[--n]<d[n]){for(i=n;i&&u[--i]===0;)u[i]=te-1;--u[i],u[n]+=te}u[n]-=d[n]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--r;return u[0]?(e.d=u,e.e=Qe(u,r),k?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):(k=!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),k=!0,r.minus(t))};g.naturalExponential=g.exp=function(){return At(this)};g.naturalLogarithm=g.ln=function(){return de(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,f=this,d=f.constructor;if(e=new d(e),!f.d||!e.d)return!f.s||!e.s?e=new d(NaN):f.d||(e=new d(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=d.precision,c=d.rounding,!u[0]||!l[0])return l[0]||(e=new d(f)),k?w(e,a,c):e;if(o=j(f.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)/te|0,u[i]%=te;for(t&&(u.unshift(t),++n),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=Qe(u,n),k?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=kr(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=Tn(n,Rr(n,r)),n.precision=e,n.rounding=t,w(se>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(k=!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 k=!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(se==2||se==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,f=l.constructor,d=l.d,m=(e=new f(e)).d;if(e.s*=l.s,!d||!d[0]||!m||!m[0])return new f(!e.s||d&&!d[0]&&!m||m&&!m[0]&&!d?NaN:!d||!m?e.s/0:e.s*0);for(r=j(l.e/P)+j(e.e/P),c=d.length,u=m.length,c<u&&(o=d,d=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]*d[i-n-1]+t,o[i--]=a%te|0,t=a/te|0;o[i]=(o[i]+t)%te|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=Qe(o,r),k?w(e,f.precision,f.rounding):e};g.toBinary=function(e,t){return It(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:(J(e,0,me),t===void 0?t=n.rounding:J(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=ie(n,!0):(J(e,0,me),t===void 0?t=i.rounding:J(t,0,8),n=w(new i(n),e+1,t),r=ie(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=ie(i):(J(e,0,me),t===void 0?t=o.rounding:J(t,0,8),n=w(new o(i),e+i.e+1,t),r=ie(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,f,d,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=kr(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(k=!1,a=new h(G(b)),l=h.precision,h.precision=o=b.length*P*2;f=F(a,t,0,1,1),i=r.plus(f.times(n)),i.cmp(e)!=1;)r=n,n=i,i=u,u=c.plus(f.times(i)),c=i,i=t,t=a.minus(f.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,d=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,k=!0,d};g.toHexadecimal=g.toHex=function(e,t){return It(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:J(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]?(k=!1,r=F(r,e,0,t,1).times(e),k=!0,w(r)):(e.s=r.s,r=e),r};g.toNumber=function(){return+this};g.toOctal=function(e,t){return It(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)<=yn)return i=Lr(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):(k=!1,c.rounding=a.s=1,r=Math.min(12,(t+"").length),i=At(e.times(de(a,n+r)),n),i.d&&(i=w(i,n+5,1),Ve(i.d,n,o)&&(t=n+10,i=w(At(e.times(de(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,k=!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=ie(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(J(e,1,me),t===void 0?t=i.rounding:J(t,0,8),n=w(new i(n),e,t),r=ie(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):(J(e,1,me),t===void 0?t=n.rounding:J(t,0,8)),w(new n(r),e,t)};g.toString=function(){var e=this,t=e.constructor,r=ie(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=ie(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+=fe(r)),o+=n;s=e[t],n=s+"",r=P-n.length,r&&(o+=fe(r))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function J(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 je(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]+=St.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 bn(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/$e(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=Re(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,f,d,m,b,h,S,L,v,B,D,le,Y,ge,_e,Pe,xe,$,Se,qe=n.constructor,ct=n.s==i.s?1:-1,H=n.d,V=i.d;if(!H||!H[0]||!V||!V[0])return new qe(!n.s||!i.s||(H?V&&H[0]==V[0]:!V)?NaN:H&&H[0]==0||!V?ct*0:ct/0);for(c?(m=1,l=n.e-i.e):(c=te,m=P,l=j(n.e/m)-j(i.e/m)),$=V.length,Pe=H.length,L=new qe(ct),v=L.d=[],f=0;V[f]==(H[f]||0);f++);if(V[f]>(H[f]||0)&&l--,o==null?(Y=o=qe.precision,s=qe.rounding):a?Y=o+(n.e-i.e)+1:Y=o,Y<0)v.push(1),b=!0;else{if(Y=Y/m+2|0,f=0,$==1){for(d=0,V=V[0],Y++;(f<Pe||d)&&Y--;f++)ge=d*c+(H[f]||0),v[f]=ge/V|0,d=ge%V|0;b=d||f<Pe}else{for(d=c/(V[0]+1)|0,d>1&&(V=e(V,d,c),H=e(H,d,c),$=V.length,Pe=H.length),_e=$,B=H.slice(0,$),D=B.length;D<$;)B[D++]=0;Se=V.slice(),Se.unshift(0),xe=V[0],V[1]>=c/2&&++xe;do d=0,u=t(V,B,$,D),u<0?(le=B[0],$!=D&&(le=le*c+(B[1]||0)),d=le/xe|0,d>1?(d>=c&&(d=c-1),h=e(V,d,c),S=h.length,D=B.length,u=t(h,B,S,D),u==1&&(d--,r(h,$<S?Se:V,S,c))):(d==0&&(u=d=1),h=V.slice()),S=h.length,S<D&&h.unshift(0),r(B,h,D,c),u==-1&&(D=B.length,u=t(V,B,$,D),u<1&&(d++,r(B,$<D?Se:V,D,c))),D=B.length):u===0&&(d++,B=[0]),v[f++]=d,u&&B[0]?B[D++]=H[_e]||0:(B=[H[_e]],D=1);while((_e++<Pe||B[0]!==void 0)&&Y--);b=B[0]!==void 0}v[0]||v.shift()}if(m==1)L.e=l,wr=b;else{for(f=1,d=v[0];d>=10;d/=10)f++;L.e=f+l*m-1,w(L,a?o+L.e+1:o,s,b)}return L}}();function w(e,t,r,n){var i,o,s,a,c,u,l,f,d,m=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+=P,s=t,l=f[d=0],c=l/O(10,i-s-1)%10|0;else if(d=Math.ceil((o+1)/P),a=f.length,d>=a)if(n){for(;a++<=d;)f.push(0);l=c=0,i=1,o%=P,s=o-P+1}else break e;else{for(l=a=f[d],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||f[d+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:f[d-1])%10&1||r==(e.s<0?8:7)),t<1||!f[0])return f.length=0,u?(t-=e.e+1,f[0]=O(10,(P-t%P)%P),e.e=-t||0):f[0]=e.e=0,e;if(o==0?(f.length=d,a=1,d--):(f.length=d+1,a=O(10,P-o),f[d]=s>0?(l/O(10,i-s)%O(10,s)|0)*a:0),u)for(;;)if(d==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]==te&&(f[0]=1));break}else{if(f[d]+=a,f[d]!=te)break;f[d--]=0,a=1}for(o=f.length;f[--o]===0;)f.pop()}return k&&(e.e>m.maxE?(e.d=null,e.e=NaN):e.e<m.minE&&(e.e=0,e.d=[0])),e}function ie(e,t,r){if(!e.isFinite())return Ir(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)+fe(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+fe(-i-1)+o,r&&(n=r-s)>0&&(o+=fe(n))):i>=s?(o+=fe(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+fe(n))):((n=i+1)<s&&(o=o.slice(0,n)+"."+o.slice(n)),r&&(n=r-s)>0&&(i+1===s&&(o+="."),o+=fe(n))),o}function Qe(e,t){var r=e[0];for(t*=P;r>=10;r/=10)t++;return t}function Je(e,t,r){if(t>hn)throw k=!0,r&&(e.precision=r),Error(Tr);return w(new e(Ze),t,1,!0)}function ne(e,t,r){if(t>Lt)throw Error(Tr);return w(new e(ze),t,r,!0)}function kr(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 fe(e){for(var t="";e--;)t+="0";return t}function Lr(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/P+4);for(k=!1;;){if(r%2&&(o=o.times(t),hr(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),hr(t.d,s)}return k=!0,o}function yr(e){return e.d[e.d.length-1]&1}function Ar(e,t,r){for(var n,i,o=new e(t[0]),s=0;++s<t.length;){if(i=new e(t[s]),!i.s){o=i;break}n=o.cmp(i),(n===r||n===0&&o.s===r)&&(o=i)}return o}function At(e,t){var r,n,i,o,s,a,c,u=0,l=0,f=0,d=e.constructor,m=d.rounding,b=d.precision;if(!e.d||!e.d[0]||e.e>17)return new d(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(k=!1,c=b):c=t,a=new d(.03125);e.e>-2;)e=e.times(a),f+=5;for(n=Math.log(O(2,f))/Math.LN10*2+5|0,c+=n,r=o=s=new d(1),d.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=f;i--;)s=w(s.times(s),c,1);if(t==null)if(u<3&&Ve(s.d,c-n,m,u))d.precision=c+=10,r=o=a=new d(1),l=0,u++;else return w(s,d.precision=b,m,k=!0);else return d.precision=b,s}s=a}}function de(e,t){var r,n,i,o,s,a,c,u,l,f,d,m=1,b=10,h=e,S=h.d,L=h.constructor,v=L.rounding,B=L.precision;if(h.s<0||!S||!S[0]||!h.e&&S[0]==1&&S.length==1)return new L(S&&!S[0]?-1/0:h.s!=1?NaN:S?0:h);if(t==null?(k=!1,l=B):l=t,L.precision=l+=b,r=G(S),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 L("0."+r),o++):h=new L(n+"."+r.slice(1))}else return u=Je(L,l+2,B).times(o+""),h=de(new L(n+"."+r.slice(1)),l-b).plus(u),L.precision=B,t==null?w(h,B,v,k=!0):h;for(f=h,c=s=h=F(h.minus(1),h.plus(1),l,1),d=w(h.times(h),l,1),i=3;;){if(s=w(s.times(d),l,1),u=c.plus(F(s,new L(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(Je(L,l+2,B).times(o+""))),c=F(c,new L(m),l,1),t==null)if(Ve(c.d,l-b,v,a))L.precision=l+=b,u=s=h=F(f.minus(1),f.plus(1),l,1),d=w(h.times(h),l,1),i=a=1;else return w(c,L.precision=B,v,k=!0);else return L.precision=B,c;c=u,i+=2}}function Ir(e){return String(e.s*e.s/0)}function Ye(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),k&&(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 wn(e,t){var r,n,i,o,s,a,c,u,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),Sr.test(t))return Ye(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(mn.test(t))r=16,t=t.toLowerCase();else if(pn.test(t))r=2;else if(gn.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=Lr(n,new n(r),o,o*2)),u=je(t,r,te),l=u.length-1,o=l;u[o]===0;--o)u.pop();return o<0?new n(e.s*0):(e.e=Qe(u,l),e.d=u,k=!1,s&&(e=F(e,i,a*4)),c&&(e=e.times(Math.abs(c)<54?O(2,c):et.pow(2,c))),k=!0,e)}function Tn(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:Re(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/$e(5,r)),t=Re(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 Re(e,t,r,n,i){var o,s,a,c,u=1,l=e.precision,f=Math.ceil(l/P);for(k=!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[f]!==void 0){for(o=f;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,u++}return k=!0,s.d.length=f+1,s}function $e(e,t){for(var r=e;--t;)r*=e;return r}function Rr(e,t){var r,n=t.s<0,i=ne(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return se=n?4:1,t;if(r=t.divToInt(i),r.isZero())se=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return se=yr(r)?n?2:3:n?4:1,t;se=yr(r)?n?1:4:n?3:2}return t.minus(i).abs()}function It(e,t,r,n){var i,o,s,a,c,u,l,f,d,m=e.constructor,b=r!==void 0;if(b?(J(r,1,me),n===void 0?n=m.rounding:J(n,0,8)):(r=m.precision,n=m.rounding),!e.isFinite())l=Ir(e);else{for(l=ie(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(".",""),d=new m(1),d.e=l.length-s,d.d=je(ie(d),10,i),d.e=d.d.length),f=je(l,10,i),o=c=f.length;f[--c]==0;)f.pop();if(!f[0])l=b?"0p+0":"0";else{if(s<0?o--:(e=new m(e),e.d=f,e.e=o,e=F(e,d,r,n,0,i),f=e.d,o=e.e,u=wr),s=f[r],a=i/2,u=u||f[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&&f[r-1]&1||n===(e.s<0?8:7)),f.length=r,u)for(;++f[--r]>i-1;)f[r]=0,r||(++o,f.unshift(1));for(c=f.length;!f[c-1];--c);for(s=0,l="";s<c;s++)l+=St.charAt(f[s]);if(b){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)l+="0";for(f=je(l,i,t),c=f.length;!f[c-1];--c);for(s=1,l="1.";s<c;s++)l+=St.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 hr(e,t){if(e.length>t)return e.length=t,!0}function Pn(e){return new this(e).abs()}function xn(e){return new this(e).acos()}function Sn(e){return new this(e).acosh()}function kn(e,t){return new this(e).plus(t)}function Ln(e){return new this(e).asin()}function An(e){return new this(e).asinh()}function In(e){return new this(e).atan()}function Rn(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=ne(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?ne(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=ne(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=ne(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 Cn(e){return new this(e).cbrt()}function Nn(e){return w(e=new this(e),e.e+1,2)}function _n(e,t,r){return new this(e).clamp(t,r)}function Kn(e){if(!e||typeof e!="object")throw Error(Xe+"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]=kt[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]=kt[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(Pr);else this[r]=!1;else throw Error(pe+r+": "+n);return this}function Fn(e){return new this(e).cos()}function vn(e){return new this(e).cosh()}function Br(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,br(o)){u.s=o.s,k?!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++;k?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 Ye(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),Sr.test(o)?Ye(u,o):wn(u,o);if(c==="bigint")return o<0?(o=-o,u.s=-1):u.s=1,Ye(u,o.toString());throw Error(pe+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=Br,i.isDecimal=br,i.abs=Pn,i.acos=xn,i.acosh=Sn,i.add=kn,i.asin=Ln,i.asinh=An,i.atan=In,i.atanh=Rn,i.atan2=Bn,i.cbrt=Cn,i.ceil=Nn,i.clamp=_n,i.cos=Fn,i.cosh=vn,i.div=Vn,i.exp=Mn,i.floor=En,i.hypot=Dn,i.ln=Wn,i.log=On,i.log10=qn,i.log2=Un,i.max=Gn,i.min=Hn,i.mod=jn,i.mul=Yn,i.pow=Zn,i.random=zn,i.round=Jn,i.sign=Xn,i.sin=Qn,i.sinh=$n,i.sqrt=ei,i.sub=ti,i.sum=ri,i.tan=ni,i.tanh=ii,i.trunc=oi,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 Vn(e,t){return new this(e).div(t)}function Mn(e){return new this(e).exp()}function En(e){return w(e=new this(e),e.e+1,3)}function Dn(){var e,t,r=new this(0);for(k=!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 k=!0,new this(1/0);r=t}return k=!0,r.sqrt()}function br(e){return e instanceof et||e&&e.toStringTag===xr||!1}function Wn(e){return new this(e).ln()}function On(e,t){return new this(e).log(t)}function Un(e){return new this(e).log(2)}function qn(e){return new this(e).log(10)}function Gn(){return Ar(this,arguments,-1)}function Hn(){return Ar(this,arguments,1)}function jn(e,t){return new this(e).mod(t)}function Yn(e,t){return new this(e).mul(t)}function Zn(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:J(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(Pr);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 Jn(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 Qn(e){return new this(e).sin()}function $n(e){return new this(e).sinh()}function ei(e){return new this(e).sqrt()}function ti(e,t){return new this(e).sub(t)}function ri(){var e=0,t=arguments,r=new this(t[e]);for(k=!1;r.s&&++e<t.length;)r=r.plus(t[e]);return k=!0,w(r,this.precision,this.rounding)}function ni(e){return new this(e).tan()}function ii(e){return new this(e).tanh()}function oi(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 et=g.constructor=Br(kt);Ze=new et(Ze);ze=new et(ze);import pi from"big.js";import nt from"bn.js";import si from"toformat";var ai=si,Me=ai;import rt from"big.js";import ci from"bn.js";import li from"decimal.js-light";import Ee from"bn.js";var Cr=9007199254740991;function C(e){let t=W("Raydium_parseBigNumberish");if(e instanceof Ee)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new Ee(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=Cr||e<=-Cr)&&t.logWithError(`BigNumberish number overflow: ${e}`),new Ee(String(e))):typeof e=="bigint"?new Ee(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new Ee(0))}var tt=W("module/fraction"),Rt=Me(rt),De=Me(li),fi={[0]:De.ROUND_DOWN,[1]:De.ROUND_HALF_UP,[2]:De.ROUND_UP},di={[0]:rt.roundDown,[1]:rt.roundHalfUp,[2]:rt.roundUp},K=class{constructor(t,r=new ci(1)){this.numerator=C(t),this.denominator=C(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(C(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(C(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(C(t));return new K(this.numerator.mul(r.numerator),this.denominator.mul(r.denominator))}div(t){let r=t instanceof K?t:new K(C(t));return new K(this.numerator.mul(r.denominator),this.denominator.mul(r.numerator))}toSignificant(t,r={groupSeparator:""},n=1){Number.isInteger(t)||tt.logWithError(`${t} is not an integer.`),t<=0&&tt.logWithError(`${t} is not positive.`),De.set({precision:t+1,rounding:fi[n]});let i=new De(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)||tt.logWithError(`${t} is not an integer.`),t<0&&tt.logWithError(`${t} is negative.`),Rt.DP=t,Rt.RM=di[n]||1,new Rt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,r)}isZero(){return this.numerator.isZero()}};var mi=W("Raydium_amount"),Nr=Me(pi);function gi(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")):mi.logWithError(`invalid number string, num: ${e}`)}else r=e;return[r,n.slice(0,t)||n]}var ae=class extends K{constructor(r,n,i=!0,o){let s=new nt(0),a=Bt.pow(new nt(r.decimals));if(i)s=C(n);else{let c=new nt(0),u=new nt(0);if(typeof n=="string"||typeof n=="number"||typeof n=="bigint"){let[l,f]=gi(n.toString(),r.decimals);c=C(l),u=C(f)}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 ae(this.token,this.raw.add(r.raw))}subtract(r){return this.token.equals(r.token)||this.logger.logWithError("sub token not equals"),new ae(this.token,this.raw.sub(r.raw))}toSignificant(r=this.token.decimals,n,i=0){return super.toSignificant(r,n,i)}toFixed(r=this.token.decimals,n,i=0){return r>this.token.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(r,n,i)}toExact(r={groupSeparator:""}){return Nr.DP=this.token.decimals,new Nr(this.numerator.toString()).div(this.denominator.toString()).toFormat(r)}};import{PublicKey as yi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as _r}from"@solana/spl-token";var Kr={chainId:101,address:yi.default.toBase58(),programId:_r.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},he={chainId:101,address:"So11111111111111111111111111111111111111112",programId:_r.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 Kt}from"@solana/web3.js";import{PublicKey as E,SystemProgram as Fr,SYSVAR_RENT_PUBKEY as hi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as bi}from"@solana/spl-token";function p({pubkey:e,isSigner:t=!1,isWritable:r=!0}){return{pubkey:e,isWritable:r,isSigner:t}}