snapper-sdk
Version:
An SDK for building applications on top of Snapper.
1 lines • 58.7 kB
JavaScript
import G from"bn.js";import{PublicKey as dr}from"@solana/web3.js";import{get as mt,set as cr}from"lodash";var Ge=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}},pt={},lr={};function O(e){let t=mt(pt,e);if(!t){let r=mt(lr,e);t=new Ge({name:e,logLevel:r}),cr(pt,e,t)}return t}import{MINT_SIZE as ui,TOKEN_PROGRAM_ID as ci,getTransferFeeConfig as li,unpackMint as di}from"@solana/spl-token";var He=O("Raydium_accountInfo_util");async function gt(e,t,r){let{batchRequest:n,commitment:i="confirmed",chunkCount:o=100}={batchRequest:!1,...r},s=je(t,o),a=new Array(s.length).fill([]);if(n){let c=s.map(d=>{let f=e._buildArgs([d.map(p=>p.toBase58())],i,"base64");return{methodName:"getMultipleAccounts",args:f}}),u=je(c,10);a=(await(await Promise.all(u.map(async d=>await e._rpcBatchRequest(d)))).flat()).map(d=>(d.error&&He.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${d.error.message}`),d.result.value.map(f=>{if(f){let{data:p,executable:T,lamports:y,owner:B,rentEpoch:S}=f;return p.length!==2&&p[1]!=="base64"&&He.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(p[0],"base64"),executable:T,lamports:y,owner:new dr(B),rentEpoch:S}}return null})))}else try{a=await Promise.all(s.map(c=>e.getMultipleAccountsInfo(c,i)))}catch(c){c instanceof Error&&He.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${c.message}`)}return a.flat()}async function ht(e,t,r){let n=await gt(e,t.map(i=>i.pubkey),r);return t.map((i,o)=>({...i,accountInfo:n[o]}))}import $ from"bn.js";var ue=9e15,ie=1e9,Ye="0123456789abcdef",Ae="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Be="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Ze={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ue,maxE:ue,crypto:!1},Tt,X,b=!0,Re="[DecimalError] ",ne=Re+"Invalid argument: ",xt=Re+"Precision limit exceeded",Pt=Re+"crypto unavailable",St="[object Decimal]",W=Math.floor,D=Math.pow,fr=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,mr=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,pr=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Lt=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,z=1e7,w=7,gr=9007199254740991,hr=Ae.length-1,Xe=Be.length-1,m={toStringTag:St};m.absoluteValue=m.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),h(e)};m.ceil=function(){return h(new this.constructor(this),this.e+1,2)};m.clampedTo=m.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(ne+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};m.comparedTo=m.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};m.cosine=m.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())+w,n.rounding=1,r=wr(n,Nt(n,r)),n.precision=e,n.rounding=t,h(X==2||X==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};m.cubeRoot=m.cbrt=function(){var e,t,r,n,i,o,s,a,c,u,l=this,d=l.constructor;if(!l.isFinite()||l.isZero())return new d(l);for(b=!1,o=l.s*D(l.s*l,1/3),!o||Math.abs(o)==1/0?(r=K(l.d),e=l.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=D(r,1/3),e=W((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new d(r),n.s=l.s):n=new d(o.toString()),s=(e=d.precision)+3;;)if(a=n,c=a.times(a).times(a),u=c.plus(l),n=N(u.plus(l).times(a),u.plus(c),s+2,1),K(a.d).slice(0,s)===(r=K(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(h(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")&&(h(n,e+1,1),t=!n.times(n).times(n).eq(l));break}return b=!0,h(n,e,d.rounding,t)};m.decimalPlaces=m.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-W(this.e/w))*w,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};m.dividedBy=m.div=function(e){return N(this,new this.constructor(e))};m.dividedToIntegerBy=m.divToInt=function(e){var t=this,r=t.constructor;return h(N(t,new r(e),0,1,1),r.precision,r.rounding)};m.equals=m.eq=function(e){return this.cmp(e)===0};m.floor=function(){return h(new this.constructor(this),this.e+1,3)};m.greaterThan=m.gt=function(e){return this.cmp(e)>0};m.greaterThanOrEqualTo=m.gte=function(e){var t=this.cmp(e);return t==1||t===0};m.hyperbolicCosine=m.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/Ce(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=ce(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 h(o,s.precision=r,s.rounding=n,!0)};m.hyperbolicSine=m.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=ce(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/Ce(5,e)),i=ce(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,h(i,t,r,!0)};m.hyperbolicTangent=m.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,N(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};m.inverseCosine=m.acos=function(){var e,t=this,r=t.constructor,n=t.abs().cmp(1),i=r.precision,o=r.rounding;return n!==-1?n===0?t.isNeg()?j(r,i,o):new r(0):new r(NaN):t.isZero()?j(r,i+4,o).times(.5):(r.precision=i+6,r.rounding=1,t=t.asin(),e=j(r,i+4,o).times(.5),r.precision=i,r.rounding=o,e.minus(t))};m.inverseHyperbolicCosine=m.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,b=!1,r=r.times(r).minus(1).sqrt().plus(r),b=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};m.inverseHyperbolicSine=m.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,b=!1,r=r.times(r).plus(1).sqrt().plus(r),b=!0,n.precision=e,n.rounding=t,r.ln())};m.inverseHyperbolicTangent=m.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?h(new o(i),e,t,!0):(o.precision=r=n-i.e,i=N(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)};m.inverseSine=m.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=j(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)))};m.inverseTangent=m.atan=function(){var e,t,r,n,i,o,s,a,c,u=this,l=u.constructor,d=l.precision,f=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&d+4<=Xe)return s=j(l,d+4,f).times(.25),s.s=u.s,s}else{if(!u.s)return new l(NaN);if(d+4<=Xe)return s=j(l,d+4,f).times(.5),s.s=u.s,s}for(l.precision=a=d+10,l.rounding=1,r=Math.min(28,a/w+2|0),e=r;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(b=!1,t=Math.ceil(a/w),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)),b=!0,h(s,l.precision=d,l.rounding=f,!0)};m.isFinite=function(){return!!this.d};m.isInteger=m.isInt=function(){return!!this.d&&W(this.e/w)>this.d.length-2};m.isNaN=function(){return!this.s};m.isNegative=m.isNeg=function(){return this.s<0};m.isPositive=m.isPos=function(){return this.s>0};m.isZero=function(){return!!this.d&&this.d[0]===0};m.lessThan=m.lt=function(e){return this.cmp(e)<0};m.lessThanOrEqualTo=m.lte=function(e){return this.cmp(e)<1};m.logarithm=m.log=function(e){var t,r,n,i,o,s,a,c,u=this,l=u.constructor,d=l.precision,f=l.rounding,p=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(b=!1,a=d+p,s=re(u,a),n=t?ke(l,a+10):re(e,a),c=N(s,n,a,1),me(c.d,i=d,f))do if(a+=10,s=re(u,a),n=t?ke(l,a+10):re(e,a),c=N(s,n,a,1),!o){+K(c.d).slice(i+1,i+15)+1==1e14&&(c=h(c,d+1,0));break}while(me(c.d,i+=10,f));return b=!0,h(c,d,f)};m.minus=m.sub=function(e){var t,r,n,i,o,s,a,c,u,l,d,f,p=this,T=p.constructor;if(e=new T(e),!p.d||!e.d)return!p.s||!e.s?e=new T(NaN):p.d?e.s=-e.s:e=new T(e.d||p.s!==e.s?p:NaN),e;if(p.s!=e.s)return e.s=-e.s,p.plus(e);if(u=p.d,f=e.d,a=T.precision,c=T.rounding,!u[0]||!f[0]){if(f[0])e.s=-e.s;else if(u[0])e=new T(p);else return new T(c===3?-0:0);return b?h(e,a,c):e}if(r=W(e.e/w),l=W(p.e/w),u=u.slice(),o=l-r,o){for(d=o<0,d?(t=u,o=-o,s=f.length):(t=f,r=l,s=u.length),n=Math.max(Math.ceil(a/w),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=u.length,s=f.length,d=n<s,d&&(s=n),n=0;n<s;n++)if(u[n]!=f[n]){d=u[n]<f[n];break}o=0}for(d&&(t=u,u=f,f=t,e.s=-e.s),s=u.length,n=f.length-s;n>0;--n)u[s++]=0;for(n=f.length;n>o;){if(u[--n]<f[n]){for(i=n;i&&u[--i]===0;)u[i]=z-1;--u[i],u[n]+=z}u[n]-=f[n]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--r;return u[0]?(e.d=u,e.e=Ne(u,r),b?h(e,a,c):e):new T(c===3?-0:0)};m.modulo=m.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]?h(new n(r),n.precision,n.rounding):(b=!1,n.modulo==9?(t=N(r,e.abs(),0,3,1),t.s*=e.s):t=N(r,e,0,n.modulo,1),t=t.times(e),b=!0,r.minus(t))};m.naturalExponential=m.exp=function(){return Qe(this)};m.naturalLogarithm=m.ln=function(){return re(this)};m.negated=m.neg=function(){var e=new this.constructor(this);return e.s=-e.s,h(e)};m.plus=m.add=function(e){var t,r,n,i,o,s,a,c,u,l,d=this,f=d.constructor;if(e=new f(e),!d.d||!e.d)return!d.s||!e.s?e=new f(NaN):d.d||(e=new f(e.d||d.s===e.s?d:NaN)),e;if(d.s!=e.s)return e.s=-e.s,d.minus(e);if(u=d.d,l=e.d,a=f.precision,c=f.rounding,!u[0]||!l[0])return l[0]||(e=new f(d)),b?h(e,a,c):e;if(o=W(d.e/w),n=W(e.e/w),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/w),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)/z|0,u[i]%=z;for(t&&(u.unshift(t),++n),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=Ne(u,n),b?h(e,a,c):e};m.precision=m.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(ne+e);return r.d?(t=At(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};m.round=function(){var e=this,t=e.constructor;return h(new t(e),e.e+1,t.rounding)};m.sine=m.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())+w,n.rounding=1,r=br(n,Nt(n,r)),n.precision=e,n.rounding=t,h(X>2?r.neg():r,e,t,!0)):new n(NaN)};m.squareRoot=m.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(b=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=K(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=W((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(N(s,o,r+2,1)).times(.5),K(o.d).slice(0,r)===(t=K(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(h(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")&&(h(n,c+1,1),e=!n.times(n).eq(s));break}return b=!0,h(n,c,l.rounding,e)};m.tangent=m.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=N(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,h(X==2||X==4?r.neg():r,e,t,!0)):new n(NaN)};m.times=m.mul=function(e){var t,r,n,i,o,s,a,c,u,l=this,d=l.constructor,f=l.d,p=(e=new d(e)).d;if(e.s*=l.s,!f||!f[0]||!p||!p[0])return new d(!e.s||f&&!f[0]&&!p||p&&!p[0]&&!f?NaN:!f||!p?e.s/0:e.s*0);for(r=W(l.e/w)+W(e.e/w),c=f.length,u=p.length,c<u&&(o=f,f=p,p=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]+p[n]*f[i-n-1]+t,o[i--]=a%z|0,t=a/z|0;o[i]=(o[i]+t)%z|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=Ne(o,r),b?h(e,d.precision,d.rounding):e};m.toBinary=function(e,t){return $e(this,2,e,t)};m.toDecimalPlaces=m.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(q(e,0,ie),t===void 0?t=n.rounding:q(t,0,8),h(r,e+r.e+1,t))};m.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=Y(n,!0):(q(e,0,ie),t===void 0?t=i.rounding:q(t,0,8),n=h(new i(n),e+1,t),r=Y(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};m.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=Y(i):(q(e,0,ie),t===void 0?t=o.rounding:q(t,0,8),n=h(new o(i),e+i.e+1,t),r=Y(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};m.toFraction=function(e){var t,r,n,i,o,s,a,c,u,l,d,f,p=this,T=p.d,y=p.constructor;if(!T)return new y(p);if(u=r=new y(1),n=c=new y(0),t=new y(n),o=t.e=At(T)-p.e-1,s=o%w,t.d[0]=D(10,s<0?w+s:s),e==null)e=o>0?t:u;else{if(a=new y(e),!a.isInt()||a.lt(u))throw Error(ne+a);e=a.gt(t)?o>0?t:u:a}for(b=!1,a=new y(K(T)),l=y.precision,y.precision=o=T.length*w*2;d=N(a,t,0,1,1),i=r.plus(d.times(n)),i.cmp(e)!=1;)r=n,n=i,i=u,u=c.plus(d.times(i)),c=i,i=t,t=a.minus(d.times(i)),a=i;return i=N(e.minus(r),n,0,1,1),c=c.plus(i.times(u)),r=r.plus(i.times(n)),c.s=u.s=p.s,f=N(u,n,o,1).minus(p).abs().cmp(N(c,r,o,1).minus(p).abs())<1?[u,n]:[c,r],y.precision=l,b=!0,f};m.toHexadecimal=m.toHex=function(e,t){return $e(this,16,e,t)};m.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:q(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]?(b=!1,r=N(r,e,0,t,1).times(e),b=!0,h(r)):(e.s=r.s,r=e),r};m.toNumber=function(){return+this};m.toOctal=function(e,t){return $e(this,8,e,t)};m.toPower=m.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(D(+a,u));if(a=new c(a),a.eq(1))return a;if(n=c.precision,o=c.rounding,e.eq(1))return h(a,n,o);if(t=W(e.e/w),t>=e.d.length-1&&(r=u<0?-u:u)<=gr)return i=Bt(c,a,r,n),e.s<0?new c(1).div(i):h(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=D(+a,u),t=r==0||!isFinite(r)?W(u*(Math.log("0."+K(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):(b=!1,c.rounding=a.s=1,r=Math.min(12,(t+"").length),i=Qe(e.times(re(a,n+r)),n),i.d&&(i=h(i,n+5,1),me(i.d,n,o)&&(t=n+10,i=h(Qe(e.times(re(a,t+r)),t),t+5,1),+K(i.d).slice(n+1,n+15)+1==1e14&&(i=h(i,n+1,0)))),i.s=s,b=!0,c.rounding=o,h(i,n,o))};m.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=Y(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(q(e,1,ie),t===void 0?t=i.rounding:q(t,0,8),n=h(new i(n),e,t),r=Y(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};m.toSignificantDigits=m.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(q(e,1,ie),t===void 0?t=n.rounding:q(t,0,8)),h(new n(r),e,t)};m.toString=function(){var e=this,t=e.constructor,r=Y(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};m.truncated=m.trunc=function(){return h(new this.constructor(this),this.e+1,1)};m.valueOf=m.toJSON=function(){var e=this,t=e.constructor,r=Y(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function K(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=w-n.length,r&&(o+=te(r)),o+=n;s=e[t],n=s+"",r=w-n.length,r&&(o+=te(r))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function q(e,t,r){if(e!==~~e||e<t||e>r)throw Error(ne+e)}function me(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=w,i=0):(i=Math.ceil((t+1)/w),t%=w),o=D(10,w-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)==D(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)==D(10,t-3)-1,s}function Le(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]+=Ye.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 wr(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/Ce(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=ce(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 N=function(){function e(n,i,o){var s,a=0,c=n.length;for(n=n.slice();c--;)s=n[c]*i+a,n[c]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,c;if(o!=s)c=o>s?1:-1;else for(a=c=0;a<o;a++)if(n[a]!=i[a]){c=n[a]>i[a]?1:-1;break}return c}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]<i[o]?1:0,n[o]=a*s+n[o]-i[o];for(;!n[0]&&n.length>1;)n.shift()}return function(n,i,o,s,a,c){var u,l,d,f,p,T,y,B,S,V,R,v,Te,Z,Ue,xe,fe,We,H,Pe,Se=n.constructor,qe=n.s==i.s?1:-1,U=n.d,C=i.d;if(!U||!U[0]||!C||!C[0])return new Se(!n.s||!i.s||(U?C&&U[0]==C[0]:!C)?NaN:U&&U[0]==0||!C?qe*0:qe/0);for(c?(p=1,l=n.e-i.e):(c=z,p=w,l=W(n.e/p)-W(i.e/p)),H=C.length,fe=U.length,S=new Se(qe),V=S.d=[],d=0;C[d]==(U[d]||0);d++);if(C[d]>(U[d]||0)&&l--,o==null?(Z=o=Se.precision,s=Se.rounding):a?Z=o+(n.e-i.e)+1:Z=o,Z<0)V.push(1),T=!0;else{if(Z=Z/p+2|0,d=0,H==1){for(f=0,C=C[0],Z++;(d<fe||f)&&Z--;d++)Ue=f*c+(U[d]||0),V[d]=Ue/C|0,f=Ue%C|0;T=f||d<fe}else{for(f=c/(C[0]+1)|0,f>1&&(C=e(C,f,c),U=e(U,f,c),H=C.length,fe=U.length),xe=H,R=U.slice(0,H),v=R.length;v<H;)R[v++]=0;Pe=C.slice(),Pe.unshift(0),We=C[0],C[1]>=c/2&&++We;do f=0,u=t(C,R,H,v),u<0?(Te=R[0],H!=v&&(Te=Te*c+(R[1]||0)),f=Te/We|0,f>1?(f>=c&&(f=c-1),y=e(C,f,c),B=y.length,v=R.length,u=t(y,R,B,v),u==1&&(f--,r(y,H<B?Pe:C,B,c))):(f==0&&(u=f=1),y=C.slice()),B=y.length,B<v&&y.unshift(0),r(R,y,v,c),u==-1&&(v=R.length,u=t(C,R,H,v),u<1&&(f++,r(R,H<v?Pe:C,v,c))),v=R.length):u===0&&(f++,R=[0]),V[d++]=f,u&&R[0]?R[v++]=U[xe]||0:(R=[U[xe]],v=1);while((xe++<fe||R[0]!==void 0)&&Z--);T=R[0]!==void 0}V[0]||V.shift()}if(p==1)S.e=l,Tt=T;else{for(d=1,f=V[0];f>=10;f/=10)d++;S.e=d+l*p-1,h(S,a?o+S.e+1:o,s,T)}return S}}();function h(e,t,r,n){var i,o,s,a,c,u,l,d,f,p=e.constructor;e:if(t!=null){if(d=e.d,!d)return e;for(i=1,a=d[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=w,s=t,l=d[f=0],c=l/D(10,i-s-1)%10|0;else if(f=Math.ceil((o+1)/w),a=d.length,f>=a)if(n){for(;a++<=f;)d.push(0);l=c=0,i=1,o%=w,s=o-w+1}else break e;else{for(l=a=d[f],i=1;a>=10;a/=10)i++;o%=w,s=o-w+i,c=s<0?0:l/D(10,i-s-1)%10|0}if(n=n||t<0||d[f+1]!==void 0||(s<0?l:l%D(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/D(10,i-s):0:d[f-1])%10&1||r==(e.s<0?8:7)),t<1||!d[0])return d.length=0,u?(t-=e.e+1,d[0]=D(10,(w-t%w)%w),e.e=-t||0):d[0]=e.e=0,e;if(o==0?(d.length=f,a=1,f--):(d.length=f+1,a=D(10,w-o),d[f]=s>0?(l/D(10,i-s)%D(10,s)|0)*a:0),u)for(;;)if(f==0){for(o=1,s=d[0];s>=10;s/=10)o++;for(s=d[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,d[0]==z&&(d[0]=1));break}else{if(d[f]+=a,d[f]!=z)break;d[f--]=0,a=1}for(o=d.length;d[--o]===0;)d.pop()}return b&&(e.e>p.maxE?(e.d=null,e.e=NaN):e.e<p.minE&&(e.e=0,e.d=[0])),e}function Y(e,t,r){if(!e.isFinite())return Rt(e);var n,i=e.e,o=K(e.d),s=o.length;return t?(r&&(n=r-s)>0?o=o.charAt(0)+"."+o.slice(1)+te(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+te(-i-1)+o,r&&(n=r-s)>0&&(o+=te(n))):i>=s?(o+=te(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+te(n))):((n=i+1)<s&&(o=o.slice(0,n)+"."+o.slice(n)),r&&(n=r-s)>0&&(i+1===s&&(o+="."),o+=te(n))),o}function Ne(e,t){var r=e[0];for(t*=w;r>=10;r/=10)t++;return t}function ke(e,t,r){if(t>hr)throw b=!0,r&&(e.precision=r),Error(xt);return h(new e(Ae),t,1,!0)}function j(e,t,r){if(t>Xe)throw Error(xt);return h(new e(Be),t,r,!0)}function At(e){var t=e.length-1,r=t*w+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 te(e){for(var t="";e--;)t+="0";return t}function Bt(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/w+4);for(b=!1;;){if(r%2&&(o=o.times(t),yt(o.d,s)&&(i=!0)),r=W(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),yt(t.d,s)}return b=!0,o}function wt(e){return e.d[e.d.length-1]&1}function kt(e,t,r){for(var n,i=new e(t[0]),o=0;++o<t.length;)if(n=new e(t[o]),n.s)i[r](n)&&(i=n);else{i=n;break}return i}function Qe(e,t){var r,n,i,o,s,a,c,u=0,l=0,d=0,f=e.constructor,p=f.rounding,T=f.precision;if(!e.d||!e.d[0]||e.e>17)return new f(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(b=!1,c=T):c=t,a=new f(.03125);e.e>-2;)e=e.times(a),d+=5;for(n=Math.log(D(2,d))/Math.LN10*2+5|0,c+=n,r=o=s=new f(1),f.precision=c;;){if(o=h(o.times(e),c,1),r=r.times(++l),a=s.plus(N(o,r,c,1)),K(a.d).slice(0,c)===K(s.d).slice(0,c)){for(i=d;i--;)s=h(s.times(s),c,1);if(t==null)if(u<3&&me(s.d,c-n,p,u))f.precision=c+=10,r=o=a=new f(1),l=0,u++;else return h(s,f.precision=T,p,b=!0);else return f.precision=T,s}s=a}}function re(e,t){var r,n,i,o,s,a,c,u,l,d,f,p=1,T=10,y=e,B=y.d,S=y.constructor,V=S.rounding,R=S.precision;if(y.s<0||!B||!B[0]||!y.e&&B[0]==1&&B.length==1)return new S(B&&!B[0]?-1/0:y.s!=1?NaN:B?0:y);if(t==null?(b=!1,l=R):l=t,S.precision=l+=T,r=K(B),n=r.charAt(0),Math.abs(o=y.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)y=y.times(e),r=K(y.d),n=r.charAt(0),p++;o=y.e,n>1?(y=new S("0."+r),o++):y=new S(n+"."+r.slice(1))}else return u=ke(S,l+2,R).times(o+""),y=re(new S(n+"."+r.slice(1)),l-T).plus(u),S.precision=R,t==null?h(y,R,V,b=!0):y;for(d=y,c=s=y=N(y.minus(1),y.plus(1),l,1),f=h(y.times(y),l,1),i=3;;){if(s=h(s.times(f),l,1),u=c.plus(N(s,new S(i),l,1)),K(u.d).slice(0,l)===K(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(ke(S,l+2,R).times(o+""))),c=N(c,new S(p),l,1),t==null)if(me(c.d,l-T,V,a))S.precision=l+=T,u=s=y=N(d.minus(1),d.plus(1),l,1),f=h(y.times(y),l,1),i=a=1;else return h(c,S.precision=R,V,b=!0);else return S.precision=R,c;c=u,i+=2}}function Rt(e){return String(e.s*e.s/0)}function Je(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)%w,r<0&&(n+=w),n<i){for(n&&e.d.push(+t.slice(0,n)),i-=w;n<i;)e.d.push(+t.slice(n,n+=w));t=t.slice(n),n=w-t.length}else n-=i;for(;n--;)t+="0";e.d.push(+t),b&&(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 yr(e,t){var r,n,i,o,s,a,c,u,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),Lt.test(t))return Je(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(mr.test(t))r=16,t=t.toLowerCase();else if(fr.test(t))r=2;else if(pr.test(t))r=8;else throw Error(ne+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=Bt(n,new n(r),o,o*2)),u=Le(t,r,z),l=u.length-1,o=l;u[o]===0;--o)u.pop();return o<0?new n(e.s*0):(e.e=Ne(u,l),e.d=u,b=!1,s&&(e=N(e,i,a*4)),c&&(e=e.times(Math.abs(c)<54?D(2,c):Ie.pow(2,c))),b=!0,e)}function br(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:ce(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/Ce(5,r)),t=ce(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 ce(e,t,r,n,i){var o,s,a,c,u=1,l=e.precision,d=Math.ceil(l/w);for(b=!1,c=r.times(r),a=new e(n);;){if(s=N(a.times(c),new e(t++*t++),l,1),a=i?n.plus(s):n.minus(s),n=N(s.times(c),new e(t++*t++),l,1),s=a.plus(n),s.d[d]!==void 0){for(o=d;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,u++}return b=!0,s.d.length=d+1,s}function Ce(e,t){for(var r=e;--t;)r*=e;return r}function Nt(e,t){var r,n=t.s<0,i=j(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return X=n?4:1,t;if(r=t.divToInt(i),r.isZero())X=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return X=wt(r)?n?2:3:n?4:1,t;X=wt(r)?n?1:4:n?3:2}return t.minus(i).abs()}function $e(e,t,r,n){var i,o,s,a,c,u,l,d,f,p=e.constructor,T=r!==void 0;if(T?(q(r,1,ie),n===void 0?n=p.rounding:q(n,0,8)):(r=p.precision,n=p.rounding),!e.isFinite())l=Rt(e);else{for(l=Y(e),s=l.indexOf("."),T?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(l=l.replace(".",""),f=new p(1),f.e=l.length-s,f.d=Le(Y(f),10,i),f.e=f.d.length),d=Le(l,10,i),o=c=d.length;d[--c]==0;)d.pop();if(!d[0])l=T?"0p+0":"0";else{if(s<0?o--:(e=new p(e),e.d=d,e.e=o,e=N(e,f,r,n,0,i),d=e.d,o=e.e,u=Tt),s=d[r],a=i/2,u=u||d[r+1]!==void 0,u=n<4?(s!==void 0||u)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||u||n===6&&d[r-1]&1||n===(e.s<0?8:7)),d.length=r,u)for(;++d[--r]>i-1;)d[r]=0,r||(++o,d.unshift(1));for(c=d.length;!d[c-1];--c);for(s=0,l="";s<c;s++)l+=Ye.charAt(d[s]);if(T){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)l+="0";for(d=Le(l,i,t),c=d.length;!d[c-1];--c);for(s=1,l="1.";s<c;s++)l+=Ye.charAt(d[s])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>c)for(o-=c;o--;)l+="0";else o<c&&(l=l.slice(0,o)+"."+l.slice(o))}l=(t==16?"0x":t==2?"0b":t==8?"0o":"")+l}return e.s<0?"-"+l:l}function yt(e,t){if(e.length>t)return e.length=t,!0}function Tr(e){return new this(e).abs()}function xr(e){return new this(e).acos()}function Pr(e){return new this(e).acosh()}function Sr(e,t){return new this(e).plus(t)}function Lr(e){return new this(e).asin()}function Ar(e){return new this(e).asinh()}function Br(e){return new this(e).atan()}function kr(e){return new this(e).atanh()}function Rr(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=j(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?j(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=j(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan(N(e,t,o,1)),t=j(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(N(e,t,o,1)),r}function Nr(e){return new this(e).cbrt()}function Cr(e){return h(e=new this(e),e.e+1,2)}function Ir(e,t,r){return new this(e).clamp(t,r)}function _r(e){if(!e||typeof e!="object")throw Error(Re+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,ie,"rounding",0,8,"toExpNeg",-ue,0,"toExpPos",0,ue,"maxE",0,ue,"minE",-ue,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(r=o[t],i&&(this[r]=Ze[r]),(n=e[r])!==void 0)if(W(n)===n&&n>=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(ne+r+": "+n);if(r="crypto",i&&(this[r]=Ze[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(Pt);else this[r]=!1;else throw Error(ne+r+": "+n);return this}function Er(e){return new this(e).cos()}function Mr(e){return new this(e).cosh()}function Ct(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,bt(o)){u.s=o.s,b?!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++;b?s>i.maxE?(u.e=NaN,u.d=null):s<i.minE?(u.e=0,u.d=[0]):(u.e=s,u.d=[o]):(u.e=s,u.d=[o]);return}else if(o*0!==0){o||(u.s=NaN),u.e=NaN,u.d=null;return}return Je(u,o.toString())}else if(c!=="string")throw Error(ne+o);return(a=o.charCodeAt(0))===45?(o=o.slice(1),u.s=-1):(a===43&&(o=o.slice(1)),u.s=1),Lt.test(o)?Je(u,o):yr(u,o)}if(i.prototype=m,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=_r,i.clone=Ct,i.isDecimal=bt,i.abs=Tr,i.acos=xr,i.acosh=Pr,i.add=Sr,i.asin=Lr,i.asinh=Ar,i.atan=Br,i.atanh=kr,i.atan2=Rr,i.cbrt=Nr,i.ceil=Cr,i.clamp=Ir,i.cos=Er,i.cosh=Mr,i.div=Fr,i.exp=Vr,i.floor=Dr,i.hypot=vr,i.ln=Or,i.log=Kr,i.log10=Wr,i.log2=Ur,i.max=qr,i.min=Gr,i.mod=Hr,i.mul=jr,i.pow=zr,i.random=Yr,i.round=Zr,i.sign=Xr,i.sin=Qr,i.sinh=Jr,i.sqrt=$r,i.sub=en,i.sum=tn,i.tan=rn,i.tanh=nn,i.trunc=on,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 Fr(e,t){return new this(e).div(t)}function Vr(e){return new this(e).exp()}function Dr(e){return h(e=new this(e),e.e+1,3)}function vr(){var e,t,r=new this(0);for(b=!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 b=!0,new this(1/0);r=t}return b=!0,r.sqrt()}function bt(e){return e instanceof Ie||e&&e.toStringTag===St||!1}function Or(e){return new this(e).ln()}function Kr(e,t){return new this(e).log(t)}function Ur(e){return new this(e).log(2)}function Wr(e){return new this(e).log(10)}function qr(){return kt(this,arguments,"lt")}function Gr(){return kt(this,arguments,"gt")}function Hr(e,t){return new this(e).mod(t)}function jr(e,t){return new this(e).mul(t)}function zr(e,t){return new this(e).pow(t)}function Yr(e){var t,r,n,i,o=0,s=new this(1),a=[];if(e===void 0?e=this.precision:q(e,1,ie),n=Math.ceil(e/w),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(Pt);else for(;o<n;)a[o++]=Math.random()*1e7|0;for(n=a[--o],e%=w,n&&e&&(i=D(10,w-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-=w)a.shift();for(n=1,i=a[0];i>=10;i/=10)n++;n<w&&(r-=w-n)}return s.e=r,s.d=a,s}function Zr(e){return h(e=new this(e),e.e+1,this.rounding)}function Xr(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function Qr(e){return new this(e).sin()}function Jr(e){return new this(e).sinh()}function $r(e){return new this(e).sqrt()}function en(e,t){return new this(e).sub(t)}function tn(){var e=0,t=arguments,r=new this(t[e]);for(b=!1;r.s&&++e<t.length;)r=r.plus(t[e]);return b=!0,h(r,this.precision,this.rounding)}function rn(e){return new this(e).tan()}function nn(e){return new this(e).tanh()}function on(e){return h(e=new this(e),e.e+1,1)}m[Symbol.for("nodejs.util.inspect.custom")]=m.toString;m[Symbol.toStringTag]="Decimal";var Ie=m.constructor=Ct(Ze);Ae=new Ie(Ae);Be=new Ie(Be);import mn from"big.js";import Me from"bn.js";import sn from"toformat";var an=sn,pe=an;import Ee from"big.js";import cn from"bn.js";import ln from"decimal.js-light";import ge from"bn.js";var It=9007199254740991;function M(e){let t=O("Raydium_parseBigNumberish");if(e instanceof ge)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new ge(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=It||e<=-It)&&t.logWithError(`BigNumberish number overflow: ${e}`),new ge(String(e))):typeof e=="bigint"?new ge(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new ge(0))}var _e=O("module/fraction"),et=pe(Ee),he=pe(ln),dn={[0]:he.ROUND_DOWN,[1]:he.ROUND_HALF_UP,[2]:he.ROUND_UP},fn={[0]:Ee.roundDown,[1]:Ee.roundHalfUp,[2]:Ee.roundUp},k=class{constructor(t,r=new cn(1)){this.numerator=M(t),this.denominator=M(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(M(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(M(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(M(t));return new k(this.numerator.mul(r.numerator),this.denominator.mul(r.denominator))}div(t){let r=t instanceof k?t:new k(M(t));return new k(this.numerator.mul(r.denominator),this.denominator.mul(r.numerator))}toSignificant(t,r={groupSeparator:""},n=1){Number.isInteger(t)||_e.logWithError(`${t} is not an integer.`),t<=0&&_e.logWithError(`${t} is not positive.`),he.set({precision:t+1,rounding:dn[n]});let i=new he(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return i.toFormat(i.decimalPlaces(),r)}toFixed(t,r={groupSeparator:""},n=1){return Number.isInteger(t)||_e.logWithError(`${t} is not an integer.`),t<0&&_e.logWithError(`${t} is negative.`),et.DP=t,et.RM=fn[n]||1,new et(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,r)}isZero(){return this.numerator.isZero()}};var pn=O("Raydium_amount"),_t=pe(mn);function gn(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")):pn.logWithError(`invalid number string, num: ${e}`)}else r=e;return[r,n.slice(0,t)||n]}var Q=class extends k{constructor(r,n,i=!0,o){let s=new Me(0),a=tt.pow(new Me(r.decimals));if(i)s=M(n);else{let c=new Me(0),u=new Me(0);if(typeof n=="string"||typeof n=="number"||typeof n=="bigint"){let[l,d]=gn(n.toString(),r.decimals);c=M(l),u=M(d)}c=c.mul(a),s=c.add(u)}super(s,a);this.logger=O(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 Q(this.token,this.raw.add(r.raw))}subtract(r){return this.token.equals(r.token)||this.logger.logWithError("sub token not equals"),new Q(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 _t.DP=this.token.decimals,new _t(this.numerator.toString()).div(this.denominator.toString()).toFormat(r)}};import{PublicKey as hn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Et}from"@solana/spl-token";var Mt={chainId:101,address:hn.default.toBase58(),programId:Et.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},oe={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Et.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 it}from"@solana/web3.js";import{PublicKey as I,SystemProgram as Ft,SYSVAR_RENT_PUBKEY as wn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as yn}from"@solana/spl-token";function rt({pubkey:e,isSigner:t=!1,isWritable:r=!0}){return{pubkey:e,isWritable:r,isSigner:t}}var Hi=[rt({pubkey:yn,isWritable:!1}),rt({pubkey:Ft.programId,isWritable:!1}),rt({pubkey:wn,isWritable:!1})];function Vt({publicKey:e,transformSol:t}){let r=nt(e.toString());if(r instanceof I)return t&&r.equals(we)?ze:r;if(t&&r.toString()===we.toBase58())return ze;if(typeof r=="string"){if(r===I.default.toBase58())return I.default;try{return new I(r)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function nt(e){try{return new I(e)}catch{return e}}var ji=new I("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),zi=new I("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Yi=new I("SysvarRent111111111111111111111111111111111"),Zi=new I("SysvarC1ock11111111111111111111111111111111"),Xi=new I("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Qi=new I("Sysvar1nstructions1111111111111111111111111"),Ji=Ft.programId,$i=new I("2cpMA1jNS4obgRz8XNg38QuSP83L1AXpUgfxPNcvnAGj"),eo=new I("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),to=new I("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),ro=new I("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),no=new I("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),io=new I("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),oo=new I("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),so=new I("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),ao=new I("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),uo=new I("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),co=new I("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),ze=new I("So11111111111111111111111111111111111111112"),we=I.default;var ot=class{constructor({mint:t,decimals:r,symbol:n,name:i,skipMint:o=!1,isToken2022:s=!1}){if(t===we.toBase58()||t instanceof it&&we.equals(t)){this.decimals=oe.decimals,this.symbol=oe.symbol,this.name=oe.name,this.mint=new it(oe.address),this.isToken2022=!1;return}this.decimals=r,this.symbol=n||t.toString().substring(0,6),this.name=i||t.toString().substring(0,6),this.mint=o?it.default:Vt({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},se=ot;se.WSOL=new ot({...oe,mint:oe.address});var st=class{constructor({decimals:t,symbol:r="UNKNOWN",name:n="UNKNOWN"}){this.decimals=t,this.symbol=r,this.name=n}equals(t){return this===t}},Fe=st;Fe.SOL=new st(Mt);import bn from"bn.js";var Dt=new k(new bn(100)),le=class extends k{toSignificant(t=5,r,n){return this.mul(Dt).toSignificant(t,r,n)}toFixed(t=2,r,n){return this.mul(Dt).toFixed(t,r,n)}};var Tn=O("Raydium_price"),J=class extends k{constructor(r){let{baseToken:n,quoteToken:i,numerator:o,denominator:s}=r;super(o,s);this.baseToken=n,this.quoteToken=i,this.scalar=new k(at(n.decimals),at(i.decimals))}get raw(){return new k(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new J({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(r){this.quoteToken!==r.baseToken&&Tn.logWithError("mul token not equals");let n=super.mul(r);return new J({baseToken:this.baseToken,quoteToken:r.quoteToken,denominator:n.denominator,numerator:n.numerator})}toSignificant(r=this.quoteToken.decimals,n,i){return this.adjusted.toSignificant(r,n,i)}toFixed(r=this.quoteToken.decimals,n,i){return this.adjusted.toFixed(r,n,i)}};import{PublicKey as Pn}from"@solana/web3.js";import Sn from"bn.js";function vt(e){return typeof e=="object"&&e!==null&&![se,Q,Pn,k,Sn,J,le].some(t=>typeof t=="object"&&e instanceof t)}function Ve(e){return typeof e=="string"?nt(e):Array.isArray(e)?e.map(t=>Ve(t)):vt(e)?Object.fromEntries(Object.entries(e).map(([t,r])=>[t,Ve(r)])):e}var xn=new $(0),ss=new $(1),as=new $(2),us=new $(3),cs=new $(5),tt=new $(10),ls=new $(100),ds=new $(1e3),fs=new $(1e4);function at(e){return tt.pow(M(e))}var Ot=e=>typeof e=="number";function Kt(e,t,r){let n=Ot(t)?t*((r==null?void 0:r.unit)==="s"?1e3:1):t;return new Date(e).getTime()<=n}function Ut(e,t,r){let n=Ot(t)?t*((r==null?void 0:r.unit)==="s"?1e3:1):t;return new Date(e).getTime()>n}function je(e,t=1,r=[]){let n=[...e];if(t<=0)return r;for(;n.length;)r.push(n.splice(0,t));return r}import{PublicKey as Ds}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Os}from"@solana/spl-token";import{ComputeBudgetProgram as xs,Keypair as Ls,PublicKey as Ln,Transaction as Bs,TransactionMessage as Rs,VersionedTransaction as Ns}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Es}from"@solana/spl-token";var Ms=O("Raydium_txUtil");function ye(e,t){let[r,n]=Ln.findProgramAddressSync(e,t);return{publicKey:r,nonce:n}}import{PublicKey as x}from"@solana/web3.js";var Wt=new x("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),qt=new x("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Gt=new x("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),qs=new x("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Gs=new x("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Hs=new x("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),js=new x("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),zs=new x("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Ys=new x("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Zs=new x("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Xs=new x("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Qs=new x("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Js=new x("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),$s=new x("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),ea=new x("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),ta=new x("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),ra=new x("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),na=new x("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),ia=new x("SNaPnpKUY656VPwbKmKT8FG4T85g4VWhRH1B4TQUfKs"),oa=new x("9pR79Lqe6wDNjag3v8MeVYUostoXjY2ognTydor6AtEZ"),sa=new x("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),An=new x("4AscABy58S62owbByjUUkQfZsP7fxYH1rDYb69V58HPM"),Bn=new x("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),kn=new x("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),aa=new x("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Rn=new x("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),ua=new x("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Nn=new x("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var ca={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:An,CREATE_CPMM_POOL_AUTH:Bn,CREATE_CPMM_POOL_FEE_ACC:kn,FEE_DESTINATION_ID:new x("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:Rn,LCOK_CPMM_AUTH:Nn};import fa from"bn.js";import{PublicKey as Cn,AddressLookupTableAccount as Ht}from"@solana/web3.js";var In={"2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17":new Ht({key:new Cn("2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17"),state:Ht.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 Na,sendAndConfirmTransaction as Ca,Transaction as _a,TransactionMessage as Ma,VersionedTransaction as Fa}from"@solana/web3.js";import Da from"axios";import{PublicKey as vn}from"@solana/web3.js";import Zt,{isBN as Xt}from"bn.js";import{bits as uu,BitStructure as cu,blob as _n,Blob as lu,cstr as du,f32 as fu,f32be as mu,f64 as pu,f64be as gu,greedy as hu,Layout as En,ns64 as wu,ns64be as yu,nu64 as bu,nu64be as Tu,offset as xu,s16 as Pu,s16be as Su,s24 as Lu,s24be as Au,s32 as Bu,s32be as ku,s40 as Ru,s40be as Nu,s48 as Cu,s48be as Iu,s8 as _u,seq as Mn,struct as Eu,Structure as Fn,u16 as Mu,u16be as Fu,u24 as Vu,u24be as Du,u32 as vu,u32be as Ou,u40 as Ku,u40be as Uu,u48 as Wu,u48be as qu,u8 as Vn,UInt as Dn,union as Gu,Union as Hu,unionLayoutDiscriminator as ju,utf8 as zu}from"@solana/buffer-layout";var ut=En,jt=Fn;var ct=Dn;var zt=Vn;var Yt=Mn;var ae=_n;var de=class extends ut{constructor(r,n,i){super(r,i);this.blob=ae(r),this.signed=n}decode(r,n=0){let i=new Zt(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 Zt(r)),this.signed&&(r=r.toTwos(this.span*8)),this.blob.encode(r.toArrayLike(Buffer,"le",this.span),n,i)}};function F(e){return new ct(1,e)}function ve(e){return new ct(4,e)}function g(e){return new de(8,!1,e)}function ee(e){return new de(16,!1,e)}function Qt(e){return new de(1,!0,e)}function Oe(e){return new de(8,!0,e)}var De=class extends ut{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 P(e){return new De(ae(32),t=>new vn(t),t=>t.toBuffer(),e)}function dt(e){return new De(zt(),On,Kn,e)}function On(e){if(e===0)return!1;if(e===1)return!0;throw new Error("Invalid bool: "+e)}function Kn(e){return e?1:0}var lt=class extends jt{decode(t,r){return super.decode(t,r)}};function _(e,t,r){return new lt(e,t,r)}function E(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 Yt(e,i,r)}var ft=_([P("mint"),P("owner"),g("amount"),ve("delegateOption"),P("delegate"),F("state"),ve("isNativeOption"),g("isNative"),g("delegatedAmount"),ve("closeAuthorityOption"),P("closeAuthority")]);import{PublicKey as sr}f