UNPKG

@cobaltx/sdk-v2

Version:

An SDK for building applications on top of CobaltX.

1 lines 95.8 kB
import{TOKEN_2022_PROGRAM_ID as jn}from"@solana/spl-token";import{PublicKey as we}from"@solana/web3.js";import X from"bn.js";import{MINT_SIZE as Gi,TOKEN_PROGRAM_ID as Vi,getTransferFeeConfig as Ui,unpackMint as Xi}from"@solana/spl-token";import{PublicKey as Jn}from"@solana/web3.js";import{get as on,set as Qn}from"lodash";var Ct=class{constructor(e){this.logLevel=e.logLevel!==void 0?e.logLevel:0,this.name=e.name}set level(e){this.logLevel=e}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(e){return e<=this.logLevel}error(...e){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...e),this):this}logWithError(...e){let t=e.map(n=>typeof n=="object"?JSON.stringify(n):n).join(", ");throw new Error(t)}warning(...e){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...e),this):this}info(...e){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...e),this):this}debug(...e){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...e),this):this}},sn={},Yn={};function pe(r){let e=on(sn,r);if(!e){let t=on(Yn,r);e=new Ct({name:r,logLevel:t}),Qn(sn,r,e)}return e}var St=pe("CobaltX_accountInfo_util");async function Me(r,e,t){let{batchRequest:n,commitment:i="confirmed",chunkCount:o=100}={batchRequest:!1,...t},s=Lt(e,o),a=new Array(s.length).fill([]);if(n){let u=s.map(l=>{let d=r._buildArgs([l.map(f=>f.toBase58())],i,"base64");return{methodName:"getMultipleAccounts",args:d}}),c=Lt(u,10);a=(await(await Promise.all(c.map(async l=>await r._rpcBatchRequest(l)))).flat()).map(l=>(l.error&&St.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${l.error.message}`),l.result.value.map(d=>{if(d){let{data:f,executable:b,lamports:g,owner:w,rentEpoch:p}=d;return f.length!==2&&f[1]!=="base64"&&St.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(f[0],"base64"),executable:b,lamports:g,owner:new Jn(w),rentEpoch:p}}return null})))}else try{a=await Promise.all(s.map(u=>r.getMultipleAccountsInfo(u,i)))}catch(u){u instanceof Error&&St.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${u.message}`)}return a.flat()}async function Et(r,e,t){let n=await Me(r,e.map(i=>i.pubkey),t);return e.map((i,o)=>({...i,accountInfo:n[o]}))}import Le from"bn.js";var Ze=9e15,ve=1e9,_t="0123456789abcdef",pt="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",gt="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Mt={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Ze,maxE:Ze,crypto:!1},mn,Ce,I=!0,bt="[DecimalError] ",De=bt+"Invalid argument: ",ln=bt+"Precision limit exceeded",dn=bt+"crypto unavailable",fn="[object Decimal]",oe=Math.floor,$=Math.pow,$n=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,er=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,tr=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,pn=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,xe=1e7,P=7,nr=9007199254740991,rr=pt.length-1,Ft=gt.length-1,h={toStringTag:fn};h.absoluteValue=h.abs=function(){var r=new this.constructor(this);return r.s<0&&(r.s=1),A(r)};h.ceil=function(){return A(new this.constructor(this),this.e+1,2)};h.clampedTo=h.clamp=function(r,e){var t,n=this,i=n.constructor;if(r=new i(r),e=new i(e),!r.s||!e.s)return new i(NaN);if(r.gt(e))throw Error(De+e);return t=n.cmp(r),t<0?r:n.cmp(e)>0?e:new i(n)};h.comparedTo=h.cmp=function(r){var e,t,n,i,o=this,s=o.d,a=(r=new o.constructor(r)).d,u=o.s,c=r.s;if(!s||!a)return!u||!c?NaN:u!==c?u:s===a?0:!s^u<0?1:-1;if(!s[0]||!a[0])return s[0]?u:a[0]?-c:0;if(u!==c)return u;if(o.e!==r.e)return o.e>r.e^u<0?1:-1;for(n=s.length,i=a.length,e=0,t=n<i?n:i;e<t;++e)if(s[e]!==a[e])return s[e]>a[e]^u<0?1:-1;return n===i?0:n>i^u<0?1:-1};h.cosine=h.cos=function(){var r,e,t=this,n=t.constructor;return t.d?t.d[0]?(r=n.precision,e=n.rounding,n.precision=r+Math.max(t.e,t.sd())+P,n.rounding=1,t=ir(n,yn(n,t)),n.precision=r,n.rounding=e,A(Ce==2||Ce==3?t.neg():t,r,e,!0)):new n(1):new n(NaN)};h.cubeRoot=h.cbrt=function(){var r,e,t,n,i,o,s,a,u,c,m=this,l=m.constructor;if(!m.isFinite()||m.isZero())return new l(m);for(I=!1,o=m.s*$(m.s*m,1/3),!o||Math.abs(o)==1/0?(t=ne(m.d),r=m.e,(o=(r-t.length+1)%3)&&(t+=o==1||o==-2?"0":"00"),o=$(t,1/3),r=oe((r+1)/3)-(r%3==(r<0?-1:2)),o==1/0?t="5e"+r:(t=o.toExponential(),t=t.slice(0,t.indexOf("e")+1)+r),n=new l(t),n.s=m.s):n=new l(o.toString()),s=(r=l.precision)+3;;)if(a=n,u=a.times(a).times(a),c=u.plus(m),n=U(c.plus(m).times(a),c.plus(u),s+2,1),ne(a.d).slice(0,s)===(t=ne(n.d)).slice(0,s))if(t=t.slice(s-3,s+1),t=="9999"||!i&&t=="4999"){if(!i&&(A(a,r+1,0),a.times(a).times(a).eq(m))){n=a;break}s+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(A(n,r+1,1),e=!n.times(n).times(n).eq(m));break}return I=!0,A(n,r,l.rounding,e)};h.decimalPlaces=h.dp=function(){var r,e=this.d,t=NaN;if(e){if(r=e.length-1,t=(r-oe(this.e/P))*P,r=e[r],r)for(;r%10==0;r/=10)t--;t<0&&(t=0)}return t};h.dividedBy=h.div=function(r){return U(this,new this.constructor(r))};h.dividedToIntegerBy=h.divToInt=function(r){var e=this,t=e.constructor;return A(U(e,new t(r),0,1,1),t.precision,t.rounding)};h.equals=h.eq=function(r){return this.cmp(r)===0};h.floor=function(){return A(new this.constructor(this),this.e+1,3)};h.greaterThan=h.gt=function(r){return this.cmp(r)>0};h.greaterThanOrEqualTo=h.gte=function(r){var e=this.cmp(r);return e==1||e===0};h.hyperbolicCosine=h.cosh=function(){var r,e,t,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;t=s.precision,n=s.rounding,s.precision=t+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(r=Math.ceil(i/3),e=(1/yt(4,r)).toString()):(r=16,e="2.3283064365386962890625e-10"),o=je(s,1,o.times(e),new s(1),!0);for(var u,c=r,m=new s(8);c--;)u=o.times(o),o=a.minus(u.times(m.minus(u.times(m))));return A(o,s.precision=t,s.rounding=n,!0)};h.hyperbolicSine=h.sinh=function(){var r,e,t,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,t=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=je(o,2,i,i,!0);else{r=1.4*Math.sqrt(n),r=r>16?16:r|0,i=i.times(1/yt(5,r)),i=je(o,2,i,i,!0);for(var s,a=new o(5),u=new o(16),c=new o(20);r--;)s=i.times(i),i=i.times(a.plus(s.times(u.times(s).plus(c))))}return o.precision=e,o.rounding=t,A(i,e,t,!0)};h.hyperbolicTangent=h.tanh=function(){var r,e,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(r=n.precision,e=n.rounding,n.precision=r+7,n.rounding=1,U(t.sinh(),t.cosh(),n.precision=r,n.rounding=e)):new n(t.s)};h.inverseCosine=h.acos=function(){var r,e=this,t=e.constructor,n=e.abs().cmp(1),i=t.precision,o=t.rounding;return n!==-1?n===0?e.isNeg()?Te(t,i,o):new t(0):new t(NaN):e.isZero()?Te(t,i+4,o).times(.5):(t.precision=i+6,t.rounding=1,e=e.asin(),r=Te(t,i+4,o).times(.5),t.precision=i,t.rounding=o,r.minus(e))};h.inverseHyperbolicCosine=h.acosh=function(){var r,e,t=this,n=t.constructor;return t.lte(1)?new n(t.eq(1)?0:NaN):t.isFinite()?(r=n.precision,e=n.rounding,n.precision=r+Math.max(Math.abs(t.e),t.sd())+4,n.rounding=1,I=!1,t=t.times(t).minus(1).sqrt().plus(t),I=!0,n.precision=r,n.rounding=e,t.ln()):new n(t)};h.inverseHyperbolicSine=h.asinh=function(){var r,e,t=this,n=t.constructor;return!t.isFinite()||t.isZero()?new n(t):(r=n.precision,e=n.rounding,n.precision=r+2*Math.max(Math.abs(t.e),t.sd())+6,n.rounding=1,I=!1,t=t.times(t).plus(1).sqrt().plus(t),I=!0,n.precision=r,n.rounding=e,t.ln())};h.inverseHyperbolicTangent=h.atanh=function(){var r,e,t,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):(r=o.precision,e=o.rounding,n=i.sd(),Math.max(n,r)<2*-i.e-1?A(new o(i),r,e,!0):(o.precision=t=n-i.e,i=U(i.plus(1),new o(1).minus(i),t+r,1),o.precision=r+4,o.rounding=1,i=i.ln(),o.precision=r,o.rounding=e,i.times(.5))):new o(NaN)};h.inverseSine=h.asin=function(){var r,e,t,n,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),t=o.precision,n=o.rounding,e!==-1?e===0?(r=Te(o,t+4,n).times(.5),r.s=i.s,r):new o(NaN):(o.precision=t+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=t,o.rounding=n,i.times(2)))};h.inverseTangent=h.atan=function(){var r,e,t,n,i,o,s,a,u,c=this,m=c.constructor,l=m.precision,d=m.rounding;if(c.isFinite()){if(c.isZero())return new m(c);if(c.abs().eq(1)&&l+4<=Ft)return s=Te(m,l+4,d).times(.25),s.s=c.s,s}else{if(!c.s)return new m(NaN);if(l+4<=Ft)return s=Te(m,l+4,d).times(.5),s.s=c.s,s}for(m.precision=a=l+10,m.rounding=1,t=Math.min(28,a/P+2|0),r=t;r;--r)c=c.div(c.times(c).plus(1).sqrt().plus(1));for(I=!1,e=Math.ceil(a/P),n=1,u=c.times(c),s=new m(c),i=c;r!==-1;)if(i=i.times(u),o=s.minus(i.div(n+=2)),i=i.times(u),s=o.plus(i.div(n+=2)),s.d[e]!==void 0)for(r=e;s.d[r]===o.d[r]&&r--;);return t&&(s=s.times(2<<t-1)),I=!0,A(s,m.precision=l,m.rounding=d,!0)};h.isFinite=function(){return!!this.d};h.isInteger=h.isInt=function(){return!!this.d&&oe(this.e/P)>this.d.length-2};h.isNaN=function(){return!this.s};h.isNegative=h.isNeg=function(){return this.s<0};h.isPositive=h.isPos=function(){return this.s>0};h.isZero=function(){return!!this.d&&this.d[0]===0};h.lessThan=h.lt=function(r){return this.cmp(r)<0};h.lessThanOrEqualTo=h.lte=function(r){return this.cmp(r)<1};h.logarithm=h.log=function(r){var e,t,n,i,o,s,a,u,c=this,m=c.constructor,l=m.precision,d=m.rounding,f=5;if(r==null)r=new m(10),e=!0;else{if(r=new m(r),t=r.d,r.s<0||!t||!t[0]||r.eq(1))return new m(NaN);e=r.eq(10)}if(t=c.d,c.s<0||!t||!t[0]||c.eq(1))return new m(t&&!t[0]?-1/0:c.s!=1?NaN:t?0:1/0);if(e)if(t.length>1)o=!0;else{for(i=t[0];i%10===0;)i/=10;o=i!==1}if(I=!1,a=l+f,s=Oe(c,a),n=e?ht(m,a+10):Oe(r,a),u=U(s,n,a,1),Je(u.d,i=l,d))do if(a+=10,s=Oe(c,a),n=e?ht(m,a+10):Oe(r,a),u=U(s,n,a,1),!o){+ne(u.d).slice(i+1,i+15)+1==1e14&&(u=A(u,l+1,0));break}while(Je(u.d,i+=10,d));return I=!0,A(u,l,d)};h.minus=h.sub=function(r){var e,t,n,i,o,s,a,u,c,m,l,d,f=this,b=f.constructor;if(r=new b(r),!f.d||!r.d)return!f.s||!r.s?r=new b(NaN):f.d?r.s=-r.s:r=new b(r.d||f.s!==r.s?f:NaN),r;if(f.s!=r.s)return r.s=-r.s,f.plus(r);if(c=f.d,d=r.d,a=b.precision,u=b.rounding,!c[0]||!d[0]){if(d[0])r.s=-r.s;else if(c[0])r=new b(f);else return new b(u===3?-0:0);return I?A(r,a,u):r}if(t=oe(r.e/P),m=oe(f.e/P),c=c.slice(),o=m-t,o){for(l=o<0,l?(e=c,o=-o,s=d.length):(e=d,t=m,s=c.length),n=Math.max(Math.ceil(a/P),s)+2,o>n&&(o=n,e.length=1),e.reverse(),n=o;n--;)e.push(0);e.reverse()}else{for(n=c.length,s=d.length,l=n<s,l&&(s=n),n=0;n<s;n++)if(c[n]!=d[n]){l=c[n]<d[n];break}o=0}for(l&&(e=c,c=d,d=e,r.s=-r.s),s=c.length,n=d.length-s;n>0;--n)c[s++]=0;for(n=d.length;n>o;){if(c[--n]<d[n]){for(i=n;i&&c[--i]===0;)c[i]=xe-1;--c[i],c[n]+=xe}c[n]-=d[n]}for(;c[--s]===0;)c.pop();for(;c[0]===0;c.shift())--t;return c[0]?(r.d=c,r.e=wt(c,t),I?A(r,a,u):r):new b(u===3?-0:0)};h.modulo=h.mod=function(r){var e,t=this,n=t.constructor;return r=new n(r),!t.d||!r.s||r.d&&!r.d[0]?new n(NaN):!r.d||t.d&&!t.d[0]?A(new n(t),n.precision,n.rounding):(I=!1,n.modulo==9?(e=U(t,r.abs(),0,3,1),e.s*=r.s):e=U(t,r,0,n.modulo,1),e=e.times(r),I=!0,t.minus(e))};h.naturalExponential=h.exp=function(){return Ot(this)};h.naturalLogarithm=h.ln=function(){return Oe(this)};h.negated=h.neg=function(){var r=new this.constructor(this);return r.s=-r.s,A(r)};h.plus=h.add=function(r){var e,t,n,i,o,s,a,u,c,m,l=this,d=l.constructor;if(r=new d(r),!l.d||!r.d)return!l.s||!r.s?r=new d(NaN):l.d||(r=new d(r.d||l.s===r.s?l:NaN)),r;if(l.s!=r.s)return r.s=-r.s,l.minus(r);if(c=l.d,m=r.d,a=d.precision,u=d.rounding,!c[0]||!m[0])return m[0]||(r=new d(l)),I?A(r,a,u):r;if(o=oe(l.e/P),n=oe(r.e/P),c=c.slice(),i=o-n,i){for(i<0?(t=c,i=-i,s=m.length):(t=m,n=o,s=c.length),o=Math.ceil(a/P),s=o>s?o+1:s+1,i>s&&(i=s,t.length=1),t.reverse();i--;)t.push(0);t.reverse()}for(s=c.length,i=m.length,s-i<0&&(i=s,t=m,m=c,c=t),e=0;i;)e=(c[--i]=c[i]+m[i]+e)/xe|0,c[i]%=xe;for(e&&(c.unshift(e),++n),s=c.length;c[--s]==0;)c.pop();return r.d=c,r.e=wt(c,n),I?A(r,a,u):r};h.precision=h.sd=function(r){var e,t=this;if(r!==void 0&&r!==!!r&&r!==1&&r!==0)throw Error(De+r);return t.d?(e=gn(t.d),r&&t.e+1>e&&(e=t.e+1)):e=NaN,e};h.round=function(){var r=this,e=r.constructor;return A(new e(r),r.e+1,e.rounding)};h.sine=h.sin=function(){var r,e,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(r=n.precision,e=n.rounding,n.precision=r+Math.max(t.e,t.sd())+P,n.rounding=1,t=sr(n,yn(n,t)),n.precision=r,n.rounding=e,A(Ce>2?t.neg():t,r,e,!0)):new n(NaN)};h.squareRoot=h.sqrt=function(){var r,e,t,n,i,o,s=this,a=s.d,u=s.e,c=s.s,m=s.constructor;if(c!==1||!a||!a[0])return new m(!c||c<0&&(!a||a[0])?NaN:a?s:1/0);for(I=!1,c=Math.sqrt(+s),c==0||c==1/0?(e=ne(a),(e.length+u)%2==0&&(e+="0"),c=Math.sqrt(e),u=oe((u+1)/2)-(u<0||u%2),c==1/0?e="5e"+u:(e=c.toExponential(),e=e.slice(0,e.indexOf("e")+1)+u),n=new m(e)):n=new m(c.toString()),t=(u=m.precision)+3;;)if(o=n,n=o.plus(U(s,o,t+2,1)).times(.5),ne(o.d).slice(0,t)===(e=ne(n.d)).slice(0,t))if(e=e.slice(t-3,t+1),e=="9999"||!i&&e=="4999"){if(!i&&(A(o,u+1,0),o.times(o).eq(s))){n=o;break}t+=4,i=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(A(n,u+1,1),r=!n.times(n).eq(s));break}return I=!0,A(n,u,m.rounding,r)};h.tangent=h.tan=function(){var r,e,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(r=n.precision,e=n.rounding,n.precision=r+10,n.rounding=1,t=t.sin(),t.s=1,t=U(t,new n(1).minus(t.times(t)).sqrt(),r+10,0),n.precision=r,n.rounding=e,A(Ce==2||Ce==4?t.neg():t,r,e,!0)):new n(NaN)};h.times=h.mul=function(r){var e,t,n,i,o,s,a,u,c,m=this,l=m.constructor,d=m.d,f=(r=new l(r)).d;if(r.s*=m.s,!d||!d[0]||!f||!f[0])return new l(!r.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:!d||!f?r.s/0:r.s*0);for(t=oe(m.e/P)+oe(r.e/P),u=d.length,c=f.length,u<c&&(o=d,d=f,f=o,s=u,u=c,c=s),o=[],s=u+c,n=s;n--;)o.push(0);for(n=c;--n>=0;){for(e=0,i=u+n;i>n;)a=o[i]+f[n]*d[i-n-1]+e,o[i--]=a%xe|0,e=a/xe|0;o[i]=(o[i]+e)%xe|0}for(;!o[--s];)o.pop();return e?++t:o.shift(),r.d=o,r.e=wt(o,t),I?A(r,l.precision,l.rounding):r};h.toBinary=function(r,e){return vt(this,2,r,e)};h.toDecimalPlaces=h.toDP=function(r,e){var t=this,n=t.constructor;return t=new n(t),r===void 0?t:(de(r,0,ve),e===void 0?e=n.rounding:de(e,0,8),A(t,r+t.e+1,e))};h.toExponential=function(r,e){var t,n=this,i=n.constructor;return r===void 0?t=Be(n,!0):(de(r,0,ve),e===void 0?e=i.rounding:de(e,0,8),n=A(new i(n),r+1,e),t=Be(n,!0,r+1)),n.isNeg()&&!n.isZero()?"-"+t:t};h.toFixed=function(r,e){var t,n,i=this,o=i.constructor;return r===void 0?t=Be(i):(de(r,0,ve),e===void 0?e=o.rounding:de(e,0,8),n=A(new o(i),r+i.e+1,e),t=Be(n,!1,r+n.e+1)),i.isNeg()&&!i.isZero()?"-"+t:t};h.toFraction=function(r){var e,t,n,i,o,s,a,u,c,m,l,d,f=this,b=f.d,g=f.constructor;if(!b)return new g(f);if(c=t=new g(1),n=u=new g(0),e=new g(n),o=e.e=gn(b)-f.e-1,s=o%P,e.d[0]=$(10,s<0?P+s:s),r==null)r=o>0?e:c;else{if(a=new g(r),!a.isInt()||a.lt(c))throw Error(De+a);r=a.gt(e)?o>0?e:c:a}for(I=!1,a=new g(ne(b)),m=g.precision,g.precision=o=b.length*P*2;l=U(a,e,0,1,1),i=t.plus(l.times(n)),i.cmp(r)!=1;)t=n,n=i,i=c,c=u.plus(l.times(i)),u=i,i=e,e=a.minus(l.times(i)),a=i;return i=U(r.minus(t),n,0,1,1),u=u.plus(i.times(c)),t=t.plus(i.times(n)),u.s=c.s=f.s,d=U(c,n,o,1).minus(f).abs().cmp(U(u,t,o,1).minus(f).abs())<1?[c,n]:[u,t],g.precision=m,I=!0,d};h.toHexadecimal=h.toHex=function(r,e){return vt(this,16,r,e)};h.toNearest=function(r,e){var t=this,n=t.constructor;if(t=new n(t),r==null){if(!t.d)return t;r=new n(1),e=n.rounding}else{if(r=new n(r),e===void 0?e=n.rounding:de(e,0,8),!t.d)return r.s?t:r;if(!r.d)return r.s&&(r.s=t.s),r}return r.d[0]?(I=!1,t=U(t,r,0,e,1).times(r),I=!0,A(t)):(r.s=t.s,t=r),t};h.toNumber=function(){return+this};h.toOctal=function(r,e){return vt(this,8,r,e)};h.toPower=h.pow=function(r){var e,t,n,i,o,s,a=this,u=a.constructor,c=+(r=new u(r));if(!a.d||!r.d||!a.d[0]||!r.d[0])return new u($(+a,c));if(a=new u(a),a.eq(1))return a;if(n=u.precision,o=u.rounding,r.eq(1))return A(a,n,o);if(e=oe(r.e/P),e>=r.d.length-1&&(t=c<0?-c:c)<=nr)return i=hn(u,a,t,n),r.s<0?new u(1).div(i):A(i,n,o);if(s=a.s,s<0){if(e<r.d.length-1)return new u(NaN);if((r.d[e]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return t=$(+a,c),e=t==0||!isFinite(t)?oe(c*(Math.log("0."+ne(a.d))/Math.LN10+a.e+1)):new u(t+"").e,e>u.maxE+1||e<u.minE-1?new u(e>0?s/0:0):(I=!1,u.rounding=a.s=1,t=Math.min(12,(e+"").length),i=Ot(r.times(Oe(a,n+t)),n),i.d&&(i=A(i,n+5,1),Je(i.d,n,o)&&(e=n+10,i=A(Ot(r.times(Oe(a,e+t)),e),e+5,1),+ne(i.d).slice(n+1,n+15)+1==1e14&&(i=A(i,n+1,0)))),i.s=s,I=!0,u.rounding=o,A(i,n,o))};h.toPrecision=function(r,e){var t,n=this,i=n.constructor;return r===void 0?t=Be(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(de(r,1,ve),e===void 0?e=i.rounding:de(e,0,8),n=A(new i(n),r,e),t=Be(n,r<=n.e||n.e<=i.toExpNeg,r)),n.isNeg()&&!n.isZero()?"-"+t:t};h.toSignificantDigits=h.toSD=function(r,e){var t=this,n=t.constructor;return r===void 0?(r=n.precision,e=n.rounding):(de(r,1,ve),e===void 0?e=n.rounding:de(e,0,8)),A(new n(t),r,e)};h.toString=function(){var r=this,e=r.constructor,t=Be(r,r.e<=e.toExpNeg||r.e>=e.toExpPos);return r.isNeg()&&!r.isZero()?"-"+t:t};h.truncated=h.trunc=function(){return A(new this.constructor(this),this.e+1,1)};h.valueOf=h.toJSON=function(){var r=this,e=r.constructor,t=Be(r,r.e<=e.toExpNeg||r.e>=e.toExpPos);return r.isNeg()?"-"+t:t};function ne(r){var e,t,n,i=r.length-1,o="",s=r[0];if(i>0){for(o+=s,e=1;e<i;e++)n=r[e]+"",t=P-n.length,t&&(o+=Fe(t)),o+=n;s=r[e],n=s+"",t=P-n.length,t&&(o+=Fe(t))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function de(r,e,t){if(r!==~~r||r<e||r>t)throw Error(De+r)}function Je(r,e,t,n){var i,o,s,a;for(o=r[0];o>=10;o/=10)--e;return--e<0?(e+=P,i=0):(i=Math.ceil((e+1)/P),e%=P),o=$(10,P-e),a=r[i]%o|0,n==null?e<3?(e==0?a=a/100|0:e==1&&(a=a/10|0),s=t<4&&a==99999||t>3&&a==49999||a==5e4||a==0):s=(t<4&&a+1==o||t>3&&a+1==o/2)&&(r[i+1]/o/100|0)==$(10,e-2)-1||(a==o/2||a==0)&&(r[i+1]/o/100|0)==0:e<4?(e==0?a=a/1e3|0:e==1?a=a/100|0:e==2&&(a=a/10|0),s=(n||t<4)&&a==9999||!n&&t>3&&a==4999):s=((n||t<4)&&a+1==o||!n&&t>3&&a+1==o/2)&&(r[i+1]/o/1e3|0)==$(10,e-3)-1,s}function ft(r,e,t){for(var n,i=[0],o,s=0,a=r.length;s<a;){for(o=i.length;o--;)i[o]*=e;for(i[0]+=_t.indexOf(r.charAt(s++)),n=0;n<i.length;n++)i[n]>t-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/t|0,i[n]%=t)}return i.reverse()}function ir(r,e){var t,n,i;if(e.isZero())return e;n=e.d.length,n<32?(t=Math.ceil(n/3),i=(1/yt(4,t)).toString()):(t=16,i="2.3283064365386962890625e-10"),r.precision+=t,e=je(r,1,e.times(i),new r(1));for(var o=t;o--;){var s=e.times(e);e=s.times(s).minus(s).times(8).plus(1)}return r.precision-=t,e}var U=function(){function r(n,i,o){var s,a=0,u=n.length;for(n=n.slice();u--;)s=n[u]*i+a,n[u]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function e(n,i,o,s){var a,u;if(o!=s)u=o>s?1:-1;else for(a=u=0;a<o;a++)if(n[a]!=i[a]){u=n[a]>i[a]?1:-1;break}return u}function t(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,u){var c,m,l,d,f,b,g,w,p,k,y,E,V,T,j,K,Y,Q,F,le,ie=n.constructor,_e=n.s==i.s?1:-1,J=n.d,q=i.d;if(!J||!J[0]||!q||!q[0])return new ie(!n.s||!i.s||(J?q&&J[0]==q[0]:!q)?NaN:J&&J[0]==0||!q?_e*0:_e/0);for(u?(f=1,m=n.e-i.e):(u=xe,f=P,m=oe(n.e/f)-oe(i.e/f)),F=q.length,Y=J.length,p=new ie(_e),k=p.d=[],l=0;q[l]==(J[l]||0);l++);if(q[l]>(J[l]||0)&&m--,o==null?(T=o=ie.precision,s=ie.rounding):a?T=o+(n.e-i.e)+1:T=o,T<0)k.push(1),b=!0;else{if(T=T/f+2|0,l=0,F==1){for(d=0,q=q[0],T++;(l<Y||d)&&T--;l++)j=d*u+(J[l]||0),k[l]=j/q|0,d=j%q|0;b=d||l<Y}else{for(d=u/(q[0]+1)|0,d>1&&(q=r(q,d,u),J=r(J,d,u),F=q.length,Y=J.length),K=F,y=J.slice(0,F),E=y.length;E<F;)y[E++]=0;le=q.slice(),le.unshift(0),Q=q[0],q[1]>=u/2&&++Q;do d=0,c=e(q,y,F,E),c<0?(V=y[0],F!=E&&(V=V*u+(y[1]||0)),d=V/Q|0,d>1?(d>=u&&(d=u-1),g=r(q,d,u),w=g.length,E=y.length,c=e(g,y,w,E),c==1&&(d--,t(g,F<w?le:q,w,u))):(d==0&&(c=d=1),g=q.slice()),w=g.length,w<E&&g.unshift(0),t(y,g,E,u),c==-1&&(E=y.length,c=e(q,y,F,E),c<1&&(d++,t(y,F<E?le:q,E,u))),E=y.length):c===0&&(d++,y=[0]),k[l++]=d,c&&y[0]?y[E++]=J[K]||0:(y=[J[K]],E=1);while((K++<Y||y[0]!==void 0)&&T--);b=y[0]!==void 0}k[0]||k.shift()}if(f==1)p.e=m,mn=b;else{for(l=1,d=k[0];d>=10;d/=10)l++;p.e=l+m*f-1,A(p,a?o+p.e+1:o,s,b)}return p}}();function A(r,e,t,n){var i,o,s,a,u,c,m,l,d,f=r.constructor;e:if(e!=null){if(l=r.d,!l)return r;for(i=1,a=l[0];a>=10;a/=10)i++;if(o=e-i,o<0)o+=P,s=e,m=l[d=0],u=m/$(10,i-s-1)%10|0;else if(d=Math.ceil((o+1)/P),a=l.length,d>=a)if(n){for(;a++<=d;)l.push(0);m=u=0,i=1,o%=P,s=o-P+1}else break e;else{for(m=a=l[d],i=1;a>=10;a/=10)i++;o%=P,s=o-P+i,u=s<0?0:m/$(10,i-s-1)%10|0}if(n=n||e<0||l[d+1]!==void 0||(s<0?m:m%$(10,i-s-1)),c=t<4?(u||n)&&(t==0||t==(r.s<0?3:2)):u>5||u==5&&(t==4||n||t==6&&(o>0?s>0?m/$(10,i-s):0:l[d-1])%10&1||t==(r.s<0?8:7)),e<1||!l[0])return l.length=0,c?(e-=r.e+1,l[0]=$(10,(P-e%P)%P),r.e=-e||0):l[0]=r.e=0,r;if(o==0?(l.length=d,a=1,d--):(l.length=d+1,a=$(10,P-o),l[d]=s>0?(m/$(10,i-s)%$(10,s)|0)*a:0),c)for(;;)if(d==0){for(o=1,s=l[0];s>=10;s/=10)o++;for(s=l[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(r.e++,l[0]==xe&&(l[0]=1));break}else{if(l[d]+=a,l[d]!=xe)break;l[d--]=0,a=1}for(o=l.length;l[--o]===0;)l.pop()}return I&&(r.e>f.maxE?(r.d=null,r.e=NaN):r.e<f.minE&&(r.e=0,r.d=[0])),r}function Be(r,e,t){if(!r.isFinite())return wn(r);var n,i=r.e,o=ne(r.d),s=o.length;return e?(t&&(n=t-s)>0?o=o.charAt(0)+"."+o.slice(1)+Fe(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(r.e<0?"e":"e+")+r.e):i<0?(o="0."+Fe(-i-1)+o,t&&(n=t-s)>0&&(o+=Fe(n))):i>=s?(o+=Fe(i+1-s),t&&(n=t-i-1)>0&&(o=o+"."+Fe(n))):((n=i+1)<s&&(o=o.slice(0,n)+"."+o.slice(n)),t&&(n=t-s)>0&&(i+1===s&&(o+="."),o+=Fe(n))),o}function wt(r,e){var t=r[0];for(e*=P;t>=10;t/=10)e++;return e}function ht(r,e,t){if(e>rr)throw I=!0,t&&(r.precision=t),Error(ln);return A(new r(pt),e,1,!0)}function Te(r,e,t){if(e>Ft)throw Error(ln);return A(new r(gt),e,t,!0)}function gn(r){var e=r.length-1,t=e*P+1;if(e=r[e],e){for(;e%10==0;e/=10)t--;for(e=r[0];e>=10;e/=10)t++}return t}function Fe(r){for(var e="";r--;)e+="0";return e}function hn(r,e,t,n){var i,o=new r(1),s=Math.ceil(n/P+4);for(I=!1;;){if(t%2&&(o=o.times(e),un(o.d,s)&&(i=!0)),t=oe(t/2),t===0){t=o.d.length-1,i&&o.d[t]===0&&++o.d[t];break}e=e.times(e),un(e.d,s)}return I=!0,o}function an(r){return r.d[r.d.length-1]&1}function bn(r,e,t){for(var n,i=new r(e[0]),o=0;++o<e.length;)if(n=new r(e[o]),n.s)i[t](n)&&(i=n);else{i=n;break}return i}function Ot(r,e){var t,n,i,o,s,a,u,c=0,m=0,l=0,d=r.constructor,f=d.rounding,b=d.precision;if(!r.d||!r.d[0]||r.e>17)return new d(r.d?r.d[0]?r.s<0?0:1/0:1:r.s?r.s<0?0:r:0/0);for(e==null?(I=!1,u=b):u=e,a=new d(.03125);r.e>-2;)r=r.times(a),l+=5;for(n=Math.log($(2,l))/Math.LN10*2+5|0,u+=n,t=o=s=new d(1),d.precision=u;;){if(o=A(o.times(r),u,1),t=t.times(++m),a=s.plus(U(o,t,u,1)),ne(a.d).slice(0,u)===ne(s.d).slice(0,u)){for(i=l;i--;)s=A(s.times(s),u,1);if(e==null)if(c<3&&Je(s.d,u-n,f,c))d.precision=u+=10,t=o=a=new d(1),m=0,c++;else return A(s,d.precision=b,f,I=!0);else return d.precision=b,s}s=a}}function Oe(r,e){var t,n,i,o,s,a,u,c,m,l,d,f=1,b=10,g=r,w=g.d,p=g.constructor,k=p.rounding,y=p.precision;if(g.s<0||!w||!w[0]||!g.e&&w[0]==1&&w.length==1)return new p(w&&!w[0]?-1/0:g.s!=1?NaN:w?0:g);if(e==null?(I=!1,m=y):m=e,p.precision=m+=b,t=ne(w),n=t.charAt(0),Math.abs(o=g.e)<15e14){for(;n<7&&n!=1||n==1&&t.charAt(1)>3;)g=g.times(r),t=ne(g.d),n=t.charAt(0),f++;o=g.e,n>1?(g=new p("0."+t),o++):g=new p(n+"."+t.slice(1))}else return c=ht(p,m+2,y).times(o+""),g=Oe(new p(n+"."+t.slice(1)),m-b).plus(c),p.precision=y,e==null?A(g,y,k,I=!0):g;for(l=g,u=s=g=U(g.minus(1),g.plus(1),m,1),d=A(g.times(g),m,1),i=3;;){if(s=A(s.times(d),m,1),c=u.plus(U(s,new p(i),m,1)),ne(c.d).slice(0,m)===ne(u.d).slice(0,m))if(u=u.times(2),o!==0&&(u=u.plus(ht(p,m+2,y).times(o+""))),u=U(u,new p(f),m,1),e==null)if(Je(u.d,m-b,k,a))p.precision=m+=b,c=s=g=U(l.minus(1),l.plus(1),m,1),d=A(g.times(g),m,1),i=a=1;else return A(u,p.precision=y,k,I=!0);else return p.precision=y,u;u=c,i+=2}}function wn(r){return String(r.s*r.s/0)}function Dt(r,e){var t,n,i;for((t=e.indexOf("."))>-1&&(e=e.replace(".","")),(n=e.search(/e/i))>0?(t<0&&(t=n),t+=+e.slice(n+1),e=e.substring(0,n)):t<0&&(t=e.length),n=0;e.charCodeAt(n)===48;n++);for(i=e.length;e.charCodeAt(i-1)===48;--i);if(e=e.slice(n,i),e){if(i-=n,r.e=t=t-n-1,r.d=[],n=(t+1)%P,t<0&&(n+=P),n<i){for(n&&r.d.push(+e.slice(0,n)),i-=P;n<i;)r.d.push(+e.slice(n,n+=P));e=e.slice(n),n=P-e.length}else n-=i;for(;n--;)e+="0";r.d.push(+e),I&&(r.e>r.constructor.maxE?(r.d=null,r.e=NaN):r.e<r.constructor.minE&&(r.e=0,r.d=[0]))}else r.e=0,r.d=[0];return r}function or(r,e){var t,n,i,o,s,a,u,c,m;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),pn.test(e))return Dt(r,e)}else if(e==="Infinity"||e==="NaN")return+e||(r.s=NaN),r.e=NaN,r.d=null,r;if(er.test(e))t=16,e=e.toLowerCase();else if($n.test(e))t=2;else if(tr.test(e))t=8;else throw Error(De+e);for(o=e.search(/p/i),o>0?(u=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),o=e.indexOf("."),s=o>=0,n=r.constructor,s&&(e=e.replace(".",""),a=e.length,o=a-o,i=hn(n,new n(t),o,o*2)),c=ft(e,t,xe),m=c.length-1,o=m;c[o]===0;--o)c.pop();return o<0?new n(r.s*0):(r.e=wt(c,m),r.d=c,I=!1,s&&(r=U(r,i,a*4)),u&&(r=r.times(Math.abs(u)<54?$(2,u):$e.pow(2,u))),I=!0,r)}function sr(r,e){var t,n=e.d.length;if(n<3)return e.isZero()?e:je(r,2,e,e);t=1.4*Math.sqrt(n),t=t>16?16:t|0,e=e.times(1/yt(5,t)),e=je(r,2,e,e);for(var i,o=new r(5),s=new r(16),a=new r(20);t--;)i=e.times(e),e=e.times(o.plus(i.times(s.times(i).minus(a))));return e}function je(r,e,t,n,i){var o,s,a,u,c=1,m=r.precision,l=Math.ceil(m/P);for(I=!1,u=t.times(t),a=new r(n);;){if(s=U(a.times(u),new r(e++*e++),m,1),a=i?n.plus(s):n.minus(s),n=U(s.times(u),new r(e++*e++),m,1),s=a.plus(n),s.d[l]!==void 0){for(o=l;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,c++}return I=!0,s.d.length=l+1,s}function yt(r,e){for(var t=r;--e;)t*=r;return t}function yn(r,e){var t,n=e.s<0,i=Te(r,r.precision,1),o=i.times(.5);if(e=e.abs(),e.lte(o))return Ce=n?4:1,e;if(t=e.divToInt(i),t.isZero())Ce=n?3:2;else{if(e=e.minus(t.times(i)),e.lte(o))return Ce=an(t)?n?2:3:n?4:1,e;Ce=an(t)?n?1:4:n?3:2}return e.minus(i).abs()}function vt(r,e,t,n){var i,o,s,a,u,c,m,l,d,f=r.constructor,b=t!==void 0;if(b?(de(t,1,ve),n===void 0?n=f.rounding:de(n,0,8)):(t=f.precision,n=f.rounding),!r.isFinite())m=wn(r);else{for(m=Be(r),s=m.indexOf("."),b?(i=2,e==16?t=t*4-3:e==8&&(t=t*3-2)):i=e,s>=0&&(m=m.replace(".",""),d=new f(1),d.e=m.length-s,d.d=ft(Be(d),10,i),d.e=d.d.length),l=ft(m,10,i),o=u=l.length;l[--u]==0;)l.pop();if(!l[0])m=b?"0p+0":"0";else{if(s<0?o--:(r=new f(r),r.d=l,r.e=o,r=U(r,d,t,n,0,i),l=r.d,o=r.e,c=mn),s=l[t],a=i/2,c=c||l[t+1]!==void 0,c=n<4?(s!==void 0||c)&&(n===0||n===(r.s<0?3:2)):s>a||s===a&&(n===4||c||n===6&&l[t-1]&1||n===(r.s<0?8:7)),l.length=t,c)for(;++l[--t]>i-1;)l[t]=0,t||(++o,l.unshift(1));for(u=l.length;!l[u-1];--u);for(s=0,m="";s<u;s++)m+=_t.charAt(l[s]);if(b){if(u>1)if(e==16||e==8){for(s=e==16?4:3,--u;u%s;u++)m+="0";for(l=ft(m,i,e),u=l.length;!l[u-1];--u);for(s=1,m="1.";s<u;s++)m+=_t.charAt(l[s])}else m=m.charAt(0)+"."+m.slice(1);m=m+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)m="0"+m;m="0."+m}else if(++o>u)for(o-=u;o--;)m+="0";else o<u&&(m=m.slice(0,o)+"."+m.slice(o))}m=(e==16?"0x":e==2?"0b":e==8?"0o":"")+m}return r.s<0?"-"+m:m}function un(r,e){if(r.length>e)return r.length=e,!0}function ar(r){return new this(r).abs()}function ur(r){return new this(r).acos()}function cr(r){return new this(r).acosh()}function mr(r,e){return new this(r).plus(e)}function lr(r){return new this(r).asin()}function dr(r){return new this(r).asinh()}function fr(r){return new this(r).atan()}function pr(r){return new this(r).atanh()}function gr(r,e){r=new this(r),e=new this(e);var t,n=this.precision,i=this.rounding,o=n+4;return!r.s||!e.s?t=new this(NaN):!r.d&&!e.d?(t=Te(this,o,1).times(e.s>0?.25:.75),t.s=r.s):!e.d||r.isZero()?(t=e.s<0?Te(this,n,i):new this(0),t.s=r.s):!r.d||e.isZero()?(t=Te(this,o,1).times(.5),t.s=r.s):e.s<0?(this.precision=o,this.rounding=1,t=this.atan(U(r,e,o,1)),e=Te(this,o,1),this.precision=n,this.rounding=i,t=r.s<0?t.minus(e):t.plus(e)):t=this.atan(U(r,e,o,1)),t}function hr(r){return new this(r).cbrt()}function br(r){return A(r=new this(r),r.e+1,2)}function wr(r,e,t){return new this(r).clamp(e,t)}function yr(r){if(!r||typeof r!="object")throw Error(bt+"Object expected");var e,t,n,i=r.defaults===!0,o=["precision",1,ve,"rounding",0,8,"toExpNeg",-Ze,0,"toExpPos",0,Ze,"maxE",0,Ze,"minE",-Ze,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(t=o[e],i&&(this[t]=Mt[t]),(n=r[t])!==void 0)if(oe(n)===n&&n>=o[e+1]&&n<=o[e+2])this[t]=n;else throw Error(De+t+": "+n);if(t="crypto",i&&(this[t]=Mt[t]),(n=r[t])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[t]=!0;else throw Error(dn);else this[t]=!1;else throw Error(De+t+": "+n);return this}function Tr(r){return new this(r).cos()}function xr(r){return new this(r).cosh()}function Tn(r){var e,t,n;function i(o){var s,a,u,c=this;if(!(c instanceof i))return new i(o);if(c.constructor=i,cn(o)){c.s=o.s,I?!o.d||o.e>i.maxE?(c.e=NaN,c.d=null):o.e<i.minE?(c.e=0,c.d=[0]):(c.e=o.e,c.d=o.d.slice()):(c.e=o.e,c.d=o.d?o.d.slice():o.d);return}if(u=typeof o,u==="number"){if(o===0){c.s=1/o<0?-1:1,c.e=0,c.d=[0];return}if(o<0?(o=-o,c.s=-1):c.s=1,o===~~o&&o<1e7){for(s=0,a=o;a>=10;a/=10)s++;I?s>i.maxE?(c.e=NaN,c.d=null):s<i.minE?(c.e=0,c.d=[0]):(c.e=s,c.d=[o]):(c.e=s,c.d=[o]);return}else if(o*0!==0){o||(c.s=NaN),c.e=NaN,c.d=null;return}return Dt(c,o.toString())}else if(u!=="string")throw Error(De+o);return(a=o.charCodeAt(0))===45?(o=o.slice(1),c.s=-1):(a===43&&(o=o.slice(1)),c.s=1),pn.test(o)?Dt(c,o):or(c,o)}if(i.prototype=h,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=yr,i.clone=Tn,i.isDecimal=cn,i.abs=ar,i.acos=ur,i.acosh=cr,i.add=mr,i.asin=lr,i.asinh=dr,i.atan=fr,i.atanh=pr,i.atan2=gr,i.cbrt=hr,i.ceil=br,i.clamp=wr,i.cos=Tr,i.cosh=xr,i.div=Ar,i.exp=Pr,i.floor=kr,i.hypot=Br,i.ln=Ir,i.log=Nr,i.log10=Sr,i.log2=Cr,i.max=Lr,i.min=Er,i.mod=Rr,i.mul=_r,i.pow=Mr,i.random=Fr,i.round=Or,i.sign=Dr,i.sin=vr,i.sinh=Kr,i.sqrt=qr,i.sub=Gr,i.sum=Vr,i.tan=Ur,i.tanh=Xr,i.trunc=Wr,r===void 0&&(r={}),r&&r.defaults!==!0)for(n=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<n.length;)r.hasOwnProperty(t=n[e++])||(r[t]=this[t]);return i.config(r),i}function Ar(r,e){return new this(r).div(e)}function Pr(r){return new this(r).exp()}function kr(r){return A(r=new this(r),r.e+1,3)}function Br(){var r,e,t=new this(0);for(I=!1,r=0;r<arguments.length;)if(e=new this(arguments[r++]),e.d)t.d&&(t=t.plus(e.times(e)));else{if(e.s)return I=!0,new this(1/0);t=e}return I=!0,t.sqrt()}function cn(r){return r instanceof $e||r&&r.toStringTag===fn||!1}function Ir(r){return new this(r).ln()}function Nr(r,e){return new this(r).log(e)}function Cr(r){return new this(r).log(2)}function Sr(r){return new this(r).log(10)}function Lr(){return bn(this,arguments,"lt")}function Er(){return bn(this,arguments,"gt")}function Rr(r,e){return new this(r).mod(e)}function _r(r,e){return new this(r).mul(e)}function Mr(r,e){return new this(r).pow(e)}function Fr(r){var e,t,n,i,o=0,s=new this(1),a=[];if(r===void 0?r=this.precision:de(r,1,ve),n=Math.ceil(r/P),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(n));o<n;)i=e[o],i>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(n*=4);o<n;)i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((e[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(e,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(dn);else for(;o<n;)a[o++]=Math.random()*1e7|0;for(n=a[--o],r%=P,n&&r&&(i=$(10,P-r),a[o]=(n/i|0)*i);a[o]===0;o--)a.pop();if(o<0)t=0,a=[0];else{for(t=-1;a[0]===0;t-=P)a.shift();for(n=1,i=a[0];i>=10;i/=10)n++;n<P&&(t-=P-n)}return s.e=t,s.d=a,s}function Or(r){return A(r=new this(r),r.e+1,this.rounding)}function Dr(r){return r=new this(r),r.d?r.d[0]?r.s:0*r.s:r.s||NaN}function vr(r){return new this(r).sin()}function Kr(r){return new this(r).sinh()}function qr(r){return new this(r).sqrt()}function Gr(r,e){return new this(r).sub(e)}function Vr(){var r=0,e=arguments,t=new this(e[r]);for(I=!1;t.s&&++r<e.length;)t=t.plus(e[r]);return I=!0,A(t,this.precision,this.rounding)}function Ur(r){return new this(r).tan()}function Xr(r){return new this(r).tanh()}function Wr(r){return A(r=new this(r),r.e+1,1)}h[Symbol.for("nodejs.util.inspect.custom")]=h.toString;h[Symbol.toStringTag]="Decimal";var $e=h.constructor=Tn(Mt);pt=new $e(pt);gt=new $e(gt);var x=$e;import $r from"big.js";import At from"bn.js";import zr from"toformat";var Hr=zr,et=Hr;import xt from"big.js";import jr from"bn.js";import Qr from"decimal.js-light";import tt from"bn.js";var xn=9007199254740991;function ge(r){let e=pe("CobaltX_parseBigNumberish");if(r instanceof tt)return r;if(typeof r=="string"){if(r.match(/^-?[0-9]+$/))return new tt(r);e.logWithError(`invalid BigNumberish string: ${r}`)}return typeof r=="number"?(r%1&&e.logWithError(`BigNumberish number underflow: ${r}`),(r>=xn||r<=-xn)&&e.logWithError(`BigNumberish number overflow: ${r}`),new tt(String(r))):typeof r=="bigint"?new tt(r.toString()):(e.error(`invalid BigNumberish value: ${r}`),new tt(0))}var Tt=pe("module/fraction"),Kt=et(xt),nt=et(Qr),Yr={[0]:nt.ROUND_DOWN,[1]:nt.ROUND_HALF_UP,[2]:nt.ROUND_UP},Jr={[0]:xt.roundDown,[1]:xt.roundHalfUp,[2]:xt.roundUp},v=class{constructor(e,t=new jr(1)){this.numerator=ge(e),this.denominator=ge(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new v(this.denominator,this.numerator)}add(e){let t=e instanceof v?e:new v(ge(e));return this.denominator.eq(t.denominator)?new v(this.numerator.add(t.numerator),this.denominator):new v(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(e){let t=e instanceof v?e:new v(ge(e));return this.denominator.eq(t.denominator)?new v(this.numerator.sub(t.numerator),this.denominator):new v(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(e){let t=e instanceof v?e:new v(ge(e));return new v(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(e){let t=e instanceof v?e:new v(ge(e));return new v(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(e,t={groupSeparator:""},n=1){Number.isInteger(e)||Tt.logWithError(`${e} is not an integer.`),e<=0&&Tt.logWithError(`${e} is not positive.`),nt.set({precision:e+1,rounding:Yr[n]});let i=new nt(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return i.toFormat(i.decimalPlaces(),t)}toFixed(e,t={groupSeparator:""},n=1){return Number.isInteger(e)||Tt.logWithError(`${e} is not an integer.`),e<0&&Tt.logWithError(`${e} is negative.`),Kt.DP=e,Kt.RM=Jr[n]||1,new Kt(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};var ei=pe("CobaltX_amount"),An=et($r);function ti(r,e){let t="0",n="0";if(r.includes(".")){let i=r.split(".");i.length===2?([t,n]=i,n=n.padEnd(e,"0")):ei.logWithError(`invalid number string, num: ${r}`)}else t=r;return[t,n.slice(0,e)||n]}var se=class extends v{constructor(t,n,i=!0,o){let s=new At(0),a=qt.pow(new At(t.decimals));if(i)s=ge(n);else{let u=new At(0),c=new At(0);if(typeof n=="string"||typeof n=="number"||typeof n=="bigint"){let[m,l]=ti(n.toString(),t.decimals);u=ge(m),c=ge(l)}u=u.mul(a),s=u.add(c)}super(s,a);this.logger=pe(o||"TokenAmount"),this.token=t}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(t){return this.token.equals(t.token)||this.logger.logWithError("gt token not equals"),this.raw.gt(t.raw)}lt(t){return this.token.equals(t.token)||this.logger.logWithError("lt token not equals"),this.raw.lt(t.raw)}add(t){return this.token.equals(t.token)||this.logger.logWithError("add token not equals"),new se(this.token,this.raw.add(t.raw))}subtract(t){return this.token.equals(t.token)||this.logger.logWithError("sub token not equals"),new se(this.token,this.raw.sub(t.raw))}toSignificant(t=this.token.decimals,n,i=0){return super.toSignificant(t,n,i)}toFixed(t=this.token.decimals,n,i=0){return t>this.token.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(t,n,i)}toExact(t={groupSeparator:""}){return An.DP=this.token.decimals,new An(this.numerator.toString()).div(this.denominator.toString()).toFormat(t)}};import{TOKEN_PROGRAM_ID as Pn}from"@solana/spl-token";import{PublicKey as ni}from"@solana/web3.js";var kn={chainId:101,address:ni.default.toBase58(),programId:Pn.toBase58(),decimals:9,symbol:"ETH",name:"Ethereum",logoURI:"https://raw.githubusercontent.com/cobaltx-io/tokens/main/logo/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"cobaltx",extensions:{coingeckoId:"solana"}},Ve={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Pn.toBase58(),decimals:9,symbol:"WETH",name:"Wrapped ETH",logoURI:"https://raw.githubusercontent.com/cobaltx-io/tokens/main/logo/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"cobaltx",extensions:{coingeckoId:"solana"}};import{PublicKey as Ut}from"@solana/web3.js";import{PublicKey as re,SystemProgram as Bn,SYSVAR_RENT_PUBKEY as ri}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ii}from"@solana/spl-token";function Gt({pubkey:r,isSigner:e=!1,isWritable:t=!0}){return{pubkey:r,isWritable:t,isSigner:e}}var Lo=[Gt({pubkey:ii,isWritable:!1}),Gt({pubkey:Bn.programId,isWritable:!1}),Gt({pubkey:ri,isWritable:!1})];function Vt({publicKey:r,transformSol:e}){let t=In(r.toString());if(t instanceof re)return e&&t.equals(rt)?Rt:t;if(e&&t.toString()===rt.toBase58())return Rt;if(typeof t=="string"){if(t===re.default.toBase58())return re.default;try{return new re(t)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function In(r){try{return new re(r)}catch{return r}}var Eo=new re("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Ro=new re("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),_o=new re("SysvarRent111111111111111111111111111111111"),Mo=new re("SysvarC1ock11111111111111111111111111111111"),oi=new re("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Fo=new re("Sysvar1nstructions1111111111111111111111111"),Oo=Bn.programId,Do=new re("a2Gt18uJC8puJT9JRYQLU6rPi6okxQb4WqCjwtYshZB"),vo=new re("bXSKiFqYrALF9gJy1KqHm8tv4QXk8nCgbLN8WRsGEbh"),Rt=new re("So11111111111111111111111111111111111111112"),rt=re.default,Ko=new re("71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd"),qo=new re("ERFzpDteGNo8LTDKW1WwVGrkRMmA2y9WZHXNHxMA6BSV");function dt(r){return Vt({publicKey:r,transformSol:!0})}var Xt=class{constructor({mint:e,decimals:t,symbol:n,name:i,skipMint:o=!1,isToken2022:s=!1}){if(e===rt.toBase58()||e instanceof Ut&&rt.equals(e)){this.decimals=Ve.decimals,this.symbol=Ve.symbol,this.name=Ve.name,this.mint=new Ut(Ve.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=n||e.toString().substring(0,6),this.name=i||e.toString().substring(0,6),this.mint=o?Ut.default:Vt({publicKey:e}),this.isToken2022=s}equals(e){return this===e?!0:this.mint.equals(e.mint)}},Se=Xt;Se.WSOL=new Xt({...Ve,mint:Ve.address});var Wt=class{constructor({decimals:e,symbol:t="UNKNOWN",name:n="UNKNOWN"}){this.decimals=e,this.symbol=t,this.name=n}equals(e){return this===e}},Pt=Wt;Pt.SOL=new Wt(kn);import si from"bn.js";var Nn=new v(new si(100)),Ke=class extends v{toSignificant(e=5,t,n){return this.mul(Nn).toSignificant(e,t,n)}toFixed(e=2,t,n){return this.mul(Nn).toFixed(e,t,n)}};var ai=pe("CobaltX_price"),Ae=class extends v{constructor(t){let{baseToken:n,quoteToken:i,numerator:o,denominator:s}=t;super(o,s);this.baseToken=n,this.quoteToken=i,this.scalar=new v(zt(n.decimals),zt(i.decimals))}get raw(){return new v(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new Ae({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(t){this.quoteToken!==t.baseToken&&ai.logWithError("mul token not equals");let n=super.mul(t);return new Ae({baseToken:this.baseToken,quoteToken:t.quoteToken,denominator:n.denominator,numerator:n.numerator})}toSignificant(t=this.quoteToken.decimals,n,i){return this.adjusted.toSignificant(t,n,i)}toFixed(t=this.quoteToken.decimals,n,i){return this.adjusted.toFixed(t,n,i)}};import{PublicKey as ws}from"@solana/web3.js";import Ts from"bn.js";var ui=new Le(0),vs=new Le(1),Ks=new Le(2),qs=new Le(3),Gs=new Le(5),qt=new Le(10),Vs=new Le(100),Us=new Le(1e3),Xs=new Le(1e4);function zt(r){return qt.pow(ge(r))}function Lt(r,e=1,t=[]){let n=[...r];if(e<=0)return t;for(;n.length;)t.push(n.splice(0,e));return t}import{PublicKey as ga}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ba}from"@solana/spl-token";import{ComputeBudgetProgram as $s,Keypair as na,PublicKey as ci,Transaction as ia,TransactionMessage as sa,VersionedTransaction as aa}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as la}from"@solana/spl-token";var da=pe("CobaltX_txUtil");function it(r,e){let[t,n]=ci.findProgramAddressSync(r,e);return{publicKey:t,nonce:n}}import{PublicKey as C}from"@solana/web3.js";var xa=new C("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Aa=new C("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Pa=new C("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),ka=new C("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Ba=new C("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ia=new C("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Na=new C("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Ca=new C("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Sa=new C("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),La=new C("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Ea=new C("2TnjBuwqyBB9to5jURagDT7jLmBPefGRiKL2yh1zPZ4V"),Ra=new C("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),_a=new C("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Ma=new C("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Fa=new C("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Oa=new C("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Da=new C("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),va=new C("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),Ka=new C("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),qa=new C("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Ga=new C("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Va=new C("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),mi=new C("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),li=new C("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),di=new C("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),Ua=new C("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),fi=new C("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),Xa=new C("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),pi=new C("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var Wa={SERUM_MARKET:C.default,OPENBOOK_MARKET:new C("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:C.default,FarmV3:new C("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new C("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new C("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new C("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new C("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new C("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new C("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new C("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),Router:new C("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:mi,CREATE_CPMM_POOL_AUTH:li,CREATE_CPMM_POOL_FEE_ACC:di,FEE_DESTINATION_ID:new C("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:fi,LCOK_CPMM_AUTH:pi};import Pe from"bn.js";var ot=1e4;function W(r,e,t,n){if(e===void 0)return{amount:r,fee:void 0,expirationTime:void 0};let i={...e,olderTransferFee:{epoch:BigInt(e.olderTransferFee.epoch),maximumFee:BigInt(e.olderTransferFee.maximumFee),transferFeeBasisPoints:e.olderTransferFee.transferFeeBasisPoints},newerTransferFee:{epoch:BigInt(e.newerTransferFee.epoch),maximumFee:BigInt(e.newerTransferFee.maximumFee),transferFeeBasisPoints:e.newerTransferFee.transferFeeBasisPoints}},o=t.epoch<i.newerTransferFee.epoch?i.olderTransferFee:i.newerTransferFee,s=new Pe(o.maximumFee.toString()),a=t.epoch<i.newerTransferFee.epoch?(Number(i.newerTransferFee.epoch)*t.slotsInEpoch-t.absoluteSlot)*400/1e3:void 0;if(n)if(o.transferFeeBasisPoints===ot){let u=new Pe(o.maximumFee.toString());return{amount:r.add(u),fee:u,expirationTime:a}}else{let u=Ht(r.mul(new Pe(ot)),new Pe(ot-o.transferFeeBasisPoints)),c=new Pe(o.maximumFee.toString()),m=u.sub(r).gt(c)?r.add(c):u,l=Ht(m.mul(new Pe(o.transferFeeBasisPoints)),new Pe(ot)),d=l.gt(s)?s:l;return{amount:m,fee:d,expirationTime:a}}else{let u=Ht(r.mul(new Pe(o.transferFeeBasisPoints)),new Pe(ot)),c=u.gt(s)?s:u;return{amount:r,fee:c,expirationTime:a}}}function qe(r,e){return r===void 0?e:e===void 0?r:Math.min(r,e)}function Ht(r,e){let{div:t,mod:n}=r.divmod(e);return n.gt(new Pe(0))?t.add(new Pe(1)):t}import{PublicKey as gi,AddressLookupTableAccount as Cn}from"@solana/web3.js";var hi={AiAibtFJts8e4W1FjWYRH34aBJkJqghdmXiJozK7MvTM:new Cn({key:new gi("AiAibtFJts8e4W1FjWYRH34aBJkJqghdmXiJozK7MvTM"),state:Cn.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 mu,sendAndConfirmTransaction as lu,Transaction as fu,TransactionMessage as gu,VersionedTransaction as hu}from"@solana/web3.js";import wu from"axios";import{PublicKey as Bi}from"@solana/web3.js";import Rn,{isBN as _n}from"bn.js";import{bits as Uu,BitStructure as Xu,blob as bi,Blob as Wu,cstr as zu,f32 as Hu,f32be as Zu,f64 as ju,f64be as Qu,greedy as Yu,Layout as wi,ns64 as Ju,ns64be as $u,nu64 as ec,nu64be as tc,offset as nc,s16 as rc,s16be as ic,s24 as oc,s24be as sc,s32 as yi,s32be as ac,s40 as uc,s40be as cc,s48 as mc,s48be as lc,s8 as dc,seq as Ti,struct as fc,Structure as xi,u16 as Ai,u16be as pc,u24 as gc,u24be as hc,u32 as bc,u32be as wc,u40 as yc,u40be as Tc,u48 as xc,u48be as Ac,u8 as Pi,UInt as ki,union as Pc,Union as kc,unionLayoutDiscriminator as Bc,utf8 as Ic}from"@solana/buffer-layout";var Zt=wi,Sn=xi;var jt=ki;var Ln=Pi,st=Ai;var Ge=yi;var En=Ti;var he=bi;var Qe=class extends Zt{constructor(t,n,i){super(t,i);this.blob=he(t),this.signed=n}decode(t,n=0){let i=new Rn(this.blob.decode(t,n),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(t,n,i=0){return typeof t=="number"&&(t=new Rn(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),n,i)}};function fe(r){return new jt(1,r)}function Ye(r){return new jt(4,r)}function O(r){return new Qe(8,!1,r)}function Z(r){return new Qe(16,!1,r)}function Mn(r){return new Qe(8,!0,r)}function Fn(r){return new Qe(16,!0,r)}var kt=class extends Zt{constructor(t,n,i,o){super(t.span,o);this.layout=t,this.decoder=n,this.encoder=i}decode(t,n){return this.decoder(this.layout.decode(t,n))}encode(t,n,i){return this.layout.encode(this.encoder(t),n,i)}getSpan(t,n){return