UNPKG

@cobaltx/sdk-v2

Version:

An SDK for building applications on top of CobaltX.

1 lines 58.5 kB
import G from"bn.js";import{MINT_SIZE as ni,TOKEN_PROGRAM_ID as ii,getTransferFeeConfig as oi,unpackMint as si}from"@solana/spl-token";import{PublicKey as fr}from"@solana/web3.js";import{get as mt,set as lr}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={},dr={};function v(e){let t=mt(pt,e);if(!t){let r=mt(dr,e);t=new Ge({name:e,logLevel:r}),lr(pt,e,t)}return t}var He=v("CobaltX_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 fr(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,Ze="0123456789abcdef",Ae="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Be="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Xe={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ue,maxE:ue,crypto:!1},Tt,J,b=!0,Ce="[DecimalError] ",ne=Ce+"Invalid argument: ",xt=Ce+"Precision limit exceeded",Pt=Ce+"crypto unavailable",St="[object Decimal]",q=Math.floor,V=Math.pow,mr=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,pr=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,gr=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Lt=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,z=1e7,w=7,hr=9007199254740991,wr=Ae.length-1,Je=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=yr(n,Rt(n,r)),n.precision=e,n.rounding=t,h(J==2||J==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*V(l.s*l,1/3),!o||Math.abs(o)==1/0?(r=O(l.d),e=l.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=V(r,1/3),e=q((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=R(u.plus(l).times(a),u.plus(c),s+2,1),O(a.d).slice(0,s)===(r=O(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-q(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 R(this,new this.constructor(e))};m.dividedToIntegerBy=m.divToInt=function(e){var t=this,r=t.constructor;return h(R(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/Ne(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/Ne(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,R(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=R(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<=Je)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<=Je)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&&q(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=R(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=R(s,n,a,1),!o){+O(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=q(e.e/w),l=q(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=Re(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=R(r,e.abs(),0,3,1),t.s*=e.s):t=R(r,e,0,n.modulo,1),t=t.times(e),b=!0,r.minus(t))};m.naturalExponential=m.exp=function(){return Ye(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=q(d.e/w),n=q(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=Re(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=Tr(n,Rt(n,r)),n.precision=e,n.rounding=t,h(J>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=O(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=q((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(R(s,o,r+2,1)).times(.5),O(o.d).slice(0,r)===(t=O(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=R(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,h(J==2||J==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=q(l.e/w)+q(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=Re(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:(U(e,0,ie),t===void 0?t=n.rounding:U(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=Z(n,!0):(U(e,0,ie),t===void 0?t=i.rounding:U(t,0,8),n=h(new i(n),e+1,t),r=Z(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=Z(i):(U(e,0,ie),t===void 0?t=o.rounding:U(t,0,8),n=h(new o(i),e+i.e+1,t),r=Z(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]=V(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(O(T)),l=y.precision,y.precision=o=T.length*w*2;d=R(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=R(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=R(u,n,o,1).minus(p).abs().cmp(R(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:U(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=R(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(V(+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=q(e.e/w),t>=e.d.length-1&&(r=u<0?-u:u)<=hr)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=V(+a,u),t=r==0||!isFinite(r)?q(u*(Math.log("0."+O(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=Ye(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(Ye(e.times(re(a,t+r)),t),t+5,1),+O(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=Z(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(U(e,1,ie),t===void 0?t=i.rounding:U(t,0,8),n=h(new i(n),e,t),r=Z(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):(U(e,1,ie),t===void 0?t=n.rounding:U(t,0,8)),h(new n(r),e,t)};m.toString=function(){var e=this,t=e.constructor,r=Z(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=Z(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function O(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 U(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=V(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)==V(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)==V(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]+=Ze.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 yr(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/Ne(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 R=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,M,C,D,Te,X,We,xe,fe,qe,H,Pe,Se=n.constructor,Ue=n.s==i.s?1:-1,W=n.d,N=i.d;if(!W||!W[0]||!N||!N[0])return new Se(!n.s||!i.s||(W?N&&W[0]==N[0]:!N)?NaN:W&&W[0]==0||!N?Ue*0:Ue/0);for(c?(p=1,l=n.e-i.e):(c=z,p=w,l=q(n.e/p)-q(i.e/p)),H=N.length,fe=W.length,S=new Se(Ue),M=S.d=[],d=0;N[d]==(W[d]||0);d++);if(N[d]>(W[d]||0)&&l--,o==null?(X=o=Se.precision,s=Se.rounding):a?X=o+(n.e-i.e)+1:X=o,X<0)M.push(1),T=!0;else{if(X=X/p+2|0,d=0,H==1){for(f=0,N=N[0],X++;(d<fe||f)&&X--;d++)We=f*c+(W[d]||0),M[d]=We/N|0,f=We%N|0;T=f||d<fe}else{for(f=c/(N[0]+1)|0,f>1&&(N=e(N,f,c),W=e(W,f,c),H=N.length,fe=W.length),xe=H,C=W.slice(0,H),D=C.length;D<H;)C[D++]=0;Pe=N.slice(),Pe.unshift(0),qe=N[0],N[1]>=c/2&&++qe;do f=0,u=t(N,C,H,D),u<0?(Te=C[0],H!=D&&(Te=Te*c+(C[1]||0)),f=Te/qe|0,f>1?(f>=c&&(f=c-1),y=e(N,f,c),B=y.length,D=C.length,u=t(y,C,B,D),u==1&&(f--,r(y,H<B?Pe:N,B,c))):(f==0&&(u=f=1),y=N.slice()),B=y.length,B<D&&y.unshift(0),r(C,y,D,c),u==-1&&(D=C.length,u=t(N,C,H,D),u<1&&(f++,r(C,H<D?Pe:N,D,c))),D=C.length):u===0&&(f++,C=[0]),M[d++]=f,u&&C[0]?C[D++]=W[xe]||0:(C=[W[xe]],D=1);while((xe++<fe||C[0]!==void 0)&&X--);T=C[0]!==void 0}M[0]||M.shift()}if(p==1)S.e=l,Tt=T;else{for(d=1,f=M[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/V(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/V(10,i-s-1)%10|0}if(n=n||t<0||d[f+1]!==void 0||(s<0?l:l%V(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/V(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]=V(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=V(10,w-o),d[f]=s>0?(l/V(10,i-s)%V(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 Z(e,t,r){if(!e.isFinite())return Ct(e);var n,i=e.e,o=O(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 Re(e,t){var r=e[0];for(t*=w;r>=10;r/=10)t++;return t}function ke(e,t,r){if(t>wr)throw b=!0,r&&(e.precision=r),Error(xt);return h(new e(Ae),t,1,!0)}function j(e,t,r){if(t>Je)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=q(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 Ye(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(V(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(R(o,r,c,1)),O(a.d).slice(0,c)===O(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,M=S.rounding,C=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=C):l=t,S.precision=l+=T,r=O(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=O(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,C).times(o+""),y=re(new S(n+"."+r.slice(1)),l-T).plus(u),S.precision=C,t==null?h(y,C,M,b=!0):y;for(d=y,c=s=y=R(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(R(s,new S(i),l,1)),O(u.d).slice(0,l)===O(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(ke(S,l+2,C).times(o+""))),c=R(c,new S(p),l,1),t==null)if(me(c.d,l-T,M,a))S.precision=l+=T,u=s=y=R(d.minus(1),d.plus(1),l,1),f=h(y.times(y),l,1),i=a=1;else return h(c,S.precision=C,M,b=!0);else return S.precision=C,c;c=u,i+=2}}function Ct(e){return String(e.s*e.s/0)}function Qe(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 br(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 Qe(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(pr.test(t))r=16,t=t.toLowerCase();else if(mr.test(t))r=2;else if(gr.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=Re(u,l),e.d=u,b=!1,s&&(e=R(e,i,a*4)),c&&(e=e.times(Math.abs(c)<54?V(2,c):Ie.pow(2,c))),b=!0,e)}function Tr(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/Ne(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=R(a.times(c),new e(t++*t++),l,1),a=i?n.plus(s):n.minus(s),n=R(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 Ne(e,t){for(var r=e;--t;)r*=e;return r}function Rt(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 J=n?4:1,t;if(r=t.divToInt(i),r.isZero())J=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return J=wt(r)?n?2:3:n?4:1,t;J=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?(U(r,1,ie),n===void 0?n=p.rounding:U(n,0,8)):(r=p.precision,n=p.rounding),!e.isFinite())l=Ct(e);else{for(l=Z(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(Z(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=R(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+=Ze.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+=Ze.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 xr(e){return new this(e).abs()}function Pr(e){return new this(e).acos()}function Sr(e){return new this(e).acosh()}function Lr(e,t){return new this(e).plus(t)}function Ar(e){return new this(e).asin()}function Br(e){return new this(e).asinh()}function kr(e){return new this(e).atan()}function Cr(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(R(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(R(e,t,o,1)),r}function Nr(e){return new this(e).cbrt()}function Ir(e){return h(e=new this(e),e.e+1,2)}function _r(e,t,r){return new this(e).clamp(t,r)}function Er(e){if(!e||typeof e!="object")throw Error(Ce+"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]=Xe[r]),(n=e[r])!==void 0)if(q(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]=Xe[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 Fr(e){return new this(e).cos()}function Mr(e){return new this(e).cosh()}function Nt(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 Qe(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)?Qe(u,o):br(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=Er,i.clone=Nt,i.isDecimal=bt,i.abs=xr,i.acos=Pr,i.acosh=Sr,i.add=Lr,i.asin=Ar,i.asinh=Br,i.atan=kr,i.atanh=Cr,i.atan2=Rr,i.cbrt=Nr,i.ceil=Ir,i.clamp=_r,i.cos=Fr,i.cosh=Mr,i.div=Vr,i.exp=Dr,i.floor=vr,i.hypot=Or,i.ln=Kr,i.log=Wr,i.log10=Ur,i.log2=qr,i.max=Gr,i.min=Hr,i.mod=jr,i.mul=zr,i.pow=Zr,i.random=Xr,i.round=Jr,i.sign=Yr,i.sin=Qr,i.sinh=$r,i.sqrt=en,i.sub=tn,i.sum=rn,i.tan=nn,i.tanh=on,i.trunc=sn,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 Vr(e,t){return new this(e).div(t)}function Dr(e){return new this(e).exp()}function vr(e){return h(e=new this(e),e.e+1,3)}function Or(){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 Kr(e){return new this(e).ln()}function Wr(e,t){return new this(e).log(t)}function qr(e){return new this(e).log(2)}function Ur(e){return new this(e).log(10)}function Gr(){return kt(this,arguments,"lt")}function Hr(){return kt(this,arguments,"gt")}function jr(e,t){return new this(e).mod(t)}function zr(e,t){return new this(e).mul(t)}function Zr(e,t){return new this(e).pow(t)}function Xr(e){var t,r,n,i,o=0,s=new this(1),a=[];if(e===void 0?e=this.precision:U(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=V(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 Jr(e){return h(e=new this(e),e.e+1,this.rounding)}function Yr(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 $r(e){return new this(e).sinh()}function en(e){return new this(e).sqrt()}function tn(e,t){return new this(e).sub(t)}function rn(){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 nn(e){return new this(e).tan()}function on(e){return new this(e).tanh()}function sn(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=Nt(Xe);Ae=new Ie(Ae);Be=new Ie(Be);import pn from"big.js";import Fe from"bn.js";import an from"toformat";var un=an,pe=un;import Ee from"big.js";import ln from"bn.js";import dn from"decimal.js-light";import ge from"bn.js";var It=9007199254740991;function E(e){let t=v("CobaltX_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=v("module/fraction"),et=pe(Ee),he=pe(dn),fn={[0]:he.ROUND_DOWN,[1]:he.ROUND_HALF_UP,[2]:he.ROUND_UP},mn={[0]:Ee.roundDown,[1]:Ee.roundHalfUp,[2]:Ee.roundUp},k=class{constructor(t,r=new ln(1)){this.numerator=E(t),this.denominator=E(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(E(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(E(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(E(t));return new k(this.numerator.mul(r.numerator),this.denominator.mul(r.denominator))}div(t){let r=t instanceof k?t:new k(E(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:fn[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=mn[n]||1,new et(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,r)}isZero(){return this.numerator.isZero()}};var gn=v("CobaltX_amount"),_t=pe(pn);function hn(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")):gn.logWithError(`invalid number string, num: ${e}`)}else r=e;return[r,n.slice(0,t)||n]}var Y=class extends k{constructor(r,n,i=!0,o){let s=new Fe(0),a=tt.pow(new Fe(r.decimals));if(i)s=E(n);else{let c=new Fe(0),u=new Fe(0);if(typeof n=="string"||typeof n=="number"||typeof n=="bigint"){let[l,d]=hn(n.toString(),r.decimals);c=E(l),u=E(d)}c=c.mul(a),s=c.add(u)}super(s,a);this.logger=v(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 Y(this.token,this.raw.add(r.raw))}subtract(r){return this.token.equals(r.token)||this.logger.logWithError("sub token not equals"),new Y(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{TOKEN_PROGRAM_ID as Et}from"@solana/spl-token";import{PublicKey as wn}from"@solana/web3.js";var Ft={chainId:101,address:wn.default.toBase58(),programId:Et.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"}},oe={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Et.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 it}from"@solana/web3.js";import{PublicKey as K,SystemProgram as Mt,SYSVAR_RENT_PUBKEY as yn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as bn}from"@solana/spl-token";function rt({pubkey:e,isSigner:t=!1,isWritable:r=!0}){return{pubkey:e,isWritable:r,isSigner:t}}var ji=[rt({pubkey:bn,isWritable:!1}),rt({pubkey:Mt.programId,isWritable:!1}),rt({pubkey:yn,isWritable:!1})];function Vt({publicKey:e,transformSol:t}){let r=nt(e.toString());if(r instanceof K)return t&&r.equals(we)?ze:r;if(t&&r.toString()===we.toBase58())return ze;if(typeof r=="string"){if(r===K.default.toBase58())return K.default;try{return new K(r)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function nt(e){try{return new K(e)}catch{return e}}var zi=new K("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Zi=new K("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Xi=new K("SysvarRent111111111111111111111111111111111"),Ji=new K("SysvarC1ock11111111111111111111111111111111"),Yi=new K("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Qi=new K("Sysvar1nstructions1111111111111111111111111"),$i=Mt.programId,eo=new K("a2Gt18uJC8puJT9JRYQLU6rPi6okxQb4WqCjwtYshZB"),to=new K("bXSKiFqYrALF9gJy1KqHm8tv4QXk8nCgbLN8WRsGEbh"),ze=new K("So11111111111111111111111111111111111111112"),we=K.default,ro=new K("71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd"),no=new K("ERFzpDteGNo8LTDKW1WwVGrkRMmA2y9WZHXNHxMA6BSV");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}},Me=st;Me.SOL=new st(Ft);import Tn from"bn.js";var Dt=new k(new Tn(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 xn=v("CobaltX_price"),Q=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 Q({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(r){this.quoteToken!==r.baseToken&&xn.logWithError("mul token not equals");let n=super.mul(r);return new Q({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 Sn}from"@solana/web3.js";import Ln from"bn.js";function vt(e){return typeof e=="object"&&e!==null&&![se,Y,Sn,k,Ln,Q,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 Pn=new $(0),es=new $(1),ts=new $(2),rs=new $(3),ns=new $(5),tt=new $(10),is=new $(100),os=new $(1e3),ss=new $(1e4);function at(e){return tt.pow(E(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 Wt(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 Is}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Es}from"@solana/spl-token";import{ComputeBudgetProgram as gs,Keypair as ys,PublicKey as An,Transaction as Ts,TransactionMessage as Ps,VersionedTransaction as Ss}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ks}from"@solana/spl-token";var Cs=v("CobaltX_txUtil");function ye(e,t){let[r,n]=An.findProgramAddressSync(e,t);return{publicKey:r,nonce:n}}import{PublicKey as x}from"@solana/web3.js";var qt=new x("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Ut=new x("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Gt=new x("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Ht=new x("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Ds=new x("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),vs=new x("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Os=new x("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Ks=new x("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Ws=new x("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),qs=new x("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Us=new x("2TnjBuwqyBB9to5jURagDT7jLmBPefGRiKL2yh1zPZ4V"),Gs=new x("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Hs=new x("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),js=new x("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),zs=new x("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Zs=new x("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Xs=new x("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Js=new x("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),Ys=new x("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),Qs=new x("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),$s=new x("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),ea=new x("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Bn=new x("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),kn=new x("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),Cn=new x("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),ta=new x("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Rn=new x("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),ra=new x("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Nn=new x("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var na={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:Bn,CREATE_CPMM_POOL_AUTH:kn,CREATE_CPMM_POOL_FEE_ACC:Cn,FEE_DESTINATION_ID:new x("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:Rn,LCOK_CPMM_AUTH:Nn};import sa from"bn.js";import{PublicKey as In,AddressLookupTableAccount as jt}from"@solana/web3.js";var _n={AiAibtFJts8e4W1FjWYRH34aBJkJqghdmXiJozK7MvTM:new jt({key:new In("AiAibtFJts8e4W1FjWYRH34aBJkJqghdmXiJozK7MvTM"),state:jt.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 Sa,sendAndConfirmTransaction as La,Transaction as Ba,TransactionMessage as Ca,VersionedTransaction as Ra}from"@solana/web3.js";import Ia from"axios";import{PublicKey as On}from"@solana/web3.js";import Jt,{isBN as Yt}from"bn.js";import{bits as ru,BitStructure as nu,blob as En,Blob as iu,cstr as ou,f32 as su,f32be as au,f64 as uu,f64be as cu,greedy as lu,Layout as Fn,ns64 as du,ns64be as fu,nu64 as mu,nu64be as pu,offset as gu,s16 as hu,s16be as wu,s24 as yu,s24be as bu,s32 as Tu,s32be as xu,s40 as Pu,s40be as Su,s48 as Lu,s48be as Au,s8 as Bu,seq as Mn,struct as ku,Structure as Vn,u16 as Cu,u16be as Ru,u24 as Nu,u24be as Iu,u32 as _u,u32be as Eu,u40 as Fu,u40be as Mu,u48 as Vu,u48be as Du,u8 as Dn,UInt as vn,union as vu,Union as Ou,unionLayoutDiscriminator as Ku,utf8 as Wu}from"@solana/buffer-layout";var ut=Fn,zt=Vn;var ct=vn;var Zt=Dn;var Xt=Mn;var ae=En;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 Jt(this.blob.decode(r,n),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(r,n,i=0){return typeof r=="number"&&(r=new Jt(r)),this.signed&&(r=r.toTwos(this.span*8)),this.blob.encode(r.toArrayLike(Buffer,"le",this.span),n,i)}};function 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 On(t),t=>t.toBuffer(),e)}function dt(e){return new De(Zt(),Kn,Wn,e)}function Kn(e){if(e===0)return!1;if(e===1)return!0;throw new Error("Invalid bool: "+e)}function Wn(e){return e?1:0}var lt=class extends zt{decode(t,r){return super.decode(t,r)}};function I(e,t,r){return new lt(e,t,r)}function _(e,t,r){let n,i=typeof t=="number"?t:Yt(t)?t.toNumber():new Proxy(t,{get(o,s){if(!n){let a=Reflect.get(o,"count");n=Yt(a)?a.toNumber():a,Reflect.set(o,"count",n)}return Reflect.get(o,s)},set(o,s,a){return s==="count"&&(n=a),Reflect.set(o,s,a)}});return Xt(e,i,r)}var ft=I([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 ar}from"@solana/web3.js";var ac=I([F("instruction")]),uc=I([F("instruction")]),qn=I([g("rewardState"),g("rewardOpenTime"),g("rewardEndTime"),g("rewardLastUpdateTime"),g("totalReward"),g("totalRewardEmissioned"),g("rewardClaimed"),g("rewardPerSecond"),ee("accRewardPerShare"),P