@raydium-io/raydium-sdk-v2 0.2.1-alpha → 0.2.2-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/lib/api/api.d.ts +1 -1
  2. package/lib/api/index.d.ts +1 -1
  3. package/lib/api/index.js.map +1 -1
  4. package/lib/api/index.mjs.map +1 -1
  5. package/lib/api/type.d.ts +1 -1
  6. package/lib/api/type.js +1 -1
  7. package/lib/api/type.js.map +1 -1
  8. package/lib/api/type.mjs.map +1 -1
  9. package/lib/{api-24bf4058.d.ts → api-0017263f.d.ts} +5 -0
  10. package/lib/common/accountInfo.d.ts +1 -1
  11. package/lib/common/bignumber.d.ts +1 -1
  12. package/lib/common/constant.d.ts +1 -1
  13. package/lib/common/fractionUtil.d.ts +1 -1
  14. package/lib/common/index.d.ts +1 -1
  15. package/lib/common/transfer.d.ts +1 -1
  16. package/lib/common/txTool/txTool.d.ts +1 -1
  17. package/lib/common/txTool/txUtils.d.ts +1 -1
  18. package/lib/common/utility.d.ts +1 -1
  19. package/lib/index.d.ts +3 -3
  20. package/lib/index.js.map +1 -1
  21. package/lib/index.mjs.map +1 -1
  22. package/lib/module/amount.d.ts +1 -1
  23. package/lib/module/fraction.d.ts +1 -1
  24. package/lib/module/index.d.ts +1 -1
  25. package/lib/module/percent.d.ts +1 -1
  26. package/lib/module/price.d.ts +1 -1
  27. package/lib/raydium/account/account.d.ts +3 -3
  28. package/lib/raydium/account/index.d.ts +1 -1
  29. package/lib/raydium/account/instruction.d.ts +1 -1
  30. package/lib/raydium/account/types.d.ts +1 -1
  31. package/lib/raydium/account/util.d.ts +1 -1
  32. package/lib/raydium/clmm/clmm.d.ts +3 -3
  33. package/lib/raydium/clmm/index.d.ts +3 -3
  34. package/lib/raydium/clmm/index.js +1 -1
  35. package/lib/raydium/clmm/index.mjs +1 -1
  36. package/lib/raydium/clmm/instrument.d.ts +2 -2
  37. package/lib/raydium/clmm/type.d.ts +2 -2
  38. package/lib/raydium/clmm/utils/math.d.ts +2 -2
  39. package/lib/raydium/clmm/utils/pool.d.ts +2 -2
  40. package/lib/raydium/clmm/utils/position.d.ts +2 -2
  41. package/lib/raydium/clmm/utils/tick.d.ts +2 -2
  42. package/lib/raydium/clmm/utils/tickQuery.d.ts +2 -2
  43. package/lib/raydium/clmm/utils/tickarrayBitmap.d.ts +2 -2
  44. package/lib/raydium/cpmm/cpmm.d.ts +3 -3
  45. package/lib/raydium/cpmm/curve/calculator.d.ts +1 -1
  46. package/lib/raydium/cpmm/curve/constantProduct.d.ts +1 -1
  47. package/lib/raydium/cpmm/index.d.ts +1 -1
  48. package/lib/raydium/cpmm/instruction.d.ts +1 -1
  49. package/lib/raydium/cpmm/type.d.ts +1 -1
  50. package/lib/raydium/farm/config.d.ts +1 -1
  51. package/lib/raydium/farm/farm.d.ts +3 -3
  52. package/lib/raydium/farm/index.d.ts +1 -1
  53. package/lib/raydium/farm/instruction.d.ts +1 -1
  54. package/lib/raydium/farm/layout.d.ts +1 -1
  55. package/lib/raydium/farm/type.d.ts +1 -1
  56. package/lib/raydium/farm/util.d.ts +1 -1
  57. package/lib/raydium/ido/ido.d.ts +3 -3
  58. package/lib/raydium/ido/index.d.ts +3 -3
  59. package/lib/raydium/ido/instruction.d.ts +1 -1
  60. package/lib/raydium/ido/type.d.ts +1 -1
  61. package/lib/raydium/index.d.ts +3 -3
  62. package/lib/raydium/launchpad/curve/constantProductCurve.d.ts +1 -1
  63. package/lib/raydium/launchpad/curve/curve.d.ts +1 -1
  64. package/lib/raydium/launchpad/curve/curve.js +1 -1
  65. package/lib/raydium/launchpad/curve/curve.mjs +1 -1
  66. package/lib/raydium/launchpad/curve/curveBase.d.ts +1 -1
  67. package/lib/raydium/launchpad/curve/fixedPriceCurve.d.ts +1 -1
  68. package/lib/raydium/launchpad/curve/linearPriceCurve.d.ts +1 -1
  69. package/lib/raydium/launchpad/curve/linearPriceCurve.js +1 -1
  70. package/lib/raydium/launchpad/curve/linearPriceCurve.js.map +1 -1
  71. package/lib/raydium/launchpad/curve/linearPriceCurve.mjs +1 -1
  72. package/lib/raydium/launchpad/curve/linearPriceCurve.mjs.map +1 -1
  73. package/lib/raydium/launchpad/index.d.ts +3 -3
  74. package/lib/raydium/launchpad/launchpad.d.ts +3 -3
  75. package/lib/raydium/launchpad/pda.d.ts +1 -1
  76. package/lib/raydium/launchpad/type.d.ts +1 -1
  77. package/lib/raydium/liquidity/index.d.ts +1 -1
  78. package/lib/raydium/liquidity/instruction.d.ts +1 -1
  79. package/lib/raydium/liquidity/liquidity.d.ts +3 -3
  80. package/lib/raydium/liquidity/type.d.ts +1 -1
  81. package/lib/raydium/liquidity/utils.d.ts +1 -1
  82. package/lib/raydium/marketV2/createMarket.d.ts +3 -3
  83. package/lib/raydium/marketV2/index.d.ts +3 -3
  84. package/lib/raydium/moduleBase.d.ts +3 -3
  85. package/lib/raydium/raydium.d.ts +3 -3
  86. package/lib/raydium/token/constant.d.ts +1 -1
  87. package/lib/raydium/token/index.d.ts +1 -1
  88. package/lib/raydium/token/token.d.ts +3 -3
  89. package/lib/raydium/token/type.d.ts +1 -1
  90. package/lib/raydium/token/utils.d.ts +1 -1
  91. package/lib/raydium/tradeV2/index.d.ts +2 -2
  92. package/lib/raydium/tradeV2/instrument.d.ts +2 -2
  93. package/lib/raydium/tradeV2/trade.d.ts +3 -3
  94. package/lib/raydium/tradeV2/type.d.ts +2 -2
  95. package/lib/raydium/type.d.ts +1 -1
  96. package/lib/raydium/utils1216/index.d.ts +3 -3
  97. package/lib/raydium/utils1216/utils1216.d.ts +3 -3
  98. package/lib/{raydium-80c3ce5d.d.ts → raydium-2d36f2ed.d.ts} +2 -2
  99. package/lib/{type-a20a0a77.d.ts → type-afa99d0e.d.ts} +1 -1
  100. package/package.json +1 -1
  101. package/src/api/type.ts +5 -0
@@ -1,2 +1,2 @@
1
- var hn=Object.defineProperty,Bn=Object.defineProperties;var xn=Object.getOwnPropertyDescriptors;var Bt=Object.getOwnPropertySymbols;var In=Object.prototype.hasOwnProperty,Sn=Object.prototype.propertyIsEnumerable;var xt=(e,t,n)=>t in e?hn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,j=(e,t)=>{for(var n in t||(t={}))In.call(t,n)&&xt(e,n,t[n]);if(Bt)for(var n of Bt(t))Sn.call(t,n)&&xt(e,n,t[n]);return e},$=(e,t)=>Bn(e,xn(t));import U from"bn.js";var de=9e15,ce=1e9,Ye="0123456789abcdef",Ee="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Fe="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Je={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-de,maxE:de,crypto:!1},Kt,ie,A=!0,De="[DecimalError] ",ue=De+"Invalid argument: ",Nt=De+"Precision limit exceeded",Lt=De+"crypto unavailable",Rt="[object Decimal]",D=Math.floor,M=Math.pow,Cn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Kn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Nn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Mt=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Y=1e7,y=7,Ln=9007199254740991,Rn=Ee.length-1,$e=Fe.length-1,p={toStringTag:Rt};p.absoluteValue=p.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),b(e)};p.ceil=function(){return b(new this.constructor(this),this.e+1,2)};p.clampedTo=p.clamp=function(e,t){var n,i=this,r=i.constructor;if(e=new r(e),t=new r(t),!e.s||!t.s)return new r(NaN);if(e.gt(t))throw Error(ue+t);return n=i.cmp(e),n<0?e:i.cmp(t)>0?t:new r(i)};p.comparedTo=p.cmp=function(e){var t,n,i,r,o=this,s=o.d,a=(e=new o.constructor(e)).d,c=o.s,u=e.s;if(!s||!a)return!c||!u?NaN:c!==u?c:s===a?0:!s^c<0?1:-1;if(!s[0]||!a[0])return s[0]?c:a[0]?-u:0;if(c!==u)return c;if(o.e!==e.e)return o.e>e.e^c<0?1:-1;for(i=s.length,r=a.length,t=0,n=i<r?i:r;t<n;++t)if(s[t]!==a[t])return s[t]>a[t]^c<0?1:-1;return i===r?0:i>r^c<0?1:-1};p.cosine=p.cos=function(){var e,t,n=this,i=n.constructor;return n.d?n.d[0]?(e=i.precision,t=i.rounding,i.precision=e+Math.max(n.e,n.sd())+y,i.rounding=1,n=Mn(i,Dt(i,n)),i.precision=e,i.rounding=t,b(ie==2||ie==3?n.neg():n,e,t,!0)):new i(1):new i(NaN)};p.cubeRoot=p.cbrt=function(){var e,t,n,i,r,o,s,a,c,u,l=this,m=l.constructor;if(!l.isFinite()||l.isZero())return new m(l);for(A=!1,o=l.s*M(l.s*l,1/3),!o||Math.abs(o)==1/0?(n=E(l.d),e=l.e,(o=(e-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=M(n,1/3),e=D((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?n="5e"+e:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+e),i=new m(n),i.s=l.s):i=new m(o.toString()),s=(e=m.precision)+3;;)if(a=i,c=a.times(a).times(a),u=c.plus(l),i=I(u.plus(l).times(a),u.plus(c),s+2,1),E(a.d).slice(0,s)===(n=E(i.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!r&&n=="4999"){if(!r&&(b(a,e+1,0),a.times(a).times(a).eq(l))){i=a;break}s+=4,r=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(b(i,e+1,1),t=!i.times(i).times(i).eq(l));break}return A=!0,b(i,e,m.rounding,t)};p.decimalPlaces=p.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-D(this.e/y))*y,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};p.dividedBy=p.div=function(e){return I(this,new this.constructor(e))};p.dividedToIntegerBy=p.divToInt=function(e){var t=this,n=t.constructor;return b(I(t,new n(e),0,1,1),n.precision,n.rounding)};p.equals=p.eq=function(e){return this.cmp(e)===0};p.floor=function(){return b(new this.constructor(this),this.e+1,3)};p.greaterThan=p.gt=function(e){return this.cmp(e)>0};p.greaterThanOrEqualTo=p.gte=function(e){var t=this.cmp(e);return t==1||t===0};p.hyperbolicCosine=p.cosh=function(){var e,t,n,i,r,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;n=s.precision,i=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,r=o.d.length,r<32?(e=Math.ceil(r/3),t=(1/Ve(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=pe(s,1,o.times(t),new s(1),!0);for(var c,u=e,l=new s(8);u--;)c=o.times(o),o=a.minus(c.times(l.minus(c.times(l))));return b(o,s.precision=n,s.rounding=i,!0)};p.hyperbolicSine=p.sinh=function(){var e,t,n,i,r=this,o=r.constructor;if(!r.isFinite()||r.isZero())return new o(r);if(t=o.precision,n=o.rounding,o.precision=t+Math.max(r.e,r.sd())+4,o.rounding=1,i=r.d.length,i<3)r=pe(o,2,r,r,!0);else{e=1.4*Math.sqrt(i),e=e>16?16:e|0,r=r.times(1/Ve(5,e)),r=pe(o,2,r,r,!0);for(var s,a=new o(5),c=new o(16),u=new o(20);e--;)s=r.times(r),r=r.times(a.plus(s.times(c.times(s).plus(u))))}return o.precision=t,o.rounding=n,b(r,t,n,!0)};p.hyperbolicTangent=p.tanh=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+7,i.rounding=1,I(n.sinh(),n.cosh(),i.precision=e,i.rounding=t)):new i(n.s)};p.inverseCosine=p.acos=function(){var e,t=this,n=t.constructor,i=t.abs().cmp(1),r=n.precision,o=n.rounding;return i!==-1?i===0?t.isNeg()?Q(n,r,o):new n(0):new n(NaN):t.isZero()?Q(n,r+4,o).times(.5):(n.precision=r+6,n.rounding=1,t=t.asin(),e=Q(n,r+4,o).times(.5),n.precision=r,n.rounding=o,e.minus(t))};p.inverseHyperbolicCosine=p.acosh=function(){var e,t,n=this,i=n.constructor;return n.lte(1)?new i(n.eq(1)?0:NaN):n.isFinite()?(e=i.precision,t=i.rounding,i.precision=e+Math.max(Math.abs(n.e),n.sd())+4,i.rounding=1,A=!1,n=n.times(n).minus(1).sqrt().plus(n),A=!0,i.precision=e,i.rounding=t,n.ln()):new i(n)};p.inverseHyperbolicSine=p.asinh=function(){var e,t,n=this,i=n.constructor;return!n.isFinite()||n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,i.rounding=1,A=!1,n=n.times(n).plus(1).sqrt().plus(n),A=!0,i.precision=e,i.rounding=t,n.ln())};p.inverseHyperbolicTangent=p.atanh=function(){var e,t,n,i,r=this,o=r.constructor;return r.isFinite()?r.e>=0?new o(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(e=o.precision,t=o.rounding,i=r.sd(),Math.max(i,e)<2*-r.e-1?b(new o(r),e,t,!0):(o.precision=n=i-r.e,r=I(r.plus(1),new o(1).minus(r),n+e,1),o.precision=e+4,o.rounding=1,r=r.ln(),o.precision=e,o.rounding=t,r.times(.5))):new o(NaN)};p.inverseSine=p.asin=function(){var e,t,n,i,r=this,o=r.constructor;return r.isZero()?new o(r):(t=r.abs().cmp(1),n=o.precision,i=o.rounding,t!==-1?t===0?(e=Q(o,n+4,i).times(.5),e.s=r.s,e):new o(NaN):(o.precision=n+6,o.rounding=1,r=r.div(new o(1).minus(r.times(r)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=i,r.times(2)))};p.inverseTangent=p.atan=function(){var e,t,n,i,r,o,s,a,c,u=this,l=u.constructor,m=l.precision,d=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&m+4<=$e)return s=Q(l,m+4,d).times(.25),s.s=u.s,s}else{if(!u.s)return new l(NaN);if(m+4<=$e)return s=Q(l,m+4,d).times(.5),s.s=u.s,s}for(l.precision=a=m+10,l.rounding=1,n=Math.min(28,a/y+2|0),e=n;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(A=!1,t=Math.ceil(a/y),i=1,c=u.times(u),s=new l(u),r=u;e!==-1;)if(r=r.times(c),o=s.minus(r.div(i+=2)),r=r.times(c),s=o.plus(r.div(i+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return n&&(s=s.times(2<<n-1)),A=!0,b(s,l.precision=m,l.rounding=d,!0)};p.isFinite=function(){return!!this.d};p.isInteger=p.isInt=function(){return!!this.d&&D(this.e/y)>this.d.length-2};p.isNaN=function(){return!this.s};p.isNegative=p.isNeg=function(){return this.s<0};p.isPositive=p.isPos=function(){return this.s>0};p.isZero=function(){return!!this.d&&this.d[0]===0};p.lessThan=p.lt=function(e){return this.cmp(e)<0};p.lessThanOrEqualTo=p.lte=function(e){return this.cmp(e)<1};p.logarithm=p.log=function(e){var t,n,i,r,o,s,a,c,u=this,l=u.constructor,m=l.precision,d=l.rounding,g=5;if(e==null)e=new l(10),t=!0;else{if(e=new l(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(n=u.d,u.s<0||!n||!n[0]||u.eq(1))return new l(n&&!n[0]?-1/0:u.s!=1?NaN:n?0:1/0);if(t)if(n.length>1)o=!0;else{for(r=n[0];r%10===0;)r/=10;o=r!==1}if(A=!1,a=m+g,s=ae(u,a),i=t?ve(l,a+10):ae(e,a),c=I(s,i,a,1),we(c.d,r=m,d))do if(a+=10,s=ae(u,a),i=t?ve(l,a+10):ae(e,a),c=I(s,i,a,1),!o){+E(c.d).slice(r+1,r+15)+1==1e14&&(c=b(c,m+1,0));break}while(we(c.d,r+=10,d));return A=!0,b(c,m,d)};p.minus=p.sub=function(e){var t,n,i,r,o,s,a,c,u,l,m,d,g=this,h=g.constructor;if(e=new h(e),!g.d||!e.d)return!g.s||!e.s?e=new h(NaN):g.d?e.s=-e.s:e=new h(e.d||g.s!==e.s?g:NaN),e;if(g.s!=e.s)return e.s=-e.s,g.plus(e);if(u=g.d,d=e.d,a=h.precision,c=h.rounding,!u[0]||!d[0]){if(d[0])e.s=-e.s;else if(u[0])e=new h(g);else return new h(c===3?-0:0);return A?b(e,a,c):e}if(n=D(e.e/y),l=D(g.e/y),u=u.slice(),o=l-n,o){for(m=o<0,m?(t=u,o=-o,s=d.length):(t=d,n=l,s=u.length),i=Math.max(Math.ceil(a/y),s)+2,o>i&&(o=i,t.length=1),t.reverse(),i=o;i--;)t.push(0);t.reverse()}else{for(i=u.length,s=d.length,m=i<s,m&&(s=i),i=0;i<s;i++)if(u[i]!=d[i]){m=u[i]<d[i];break}o=0}for(m&&(t=u,u=d,d=t,e.s=-e.s),s=u.length,i=d.length-s;i>0;--i)u[s++]=0;for(i=d.length;i>o;){if(u[--i]<d[i]){for(r=i;r&&u[--r]===0;)u[r]=Y-1;--u[r],u[i]+=Y}u[i]-=d[i]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--n;return u[0]?(e.d=u,e.e=_e(u,n),A?b(e,a,c):e):new h(c===3?-0:0)};p.modulo=p.mod=function(e){var t,n=this,i=n.constructor;return e=new i(e),!n.d||!e.s||e.d&&!e.d[0]?new i(NaN):!e.d||n.d&&!n.d[0]?b(new i(n),i.precision,i.rounding):(A=!1,i.modulo==9?(t=I(n,e.abs(),0,3,1),t.s*=e.s):t=I(n,e,0,i.modulo,1),t=t.times(e),A=!0,n.minus(t))};p.naturalExponential=p.exp=function(){return et(this)};p.naturalLogarithm=p.ln=function(){return ae(this)};p.negated=p.neg=function(){var e=new this.constructor(this);return e.s=-e.s,b(e)};p.plus=p.add=function(e){var t,n,i,r,o,s,a,c,u,l,m=this,d=m.constructor;if(e=new d(e),!m.d||!e.d)return!m.s||!e.s?e=new d(NaN):m.d||(e=new d(e.d||m.s===e.s?m:NaN)),e;if(m.s!=e.s)return e.s=-e.s,m.minus(e);if(u=m.d,l=e.d,a=d.precision,c=d.rounding,!u[0]||!l[0])return l[0]||(e=new d(m)),A?b(e,a,c):e;if(o=D(m.e/y),i=D(e.e/y),u=u.slice(),r=o-i,r){for(r<0?(n=u,r=-r,s=l.length):(n=l,i=o,s=u.length),o=Math.ceil(a/y),s=o>s?o+1:s+1,r>s&&(r=s,n.length=1),n.reverse();r--;)n.push(0);n.reverse()}for(s=u.length,r=l.length,s-r<0&&(r=s,n=l,l=u,u=n),t=0;r;)t=(u[--r]=u[r]+l[r]+t)/Y|0,u[r]%=Y;for(t&&(u.unshift(t),++i),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=_e(u,i),A?b(e,a,c):e};p.precision=p.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(ue+e);return n.d?(t=Ot(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};p.round=function(){var e=this,t=e.constructor;return b(new t(e),e.e+1,t.rounding)};p.sine=p.sin=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+Math.max(n.e,n.sd())+y,i.rounding=1,n=En(i,Dt(i,n)),i.precision=e,i.rounding=t,b(ie>2?n.neg():n,e,t,!0)):new i(NaN)};p.squareRoot=p.sqrt=function(){var e,t,n,i,r,o,s=this,a=s.d,c=s.e,u=s.s,l=s.constructor;if(u!==1||!a||!a[0])return new l(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(A=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=E(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=D((c+1)/2)-(c<0||c%2),u==1/0?t="5e"+c:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),i=new l(t)):i=new l(u.toString()),n=(c=l.precision)+3;;)if(o=i,i=o.plus(I(s,o,n+2,1)).times(.5),E(o.d).slice(0,n)===(t=E(i.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!r&&t=="4999"){if(!r&&(b(o,c+1,0),o.times(o).eq(s))){i=o;break}n+=4,r=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(b(i,c+1,1),e=!i.times(i).eq(s));break}return A=!0,b(i,c,l.rounding,e)};p.tangent=p.tan=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+10,i.rounding=1,n=n.sin(),n.s=1,n=I(n,new i(1).minus(n.times(n)).sqrt(),e+10,0),i.precision=e,i.rounding=t,b(ie==2||ie==4?n.neg():n,e,t,!0)):new i(NaN)};p.times=p.mul=function(e){var t,n,i,r,o,s,a,c,u,l=this,m=l.constructor,d=l.d,g=(e=new m(e)).d;if(e.s*=l.s,!d||!d[0]||!g||!g[0])return new m(!e.s||d&&!d[0]&&!g||g&&!g[0]&&!d?NaN:!d||!g?e.s/0:e.s*0);for(n=D(l.e/y)+D(e.e/y),c=d.length,u=g.length,c<u&&(o=d,d=g,g=o,s=c,c=u,u=s),o=[],s=c+u,i=s;i--;)o.push(0);for(i=u;--i>=0;){for(t=0,r=c+i;r>i;)a=o[r]+g[i]*d[r-i-1]+t,o[r--]=a%Y|0,t=a/Y|0;o[r]=(o[r]+t)%Y|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=_e(o,n),A?b(e,m.precision,m.rounding):e};p.toBinary=function(e,t){return nt(this,2,e,t)};p.toDecimalPlaces=p.toDP=function(e,t){var n=this,i=n.constructor;return n=new i(n),e===void 0?n:(G(e,0,ce),t===void 0?t=i.rounding:G(t,0,8),b(n,e+n.e+1,t))};p.toExponential=function(e,t){var n,i=this,r=i.constructor;return e===void 0?n=ee(i,!0):(G(e,0,ce),t===void 0?t=r.rounding:G(t,0,8),i=b(new r(i),e+1,t),n=ee(i,!0,e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};p.toFixed=function(e,t){var n,i,r=this,o=r.constructor;return e===void 0?n=ee(r):(G(e,0,ce),t===void 0?t=o.rounding:G(t,0,8),i=b(new o(r),e+r.e+1,t),n=ee(i,!1,e+i.e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};p.toFraction=function(e){var t,n,i,r,o,s,a,c,u,l,m,d,g=this,h=g.d,T=g.constructor;if(!h)return new T(g);if(u=n=new T(1),i=c=new T(0),t=new T(i),o=t.e=Ot(h)-g.e-1,s=o%y,t.d[0]=M(10,s<0?y+s:s),e==null)e=o>0?t:u;else{if(a=new T(e),!a.isInt()||a.lt(u))throw Error(ue+a);e=a.gt(t)?o>0?t:u:a}for(A=!1,a=new T(E(h)),l=T.precision,T.precision=o=h.length*y*2;m=I(a,t,0,1,1),r=n.plus(m.times(i)),r.cmp(e)!=1;)n=i,i=r,r=u,u=c.plus(m.times(r)),c=r,r=t,t=a.minus(m.times(r)),a=r;return r=I(e.minus(n),i,0,1,1),c=c.plus(r.times(u)),n=n.plus(r.times(i)),c.s=u.s=g.s,d=I(u,i,o,1).minus(g).abs().cmp(I(c,n,o,1).minus(g).abs())<1?[u,i]:[c,n],T.precision=l,A=!0,d};p.toHexadecimal=p.toHex=function(e,t){return nt(this,16,e,t)};p.toNearest=function(e,t){var n=this,i=n.constructor;if(n=new i(n),e==null){if(!n.d)return n;e=new i(1),t=i.rounding}else{if(e=new i(e),t===void 0?t=i.rounding:G(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(A=!1,n=I(n,e,0,t,1).times(e),A=!0,b(n)):(e.s=n.s,n=e),n};p.toNumber=function(){return+this};p.toOctal=function(e,t){return nt(this,8,e,t)};p.toPower=p.pow=function(e){var t,n,i,r,o,s,a=this,c=a.constructor,u=+(e=new c(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new c(M(+a,u));if(a=new c(a),a.eq(1))return a;if(i=c.precision,o=c.rounding,e.eq(1))return b(a,i,o);if(t=D(e.e/y),t>=e.d.length-1&&(n=u<0?-u:u)<=Ln)return r=Et(c,a,n,i),e.s<0?new c(1).div(r):b(r,i,o);if(s=a.s,s<0){if(t<e.d.length-1)return new c(NaN);if((e.d[t]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return n=M(+a,u),t=n==0||!isFinite(n)?D(u*(Math.log("0."+E(a.d))/Math.LN10+a.e+1)):new c(n+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?s/0:0):(A=!1,c.rounding=a.s=1,n=Math.min(12,(t+"").length),r=et(e.times(ae(a,i+n)),i),r.d&&(r=b(r,i+5,1),we(r.d,i,o)&&(t=i+10,r=b(et(e.times(ae(a,t+n)),t),t+5,1),+E(r.d).slice(i+1,i+15)+1==1e14&&(r=b(r,i+1,0)))),r.s=s,A=!0,c.rounding=o,b(r,i,o))};p.toPrecision=function(e,t){var n,i=this,r=i.constructor;return e===void 0?n=ee(i,i.e<=r.toExpNeg||i.e>=r.toExpPos):(G(e,1,ce),t===void 0?t=r.rounding:G(t,0,8),i=b(new r(i),e,t),n=ee(i,e<=i.e||i.e<=r.toExpNeg,e)),i.isNeg()&&!i.isZero()?"-"+n:n};p.toSignificantDigits=p.toSD=function(e,t){var n=this,i=n.constructor;return e===void 0?(e=i.precision,t=i.rounding):(G(e,1,ce),t===void 0?t=i.rounding:G(t,0,8)),b(new i(n),e,t)};p.toString=function(){var e=this,t=e.constructor,n=ee(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};p.truncated=p.trunc=function(){return b(new this.constructor(this),this.e+1,1)};p.valueOf=p.toJSON=function(){var e=this,t=e.constructor,n=ee(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function E(e){var t,n,i,r=e.length-1,o="",s=e[0];if(r>0){for(o+=s,t=1;t<r;t++)i=e[t]+"",n=y-i.length,n&&(o+=se(n)),o+=i;s=e[t],i=s+"",n=y-i.length,n&&(o+=se(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function G(e,t,n){if(e!==~~e||e<t||e>n)throw Error(ue+e)}function we(e,t,n,i){var r,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=y,r=0):(r=Math.ceil((t+1)/y),t%=y),o=M(10,y-t),a=e[r]%o|0,i==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=n<4&&a==99999||n>3&&a==49999||a==5e4||a==0):s=(n<4&&a+1==o||n>3&&a+1==o/2)&&(e[r+1]/o/100|0)==M(10,t-2)-1||(a==o/2||a==0)&&(e[r+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(i||n<4)&&a==9999||!i&&n>3&&a==4999):s=((i||n<4)&&a+1==o||!i&&n>3&&a+1==o/2)&&(e[r+1]/o/1e3|0)==M(10,t-3)-1,s}function Oe(e,t,n){for(var i,r=[0],o,s=0,a=e.length;s<a;){for(o=r.length;o--;)r[o]*=t;for(r[0]+=Ye.indexOf(e.charAt(s++)),i=0;i<r.length;i++)r[i]>n-1&&(r[i+1]===void 0&&(r[i+1]=0),r[i+1]+=r[i]/n|0,r[i]%=n)}return r.reverse()}function Mn(e,t){var n,i,r;if(t.isZero())return t;i=t.d.length,i<32?(n=Math.ceil(i/3),r=(1/Ve(4,n)).toString()):(n=16,r="2.3283064365386962890625e-10"),e.precision+=n,t=pe(e,1,t.times(r),new e(1));for(var o=n;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=n,t}var I=function(){function e(i,r,o){var s,a=0,c=i.length;for(i=i.slice();c--;)s=i[c]*r+a,i[c]=s%o|0,a=s/o|0;return a&&i.unshift(a),i}function t(i,r,o,s){var a,c;if(o!=s)c=o>s?1:-1;else for(a=c=0;a<o;a++)if(i[a]!=r[a]){c=i[a]>r[a]?1:-1;break}return c}function n(i,r,o,s){for(var a=0;o--;)i[o]-=a,a=i[o]<r[o]?1:0,i[o]=a*s+i[o]-r[o];for(;!i[0]&&i.length>1;)i.shift()}return function(i,r,o,s,a,c){var u,l,m,d,g,h,T,V,R,Z,x,F,Ne,ne,ze,Le,ye,je,z,Re,Me=i.constructor,Qe=i.s==r.s?1:-1,v=i.d,S=r.d;if(!v||!v[0]||!S||!S[0])return new Me(!i.s||!r.s||(v?S&&v[0]==S[0]:!S)?NaN:v&&v[0]==0||!S?Qe*0:Qe/0);for(c?(g=1,l=i.e-r.e):(c=Y,g=y,l=D(i.e/g)-D(r.e/g)),z=S.length,ye=v.length,R=new Me(Qe),Z=R.d=[],m=0;S[m]==(v[m]||0);m++);if(S[m]>(v[m]||0)&&l--,o==null?(ne=o=Me.precision,s=Me.rounding):a?ne=o+(i.e-r.e)+1:ne=o,ne<0)Z.push(1),h=!0;else{if(ne=ne/g+2|0,m=0,z==1){for(d=0,S=S[0],ne++;(m<ye||d)&&ne--;m++)ze=d*c+(v[m]||0),Z[m]=ze/S|0,d=ze%S|0;h=d||m<ye}else{for(d=c/(S[0]+1)|0,d>1&&(S=e(S,d,c),v=e(v,d,c),z=S.length,ye=v.length),Le=z,x=v.slice(0,z),F=x.length;F<z;)x[F++]=0;Re=S.slice(),Re.unshift(0),je=S[0],S[1]>=c/2&&++je;do d=0,u=t(S,x,z,F),u<0?(Ne=x[0],z!=F&&(Ne=Ne*c+(x[1]||0)),d=Ne/je|0,d>1?(d>=c&&(d=c-1),T=e(S,d,c),V=T.length,F=x.length,u=t(T,x,V,F),u==1&&(d--,n(T,z<V?Re:S,V,c))):(d==0&&(u=d=1),T=S.slice()),V=T.length,V<F&&T.unshift(0),n(x,T,F,c),u==-1&&(F=x.length,u=t(S,x,z,F),u<1&&(d++,n(x,z<F?Re:S,F,c))),F=x.length):u===0&&(d++,x=[0]),Z[m++]=d,u&&x[0]?x[F++]=v[Le]||0:(x=[v[Le]],F=1);while((Le++<ye||x[0]!==void 0)&&ne--);h=x[0]!==void 0}Z[0]||Z.shift()}if(g==1)R.e=l,Kt=h;else{for(m=1,d=Z[0];d>=10;d/=10)m++;R.e=m+l*g-1,b(R,a?o+R.e+1:o,s,h)}return R}}();function b(e,t,n,i){var r,o,s,a,c,u,l,m,d,g=e.constructor;e:if(t!=null){if(m=e.d,!m)return e;for(r=1,a=m[0];a>=10;a/=10)r++;if(o=t-r,o<0)o+=y,s=t,l=m[d=0],c=l/M(10,r-s-1)%10|0;else if(d=Math.ceil((o+1)/y),a=m.length,d>=a)if(i){for(;a++<=d;)m.push(0);l=c=0,r=1,o%=y,s=o-y+1}else break e;else{for(l=a=m[d],r=1;a>=10;a/=10)r++;o%=y,s=o-y+r,c=s<0?0:l/M(10,r-s-1)%10|0}if(i=i||t<0||m[d+1]!==void 0||(s<0?l:l%M(10,r-s-1)),u=n<4?(c||i)&&(n==0||n==(e.s<0?3:2)):c>5||c==5&&(n==4||i||n==6&&(o>0?s>0?l/M(10,r-s):0:m[d-1])%10&1||n==(e.s<0?8:7)),t<1||!m[0])return m.length=0,u?(t-=e.e+1,m[0]=M(10,(y-t%y)%y),e.e=-t||0):m[0]=e.e=0,e;if(o==0?(m.length=d,a=1,d--):(m.length=d+1,a=M(10,y-o),m[d]=s>0?(l/M(10,r-s)%M(10,s)|0)*a:0),u)for(;;)if(d==0){for(o=1,s=m[0];s>=10;s/=10)o++;for(s=m[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,m[0]==Y&&(m[0]=1));break}else{if(m[d]+=a,m[d]!=Y)break;m[d--]=0,a=1}for(o=m.length;m[--o]===0;)m.pop()}return A&&(e.e>g.maxE?(e.d=null,e.e=NaN):e.e<g.minE&&(e.e=0,e.d=[0])),e}function ee(e,t,n){if(!e.isFinite())return vt(e);var i,r=e.e,o=E(e.d),s=o.length;return t?(n&&(i=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+se(i):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):r<0?(o="0."+se(-r-1)+o,n&&(i=n-s)>0&&(o+=se(i))):r>=s?(o+=se(r+1-s),n&&(i=n-r-1)>0&&(o=o+"."+se(i))):((i=r+1)<s&&(o=o.slice(0,i)+"."+o.slice(i)),n&&(i=n-s)>0&&(r+1===s&&(o+="."),o+=se(i))),o}function _e(e,t){var n=e[0];for(t*=y;n>=10;n/=10)t++;return t}function ve(e,t,n){if(t>Rn)throw A=!0,n&&(e.precision=n),Error(Nt);return b(new e(Ee),t,1,!0)}function Q(e,t,n){if(t>$e)throw Error(Nt);return b(new e(Fe),t,n,!0)}function Ot(e){var t=e.length-1,n=t*y+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function se(e){for(var t="";e--;)t+="0";return t}function Et(e,t,n,i){var r,o=new e(1),s=Math.ceil(i/y+4);for(A=!1;;){if(n%2&&(o=o.times(t),St(o.d,s)&&(r=!0)),n=D(n/2),n===0){n=o.d.length-1,r&&o.d[n]===0&&++o.d[n];break}t=t.times(t),St(t.d,s)}return A=!0,o}function It(e){return e.d[e.d.length-1]&1}function Ft(e,t,n){for(var i,r=new e(t[0]),o=0;++o<t.length;)if(i=new e(t[o]),i.s)r[n](i)&&(r=i);else{r=i;break}return r}function et(e,t){var n,i,r,o,s,a,c,u=0,l=0,m=0,d=e.constructor,g=d.rounding,h=d.precision;if(!e.d||!e.d[0]||e.e>17)return new d(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(A=!1,c=h):c=t,a=new d(.03125);e.e>-2;)e=e.times(a),m+=5;for(i=Math.log(M(2,m))/Math.LN10*2+5|0,c+=i,n=o=s=new d(1),d.precision=c;;){if(o=b(o.times(e),c,1),n=n.times(++l),a=s.plus(I(o,n,c,1)),E(a.d).slice(0,c)===E(s.d).slice(0,c)){for(r=m;r--;)s=b(s.times(s),c,1);if(t==null)if(u<3&&we(s.d,c-i,g,u))d.precision=c+=10,n=o=a=new d(1),l=0,u++;else return b(s,d.precision=h,g,A=!0);else return d.precision=h,s}s=a}}function ae(e,t){var n,i,r,o,s,a,c,u,l,m,d,g=1,h=10,T=e,V=T.d,R=T.constructor,Z=R.rounding,x=R.precision;if(T.s<0||!V||!V[0]||!T.e&&V[0]==1&&V.length==1)return new R(V&&!V[0]?-1/0:T.s!=1?NaN:V?0:T);if(t==null?(A=!1,l=x):l=t,R.precision=l+=h,n=E(V),i=n.charAt(0),Math.abs(o=T.e)<15e14){for(;i<7&&i!=1||i==1&&n.charAt(1)>3;)T=T.times(e),n=E(T.d),i=n.charAt(0),g++;o=T.e,i>1?(T=new R("0."+n),o++):T=new R(i+"."+n.slice(1))}else return u=ve(R,l+2,x).times(o+""),T=ae(new R(i+"."+n.slice(1)),l-h).plus(u),R.precision=x,t==null?b(T,x,Z,A=!0):T;for(m=T,c=s=T=I(T.minus(1),T.plus(1),l,1),d=b(T.times(T),l,1),r=3;;){if(s=b(s.times(d),l,1),u=c.plus(I(s,new R(r),l,1)),E(u.d).slice(0,l)===E(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(ve(R,l+2,x).times(o+""))),c=I(c,new R(g),l,1),t==null)if(we(c.d,l-h,Z,a))R.precision=l+=h,u=s=T=I(m.minus(1),m.plus(1),l,1),d=b(T.times(T),l,1),r=a=1;else return b(c,R.precision=x,Z,A=!0);else return R.precision=x,c;c=u,r+=2}}function vt(e){return String(e.s*e.s/0)}function tt(e,t){var n,i,r;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(i=t.search(/e/i))>0?(n<0&&(n=i),n+=+t.slice(i+1),t=t.substring(0,i)):n<0&&(n=t.length),i=0;t.charCodeAt(i)===48;i++);for(r=t.length;t.charCodeAt(r-1)===48;--r);if(t=t.slice(i,r),t){if(r-=i,e.e=n=n-i-1,e.d=[],i=(n+1)%y,n<0&&(i+=y),i<r){for(i&&e.d.push(+t.slice(0,i)),r-=y;i<r;)e.d.push(+t.slice(i,i+=y));t=t.slice(i),i=y-t.length}else i-=r;for(;i--;)t+="0";e.d.push(+t),A&&(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 On(e,t){var n,i,r,o,s,a,c,u,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),Mt.test(t))return tt(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Kn.test(t))n=16,t=t.toLowerCase();else if(Cn.test(t))n=2;else if(Nn.test(t))n=8;else throw Error(ue+t);for(o=t.search(/p/i),o>0?(c=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,i=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,r=Et(i,new i(n),o,o*2)),u=Oe(t,n,Y),l=u.length-1,o=l;u[o]===0;--o)u.pop();return o<0?new i(e.s*0):(e.e=_e(u,l),e.d=u,A=!1,s&&(e=I(e,r,a*4)),c&&(e=e.times(Math.abs(c)<54?M(2,c):Pe.pow(2,c))),A=!0,e)}function En(e,t){var n,i=t.d.length;if(i<3)return t.isZero()?t:pe(e,2,t,t);n=1.4*Math.sqrt(i),n=n>16?16:n|0,t=t.times(1/Ve(5,n)),t=pe(e,2,t,t);for(var r,o=new e(5),s=new e(16),a=new e(20);n--;)r=t.times(t),t=t.times(o.plus(r.times(s.times(r).minus(a))));return t}function pe(e,t,n,i,r){var o,s,a,c,u=1,l=e.precision,m=Math.ceil(l/y);for(A=!1,c=n.times(n),a=new e(i);;){if(s=I(a.times(c),new e(t++*t++),l,1),a=r?i.plus(s):i.minus(s),i=I(s.times(c),new e(t++*t++),l,1),s=a.plus(i),s.d[m]!==void 0){for(o=m;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=i,i=s,s=o,u++}return A=!0,s.d.length=m+1,s}function Ve(e,t){for(var n=e;--t;)n*=e;return n}function Dt(e,t){var n,i=t.s<0,r=Q(e,e.precision,1),o=r.times(.5);if(t=t.abs(),t.lte(o))return ie=i?4:1,t;if(n=t.divToInt(r),n.isZero())ie=i?3:2;else{if(t=t.minus(n.times(r)),t.lte(o))return ie=It(n)?i?2:3:i?4:1,t;ie=It(n)?i?1:4:i?3:2}return t.minus(r).abs()}function nt(e,t,n,i){var r,o,s,a,c,u,l,m,d,g=e.constructor,h=n!==void 0;if(h?(G(n,1,ce),i===void 0?i=g.rounding:G(i,0,8)):(n=g.precision,i=g.rounding),!e.isFinite())l=vt(e);else{for(l=ee(e),s=l.indexOf("."),h?(r=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):r=t,s>=0&&(l=l.replace(".",""),d=new g(1),d.e=l.length-s,d.d=Oe(ee(d),10,r),d.e=d.d.length),m=Oe(l,10,r),o=c=m.length;m[--c]==0;)m.pop();if(!m[0])l=h?"0p+0":"0";else{if(s<0?o--:(e=new g(e),e.d=m,e.e=o,e=I(e,d,n,i,0,r),m=e.d,o=e.e,u=Kt),s=m[n],a=r/2,u=u||m[n+1]!==void 0,u=i<4?(s!==void 0||u)&&(i===0||i===(e.s<0?3:2)):s>a||s===a&&(i===4||u||i===6&&m[n-1]&1||i===(e.s<0?8:7)),m.length=n,u)for(;++m[--n]>r-1;)m[n]=0,n||(++o,m.unshift(1));for(c=m.length;!m[c-1];--c);for(s=0,l="";s<c;s++)l+=Ye.charAt(m[s]);if(h){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)l+="0";for(m=Oe(l,r,t),c=m.length;!m[c-1];--c);for(s=1,l="1.";s<c;s++)l+=Ye.charAt(m[s])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>c)for(o-=c;o--;)l+="0";else o<c&&(l=l.slice(0,o)+"."+l.slice(o))}l=(t==16?"0x":t==2?"0b":t==8?"0o":"")+l}return e.s<0?"-"+l:l}function St(e,t){if(e.length>t)return e.length=t,!0}function Fn(e){return new this(e).abs()}function vn(e){return new this(e).acos()}function Dn(e){return new this(e).acosh()}function _n(e,t){return new this(e).plus(t)}function Vn(e){return new this(e).asin()}function Wn(e){return new this(e).asinh()}function qn(e){return new this(e).atan()}function Gn(e){return new this(e).atanh()}function Un(e,t){e=new this(e),t=new this(t);var n,i=this.precision,r=this.rounding,o=i+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=Q(this,o,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?Q(this,i,r):new this(0),n.s=e.s):!e.d||t.isZero()?(n=Q(this,o,1).times(.5),n.s=e.s):t.s<0?(this.precision=o,this.rounding=1,n=this.atan(I(e,t,o,1)),t=Q(this,o,1),this.precision=i,this.rounding=r,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(I(e,t,o,1)),n}function Xn(e){return new this(e).cbrt()}function Hn(e){return b(e=new this(e),e.e+1,2)}function Zn(e,t,n){return new this(e).clamp(t,n)}function zn(e){if(!e||typeof e!="object")throw Error(De+"Object expected");var t,n,i,r=e.defaults===!0,o=["precision",1,ce,"rounding",0,8,"toExpNeg",-de,0,"toExpPos",0,de,"maxE",0,de,"minE",-de,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],r&&(this[n]=Je[n]),(i=e[n])!==void 0)if(D(i)===i&&i>=o[t+1]&&i<=o[t+2])this[n]=i;else throw Error(ue+n+": "+i);if(n="crypto",r&&(this[n]=Je[n]),(i=e[n])!==void 0)if(i===!0||i===!1||i===0||i===1)if(i)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(Lt);else this[n]=!1;else throw Error(ue+n+": "+i);return this}function jn(e){return new this(e).cos()}function Qn(e){return new this(e).cosh()}function _t(e){var t,n,i;function r(o){var s,a,c,u=this;if(!(u instanceof r))return new r(o);if(u.constructor=r,Ct(o)){u.s=o.s,A?!o.d||o.e>r.maxE?(u.e=NaN,u.d=null):o.e<r.minE?(u.e=0,u.d=[0]):(u.e=o.e,u.d=o.d.slice()):(u.e=o.e,u.d=o.d?o.d.slice():o.d);return}if(c=typeof o,c==="number"){if(o===0){u.s=1/o<0?-1:1,u.e=0,u.d=[0];return}if(o<0?(o=-o,u.s=-1):u.s=1,o===~~o&&o<1e7){for(s=0,a=o;a>=10;a/=10)s++;A?s>r.maxE?(u.e=NaN,u.d=null):s<r.minE?(u.e=0,u.d=[0]):(u.e=s,u.d=[o]):(u.e=s,u.d=[o]);return}else if(o*0!==0){o||(u.s=NaN),u.e=NaN,u.d=null;return}return tt(u,o.toString())}else if(c!=="string")throw Error(ue+o);return(a=o.charCodeAt(0))===45?(o=o.slice(1),u.s=-1):(a===43&&(o=o.slice(1)),u.s=1),Mt.test(o)?tt(u,o):On(u,o)}if(r.prototype=p,r.ROUND_UP=0,r.ROUND_DOWN=1,r.ROUND_CEIL=2,r.ROUND_FLOOR=3,r.ROUND_HALF_UP=4,r.ROUND_HALF_DOWN=5,r.ROUND_HALF_EVEN=6,r.ROUND_HALF_CEIL=7,r.ROUND_HALF_FLOOR=8,r.EUCLID=9,r.config=r.set=zn,r.clone=_t,r.isDecimal=Ct,r.abs=Fn,r.acos=vn,r.acosh=Dn,r.add=_n,r.asin=Vn,r.asinh=Wn,r.atan=qn,r.atanh=Gn,r.atan2=Un,r.cbrt=Xn,r.ceil=Hn,r.clamp=Zn,r.cos=jn,r.cosh=Qn,r.div=Yn,r.exp=Jn,r.floor=$n,r.hypot=ei,r.ln=ti,r.log=ni,r.log10=ri,r.log2=ii,r.max=oi,r.min=si,r.mod=ai,r.mul=ui,r.pow=ci,r.random=li,r.round=mi,r.sign=di,r.sin=pi,r.sinh=fi,r.sqrt=bi,r.sub=gi,r.sum=yi,r.tan=wi,r.tanh=Pi,r.trunc=Ai,e===void 0&&(e={}),e&&e.defaults!==!0)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<i.length;)e.hasOwnProperty(n=i[t++])||(e[n]=this[n]);return r.config(e),r}function Yn(e,t){return new this(e).div(t)}function Jn(e){return new this(e).exp()}function $n(e){return b(e=new this(e),e.e+1,3)}function ei(){var e,t,n=new this(0);for(A=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return A=!0,new this(1/0);n=t}return A=!0,n.sqrt()}function Ct(e){return e instanceof Pe||e&&e.toStringTag===Rt||!1}function ti(e){return new this(e).ln()}function ni(e,t){return new this(e).log(t)}function ii(e){return new this(e).log(2)}function ri(e){return new this(e).log(10)}function oi(){return Ft(this,arguments,"lt")}function si(){return Ft(this,arguments,"gt")}function ai(e,t){return new this(e).mod(t)}function ui(e,t){return new this(e).mul(t)}function ci(e,t){return new this(e).pow(t)}function li(e){var t,n,i,r,o=0,s=new this(1),a=[];if(e===void 0?e=this.precision:G(e,1,ce),i=Math.ceil(e/y),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(i));o<i;)r=t[o],r>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=r%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(i*=4);o<i;)r=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((t[o+3]&127)<<24),r>=214e7?crypto.randomBytes(4).copy(t,o):(a.push(r%1e7),o+=4);o=i/4}else throw Error(Lt);else for(;o<i;)a[o++]=Math.random()*1e7|0;for(i=a[--o],e%=y,i&&e&&(r=M(10,y-e),a[o]=(i/r|0)*r);a[o]===0;o--)a.pop();if(o<0)n=0,a=[0];else{for(n=-1;a[0]===0;n-=y)a.shift();for(i=1,r=a[0];r>=10;r/=10)i++;i<y&&(n-=y-i)}return s.e=n,s.d=a,s}function mi(e){return b(e=new this(e),e.e+1,this.rounding)}function di(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function pi(e){return new this(e).sin()}function fi(e){return new this(e).sinh()}function bi(e){return new this(e).sqrt()}function gi(e,t){return new this(e).sub(t)}function yi(){var e=0,t=arguments,n=new this(t[e]);for(A=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return A=!0,b(n,this.precision,this.rounding)}function wi(e){return new this(e).tan()}function Pi(e){return new this(e).tanh()}function Ai(e){return b(e=new this(e),e.e+1,1)}p[Symbol.for("nodejs.util.inspect.custom")]=p.toString;p[Symbol.toStringTag]="Decimal";var Pe=p.constructor=_t(Je);Ee=new Pe(Ee);Fe=new Pe(Fe);var O=Pe;import Qp from"bn.js";import{PublicKey as Dr}from"@solana/web3.js";import{get as Vt,set as Ti}from"lodash";var it=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(i=>typeof i=="object"?JSON.stringify(i):i).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},Wt={},ki={};function W(e){let t=Vt(Wt,e);if(!t){let n=Vt(ki,e);t=new it({name:e,logLevel:n}),Ti(Wt,e,t)}return t}import{MINT_SIZE as qr,TOKEN_PROGRAM_ID as Gr,getTransferFeeConfig as Ur,unpackMint as Xr}from"@solana/spl-token";var Hr=W("Raydium_accountInfo_util");import re from"bn.js";import Ni from"big.js";import lo from"bn.js";import hi from"toformat";var Bi=hi,Ae=Bi;import Ge from"big.js";import Ii from"bn.js";import Si from"decimal.js-light";import Te from"bn.js";var Gt=9007199254740991;function te(e){let t=W("Raydium_parseBigNumberish");if(e instanceof Te)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new Te(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=Gt||e<=-Gt)&&t.logWithError(`BigNumberish number overflow: ${e}`),new Te(String(e))):typeof e=="bigint"?new Te(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new Te(0))}var qe=W("module/fraction"),rt=Ae(Ge),ke=Ae(Si),Ci={[0]:ke.ROUND_DOWN,[1]:ke.ROUND_HALF_UP,[2]:ke.ROUND_UP},Ki={[0]:Ge.roundDown,[1]:Ge.roundHalfUp,[2]:Ge.roundUp},C=class{constructor(t,n=new Ii(1)){this.numerator=te(t),this.denominator=te(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new C(this.denominator,this.numerator)}add(t){let n=t instanceof C?t:new C(te(t));return this.denominator.eq(n.denominator)?new C(this.numerator.add(n.numerator),this.denominator):new C(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof C?t:new C(te(t));return this.denominator.eq(n.denominator)?new C(this.numerator.sub(n.numerator),this.denominator):new C(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof C?t:new C(te(t));return new C(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof C?t:new C(te(t));return new C(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},i=1){Number.isInteger(t)||qe.logWithError(`${t} is not an integer.`),t<=0&&qe.logWithError(`${t} is not positive.`),ke.set({precision:t+1,rounding:Ci[i]});let r=new ke(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return r.toFormat(r.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},i=1){return Number.isInteger(t)||qe.logWithError(`${t} is not an integer.`),t<0&&qe.logWithError(`${t} is negative.`),rt.DP=t,rt.RM=Ki[i]||1,new rt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var Ao=W("Raydium_amount"),To=Ae(Ni);import{PublicKey as Ri}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ut}from"@solana/spl-token";var ot={chainId:101,address:Ri.default.toBase58(),programId:Ut.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},le={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Ut.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as at}from"@solana/web3.js";import{PublicKey as K,SystemProgram as Xt,SYSVAR_RENT_PUBKEY as Mi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Oi}from"@solana/spl-token";function st({pubkey:e,isSigner:t=!1,isWritable:n=!0}){return{pubkey:e,isWritable:n,isSigner:t}}var Ko=[st({pubkey:Oi,isWritable:!1}),st({pubkey:Xt.programId,isWritable:!1}),st({pubkey:Mi,isWritable:!1})];function Ht({publicKey:e,transformSol:t}){let n=Zt(e.toString());if(n instanceof K)return t&&n.equals(he)?We:n;if(t&&n.toString()===he.toBase58())return We;if(typeof n=="string"){if(n===K.default.toBase58())return K.default;try{return new K(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function Zt(e){try{return new K(e)}catch{return e}}var Ei=new K("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Fi=new K("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),vi=new K("SysvarRent111111111111111111111111111111111"),No=new K("SysvarC1ock11111111111111111111111111111111"),zt=new K("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Lo=new K("Sysvar1nstructions1111111111111111111111111"),Ro=Xt.programId,Mo=new K("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Oo=new K("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Eo=new K("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Fo=new K("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),vo=new K("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Do=new K("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),_o=new K("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Vo=new K("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Wo=new K("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),qo=new K("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Go=new K("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),We=new K("So11111111111111111111111111111111111111112"),he=K.default;var ut=class{constructor({mint:t,decimals:n,symbol:i,name:r,skipMint:o=!1,isToken2022:s=!1}){if(t===he.toBase58()||t instanceof at&&he.equals(t)){this.decimals=le.decimals,this.symbol=le.symbol,this.name=le.name,this.mint=new at(le.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=i||t.toString().substring(0,6),this.name=r||t.toString().substring(0,6),this.mint=o?at.default:Ht({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},me=ut;me.WSOL=new ut($(j({},le),{mint:le.address}));var ct=class{constructor({decimals:t,symbol:n="UNKNOWN",name:i="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=i}equals(t){return this===t}},Ue=ct;Ue.SOL=new ct(ot);import Di from"bn.js";var ts=new C(new Di(100));var as=W("Raydium_price");import{PublicKey as Bs}from"@solana/web3.js";import Is from"bn.js";var _i=new re(0),Us=new re(1),Xs=new re(2),Hs=new re(3),Zs=new re(5),Li=new re(10),zs=new re(100),js=new re(1e3),Qs=new re(1e4);import{PublicKey as Ta}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ha}from"@solana/spl-token";import{ComputeBudgetProgram as ra,Keypair as aa,PublicKey as ua,Transaction as la,TransactionMessage as da,VersionedTransaction as pa}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ya}from"@solana/spl-token";var wa=W("Raydium_txUtil");import{PublicKey as f}from"@solana/web3.js";var Sa=new f("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Ca=new f("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Ka=new f("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Na=new f("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),La=new f("Ray1111111111111111111111111111111111111111"),Ra=new f("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ma=new f("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Oa=new f("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Ea=new f("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Fa=new f("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),va=new f("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Wi=new f("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),qi=new f("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Gi=new f("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Da=new f("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),jt=new f("Ray1111111111111111111111111111111111111111"),_a=new f("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Va=new f("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Wa=new f("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),qa=new f("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Ga=new f("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),Ua=new f("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),Xa=new f("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Ha=new f("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Za=new f("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Ui=new f("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),Xi=new f("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),Hi=new f("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),za=new f("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Zi=new f("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),ja=new f("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),zi=new f("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix"),Qa=new f("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Ya=new f("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),ji=new f("LanD8FpTBBvzZFXjTxsAoipkFsxPUCDB4qAqKxYDiNP"),Qi=new f("HYNHiyKJ3gGVFvyxJAurK7qr7P2o5J9THmvCGMdULtpW"),Ja=new f("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Qt=new f("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),$a=new f("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX"),Yt=new f("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt");var eu={AMM_V4:new f("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AMM_STABLE:new f("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM_PROGRAM_ID:new f("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new f("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new f("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),FARM_PROGRAM_ID_V3:new f("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FARM_PROGRAM_ID_V5:new f("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FARM_PROGRAM_ID_V6:new f("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),OPEN_BOOK_PROGRAM:new f("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:f.default,UTIL1216:f.default,Router:new f("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:Ui,CREATE_CPMM_POOL_AUTH:Xi,CREATE_CPMM_POOL_FEE_ACC:Hi,LOCK_CPMM_PROGRAM:Zi,LOCK_CPMM_AUTH:zi,LAUNCHPAD_PROGRAM:ji,LAUNCHPAD_AUTH:Qi,LAUNCHPAD_PLATFORM:Qt,LAUNCHPAD_CONFIG:Yt,FEE_DESTINATION_ID:new f("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),MODEL_DATA_PUBKEY:jt},tu={OPEN_BOOK_PROGRAM:new f("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new f("Ray1111111111111111111111111111111111111111"),AMM_V4:new f("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new f("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new f("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new f("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new f("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new f("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new f("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new f("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new f("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new f("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:f.default,Router:new f("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new f("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V5:new f("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new f("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new f("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new f("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:Qt,LAUNCHPAD_CONFIG:Yt,FEE_DESTINATION_ID:new f("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:jt};import ru from"bn.js";import{PublicKey as Yi,AddressLookupTableAccount as Jt}from"@solana/web3.js";var Ji={AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU:new Jt({key:new Yi("AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU"),state:Jt.deserialize(Buffer.from("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","base64"))})};import{PublicKey as Tu,sendAndConfirmTransaction as ku,SystemProgram as xu,Transaction as Iu,TransactionMessage as Cu,VersionedTransaction as Ku}from"@solana/web3.js";import Lu from"axios";import tr from"bn.js";var Du=new tr(1e6);var Be=class{static getPoolInitPriceByPool({poolInfo:t,decimalA:n,decimalB:i}){throw Error()}static getPoolInitPriceByInit({a:t,b:n,decimalA:i,decimalB:r}){throw Error()}static getPoolPrice({poolInfo:t,decimalA:n,decimalB:i}){throw Error()}static getPoolEndPrice({supply:t,totalSell:n,totalLockedAmount:i,totalFundRaising:r,migrateFee:o,decimalA:s,decimalB:a}){throw Error()}static getPoolEndPriceReal({poolInfo:t,decimalA:n,decimalB:i}){throw Error()}static getInitParam({supply:t,totalFundRaising:n,totalSell:i,totalLockedAmount:r,migrateFee:o}){throw Error()}static buyExactIn({poolInfo:t,amount:n}){throw Error()}static buyExactOut({poolInfo:t,amount:n}){throw Error()}static sellExactIn({poolInfo:t,amount:n}){throw Error()}static sellExactOut({poolInfo:t,amount:n}){throw Error()}};import{PublicKey as ip}from"@solana/web3.js";import op from"bn.js";import{AccountLayout as cp,createAssociatedTokenAccountIdempotentInstruction as lp,TOKEN_2022_PROGRAM_ID as mp,TOKEN_PROGRAM_ID as dp}from"@solana/spl-token";import{PublicKey as uc}from"@solana/web3.js";import{MintLayout as lc,TOKEN_PROGRAM_ID as dc}from"@solana/spl-token";import{Keypair as Id,PublicKey as Sd,SystemProgram as Kd,TransactionInstruction as Nd}from"@solana/web3.js";import Rd from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Ed,TOKEN_2022_PROGRAM_ID as Fd,TOKEN_PROGRAM_ID as vd}from"@solana/spl-token";import{PublicKey as lr}from"@solana/web3.js";import rn,{isBN as on}from"bn.js";import{bits as Bc,BitStructure as xc,blob as nr,Blob as Ic,cstr as Sc,f32 as Cc,f32be as Kc,f64 as Nc,f64be as Lc,greedy as Rc,Layout as ir,ns64 as Mc,ns64be as Oc,nu64 as Ec,nu64be as Fc,offset as vc,s16 as Dc,s16be as _c,s24 as Vc,s24be as Wc,s32 as rr,s32be as qc,s40 as Gc,s40be as Uc,s48 as Xc,s48be as Hc,s8 as Zc,seq as or,struct as zc,Structure as sr,u16 as ar,u16be as jc,u24 as Qc,u24be as Yc,u32 as Jc,u32be as $c,u40 as el,u40be as tl,u48 as nl,u48be as il,u8 as ur,UInt as cr,union as rl,Union as ol,unionLayoutDiscriminator as sl,utf8 as al}from"@solana/buffer-layout";var pt=ir,en=sr;var ft=cr;var tn=ur,xe=ar;var oe=rr;var nn=or;var X=nr;var fe=class extends pt{constructor(n,i,r){super(n,r);this.blob=X(n),this.signed=i}decode(n,i=0){let r=new rn(this.blob.decode(n,i),10,"le");return this.signed?r.fromTwos(this.span*8).clone():r}encode(n,i,r=0){return typeof n=="number"&&(n=new rn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),i,r)}};function q(e){return new ft(1,e)}function be(e){return new ft(4,e)}function k(e){return new fe(8,!1,e)}function N(e){return new fe(16,!1,e)}function sn(e){return new fe(8,!0,e)}function an(e){return new fe(16,!0,e)}var He=class extends pt{constructor(n,i,r,o){super(n.span,o);this.layout=n,this.decoder=i,this.encoder=r}decode(n,i){return this.decoder(this.layout.decode(n,i))}encode(n,i,r){return this.layout.encode(this.encoder(n),i,r)}getSpan(n,i){return this.layout.getSpan(n,i)}};function B(e){return new He(X(32),t=>new lr(t),t=>t.toBuffer(),e)}function gt(e){return new He(tn(),mr,dr,e)}function mr(e){if(e===0)return!1;if(e===1)return!0;throw new Error("Invalid bool: "+e)}function dr(e){return e?1:0}var bt=class extends en{decode(t,n){return super.decode(t,n)}};function _(e,t,n){return new bt(e,t,n)}function L(e,t,n){let i,r=typeof t=="number"?t:on(t)?t.toNumber():new Proxy(t,{get(o,s){if(!i){let a=Reflect.get(o,"count");i=on(a)?a.toNumber():a,Reflect.set(o,"count",i)}return Reflect.get(o,s)},set(o,s,a){return s==="count"&&(i=a),Reflect.set(o,s,a)}});return nn(e,r,n)}import od from"bn.js";import H from"bn.js";var yt=new H(0),un=new H(1),cn=new H(-1),J=new H(1).shln(64),ln=new H(1).shln(128),wt=J.sub(un);var pr=ln.subn(1),ge=-443636,Ie=-ge,Pt=new H("4295048016"),At=new H("79226673521066979257578248091"),Tl=new H("4295048017"),kl=new H("79226673521066979257578248090");var fr=new H(10).pow(new H(6));var hl=new H("18446744073700000000");import Xm from"bn.js";var Nl=Buffer.from("amm_config","utf8"),Ll=Buffer.from("pool","utf8"),Rl=Buffer.from("pool_vault","utf8"),Ml=Buffer.from("pool_reward_vault","utf8"),Ol=Buffer.from("position","utf8"),El=Buffer.from("tick_array","utf8"),Fl=Buffer.from("operation","utf8"),vl=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Dl=Buffer.from("observation","utf8");var _l=Buffer.from("locked_position","utf8");var Vl=Buffer.from("support_mint","utf8");import{PublicKey as Pm}from"@solana/web3.js";import{TOKEN_2022_PROGRAM_ID as Tm}from"@solana/spl-token";import hm from"bn.js";import Gl from"bn.js";var ht=14;var Ze=60;var Pr=_([X(8),q("bump"),xe("index"),B(""),be("protocolFeeRate"),be("tradeFeeRate"),xe("tickSpacing"),L(k(),8,"")]),Ar=_([be("blockTimestamp"),sn("tickCumulative"),L(k(),4)]),An=_([X(8),gt("initialized"),k("recentEpoch"),xe("observationIndex"),B("poolId"),L(Ar,100,"observations"),L(k(),4)]),Tr=_([q("rewardState"),k("openTime"),k("endTime"),k("lastUpdateTime"),N("emissionsPerSecondX64"),k("rewardTotalEmissioned"),k("rewardClaimed"),B("tokenMint"),B("tokenVault"),B("creator"),N("rewardGrowthGlobalX64")]),yn=_([X(8),q("bump"),B("ammConfig"),B("creator"),B("mintA"),B("mintB"),B("vaultA"),B("vaultB"),B("observationId"),q("mintDecimalsA"),q("mintDecimalsB"),xe("tickSpacing"),N("liquidity"),N("sqrtPriceX64"),oe("tickCurrent"),be(),N("feeGrowthGlobalX64A"),N("feeGrowthGlobalX64B"),k("protocolFeesTokenA"),k("protocolFeesTokenB"),N("swapInAmountTokenA"),N("swapOutAmountTokenB"),N("swapInAmountTokenB"),N("swapOutAmountTokenA"),q("status"),L(q(),7,""),L(Tr,3,"rewardInfos"),L(k(),16,"tickArrayBitmap"),k("totalFeesTokenA"),k("totalFeesClaimedTokenA"),k("totalFeesTokenB"),k("totalFeesClaimedTokenB"),k("fundFeesTokenA"),k("fundFeesTokenB"),k("startTime"),L(k(),15*4-3,"padding")]),kr=_([N("growthInsideLastX64"),k("rewardAmountOwed")]),wn=_([X(8),q("bump"),B("nftMint"),B("poolId"),oe("tickLower"),oe("tickUpper"),N("liquidity"),N("feeGrowthInsideLastX64A"),N("feeGrowthInsideLastX64B"),k("tokenFeesOwedA"),k("tokenFeesOwedB"),L(kr,3,"rewardInfos"),L(k(),8,"")]),bd=_([X(8),q("bump"),B("poolId"),oe("tickLowerIndex"),oe("tickUpperIndex"),N("liquidity"),N("feeGrowthInsideLastX64A"),N("feeGrowthInsideLastX64B"),k("tokenFeesOwedA"),k("tokenFeesOwedB"),L(N(),3,"rewardGrowthInside"),L(k(),8,"")]),hr=_([oe("tick"),an("liquidityNet"),N("liquidityGross"),N("feeGrowthOutsideX64A"),N("feeGrowthOutsideX64B"),L(N(),3,"rewardGrowthsOutsideX64"),L(be(),13,"")]),fn=_([X(8),B("poolId"),oe("startTickIndex"),L(hr,Ze,"ticks"),q("initializedTickCount"),L(q(),115,"")]),Br=_([X(329),L(B(),100,"whitelistMints")]),wr=_([X(8),B("poolId"),L(L(k(),8),ht,"positiveTickArrayBitmap"),L(L(k(),8),ht,"negativeTickArrayBitmap")]),gd=_([k(),q("bump"),B("owner"),B("poolId"),B("positionId"),B("nftAccount"),L(k(),8)]),xr=_([X(8),q("bump"),B("lockOwner"),B("poolId"),B("positionId"),B("nftAccount"),B("lockNftMint"),k("recentEpoch"),L(k(),8)]);An.span;var Hd=W("Raydium_Clmm");import Tn from"bn.js";var Ke=class{static _multipler(t){return new O(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:i}){return new O(t.toString()).div(this._Q64).mul(this._multipler(n)).div(this._multipler(i))}static getPriceX64({price:t,decimalA:n,decimalB:i}){let r=t.mul(this._multipler(i)).div(this._multipler(n));return new Tn(r.mul(this._Q64).toFixed(0))}};Ke._Q64=new O(new Tn(1).shln(64).toString());var kn=class extends Be{static getPoolInitPriceByPool({poolInfo:t,decimalA:n,decimalB:i}){return new O(0)}static getPoolInitPriceByInit({a:t,b:n,decimalA:i,decimalB:r}){return new O(0)}static getPoolPrice({poolInfo:t,decimalA:n,decimalB:i}){return new O(t.virtualA.mul(t.realA).toString()).div(Ke._Q64).mul(10**(n-i))}static getPoolEndPrice({supply:t,totalSell:n,totalLockedAmount:i,totalFundRaising:r,migrateFee:o,decimalA:s,decimalB:a}){return new O(r.sub(o).toString()).div(t.sub(n).sub(i).toString()).mul(10**(s-a))}static getPoolEndPriceReal({poolInfo:t,decimalA:n,decimalB:i}){let r=t.totalSellA.sub(t.realA),o=t.totalFundRaisingB.sub(t.realB);return new O(t.virtualB.add(t.realB).add(o).toString()).div(t.virtualA.sub(t.realA).add(r).toString()).mul(10**(n-i))}static getInitParam({supply:t,totalFundRaising:n,totalSell:i,totalLockedAmount:r,migrateFee:o}){let s=t.sub(r);if(s.lte(new U(0)))throw Error("supplyMinusLocked need gt 0");let a=n.mul(new U(3)).sub(o),u=n.mul(new U(2)).mul(s).div(a),l=u.mul(u),m=n.mul(new U(2)).mul(J).div(l);if(!m.gt(new U(0)))throw Error("a need gt 0");if(!wt.gt(m))throw Error("a need lt u64 max");return{a:m,b:new U(0),c:u}}static buyExactIn({poolInfo:t,amount:n}){let i=t.realB.add(n),r=new U(2).mul(i).mul(J).div(t.virtualA);return new U(new O(r.toString()).sqrt().toFixed(0)).sub(t.realA)}static buyExactOut({poolInfo:t,amount:n}){let i=t.realA.add(n),r=i.mul(i),{div:o,mod:s}=t.virtualA.mul(r).divmod(new U(2).mul(J));return(s.isZero()?o:o.add(new U(1))).sub(t.realB)}static sellExactIn({poolInfo:t,amount:n}){let i=t.realA.sub(n),r=i.mul(i),{div:o,mod:s}=t.virtualA.mul(r).divmod(new U(2).mul(J)),a=s.isZero()?o:o.add(new U(1));return t.realB.sub(a)}static sellExactOut({poolInfo:t,amount:n}){let i=t.realB.sub(n),r=new U(2).mul(i).mul(J).div(t.virtualA),o=new U(new O(r.toString()).sqrt().toFixed(0));return t.realA.sub(o)}};export{kn as LinearPriceCurve};
1
+ var hn=Object.defineProperty,Bn=Object.defineProperties;var xn=Object.getOwnPropertyDescriptors;var Bt=Object.getOwnPropertySymbols;var In=Object.prototype.hasOwnProperty,Sn=Object.prototype.propertyIsEnumerable;var xt=(e,t,n)=>t in e?hn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,j=(e,t)=>{for(var n in t||(t={}))In.call(t,n)&&xt(e,n,t[n]);if(Bt)for(var n of Bt(t))Sn.call(t,n)&&xt(e,n,t[n]);return e},$=(e,t)=>Bn(e,xn(t));import U from"bn.js";var de=9e15,ue=1e9,Ye="0123456789abcdef",Ee="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Fe="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Je={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-de,maxE:de,crypto:!1},Kt,ie,A=!0,De="[DecimalError] ",ce=De+"Invalid argument: ",Nt=De+"Precision limit exceeded",Lt=De+"crypto unavailable",Rt="[object Decimal]",D=Math.floor,M=Math.pow,Cn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Kn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Nn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Mt=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Y=1e7,y=7,Ln=9007199254740991,Rn=Ee.length-1,$e=Fe.length-1,p={toStringTag:Rt};p.absoluteValue=p.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),b(e)};p.ceil=function(){return b(new this.constructor(this),this.e+1,2)};p.clampedTo=p.clamp=function(e,t){var n,i=this,r=i.constructor;if(e=new r(e),t=new r(t),!e.s||!t.s)return new r(NaN);if(e.gt(t))throw Error(ce+t);return n=i.cmp(e),n<0?e:i.cmp(t)>0?t:new r(i)};p.comparedTo=p.cmp=function(e){var t,n,i,r,o=this,s=o.d,a=(e=new o.constructor(e)).d,u=o.s,c=e.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!==e.e)return o.e>e.e^u<0?1:-1;for(i=s.length,r=a.length,t=0,n=i<r?i:r;t<n;++t)if(s[t]!==a[t])return s[t]>a[t]^u<0?1:-1;return i===r?0:i>r^u<0?1:-1};p.cosine=p.cos=function(){var e,t,n=this,i=n.constructor;return n.d?n.d[0]?(e=i.precision,t=i.rounding,i.precision=e+Math.max(n.e,n.sd())+y,i.rounding=1,n=Mn(i,Dt(i,n)),i.precision=e,i.rounding=t,b(ie==2||ie==3?n.neg():n,e,t,!0)):new i(1):new i(NaN)};p.cubeRoot=p.cbrt=function(){var e,t,n,i,r,o,s,a,u,c,l=this,m=l.constructor;if(!l.isFinite()||l.isZero())return new m(l);for(A=!1,o=l.s*M(l.s*l,1/3),!o||Math.abs(o)==1/0?(n=E(l.d),e=l.e,(o=(e-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=M(n,1/3),e=D((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?n="5e"+e:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+e),i=new m(n),i.s=l.s):i=new m(o.toString()),s=(e=m.precision)+3;;)if(a=i,u=a.times(a).times(a),c=u.plus(l),i=I(c.plus(l).times(a),c.plus(u),s+2,1),E(a.d).slice(0,s)===(n=E(i.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!r&&n=="4999"){if(!r&&(b(a,e+1,0),a.times(a).times(a).eq(l))){i=a;break}s+=4,r=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(b(i,e+1,1),t=!i.times(i).times(i).eq(l));break}return A=!0,b(i,e,m.rounding,t)};p.decimalPlaces=p.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-D(this.e/y))*y,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};p.dividedBy=p.div=function(e){return I(this,new this.constructor(e))};p.dividedToIntegerBy=p.divToInt=function(e){var t=this,n=t.constructor;return b(I(t,new n(e),0,1,1),n.precision,n.rounding)};p.equals=p.eq=function(e){return this.cmp(e)===0};p.floor=function(){return b(new this.constructor(this),this.e+1,3)};p.greaterThan=p.gt=function(e){return this.cmp(e)>0};p.greaterThanOrEqualTo=p.gte=function(e){var t=this.cmp(e);return t==1||t===0};p.hyperbolicCosine=p.cosh=function(){var e,t,n,i,r,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;n=s.precision,i=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,r=o.d.length,r<32?(e=Math.ceil(r/3),t=(1/Ve(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=pe(s,1,o.times(t),new s(1),!0);for(var u,c=e,l=new s(8);c--;)u=o.times(o),o=a.minus(u.times(l.minus(u.times(l))));return b(o,s.precision=n,s.rounding=i,!0)};p.hyperbolicSine=p.sinh=function(){var e,t,n,i,r=this,o=r.constructor;if(!r.isFinite()||r.isZero())return new o(r);if(t=o.precision,n=o.rounding,o.precision=t+Math.max(r.e,r.sd())+4,o.rounding=1,i=r.d.length,i<3)r=pe(o,2,r,r,!0);else{e=1.4*Math.sqrt(i),e=e>16?16:e|0,r=r.times(1/Ve(5,e)),r=pe(o,2,r,r,!0);for(var s,a=new o(5),u=new o(16),c=new o(20);e--;)s=r.times(r),r=r.times(a.plus(s.times(u.times(s).plus(c))))}return o.precision=t,o.rounding=n,b(r,t,n,!0)};p.hyperbolicTangent=p.tanh=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+7,i.rounding=1,I(n.sinh(),n.cosh(),i.precision=e,i.rounding=t)):new i(n.s)};p.inverseCosine=p.acos=function(){var e,t=this,n=t.constructor,i=t.abs().cmp(1),r=n.precision,o=n.rounding;return i!==-1?i===0?t.isNeg()?Q(n,r,o):new n(0):new n(NaN):t.isZero()?Q(n,r+4,o).times(.5):(n.precision=r+6,n.rounding=1,t=t.asin(),e=Q(n,r+4,o).times(.5),n.precision=r,n.rounding=o,e.minus(t))};p.inverseHyperbolicCosine=p.acosh=function(){var e,t,n=this,i=n.constructor;return n.lte(1)?new i(n.eq(1)?0:NaN):n.isFinite()?(e=i.precision,t=i.rounding,i.precision=e+Math.max(Math.abs(n.e),n.sd())+4,i.rounding=1,A=!1,n=n.times(n).minus(1).sqrt().plus(n),A=!0,i.precision=e,i.rounding=t,n.ln()):new i(n)};p.inverseHyperbolicSine=p.asinh=function(){var e,t,n=this,i=n.constructor;return!n.isFinite()||n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,i.rounding=1,A=!1,n=n.times(n).plus(1).sqrt().plus(n),A=!0,i.precision=e,i.rounding=t,n.ln())};p.inverseHyperbolicTangent=p.atanh=function(){var e,t,n,i,r=this,o=r.constructor;return r.isFinite()?r.e>=0?new o(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(e=o.precision,t=o.rounding,i=r.sd(),Math.max(i,e)<2*-r.e-1?b(new o(r),e,t,!0):(o.precision=n=i-r.e,r=I(r.plus(1),new o(1).minus(r),n+e,1),o.precision=e+4,o.rounding=1,r=r.ln(),o.precision=e,o.rounding=t,r.times(.5))):new o(NaN)};p.inverseSine=p.asin=function(){var e,t,n,i,r=this,o=r.constructor;return r.isZero()?new o(r):(t=r.abs().cmp(1),n=o.precision,i=o.rounding,t!==-1?t===0?(e=Q(o,n+4,i).times(.5),e.s=r.s,e):new o(NaN):(o.precision=n+6,o.rounding=1,r=r.div(new o(1).minus(r.times(r)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=i,r.times(2)))};p.inverseTangent=p.atan=function(){var e,t,n,i,r,o,s,a,u,c=this,l=c.constructor,m=l.precision,d=l.rounding;if(c.isFinite()){if(c.isZero())return new l(c);if(c.abs().eq(1)&&m+4<=$e)return s=Q(l,m+4,d).times(.25),s.s=c.s,s}else{if(!c.s)return new l(NaN);if(m+4<=$e)return s=Q(l,m+4,d).times(.5),s.s=c.s,s}for(l.precision=a=m+10,l.rounding=1,n=Math.min(28,a/y+2|0),e=n;e;--e)c=c.div(c.times(c).plus(1).sqrt().plus(1));for(A=!1,t=Math.ceil(a/y),i=1,u=c.times(c),s=new l(c),r=c;e!==-1;)if(r=r.times(u),o=s.minus(r.div(i+=2)),r=r.times(u),s=o.plus(r.div(i+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return n&&(s=s.times(2<<n-1)),A=!0,b(s,l.precision=m,l.rounding=d,!0)};p.isFinite=function(){return!!this.d};p.isInteger=p.isInt=function(){return!!this.d&&D(this.e/y)>this.d.length-2};p.isNaN=function(){return!this.s};p.isNegative=p.isNeg=function(){return this.s<0};p.isPositive=p.isPos=function(){return this.s>0};p.isZero=function(){return!!this.d&&this.d[0]===0};p.lessThan=p.lt=function(e){return this.cmp(e)<0};p.lessThanOrEqualTo=p.lte=function(e){return this.cmp(e)<1};p.logarithm=p.log=function(e){var t,n,i,r,o,s,a,u,c=this,l=c.constructor,m=l.precision,d=l.rounding,g=5;if(e==null)e=new l(10),t=!0;else{if(e=new l(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(n=c.d,c.s<0||!n||!n[0]||c.eq(1))return new l(n&&!n[0]?-1/0:c.s!=1?NaN:n?0:1/0);if(t)if(n.length>1)o=!0;else{for(r=n[0];r%10===0;)r/=10;o=r!==1}if(A=!1,a=m+g,s=ae(c,a),i=t?ve(l,a+10):ae(e,a),u=I(s,i,a,1),we(u.d,r=m,d))do if(a+=10,s=ae(c,a),i=t?ve(l,a+10):ae(e,a),u=I(s,i,a,1),!o){+E(u.d).slice(r+1,r+15)+1==1e14&&(u=b(u,m+1,0));break}while(we(u.d,r+=10,d));return A=!0,b(u,m,d)};p.minus=p.sub=function(e){var t,n,i,r,o,s,a,u,c,l,m,d,g=this,h=g.constructor;if(e=new h(e),!g.d||!e.d)return!g.s||!e.s?e=new h(NaN):g.d?e.s=-e.s:e=new h(e.d||g.s!==e.s?g:NaN),e;if(g.s!=e.s)return e.s=-e.s,g.plus(e);if(c=g.d,d=e.d,a=h.precision,u=h.rounding,!c[0]||!d[0]){if(d[0])e.s=-e.s;else if(c[0])e=new h(g);else return new h(u===3?-0:0);return A?b(e,a,u):e}if(n=D(e.e/y),l=D(g.e/y),c=c.slice(),o=l-n,o){for(m=o<0,m?(t=c,o=-o,s=d.length):(t=d,n=l,s=c.length),i=Math.max(Math.ceil(a/y),s)+2,o>i&&(o=i,t.length=1),t.reverse(),i=o;i--;)t.push(0);t.reverse()}else{for(i=c.length,s=d.length,m=i<s,m&&(s=i),i=0;i<s;i++)if(c[i]!=d[i]){m=c[i]<d[i];break}o=0}for(m&&(t=c,c=d,d=t,e.s=-e.s),s=c.length,i=d.length-s;i>0;--i)c[s++]=0;for(i=d.length;i>o;){if(c[--i]<d[i]){for(r=i;r&&c[--r]===0;)c[r]=Y-1;--c[r],c[i]+=Y}c[i]-=d[i]}for(;c[--s]===0;)c.pop();for(;c[0]===0;c.shift())--n;return c[0]?(e.d=c,e.e=_e(c,n),A?b(e,a,u):e):new h(u===3?-0:0)};p.modulo=p.mod=function(e){var t,n=this,i=n.constructor;return e=new i(e),!n.d||!e.s||e.d&&!e.d[0]?new i(NaN):!e.d||n.d&&!n.d[0]?b(new i(n),i.precision,i.rounding):(A=!1,i.modulo==9?(t=I(n,e.abs(),0,3,1),t.s*=e.s):t=I(n,e,0,i.modulo,1),t=t.times(e),A=!0,n.minus(t))};p.naturalExponential=p.exp=function(){return et(this)};p.naturalLogarithm=p.ln=function(){return ae(this)};p.negated=p.neg=function(){var e=new this.constructor(this);return e.s=-e.s,b(e)};p.plus=p.add=function(e){var t,n,i,r,o,s,a,u,c,l,m=this,d=m.constructor;if(e=new d(e),!m.d||!e.d)return!m.s||!e.s?e=new d(NaN):m.d||(e=new d(e.d||m.s===e.s?m:NaN)),e;if(m.s!=e.s)return e.s=-e.s,m.minus(e);if(c=m.d,l=e.d,a=d.precision,u=d.rounding,!c[0]||!l[0])return l[0]||(e=new d(m)),A?b(e,a,u):e;if(o=D(m.e/y),i=D(e.e/y),c=c.slice(),r=o-i,r){for(r<0?(n=c,r=-r,s=l.length):(n=l,i=o,s=c.length),o=Math.ceil(a/y),s=o>s?o+1:s+1,r>s&&(r=s,n.length=1),n.reverse();r--;)n.push(0);n.reverse()}for(s=c.length,r=l.length,s-r<0&&(r=s,n=l,l=c,c=n),t=0;r;)t=(c[--r]=c[r]+l[r]+t)/Y|0,c[r]%=Y;for(t&&(c.unshift(t),++i),s=c.length;c[--s]==0;)c.pop();return e.d=c,e.e=_e(c,i),A?b(e,a,u):e};p.precision=p.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(ce+e);return n.d?(t=Ot(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};p.round=function(){var e=this,t=e.constructor;return b(new t(e),e.e+1,t.rounding)};p.sine=p.sin=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+Math.max(n.e,n.sd())+y,i.rounding=1,n=En(i,Dt(i,n)),i.precision=e,i.rounding=t,b(ie>2?n.neg():n,e,t,!0)):new i(NaN)};p.squareRoot=p.sqrt=function(){var e,t,n,i,r,o,s=this,a=s.d,u=s.e,c=s.s,l=s.constructor;if(c!==1||!a||!a[0])return new l(!c||c<0&&(!a||a[0])?NaN:a?s:1/0);for(A=!1,c=Math.sqrt(+s),c==0||c==1/0?(t=E(a),(t.length+u)%2==0&&(t+="0"),c=Math.sqrt(t),u=D((u+1)/2)-(u<0||u%2),c==1/0?t="5e"+u:(t=c.toExponential(),t=t.slice(0,t.indexOf("e")+1)+u),i=new l(t)):i=new l(c.toString()),n=(u=l.precision)+3;;)if(o=i,i=o.plus(I(s,o,n+2,1)).times(.5),E(o.d).slice(0,n)===(t=E(i.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!r&&t=="4999"){if(!r&&(b(o,u+1,0),o.times(o).eq(s))){i=o;break}n+=4,r=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(b(i,u+1,1),e=!i.times(i).eq(s));break}return A=!0,b(i,u,l.rounding,e)};p.tangent=p.tan=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+10,i.rounding=1,n=n.sin(),n.s=1,n=I(n,new i(1).minus(n.times(n)).sqrt(),e+10,0),i.precision=e,i.rounding=t,b(ie==2||ie==4?n.neg():n,e,t,!0)):new i(NaN)};p.times=p.mul=function(e){var t,n,i,r,o,s,a,u,c,l=this,m=l.constructor,d=l.d,g=(e=new m(e)).d;if(e.s*=l.s,!d||!d[0]||!g||!g[0])return new m(!e.s||d&&!d[0]&&!g||g&&!g[0]&&!d?NaN:!d||!g?e.s/0:e.s*0);for(n=D(l.e/y)+D(e.e/y),u=d.length,c=g.length,u<c&&(o=d,d=g,g=o,s=u,u=c,c=s),o=[],s=u+c,i=s;i--;)o.push(0);for(i=c;--i>=0;){for(t=0,r=u+i;r>i;)a=o[r]+g[i]*d[r-i-1]+t,o[r--]=a%Y|0,t=a/Y|0;o[r]=(o[r]+t)%Y|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=_e(o,n),A?b(e,m.precision,m.rounding):e};p.toBinary=function(e,t){return nt(this,2,e,t)};p.toDecimalPlaces=p.toDP=function(e,t){var n=this,i=n.constructor;return n=new i(n),e===void 0?n:(G(e,0,ue),t===void 0?t=i.rounding:G(t,0,8),b(n,e+n.e+1,t))};p.toExponential=function(e,t){var n,i=this,r=i.constructor;return e===void 0?n=ee(i,!0):(G(e,0,ue),t===void 0?t=r.rounding:G(t,0,8),i=b(new r(i),e+1,t),n=ee(i,!0,e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};p.toFixed=function(e,t){var n,i,r=this,o=r.constructor;return e===void 0?n=ee(r):(G(e,0,ue),t===void 0?t=o.rounding:G(t,0,8),i=b(new o(r),e+r.e+1,t),n=ee(i,!1,e+i.e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};p.toFraction=function(e){var t,n,i,r,o,s,a,u,c,l,m,d,g=this,h=g.d,T=g.constructor;if(!h)return new T(g);if(c=n=new T(1),i=u=new T(0),t=new T(i),o=t.e=Ot(h)-g.e-1,s=o%y,t.d[0]=M(10,s<0?y+s:s),e==null)e=o>0?t:c;else{if(a=new T(e),!a.isInt()||a.lt(c))throw Error(ce+a);e=a.gt(t)?o>0?t:c:a}for(A=!1,a=new T(E(h)),l=T.precision,T.precision=o=h.length*y*2;m=I(a,t,0,1,1),r=n.plus(m.times(i)),r.cmp(e)!=1;)n=i,i=r,r=c,c=u.plus(m.times(r)),u=r,r=t,t=a.minus(m.times(r)),a=r;return r=I(e.minus(n),i,0,1,1),u=u.plus(r.times(c)),n=n.plus(r.times(i)),u.s=c.s=g.s,d=I(c,i,o,1).minus(g).abs().cmp(I(u,n,o,1).minus(g).abs())<1?[c,i]:[u,n],T.precision=l,A=!0,d};p.toHexadecimal=p.toHex=function(e,t){return nt(this,16,e,t)};p.toNearest=function(e,t){var n=this,i=n.constructor;if(n=new i(n),e==null){if(!n.d)return n;e=new i(1),t=i.rounding}else{if(e=new i(e),t===void 0?t=i.rounding:G(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(A=!1,n=I(n,e,0,t,1).times(e),A=!0,b(n)):(e.s=n.s,n=e),n};p.toNumber=function(){return+this};p.toOctal=function(e,t){return nt(this,8,e,t)};p.toPower=p.pow=function(e){var t,n,i,r,o,s,a=this,u=a.constructor,c=+(e=new u(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new u(M(+a,c));if(a=new u(a),a.eq(1))return a;if(i=u.precision,o=u.rounding,e.eq(1))return b(a,i,o);if(t=D(e.e/y),t>=e.d.length-1&&(n=c<0?-c:c)<=Ln)return r=Et(u,a,n,i),e.s<0?new u(1).div(r):b(r,i,o);if(s=a.s,s<0){if(t<e.d.length-1)return new u(NaN);if((e.d[t]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return n=M(+a,c),t=n==0||!isFinite(n)?D(c*(Math.log("0."+E(a.d))/Math.LN10+a.e+1)):new u(n+"").e,t>u.maxE+1||t<u.minE-1?new u(t>0?s/0:0):(A=!1,u.rounding=a.s=1,n=Math.min(12,(t+"").length),r=et(e.times(ae(a,i+n)),i),r.d&&(r=b(r,i+5,1),we(r.d,i,o)&&(t=i+10,r=b(et(e.times(ae(a,t+n)),t),t+5,1),+E(r.d).slice(i+1,i+15)+1==1e14&&(r=b(r,i+1,0)))),r.s=s,A=!0,u.rounding=o,b(r,i,o))};p.toPrecision=function(e,t){var n,i=this,r=i.constructor;return e===void 0?n=ee(i,i.e<=r.toExpNeg||i.e>=r.toExpPos):(G(e,1,ue),t===void 0?t=r.rounding:G(t,0,8),i=b(new r(i),e,t),n=ee(i,e<=i.e||i.e<=r.toExpNeg,e)),i.isNeg()&&!i.isZero()?"-"+n:n};p.toSignificantDigits=p.toSD=function(e,t){var n=this,i=n.constructor;return e===void 0?(e=i.precision,t=i.rounding):(G(e,1,ue),t===void 0?t=i.rounding:G(t,0,8)),b(new i(n),e,t)};p.toString=function(){var e=this,t=e.constructor,n=ee(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};p.truncated=p.trunc=function(){return b(new this.constructor(this),this.e+1,1)};p.valueOf=p.toJSON=function(){var e=this,t=e.constructor,n=ee(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function E(e){var t,n,i,r=e.length-1,o="",s=e[0];if(r>0){for(o+=s,t=1;t<r;t++)i=e[t]+"",n=y-i.length,n&&(o+=se(n)),o+=i;s=e[t],i=s+"",n=y-i.length,n&&(o+=se(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function G(e,t,n){if(e!==~~e||e<t||e>n)throw Error(ce+e)}function we(e,t,n,i){var r,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=y,r=0):(r=Math.ceil((t+1)/y),t%=y),o=M(10,y-t),a=e[r]%o|0,i==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=n<4&&a==99999||n>3&&a==49999||a==5e4||a==0):s=(n<4&&a+1==o||n>3&&a+1==o/2)&&(e[r+1]/o/100|0)==M(10,t-2)-1||(a==o/2||a==0)&&(e[r+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(i||n<4)&&a==9999||!i&&n>3&&a==4999):s=((i||n<4)&&a+1==o||!i&&n>3&&a+1==o/2)&&(e[r+1]/o/1e3|0)==M(10,t-3)-1,s}function Oe(e,t,n){for(var i,r=[0],o,s=0,a=e.length;s<a;){for(o=r.length;o--;)r[o]*=t;for(r[0]+=Ye.indexOf(e.charAt(s++)),i=0;i<r.length;i++)r[i]>n-1&&(r[i+1]===void 0&&(r[i+1]=0),r[i+1]+=r[i]/n|0,r[i]%=n)}return r.reverse()}function Mn(e,t){var n,i,r;if(t.isZero())return t;i=t.d.length,i<32?(n=Math.ceil(i/3),r=(1/Ve(4,n)).toString()):(n=16,r="2.3283064365386962890625e-10"),e.precision+=n,t=pe(e,1,t.times(r),new e(1));for(var o=n;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=n,t}var I=function(){function e(i,r,o){var s,a=0,u=i.length;for(i=i.slice();u--;)s=i[u]*r+a,i[u]=s%o|0,a=s/o|0;return a&&i.unshift(a),i}function t(i,r,o,s){var a,u;if(o!=s)u=o>s?1:-1;else for(a=u=0;a<o;a++)if(i[a]!=r[a]){u=i[a]>r[a]?1:-1;break}return u}function n(i,r,o,s){for(var a=0;o--;)i[o]-=a,a=i[o]<r[o]?1:0,i[o]=a*s+i[o]-r[o];for(;!i[0]&&i.length>1;)i.shift()}return function(i,r,o,s,a,u){var c,l,m,d,g,h,T,V,R,Z,x,F,Ne,ne,ze,Le,ye,je,z,Re,Me=i.constructor,Qe=i.s==r.s?1:-1,v=i.d,S=r.d;if(!v||!v[0]||!S||!S[0])return new Me(!i.s||!r.s||(v?S&&v[0]==S[0]:!S)?NaN:v&&v[0]==0||!S?Qe*0:Qe/0);for(u?(g=1,l=i.e-r.e):(u=Y,g=y,l=D(i.e/g)-D(r.e/g)),z=S.length,ye=v.length,R=new Me(Qe),Z=R.d=[],m=0;S[m]==(v[m]||0);m++);if(S[m]>(v[m]||0)&&l--,o==null?(ne=o=Me.precision,s=Me.rounding):a?ne=o+(i.e-r.e)+1:ne=o,ne<0)Z.push(1),h=!0;else{if(ne=ne/g+2|0,m=0,z==1){for(d=0,S=S[0],ne++;(m<ye||d)&&ne--;m++)ze=d*u+(v[m]||0),Z[m]=ze/S|0,d=ze%S|0;h=d||m<ye}else{for(d=u/(S[0]+1)|0,d>1&&(S=e(S,d,u),v=e(v,d,u),z=S.length,ye=v.length),Le=z,x=v.slice(0,z),F=x.length;F<z;)x[F++]=0;Re=S.slice(),Re.unshift(0),je=S[0],S[1]>=u/2&&++je;do d=0,c=t(S,x,z,F),c<0?(Ne=x[0],z!=F&&(Ne=Ne*u+(x[1]||0)),d=Ne/je|0,d>1?(d>=u&&(d=u-1),T=e(S,d,u),V=T.length,F=x.length,c=t(T,x,V,F),c==1&&(d--,n(T,z<V?Re:S,V,u))):(d==0&&(c=d=1),T=S.slice()),V=T.length,V<F&&T.unshift(0),n(x,T,F,u),c==-1&&(F=x.length,c=t(S,x,z,F),c<1&&(d++,n(x,z<F?Re:S,F,u))),F=x.length):c===0&&(d++,x=[0]),Z[m++]=d,c&&x[0]?x[F++]=v[Le]||0:(x=[v[Le]],F=1);while((Le++<ye||x[0]!==void 0)&&ne--);h=x[0]!==void 0}Z[0]||Z.shift()}if(g==1)R.e=l,Kt=h;else{for(m=1,d=Z[0];d>=10;d/=10)m++;R.e=m+l*g-1,b(R,a?o+R.e+1:o,s,h)}return R}}();function b(e,t,n,i){var r,o,s,a,u,c,l,m,d,g=e.constructor;e:if(t!=null){if(m=e.d,!m)return e;for(r=1,a=m[0];a>=10;a/=10)r++;if(o=t-r,o<0)o+=y,s=t,l=m[d=0],u=l/M(10,r-s-1)%10|0;else if(d=Math.ceil((o+1)/y),a=m.length,d>=a)if(i){for(;a++<=d;)m.push(0);l=u=0,r=1,o%=y,s=o-y+1}else break e;else{for(l=a=m[d],r=1;a>=10;a/=10)r++;o%=y,s=o-y+r,u=s<0?0:l/M(10,r-s-1)%10|0}if(i=i||t<0||m[d+1]!==void 0||(s<0?l:l%M(10,r-s-1)),c=n<4?(u||i)&&(n==0||n==(e.s<0?3:2)):u>5||u==5&&(n==4||i||n==6&&(o>0?s>0?l/M(10,r-s):0:m[d-1])%10&1||n==(e.s<0?8:7)),t<1||!m[0])return m.length=0,c?(t-=e.e+1,m[0]=M(10,(y-t%y)%y),e.e=-t||0):m[0]=e.e=0,e;if(o==0?(m.length=d,a=1,d--):(m.length=d+1,a=M(10,y-o),m[d]=s>0?(l/M(10,r-s)%M(10,s)|0)*a:0),c)for(;;)if(d==0){for(o=1,s=m[0];s>=10;s/=10)o++;for(s=m[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,m[0]==Y&&(m[0]=1));break}else{if(m[d]+=a,m[d]!=Y)break;m[d--]=0,a=1}for(o=m.length;m[--o]===0;)m.pop()}return A&&(e.e>g.maxE?(e.d=null,e.e=NaN):e.e<g.minE&&(e.e=0,e.d=[0])),e}function ee(e,t,n){if(!e.isFinite())return vt(e);var i,r=e.e,o=E(e.d),s=o.length;return t?(n&&(i=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+se(i):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):r<0?(o="0."+se(-r-1)+o,n&&(i=n-s)>0&&(o+=se(i))):r>=s?(o+=se(r+1-s),n&&(i=n-r-1)>0&&(o=o+"."+se(i))):((i=r+1)<s&&(o=o.slice(0,i)+"."+o.slice(i)),n&&(i=n-s)>0&&(r+1===s&&(o+="."),o+=se(i))),o}function _e(e,t){var n=e[0];for(t*=y;n>=10;n/=10)t++;return t}function ve(e,t,n){if(t>Rn)throw A=!0,n&&(e.precision=n),Error(Nt);return b(new e(Ee),t,1,!0)}function Q(e,t,n){if(t>$e)throw Error(Nt);return b(new e(Fe),t,n,!0)}function Ot(e){var t=e.length-1,n=t*y+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function se(e){for(var t="";e--;)t+="0";return t}function Et(e,t,n,i){var r,o=new e(1),s=Math.ceil(i/y+4);for(A=!1;;){if(n%2&&(o=o.times(t),St(o.d,s)&&(r=!0)),n=D(n/2),n===0){n=o.d.length-1,r&&o.d[n]===0&&++o.d[n];break}t=t.times(t),St(t.d,s)}return A=!0,o}function It(e){return e.d[e.d.length-1]&1}function Ft(e,t,n){for(var i,r=new e(t[0]),o=0;++o<t.length;)if(i=new e(t[o]),i.s)r[n](i)&&(r=i);else{r=i;break}return r}function et(e,t){var n,i,r,o,s,a,u,c=0,l=0,m=0,d=e.constructor,g=d.rounding,h=d.precision;if(!e.d||!e.d[0]||e.e>17)return new d(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(A=!1,u=h):u=t,a=new d(.03125);e.e>-2;)e=e.times(a),m+=5;for(i=Math.log(M(2,m))/Math.LN10*2+5|0,u+=i,n=o=s=new d(1),d.precision=u;;){if(o=b(o.times(e),u,1),n=n.times(++l),a=s.plus(I(o,n,u,1)),E(a.d).slice(0,u)===E(s.d).slice(0,u)){for(r=m;r--;)s=b(s.times(s),u,1);if(t==null)if(c<3&&we(s.d,u-i,g,c))d.precision=u+=10,n=o=a=new d(1),l=0,c++;else return b(s,d.precision=h,g,A=!0);else return d.precision=h,s}s=a}}function ae(e,t){var n,i,r,o,s,a,u,c,l,m,d,g=1,h=10,T=e,V=T.d,R=T.constructor,Z=R.rounding,x=R.precision;if(T.s<0||!V||!V[0]||!T.e&&V[0]==1&&V.length==1)return new R(V&&!V[0]?-1/0:T.s!=1?NaN:V?0:T);if(t==null?(A=!1,l=x):l=t,R.precision=l+=h,n=E(V),i=n.charAt(0),Math.abs(o=T.e)<15e14){for(;i<7&&i!=1||i==1&&n.charAt(1)>3;)T=T.times(e),n=E(T.d),i=n.charAt(0),g++;o=T.e,i>1?(T=new R("0."+n),o++):T=new R(i+"."+n.slice(1))}else return c=ve(R,l+2,x).times(o+""),T=ae(new R(i+"."+n.slice(1)),l-h).plus(c),R.precision=x,t==null?b(T,x,Z,A=!0):T;for(m=T,u=s=T=I(T.minus(1),T.plus(1),l,1),d=b(T.times(T),l,1),r=3;;){if(s=b(s.times(d),l,1),c=u.plus(I(s,new R(r),l,1)),E(c.d).slice(0,l)===E(u.d).slice(0,l))if(u=u.times(2),o!==0&&(u=u.plus(ve(R,l+2,x).times(o+""))),u=I(u,new R(g),l,1),t==null)if(we(u.d,l-h,Z,a))R.precision=l+=h,c=s=T=I(m.minus(1),m.plus(1),l,1),d=b(T.times(T),l,1),r=a=1;else return b(u,R.precision=x,Z,A=!0);else return R.precision=x,u;u=c,r+=2}}function vt(e){return String(e.s*e.s/0)}function tt(e,t){var n,i,r;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(i=t.search(/e/i))>0?(n<0&&(n=i),n+=+t.slice(i+1),t=t.substring(0,i)):n<0&&(n=t.length),i=0;t.charCodeAt(i)===48;i++);for(r=t.length;t.charCodeAt(r-1)===48;--r);if(t=t.slice(i,r),t){if(r-=i,e.e=n=n-i-1,e.d=[],i=(n+1)%y,n<0&&(i+=y),i<r){for(i&&e.d.push(+t.slice(0,i)),r-=y;i<r;)e.d.push(+t.slice(i,i+=y));t=t.slice(i),i=y-t.length}else i-=r;for(;i--;)t+="0";e.d.push(+t),A&&(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 On(e,t){var n,i,r,o,s,a,u,c,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),Mt.test(t))return tt(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Kn.test(t))n=16,t=t.toLowerCase();else if(Cn.test(t))n=2;else if(Nn.test(t))n=8;else throw Error(ce+t);for(o=t.search(/p/i),o>0?(u=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,i=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,r=Et(i,new i(n),o,o*2)),c=Oe(t,n,Y),l=c.length-1,o=l;c[o]===0;--o)c.pop();return o<0?new i(e.s*0):(e.e=_e(c,l),e.d=c,A=!1,s&&(e=I(e,r,a*4)),u&&(e=e.times(Math.abs(u)<54?M(2,u):Pe.pow(2,u))),A=!0,e)}function En(e,t){var n,i=t.d.length;if(i<3)return t.isZero()?t:pe(e,2,t,t);n=1.4*Math.sqrt(i),n=n>16?16:n|0,t=t.times(1/Ve(5,n)),t=pe(e,2,t,t);for(var r,o=new e(5),s=new e(16),a=new e(20);n--;)r=t.times(t),t=t.times(o.plus(r.times(s.times(r).minus(a))));return t}function pe(e,t,n,i,r){var o,s,a,u,c=1,l=e.precision,m=Math.ceil(l/y);for(A=!1,u=n.times(n),a=new e(i);;){if(s=I(a.times(u),new e(t++*t++),l,1),a=r?i.plus(s):i.minus(s),i=I(s.times(u),new e(t++*t++),l,1),s=a.plus(i),s.d[m]!==void 0){for(o=m;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=i,i=s,s=o,c++}return A=!0,s.d.length=m+1,s}function Ve(e,t){for(var n=e;--t;)n*=e;return n}function Dt(e,t){var n,i=t.s<0,r=Q(e,e.precision,1),o=r.times(.5);if(t=t.abs(),t.lte(o))return ie=i?4:1,t;if(n=t.divToInt(r),n.isZero())ie=i?3:2;else{if(t=t.minus(n.times(r)),t.lte(o))return ie=It(n)?i?2:3:i?4:1,t;ie=It(n)?i?1:4:i?3:2}return t.minus(r).abs()}function nt(e,t,n,i){var r,o,s,a,u,c,l,m,d,g=e.constructor,h=n!==void 0;if(h?(G(n,1,ue),i===void 0?i=g.rounding:G(i,0,8)):(n=g.precision,i=g.rounding),!e.isFinite())l=vt(e);else{for(l=ee(e),s=l.indexOf("."),h?(r=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):r=t,s>=0&&(l=l.replace(".",""),d=new g(1),d.e=l.length-s,d.d=Oe(ee(d),10,r),d.e=d.d.length),m=Oe(l,10,r),o=u=m.length;m[--u]==0;)m.pop();if(!m[0])l=h?"0p+0":"0";else{if(s<0?o--:(e=new g(e),e.d=m,e.e=o,e=I(e,d,n,i,0,r),m=e.d,o=e.e,c=Kt),s=m[n],a=r/2,c=c||m[n+1]!==void 0,c=i<4?(s!==void 0||c)&&(i===0||i===(e.s<0?3:2)):s>a||s===a&&(i===4||c||i===6&&m[n-1]&1||i===(e.s<0?8:7)),m.length=n,c)for(;++m[--n]>r-1;)m[n]=0,n||(++o,m.unshift(1));for(u=m.length;!m[u-1];--u);for(s=0,l="";s<u;s++)l+=Ye.charAt(m[s]);if(h){if(u>1)if(t==16||t==8){for(s=t==16?4:3,--u;u%s;u++)l+="0";for(m=Oe(l,r,t),u=m.length;!m[u-1];--u);for(s=1,l="1.";s<u;s++)l+=Ye.charAt(m[s])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>u)for(o-=u;o--;)l+="0";else o<u&&(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 St(e,t){if(e.length>t)return e.length=t,!0}function Fn(e){return new this(e).abs()}function vn(e){return new this(e).acos()}function Dn(e){return new this(e).acosh()}function _n(e,t){return new this(e).plus(t)}function Vn(e){return new this(e).asin()}function Wn(e){return new this(e).asinh()}function qn(e){return new this(e).atan()}function Gn(e){return new this(e).atanh()}function Un(e,t){e=new this(e),t=new this(t);var n,i=this.precision,r=this.rounding,o=i+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=Q(this,o,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?Q(this,i,r):new this(0),n.s=e.s):!e.d||t.isZero()?(n=Q(this,o,1).times(.5),n.s=e.s):t.s<0?(this.precision=o,this.rounding=1,n=this.atan(I(e,t,o,1)),t=Q(this,o,1),this.precision=i,this.rounding=r,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(I(e,t,o,1)),n}function Xn(e){return new this(e).cbrt()}function Hn(e){return b(e=new this(e),e.e+1,2)}function Zn(e,t,n){return new this(e).clamp(t,n)}function zn(e){if(!e||typeof e!="object")throw Error(De+"Object expected");var t,n,i,r=e.defaults===!0,o=["precision",1,ue,"rounding",0,8,"toExpNeg",-de,0,"toExpPos",0,de,"maxE",0,de,"minE",-de,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],r&&(this[n]=Je[n]),(i=e[n])!==void 0)if(D(i)===i&&i>=o[t+1]&&i<=o[t+2])this[n]=i;else throw Error(ce+n+": "+i);if(n="crypto",r&&(this[n]=Je[n]),(i=e[n])!==void 0)if(i===!0||i===!1||i===0||i===1)if(i)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(Lt);else this[n]=!1;else throw Error(ce+n+": "+i);return this}function jn(e){return new this(e).cos()}function Qn(e){return new this(e).cosh()}function _t(e){var t,n,i;function r(o){var s,a,u,c=this;if(!(c instanceof r))return new r(o);if(c.constructor=r,Ct(o)){c.s=o.s,A?!o.d||o.e>r.maxE?(c.e=NaN,c.d=null):o.e<r.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++;A?s>r.maxE?(c.e=NaN,c.d=null):s<r.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 tt(c,o.toString())}else if(u!=="string")throw Error(ce+o);return(a=o.charCodeAt(0))===45?(o=o.slice(1),c.s=-1):(a===43&&(o=o.slice(1)),c.s=1),Mt.test(o)?tt(c,o):On(c,o)}if(r.prototype=p,r.ROUND_UP=0,r.ROUND_DOWN=1,r.ROUND_CEIL=2,r.ROUND_FLOOR=3,r.ROUND_HALF_UP=4,r.ROUND_HALF_DOWN=5,r.ROUND_HALF_EVEN=6,r.ROUND_HALF_CEIL=7,r.ROUND_HALF_FLOOR=8,r.EUCLID=9,r.config=r.set=zn,r.clone=_t,r.isDecimal=Ct,r.abs=Fn,r.acos=vn,r.acosh=Dn,r.add=_n,r.asin=Vn,r.asinh=Wn,r.atan=qn,r.atanh=Gn,r.atan2=Un,r.cbrt=Xn,r.ceil=Hn,r.clamp=Zn,r.cos=jn,r.cosh=Qn,r.div=Yn,r.exp=Jn,r.floor=$n,r.hypot=ei,r.ln=ti,r.log=ni,r.log10=ri,r.log2=ii,r.max=oi,r.min=si,r.mod=ai,r.mul=ci,r.pow=ui,r.random=li,r.round=mi,r.sign=di,r.sin=pi,r.sinh=fi,r.sqrt=bi,r.sub=gi,r.sum=yi,r.tan=wi,r.tanh=Pi,r.trunc=Ai,e===void 0&&(e={}),e&&e.defaults!==!0)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<i.length;)e.hasOwnProperty(n=i[t++])||(e[n]=this[n]);return r.config(e),r}function Yn(e,t){return new this(e).div(t)}function Jn(e){return new this(e).exp()}function $n(e){return b(e=new this(e),e.e+1,3)}function ei(){var e,t,n=new this(0);for(A=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return A=!0,new this(1/0);n=t}return A=!0,n.sqrt()}function Ct(e){return e instanceof Pe||e&&e.toStringTag===Rt||!1}function ti(e){return new this(e).ln()}function ni(e,t){return new this(e).log(t)}function ii(e){return new this(e).log(2)}function ri(e){return new this(e).log(10)}function oi(){return Ft(this,arguments,"lt")}function si(){return Ft(this,arguments,"gt")}function ai(e,t){return new this(e).mod(t)}function ci(e,t){return new this(e).mul(t)}function ui(e,t){return new this(e).pow(t)}function li(e){var t,n,i,r,o=0,s=new this(1),a=[];if(e===void 0?e=this.precision:G(e,1,ue),i=Math.ceil(e/y),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(i));o<i;)r=t[o],r>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=r%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(i*=4);o<i;)r=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((t[o+3]&127)<<24),r>=214e7?crypto.randomBytes(4).copy(t,o):(a.push(r%1e7),o+=4);o=i/4}else throw Error(Lt);else for(;o<i;)a[o++]=Math.random()*1e7|0;for(i=a[--o],e%=y,i&&e&&(r=M(10,y-e),a[o]=(i/r|0)*r);a[o]===0;o--)a.pop();if(o<0)n=0,a=[0];else{for(n=-1;a[0]===0;n-=y)a.shift();for(i=1,r=a[0];r>=10;r/=10)i++;i<y&&(n-=y-i)}return s.e=n,s.d=a,s}function mi(e){return b(e=new this(e),e.e+1,this.rounding)}function di(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function pi(e){return new this(e).sin()}function fi(e){return new this(e).sinh()}function bi(e){return new this(e).sqrt()}function gi(e,t){return new this(e).sub(t)}function yi(){var e=0,t=arguments,n=new this(t[e]);for(A=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return A=!0,b(n,this.precision,this.rounding)}function wi(e){return new this(e).tan()}function Pi(e){return new this(e).tanh()}function Ai(e){return b(e=new this(e),e.e+1,1)}p[Symbol.for("nodejs.util.inspect.custom")]=p.toString;p[Symbol.toStringTag]="Decimal";var Pe=p.constructor=_t(Je);Ee=new Pe(Ee);Fe=new Pe(Fe);var O=Pe;import Qp from"bn.js";import{PublicKey as Dr}from"@solana/web3.js";import{get as Vt,set as Ti}from"lodash";var it=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(i=>typeof i=="object"?JSON.stringify(i):i).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},Wt={},ki={};function W(e){let t=Vt(Wt,e);if(!t){let n=Vt(ki,e);t=new it({name:e,logLevel:n}),Ti(Wt,e,t)}return t}import{MINT_SIZE as qr,TOKEN_PROGRAM_ID as Gr,getTransferFeeConfig as Ur,unpackMint as Xr}from"@solana/spl-token";var Hr=W("Raydium_accountInfo_util");import re from"bn.js";import Ni from"big.js";import lo from"bn.js";import hi from"toformat";var Bi=hi,Ae=Bi;import Ge from"big.js";import Ii from"bn.js";import Si from"decimal.js-light";import Te from"bn.js";var Gt=9007199254740991;function te(e){let t=W("Raydium_parseBigNumberish");if(e instanceof Te)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new Te(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=Gt||e<=-Gt)&&t.logWithError(`BigNumberish number overflow: ${e}`),new Te(String(e))):typeof e=="bigint"?new Te(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new Te(0))}var qe=W("module/fraction"),rt=Ae(Ge),ke=Ae(Si),Ci={[0]:ke.ROUND_DOWN,[1]:ke.ROUND_HALF_UP,[2]:ke.ROUND_UP},Ki={[0]:Ge.roundDown,[1]:Ge.roundHalfUp,[2]:Ge.roundUp},C=class{constructor(t,n=new Ii(1)){this.numerator=te(t),this.denominator=te(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new C(this.denominator,this.numerator)}add(t){let n=t instanceof C?t:new C(te(t));return this.denominator.eq(n.denominator)?new C(this.numerator.add(n.numerator),this.denominator):new C(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof C?t:new C(te(t));return this.denominator.eq(n.denominator)?new C(this.numerator.sub(n.numerator),this.denominator):new C(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof C?t:new C(te(t));return new C(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof C?t:new C(te(t));return new C(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},i=1){Number.isInteger(t)||qe.logWithError(`${t} is not an integer.`),t<=0&&qe.logWithError(`${t} is not positive.`),ke.set({precision:t+1,rounding:Ci[i]});let r=new ke(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return r.toFormat(r.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},i=1){return Number.isInteger(t)||qe.logWithError(`${t} is not an integer.`),t<0&&qe.logWithError(`${t} is negative.`),rt.DP=t,rt.RM=Ki[i]||1,new rt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var Ao=W("Raydium_amount"),To=Ae(Ni);import{PublicKey as Ri}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ut}from"@solana/spl-token";var ot={chainId:101,address:Ri.default.toBase58(),programId:Ut.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},le={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Ut.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as at}from"@solana/web3.js";import{PublicKey as K,SystemProgram as Xt,SYSVAR_RENT_PUBKEY as Mi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Oi}from"@solana/spl-token";function st({pubkey:e,isSigner:t=!1,isWritable:n=!0}){return{pubkey:e,isWritable:n,isSigner:t}}var Ko=[st({pubkey:Oi,isWritable:!1}),st({pubkey:Xt.programId,isWritable:!1}),st({pubkey:Mi,isWritable:!1})];function Ht({publicKey:e,transformSol:t}){let n=Zt(e.toString());if(n instanceof K)return t&&n.equals(he)?We:n;if(t&&n.toString()===he.toBase58())return We;if(typeof n=="string"){if(n===K.default.toBase58())return K.default;try{return new K(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function Zt(e){try{return new K(e)}catch{return e}}var Ei=new K("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Fi=new K("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),vi=new K("SysvarRent111111111111111111111111111111111"),No=new K("SysvarC1ock11111111111111111111111111111111"),zt=new K("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Lo=new K("Sysvar1nstructions1111111111111111111111111"),Ro=Xt.programId,Mo=new K("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Oo=new K("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Eo=new K("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Fo=new K("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),vo=new K("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Do=new K("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),_o=new K("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Vo=new K("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Wo=new K("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),qo=new K("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Go=new K("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),We=new K("So11111111111111111111111111111111111111112"),he=K.default;var ct=class{constructor({mint:t,decimals:n,symbol:i,name:r,skipMint:o=!1,isToken2022:s=!1}){if(t===he.toBase58()||t instanceof at&&he.equals(t)){this.decimals=le.decimals,this.symbol=le.symbol,this.name=le.name,this.mint=new at(le.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=i||t.toString().substring(0,6),this.name=r||t.toString().substring(0,6),this.mint=o?at.default:Ht({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},me=ct;me.WSOL=new ct($(j({},le),{mint:le.address}));var ut=class{constructor({decimals:t,symbol:n="UNKNOWN",name:i="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=i}equals(t){return this===t}},Ue=ut;Ue.SOL=new ut(ot);import Di from"bn.js";var ts=new C(new Di(100));var as=W("Raydium_price");import{PublicKey as Bs}from"@solana/web3.js";import Is from"bn.js";var _i=new re(0),Us=new re(1),Xs=new re(2),Hs=new re(3),Zs=new re(5),Li=new re(10),zs=new re(100),js=new re(1e3),Qs=new re(1e4);import{PublicKey as Ta}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ha}from"@solana/spl-token";import{ComputeBudgetProgram as ra,Keypair as aa,PublicKey as ca,Transaction as la,TransactionMessage as da,VersionedTransaction as pa}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ya}from"@solana/spl-token";var wa=W("Raydium_txUtil");import{PublicKey as f}from"@solana/web3.js";var Sa=new f("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Ca=new f("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Ka=new f("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Na=new f("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),La=new f("Ray1111111111111111111111111111111111111111"),Ra=new f("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ma=new f("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Oa=new f("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Ea=new f("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Fa=new f("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),va=new f("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Wi=new f("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),qi=new f("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Gi=new f("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Da=new f("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),jt=new f("Ray1111111111111111111111111111111111111111"),_a=new f("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Va=new f("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Wa=new f("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),qa=new f("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Ga=new f("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),Ua=new f("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),Xa=new f("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Ha=new f("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Za=new f("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Ui=new f("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),Xi=new f("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),Hi=new f("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),za=new f("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Zi=new f("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),ja=new f("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),zi=new f("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix"),Qa=new f("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj"),Ya=new f("WLHv2UAZm6z4KyaaELi5pjdbJh6RESMva1Rnn8pJVVh"),ji=new f("LanD8FpTBBvzZFXjTxsAoipkFsxPUCDB4qAqKxYDiNP"),Qi=new f("HYNHiyKJ3gGVFvyxJAurK7qr7P2o5J9THmvCGMdULtpW"),Ja=new f("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4"),Qt=new f("2Jx4KTDrVSdWNazuGpcA8n3ZLTRGGBDxAWhuKe2Xcj2a"),$a=new f("6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX"),Yt=new f("7ZR4zD7PYfY2XxoG1Gxcy2EgEeGYrpxrwzPuwdUBssEt");var ec={AMM_V4:new f("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AMM_STABLE:new f("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM_PROGRAM_ID:new f("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new f("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new f("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),FARM_PROGRAM_ID_V3:new f("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FARM_PROGRAM_ID_V5:new f("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FARM_PROGRAM_ID_V6:new f("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),OPEN_BOOK_PROGRAM:new f("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:f.default,UTIL1216:f.default,Router:new f("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:Ui,CREATE_CPMM_POOL_AUTH:Xi,CREATE_CPMM_POOL_FEE_ACC:Hi,LOCK_CPMM_PROGRAM:Zi,LOCK_CPMM_AUTH:zi,LAUNCHPAD_PROGRAM:ji,LAUNCHPAD_AUTH:Qi,LAUNCHPAD_PLATFORM:Qt,LAUNCHPAD_CONFIG:Yt,FEE_DESTINATION_ID:new f("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),MODEL_DATA_PUBKEY:jt},tc={OPEN_BOOK_PROGRAM:new f("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),SERUM_PROGRAM_ID_V3:new f("Ray1111111111111111111111111111111111111111"),AMM_V4:new f("DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav"),AMM_STABLE:new f("DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m"),CLMM_PROGRAM_ID:new f("DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH"),CLMM_LOCK_PROGRAM_ID:new f("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),CLMM_LOCK_AUTH_ID:new f("6Aoh8h2Lw2m5UGxYR8AdAL87jTWYeKoxM52mJRzfYwN"),CREATE_CPMM_POOL_PROGRAM:new f("DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb"),CREATE_CPMM_POOL_AUTH:new f("CXniRufdq5xL8t8jZAPxsPZDpuudwuJSPWnbcD5Y5Nxq"),CREATE_CPMM_POOL_FEE_ACC:new f("3oE58BKVt8KuYkGxx8zBojugnymWmBiyafWgMrnb6eYy"),LOCK_CPMM_PROGRAM:new f("DRay25Usp3YJAi7beckgpGUC7mGJ2cR1AVPxhYfwVCUX"),LOCK_CPMM_AUTH:new f("7qWVV8UY2bRJfDLP4s37YzBPKUkVB46DStYJBpYbQzu3"),UTIL1216:f.default,Router:new f("DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd"),FARM_PROGRAM_ID_V3:new f("DRayWyrLmEW5KEeqs8kdTMMaBabapqagaBC7KWpGtJeZ"),FARM_PROGRAM_ID_V5:new f("DRayiCGSZgku1GTK6rXD6mVDdingXy6APAH1R6R5L2LC"),FARM_PROGRAM_ID_V6:new f("DRayzbYakXs45ELHkzH6vC3fuhQqTAnv5A68gdFuvZyZ"),LAUNCHPAD_PROGRAM:new f("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6"),LAUNCHPAD_AUTH:new f("5xqNaZXX5eUi4p5HU4oz9i5QnwRNT2y6oN7yyn4qENeq"),LAUNCHPAD_PLATFORM:Qt,LAUNCHPAD_CONFIG:Yt,FEE_DESTINATION_ID:new f("9y8ENuuZ3b19quffx9hQvRVygG5ky6snHfRvGpuSfeJy"),MODEL_DATA_PUBKEY:jt};import rc from"bn.js";import{PublicKey as Yi,AddressLookupTableAccount as Jt}from"@solana/web3.js";var Ji={AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU:new Jt({key:new Yi("AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU"),state:Jt.deserialize(Buffer.from("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","base64"))})};import{PublicKey as Tc,sendAndConfirmTransaction as kc,SystemProgram as xc,Transaction as Ic,TransactionMessage as Cc,VersionedTransaction as Kc}from"@solana/web3.js";import Lc from"axios";import tr from"bn.js";var Dc=new tr(1e6);var Be=class{static getPoolInitPriceByPool({poolInfo:t,decimalA:n,decimalB:i}){throw Error()}static getPoolInitPriceByInit({a:t,b:n,decimalA:i,decimalB:r}){throw Error()}static getPoolPrice({poolInfo:t,decimalA:n,decimalB:i}){throw Error()}static getPoolEndPrice({supply:t,totalSell:n,totalLockedAmount:i,totalFundRaising:r,migrateFee:o,decimalA:s,decimalB:a}){throw Error()}static getPoolEndPriceReal({poolInfo:t,decimalA:n,decimalB:i}){throw Error()}static getInitParam({supply:t,totalFundRaising:n,totalSell:i,totalLockedAmount:r,migrateFee:o}){throw Error()}static buyExactIn({poolInfo:t,amount:n}){throw Error()}static buyExactOut({poolInfo:t,amount:n}){throw Error()}static sellExactIn({poolInfo:t,amount:n}){throw Error()}static sellExactOut({poolInfo:t,amount:n}){throw Error()}};import{PublicKey as ip}from"@solana/web3.js";import op from"bn.js";import{AccountLayout as up,createAssociatedTokenAccountIdempotentInstruction as lp,TOKEN_2022_PROGRAM_ID as mp,TOKEN_PROGRAM_ID as dp}from"@solana/spl-token";import{PublicKey as cu}from"@solana/web3.js";import{MintLayout as lu,TOKEN_PROGRAM_ID as du}from"@solana/spl-token";import{Keypair as Id,PublicKey as Sd,SystemProgram as Kd,TransactionInstruction as Nd}from"@solana/web3.js";import Rd from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Ed,TOKEN_2022_PROGRAM_ID as Fd,TOKEN_PROGRAM_ID as vd}from"@solana/spl-token";import{PublicKey as lr}from"@solana/web3.js";import rn,{isBN as on}from"bn.js";import{bits as Bu,BitStructure as xu,blob as nr,Blob as Iu,cstr as Su,f32 as Cu,f32be as Ku,f64 as Nu,f64be as Lu,greedy as Ru,Layout as ir,ns64 as Mu,ns64be as Ou,nu64 as Eu,nu64be as Fu,offset as vu,s16 as Du,s16be as _u,s24 as Vu,s24be as Wu,s32 as rr,s32be as qu,s40 as Gu,s40be as Uu,s48 as Xu,s48be as Hu,s8 as Zu,seq as or,struct as zu,Structure as sr,u16 as ar,u16be as ju,u24 as Qu,u24be as Yu,u32 as Ju,u32be as $u,u40 as el,u40be as tl,u48 as nl,u48be as il,u8 as cr,UInt as ur,union as rl,Union as ol,unionLayoutDiscriminator as sl,utf8 as al}from"@solana/buffer-layout";var pt=ir,en=sr;var ft=ur;var tn=cr,xe=ar;var oe=rr;var nn=or;var X=nr;var fe=class extends pt{constructor(n,i,r){super(n,r);this.blob=X(n),this.signed=i}decode(n,i=0){let r=new rn(this.blob.decode(n,i),10,"le");return this.signed?r.fromTwos(this.span*8).clone():r}encode(n,i,r=0){return typeof n=="number"&&(n=new rn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),i,r)}};function q(e){return new ft(1,e)}function be(e){return new ft(4,e)}function k(e){return new fe(8,!1,e)}function N(e){return new fe(16,!1,e)}function sn(e){return new fe(8,!0,e)}function an(e){return new fe(16,!0,e)}var He=class extends pt{constructor(n,i,r,o){super(n.span,o);this.layout=n,this.decoder=i,this.encoder=r}decode(n,i){return this.decoder(this.layout.decode(n,i))}encode(n,i,r){return this.layout.encode(this.encoder(n),i,r)}getSpan(n,i){return this.layout.getSpan(n,i)}};function B(e){return new He(X(32),t=>new lr(t),t=>t.toBuffer(),e)}function gt(e){return new He(tn(),mr,dr,e)}function mr(e){if(e===0)return!1;if(e===1)return!0;throw new Error("Invalid bool: "+e)}function dr(e){return e?1:0}var bt=class extends en{decode(t,n){return super.decode(t,n)}};function _(e,t,n){return new bt(e,t,n)}function L(e,t,n){let i,r=typeof t=="number"?t:on(t)?t.toNumber():new Proxy(t,{get(o,s){if(!i){let a=Reflect.get(o,"count");i=on(a)?a.toNumber():a,Reflect.set(o,"count",i)}return Reflect.get(o,s)},set(o,s,a){return s==="count"&&(i=a),Reflect.set(o,s,a)}});return nn(e,r,n)}import od from"bn.js";import H from"bn.js";var yt=new H(0),cn=new H(1),un=new H(-1),J=new H(1).shln(64),ln=new H(1).shln(128),wt=J.sub(cn);var pr=ln.subn(1),ge=-443636,Ie=-ge,Pt=new H("4295048016"),At=new H("79226673521066979257578248091"),Tl=new H("4295048017"),kl=new H("79226673521066979257578248090");var fr=new H(10).pow(new H(6));var hl=new H("18446744073700000000");import Xm from"bn.js";var Nl=Buffer.from("amm_config","utf8"),Ll=Buffer.from("pool","utf8"),Rl=Buffer.from("pool_vault","utf8"),Ml=Buffer.from("pool_reward_vault","utf8"),Ol=Buffer.from("position","utf8"),El=Buffer.from("tick_array","utf8"),Fl=Buffer.from("operation","utf8"),vl=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Dl=Buffer.from("observation","utf8");var _l=Buffer.from("locked_position","utf8");var Vl=Buffer.from("support_mint","utf8");import{PublicKey as Pm}from"@solana/web3.js";import{TOKEN_2022_PROGRAM_ID as Tm}from"@solana/spl-token";import hm from"bn.js";import Gl from"bn.js";var ht=14;var Ze=60;var Pr=_([X(8),q("bump"),xe("index"),B(""),be("protocolFeeRate"),be("tradeFeeRate"),xe("tickSpacing"),L(k(),8,"")]),Ar=_([be("blockTimestamp"),sn("tickCumulative"),L(k(),4)]),An=_([X(8),gt("initialized"),k("recentEpoch"),xe("observationIndex"),B("poolId"),L(Ar,100,"observations"),L(k(),4)]),Tr=_([q("rewardState"),k("openTime"),k("endTime"),k("lastUpdateTime"),N("emissionsPerSecondX64"),k("rewardTotalEmissioned"),k("rewardClaimed"),B("tokenMint"),B("tokenVault"),B("creator"),N("rewardGrowthGlobalX64")]),yn=_([X(8),q("bump"),B("ammConfig"),B("creator"),B("mintA"),B("mintB"),B("vaultA"),B("vaultB"),B("observationId"),q("mintDecimalsA"),q("mintDecimalsB"),xe("tickSpacing"),N("liquidity"),N("sqrtPriceX64"),oe("tickCurrent"),be(),N("feeGrowthGlobalX64A"),N("feeGrowthGlobalX64B"),k("protocolFeesTokenA"),k("protocolFeesTokenB"),N("swapInAmountTokenA"),N("swapOutAmountTokenB"),N("swapInAmountTokenB"),N("swapOutAmountTokenA"),q("status"),L(q(),7,""),L(Tr,3,"rewardInfos"),L(k(),16,"tickArrayBitmap"),k("totalFeesTokenA"),k("totalFeesClaimedTokenA"),k("totalFeesTokenB"),k("totalFeesClaimedTokenB"),k("fundFeesTokenA"),k("fundFeesTokenB"),k("startTime"),L(k(),15*4-3,"padding")]),kr=_([N("growthInsideLastX64"),k("rewardAmountOwed")]),wn=_([X(8),q("bump"),B("nftMint"),B("poolId"),oe("tickLower"),oe("tickUpper"),N("liquidity"),N("feeGrowthInsideLastX64A"),N("feeGrowthInsideLastX64B"),k("tokenFeesOwedA"),k("tokenFeesOwedB"),L(kr,3,"rewardInfos"),L(k(),8,"")]),bd=_([X(8),q("bump"),B("poolId"),oe("tickLowerIndex"),oe("tickUpperIndex"),N("liquidity"),N("feeGrowthInsideLastX64A"),N("feeGrowthInsideLastX64B"),k("tokenFeesOwedA"),k("tokenFeesOwedB"),L(N(),3,"rewardGrowthInside"),L(k(),8,"")]),hr=_([oe("tick"),an("liquidityNet"),N("liquidityGross"),N("feeGrowthOutsideX64A"),N("feeGrowthOutsideX64B"),L(N(),3,"rewardGrowthsOutsideX64"),L(be(),13,"")]),fn=_([X(8),B("poolId"),oe("startTickIndex"),L(hr,Ze,"ticks"),q("initializedTickCount"),L(q(),115,"")]),Br=_([X(329),L(B(),100,"whitelistMints")]),wr=_([X(8),B("poolId"),L(L(k(),8),ht,"positiveTickArrayBitmap"),L(L(k(),8),ht,"negativeTickArrayBitmap")]),gd=_([k(),q("bump"),B("owner"),B("poolId"),B("positionId"),B("nftAccount"),L(k(),8)]),xr=_([X(8),q("bump"),B("lockOwner"),B("poolId"),B("positionId"),B("nftAccount"),B("lockNftMint"),k("recentEpoch"),L(k(),8)]);An.span;var Hd=W("Raydium_Clmm");import Tn from"bn.js";var Ke=class{static _multipler(t){return new O(10).pow(t)}static getPrice({priceX64:t,decimalA:n,decimalB:i}){return new O(t.toString()).div(this._Q64).mul(this._multipler(n)).div(this._multipler(i))}static getPriceX64({price:t,decimalA:n,decimalB:i}){let r=t.mul(this._multipler(i)).div(this._multipler(n));return new Tn(r.mul(this._Q64).toFixed(0))}};Ke._Q64=new O(new Tn(1).shln(64).toString());var kn=class extends Be{static getPoolInitPriceByPool({poolInfo:t,decimalA:n,decimalB:i}){return new O(0)}static getPoolInitPriceByInit({a:t,b:n,decimalA:i,decimalB:r}){return new O(0)}static getPoolPrice({poolInfo:t,decimalA:n,decimalB:i}){return new O(t.virtualA.mul(t.realA).toString()).div(Ke._Q64).mul(10**(n-i))}static getPoolEndPrice({supply:t,totalSell:n,totalLockedAmount:i,totalFundRaising:r,migrateFee:o,decimalA:s,decimalB:a}){return new O(r.sub(o).toString()).div(t.sub(n).sub(i).toString()).mul(10**(s-a))}static getPoolEndPriceReal({poolInfo:t,decimalA:n,decimalB:i}){let r=t.totalSellA.sub(t.realA),o=t.totalFundRaisingB.sub(t.realB);return new O(t.virtualB.add(t.realB).add(o).toString()).div(t.virtualA.sub(t.realA).add(r).toString()).mul(10**(n-i))}static getInitParam({supply:t,totalFundRaising:n,totalSell:i,totalLockedAmount:r,migrateFee:o}){let s=t.sub(r);if(s.lte(new U(0)))throw Error("supplyMinusLocked need gt 0");let a=n.mul(new U(3)).sub(o),c=n.mul(new U(2)).mul(s).div(a),l=c.mul(c),m=n.mul(new U(2)).mul(J).div(l);if(!m.gt(new U(0)))throw Error("a need gt 0");if(!wt.gt(m))throw Error("a need lt u64 max");return{a:m,b:new U(0),c}}static buyExactIn({poolInfo:t,amount:n}){let i=t.realB.add(n),r=new U(2).mul(i).mul(J).div(t.virtualA);return new U(new O(r.toString()).sqrt().toFixed(0)).sub(t.realA)}static buyExactOut({poolInfo:t,amount:n}){let i=t.realA.add(n),r=i.mul(i),{div:o,mod:s}=t.virtualA.mul(r).divmod(new U(2).mul(J));return(s.isZero()?o:o.add(new U(1))).sub(t.realB)}static sellExactIn({poolInfo:t,amount:n}){let i=t.realA.sub(n),r=i.mul(i),{div:o,mod:s}=t.virtualA.mul(r).divmod(new U(2).mul(J)),a=s.isZero()?o:o.add(new U(1));return t.realB.sub(a)}static sellExactOut({poolInfo:t,amount:n}){let i=t.realB.sub(n),r=new U(2).mul(i).mul(J).div(t.virtualA),o=new U(new O(r.toString()).sqrt().toFixed(0));return t.realA.sub(o)}};export{kn as LinearPriceCurve};
2
2
  //# sourceMappingURL=linearPriceCurve.mjs.map