snapper-sdk
Version:
An SDK for building applications on top of Snapper.
1 lines • 65.3 kB
JavaScript
import{PublicKey as Zn}from"@solana/web3.js";import Gt,{isBN as Ut}from"bn.js";import{bits as ro,BitStructure as oo,blob as Wn,Blob as so,cstr as ao,f32 as uo,f32be as co,f64 as lo,f64be as mo,greedy as po,Layout as qn,ns64 as fo,ns64be as bo,nu64 as yo,nu64be as go,offset as Po,s16 as wo,s16be as Ao,s24 as ko,s24be as ho,s32 as Gn,s32be as To,s40 as Bo,s40be as xo,s48 as Io,s48be as So,s8 as Co,seq as Un,struct as Ko,Structure as Xn,u16 as zn,u16be as No,u24 as Lo,u24be as Ro,u32 as Mo,u32be as Oo,u40 as Fo,u40be as Eo,u48 as Vo,u48be as vo,u8 as Hn,UInt as Yn,union as Do,Union as _o,unionLayoutDiscriminator as Wo,utf8 as qo}from"@solana/buffer-layout";var mt=qn,_t=Xn;var dt=Yn;var Wt=Hn,de=zn;var $=Gn;var qt=Un;var q=Wn;var be=class extends mt{constructor(n,i,r){super(n,r);this.blob=q(n),this.signed=i}decode(n,i=0){let r=new Gt(this.blob.decode(n,i),10,"le");return this.signed?r.fromTwos(this.span*8).clone():r}encode(n,i,r=0){return typeof n=="number"&&(n=new Gt(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),i,r)}};function V(e){return new dt(1,e)}function ye(e){return new dt(4,e)}function b(e){return new be(8,!1,e)}function F(e){return new be(16,!1,e)}function Xt(e){return new be(8,!0,e)}function zt(e){return new be(16,!0,e)}var De=class extends mt{constructor(n,i,r,o){super(n.span,o);this.layout=n,this.decoder=i,this.encoder=r}decode(n,i){return this.decoder(this.layout.decode(n,i))}encode(n,i,r){return this.layout.encode(this.encoder(n),i,r)}getSpan(n,i){return this.layout.getSpan(n,i)}};function B(e){return new De(q(32),t=>new Zn(t),t=>t.toBuffer(),e)}function pe(e){return new De(Wt(),jn,Qn,e)}function jn(e){if(e===0)return!1;if(e===1)return!0;throw new Error("Invalid bool: "+e)}function Qn(e){return e?1:0}var pt=class extends _t{decode(t,n){return super.decode(t,n)}};function K(e,t,n){return new pt(e,t,n)}function N(e,t,n){let i,r=typeof t=="number"?t:Ut(t)?t.toNumber():new Proxy(t,{get(o,s){if(!i){let a=Reflect.get(o,"count");i=Ut(a)?a.toNumber():a,Reflect.set(o,"count",i)}return Reflect.get(o,s)},set(o,s,a){return s==="count"&&(i=a),Reflect.set(o,s,a)}});return qt(e,r,n)}var is=K([q(8),V("bump"),pe("disableCreatePool"),de("index"),b("tradeFeeRate"),b("protocolFeeRate"),b("fundFeeRate"),b("createPoolFee"),B("protocolOwner"),B("fundOwner"),N(b(),16)]),rs=K([q(8),B("configId"),B("poolCreator"),B("vaultA"),B("vaultB"),B("mintLp"),B("mintA"),B("mintB"),B("mintProgramA"),B("mintProgramB"),B("observationId"),V("bump"),V("status"),V("lpDecimals"),V("mintDecimalA"),V("mintDecimalB"),b("lpAmount"),b("swapFeesToken0"),b("swapFeesToken1"),b("creatorFeesToken0"),b("creatorFeesToken1"),b("protocolFeesMintA"),b("protocolFeesMintB"),b("openTime"),N(b(),32)]);import{PublicKey as Fe,TransactionInstruction as ce,Keypair as Qr,SystemProgram as Jr}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as En,TOKEN_2022_PROGRAM_ID as Vt,TOKEN_PROGRAM_ID as ue}from"@solana/spl-token";import{PublicKey as ds}from"@solana/web3.js";import{get as Ht,set as Jn}from"lodash";var ft=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(i=>typeof i=="object"?JSON.stringify(i):i).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},Yt={},$n={};function D(e){let t=Ht(Yt,e);if(!t){let n=Ht($n,e);t=new ft({name:e,logLevel:n}),Jn(Yt,e,t)}return t}import{MINT_SIZE as ys,TOKEN_PROGRAM_ID as gs,getTransferFeeConfig as Ps,unpackMint as ws}from"@solana/spl-token";var As=D("Raydium_accountInfo_util");import te from"bn.js";var ge=9e15,oe=1e9,bt="0123456789abcdef",qe="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Ge="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",yt={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ge,maxE:ge,crypto:!1},$t,ee,h=!0,Xe="[DecimalError] ",re=Xe+"Invalid argument: ",en=Xe+"Precision limit exceeded",tn=Xe+"crypto unavailable",nn="[object Decimal]",G=Math.floor,v=Math.pow,ei=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,ti=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,ni=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,rn=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,j=1e7,k=7,ii=9007199254740991,ri=qe.length-1,gt=Ge.length-1,p={toStringTag:nn};p.absoluteValue=p.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),g(e)};p.ceil=function(){return g(new this.constructor(this),this.e+1,2)};p.clampedTo=p.clamp=function(e,t){var n,i=this,r=i.constructor;if(e=new r(e),t=new r(t),!e.s||!t.s)return new r(NaN);if(e.gt(t))throw Error(re+t);return n=i.cmp(e),n<0?e:i.cmp(t)>0?t:new r(i)};p.comparedTo=p.cmp=function(e){var t,n,i,r,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(i=s.length,r=a.length,t=0,n=i<r?i:r;t<n;++t)if(s[t]!==a[t])return s[t]>a[t]^c<0?1:-1;return i===r?0:i>r^c<0?1:-1};p.cosine=p.cos=function(){var e,t,n=this,i=n.constructor;return n.d?n.d[0]?(e=i.precision,t=i.rounding,i.precision=e+Math.max(n.e,n.sd())+k,i.rounding=1,n=oi(i,cn(i,n)),i.precision=e,i.rounding=t,g(ee==2||ee==3?n.neg():n,e,t,!0)):new i(1):new i(NaN)};p.cubeRoot=p.cbrt=function(){var e,t,n,i,r,o,s,a,c,u,l=this,m=l.constructor;if(!l.isFinite()||l.isZero())return new m(l);for(h=!1,o=l.s*v(l.s*l,1/3),!o||Math.abs(o)==1/0?(n=_(l.d),e=l.e,(o=(e-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=v(n,1/3),e=G((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?n="5e"+e:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+e),i=new m(n),i.s=l.s):i=new m(o.toString()),s=(e=m.precision)+3;;)if(a=i,c=a.times(a).times(a),u=c.plus(l),i=L(u.plus(l).times(a),u.plus(c),s+2,1),_(a.d).slice(0,s)===(n=_(i.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!r&&n=="4999"){if(!r&&(g(a,e+1,0),a.times(a).times(a).eq(l))){i=a;break}s+=4,r=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(g(i,e+1,1),t=!i.times(i).times(i).eq(l));break}return h=!0,g(i,e,m.rounding,t)};p.decimalPlaces=p.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-G(this.e/k))*k,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};p.dividedBy=p.div=function(e){return L(this,new this.constructor(e))};p.dividedToIntegerBy=p.divToInt=function(e){var t=this,n=t.constructor;return g(L(t,new n(e),0,1,1),n.precision,n.rounding)};p.equals=p.eq=function(e){return this.cmp(e)===0};p.floor=function(){return g(new this.constructor(this),this.e+1,3)};p.greaterThan=p.gt=function(e){return this.cmp(e)>0};p.greaterThanOrEqualTo=p.gte=function(e){var t=this.cmp(e);return t==1||t===0};p.hyperbolicCosine=p.cosh=function(){var e,t,n,i,r,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;n=s.precision,i=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,r=o.d.length,r<32?(e=Math.ceil(r/3),t=(1/He(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=Pe(s,1,o.times(t),new s(1),!0);for(var c,u=e,l=new s(8);u--;)c=o.times(o),o=a.minus(c.times(l.minus(c.times(l))));return g(o,s.precision=n,s.rounding=i,!0)};p.hyperbolicSine=p.sinh=function(){var e,t,n,i,r=this,o=r.constructor;if(!r.isFinite()||r.isZero())return new o(r);if(t=o.precision,n=o.rounding,o.precision=t+Math.max(r.e,r.sd())+4,o.rounding=1,i=r.d.length,i<3)r=Pe(o,2,r,r,!0);else{e=1.4*Math.sqrt(i),e=e>16?16:e|0,r=r.times(1/He(5,e)),r=Pe(o,2,r,r,!0);for(var s,a=new o(5),c=new o(16),u=new o(20);e--;)s=r.times(r),r=r.times(a.plus(s.times(c.times(s).plus(u))))}return o.precision=t,o.rounding=n,g(r,t,n,!0)};p.hyperbolicTangent=p.tanh=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+7,i.rounding=1,L(n.sinh(),n.cosh(),i.precision=e,i.rounding=t)):new i(n.s)};p.inverseCosine=p.acos=function(){var e,t=this,n=t.constructor,i=t.abs().cmp(1),r=n.precision,o=n.rounding;return i!==-1?i===0?t.isNeg()?Z(n,r,o):new n(0):new n(NaN):t.isZero()?Z(n,r+4,o).times(.5):(n.precision=r+6,n.rounding=1,t=t.asin(),e=Z(n,r+4,o).times(.5),n.precision=r,n.rounding=o,e.minus(t))};p.inverseHyperbolicCosine=p.acosh=function(){var e,t,n=this,i=n.constructor;return n.lte(1)?new i(n.eq(1)?0:NaN):n.isFinite()?(e=i.precision,t=i.rounding,i.precision=e+Math.max(Math.abs(n.e),n.sd())+4,i.rounding=1,h=!1,n=n.times(n).minus(1).sqrt().plus(n),h=!0,i.precision=e,i.rounding=t,n.ln()):new i(n)};p.inverseHyperbolicSine=p.asinh=function(){var e,t,n=this,i=n.constructor;return!n.isFinite()||n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,i.rounding=1,h=!1,n=n.times(n).plus(1).sqrt().plus(n),h=!0,i.precision=e,i.rounding=t,n.ln())};p.inverseHyperbolicTangent=p.atanh=function(){var e,t,n,i,r=this,o=r.constructor;return r.isFinite()?r.e>=0?new o(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(e=o.precision,t=o.rounding,i=r.sd(),Math.max(i,e)<2*-r.e-1?g(new o(r),e,t,!0):(o.precision=n=i-r.e,r=L(r.plus(1),new o(1).minus(r),n+e,1),o.precision=e+4,o.rounding=1,r=r.ln(),o.precision=e,o.rounding=t,r.times(.5))):new o(NaN)};p.inverseSine=p.asin=function(){var e,t,n,i,r=this,o=r.constructor;return r.isZero()?new o(r):(t=r.abs().cmp(1),n=o.precision,i=o.rounding,t!==-1?t===0?(e=Z(o,n+4,i).times(.5),e.s=r.s,e):new o(NaN):(o.precision=n+6,o.rounding=1,r=r.div(new o(1).minus(r.times(r)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=i,r.times(2)))};p.inverseTangent=p.atan=function(){var e,t,n,i,r,o,s,a,c,u=this,l=u.constructor,m=l.precision,d=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&m+4<=gt)return s=Z(l,m+4,d).times(.25),s.s=u.s,s}else{if(!u.s)return new l(NaN);if(m+4<=gt)return s=Z(l,m+4,d).times(.5),s.s=u.s,s}for(l.precision=a=m+10,l.rounding=1,n=Math.min(28,a/k+2|0),e=n;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(h=!1,t=Math.ceil(a/k),i=1,c=u.times(u),s=new l(u),r=u;e!==-1;)if(r=r.times(c),o=s.minus(r.div(i+=2)),r=r.times(c),s=o.plus(r.div(i+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return n&&(s=s.times(2<<n-1)),h=!0,g(s,l.precision=m,l.rounding=d,!0)};p.isFinite=function(){return!!this.d};p.isInteger=p.isInt=function(){return!!this.d&&G(this.e/k)>this.d.length-2};p.isNaN=function(){return!this.s};p.isNegative=p.isNeg=function(){return this.s<0};p.isPositive=p.isPos=function(){return this.s>0};p.isZero=function(){return!!this.d&&this.d[0]===0};p.lessThan=p.lt=function(e){return this.cmp(e)<0};p.lessThanOrEqualTo=p.lte=function(e){return this.cmp(e)<1};p.logarithm=p.log=function(e){var t,n,i,r,o,s,a,c,u=this,l=u.constructor,m=l.precision,d=l.rounding,f=5;if(e==null)e=new l(10),t=!0;else{if(e=new l(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(n=u.d,u.s<0||!n||!n[0]||u.eq(1))return new l(n&&!n[0]?-1/0:u.s!=1?NaN:n?0:1/0);if(t)if(n.length>1)o=!0;else{for(r=n[0];r%10===0;)r/=10;o=r!==1}if(h=!1,a=m+f,s=ie(u,a),i=t?Ue(l,a+10):ie(e,a),c=L(s,i,a,1),xe(c.d,r=m,d))do if(a+=10,s=ie(u,a),i=t?Ue(l,a+10):ie(e,a),c=L(s,i,a,1),!o){+_(c.d).slice(r+1,r+15)+1==1e14&&(c=g(c,m+1,0));break}while(xe(c.d,r+=10,d));return h=!0,g(c,m,d)};p.minus=p.sub=function(e){var t,n,i,r,o,s,a,c,u,l,m,d,f=this,P=f.constructor;if(e=new P(e),!f.d||!e.d)return!f.s||!e.s?e=new P(NaN):f.d?e.s=-e.s:e=new P(e.d||f.s!==e.s?f:NaN),e;if(f.s!=e.s)return e.s=-e.s,f.plus(e);if(u=f.d,d=e.d,a=P.precision,c=P.rounding,!u[0]||!d[0]){if(d[0])e.s=-e.s;else if(u[0])e=new P(f);else return new P(c===3?-0:0);return h?g(e,a,c):e}if(n=G(e.e/k),l=G(f.e/k),u=u.slice(),o=l-n,o){for(m=o<0,m?(t=u,o=-o,s=d.length):(t=d,n=l,s=u.length),i=Math.max(Math.ceil(a/k),s)+2,o>i&&(o=i,t.length=1),t.reverse(),i=o;i--;)t.push(0);t.reverse()}else{for(i=u.length,s=d.length,m=i<s,m&&(s=i),i=0;i<s;i++)if(u[i]!=d[i]){m=u[i]<d[i];break}o=0}for(m&&(t=u,u=d,d=t,e.s=-e.s),s=u.length,i=d.length-s;i>0;--i)u[s++]=0;for(i=d.length;i>o;){if(u[--i]<d[i]){for(r=i;r&&u[--r]===0;)u[r]=j-1;--u[r],u[i]+=j}u[i]-=d[i]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--n;return u[0]?(e.d=u,e.e=ze(u,n),h?g(e,a,c):e):new P(c===3?-0:0)};p.modulo=p.mod=function(e){var t,n=this,i=n.constructor;return e=new i(e),!n.d||!e.s||e.d&&!e.d[0]?new i(NaN):!e.d||n.d&&!n.d[0]?g(new i(n),i.precision,i.rounding):(h=!1,i.modulo==9?(t=L(n,e.abs(),0,3,1),t.s*=e.s):t=L(n,e,0,i.modulo,1),t=t.times(e),h=!0,n.minus(t))};p.naturalExponential=p.exp=function(){return Pt(this)};p.naturalLogarithm=p.ln=function(){return ie(this)};p.negated=p.neg=function(){var e=new this.constructor(this);return e.s=-e.s,g(e)};p.plus=p.add=function(e){var t,n,i,r,o,s,a,c,u,l,m=this,d=m.constructor;if(e=new d(e),!m.d||!e.d)return!m.s||!e.s?e=new d(NaN):m.d||(e=new d(e.d||m.s===e.s?m:NaN)),e;if(m.s!=e.s)return e.s=-e.s,m.minus(e);if(u=m.d,l=e.d,a=d.precision,c=d.rounding,!u[0]||!l[0])return l[0]||(e=new d(m)),h?g(e,a,c):e;if(o=G(m.e/k),i=G(e.e/k),u=u.slice(),r=o-i,r){for(r<0?(n=u,r=-r,s=l.length):(n=l,i=o,s=u.length),o=Math.ceil(a/k),s=o>s?o+1:s+1,r>s&&(r=s,n.length=1),n.reverse();r--;)n.push(0);n.reverse()}for(s=u.length,r=l.length,s-r<0&&(r=s,n=l,l=u,u=n),t=0;r;)t=(u[--r]=u[r]+l[r]+t)/j|0,u[r]%=j;for(t&&(u.unshift(t),++i),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=ze(u,i),h?g(e,a,c):e};p.precision=p.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(re+e);return n.d?(t=on(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};p.round=function(){var e=this,t=e.constructor;return g(new t(e),e.e+1,t.rounding)};p.sine=p.sin=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+Math.max(n.e,n.sd())+k,i.rounding=1,n=ai(i,cn(i,n)),i.precision=e,i.rounding=t,g(ee>2?n.neg():n,e,t,!0)):new i(NaN)};p.squareRoot=p.sqrt=function(){var e,t,n,i,r,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(h=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=_(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=G((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),i=new l(t)):i=new l(u.toString()),n=(c=l.precision)+3;;)if(o=i,i=o.plus(L(s,o,n+2,1)).times(.5),_(o.d).slice(0,n)===(t=_(i.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!r&&t=="4999"){if(!r&&(g(o,c+1,0),o.times(o).eq(s))){i=o;break}n+=4,r=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(g(i,c+1,1),e=!i.times(i).eq(s));break}return h=!0,g(i,c,l.rounding,e)};p.tangent=p.tan=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+10,i.rounding=1,n=n.sin(),n.s=1,n=L(n,new i(1).minus(n.times(n)).sqrt(),e+10,0),i.precision=e,i.rounding=t,g(ee==2||ee==4?n.neg():n,e,t,!0)):new i(NaN)};p.times=p.mul=function(e){var t,n,i,r,o,s,a,c,u,l=this,m=l.constructor,d=l.d,f=(e=new m(e)).d;if(e.s*=l.s,!d||!d[0]||!f||!f[0])return new m(!e.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:!d||!f?e.s/0:e.s*0);for(n=G(l.e/k)+G(e.e/k),c=d.length,u=f.length,c<u&&(o=d,d=f,f=o,s=c,c=u,u=s),o=[],s=c+u,i=s;i--;)o.push(0);for(i=u;--i>=0;){for(t=0,r=c+i;r>i;)a=o[r]+f[i]*d[r-i-1]+t,o[r--]=a%j|0,t=a/j|0;o[r]=(o[r]+t)%j|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=ze(o,n),h?g(e,m.precision,m.rounding):e};p.toBinary=function(e,t){return At(this,2,e,t)};p.toDecimalPlaces=p.toDP=function(e,t){var n=this,i=n.constructor;return n=new i(n),e===void 0?n:(U(e,0,oe),t===void 0?t=i.rounding:U(t,0,8),g(n,e+n.e+1,t))};p.toExponential=function(e,t){var n,i=this,r=i.constructor;return e===void 0?n=Q(i,!0):(U(e,0,oe),t===void 0?t=r.rounding:U(t,0,8),i=g(new r(i),e+1,t),n=Q(i,!0,e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};p.toFixed=function(e,t){var n,i,r=this,o=r.constructor;return e===void 0?n=Q(r):(U(e,0,oe),t===void 0?t=o.rounding:U(t,0,8),i=g(new o(r),e+r.e+1,t),n=Q(i,!1,e+i.e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};p.toFraction=function(e){var t,n,i,r,o,s,a,c,u,l,m,d,f=this,P=f.d,y=f.constructor;if(!P)return new y(f);if(u=n=new y(1),i=c=new y(0),t=new y(i),o=t.e=on(P)-f.e-1,s=o%k,t.d[0]=v(10,s<0?k+s:s),e==null)e=o>0?t:u;else{if(a=new y(e),!a.isInt()||a.lt(u))throw Error(re+a);e=a.gt(t)?o>0?t:u:a}for(h=!1,a=new y(_(P)),l=y.precision,y.precision=o=P.length*k*2;m=L(a,t,0,1,1),r=n.plus(m.times(i)),r.cmp(e)!=1;)n=i,i=r,r=u,u=c.plus(m.times(r)),c=r,r=t,t=a.minus(m.times(r)),a=r;return r=L(e.minus(n),i,0,1,1),c=c.plus(r.times(u)),n=n.plus(r.times(i)),c.s=u.s=f.s,d=L(u,i,o,1).minus(f).abs().cmp(L(c,n,o,1).minus(f).abs())<1?[u,i]:[c,n],y.precision=l,h=!0,d};p.toHexadecimal=p.toHex=function(e,t){return At(this,16,e,t)};p.toNearest=function(e,t){var n=this,i=n.constructor;if(n=new i(n),e==null){if(!n.d)return n;e=new i(1),t=i.rounding}else{if(e=new i(e),t===void 0?t=i.rounding:U(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(h=!1,n=L(n,e,0,t,1).times(e),h=!0,g(n)):(e.s=n.s,n=e),n};p.toNumber=function(){return+this};p.toOctal=function(e,t){return At(this,8,e,t)};p.toPower=p.pow=function(e){var t,n,i,r,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(v(+a,u));if(a=new c(a),a.eq(1))return a;if(i=c.precision,o=c.rounding,e.eq(1))return g(a,i,o);if(t=G(e.e/k),t>=e.d.length-1&&(n=u<0?-u:u)<=ii)return r=sn(c,a,n,i),e.s<0?new c(1).div(r):g(r,i,o);if(s=a.s,s<0){if(t<e.d.length-1)return new c(NaN);if((e.d[t]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return n=v(+a,u),t=n==0||!isFinite(n)?G(u*(Math.log("0."+_(a.d))/Math.LN10+a.e+1)):new c(n+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?s/0:0):(h=!1,c.rounding=a.s=1,n=Math.min(12,(t+"").length),r=Pt(e.times(ie(a,i+n)),i),r.d&&(r=g(r,i+5,1),xe(r.d,i,o)&&(t=i+10,r=g(Pt(e.times(ie(a,t+n)),t),t+5,1),+_(r.d).slice(i+1,i+15)+1==1e14&&(r=g(r,i+1,0)))),r.s=s,h=!0,c.rounding=o,g(r,i,o))};p.toPrecision=function(e,t){var n,i=this,r=i.constructor;return e===void 0?n=Q(i,i.e<=r.toExpNeg||i.e>=r.toExpPos):(U(e,1,oe),t===void 0?t=r.rounding:U(t,0,8),i=g(new r(i),e,t),n=Q(i,e<=i.e||i.e<=r.toExpNeg,e)),i.isNeg()&&!i.isZero()?"-"+n:n};p.toSignificantDigits=p.toSD=function(e,t){var n=this,i=n.constructor;return e===void 0?(e=i.precision,t=i.rounding):(U(e,1,oe),t===void 0?t=i.rounding:U(t,0,8)),g(new i(n),e,t)};p.toString=function(){var e=this,t=e.constructor,n=Q(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};p.truncated=p.trunc=function(){return g(new this.constructor(this),this.e+1,1)};p.valueOf=p.toJSON=function(){var e=this,t=e.constructor,n=Q(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function _(e){var t,n,i,r=e.length-1,o="",s=e[0];if(r>0){for(o+=s,t=1;t<r;t++)i=e[t]+"",n=k-i.length,n&&(o+=ne(n)),o+=i;s=e[t],i=s+"",n=k-i.length,n&&(o+=ne(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function U(e,t,n){if(e!==~~e||e<t||e>n)throw Error(re+e)}function xe(e,t,n,i){var r,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=k,r=0):(r=Math.ceil((t+1)/k),t%=k),o=v(10,k-t),a=e[r]%o|0,i==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=n<4&&a==99999||n>3&&a==49999||a==5e4||a==0):s=(n<4&&a+1==o||n>3&&a+1==o/2)&&(e[r+1]/o/100|0)==v(10,t-2)-1||(a==o/2||a==0)&&(e[r+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=(i||n<4)&&a==9999||!i&&n>3&&a==4999):s=((i||n<4)&&a+1==o||!i&&n>3&&a+1==o/2)&&(e[r+1]/o/1e3|0)==v(10,t-3)-1,s}function We(e,t,n){for(var i,r=[0],o,s=0,a=e.length;s<a;){for(o=r.length;o--;)r[o]*=t;for(r[0]+=bt.indexOf(e.charAt(s++)),i=0;i<r.length;i++)r[i]>n-1&&(r[i+1]===void 0&&(r[i+1]=0),r[i+1]+=r[i]/n|0,r[i]%=n)}return r.reverse()}function oi(e,t){var n,i,r;if(t.isZero())return t;i=t.d.length,i<32?(n=Math.ceil(i/3),r=(1/He(4,n)).toString()):(n=16,r="2.3283064365386962890625e-10"),e.precision+=n,t=Pe(e,1,t.times(r),new e(1));for(var o=n;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=n,t}var L=function(){function e(i,r,o){var s,a=0,c=i.length;for(i=i.slice();c--;)s=i[c]*r+a,i[c]=s%o|0,a=s/o|0;return a&&i.unshift(a),i}function t(i,r,o,s){var a,c;if(o!=s)c=o>s?1:-1;else for(a=c=0;a<o;a++)if(i[a]!=r[a]){c=i[a]>r[a]?1:-1;break}return c}function n(i,r,o,s){for(var a=0;o--;)i[o]-=a,a=i[o]<r[o]?1:0,i[o]=a*s+i[o]-r[o];for(;!i[0]&&i.length>1;)i.shift()}return function(i,r,o,s,a,c){var u,l,m,d,f,P,y,I,T,C,S,M,fe,H,Te,me,Be,ct,Y,Ve,ve=i.constructor,lt=i.s==r.s?1:-1,W=i.d,R=r.d;if(!W||!W[0]||!R||!R[0])return new ve(!i.s||!r.s||(W?R&&W[0]==R[0]:!R)?NaN:W&&W[0]==0||!R?lt*0:lt/0);for(c?(f=1,l=i.e-r.e):(c=j,f=k,l=G(i.e/f)-G(r.e/f)),Y=R.length,Be=W.length,T=new ve(lt),C=T.d=[],m=0;R[m]==(W[m]||0);m++);if(R[m]>(W[m]||0)&&l--,o==null?(H=o=ve.precision,s=ve.rounding):a?H=o+(i.e-r.e)+1:H=o,H<0)C.push(1),P=!0;else{if(H=H/f+2|0,m=0,Y==1){for(d=0,R=R[0],H++;(m<Be||d)&&H--;m++)Te=d*c+(W[m]||0),C[m]=Te/R|0,d=Te%R|0;P=d||m<Be}else{for(d=c/(R[0]+1)|0,d>1&&(R=e(R,d,c),W=e(W,d,c),Y=R.length,Be=W.length),me=Y,S=W.slice(0,Y),M=S.length;M<Y;)S[M++]=0;Ve=R.slice(),Ve.unshift(0),ct=R[0],R[1]>=c/2&&++ct;do d=0,u=t(R,S,Y,M),u<0?(fe=S[0],Y!=M&&(fe=fe*c+(S[1]||0)),d=fe/ct|0,d>1?(d>=c&&(d=c-1),y=e(R,d,c),I=y.length,M=S.length,u=t(y,S,I,M),u==1&&(d--,n(y,Y<I?Ve:R,I,c))):(d==0&&(u=d=1),y=R.slice()),I=y.length,I<M&&y.unshift(0),n(S,y,M,c),u==-1&&(M=S.length,u=t(R,S,Y,M),u<1&&(d++,n(S,Y<M?Ve:R,M,c))),M=S.length):u===0&&(d++,S=[0]),C[m++]=d,u&&S[0]?S[M++]=W[me]||0:(S=[W[me]],M=1);while((me++<Be||S[0]!==void 0)&&H--);P=S[0]!==void 0}C[0]||C.shift()}if(f==1)T.e=l,$t=P;else{for(m=1,d=C[0];d>=10;d/=10)m++;T.e=m+l*f-1,g(T,a?o+T.e+1:o,s,P)}return T}}();function g(e,t,n,i){var r,o,s,a,c,u,l,m,d,f=e.constructor;e:if(t!=null){if(m=e.d,!m)return e;for(r=1,a=m[0];a>=10;a/=10)r++;if(o=t-r,o<0)o+=k,s=t,l=m[d=0],c=l/v(10,r-s-1)%10|0;else if(d=Math.ceil((o+1)/k),a=m.length,d>=a)if(i){for(;a++<=d;)m.push(0);l=c=0,r=1,o%=k,s=o-k+1}else break e;else{for(l=a=m[d],r=1;a>=10;a/=10)r++;o%=k,s=o-k+r,c=s<0?0:l/v(10,r-s-1)%10|0}if(i=i||t<0||m[d+1]!==void 0||(s<0?l:l%v(10,r-s-1)),u=n<4?(c||i)&&(n==0||n==(e.s<0?3:2)):c>5||c==5&&(n==4||i||n==6&&(o>0?s>0?l/v(10,r-s):0:m[d-1])%10&1||n==(e.s<0?8:7)),t<1||!m[0])return m.length=0,u?(t-=e.e+1,m[0]=v(10,(k-t%k)%k),e.e=-t||0):m[0]=e.e=0,e;if(o==0?(m.length=d,a=1,d--):(m.length=d+1,a=v(10,k-o),m[d]=s>0?(l/v(10,r-s)%v(10,s)|0)*a:0),u)for(;;)if(d==0){for(o=1,s=m[0];s>=10;s/=10)o++;for(s=m[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,m[0]==j&&(m[0]=1));break}else{if(m[d]+=a,m[d]!=j)break;m[d--]=0,a=1}for(o=m.length;m[--o]===0;)m.pop()}return h&&(e.e>f.maxE?(e.d=null,e.e=NaN):e.e<f.minE&&(e.e=0,e.d=[0])),e}function Q(e,t,n){if(!e.isFinite())return un(e);var i,r=e.e,o=_(e.d),s=o.length;return t?(n&&(i=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+ne(i):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):r<0?(o="0."+ne(-r-1)+o,n&&(i=n-s)>0&&(o+=ne(i))):r>=s?(o+=ne(r+1-s),n&&(i=n-r-1)>0&&(o=o+"."+ne(i))):((i=r+1)<s&&(o=o.slice(0,i)+"."+o.slice(i)),n&&(i=n-s)>0&&(r+1===s&&(o+="."),o+=ne(i))),o}function ze(e,t){var n=e[0];for(t*=k;n>=10;n/=10)t++;return t}function Ue(e,t,n){if(t>ri)throw h=!0,n&&(e.precision=n),Error(en);return g(new e(qe),t,1,!0)}function Z(e,t,n){if(t>gt)throw Error(en);return g(new e(Ge),t,n,!0)}function on(e){var t=e.length-1,n=t*k+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function ne(e){for(var t="";e--;)t+="0";return t}function sn(e,t,n,i){var r,o=new e(1),s=Math.ceil(i/k+4);for(h=!1;;){if(n%2&&(o=o.times(t),Qt(o.d,s)&&(r=!0)),n=G(n/2),n===0){n=o.d.length-1,r&&o.d[n]===0&&++o.d[n];break}t=t.times(t),Qt(t.d,s)}return h=!0,o}function jt(e){return e.d[e.d.length-1]&1}function an(e,t,n){for(var i,r=new e(t[0]),o=0;++o<t.length;)if(i=new e(t[o]),i.s)r[n](i)&&(r=i);else{r=i;break}return r}function Pt(e,t){var n,i,r,o,s,a,c,u=0,l=0,m=0,d=e.constructor,f=d.rounding,P=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?(h=!1,c=P):c=t,a=new d(.03125);e.e>-2;)e=e.times(a),m+=5;for(i=Math.log(v(2,m))/Math.LN10*2+5|0,c+=i,n=o=s=new d(1),d.precision=c;;){if(o=g(o.times(e),c,1),n=n.times(++l),a=s.plus(L(o,n,c,1)),_(a.d).slice(0,c)===_(s.d).slice(0,c)){for(r=m;r--;)s=g(s.times(s),c,1);if(t==null)if(u<3&&xe(s.d,c-i,f,u))d.precision=c+=10,n=o=a=new d(1),l=0,u++;else return g(s,d.precision=P,f,h=!0);else return d.precision=P,s}s=a}}function ie(e,t){var n,i,r,o,s,a,c,u,l,m,d,f=1,P=10,y=e,I=y.d,T=y.constructor,C=T.rounding,S=T.precision;if(y.s<0||!I||!I[0]||!y.e&&I[0]==1&&I.length==1)return new T(I&&!I[0]?-1/0:y.s!=1?NaN:I?0:y);if(t==null?(h=!1,l=S):l=t,T.precision=l+=P,n=_(I),i=n.charAt(0),Math.abs(o=y.e)<15e14){for(;i<7&&i!=1||i==1&&n.charAt(1)>3;)y=y.times(e),n=_(y.d),i=n.charAt(0),f++;o=y.e,i>1?(y=new T("0."+n),o++):y=new T(i+"."+n.slice(1))}else return u=Ue(T,l+2,S).times(o+""),y=ie(new T(i+"."+n.slice(1)),l-P).plus(u),T.precision=S,t==null?g(y,S,C,h=!0):y;for(m=y,c=s=y=L(y.minus(1),y.plus(1),l,1),d=g(y.times(y),l,1),r=3;;){if(s=g(s.times(d),l,1),u=c.plus(L(s,new T(r),l,1)),_(u.d).slice(0,l)===_(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(Ue(T,l+2,S).times(o+""))),c=L(c,new T(f),l,1),t==null)if(xe(c.d,l-P,C,a))T.precision=l+=P,u=s=y=L(m.minus(1),m.plus(1),l,1),d=g(y.times(y),l,1),r=a=1;else return g(c,T.precision=S,C,h=!0);else return T.precision=S,c;c=u,r+=2}}function un(e){return String(e.s*e.s/0)}function wt(e,t){var n,i,r;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(i=t.search(/e/i))>0?(n<0&&(n=i),n+=+t.slice(i+1),t=t.substring(0,i)):n<0&&(n=t.length),i=0;t.charCodeAt(i)===48;i++);for(r=t.length;t.charCodeAt(r-1)===48;--r);if(t=t.slice(i,r),t){if(r-=i,e.e=n=n-i-1,e.d=[],i=(n+1)%k,n<0&&(i+=k),i<r){for(i&&e.d.push(+t.slice(0,i)),r-=k;i<r;)e.d.push(+t.slice(i,i+=k));t=t.slice(i),i=k-t.length}else i-=r;for(;i--;)t+="0";e.d.push(+t),h&&(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 si(e,t){var n,i,r,o,s,a,c,u,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),rn.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(ti.test(t))n=16,t=t.toLowerCase();else if(ei.test(t))n=2;else if(ni.test(t))n=8;else throw Error(re+t);for(o=t.search(/p/i),o>0?(c=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,i=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,r=sn(i,new i(n),o,o*2)),u=We(t,n,j),l=u.length-1,o=l;u[o]===0;--o)u.pop();return o<0?new i(e.s*0):(e.e=ze(u,l),e.d=u,h=!1,s&&(e=L(e,r,a*4)),c&&(e=e.times(Math.abs(c)<54?v(2,c):Ye.pow(2,c))),h=!0,e)}function ai(e,t){var n,i=t.d.length;if(i<3)return t.isZero()?t:Pe(e,2,t,t);n=1.4*Math.sqrt(i),n=n>16?16:n|0,t=t.times(1/He(5,n)),t=Pe(e,2,t,t);for(var r,o=new e(5),s=new e(16),a=new e(20);n--;)r=t.times(t),t=t.times(o.plus(r.times(s.times(r).minus(a))));return t}function Pe(e,t,n,i,r){var o,s,a,c,u=1,l=e.precision,m=Math.ceil(l/k);for(h=!1,c=n.times(n),a=new e(i);;){if(s=L(a.times(c),new e(t++*t++),l,1),a=r?i.plus(s):i.minus(s),i=L(s.times(c),new e(t++*t++),l,1),s=a.plus(i),s.d[m]!==void 0){for(o=m;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=i,i=s,s=o,u++}return h=!0,s.d.length=m+1,s}function He(e,t){for(var n=e;--t;)n*=e;return n}function cn(e,t){var n,i=t.s<0,r=Z(e,e.precision,1),o=r.times(.5);if(t=t.abs(),t.lte(o))return ee=i?4:1,t;if(n=t.divToInt(r),n.isZero())ee=i?3:2;else{if(t=t.minus(n.times(r)),t.lte(o))return ee=jt(n)?i?2:3:i?4:1,t;ee=jt(n)?i?1:4:i?3:2}return t.minus(r).abs()}function At(e,t,n,i){var r,o,s,a,c,u,l,m,d,f=e.constructor,P=n!==void 0;if(P?(U(n,1,oe),i===void 0?i=f.rounding:U(i,0,8)):(n=f.precision,i=f.rounding),!e.isFinite())l=un(e);else{for(l=Q(e),s=l.indexOf("."),P?(r=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):r=t,s>=0&&(l=l.replace(".",""),d=new f(1),d.e=l.length-s,d.d=We(Q(d),10,r),d.e=d.d.length),m=We(l,10,r),o=c=m.length;m[--c]==0;)m.pop();if(!m[0])l=P?"0p+0":"0";else{if(s<0?o--:(e=new f(e),e.d=m,e.e=o,e=L(e,d,n,i,0,r),m=e.d,o=e.e,u=$t),s=m[n],a=r/2,u=u||m[n+1]!==void 0,u=i<4?(s!==void 0||u)&&(i===0||i===(e.s<0?3:2)):s>a||s===a&&(i===4||u||i===6&&m[n-1]&1||i===(e.s<0?8:7)),m.length=n,u)for(;++m[--n]>r-1;)m[n]=0,n||(++o,m.unshift(1));for(c=m.length;!m[c-1];--c);for(s=0,l="";s<c;s++)l+=bt.charAt(m[s]);if(P){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)l+="0";for(m=We(l,r,t),c=m.length;!m[c-1];--c);for(s=1,l="1.";s<c;s++)l+=bt.charAt(m[s])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>c)for(o-=c;o--;)l+="0";else o<c&&(l=l.slice(0,o)+"."+l.slice(o))}l=(t==16?"0x":t==2?"0b":t==8?"0o":"")+l}return e.s<0?"-"+l:l}function Qt(e,t){if(e.length>t)return e.length=t,!0}function ui(e){return new this(e).abs()}function ci(e){return new this(e).acos()}function li(e){return new this(e).acosh()}function mi(e,t){return new this(e).plus(t)}function di(e){return new this(e).asin()}function pi(e){return new this(e).asinh()}function fi(e){return new this(e).atan()}function bi(e){return new this(e).atanh()}function yi(e,t){e=new this(e),t=new this(t);var n,i=this.precision,r=this.rounding,o=i+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=Z(this,o,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?Z(this,i,r):new this(0),n.s=e.s):!e.d||t.isZero()?(n=Z(this,o,1).times(.5),n.s=e.s):t.s<0?(this.precision=o,this.rounding=1,n=this.atan(L(e,t,o,1)),t=Z(this,o,1),this.precision=i,this.rounding=r,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(L(e,t,o,1)),n}function gi(e){return new this(e).cbrt()}function Pi(e){return g(e=new this(e),e.e+1,2)}function wi(e,t,n){return new this(e).clamp(t,n)}function Ai(e){if(!e||typeof e!="object")throw Error(Xe+"Object expected");var t,n,i,r=e.defaults===!0,o=["precision",1,oe,"rounding",0,8,"toExpNeg",-ge,0,"toExpPos",0,ge,"maxE",0,ge,"minE",-ge,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],r&&(this[n]=yt[n]),(i=e[n])!==void 0)if(G(i)===i&&i>=o[t+1]&&i<=o[t+2])this[n]=i;else throw Error(re+n+": "+i);if(n="crypto",r&&(this[n]=yt[n]),(i=e[n])!==void 0)if(i===!0||i===!1||i===0||i===1)if(i)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(tn);else this[n]=!1;else throw Error(re+n+": "+i);return this}function ki(e){return new this(e).cos()}function hi(e){return new this(e).cosh()}function ln(e){var t,n,i;function r(o){var s,a,c,u=this;if(!(u instanceof r))return new r(o);if(u.constructor=r,Jt(o)){u.s=o.s,h?!o.d||o.e>r.maxE?(u.e=NaN,u.d=null):o.e<r.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++;h?s>r.maxE?(u.e=NaN,u.d=null):s<r.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(re+o);return(a=o.charCodeAt(0))===45?(o=o.slice(1),u.s=-1):(a===43&&(o=o.slice(1)),u.s=1),rn.test(o)?wt(u,o):si(u,o)}if(r.prototype=p,r.ROUND_UP=0,r.ROUND_DOWN=1,r.ROUND_CEIL=2,r.ROUND_FLOOR=3,r.ROUND_HALF_UP=4,r.ROUND_HALF_DOWN=5,r.ROUND_HALF_EVEN=6,r.ROUND_HALF_CEIL=7,r.ROUND_HALF_FLOOR=8,r.EUCLID=9,r.config=r.set=Ai,r.clone=ln,r.isDecimal=Jt,r.abs=ui,r.acos=ci,r.acosh=li,r.add=mi,r.asin=di,r.asinh=pi,r.atan=fi,r.atanh=bi,r.atan2=yi,r.cbrt=gi,r.ceil=Pi,r.clamp=wi,r.cos=ki,r.cosh=hi,r.div=Ti,r.exp=Bi,r.floor=xi,r.hypot=Ii,r.ln=Si,r.log=Ci,r.log10=Ni,r.log2=Ki,r.max=Li,r.min=Ri,r.mod=Mi,r.mul=Oi,r.pow=Fi,r.random=Ei,r.round=Vi,r.sign=vi,r.sin=Di,r.sinh=_i,r.sqrt=Wi,r.sub=qi,r.sum=Gi,r.tan=Ui,r.tanh=Xi,r.trunc=zi,e===void 0&&(e={}),e&&e.defaults!==!0)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<i.length;)e.hasOwnProperty(n=i[t++])||(e[n]=this[n]);return r.config(e),r}function Ti(e,t){return new this(e).div(t)}function Bi(e){return new this(e).exp()}function xi(e){return g(e=new this(e),e.e+1,3)}function Ii(){var e,t,n=new this(0);for(h=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return h=!0,new this(1/0);n=t}return h=!0,n.sqrt()}function Jt(e){return e instanceof Ye||e&&e.toStringTag===nn||!1}function Si(e){return new this(e).ln()}function Ci(e,t){return new this(e).log(t)}function Ki(e){return new this(e).log(2)}function Ni(e){return new this(e).log(10)}function Li(){return an(this,arguments,"lt")}function Ri(){return an(this,arguments,"gt")}function Mi(e,t){return new this(e).mod(t)}function Oi(e,t){return new this(e).mul(t)}function Fi(e,t){return new this(e).pow(t)}function Ei(e){var t,n,i,r,o=0,s=new this(1),a=[];if(e===void 0?e=this.precision:U(e,1,oe),i=Math.ceil(e/k),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(i));o<i;)r=t[o],r>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=r%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(i*=4);o<i;)r=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((t[o+3]&127)<<24),r>=214e7?crypto.randomBytes(4).copy(t,o):(a.push(r%1e7),o+=4);o=i/4}else throw Error(tn);else for(;o<i;)a[o++]=Math.random()*1e7|0;for(i=a[--o],e%=k,i&&e&&(r=v(10,k-e),a[o]=(i/r|0)*r);a[o]===0;o--)a.pop();if(o<0)n=0,a=[0];else{for(n=-1;a[0]===0;n-=k)a.shift();for(i=1,r=a[0];r>=10;r/=10)i++;i<k&&(n-=k-i)}return s.e=n,s.d=a,s}function Vi(e){return g(e=new this(e),e.e+1,this.rounding)}function vi(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function Di(e){return new this(e).sin()}function _i(e){return new this(e).sinh()}function Wi(e){return new this(e).sqrt()}function qi(e,t){return new this(e).sub(t)}function Gi(){var e=0,t=arguments,n=new this(t[e]);for(h=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return h=!0,g(n,this.precision,this.rounding)}function Ui(e){return new this(e).tan()}function Xi(e){return new this(e).tanh()}function zi(e){return g(e=new this(e),e.e+1,1)}p[Symbol.for("nodejs.util.inspect.custom")]=p.toString;p[Symbol.toStringTag]="Decimal";var Ye=p.constructor=ln(yt);qe=new Ye(qe);Ge=new Ye(Ge);import er from"big.js";import Ds from"bn.js";import Hi from"toformat";var Yi=Hi,Ie=Yi;import je from"big.js";import ji from"bn.js";import Qi from"decimal.js-light";import Se from"bn.js";var mn=9007199254740991;function J(e){let t=D("Raydium_parseBigNumberish");if(e instanceof Se)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new Se(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=mn||e<=-mn)&&t.logWithError(`BigNumberish number overflow: ${e}`),new Se(String(e))):typeof e=="bigint"?new Se(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new Se(0))}var Ze=D("module/fraction"),kt=Ie(je),Ce=Ie(Qi),Ji={[0]:Ce.ROUND_DOWN,[1]:Ce.ROUND_HALF_UP,[2]:Ce.ROUND_UP},$i={[0]:je.roundDown,[1]:je.roundHalfUp,[2]:je.roundUp},O=class{constructor(t,n=new ji(1)){this.numerator=J(t),this.denominator=J(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new O(this.denominator,this.numerator)}add(t){let n=t instanceof O?t:new O(J(t));return this.denominator.eq(n.denominator)?new O(this.numerator.add(n.numerator),this.denominator):new O(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof O?t:new O(J(t));return this.denominator.eq(n.denominator)?new O(this.numerator.sub(n.numerator),this.denominator):new O(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof O?t:new O(J(t));return new O(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof O?t:new O(J(t));return new O(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},i=1){Number.isInteger(t)||Ze.logWithError(`${t} is not an integer.`),t<=0&&Ze.logWithError(`${t} is not positive.`),Ce.set({precision:t+1,rounding:Ji[i]});let r=new Ce(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return r.toFormat(r.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},i=1){return Number.isInteger(t)||Ze.logWithError(`${t} is not an integer.`),t<0&&Ze.logWithError(`${t} is negative.`),kt.DP=t,kt.RM=$i[i]||1,new kt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var Ys=D("Raydium_amount"),Zs=Ie(er);import{PublicKey as nr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as dn}from"@solana/spl-token";var ht={chainId:101,address:nr.default.toBase58(),programId:dn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},se={chainId:101,address:"So11111111111111111111111111111111111111112",programId:dn.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as Bt}from"@solana/web3.js";import{PublicKey as E,SystemProgram as pn,SYSVAR_RENT_PUBKEY as ir}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as rr}from"@solana/spl-token";function Tt({pubkey:e,isSigner:t=!1,isWritable:n=!0}){return{pubkey:e,isWritable:n,isSigner:t}}var ia=[Tt({pubkey:rr,isWritable:!1}),Tt({pubkey:pn.programId,isWritable:!1}),Tt({pubkey:ir,isWritable:!1})];function fn({publicKey:e,transformSol:t}){let n=bn(e.toString());if(n instanceof E)return t&&n.equals(Ke)?_e:n;if(t&&n.toString()===Ke.toBase58())return _e;if(typeof n=="string"){if(n===E.default.toBase58())return E.default;try{return new E(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function bn(e){try{return new E(e)}catch{return e}}var or=new E("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Qe=new E("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Je=new E("SysvarRent111111111111111111111111111111111"),ra=new E("SysvarC1ock11111111111111111111111111111111"),we=new E("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),oa=new E("Sysvar1nstructions1111111111111111111111111"),$e=pn.programId,sa=new E("2cpMA1jNS4obgRz8XNg38QuSP83L1AXpUgfxPNcvnAGj"),aa=new E("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),ua=new E("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),ca=new E("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),la=new E("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),ma=new E("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),da=new E("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),pa=new E("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),fa=new E("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),ba=new E("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),ya=new E("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),_e=new E("So11111111111111111111111111111111111111112"),Ke=E.default;var xt=class{constructor({mint:t,decimals:n,symbol:i,name:r,skipMint:o=!1,isToken2022:s=!1}){if(t===Ke.toBase58()||t instanceof Bt&&Ke.equals(t)){this.decimals=se.decimals,this.symbol=se.symbol,this.name=se.name,this.mint=new Bt(se.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=i||t.toString().substring(0,6),this.name=r||t.toString().substring(0,6),this.mint=o?Bt.default:fn({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},ae=xt;ae.WSOL=new xt({...se,mint:se.address});var It=class{constructor({decimals:t,symbol:n="UNKNOWN",name:i="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=i}equals(t){return this===t}},et=It;et.SOL=new It(ht);import sr from"bn.js";var Ca=new O(new sr(100));var Oa=D("Raydium_price");import{PublicKey as Qa}from"@solana/web3.js";import $a from"bn.js";var ar=new te(0),gu=new te(1),Pu=new te(2),wu=new te(3),Au=new te(5),tr=new te(10),ku=new te(100),hu=new te(1e3),Tu=new te(1e4);import{PublicKey as cr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as lr}from"@solana/spl-token";import{ComputeBudgetProgram as Lu,Keypair as Ou,PublicKey as ur,Transaction as Eu,TransactionMessage as vu,VersionedTransaction as Du}from"@solana/web3.js";var Le={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmCreateConfig:"CpmmCreateConfig",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee"};import{TOKEN_PROGRAM_ID as Gu}from"@solana/spl-token";var Uu=D("Raydium_txUtil");function X(e,t){let[n,i]=ur.findProgramAddressSync(e,t);return{publicKey:n,nonce:i}}function Ae(e,t,n){return X([e.toBuffer(),(n!=null?n:lr).toBuffer(),t.toBuffer()],new cr("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}import{PublicKey as x}from"@solana/web3.js";var Qu=new x("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Ju=new x("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),$u=new x("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),ec=new x("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),tc=new x("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),nc=new x("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),ic=new x("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),rc=new x("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),oc=new x("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),mr=new x("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),dr=new x("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),pr=new x("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),sc=new x("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),ac=new x("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),uc=new x("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),cc=new x("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),lc=new x("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),mc=new x("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),yn=new x("SNaPnpKUY656VPwbKmKT8FG4T85g4VWhRH1B4TQUfKs"),gn=new x("9pR79Lqe6wDNjag3v8MeVYUostoXjY2ognTydor6AtEZ"),dc=new x("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),fr=new x("4AscABy58S62owbByjUUkQfZsP7fxYH1rDYb69V58HPM"),br=new x("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),yr=new x("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),pc=new x("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),gr=new x("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),fc=new x("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Pr=new x("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var bc={SERUM_MARKET:x.default,OPENBOOK_MARKET:new x("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:x.default,FarmV3:new x("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new x("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new x("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new x("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new x("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new x("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new x("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new x("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),Router:new x("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:fr,CREATE_CPMM_POOL_AUTH:br,CREATE_CPMM_POOL_FEE_ACC:yr,FEE_DESTINATION_ID:new x("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:gr,LCOK_CPMM_AUTH:Pr};import Pn from"bn.js";function Kt(e,t){let{div:n,mod:i}=e.divmod(t);return i.gt(new Pn(0))?n.add(new Pn(1)):n}import{PublicKey as wr,AddressLookupTableAccount as wn}from"@solana/web3.js";var Ar={"2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17":new wn({key:new wr("2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17"),state:wn.deserialize(Buffer.from("AQAAAP//////////d49+DAAAAAAAAQZMWvw7GUNJdaccNBVnb57OKakxL2BHLYvhRwVILRsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAABt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKkG3fbh7nWP3hhCXbzkbM3athr8TYO5DSf+vfko2KGL/AVKU1D4XciC1hSlVnJ4iilt3x6rq9CmBniISTL07vagBqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAAAGp9UXGMd0yShWY5hpHV62i164o5tLbVxzVVshAAAAAIyXJY9OJInxuz0QKRSODYMLWhOZ2v8QhASOe9jb6fhZC3BlsePRfEU4nVJ/awTDzVi4bHMaoP21SbbRvAP4KUbIScv+6Yw2LHF/6K0ZjUPibbSWXCirYPGuuVl7zT789IUPLW4CpHr4JNCatp3ELXDLKMv6JJ+37le50lbBJ2LvDQdRqCgtphMF/imcN7mY5YRx2xE1A3MQ+L4QRaYK9u4GRfZP3LsAd00a+IkCpA22UNQMKdq5BFbJuwuOLqc8zxCTDlqxBG8J0HcxtfogQHDK06ukzfaXiNDKAob1MqBHS9lJxDYCwz8gd5DtFqNSTKG5l1zxIaKpDP/sffi2is1H9aKveyXSu5StXElYRl9SD5As0DHE4N0GLnf84/siiKXVyp4Ez121kLcUui/jLLFZEz/BwZK3Ilf9B9OcsEAeDMKAy2vjGSxQODgBz0QwGA+eP4ZjIjrIAQaXENv31QfLlOdXSRCkaybRniDHF4C8YcwhcvsqrOVuTP4B2Na+9wLdtrB31uz2rtlFI5kahdsnp/d1SrASDInYCtTYtdoke4kX+hoKWcEWM4Tle8pTUkUVv4BxS6fje/EzKBE4Qu9N9LMnrw/JNO0hqMVB4rk/2ou4AB1loQ7FZoPwut2o4KZB+0p9xnbrQKw038qjpHar+PyDwvxBRcu5hpHw3dguezeWv+IwvgW5icu8EGkhGa9AkFPPJT7VMSFb8xowveU=","base64"))})};import{PublicKey as Mc,sendAndConfirmTransaction as Oc,Transaction as Ec,TransactionMessage as vc,VersionedTransaction as Dc}from"@solana/web3.js";import Wc from"axios";var hr=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Tr=Buffer.from("amm_config","utf8"),Br=Buffer.from("pool","utf8"),xr=Buffer.from("pool_lp_mint","utf8"),Ir=Buffer.from("pool_vault","utf8"),Sr=Buffer.from("observation","utf8"),Cr=Buffer.from("user","utf8");function nt(e,t,n){return X([Cr,e.toBuffer(),t.toBuffer()],n)}function Kr(e){return X([hr],e)}function dl(e,t){return X([Tr,Rr(t)],e)}function Nt(e,t,n,i){return X([Br,t.toBuffer(),n.toBuffer(),i.toBuffer()],e)}function Nr(e,t){return X([xr,t.toBuffer()],e)}function kn(e,t,n){return X([Ir,t.toBuffer(),n.toBuffer()],e)}function Lr(e,t){return X([Sr,t.toBuffer()],e)}function Rr(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e,!1),new Uint8Array(t)}function pl({poolId:e,programId:t,configId:n,mintA:i,mintB:r}){let o=Kr(t).publicKey,s=e||Nt(t,n,i,r).publicKey,a=Nr(t,s).publicKey,c=kn(t,s,i).publicKey,u=kn(t,s,r).publicKey,l=Lr(t,s).publicKey;return{poolId:s,configId:n,authority:o,lpMint:a,vaultA:c,vaultB:u,observationId:l}}var Mr=Buffer.from("locked_liquidity","utf8");function hn(e,t){return X([Mr,t.toBuffer()],e)}import{PublicKey as mp}from"@solana/web3.js";import pp from"bn.js";import{AccountLayout as gp,TOKEN_PROGRAM_ID as Pp}from"