87 lines
1.3 MiB
87 lines
1.3 MiB
/*
|
||
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
||
if you want to view the source, please visit the github repository of this plugin
|
||
*/
|
||
|
||
var pd=Object.create;var W2=Object.defineProperty,hd=Object.defineProperties,dd=Object.getOwnPropertyDescriptor,md=Object.getOwnPropertyDescriptors,gd=Object.getOwnPropertyNames,N7=Object.getOwnPropertySymbols,vd=Object.getPrototypeOf,C7=Object.prototype.hasOwnProperty,wd=Object.prototype.propertyIsEnumerable;var x7=(t,e,r)=>e in t?W2(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,bn=(t,e)=>{for(var r in e||(e={}))C7.call(e,r)&&x7(t,r,e[r]);if(N7)for(var r of N7(e))wd.call(e,r)&&x7(t,r,e[r]);return t},ur=(t,e)=>hd(t,md(e));var an=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),yd=(t,e)=>{for(var r in e)W2(t,r,{get:e[r],enumerable:!0})},T7=(t,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of gd(e))!C7.call(t,l)&&l!==r&&W2(t,l,{get:()=>e[l],enumerable:!(a=dd(e,l))||a.enumerable});return t};var tr=(t,e,r)=>(r=t!=null?pd(vd(t)):{},T7(e||!t||!t.__esModule?W2(r,"default",{value:t,enumerable:!0}):r,t)),Sd=t=>T7(W2({},"__esModule",{value:!0}),t);var Br=(t,e,r)=>new Promise((a,l)=>{var h=_=>{try{M(r.next(_))}catch(R){l(R)}},L=_=>{try{M(r.throw(_))}catch(R){l(R)}},M=_=>_.done?a(_.value):Promise.resolve(_.value).then(h,L);M((r=r.apply(t,e)).next())});var N0=an((b7,E0)=>{var k7=function(t){"use strict";var e="1.1.13",r=new Ot,a=t.bigInt,l=t.bigDec;l.set({precision:250});var h={},L=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083],M={},_={callPeekers:!1,init_primes:1e3,exclude:[],suppress_errors:!1,PARSE2NUMBER:!1,SAFE:!1,IMAGINARY:"i",FUNCTION_MODULES:[Math],ALLOW_CHARS:["\u03C0"],USE_MULTICHARACTER_VARS:!0,POWER_OPERATOR:"^",VALIDATION_REGEX:/^[a-z_αAβBγΓδΔϵEζZηHθΘιIκKλΛμMνNξΞoOπΠρPσΣτTυϒϕΦχXψΨωΩ∞][0-9a-z_αAβBγΓδΔϵEζZηHθΘιIκKλΛμMνNξΞoOπΠρPσΣτTυϒϕΦχXψΨωΩ]*$/i,IMPLIED_MULTIPLICATION_REGEX:/([\+\-\/\*]*[0-9]+)([a-z_αAβBγΓδΔϵEζZηHθΘιIκKλΛμMνNξΞoOπΠρPσΣτTυϒϕΦχXψΨωΩ]+[\+\-\/\*]*)/gi,ALIASES:{\u03C0:"pi","\u221E":"Infinity"},POSITIVE_MULTIPLIERS:!1,CACHE:{},SILENCE_WARNINGS:!1,PRECISION:21,EXPRESSION_DECP:19,DEFAULT_DECP:16,VECTOR:"vector",PARENTHESIS:"parens",SQRT:"sqrt",ABS:"abs",FACTORIAL:"factorial",DOUBLEFACTORIAL:"dfactorial",LONG_PI:"3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196",LONG_E:"2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852516642742746639193200305992181741359662904357290033429526059563073813232862794349076323382988075319525101901",PI:Math.PI,E:Math.E,LOG:"log",LOG10:"log10",LOG10_LATEX:"log_{10}",MAX_EXP:2e5,SCIENTIFIC_MAX_DECIMAL_PLACES:14,SCIENTIFIC_IGNORE_ZERO_EXPONENTS:!0};(function(){_.CACHE.roots={};for(var o=40,y=40,F=2;F<=o;F++)for(var X=2;X<=y;X++){var w=a(F).pow(X);_.CACHE.roots[w+"-"+X]=F}})();var R=h.N=1,ie=h.P=2,K=h.S=3,de=h.EX=4,ve=h.FN=5,De=h.PL=6,Ie=h.CB=7,Qe=h.CP=8,ee=_.CONST_HASH="#",Te=_.PARENTHESIS,ze=_.SQRT,Oe=_.ABS,ut=_.FACTORIAL,at=_.DOUBLEFACTORIAL,j=[],d={},c=[],u=[],f=function(o,y){if(!_.suppress_errors)throw y?new y(o):new Error(o)},v=function(o){var y=function(F){this.name=o,this.message=F!==void 0?F:"";var X=new Error(this.message);X.name=this.name,this.stack=X.stack};return y.prototype=Object.create(Error.prototype),y},I=function(o){return c.indexOf(o)!==-1},q=function(o){for(var y=o[0],F=1,X=o.length;F<X;F++)if(!o[F].equals(y))return!1;return!0},V=function(o){u.push(o),_.SHOW_WARNINGS&&console&&console.warn&&console.warn(o)},Q=function(o,y){if(y=y||"variable",_.ALLOW_CHARS.indexOf(o)===-1){var F=_.VALIDATION_REGEX;if(!F.test(o))throw new _t(o+" is not a valid "+y+" name")}},le=function(o){var y=Math.sign(o);if(o=Math.abs(o),/\d+\.?\d*e[\+\-]*\d+/i.test(o)){var F="0",X=String(o).toLowerCase().split("e"),w=X.pop(),b=Math.abs(w),z=w/b,_e=X[0].split(".");if(z===-1)b=b-_e[0].length,b<0?o=_e[0].slice(0,b)+"."+_e[0].slice(b)+(_e.length===2?_e[1]:""):o=F+"."+new Array(b+1).join(F)+_e.join("");else{var tt=_e[1];tt&&(b=b-tt.length),b<0?o=_e[0]+tt.slice(0,b)+"."+tt.slice(b):o=_e.join("")+new Array(b+1).join(F)}}return y<0?"-"+o:o},ye=function(o){for(var y=Math.floor(Math.sqrt(o)),F=2;F<=y;F++)if(o%F===0)return!1;return!0},Ae=function(o,y){var F={};return F[o]=y,F},je=function(o){return/^\d+\.?\d*$/.test(o)},it=function(o){for(var y=0;y<o.length;y++)if(!je(o[y]))return!1;return!0},yt=function(o){return me(o)?yt(o.multiplier.toDecimal()):o%1!==0},me=function(o){return o instanceof $},Ue=function(o){return o instanceof Vt},Le=function(o,y,F){if(F=F||{c:[],add:function(_e){this.c.indexOf(_e)===-1&&isNaN(_e)&&this.c.push(_e)}},me(o)){var X=o.group,w=o.previousGroup;if(X===de&&Le(o.power,y,F),X===Qe||X===Ie||w===Qe||w===Ie)for(var b in o.symbols)Le(o.symbols[b],y,F);else if(X===K||w===K)o.value==="e"||o.value==="pi"||o.value===_.IMAGINARY||F.add(o.value);else if(X===De||w===De)Le(Ee(o.symbols),y,F);else if(X===de)isNaN(o.value)||F.add(o.value),Le(o.power,y,F);else if(X===ve&&!y)for(var z=0;z<o.args.length;z++)Le(o.args[z],y,F)}return F.c.sort()},Ve=function(o,y){for(var F=new $(0),X=0;X<o.length;X++){var w=o[X];F=r.add(F,me(w)?w:r.parse(w))}return y?Number(F):F},lt=function(o,y){o=r.expand(o),y=y||{};var F=function(X,w){y[X]||(y[X]=new $(0)),y[X]=r.add(y[X],w.clone())};return o.each(function(X){if(X.isConstant("all"))F("constants",X);else if(X.group===K)F(X.value,X);else if(X.group===ve&&(X.fname===Oe||X.fname===""))lt(X.args[0]);else{if(X.group===de||X.group===ve)throw new Error("Unable to separate. Term cannot be a function!");F(Le(X).join(" "),X)}}),y},Nt=function(o,y){y=y||o.length;for(var F=0;F<y;F++){var X=o[F];X||(o[F]=new $(0))}return o},Ct=function(o){return o instanceof At},Xe=function(o){return o instanceof Gt},he=function(o){return o instanceof Kt},et=function(o){return o.LHS&&o.RHS},Lt=function(o){return o.group===R||o.group===ie},H=function(o){return o.group===K&&o.multiplier.equals(1)&&o.power.equals(1)},P=function(o){return Array.isArray(o)},B=function(o){return/^[-+]?\d+e?\+?\d*$/gim.test(o.toString())},fe=function(o){return me(o)&&(o=o.multiplier),o.lessThan(0)},pe=function(o){return o&&String(o)},ue=function(o){return"("+o+")"},st=function(o,y,F,X){return o.substr(0,y)+X+o.substr(F,o.length)},se=function(o){return o!==void 0&&o.custom},te=function(o,y){return o<0==y<0},D=function(){var o=[].slice.call(arguments),y=o.shift(),F=y.replace(/{(\d+)}/g,function(X,w){var b=o[w];return typeof b=="function"?b():b});return F},re=function(o,y,F){var X=[];F=F||1;for(var w=o;w<=y;w++)X.push(w*F);return X},J=Object.keys,Ee=function(o,y,F){for(var X in o)break;return y?X:F?{key:X,obj:o[X]}:o[X]},xe=function(o,y,F){for(var X=5,w={},b,z=0;z<F.length;z++)w[F[z]]=new $(Math.floor(Math.random()*X)+1);return Ze("PARSE2NUMBER",function(){b=r.parse(o,w).equals(r.parse(y,w))}),b},Ce=function(o,y,F){return Q(o),I(o)?null:(y=y||Le(r.parse(F)),r.functions[o]=[r.mapped_function,y.length,{name:o,params:y,body:F}],F)},Ke=function(o){return Math.max.apply(void 0,o)},Ne=function(o){return Math.min.apply(void 0,o)},We=function(o,y){if(o.sort(),y.sort(),o.length===y.length){for(var F=0;F<o.length;F++)if(o[F]!==y[F])return!1;return!0}return!1},ae=function(o){for(var y=[],F=o.length,X=0;X<F;X++)y[X]=o[X].clone();return y},Ge=function(o,y){y=y||20;var F=[],X,w,b;F.push(o[0]);for(var z=0;z<o.length-1;z++){X=o[z],w=o[z+1]-X,b=w/y;for(var _e=0;_e<y;_e++)X+=b,F.push(X)}return F},He=function(o){var y,F;if(o.group===ve&&o.fname===""?(y=$.unwrapPARENS(r.parse(o).toLinear()),F=r.parse(o.power)):o.group===ie&&(y=r.parse(o.value),F=r.parse(o.power)),y&&F&&y.group===R&&F.group===R&&y.multiplier.isNegative()){for(var X=[],w=$.toPolarFormArray(Ye(o)),b=w[0],z=r.arg(y),_e=F.multiplier.den.toString(),tt=F.multiplier.num.toString(),be="(({0})^({1})*(cos({3})+({2})*sin({3})))^({4})",$e=0;$e<_e;$e++){var pt=Ye(r.parse(D("(({0})+2*pi*({1}))/({2})",z,$e,_e))).multiplier.toDecimal();X.push(Ye(r.parse(D(be,b,_e,_.IMAGINARY,pt,tt))))}return At.fromArray(X)}else if(o.isConstant(!0,!0)){var vt=o.sign(),z=Ye(o.abs()),p=r.sqrt(z),X=[p.clone(),p.negate()];vt<0&&(X=X.map(function(Re){return r.multiply(Re,$.imaginary())}))}else X=[r.parse(o)];return At.fromArray(X)},ge=function(o,y){for(var F=o.length,X=[],w=0;w<o.length;w++)X.push([o[w],y[w]]);X.sort(function(_e,tt){return _e[0]-tt[0]});var b=[],z=[];for(w=0;w<F;w++)b.push(X[w][0]),z.push(X[w][1]);return[b,z]},Je=function(o,y,F){y=String(y);var X,w,b,z;if(o.group===Qe){var _e=r.expand(o.clone()).stripVar(y);X=r.subtract(o.clone(),_e.clone()),z=_e}else X=o.clone();return w=X.stripVar(y),b=r.divide(X.clone(),w.clone()),z=z||new $(0),F?{a:w,x:b,ax:X,b:z}:[w,b,X,z]},gt=function(o,y){return B(o)?o>=Number.MAX_VALUE?o.toString():Number(o):(y=typeof y=="undefined"?14:y,Math.round(o*Math.pow(10,y))/Math.pow(10,y))},ne=function(o){for(var y="u",F=y,X=0,w=Le(o);!(c.indexOf(F)===-1&&w.indexOf(F)===-1);)F=y+X++;for(var b=0,z=c.length;b<=z;b++)if(!c[b]){c[b]=F;break}return F},Se=function(o){var y=c.indexOf(o);y!==-1&&(c[y]=void 0)},qe=function(o,y){if(P(o))for(var F=o.length,X=0;X<F;X++)y.call(o,X);else for(var w in o)o.hasOwnProperty(w)&&y.call(o,w)},Be=function(o){return o%2===0},ct=function(o){return 1/(o%1)%2===0},wt=function(o){for(var y=o.length,F=[],X=0;X<y;X++){var w=o[X];F.indexOf(w)===-1&&F.push(w)}return F},Mt=function(o){for(var y=Le(o[0],null,null,!0),F=1,X=o.length;F<X;F++)y=y.concat(Le(o[F]));return y=wt(y).sort(),y},qt=function(o,y){var F=typeof y;(F!=="function"||F==="undefined")&&(y=function(tt,be){return tt===be});for(var X=[];o.length;){var w=o[0];if(o.length===1){X.push(w);break}var b=[];X.push(w);for(var z=1;z<o.length;z++){var _e=o[z];y(w,_e)||b.push(_e)}o=b}return X},Ft=function(o){var y=function(F){c.indexOf(F)===-1&&c.push(F)};typeof o=="string"?y(o):qe(o,function(F){y(F)})},Tt=function(o,y){var F;return P(o)?F=o.splice(y,1)[0]:(F=o[y],delete o[y]),F},Ze=function(o,y,F,X){var w=_[o];_[o]=F===void 0?!0:!!F;var b=y.call(X);return _[o]=w,b},ht=function(){var o={};for(var y in r.functions)o[y]=r.functions[y][0];return o},Et=function(o){return[].slice.call(o)},Pt=function(o,y,F){var X=[];o.each(function(b){if(b.contains(y))var z=b.stripVar(y),_e=r.divide(b.clone(),z.clone()),tt=_e.power.toDecimal();else z=b,tt=0;var be=X[tt];X[tt]=be?r.add(be,z):z},!0);for(var w=0;w<X.length;w++)X[w]||(X[w]=new $(0));return X},Ye=function(o,y){return Ze("PARSE2NUMBER",function(){return r.parse(o,y)},!0)},nt=function(o){if(P(o)){for(var y=new At([]),F=0;F<o.length;F++)y.elements.push(nt(o[F]));return y}return me(o)?o:r.parse(o)},O=function(o){for(var y=L[L.length-1]||2,F=y;F<o;F++)ye(F)&&L.push(F)},Z=function(o){for(var y=0;y<o.length;y++)if(o[y].group!==R)return!1;return!0},g=function(o){for(var y=0;y<o.length;y++)if(!(o[y].isPi()||o[y].isE())&&!o[y].isConstant(!0))return!1;return!0},E=function(o,y,F){(y.isComposite()&&!o.isComposite()||y.isLinear()&&!o.isLinear())&&([o,y]=[y,o]);var X=new $(0);return o.isLinear()?o.each(function(w){if(y.isComposite())y.isLinear()?y.each(function(z){var _e=r.multiply(r.parse(w),r.parse(z)),tt=r.expand(r.parse(_e),F);X=r.add(X,tt)},!0):X=r.add(X,r.multiply(w,r.parse(y)));else{var b=r.multiply(r.parse(w),r.parse(y));X=r.add(X,r.expand(b,F))}},!0):X=r.multiply(o,y),X},T=v("DivisionByZero"),s=v("ParseError"),x=v("UndefinedError"),C=v("OutOfFunctionDomainError"),U=v("MaximumIterationsReached"),G=v("NerdamerTypeError"),Y=v("ParityError"),ce=v("OperatorError"),Me=v("OutOfRangeError"),dt=v("DimensionError"),_t=v("InvalidVariableNameError"),$t=v("ValueLimitExceededError"),i=v("NerdamerValueError"),S=v("SolveError"),A=v("InfiniteLoopError"),W=v("UnexpectedTokenError"),ke={DivisionByZero:T,ParseError:s,OutOfFunctionDomainError:C,UndefinedError:x,MaximumIterationsReached:U,NerdamerTypeError:G,ParityError:Y,OperatorError:ce,OutOfRangeError:Me,DimensionError:dt,InvalidVariableNameError:_t,ValueLimitExceededError:$t,NerdamerValueError:i,SolveError:S,InfiniteLoopError:A,UnexpectedTokenError:W},Fe={csc:function(o){return 1/Math.sin(o)},sec:function(o){return 1/Math.cos(o)},cot:function(o){return 1/Math.tan(o)},acsc:function(o){return Math.asin(1/o)},asec:function(o){return Math.acos(1/o)},acot:function(o){return Math.PI/2-Math.atan(o)},erf:function(o){var y=1/(1+.5*Math.abs(o)),F=1-y*Math.exp(-o*o-1.26551223+y*(1.00002368+y*(.37409196+y*(.09678418+y*(-.18628806+y*(.27886807+y*(-1.13520398+y*(1.48851587+y*(-.82215223+y*.17087277)))))))));return o>=0?F:-F},diff:function(o){var y=.001,F=function(X){return(o(X+y)-o(X-y))/(2*y)};return F},median:function(...o){o.sort(function(F,X){return F-X});var y=Math.floor(o.length/2);return o.length%2?o[y]:(o[y-1]+o[y])/2},fromContinued:function(o){for(var y=o.fractions.slice(),F=1/y.pop(),X=0,w=y.length;X<w;X++)F=1/(y.pop()+F);return o.sign*(o.whole+F)},continuedFraction:function(o,y){y=y||20;for(var F=Math.sign(o),X=Math.abs(o),w=Math.floor(X),b=X-w,z=0,_e=!1,tt=1e-14,be=1e7,$e,pt,vt={whole:w,sign:F,fractions:[]};!_e&&b!==0;){if($e=1/b,pt=Math.floor($e),pt>be){var p=Fe.fromContinued(vt)-o;if(p<=Number.EPSILON)break}vt.fractions.push(pt),b=$e-pt,(b<=tt||z>=y-1)&&(_e=!0),z++}var N=vt.fractions.length-1;return vt.fractions[N]===1&&(vt.fractions.pop(),vt.fractions[--N]++),vt},bigpow:function(o,y){o instanceof oe||(o=oe.create(o)),y instanceof oe||(y=oe.create(y));var F=new oe(0);if(y.isInteger())F.num=o.num.pow(y.toString()),F.den=o.den.pow(y.toString());else{var X=oe.create(Math.pow(o.num,y.num)),w=oe.create(Math.pow(o.den,y.num));F.num=Fe.nthroot(X,y.den.toString()),F.den=Fe.nthroot(w,y.den)}return F},gamma:function(o){var y=7,F=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,15056327351493116e-23];if(o<.5)return Math.PI/(Math.sin(Math.PI*o)*Fe.gamma(1-o));o-=1;for(var X=F[0],w=1;w<y+2;w++)X+=F[w]/(o+w);var b=o+y+.5;return Math.sqrt(2*Math.PI)*Math.pow(b,o+.5)*Math.exp(-b)*X},bigfactorial:function(o){for(var y=new a(1),F=2;F<=o;F++)y=y.times(F);return new oe(y)},bigLog:function(o){var y=["-253631954333118718762629409109262279926288908775918712466601196032/39970093576053625963957478139049824030906352922262642968060706375","0","24553090145869607172412918483124184864289170814122579923404694986469653261608528681589949629750677407356463601998534945057511664951799678336/35422621391945757431676178435630229283255250779216421054188228659061954317501699707236864189383591478024245495110561124597124995986978302375","369017335340917140706044240090243368728616279239227943871048759140274862131699550043150713059889196223917527172547/335894053932612728969975338549993764554481173661218585876475837409922537622385232776657791604345125227005476864000","24606853025626737903121303930100462245506322607985779603220820323211395607931699126390918477501325805513849611930008427268176602460462988972957593458726734897129954728102144/17750092415977639787139561330326170936321452137635322313122938207611787444311735251389066106937796085669460151963285086542745859461943369606018450213014148175716400146484375","399073568781976806715759409052286641738926636328983929439450824555613704676637191564699164303012247386095942144825603522401740680808466858044/247958349743620302021733249049411604982786755454514947379317600613433680222511897950658049325685140346169718465773927872179874971908848116625","1468102989495846944084741146947295378041808701256909016224309866143294556551407470861354311593351276612463858816796714569499021375899793849136855085849133702029337910502448189055357182595424959360/819363879309286303497217527375463120404739098260200279520788950777458900438307356738082930586032462601215802636320993648007907724899611296693997216938989854861043298494990214825163523387600982777","5896704855274661767824574093605344871722790278354431422729640950821239030785642943033153793245906863203822369276271050164634206965056233097479117980782641839669/3030306850569309344013726745100070601277982132543905537366562638553198167007159067544789592089960911065181606283478843359856123992707598685058297067179343872000","76631772943534985713873427262830314617912556928476573358548256872141516989538374761909611879922349479420014771499018155447198112155515453671128814488139633810493264352294560043912066253026059140653027326566801398784/36852092933388988649396042883218509607503204211148493545892849595498822817623842579026942621098851631842754395231561679671400197056377380063233740202370686144673585955581403046886083948450136247134308381940165804875","3159076083816399509754948610929467278257473888282947311280653574634802580912280940686954763313882823327077171624015737719617373932318151594325834524000275847475866299387913048/1437757485694188822758304467756419845842037623148461107362957994816554782989250555362514354661961482939226272309026092009962414616417412938087494467254146002233028411865234375","22266067259907364984531611601870291368272674573653403965630628996687370994139884833897773468149149664829922302484782423514167405397665098388400450149078982462318781750661005833037235183394221496186539779712428265837926417581952/9670030144664428565128962309657100138096047028794689249320859276197340398920725569428532293373676415359965773460364494998334259893079003125373872108770534788283842907318071170285038777091588292539102269617376180390982915567375","14604654564989239958569331443385369522850975185358647132770022716433280072271007767111036877803328768910274400515590151934676819262085211828028638417329558229123989556376108454497813055/6090614019162516693013973409650613208227889078878781039105047015752493519149314227721984436973374032279421344818329285207124280297611253861173835238379831004010748379874393292231671808","1901241885407696031217292877862925220917660047127261026827869027159993239567933534052663335498281439239753018507182016153657409777749792228538380379703411298411623469292891476969894084838876001545818141543890273256985768690847587711270930688/765116019778838839812655402103512685695769161212360553099732689795578904762091216998790589926057819838537805856579109910198553330075924857419395160755642371550113347465300208422126945265887065434116781678702741657275181694851670325469434625","139459806786604751793737926146840623607010208216289543036026206208962059593900745886202214788747453279179283344350478734275973878932538430194363355795823581315329311220701640235653288975569812161436/54371368534412517053056101353618694718215711767266376573138772968257303578467926450212293233332401067673270853953399269852376592855992724934941173346260129257754416412476202526978443681584633116375","1045669091124493070709683241190022970908640501171378776604126771144008324358233819560649021940145166254659028524319517244711645162132513416238958170819347361185944945680269442845829390112062101255500836072082817820950448463314034677353723256969344/396228259004446234921310936915931611736815598535963504660076315228798989932959459406702091180060429080345146735173591749448509810270759531977278642135591672189002006272326131885315743181289970885337574780897529347356567086535505950450897216796875","9912919238915437302006264477931031611447467070103973106567538528951878797932559935860738745374437522819124347510590800370471910492338584284092534264608801221235029062881964101996762011296996851893455828946521/3660537472668264151218961634689665210933936249986285290553357254224360417386515311493310199319523687171757653216994741150377508234317025158302057758196429623723072084157928224798322861732880034847243894784000","9263710175433181746575186369318246002919895649622127410824041370079225200282403368319370743363303164313395723904510539050157032684710468364067204876434546848634842333436957245275217583248805993142227630297924119330553308466662488683624783307023014909360640/3341177182697517248552428837661919299725031035849865632511882688786226888137634168024976033652753689210700218163621739078534353578510364301481093730054725078138658805025014615651043313990684347632166030359086885561104034510990826655289288319840595753002771","5116082230713622171832327542439052727465114322479570603905499496221224653983960598946033081212909066917137546065542953865612718836914393275681318667667521726785633638189373998191090501201427906618075889744489190209584/1805752553736060443820406101277706970767657006346276183748749630179442318063568286372320188433843729960294965366346522303898609655762491623098453269916163621089005711823488749297418113474056676109581110715068124438875","246569125619713282434448566970352231845414317018379160824176638351574938993535464763890962336882760882398479702237564384291290459961036068916857265499633061660562532011248501476114401629839742058389195725393702000011860799793778295606988057303225493814005789533570432/85307063020836305797178273029353623060860009152114361453434032434699636078115114412588719432277441055049132559782203988387794711585368296817222565434951256788867244687081233632650953850383220864394261763844194948389861147622944651546912394593164406926489862036343375","133672026303452911046163998480860917119290576658330909785707604886881155606725822685088929236266583416708668502760907677019598002175122453170574729028452721476464728566191464897928696630979863154661704374206171469014225143/45398130975270785045482567762871405072140548998125471025451666500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","6041693953360002800224091673336562508913199995987479264605216252220579740134601435770085920869376641180763419907442721705887169884230643795126568815123647603047739799302562095542459344811429882053086550900803768964612193941424128649976704727183797495759082741166938351872/2016766992122395667828553277997478570503475626107286343497917705446132017125079612756035254750822860815515899557855166824523851779156336235294914777307802256439645525835223691751931866188957324792276149549076500784191791380803500156776088683900346065830066370370083309875","705868391597244582764749229356331441978820024796066870551110486625729826111158236686696326058778874201639006234449557592353247542995871491078308187261304930042019640830629526023972693107193897009168955674240659026247094657679060/231848642748474339277532000336338632910990823562381469441716922006107433404523316252618490265927265734670539384485699132080062215196462178933963957679882342083893417545858074378754089719547920901917516016346211301054206383643383","101832160604157943093944673541651013907278188571533075311673249923948856034633446617630054761681006062910980371900782781226979391765818325065031889334563981235894369036439929651260587335544056975715076598739977065390678221999918899003881778449092038750712969437519295878491018112/32944277910571666002449086492515464541550138004002141571670657643770713783329063548790202120805341989608877739811787937782240802963962520261844114327432160788193314874913687387269408387417806176202979244637915812905426565263196954203487934225589622864145960079736633434831996625","10655703119271468913597640479490594180964700448340778168715956712130636958373270202484276402718566314881119559090842449610957974112230306343486091910217340665146602598568991520563987490686996746558858366002301982443029430290679385551/3398412687366638541233365137084722368200311117891192348532156645374786104142009695796409107380345795998400850838706661851176885183144928701608654514812261697598380070746520197171576610572921007069104300695592751543563472456384512000","1903039332876763837419920240543738799531131775028971323439870868730321221615515008394327723508670975623498588291298064320786970626232668956372004004897872810230178526101184611242511193415796638694370503100219710864543168952682617801833318493436174387568067811938490953495819438108686336/598806534367503338307287246320963280558134937382149405305466709787179429317914803617527827862441615350396864359976273212272586892074799651088317544101755361439294687323233086696182687664637422796995789967075271448560870681210580691574924544896656175563265378514188341796398162841796875","525573915563826130963525826191411949262846916750432019596028344808298471293378917508549164993368392834023782480702893643486699787870059946429810070222126260200026332874480239090370088123833491499400991181659445914352500247596757005142623368/163278727324937389095822405034435687776345799835442022795533783889356344755225815267819508608559076191292900367982490827396869405536484846115955581043091229202052407483776587687967125885665493681707461345895999542381476164157058393971431375","9263815657177858787273494705338516861045771674838057329170239610953039987023429736752079544014780707408666628475997291124805562998227296677616204140605356257712022384368492575381355563976330347792504605666631512343447560301417325154003481040250148561839861837778597346623630046623751094400/2843321709948499955095590862256744532227698001408929142548057792217790532624003190447363578048562448168721539177458065482170148482375585867230123873178100117094533143052886527452665480614620123764036974180917207421482431983407742154634391264619615289225747664532332469783301704643254076601","407959339726114455622180187758753007349209016396248763075759257357925636039752474207685682218422721827857994768023399625060206708378433960993946156803948655098667156937949174400873748557248801874735834957795040139401560494087476967548060208243867/123780218751812156744401121690996305978134694678934447237402511116731459214498784497436358160964198336874043702652746834763131444030185151143987331404604087778514863973633941401826334750268416015224906056576641018962863645043976537664227639296000","2547676391598917379516698439971914695230548782904479778605691338364453606537643088857116141939170899135026552016969320061900926954008522781162186995856580955090548471448276736878300717869625651893741316530109438876067419826217901657017506157997588944233677467357220316084583383623602865379325184/764562034757392298786420374672266498815021229519853724850874576419885380830752931701831256959159800764672605004880389358601658343203513177084389490286723240185146570925957286083025676875197029662038213216541352875570101363668917766225709569356861275434470568767077844675593176178611021135573625","186545352286463730559933346565311535598243666022232037054735807289501173444103692309735768703898330430135399033529355360391658728987379385732098960609744313878477967971557204207043802935782878745271859468248704012618254203101767841517569443555143252/55399179641621656233589820996143825959365789093262978988289445625153099592463372579496245442338653053662134699646413817866770218574795378644415019944304868289119443774932782235638737888469746745621382139263856603239588594078668393194675445556640625","664884440164786473344854955309049113269357314957985265728106924238588705533437169796551912202931185746193155801905841712503407258166135075966280435780812714252670362202091663287095423712596462690753468682634261029392794173636943978404002804413009590005984736612421172979101972556772005594499779860608/195485517776407145286424460448995460754674039560651791192647586550615878988380153730602665795647187884543361218962125172808792176382956599256188706636727418572541254480798303566840010217729386905041217793614214518363859058348249961790104618910877813067510758225302884815410347238200133693756493703875","2614957283934314904315471338485451166053664494383241929385424599389309215073267052860464009981063483440201193771607520572077231889699858482582363845275452280606276949653970992719332472370351170732899676316967244504534154616036371979031399425846100527685/761493664432749089312665480773496290658029971027686543404885407644062485746072719559288231362060149626237939029641098328278650939665665969011529293869562636656650999759724704272743235210867676873525147820749560155294022488994426729939894753293900972032","124843380518493746761140367283007507854364503961156704095198010255465940085534099747297600085903814014415830785663764373057896014399822131175202342399536439284123918855893825207202244831315575594886675813256448846863723093240955901916229136393454605455444105444987028391748121054399538064686074523506176/36022228212051654395480210378626648518430280334458144892889271272122662467638331091863215146548048144675657239846337165813938424387499358852301016926312083940212100001220180762189978024821166744964908871443681332664798940660421469519997746775275873085770018269706847741064037876137315001228315806659875","827992369063043155578730871896750570951766628472810506926098505028264552046829097082095665194000002802661600196840639204300804225352337632259980703832713031790922485730615305441309917696044954289187837653933158950774246017223571461858939407386087081525130831392/236805932823686534991153393869288530368011574665859226704279685567723830696754821658770176385138917722808377962346690757191122309876922069867472518117628639913077442806147910884267694879089753138429767401700283014143248445966474839193628309668702223994071394625","17347276886878323736540051321582548724378497839789943634071026331001588645519865992773157565595886250230140452154269197770615097377486013097979087647774513500701793885978192218455687078883766086309728287172567466406449372659680040183273634701092561727514713494914793425407149186041796935055187281744386432/4919325621804683623339606849970832094714371903709195539440424738973575902329797546592497378000858196173718145883783709223158260700365224756081275272021856393735663399552166737690038832550853145831185979094979556715294990257315369124065787473707136464772247917156232366320267601622617803514003753662109375","137984231830526866236186357461458917020538108058615632801298091031540729111527734872044790487396302545910108285921421417358113055522725197998483383380192391312304647004240060970929072498293210057120617332323445379424867965764749534125081131327565507524502163460761/38810445792642817561168950890315210470940006613819790543653745327778579787694809782601777514116858514049585074667085399925278459138508514838268321349069481334967221455722811414399738756151414906092225265355449011152267068726417045644222323488445626292574879744000","746567120547823334914136339633766098626636643449144032626270358619125402826113269699709721071135471625588981126637674402048519990010499180844665151971356149292818375448504122545400227696621572263621729512461528550588108384619064912224884465737417596190735966915167530332762203074440688676123756162572829692160/208334337057923929636884170505570363171441147899816815785150954417598643614152856767186132467069365605496210036171429712485182162940460120834349006784956522600679357307849981862006710239311750261522832996877712350330290831638640913932265004107623954913155144975252743257846945609734368518424172846119306643431","64649371728330695076928013661001819989330953381731372450140483779536126948957993261299287753791770622512248630224724990234903928056275080682537641377393210728546364176267034339221558641084730052304770498929958838997239635790469536857863963589118888238069738647239076/17903951498200212327802847425913723358452100686246224008745414214690047078122925247086521362329833307849817944645647750649290248110509395628305970523384831671737569872597295947593410067364379687588919135621621162007748635920864926867870502568935739725312687094047375","2454918942158003099688922026016393688092399295166304634317616773083386087532869193458590448918958337530406410803840837646465522656670050113548208618655070231274778592766244282964463702354872753657766121825196898916725498553882689210280080206627916046484942827487726300822318764058084323314109595329304407466188383616/674880185931325925966586583820010578979699141814417326552629206140252348822939845006845669570885271576698771404162512001549922909048916000017837898649100825976232784446638776021483802989797501705685620612986771521390439936066527738682396560462899753657942715306792783283782238662155922082005591512296007820682995125","74018558041066162916454010680594042518462756234254788158141115244349044958441521749277686851928706433556285971088455226217644009628399441967508838553345152310730562224910795446341601049647392069373970101491741830623078126344928804029524181578945586663110848142571149861/20204153620006780689923328634586091101021423979622170579036140596085566172775051595588438592742563923428900864000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","2127032036758045513335690185608563023954009095206088224487365541995326714285119384743928987635752931664240752323937321097955456543854943206092931247498833001499955456190701695430459583885125382086777607021670447795321669948733328973350279846928613949120929250312666393359442423066212311060931469017737106028339882830848/576612418511902928757340062840968526862381326698309578771238715462180282212422302261044980131594522407066369222998903808960617461164985318633518680304995784614308979881735537678182134128319596636920719106506829571072447362052319438091347699720147003209417806230149598345068078717948025207635448205253184540936478445125","35289653975561083576641954928762116897061274899517309102784750384002335187117263273488751066569234386120759866204372398611196356888479036949053282301027789530999737306501029700128744408015642211359442183943916106790666114870974212159410284751571905275610921784716184508440/9503006066880728386808143045924119024212377150217533250562188228062174064693375135306438120385877320162710918716613546077156389583384656340709638430674364232343609717735574035535102953482366914421205216675248471695111720986346092738728929878538430662191272737183832556131","102633551023964794485575491065909467125458972250222581133681080524371507544152979467328048718122409841060527545925136196267751819689935599599321090571687632103850847605493223603751038996548520557330016046032671961857623066292962260173840972332108111505971231021442896036760967107060309991355545554631003681544611731245475968/27459658121882266328752886605529964804078316737648012166874496015808620265471203512606463219297059547428855195782384236337998738233668399173746663289852416697917397644234441300570212555870401420579737973722145663287124151049692290432756231390864184491891697469874600345958989433125942336757049639797225309327019275689074625","10034393558388390065766795008210457368713365491566387292163814915435906649268119060550511145023450790393353937124495488860451123302412204483570913557762460385297770427946219119911920640306914453207097103853766023934602534502476962159682750262143380527529536498215384467975023/2667919902603322771586358077760621955455470781865624844984169443739075976572061827709528710108877015489050369589117491611045518221354793418884447632063538994046714401229510497599783726376490260140723032102883617341970952663947646017489439179953454964374887388652792446976000","248528145263843375390386172800048509380966183384567983242213959113927668429802237067505890436957693495616107089384741585283620097982859345081736730899912519273262934785992235852866637878831878448348444611412764161078458068549719800733237024285525816723480868704742804077255242682077291713092790250511567621735004237450946304/65676865669148624809340872151906045781446981664561196686217551358486802274698228825404698950974939545099727242259547145392352658637333562345477931951890984276718673618736565926663528625796412420753961231404680876558659735251469326707567479071881966875336951133475135427640218972722939427821842173216282390058040618896484375","7805448718805635696495809414501206964843262114470109146341305656318015059743127114324245035489577134938579856003956861881125856595981500593426840968087618241785931128978516340812066502964561231235073012672356530509663384739132686548934288703179479011016719045530855033205271548/2050525178024039744126592505352202216905491833360272553169520915020715464206141942151086176509423406413311520838568324134077402841030113427309725873344806030836314500267104070131451720947531994814710189000076651895520222646974590481497382830325485174899169093049299764813276375","3355325071293197839434119105039673324264765809771192815982246040415580387729382404624613875653005261578877047405365032178619450963731719777167015959920645055600439987161800547901539269321100559393048973255388860193948274255340335876890491746900991668165565729269698196233805991206691196045182214641935483083662356666996922240/876402579119117579582569839757462461050855174353108858954282915644790659429341853404829661899850841645529640454766173209897510988090318303454542547519850473808789222552969933222203420847859171250332350076509996295844203965564448154484566493395403967626596213792922784509892086361572955175655987334882030766001799867659814117","218871061991045868372866381545267589365410350294028138778572466235486397478028823720846191998825628156716190463263492304639890659254282445466806224943413446008645087186307985343574807361972238230520975439736199291019544576443791916302825193643774360055545186783819367378492631806297/56849560726416896431557940314760680962653658127458002233782028041537121216487790008085876994020812492987733987414743604239935223783349870516284048368761617736127892160849065895223288023531930411718807065209903593668117085505482007061969339237404945180379460053180570404846043136000","5008685108365226931582937964451700746853986170633433728409171904803795018146152804690759530990140552460596075588463394200510044617816085275660078502126507209302951286606953039953843685800941558212440519542602092919776366067720586295390886070120828199562643208637974347390938772070049344991272621102622931576339988103674070876518912/1293888539680354282541277646947380627241979967611883341823378331667976045287311988103163380651334828012840330710760757271860219584371109472132211215957402251594055009937397184768184517621978947384029376766290498101728971145633139541827544539988344772578184316843734267915665730981857376872622787627370859411909330227080697966353375","15388340113525711660227566446101909585796746979396093776960989868457211684028149502578116456785221720682202816140911944661051001675127262774824593420825587319436537346311831003212424497488485098543512314062112948777572038731823948224734505930748371522309451168088057190162878224801232/3954220582960831691377435160890656173654063611768428458807273708040518769541211737927975894584024448193835165167801976423275767590502552964407494549049777006346189436817215329891530811451811864579644894987864267389290848598289794977382504890216219362031324635609053075313568115234375","5099039333987561374222193551155323470675617979816941646196895589439391685938046865391119484510329634015275893520725135141878751153360264368353595348921951280561029028912953500944814771064409611917475818956659775131751121312316084465321917769679881052144364834485866477379437705913911371481828140817759401117780199246301705600020671104/1303503600297679371136943454060319958680553228879031326679449263682048703103464872914972900105569835004878963701599765030590097739639045890060548760692125546754294514068052902543220382104483822438283040090444827980927544440984823535260277595466339403795403200720622852069244768910603820007632395190204569927612348189089161551951106625","4902837141334073026145827027361937996261324349722726869116185158777439337041263482852376194988371853413467559557923410949898048139830183335197992754748294810838187068126867611615800383834975563313220497573778480109264178673389149671194149749735833378557143135481387904961537942569904075/1247045310545991266291285730016853118981099516935251861146038369985109288084420528171217942065832292739130145780833406014673689119563698528225048800794718789218267628507713621235056538202070171596177775095071513194885568843375526804796016261173388452184505503341132236719484809714335744","38114743522716832107917466438257616720476488812538316101658139632867788464381862291240727309611460187159930652186486096300862388591521625093237019662273764387591494074792574929490381910446287947994150655077877204446864004067956087975012773988833339521775463977233068498404144221045837190392670308437391686081418318624745039402145439223552/9647001083383999453668111809775451078976046488746916070976218645431946648087171586252172936600115032316383427265217993193444199863138429602138841976586190525451324093772097241349417938578878934577091671046050326087898259692917931230974174799815198493279413438192301437068820185757869608523761456160341754512329264442115351926967120404125","573695055225225727008803730767518906490704995929177617646275646884555707960986625481944101622708415415988844740028718027554452662358957933526173824325955904005404113684003841990198157072540659184995738719040024647370869010473254071681533880576462368600901824622431045529064651675640055917092/144509482511118816399089096021290587489594541280398871255876563615464628718527634679330291741479135415168539765887291789615790513527330600394937614433502341116068305347468133950204152174094704092402978083370792135432486240914953928188835819767755172666693219213868545854371103120604946200875","23876960329653589647925126180903391687666378233201794403339630995420215267415575142266707357255726330536094448314199602616026935251126469221925945960901748679919435908556550271504767784553484434363646489174587463466333864577705745452492395785557425904735048180164697040313528831173448025400634629163795223739061661461986923675833880378496/5986312408594306954013526197465608559068621248896320652512228238115589875514604632230098997609482248000888567135685167138762172475788060284232459813998201719590208742091697294562538265829954186149162974972471533202880368317237508987477069872431064075005305838801862900501819963793062041081601844759452202282545840716920793056488037109375","58168289917567723171226992383559866214094157894992327555495441698028867727845766488121900626912848698952863438654895252811583144479300382761129433911280049009362667380001406579175563745824368613319103673817094498117944856004415812877213722455299491145649879676787079744410765053845551958756701/14517067289347903655500020160671113450349743650636953726251191692074385521975132268313263723831804150872238173602847065423463131917373356798750100313145228608894881457107689499956903046984443545789053438946050974567665049237414588435796381674590098629779384355275820782532479708807512981504000","728621890568281859295409481422447012528302594365693410763821707074444799793690738137592101239862736313347273167450056625929591960610208335290882047413011571781161008296084630072829079783328937418641417642857196346026366370059522990813537731394823630207433267854616768658990289454635793326766697884798538576055949457122067828153655416688640/181030730759516991863708593747964787874073354051675597050399087612142539517308720603687322924426591889179726492403913356461908748733972707460063017057809060190437917851790767968877215795679844983288935075688219234885360839984681619084834228226744165610073685719017596630302462070188937998558312507638434329299017584329479516410907786681093","86855946923438322218622470067224691860808273886184997065663554841573982963995340977083049132518812923329423480393306918856650577072525633920456721265953575424233701929892019410099166322511413146891121248381648145391642571638857576890568882512129960291171866772665863159474602604647289052079991768/21485753507365901947528588896402264670781310878547726104482740647554738151100954835784115119035980523529677083504495839730499664052882400915208251594384038810917282207449860876251558307288700200910747338758723324686939379138206117634546981163355060740270734146780942696291669461182599512320099625","2158989152301022938148680102142188531448821359505188055264665167313418619665693092337665573150374231484840948447637297247277576415460889296724813940128955070240137590073233263168835678714131062764247434144994737610229909964847568491446606012581370840699582055341626266533733744293929658949697805855362114229666626620766245630122333733703618176/531794915405164005613733454597931482878479882704956110685223892325074211694837836221759995948610212818642789132749082430059593652854659130217225506942675608692701447738732031302987802196501895840510235161825501235133794449421919927396142470196961877376701957829921152848178076410141813926924749057304222282687697297216661687583257901415465125","139432548574396829074586704387656697097760057897628994548358619815052936481650396157428747411173567801047221928593253479330480454469358220685854351236980383914223693722868233819483137401339800304943891968050399345430243790898955416907228948287367356990263740207046902209563417267686591994743547621/34201151688775214071963206765436083445901621442002061707492082843232231754829227303539041286301398668437202547003300396162741375435703188500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","11008517174872833286150985180322584448162884832099344969609291070844193524816852920942383850580217443209402836100467940651581092350600329145627967515818684442171571156446321228596914355704205623857871497315955269266498229823278800717909321269179839084452384509142712677235552103459737790674103994445173074670347080506698168482564009465276165824768/2689223396936080856855299215659204161946704205931885125148201643087176556822542895325191478283706585400237901215485150928036895428721912118467760766508162631903585126377676412573187912443878232521444786090510891599171741773242011017926658231638022943018461086517502584854390836347781674626615709751386455292026775663545470794167629144456268750125","16108638074211260588800537540680707641986073914251424878121255234668558067988171568946079848860335948991834525552515669040163026131919804987340113244760738846884911038097907756220945883750502673899084880578229601870882631165510396775126850307838505063922101682333806284668762825609556049426829531780/3919363961344261777100658318137884299575193089462944554282218278496298610828757650104922583359642384253066896538203596057302203635134833545580869871333892935330950583664400555463557735723364497947986885146043017010159347046389604172186788902608216894094289769850517098027486468084407618748895626853","34420755849180279597302103726180110022640946692592540634353734157479505420320000324260530767186132260970572450489530034440214259559325114511265075416512316229177952140217732655405289808326341696986755141965043719344169685611217958619102774617224847284122901023774956887687026904767714958090256282893003000752947427857703259704682455375442735857024/8342030311716679826889917494957593165464748884572298173556257652389845294530325764837124998293398445804458613956489096007564811101361266196542129764287084823604897187311540561857741285793447174119667215803837719660675298308873496219385226998078648428368061868944322478384684509466965129972030932418920415308276430355882329457342937549162000252625","345888075261020004071220843714060353763382280664960929903544964118831237876694384053904571498830068831026644303797377762345709976595360421502594656308937649239978525713471393570536680412814805076323426256584504251728507416368609420882442293831684681071553766603478479006495757222912500012444787804577811/83505703731469734628961395063481893801938371516752417759131774530720075262459158384433785006689548434701904106312038822969658455364219435022841597243178757423598248565463985786213156556523685666430799283870548238467817226915680747412191245046634279766450629886904716776719219698922088211154187845632000","1061717830619177527082296723099890392273896386613997004874669053445943252046748251883532634529759169500795452576392700472771365240996842610207274128102329096619028487369622001737128463631016494371635687841733644339636164570819431573829173533941056258744442930643735587780907310433371453992062647737259587563398111688659657406089003293576961475848704/255359631537215747979895955806995352799574790340218399351168178555478073997876110889483456972687438702262017800167048243754141722496276537685853311434069991222324039005160057724073156957530106623908696241268268096879569794431919729620178375212905203484165745866913773304319069321426245521467122472046370356725530914587807274074293673038482666015625","274122944106300296738399632684955400761495830361663966466225652918683099779465438024846903286816813856490888796372134557295699980528187779624865098445756013563535339056233912394908544185885547842235097677765325396255649207317018754967666450708249125316192200151505568416495274671679500594656671785202496/65687592621976546250581560102201535533608158256953087745856906437400149205693427285162333502528793675585022025602144243543064185647792948495372442630333800126269123531636800213405254045262127593759539706750242430153456891792533267948231185296091297979933562727112487057234422009426868531651634706262125","7842680480716516803148821198697967237136721860017131244266974996267074742248599085253569637183007740566941125452215834642683053334607896723447140851344501084122965014242091312411884985569341166545074688756440728922408743841592658677792796881188604773469108807869960161395759837407978596679911066586626885830991556090978327508459276025943279064965688960/1872528612245648675720382138045071131304652050696842872529163720558126655075937845539792108048310219395746259570506175902206215101518698490144716531697689534559827422735649881381597761684154409796315455445459537515308174919488497154409643876490472215352056502193150125644288086294418253309947229151074464928874881827227706992859640236086417889990541889","5300824422251242070074569186825929119848111723012841627275830216301188228660779008353049603527567784119877706984722171178137272986345560485784907345500893648715341273841147320288851034078863843374665850852481747000237834238703248634174397792745914847774297223176674917912406659831206869442510948965571661/1261140476013707338477604677428573831791396352814802149994640617701773078174882455512668089072441176857892331468691160991310474734143842336092636848492066592397892638052212250229129355009939118431643425836944282456647571558383755315238500832868535816144280088644939696339160092963629012001958205063168000","2220223718762215584659309059880106334425515875615107369399767892051551634000614327272260081056973863669004224981561870246078120862256383581012183852291444462730018546753183156982897386563561418424093883164027305254176874653780425452987066512563140531367766900610414277825262239199580925879453806414860409441845631158680721091621460775043562065815179617536/526383206607841251253861841374779803798480623722760367843070466043030228662340154304405180907941079883976168609082254331465595267209149963786388600028701073430773581228212441424400748220833542964971495005714483235359479470452593264280645360131482713147116366500300066771223383007216182988263355451923333319170174755334598973202740108032097242475554128875","521891797109626296684891455959263713257353500867652268541535940159815152120871142196535233326890353914761242025931373491906127275561002910157909306979093246574207104081108188995072105948138299097848175016082947174156278439986705241571619793059501724269644447572323501261424770743329858038040685313621446524/123310256826873923765604825413207481739886340225713108649758575106598510022338480189649787216845041382860899099250547657534972156328080736149239332330143771138115695598493059325064119176038137294863053148618656356436332991079150723235214278848602671333076219529535123842212129829931654967367649078369140625","66086044538329677372986118727999622900471937619891337714357792768200341519193500393739322894033303245376225584865369486696276607060432449792893028061817203932068085863800494054274423512956136695211796751845295921015953538329385253280866669403169919614982155350899648626481405781514434761541281229159396787287553493046927448595964103589100429722948913403008/15562137339474350565671240515273666798063901504051979980452491653975250630723677279081058884163396938548780856293034775459223871281049026140999055923743471466471830572672766633086347312178711643724485955576579988182546105048041649947277672869613992334541438784737993706482731696809943027528882927942967419447250586964258807454003775693567366165507144866375","335377615394100148751647837967017467711612297170079949298328061159559939969228226474615711044891085626519877634842694983669611974807129333052471799687426665556738316626171408219730853872410792831871526174987402129691897433888027072807302411474690613948951673562473758814664346259109886876538510453475290967835/78715592752271462306588358880337347638000605031000575876214116610339827495261512281635361568951675037834544811575026718101166562072917855004822606752296233435017284127594847656529606648345533195437635894948829857913798336356647286032372695130461573940500785137424365840081503133157308796505622439791698116608","20090879701618729602554170716780970848925039917987945471322994867171660307998603515745066411687983450400412739285577269751603921163835619296822801840348319742203974023505186187060251544248644338412667631232247108675504629538319425769464277309915502144443973397371136256151336255138506001292355330875114245901820438821732843540725116728866301271466614762497024/4700223519410528857298732096729483544820841497820611795617923063440946097326817340637303431283005509904481323205480729806879570430868897342398783028649633951362398196137429076844504529051072393709154483678349272930361110568616112723747726853614661953537957117231900032044221535502745676310313569997665352252492568100075191900969170979460298189170486601502625","2904778979985524171206573028445379872240558084236464200857594814631031581387804621371822074061289363372523364167184697785570324832815972970658633551879143187709707164796663015180877412717910872234647704536817108676736661804878068078543241390828229923424191204586313620612539678930999769543756218765870513049986792/677408099044823641581658869221044375312077929976719183424865834811543737800956896926637625166844372424044003929341361734886232742770909683021563822987505236295727478159938135467975522336774471915167606673489722102077041330652185811196423400701795791669780695158730756241178262962515917389382302757366325768069625","31270155809329751863885224732454397292230969002004953832354065319735530624996254695453061851449600345977646455072512400760539747054003851289540339425848681804190284451253462663731135337775088379954403740058084949675460445909826322297817535400604180338201322667139062500269285493417563095365899631360901732684124930296643108551710704785906431324876072470231424/7269578038000504017073007978844992319987411732848567116655821196644382777088703228960020894756722675887473977480537577509061256138261063926845643360849217556370868752909531088361229374467207196928745673402380473721018157327193509586295879051411183657185176812738231456253321187419224704301236205478184115996135940848503487199394612616742961108684539794921875","432538822079707760382094121020421735679118830363764570640789368235407853152380328891350816400541189148550353337874309885334920995713154225799660601389784410911658967499100610376065640785585342035058364676314084595283850213942576431310823836792440218271879354669291052589804956435743500204185107215929849054782893113/100246574739326291035824954677502591279343311051719151327066341370995390423713403739043396503785261917771859220535505691760472395306543276314938287868734009582906895763073519374099272340577921671298878837400921045252035507925021904954445172372479744465666760762909731237634082051855588025732494461939980856983552000","1914333673689206389116942789116917579088664511118582610293383428712902211612554212779880638065888518488492298586641997844141510832940409501694726851666478650414191249534733087933879981733561565249818572204932715347752949087800778646065986244657260832234479202201129845117955957242616947361016603702640821256099895469088229339240402478576285854783063612307200/442333801076281757298117784528962837115323835962460661601905131618341609371649347131724700192551574625400701487125984359494804828935577124602622582550626336986871791407398609915208114339012374456785705161994343348351473385887949809051796407340988735853810174589261300681030826392672282630613354461927208579993042968520650313621522933214063366558703422757071","5704691626402072213006354545292364761246893919997531024861408248746241619817955824682639582830486790618668221530365426203424888737658778881721063941495350237419723855000515747725926735319471480027293210991869255971365522170749568996651406002311020883635577590045650037569906001924971041810547543163363976464780729932/1314240362076792592671773873754757443276256223533339004339330559325754574023619698171225777585408160438834449576526997055649849875516310105297894855264038450585295422343454458568152668980131977005808840141079502436391909349182185596381509091427752151860204235071122788499996991078935216686010888734471173124487937875","451219364084386208718456142329444023337343409261545444643031014769484085278440612677813682892926852469540118625738238137458321112005189595703619178533263706811689687213128887082197330137502064260105387500552856851972124172206996205919556553246133218441769325133725631665593372188755090094541462474970525820334385058333756591222492801647110594428922046641945259392/103648250172203340865458115839764297558925693061798169434516001775068769911768281084188883278842546791612199025413573394167639925287068809631958006622842716869211374513136766899877504136929177267362862319748507372147243911522667591375015611312165464514308451222180272935398828092646393830572838772085366567154646425598388620105539619174837489536378605144891769625","1591076564577634575701791393842535460875733974464805197283632670013516183281542903377750304419996681222758401497321278555686661981435637461350320471258386388843198706277657208526372100698700615835733712519332548607115875288787602084336341594576426630670911478276101702119972195558314357975365863803265163991961173/364433108410193393847203348728981296285742202617988970384277162225847256295865554341611171460436362780497179090329831885853324392923449579538286804729856000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","5307507148709435807261229345132535134848030343901300324623409721698217134932866488937772986386501538026693956121121771089740095760486362654754229904633476234090792827930433598453200536551779789049352131005222659995845427680686677324963223653949277037520711609343166926627713758990384011274777087968799793410506391884872456420041494598273703914689586637995139580794368/1212244290381524115082005575105703496583315188540177702780216570265159923654197746388568151706509243638302707511238539845531608313334248788980188054651601536067740709977678222790481348003085034888244447626347312094586389347535167903408519024105748523384932942441843118813819781347089702286481924493361058339731949844620763272778960860509570622673048786968660129650125","3046577098843580578619955603029073328361298436129791931304665777036152915858575282362742008136721284817899542475666054101957899858138590963789072530710775790433466847100422875906866496318804986202089528198912098377828580031852152997907433335176267300286466072997014023120087988748396598176622765923059385876855303940720/693911859077752895978833241338902695755528613729508555938416419864772385336777924892434701804078893822446727762077537955240605927550548046309823051841326355655848406646248595628715185413852040295631448250459076043816328082561248420925930431777502622148019371383254316636979070731427737764160145097293260938978413488819","155310926743873343426312607182060072939030765297630534544899230213054714482456829198485999782086944271490229412707980997432528653509945301574794242118433868747172279224118534460563400440670015323324602117517342201640016853927923976796453577048995243600967202462466681112804476672348206491490513419336308575442086511015101999847896197546900512764233674747415844045184/35278162986589659300679088538176070649273991865663041616088851923111175518405117391134863644540911005782372831496121355954470744169969774540892096320978686548284501139861783292226140413769665461494668479430833892857992401391262903582109993838728281915806394747833588629467613308837196269424421131934859079260185052081536487462257809987002198437182539441349474426375","46729591025621874782758519074451728476386657576036360734358719976400940301493939192083339293779149127132651616972817165172116269307276487158069293114860391502484125554406945249728802484128756924044633825692779783425628292959170597009935305429239702926898931975023598456207165067568919757902764815108751735753431153581849/10585868084079030838651390738371141142245086465033459640458366146849314274285871375459898014414833295804139979016362796357043372316321872357817727821559232353993714062535883074661734509440994664726425399880995133711038483607773782532430879196405793694658185175583691180757783597895616920432527125993118171361116684288000","3736372348124144720852190769710129461145889011598636925228657393934132828633132357232883470466940330848177425542748100211498184494252714616379450272611850068867816250209867530921278645286769418080018709947826876461419654782341309127709703626401211996255743831998918894661053669189312375159058718767082163156988766821194002596331826150321864927832618126580509732359424/844176851007504003627016945212023239308348428094023437269532743221937069345682900884618378849283002998220513307273333096775669556093005637615012750733216460458689282791632437851364674879152695438589692227159038555722539345972833161146108367329370564838671791241431125003401861887477969954740544092178721327724620450947646209914621007186497081420384347438812255859375","1258774755828991281578968023382624723772927642002016270484090409043454336040857926581316994594109169123354553321469500848146015719851609220423736153365139804086413284787598253618361769125996755159571523632747129480387254164008968993734442164892486441152227433281625391753702577143985047832519062595123255569172968685060844/283659859661671181526547833415653453506477950678651675193210969173130116121017723360258249430884213011988678011357458727603413521688184521573094783291496368005697481333739504490647194454695504722542014845706216224432373442438242355188461951883454664693262684873988061018976711201351382163527093784753398257094429403691625","84932063355292829988908961192574710493098897148701473172754949846455626381329456661808566365329266898990829247446356970454502007127269708487563279536825277374133681167235811080298134899629580318813382668399644553111080625918213250223197440426147821225593304993621451053135332451997633132772608233430131400186571793929377129211228689703376067763625568623535588709576320/19089978133324852910950469658566458037096027722326716800113107848115231563787455584278193954518442601810776347091253561956877155673550458955562102935555510392954425196165785410319126098393353878286400877305164869548380670204577544630353859009177051698096136470072137579698473017257397949994722015089768745013713383769765609613514021200888647472804720456494757423299627","802638881530832431828249604040579750916118423833791608589560402449036920165704012070349537114920882938466635598602387718300074733476150548724726460209016834416094317724261857969955414000155807312852092720310159572547644569797512233899495300028159721348599816083166712365215075728968005941610056018023633235372936903015771583/179951197386119079732438617407921535065140503043429174394605652913879982486051627760652197484142547447000508189455126493868229565647284332735552462525598465192073558793335913005459266977086104359621022691931002488052727597513413492393525660272900161375677499228252863529934576881596384036401784035248649026076581302370304000","25208742399375362881099811032135575360109715964024747212026245529087599633280142314962581193303683759605084995818253124445773115574470717199218828756449187055537877478033129862600982068782249943150019637186466260707552416433010545437321814115233841687700051830170191107127799355485920046505591193770164750886037885397478191534797655616745528343172318318678405576430544896/5637713398995569614196397857525646325234056219513202928587580534159596897880731043336790273040813044077153051260989730372846713618900145444802234629922717464041261370803598799826604841654608724727320798324006129524610666235998113655193642594744544226880944882342204407750193512869672849910003246504052298022468012594459974209940607450480609190841893267203392880360823875","732332637178584560220688900268566130246820235956768724845747830959547501950765063982943061181526237061809052444110437930100210105274824607344902764184151030827266142225894655531497849161692760385938786736436977268616029862577293984376170905024712952813234949508186306774257035535805330366742322777611063402455261391021097128/163377988152179636922409938163005948596822656868040662831003991395905185823836089887990201522673196719628247106777881741843786365701135555917263285268753605514812568258179391272113405920369587922702002732667842511108732068683407168090725712401954314293193572654347237716691784386690948494003094992876867763698101043701171875","22391374854299462107923583267570593886002658786775211597896252879708753450794332301142909715845151746786016535157797023153041007263258732991465037648536702217273897876864351559736449481285518249846264600935543582562018874574655740660800634883403597181876364712521253650744197321080655028374602772696770227741610874399454362583980465225235674816785988164157351243193265401728/4983275997188967758382167867656806681565521964135131710678447245984239733544941881418957694612909599261843693554043504855207170782744518943778096768859337980470219783210191765678908537645270392500777411134164918803949155037581108678968701961544979451081836872425574123683574475790997414488641534074873248802450108535183413970057319247033379016606809226547805269752123746375","21252344995592269775107236774689012760750850598567799560343535731251766780016530978663079386453430272698006977668063208502408607227544322945446079708000304179073184745623740466334127867464883762843346619853325415963062181018736410570113171387891518398846617197097407612852037905687899800932343156979591740310928257766081697645/4718515378484509142377558412184183991357747235892194234377932213613746008373918923611236346330189287336493794499188640380975364991548794341177060325509698404571318037298112293926833877103554546466055612498927474225619680186119313129604319096374924037870803554153458104225741255753314955115645304948564151765516183663634546688","76703085666560609319365659209445044957052359500745196718269665234646121134787807938680787341023203786904308047981099228357850016602203539979246579454229078497537148799349353250167621935384193502383187510928609818011142642954550330069991570983902841318203794113898871515702445720207144863877026526025447819537396146822201819435536435835285098485990260677737192230985069824/16989892821104122916312992616665764943723222199277412857053896319814438961475117951904867066845412639236790762432996309717924037467863024360211163971190006272168845197000304328480920483651558672879967350982199768255256753110375467976246339260326422891913564151453729285191351273342206198366624882195135056176502724912849575385576554208844814085228696838834665339811027625","40153831166521391225489894857551838468150576827129133168972859441122728710165233865309084872159583787083130713473702296122465319276461991457173085312407612757280915853584698420083436946976844240063731333638150599017886937783470942007376523947840104246927580254612991191040951001539641947153847776050138532219595746056076776809812/8873576113581065493273519627544307418139908640325227196912114520903505426722086265723900326735989771660987609604507503750212298754414472822477243293638486047313990878348820573874809636084574108909615044524663712495422565151340037564156235745628465172219286664653343193162657374410926171153516871765680561505768223660055617934625","200736374277835272485186523480177159453030082779872429648449412313247640312479214261681899286513818912991945046297334418102711629933437654377760028476767482162031641781499114859553677502002901248124750539270235098492377826240319766677856465093871367817683734079621359186477306173620331748496369122143019303740252461824523590096923561928354020960176605008889579578495073283712/44259440065125442964014453739391594153290923937737136823355312892557975399035370631521014554980129291582486968083228888083079118116286312583989433037097397252506140224404130371160608365777625538148303917306340620019882928744151294738308047800711028158277500317134537540772759486365658024194428796846364486187105343266398338060080611643110071184992193593643605709075927734375","488459049325494693259159444507437983381645757291858092983371672334043029615965882574409808932509285079401239403272414271652617474184321852388397021836909585659327974611273820676128650810907598106588433939541654215766888212287311943387232664417347883717203611092450971786083806323404432266197250919880225892099146722474124874256523/107455855466267410923480140898552598306699341366032095904938430084768624148829473848763761936703072253841751966906142283640379336131083461646777390874405323298406517250231389493084918065243079819898691146841695350589992171102939046740169198394671965069747042621265775948217054519855346617967866614303497258042439052681849864192000","8430374068596413768975326329313648683222744787097373111477788794692418932056901235174019333392845529821722488982447683794746518712070635063397464904489452840169472596494433874412726723065560358405027764015273789053064830528919091414531400589850704395887250756457780868677553068164933299802944396576360356896758745030955907258232257358056931680617626606715393885378887657377280/1850480358582748412767893656294669486390769246349349706200869446679212812264400876685764762211659843658541567071977813110496329850010288179702589501255367345935389050373021591572539260951149696801665953123597521983257852207280970577287472932167362521740230973547070264273850381896786822127290397075758780174083415923482640313277341120938690594859118603017930500014640169211239","58273615882491925540881784328370957720539797010816130007322211512070634295154626813477498607761260613353633996451797686143131893884559909668805628269959901044961666535533876340116728982072626875010391195372759135469446048394835148654407846242721443845351855234347422256700864370273092971804207514736924787577569355949601385705517152/12763172138328432984573837529764902730448666594097466544652830703737195804747682450548488162227364538052585484418491914323658215406327363805353540266048943197822838925184942600367647278764952826664684839953902567694832690683467635727409976388280092262839126779730168889686628630302519063225007497707028600865624133968363921915016625","2685278694947152969468407055109959900160804835228466214479525891103128459065131221736713585038130737099067040196326815283171857977706979990467444622550497565521863441617001097354649972660183038850033950647594754644997436624623325003537308428828750008305464174443210079059253920383411910911594636045517662796811001285984447671371943267419151220518726940455756833040934506414133888/586864816044968996825907488721678304211296267371936463272955488077666796280028127333229453342355554450708284934221461946991556216095213627059047984199091625921432110913096253352065238765240063555347292393427726758010888546427415276046238297382474708612526770055488323003698641493939145624184943388159614111350839555141202024991876221874110644879676602924730506882384603409121625","27700345710264347957758638741952394530538598225904772664391173119594616680996031886665218221392453628824570256438960349220263575741495285780845399187013582169907518462437966962923592601721119258663490655013419675469864809004562272799012227293974254329929404036071055528766397079743200179924243479370594973626764330855493789112414191/6040997839051213541001279276287478343874107660287651711609067205111574718442229224212245187655300348484144001298428958025052162253854676210451657425437588244676589965820312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","80160269787574270953020489212619791839643207793889009503234879683494928396231769167082355143564723274576166638869430572977442020236299319718643894871736539109822173538266278165276591962215927816541165548699380129014840956895931285215480350321259054359835472320394089646764361802445068798451796525897304221529850133401768027469126408090577121172238802281079916258951770135485696/17444957084936455555074876721808241311651668802091828589911310253709517226715880722948267977560381436307152342821304525073651379763144281678911047276389231713860392794975453518107055568765009486973017341479560154792340888780337029481646046233967923289468141293699236815196553819373828280398488966665994092877680860643266914861837639322607761804740256920429518434353839878280875","2352816897072623416220002134476921108405735955266703519252095150412419264317091785317803024028565851487861978477208755211589867803009700996828082850796103789009194767813611798769297617674631277847910238088040257037678126316866517601388289837575778165301828137259948173292658462765645645868094197736382683775415645307647043205988394700/510973411316690313485681833991645423802776865720580280058344111363363091616558230182669376841383375321912553771027107891991318313938505988903735114191313214327683449514676737796942389784957658395806951715454372568523597420866050825822028817422805046287798054682484158011143949412956697442991898914560191411624040490122951328364833797","6403295584873165688372907494046202150046769667837790834896334486679541887567517050446119511695248926941383207478170182650927368177009669717288184903306689332746127845953193587519575304974203099873732502605739219028995266139383163062837007982999189114810534856227848568800302527760100163350814120545587074865568436789021082619398126713943637898657861949091545516403987546145915409024/1387794272010111535893205703999712437783041553900341112488641528986385462810448493444968969845352401058333929711237978223214186693177251566069419805757440174840170213159651962686467523533938145629444468366235554597245713128812532716616087753947246800626006504878203666972651384731498770435755225220796872155249202960801768048854869001310722927230237083418017482134588865244642658875","82993247683514419570466529457059660634483860665557779709153549045427987672829778520201315148149878525274005978368939092115193636113741972236218502664881450367443614971109677363668874484696543982239492409231870942414193419634675024621942196087473557914167832058111113476295926250739099284241826553737074679953551191767148712684157318697/17950946423927357725787689855263532224005643859095168852729513034456208872420513601894508438640531171097082516559962755244698695622824386001219435651555513795509616906355363573638916895074349491513539093024980575852693293474288638209680085037286354050958859425647536735341886663074581909148323105020337857959651624760873736590065664000","584891611376763781852144397260140844977346305541197362434227194779766612939978629636198589818106137319267243431810481928639442343946346034433828599323416877248326356345631611148749005937144684862502198147087702668524450709118588741606955966569427636630159793409544653944608958808602551061186799401212712216156799273254257486955348236914237644151956226336750212957092204830385441792/126256710861549838395499078249922986417488985866522660521294610280820007499099176190820291214370699289977888813109514854178180265382471972583921477022411657285850911270389720508719377071949050253246021921916685716353393018411683757067093259101151481189635423399611625009617884983318141463140199839724797412514785751549277231259345923662499623640886881048572831787168979644775390625","4743054867460856425399742072925732465660626340183690464743217147109403130730445842673866624947360862438925194786600531200056131309608642363389833474026007798643235346104937733349791667694862514383520689594596660275306247615314272223660862212527346572811422915223417783887717426641317921972456913534338708745549252254865615725859881457906376/1021840037832289788284691535543138164288462770384961802287250236519983887262771944174557087207566030730743075334169628971336358708580124427857321953981475719503574867471090607795242192417162791762511940848493176847925838738242153177311649130718886794249673254183907621449520415060660496225939963471753122766421338241291756892571824984344625","3784664074155769467702999785016514468281913375341134899878893061325465790589101335015569840325786070795267055386681356241209412947116340524588831510768864231937929260236754881829005065056310226407358204278658699999612596866156294195316867934035877283950841910726224355461522065773816109849107487214275801829843762482082803559183694631856772777313673086715631547326400170962722842240/813783281473223559981291694175087508812520505931454895884442580280342455516154674683217348039336712901850738745276445107477919518905155156380620466135946654952837573797479076027688866326359448543065305071605591497778941561986579230698384305536224430794233462949056326864499827444363206162251104552740175503996670997705423888382328014210171324376593090187604268086334796245552762333","1946671258536842642381655747294621776070051525209940130115769153666368932042152311477746728678182920842238801763565726086459485050237860693394471644023999467670017470376746609892484192072297938254898880354014176373253875722410186683852253828299669530022166361304397631667133689128358365296701757782382475692465977794960109690362462330857/417774039698408581013003883929127512062321623871486379101498968145670269174833505080260389860863417408848209525427705249526516766731427603641806256289098209429110794311660844125377702016056984573671024035213045475132134896835814746425864304907974005950155657789157496389234919107772201305672421982198984613601511388413381215220924416000","328578487723377153600821813410631465225159589727320893988991729306688663770697528156625398176929288628930496338036815910669579019719633124832162035588583242320537435554101841406566009219059042888412893352417446437227440076869427577701706713564212185163005644118869496869980925214424591264870388237079776503547314587137721633918824664946974571838634860386893404364499977966899068777016064/70382695927096628347637455030970644630942872888311870124896575877585692281624151103204551947776906510366521972834357031777287506848887607457751667816514216907338309372900327919413372044625602555866294337672022362865161523684052940126509854895320132828009551012639156341878073682501185688461720664801829933689280752623773789373199210473995823367199793407048741191786377993390965297664875","2617201476921368517857942326432090876874414269689140439151907982631768946799200744678055980827789859579196832718849393046147656447672531861353456343821196812881882023188898815179947651274131166835133965629115749368441605680383605331300030886676081418867305170012032824011912531673468215561506423833911621270680104083533917562622600478548/559567121085534865189976875600841717161617153776904752351231210970240323460800785728739412474960421770806162360125774000625035522428160837855944215417821324758873127567654244465281354654299068546570789547691342609793050301258532586131013585959164719533123826201937801986942606844854123769532447570107525081084531848318874835968017578125","636225736038986537559880265988431731529837451289737542395494683393492040808565905376235074534207026537145408562785279823547657299565440309510931336394031904920056464959974743525662459433889398003683078967642651812081450227654478095420306880762753401111260630654049389197602389949892636943971690212484981672010398108426002137114819838399222096538921225458913266993881960732663394566024064/135776510176793971074115131648637508758953050390591773574951317807919051619690313331192027871176160424663811116849856489187562728496099757910540362703888937768555824513740118941387831822900198029266206334350448626733139136083404404120210893986654422850183837974770675600952078956326317698998103770833069712616832650406225828969036781514645731022616236082175582937900731419575337473384125","266695771933124633677367149389643417608461366874310588884377151539325854547826373711099517873721616543570605935954334944030816383858485296542260152894035979141266909050267414072982042090341712035518685997484257326212454742816979806460287972757626105526907510197321350895873473656215941034605746494172316089636216915825022339855304925515685/56811706665210352283362623728191218698295056176625217939528332247537278605113496147630185544004654583441448319260578659922931798845493756189402805173037491645434052737405379674607517658118427614090338938517963215812444779184193933749520313676564187507594274551791388039139409235056119788261689087831209441779870873305232021728002651979776","3511806683161697708497547617957719390189982761002154386881580160856792742952365159764830433511949678304281539875366378131195670004345568047690216126001067194904446295336734931691743477531830892015690816210752795806120303198745685394015161323982229908105397857791180342330098240702332072396030780386362735967021055250450666535422528637737695053315137238368787607412459874094164027214953984/746741569878639983491390741637813989978804202898438708743258000150996080386381281307609038830698579358879333079215327202911977568726258527646560497079622703052765164031089590965199628534477381843079892123440214378949632707668935001371616475282883095939750704292616758568964786737752325652839226013335092148777788733453702438432279149298482004122593243860829060557386699231448957232420125","499543951252504651717279461487337168721376180441322735807713499521878076780205427598086756686061009718016175215146305489885835839673419698751530207404115002383180054704927695269921072232395828258826213554806570423602966743337801741633869267620843626804016742412046844770601322513184123515405692795346790813502805238635003099976693786012816/106032986203682550514602969462803214831559442358811656484036951559991322084935692953211120289352600484987931812632505499612220494311324679562152078883141464406938524087376964935494245010636163705698220308243980789514815579319533341929989455211613890905485981353837321342730307819060825125980500975023479813757024395422041501208805339176375","8540849722242122835873311629952985285477986765819584558233324868363310302206006773828897816547299245727087876984857726652932481899766510637403577175623031467933486823994040576431755172220921921877192006685053572215922347418846423419683723609799729359551828522978186208983138345476801247634773975311405913274552616037005854836040162212761099347518242200807692224460514057530656658616850816/1809694575992816440924165741094996511361288430727981159314194000585536832192004274726651828760263522962868944612215633976203596150606503849595633388319338251977160257979846235995654357082321611719654136058257458753105122024859078420173515189641515736029725847315662215778251370398007468665986604529263071981040014321717598469319370651877296085250322599247141397427185438573360443115234375","51377057693118720457387330519321684810411289582445982078756989158447711080414032055843805733348558621949380554029375294451303430269197115810494758213980833379214402452992657502777067850631862453239349835215260705131864911194740832694498014048717871429797341104227759557199716944554347879767916801106279081864127192611546757627038037780244683/10867246748205139797826516105458406878398263495890048637741584969144406206902037615496936724683237700974333817527350121106320991054058406504571347680049945745432432384570515723033245430148177097144850158758462968940525568041926860856763884474605057056550146491001458649244094211354153171337463406192651150028767064600270112838159624568832000","2517199821548153657910904242290029026229621935918771922146425373057248090467388430999870036608278542449661971830076845113363443421757278612394167195431759807908413353743377586893872930828548256216510734912027450642648789925142482023713336937258932978503310551945630359646777080073329099268529064437120002567758664419443374110941824106727218341795100740316967386497091058915066147604481280/531524260324016969370728057738851340792702640911631807178654723224511108065633433027773388768889035083734041289308124943130099580765995149865288328550751289346866467755881013217287175392101334538392596956248952430438673292186779006015549928829953979591250274457658042926539541422697852390294886719770034058916886894408015624288115732154492554105512936468520265305162358665491880968652687","937159485027553069020805864547349554547661693803137696125140510201297417077233061462068930061915381468160677500445535971818609631674361074587732183297775728389124966713749450996643183965795829780345678634356741756033039293590264355732129789110416943789326482663579413229893878422643110852069225671783017610387570935863228248464396615988222968188/197552642195166614912991396771845374656891854357948006221100585931656016640982345159207601253599235265353060942313995345483862152489766993442419668492877390774016299878943454249209917002169480134131612530977452579520564400124908392339263545911443803619972765231094502745980083350567509014991735227390978850048088378721210219321877150756855372125","5119346675109082499980756672052066247676641510661024682574296075659671743397880591881419516307292610449161239233139088348510165442597278965718490070997173182184417648987611422446347235659085092530927312760229499083348217392125906851921500360553758600756698605047197529446594606336369425040236883171542367713951500007600355406492128741649090501989105696576697387613035366083536629358444229248/1077349190930018641197987339365056771667455373500846354778079878558146320193384166982231171317419356136237346389570422332278447217033773023556383420372685049620361481309067017697564760747047839930422553324681218253359586320952896352245366885171583221864112040038531116947187482413031483309534553461613717398523132176948321964066833901215878133594739833910960843185464241840039390204295097875","58469980853327028628854378052548435225264353747414624620847476036979290604604988637469977624105451959796142112200285366199247075503424204044884512269071061176877225315884188402954249683107639777479663275428465242905314418930053869461904934138752031124685541853599407727446896558064252696813370692668496452783003306386669962110734257851955001481/12284458784412533668960387046583440199646081362484321078872891438551639470826582933879934711861551014258493898870867541349962531447724393381011633785884743889445407749238183080941846528000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","632694338036291086868292541736272151517212971647680989553388199374739841494700315711180961760384484042159533979873604395621016272772109619401112452105475906812313548587880899058905419220497456502543971131226430775692744506047039958551641270070996110661036371362526401525207493270590999387476275629412687473362310414634469788979236895300129227082421021999210841384596617452097273320509348159488/132710874087075221626157136110978536488168313127228703025408943153782802265472978945703742152954881438058373686972477195846162708986982742647038014147903817539418442869011995988024638278746664230046452545499722614320284478925059527086663455478374200352375121910000967044366831275681254530914306064535110528723482282501358749001657608122307686482720926189537227492041135055090784059994118192625","2022422468242151190347511883185841333968390991430363660248687284021524206079162212007263606819387821055183192871951076644707111802972354128011904720586729919826758651167984507804867954970064938022106484656560866447290934136610214175516487579122328055482392137619829739560923807880779865442016530712986750711199998190148885726144596663143651240/423528009127070458603837580844559347493775236970253513203186912091140251858605354218715508091394564000304400858761758838182654201653901408046974668599216804223721114331085507752600832390227068985693006017591304916519540245902645712532993889000048992026931475754508248265356181099817467608863068068953756055334213584649136541490530849577363647","150542201776735231618709653388506394887777837646651406023174643241783006776019388336318216053045300417086929061565868663031237502137150880313922488106751241006715449458736723129545400133450376339156062387859536289694727635468338235084533552501618659272047966040838509286942825414463511175531001410923014751124732748099355476332649458471135027773371541572374016038525336728276024676601778299264/31475618522527975728853391146702172347290819252268551219771201846701658848754300838383637247014705706066050673096278897933831272607774110183488615338021656923433335661890414740664480671162459271850877855521869741833030384682549648626038314686632195158507693321505500888988183270276134667071014075017317692121986144742473139078857816578133693776368882596780120407949076129685719314703426278875","162664351499283182546788129866259011542529017155637405328005084357078048074065548349602626724265307733005745244338982661090506394708170105916177679714664432754153795772811389612700051002336719842784098507498286260450939289109123759859710248621544296008356071415713931721102824434964336667980062728653562369697289761913925215639430496443820411811651/33956433298509232632327667206936379248172049619640091186698677954874297837764235300806836350019565970550533206216590639008637925266405524715041372407701947953283803854153876844320283735281209725651036513491246238622967031979233265136280687995181375582844780830517825595245506321879177965868747546127685256867456319112247572348416655367667187712000","27228583713734183629451808889147559240254570554044667607519238865891084165382075658707675405673276615039702916443152954157535195508033284355580742761569101934821088036084480297442018005972653124248838420021440899368869744141698556359295489470499243402799483082406238128875386939389123336303631993557844565927960009744780823166462314116039469622216263221278402673028225214534859076857413557466368/5675134787340359276387085910732530678163604187009567576895331134521132071092293139167824957253050637085885426100206370974479279292804959049999647539684766632278449357893560561608633329561385765035738071726214510832066885156767060324427330401967034889966727638276371320401053302413136551142103678412692111973028587922399670456670380189570979581674699102934733563330382821732200682163238525390625","1340937726818688387636018677960518622106989311577445614347061615417831160296369500704524022869612973331444242000788110133157689786976834913297544087249593601420972111789552905846168933014570399562460789075871112224533723259660967481288525220689577290386781169316008987012566216235876842757183233207943071523447855623001920854571597886491163165150556/279054368814522483241446594911968519760869180429079780837994812436395792594449929617293503975169489945136244602350941695478861584261665582123038340824700224583170270427163469762789603657025958695551448477050958557681299495041994050951692916032501884523150972841782658389836059236040091605838583126400660344344601879969354053137568588338096589095875","8910951660339249479517731530773509037034977353457185453617569046885132434552771722727442649095007828468878374139001808825741829728375370140505088133244952288239619141544661695065318568074863317054989982620944602245967155400712702259180443238473885690297281525960618905625084639870407113029712510345262279507055197024677292523214467306898573956604928730377318210588837126450942086527893437954864000/1851573255256476362977604759655284263358595254392797078730401113550522214182030016660458780180636930591149034499142464357511158868625309442843792189394292787657774627425816694628839987456477799348874853555586931850788645677998004186437300173080088839930384424797706381282430208961565555953254145002318893188197561315855286173276564036402546798318351229978103276843822345004757661005876638005274037","84997663352987536417038496128111159210386455419431137931308301989414462311135708114322046234708053448098538629166672456703651524480738219822858469100454933583774404032968304328859365484249897913676382909050450855222567147661842184538302991526635974158862033287154321908483007506326807469239745851379559259262425675035790574846229470041596801343087041/17634687575122715507915388096857069366146981156897230620371714518707518105157483283253374797127075689236298114335734874553183291806268149747826050838089931351158483980735336772879045027213982661634865556129548356487722537193914986994283729746578044621115589195066212043187229606921062007047940293972381121200723292297716621231320254309060321476608000","1648849257486312935416274009474520589799750757877252390543329851029437452988499485179026845292068377957697884739052491455807688429630524210823560524122596610276957537756142278585091315141096146341773982302888007751632401090642472506538817998043326415693840862261701364114923327286462650797963969289743571514890723145251583881752876340628073395708716735192690808352188867334842743895738955762067968/341580411902962140529547622267381834425264893226447658723654120920549166416114849731588552578626041597847002946105459812230979900480135423787717825697955152193526724029890829615845314765605770060975538542976523177976182401820926854406945392167140347444433885786340415437006775075196031433365827874254477351374236932624514469241634422312990555534789607377023339236417434574755566856489013828206625","4899626659231633406569362199187192352933567344960498139854460545644210119722856870634652562532083546344965166340063297647520613455037240144734014575196764021102614748218834054157165781057405100578668000290493431869797883155764963238760612333048336953434663867580862692267574574465371615023999531030446250351305046572267686566999209229202587258144318592/1013522377571209303732207048597964555261512342860326827024786500686692475697570284120359840724596444209277948648863014479460188496587721578075151793081823795161404110811480269106846359964436993190293615381593756076515012514100289406862487971220020752628653845345780766244842386136740768474703009091552043945843632199999007070800871588289737701416015625","362903847358088423032098939589019598036593525722040887883164115981767777873860799955715587436566233010543937498922435963385091400670303956612881974450548904906949032005878241638546734597308786514086678561900713741746905742866635779432216761799371793260025549698865319760786921444505323758235164807966277024031605673481480590193724980659448692487108892154809490199414370023696404259691299614147712/74959603173756091922435708504751461448318819548943586676159545028063979695880930926805574951275602951047845904770828900645717477098988124553474616764040938121171776556999069351772286262529729056288451037717198273521810585868307402693261479298923209587143468206907278220909447483738730657438961435587752873879244136801168836767273934997417156543866722171766794171623224855358640156858606843576125","8521348154958613550574095745596657249924328336262127244827955886474742319277424381360677655239017583606851483318951440691757875270001283229585075137091617073509041644097526047127618954293881264113694362598157456878784814696577083997902588926421675843291157049153701100218784481406086810264243143337016042301806376864424632290226377881206765051896745/1757584673254145109614914862134217345456065873908262753169404848658913774363650863904627183104777337461445063704655164325930891269843669860409763569362863600932267319335889540453302785099532688264425988677082044905948179153286276609910158854349711054144968131934713419772852663860893241364433872853338630216232313607969790083448433666334742108176384","1802461420562646993856730082999823508145602238125054717836501201545920604020389361370931345491160549787411668288359013059160331370751496329806488246135100776263777863399096485894306306621852596694700845918608199329091852956315870664531614358379176680326508877329862713333336188556181470928613423972314983964578645688876556351433429494008513812136152576866650152623510296911708111085518974142728903424/371238439252064016214448115231139360835481920731625321084601566992497057371416121407293286027832357816257507287295719261141426130159269433199862002841433235955835172774430690352481806933860390015899973299268361513643524088242973968537595085600335021120523852420135081643310663869327371821064862449426404044951571585406092523478861879148545678639697679215289523234342337347529225543852787599016265125","88795280670112240977945082069219541902481768504536167808816453021962616596410396813316064685579412429940019071114917828928080181638058444302439626425155946562362550070187433083541414569447612195370911498321149367969974762244140788494955146280201020345849385865084095189982291190135293114489407801749533448443222584092575861096946605418438181411489276/18262596223069549313969288693970246663726147886364354584825624311486557881239003216971630599389642752648815377795018130449384513824927138566203714891090017787258920529990523519479383032564209629983810866231367438270859421572641494420831435563580050954867101292568399107965982704216434467243223964964535464624988344342084084237484262612100980519602625","752911409358158070688133336918078236438086521781731735123294741731669530734909563155732092406099003582749182967246236657021875488130304108082404134004381196925042617909108654109138702993903561036987511410396567636331465803949049946947888490287210013788802287247422993384874670368649616782837096233384279817294778916419067404863458318451722971117669642134894906235066332205740872938406767767019265664/154635332883086377656813458754577288834216641577439356891585125701020579768315520324293435008561626926046988056302745604248220408154454267643222328696606367409715369481567213640103076112146615938180089303294709009813772509602954514391675152597458428326644988225555987883250642389550531163153338541870029415077982539614784206119074702022117790679351778993541426110436276530890609137713909149169921875","15286089077439918584953144558775765002061832952090847117286473868694909713791678395221438112006475047633028543501632631679316850512797978594476229228325228403849089079675681042224057234415951253954044235099139983386056610384489202589484570852048157272551098909455253037561994944665563291526597323199530997923272894119350512727802414680772513760081360291/3135161418037836259442831302977219750614726139657718770206960776514822107155928800694375522572523712277389679035632531727155957120566617736817225541673148354829212969778664144907503411589126111888917929495106029890532891919001138770210977012708107496187227751496980000137223047079127096028939624830654227758737339725345681745847598157538483308068864000","17723482381737693269787076798246423310802126092500438681864673375704464394105734049099094818738115345706100191580982712146882034618103161268453808819471603805345990162762722549964406042295355916458624836894291267553138041035528315839108252422478610879301656207772491548742981990469454529537049123948604931661837539943536878260665617524824604291547373872716194154198824107266275716083848262625068958720/3630091565725887087605600771358216927099748013831912080380983545872077197366172619225751217619097657405660172801849926220948413919823038425519006413005998509677472226729295278652284861834178791332630676772284971762683579047508016687969040658592436230062049051143001484384767836353233324570686249824980508520186643477313941054900197268584495128610811273834192099099592687485176400539748616360799518357","39160514032490258389003214587901781721548011632821053230881239001436341012396166857515197251499460842954863342641015306304854226194551189224721257664420778416733889030680295206179109679627522113592373938602737416822981698362363553492610842201005420727750505681358595340127099855823746410663750133019743170700888375554918213182862789028531284364877435896/8009919337434786244380818390213546866794958389603666737562053423775386173149395943310276429895991903753441584557917565343673605019989336264748588735390182130334278887642569515202100870042209261561001627386525182096090194076839370589780431326097965428311786635366819094633651297179987340498215947144870164066409654464551017761658775207392803825996394875","18188388167811476762477659006849121912679763597132233588170406666718758511478154418948855160838212151370453213943784067796172102916618102024199200086478021533171984254799008541948973652219533819511807681148179806051835318645591102296256347927018942348574774821478499092054497390790734798143983945096982240517058861467440217558586822663985584775920517755909444876443211404222400335500608733284461685888/3715278241795087610941547133490827711133909145414878217965273061493740719983191775105550559905283733134189195190321643965858771461560130864714477448011225816210219450040558581571206711791272284197614810026220745160693898421068168630870850392739817340370146186703867097982858560347971281142766235850971837330222970900661653800041795020382847588362774677568059355238174402415384788280852059532958121625","46353430636874284402376008361176880938798775506236714098123916668545331718677407145199311191108199195405139575147933283523305343027297808443653460575141799729554209181454676876263582758919969948546918471128299522715691694855904535448703118221685887195383025133924852224568922999317583667985459047407473419196367812949579858081181660610155317911318937349/9455890179897829052705408931064120820559254220394152447502395298827357144081378513080398823188243663943177539817982481713456798757563952162598464929784370305696420245648035222083207596797327498500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","13607414211126412689435920170832779523235279308039712294681570127241403406455725064605210473923965685858012114332021572088551127762628892611459785625407107300355287623761046438724706918300976102581928643740596336865698485838431972050267114940079353996100620311097561405192365496385584164725035842307146351211183443267583872067352881387294766804298681841402861626441205037637282007810811602289501477350144/2772205947240095684743358245950494400934136973845543049938212403703005150954425087866758842625041409060217562878157900197951382737615822655863548356735553650755342108183641353142157728364469706919993519071329069805875834057743793434164720370026073143626055293058601124362130539040404491770346043977106988100969901297669523170508321703496903672333781306743488573086901583022550356345156457496396749797875","23264350093315690507131500726914401771633259602904894387312742275462601574788485574913195967854009886824436237740789910851843045306673524324611130536719802717912615609109285261163220007241492964833933975789257681755002054890453747803418465119567389315754801791950553304034666399677630030683759466627797123971742061866928213780452325847848901682792886840980/4733430508316851445525799359992627142007028326865116523033957869609125212251136452396410236930025876982265915963089597825393317909648054808274488356887197933393799241941120691826916741647173843634076299630884655997401370400734954098249519111198509015387869462198674657171808841005212058822254513429836457539629035675822719720295352508916898476137111981397","538960934807826161927564251064896730663918579817797131801326848839524373936888402762331254883505157846659830555799909822861853145306547699817986010353774500545305596630924815657016569444824389893996399550343022444937690798126189162954188680257730893424775303801562327757655350002001080811866451425665301674688928515041429654624970707803336800125648742168380676815769457467038849213225206824671025803392/109517448833211208909213522579666376007937648875042608355810687327424621469323788799169718267715808580775296460944943658428295481347915131091297305260674731651980547668762317138753250458639043477453950774629862540017034566407286963562574188172753764978963685535201028286359818524519980885827473904574840285411260037264057197155527809916623487144493019982419606308144576939532055057697567269576800542875","24451481554350251656598350124163983489544445991992661049829014268366250968046589127810466483349378560701491445658725080497078590986743512397927747885285095846398852574219367580068049729894667374214861939897557930527646930793431512683750733092448862551580494245486308114129295467976874843852138144539250235632985676953662288536669286915983261820949386845806781/4962240683851186225340479316959605207278948397833849899236383273145853045488131674290332609876751222112917095096150531825255611911377071887145019702433883343849119017643117746273523770961304609989779231048095665388209125939879595509516490230961558353074751312876252070889983946768175488341370453053495319823381943793679003096504200440997908071027962806272000","166591964685609920525429719961758335887941461052357297159523350448241484106515158310298216150030768812873781356326923214637847449893575074813991141092681107583183275003570804134461187213143832123628701876041315736048451374824101256980832991214945762266748755723551899001458245164317581617731332466039757786839492869211248064662857987111284518155462148044812626055842061283907063784492325693994911811072/33765943466859756347231737285768516240749714264564410814839966011490233598006227246396923594069488496368994857718734549787000213944990695920130591750377483911116845697231074543526982580529937081378303555262933800375576494067959129682770065443667091668104132884375840812635624862495548888467575848428463895756394050252457592540570490061561616914443009224917652440212112452400106121785938739776611328125","142464729519206642943985715465196065680101634264787375740459792619754842396453535646509170066091478069799080172299369994438836484938378991283020978342879057271045033903518255546705211647900945143546293360496661466657600494787228476009216508124736254967761901224547269496682078470378676865981855568197705507111970901389105723589666709580851611656838285777566736/28839643075889294346635430272525349651555039807615358795334663734940126053968249608601725991946342449660829847322517564370606746964714098508298705743689729306507554363954348780144675937510900983622836770223945538844314468550644543502501484521561567788992156632892028591678742014134130878101553633195551605796158103033794695984958987367799607407626319024034625","380457154857422076784416625436182734840012277442496600178664323821064977485271288502806124740204295811759917468598315932331219906040253463960961995849761235911145436552991677050565022181516596464968316292789048809559129516930574340710998611088996508613850407294743457197519091160170604426002924022923388338999324182261954685794522778833029950214443271526469607532589775916381786492089432407550224137344640/76922142291839859196033215395526448408989799722090330866256930898223012427332209054699494033511478050536463051459450844520020426942553107946282832072826069342120835351421637970462054707566481086202287686453371483126873188020538661871147778312986131920021929455276187425940666580158173676284545586944833678819622895550345083175685846944633982680908505900099388037050135210936852210263717185637166725605577","79999800708369666670693340813609265988600461251844239982904928629083975986385235816587497657678297663151298709076884516168798694292862559083730259839524968813932151813233366175091317046758260934357096757322369138747731224414176608247605314668045838769433811781490030635374856042786947109101585097035794969502111354126773165391577217071956928171336060247633607/16154850265413610119312596299635391433380319311682208755390341659152160578366244774029302281068833963848811596545791104919556346810193385001196395489740571188884873246131813864782581356887110499639544662322008824704830818136660544673293865921754569356583698951612797219776290835161780326945625621758204931298948625885081325268123344406261740843197232316416000","26517014004241498798848003208133111307300592620947908933072661812816683085261359696887064436611747292468717739609776825664344064024535028242737616786238200200498291226984541942836459188328346609549239724653950302145388877472274074665166631509490297630344351573245265440164082334092997307729007429218385933622623935704482371360985836659823269511115937443161532987660855490906546130131716829909388620539153152/5348257529530073524280989257577050878033239486885664777340947102417077875628238501791711336803418503616042922880218860266611595594400020206192599559925169589023339295256084579966533260861249529670141854632965231468533448709363477120437277477668173149958267956654411822360053335695956270719680086524322530514249891157439878407417971839744392044064720476417844056346174795601710447583861127956455406902139625","71197348290771978405602732839537012310626009318133570890482364371056186523989330157966045289127980687764218363064941391483781008265266963537623770685390148810455244349859354857421474277963009857011653865476081389968122418691934354122230780300833008753686234433642072919923583176333668289998661499146617277981691372057042930131717336250309680764289256080895092/14342680993892886303954853579883363225921109635079605392320944523109187641283117181461662846411912306480691901515655220490850586434947504504317080144378185989596578890875561336496479576651516902048606328604696610314441229321219627021610788398730173161473456954861916116391687748151443335513249810808309201830214153565966339609616397865465842187404632568359375","342401018754023891059352629509715357053454506037284788725127073168445189422181540408896452651232759821766616850264122591225331120588918865882061344322996688880669665450231982002597398732201789017495427566260651180470635467002453249479483900268320570004293679361696197905823690145326531180324429318916092471863347575533714871355651558610515931373080997536792242278529575700808878786732127630024064418468916608/68894647682461956089382461406499759613691148650738957016015844830333168307020284281532026442272618372290646283794122772122665531108484704223311663270836645399554940741928358317884620420886609705267248656765357348477857852684140561714900614303731786621656041881975328169543884661780531057279582784036689401206706069028229798913082362331334839997133771880514515972024899408556517159759907883793675672065360125","190286571838805495686895463752492174798162827967490343625540320679760700551286395956241059969689020885714190883323266375067607282890063444652926151862650426323339187596278760962390404656342309737428214493422028545912504503974763216230927196187743439226243880933947417760147785405444976177822143722569696182520826218120595298059020305548681823408268556482981325/38242608291912408815838081993045123864617058390583394828737640036167893859507494091864963383596867701436244007905770284939991912884465101575490548813894148831966132970730263562113961685364216989999844961688441914455435934703797359360780356482629495214859917249465567846934284121032247250332634283689409883499295469118485912489058982596725212975311140618764288","15345379701153714436938289567639102307887273898834051456693981514956329731572600026866162286097662958712922836383881840211072389867463987895894067288699955858337488812343674818565432780224654423872618380928462939482247900055572079914753652915184313685270722583926261499687728814560680092231526501970431280783177357735398580700300402036873780385926225005561766822479878280891130232036389707452005183370152749056/3080426623087819678602049171756961824196425548529619576972793653585089380165862889092832375934535464160425580449193072125955685099151500755278763306599307218302635233595329082702148677300945556130106197481236122437978375963261172524503625593066102601042060541617791008722569799735202779005407381267021641545644264334109052258081225159748043792288699674153722046659880085850980843460715080965607434114275256125","36443601662144279337033484452272105547257065463167427418525882851507989449375452076227652634440476502702584889057376829320548464677623038648843251719168810701744338735202853412651160681259533015293997501525430222870696235141468274274064390273214484922080219643095978640300874086585386991338440415203863901714217818222666715642467237183267303214471854472286478344/7307237990148312451155090506264642657872224684879860008436735430879314349554023096366846856470375025555139219961666754780864835035902856314981482268319886395881809659368275720375576152008289949085453326722156553603358879420820012964006978808113307340321824660484441618487292138631579616351777191144073820686595597986548374588839763719082323114663844043046087375","1575294930860663922843149113097927168024893739962464327016763741314068438447271326302129681931564068796631337571133444163024224071270063174829664848259482066723104251718808936762938249028582992557822551950212098797718627418782376027133576209718376784834456568694813577764300716139817031545408608110880973380162736536313173329973171844528083756524804574267826691156368696436273087171467254161930265910972517504/315498546654512047637461608750018349421492986465373840347519942494904200733840189483934245529561231604050629653992944140351106887747105945984325466452136415067807666316202346895657914393512001212656936450425268507235863153258769360296536050028695266363553141327896064944506216017933135251875087069031098099192325817395958019524956320840925176589616439477134480262100237057953933117460110224783420562744140625","7692057599553133417225997786980128299372439542315125030077404519679450372805989755158000864378924877036225189784045171045139667691524763609840822628706422918926410377185494048355128046783294954373197082851501927410350313585640237550107070936498164597231431242858771457898152684298047446530220873884022213114819556822050178579707210264243087257050468000092842761/1538814487241112760739561704846381585063002784795057066438330325566843108114787083741788078680861495340026117682606689156065008672344707615420501964123121620401073675430690541617930520947170306763541251152854304975131871537939618684186766168376514664494488691311397307418298556185724993104760692216619178358268934740746932420562664234738576394742559349407744000","15190836470550557926140012263310230378455340797095100474720776113765300081463960235506950799869073894127884189857505951314428810423734978025409205413789025720642609035117121385453856877706229778165533034683130064865256448444765902482146676668197546098809055341050873494446231793312407516463576380102073171090898973046611572020564659042146465345334273595086941562425006763960197801018796906114925005810069684480/3035556598829526968124942916297025416522606357010637652635799096498208643970273828496655227572100159414352020909846298817521082538898702393916708804775798552206401718323929157863173504795127180177622667376867235806208021329981136637175570409791442328468473111768140746895005561471574356889047981458002257872092408771959478275534098789982899056118498417649167444480913552548249005268380838457505944462494874581","2923754549090941424546974281011770689534961442264350984393235983189168024079617848190236639328676436485460311093391982825027512234467853098757486086492333410753919927528867817406389678461354257841007722472106464785557179844602277350411593959136520732862935740433163383885526249897183805981219416420390137516812715245569037561966929572448247077578419534651990827044/583599691615378545100950777601104007812792435102945248411439102112424251478512952087517463400054567832353967731887062349496616445419782499817548928078665212077449420216892583997505908858360011413290038645573504472422610780073975450391707084016931661068694024023083417126286468909117254531307085545768412513447197205482285022417611018126886491416133665625891075125","441922815213568908489589193556560586318864326425397702047965372289295962228254658331201274291697626694859414786292266008476137667843874780506886929181835469302142365772763129838217316953835831059616268288399119642314758261677639945004547833810080700127847214666763863338091523753898362699222880772298183760217731228628442782431573977490761665091005756534420789258276075174436091798475838370152192077494553263232/88113527373573049332749294663402406454524640221866407165839162576979477138694653404281889227416977618913249275712917582743426231744980461918772793673202077716234026090308791893409200158969108910565467273725064769890443408324386897017825489615600787634985397885230455168591240328585041836771921929567914891379235573982442311269392541694564675053636078990836491104116280492254795616055818375774141667319774630875","91197133767962483852278456285591810579974783077874307589555559715577599604626819245000672929518645004771085106770784762994476973842713035791487204122653245797126906189270204029735872508462106527240320932458036231707311992868347221176460407003487373754014365881209649632547685657666691589606571865740595829983849941049450471212387808617247938941417000965198123059467/18163679611214677813643455199979098261849405189805364986036911945012016248297645596270602508015864371788974684317239728239847888960155365342460843559658233069613218442910226128113196984801126248862273503232000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","733396724434554481470656964167233690851279923085197144879644750437402627936723531635898542414136943003236478432848965516925891956615111678444586384493883113385335463639674699443808084827715994137410743992130712903997815471369201406683862985677774155704267039224546352414417632475628136460919900347977754644214725932476856018335195927604771408949980634142255497812566866795799230501026066145434755838336990365184/145912495644159810313026420025053989609942265686388630266226856650796088768164358961644113076809511566125145395699271530802891523741636707532676065833327082092521989958971154798465784847092870457944857590623097781956884297103961713362268264159015928554707158239398721416218953003215109202771651993622244788505649098445109438104466256408060944298437033058380804126574878377874459371251056800895394904459469832875","167606423853658713615749101123336326908381619586838606922565378505211386185130407423587264776519589295420758009764678759213587906216543160801059029133457062067529468464636376639307690657945597847080706144898920305379653754920571797771178341550808041652360635584401789901525709166172283390177673009483341826911179861584213314395893323035527116283758445038413646757280/33310364848744488727470761889861069993071965180756187311178124887286133554324042422503263994717993129539448310743598138364172889305532401505890384806078790034557049074169245078416704866867380089103064821732673967120808611636618526737138435792818828990403374766228037003927569643972203993263329403469747342204808360947840103843317533210523853631711601450617095736473","22466735478643771803624909352181817912387732117378538284107485621001246177152644141853604633676939694208131243081227668237716194316732125445041260568403752325416203858329469477774720998849334961751541191761521224644520742691981372782009394826739249604257098248751626957528543558542443122470657230835176462612530464044652140581367666271771882198747182114685116336512604038833327707163107207664705120728068987996560512/4460342260599110071819142535903990817893424192972341872394014748315090430999224107274777695306032783105944721337053156074851240201179902835353097683269298594190456286888326067932777720561181760369783486872666974623910515795208353605697065447942804414120030678603538761538385793829787734830129764152263691296719726909633580318897787729004972323599773548689272008712427926734258913271101899780538635213826239542884125","1972862002066252798837977155272535342727415329632252213508267781390870646909686724955861608046325765650407340102472833428905279473185818898693854344138403744757857928883601637909604082588338869612221777263582365745419719805587946558326048087138197694016224613118304623864709183681172362693106460535117459192992832969130895829916210933710820035479169562970982784580861/391262854245936198649509275719624152305206807261382621390946060636032376057385723427601113233050260359684153963520782285097664628279596618521963444574543409076428660874564026651742234728997339844161514273669735686516761239076529088145208958938384732800586298943281728435207452253170935715239392534815683367114290676180839217919539381651841151674859715992309727232000","25408691426286653276004556426513401767718328640048945917745783225459709487487356095164164652218100925888847689099153320777389381851598236046402124684511968385325107497047025485302333503075085562533472482645023963717347867696861885363417595298751490212495932766872748125111115039311507374363000062513977436921772096443948159289707996749061007112458126301618769295162649600673247799961118662602756889448152517364992/5033870770817104909025512331238419776407331281944565644457345507262881100618908405924951559853352841154730802006750688581603270849880756026262217651685813584900300357685874044482329601894134443542753690048962260914642678445058891387041919581376195543193199307524572671344323361282633828144708683536721118910549933336800461248338059209853766305058943888965279863852107507075916981165164543199352920055389404296875","616565940481577765011174617619124841631603944267256178093555235591208387588894068005162766513720546626399308168923904625210748051788652328072241494243040185611373035059619136712559505023703153194815611268503291295059648269772663939137446253437248541496631852986499688052678961495116210133458596866684413931188348798244969797973846568160999564540652111599082181871436/122025682149627484528651507368051367620578469392233875493556828623437869650284356703295836998178256875766319508797903923638967073687991229708051285605187358616531926112736402511567721889845693991963610192161413692928378708223712791930113386840109729368772998347036090902364801014045328348830748307179590755723160142468563977011700764517880467116766150322736003147125","979882056834583241477188686550561625289337025747787132773853690143359657519481397575561812727394470125172272246774578404543257210124412718725081536309818383310896102958167337333430555168671327992395916735022711297435263157670501117734412587691271084981140167017421900852550822579410636184333142944411060788723653596377015359036101170054828623669169047118551010102258802465554033173968468183492058271365801755986560/193732066620504775981759812703028757608600125742477178751189607602983198559778039141192492589734277739017909889924488699372940787977794555519474807920198944109549023547259912324279741006975129518191081373554817584214941629021088206977532599055014150433581544599721903881284581257812850697423350805715586436114842183295730680490110793225514602133304729484547181740290534056445482186430729398701311563285494964645419","1138059441890428903336718712159907364975959482163004276901676063186939296217569849990951930955270849692775077813359573394435924934540269310629731801376134549169322946310756738187834128956671195358413024062230774111935109203207768898525882417078119314003162592087920755572050993355843681931139257303484526223461840939880759908449181135029327442039666513325916729112853/224777393704985303260433439401503507705148576727364388720387174977154204629336985298082893443205223017966145098064861566754244624732671470935725326043491911142467178027013112527668183783450932992534517827863293825061296257420183669383719043873666284378647952385401303733274771042385666436214517205678674213118374889121542369996042313879258622144464565403138392064000","614262617634904509410555695398092190166323289787703954329113412647342230855826568873946233136303566178604275296873234926652080462259552775254755109931312516616838091852915397846984381183732773411263828600108443070778861986849272794442105107285234729077818614332155890946804257724112143631642663084660012362691100872465148864413343598067567142977134846266425075195546265101720326272502009234689388355365794889444257557504/121200854655310345878069155190734381476914416893031941761756379148622591310152793328910334357724762079139509813381997287954319983165971628429295803162563856219211627796200599196263868781937234015821367575512548522790158101892507996780675863234181700253545912643548466256938936835469646114659598727592390628209362096738343417775009361678599075671154405137663077798419897932404104579113056038271753988669813988076515476125","106893445531995430131837569895703697604978445859412739331042151546083234373443601923983714252801103551874986033841637079479794895452077803182698291822629713500021995241940133037200268381793282318691568234728329378829301282121562652452936297422136961147432559766896143081059518238234777055931999714973999553456547746825617168005650221542417216291412324174772893635832/21070287546583154895102927029203125577385528350171457634203261197137238923923245382493868134869009844094435068284335909266152042903157700510534904847257436666980671067329084409346149729385625108233234542133838924281113454526471855573271066865534480974484196644173270141056470857666632902827625475719738076524047736123182255306429677688129231682978570461273193359375","1112742798776748551928744983308584493817112400536084744850969025063360679785378789764875076529575583792571198510306186417773101346425704969671256564494135750783642910394213727189639661184379341961737135764570942961692159177189753139209638929302928699705042832922774012622017270172331722295881412111812933593370743210214549038212395941675257558442878012136484052827439007483777859391215222647499741572327725689840850048/219121905514652575155579185322367175400669386131891843382447432851122462422992147756333729893028362013318264155489537138133372703295804002840920402482110260590055749843170064921843460498824128274420925357547023876488939786863662801268798987685503391058250902634999352652063668663245829496836853509616873246554292796823779397317819134891873583857621623143253788854530146303641400986028503534408870194989478421253057625","983995170259637497940121707857673268620603982844439610076334749792119502557380361624096960070148627663305171311646851566811683351232268240169848810658089698606409195744471343416197434926513684882439596141368794175162315633192028977211909698595778839497844847281262559899914504080092844816319298286511436690429175757804604673752838786852277255064434365401871903307643705/193579499709739777577893639665643417521924510242119561765932078835121983190401762561436208758210519231103767232899529457440602166918701550386152070813526760823513884391055054076485295945972185402977095815609448651316824455250005505410192101148149284756928250258632031981439345164037318129987999546683113483700660879431801728391911161900686707231543216283304182063038464","30691013076836380319652884848585431917439358375118437035944950498156836885409110087616602043242747413728866747975631727566613593257623099549583001362246649928075859944695060947434885707102684568632559339383409378997568182445019183928058902445738702610436187907199482604867148445903921474846103586253320950728989228898324829144701782792767763794895137313050381112872972806712570559942583906619373159053654481250809168128/6031936190594376585238407905469035598668211679521553144958053099463931217856780171872253258738635531385711702176347575597387389685526098889278278029314982721284691198967204664771178761416891317672705719303088746953644978471289001577698554025410820041497108311270431130911021653860874238212040640737171103823631718483572464361276703378587106311153455557896527384426327053165214814954154328483257657424873929502112904625","33633002641218571027682690377239300567277297301791434890431645909447040830457253186262970747405514897340315490970846553666201190386457221846694126637998462873786334837901001833771510353365825087187582807843940479192544772559118293851131234910638705258664901225494129023244916125545283621607920983287799648992632814461828998517949449887522866259724675318233522060729654796/6603800575190864815125307817934327053530311915572323544225173935830559756077637251538096164499112411672913910767032482188570876526606118068929913515497400397562722669603861813453418621246538114872330536044519242663538662076583511078523573320035084744399535581216815034837553165853576616422592790103728141443697362408727056813977234078214386771115586436985105038873998875","9090550743395453237608373761422705922989356346696677314277463900103283296889488490217663400349361962695279888433677856471792856853109469433355422802663947305503479561493033851081993247556828544308258821557994512133708656174864544457143793106703578476914924328960109390350040954158797845288786321215010324565010420734044059968931558099077932776525974187717655105951506223649947806568984848883258144616897526257038550656/1783219994432430133950472014582130883873515063182143523712063859964133099770763874744121895885645346884371273930727450069430704145915261127061538288702855011220545530326588799412076879985026006593893648911637986337776174555198865379578424838210466703683642106934154603710587408512357351455891557594977191641529451749437270208258072920514602243985184744955476557012910446023911358037761232253615162335336208343505859375","396226087129511787616470716244996965529391571019620342657409150252952330537366537352182763477820160355931003174946109480036915624974500187179367618457008802667089004678925595775249725629495848146669773574395699032785024522882892752987825063933573399691764866816284097232869198405981830106568826923407996367321353003569052419999880089180418759265274331299787468134974811/77651132902382550540201641628906752945078964002822585000619340261128555048628863996784740469908853602590877726845475670110127527874088625214912598995012971630852593597027649154487264595100300180591016581254965295280089902497540043916128232871685159131211213497239568483141031137909208031392464815187505714066235868748950184065923236670418822911614780061752905170944000","1288523130900767412477856952035690867153496584747510253984686336382980221603917538996138294311274357713893956725672062832264871415025750136690143411884111580335458539824573239771267043414225271729141508235839982033182605445173050590151912297720800168687369852280323356691345317649445843078291369394324862039143247087442309135074453265658730028145500871559458519282433012494054724678302957276371418936282902434203225600/252284450515080370603949213084529993395050575951188044032908270470514999880554862449223347761507020354321422785760279154913310488296485989979706208254206974075438570521939826124860483842758137231373182496438568202110337751291106165654945352183167578675508602832478752400011567482434301614269579368882858973850914513870297071866544875650189106576672289734326492492059816669288907018095832842249738081022227281715919357","559506782175368748187145067236900803925823792088293851453005882621173124590368101213652371965740365119375069053747415415684193092607523211636912074219215053809881814859129515591479780669511533619258835199715146655774919418434080807837587396115955105126806762961292429904380132116986984435528307613054828929294602185927322238461491059740342387266084431988727321711184308176/109446188216864405154936682374609448082436347600301765944233278303643744736544109262794383069197271409398615846380701459882784547857821831816863216080069944818453908760476475874319791512782445408136169878207358663250499628002971644430164185578966399908622640732411885568638054229180673755690889471388585521113862492432946110902070139679164884208988489955874131206343597375","365842109776085256207829452385781129402656684569922320812625438296958174120084800064669048017227033185969596458778213306152397766619692644694641677223213185977626940193107608138827771259334379895020377700759789774994800008933137569543592829220611543060189849601828342989023692876182148818363689293009174358168826340010491728715549904988196347316703985894355217235339548078187164176255405596310602921647203428200269666176/71497266937783826306774367225149833789788300609530680399994804704196212252148324552193149332755057982662844988588678159610516634667597707204818296457616315484973288944637139939912166034691155272078609876888919170894915224022982785138928008133003473320018151370486895637936102520353951511525996197267572355782608352075229547764732602557133494648237258900273354364050662921889937355682486287799239363976556848320046933875","59378684894605773397070783936113244261297966863668546282887298999811950599772732377979382620766180662159460666220894896896564357533604962977968843474062092083279165837424210591042655271577974272394203253875965589611493384384257117088518521598379301169916060951350650621757237206805037261878212424267780312614942173870651684587166691539909068452932891649554575072205080763/11593916877920131260484148322810317629326850763057953025674154928920977965095141485536566217873796019006709247938019404840440511433467040918770165456925609124166970862430104329357419669175323763143377917913760028500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","440706629842402075137926797732405268015915199334341565218443748798479563505125605478061664327658137598204192554352688830679475840386882350034150077506804799859586772904929402683276898098601814091430598259347980573084686932949502809068565420937301632494387691284902026088950093888426872222813857928092871267130505744095697172494119689779474840037266295586359244899477781345249657455186847452249040895151288114085352974933708544/85971876318334010542313048056773419567285701852816309711738644074302467763075671531248793080425349570584102078764464196653843973936119037322000695949209283327606280423406302517302874806092835694196353778161663338667091195199032831587897410329509487165187753418615356836636352319310103639079123698118997500068644500893282438137614420288839230827096109835206605385673197123994357393257304049093683934224826006704198171592304125","13220371178312284248107863849287558696210741535280184003301555188086761767176560823174196915070378763091889333203635784037294769747641959860810039816533609140662043493962707445564057197150603226797446933532133956054671103942520142568674339411250001585991743608723150284270101326419464088290151483823061613403673956918458456165552482913079283537536214967294211244361353060/2576683013797055224377707713704899315377379548630511095136568220145808780162671473907260623503552385384482723173913562423316997528913651044277418227616447815609873991028073011738113927961824632868956802271260292075825561646156680740323686126811928372672670917332613490241615850953660246271541592056143611581223295045062157404996958100136358649109693659623847024011265147","1538372578072246705266078247950089219881197139399081643650271348770110178217959856819170325400476655944115553238940541695152110949081675985299189913515975242840473616169775880272489805123124548256666658584129873597192213080038937409046114908719298170078476325423466734429870048697383304265342125425087105698152643145531760853127801123272389134514333752173173161562273487752064850461823726948588221913540799816489566883798912/299566102446745552813544808169323270315327122249327394279467999308669285416179486075255023523726449428151807672528368606071047812907935426406886253284580296349349558797128593446316786243666290649442956134448480598303527795996222703837663605600624271807461605295956674925277658331760000117761013381199880905748188151556184620779667670278558839116983636972680749836497346863752662521197700717702790359162307617024566689271625","281696937222363685333688097915539146272117417024070728031063821781398985795813333650547982965341298894634762289669256129805545549280355643122501181852136332529515756074502902204877664395456278205770206019663082511098956468724829475220996427130295010430751942126263620206886404244432409164651524408198286831329682605959881993845189585640874220032515465014097345759490750307207/54806274927935495596891312029173862473687610099325998583092091915101265393157631244775387832621032230434007486602816972765210205596482942091518459849775458089575743699797096697542306049628939919466378189656065461708686421130956996965004776108499273871055615413566043083634090083096967567965373203683231171594922347812966905149873265654962896456451681332216735396249206784000","228506238533410805238253122961471637501498406104430046727793420497895852412513560203475440156216063574654372726194215013407325207763369075250819386897086702757125418327084312933061738392406321003231853349865003322697360659712771167066453430309997639548320673279964210730701373707765051246595806673865646607841876463608039111252607452843372970797479959213447237540830563469297144446069689149549515457318899981763489792/44418759813188470246596822974281932219088697005123285598909329328419879212164564561558656547678211265529803086702843380128457744445765859393426675396393053094588240457569380155526179040891009717323059641035189017918495485630657360525410506453554255734005459614858972904374739673834145083512160883402151636664208253116362089211658645312778404886460203600762546810897889629330022309705583438699250109493732452392578125","2396110297187570506257836426251930521245117960980667897194680897478996322590925380310917400763581787981992131769075961259393685331523600287377841990678117113566991100720996059187144934569703045966210306282348527729533806882408323961336166190162075154579344185244957673138372347997134388801085788353482276257401005734929059700346687783400772331280644647089520646562669857652648/465370154262863030800729180763091967573522779260407615567563274096037297593764955820626213827962697601334935773802201919483657310282236100250543992334865461800976838791035335861420892967699843608855185710753433852279737724446294443337363478679601049432404435672469098850676302728116369979460222148206944323730586138087862719386327396334468302608499235112520318322763857676375","1188272888075247520453568790651819187486389546755745961952033150576243575862120569399808467067800830890874391487822723879717525264875722720416173276963170672622214121308038530968291758445510982186014289745026439477197148445087614813262170975056866881909056450023324743409114115141145340480846088869807540798073417035168139476153897066325127540609756310068558610112731607522096096821938163134080426356894899245575410494080/230586762395914863625709048789913840511134004337945700368117795195769576856434588144361459740833007125516905017415184787078710001969815416281381427387949263792200577791644278234661952852149216540491852757174842146376788280677956350901082838474705227642420261641783722891948710833898248566893322144435457967452449965772543077421407816225704952270697016152452032506898311260979594550143344971416786595888053149375287120733","1072184299258468249004114536023934869518152618369895613271618698908405514630154819453979477077738526673716264830106745031385951736108376866253955319711026042389282009348594845497252059906901748860111986811345742998968284077119165082435598381810306691078037018432766116865792677955520465319184311529667642995217214507658693259694586107847099911341219913576038605872218680562047/207882129535607118520818565811162643811811563516006836924341123976848022970024793004700710992938987476728640943834012473687892481059618823520721737479364352887178017866425027953255856440099446112508663603319745066750522936408781591578321031173620445865113295407603090322283539974563690157418931060565698315406021569491751612761888641141446406531645379264720684248398299136000","158094023904374464057702010126993231151433474361820266584020400101533651587072432728050776506672527718975042616651177034635188178967462982926261516748842073587981953038445977514446838733557926696939591069712397947055261777416704028506441173540338327591514650398349069348381309688677335132100441905603664282735310299686268721634369502296867409514777359935022301425165750780988231639828675424239931533849896744198012747670272/30626384366513923671063955469537776291182594080083494737341604579575446319190916924682809546024369330706012653799783122328775875399363759308193432327358837772825609356553955350401725689682838701996446404559005896479618311357573203081153855961484398360670837599853294627153740224543175497655414585918231215639906924313779933211774291565425360415684556655021031131349317390382320286092667852173815259422737956767922154798375","12216278924286401897470540169822542417611356797676160128176706721343511598951866107858729405615631246003458062949723290192242594609994613705183460814797527214549142043573863947658832694800184691222426521703728394203722420336773310908687071670107794543022567943478843065246011544888390757810534211554666736239506503613750756246364621509359804902243487113673014588325806249988332/2364584127734680580481708368927921125934330000162935118371174269642831409084634375654239735054363928748162229294829526339927907778510530444646754603322373712788147193691037688552857183116332292048731726305451516954679277320777955342295564000586923227775208580772868590742136150431152495718132142742153643081187691849828217592954519485869135930755646768375299870967864990234375","578939195017447864385837341975558679292903716580114421030538728778491606282153588930983966100514147976321305616196463174070345884292672842497715966933722088536619333912687108737657068701352918582656105418491672377271304970407730786932913490869797471081081431072836814581099271832696990064828717287258860166842791984158634684078346453202928137987930328826212011774670396356151265781053547412633310327737900786639842674288716416/111966291649651600701875186827360807558960817589719096407887999108024557254221008849510152469119211567152616745769256123968832250104006560061907741567034087109512483357851919402017950812795426393415409198268246337542639470834168040295134130657073201020340432236723824670803498949071870597039309004562024033656488150406105175401372709011082725359382691270659245312133919518760328422827067578306005644825927050994860723405473375","8041514821545833865350873212853873042112343327573364523948780030849543753072688526717886590013028227714585965095216381829914996539132359247488639692828639170075726301411777307168737667077730792892326979446426349813642680537699905651125068091362135055902152994216233622733424128982011248923051410141033146604688083721413402395290842738021365861670415833356403364696759583009635/1553937833499559104910551811592138833189892464446761247731330672284191313590708439680460540329836344767557599746234213006493842842879398684745864919973051635127080738612248150108793397855113122368507483429209127035263504194847798809612278864438287815470711036548695032421148125849669175729331459149833945183228413961985381338162155596008680906676498435954178226973272371625984","12059659399309169167301353842123191409306995788633965680414620302285606896146667751472818541537183787935352700725982053536032930866708413010971856856768384974849695774437178790890015242323873769697407411558706626105140596160049735605389301414460825674631122462760014451298494875244754354054447697502521388381253293175367558014453865905104467382184997528879171136492277222127399012368677604910497789360212571238146627048080568400384/2328494054002703067219004484782931471919751585969487160602269605916676223315055450845942763690581877771159615428854802721943114463834992106300185328876910271612375509166975628540839858771078495267566008071532876816826751069408153323840515037497664871689085370699991860738368371510578076683395101062439493831773194498579620513073693022191702398601471237166387045790480861932005012807234071429628725981935147069738988682858417182625","683009426705008850682549700382901603742691705123356866338951397347368059105140826655486518416578697931244347554322654428162554903861783227680935341690740579867651545205562690172425016836559678937794312287639193745517811234257062356826622207475918293015140472942579713388671782202262396642735640315948612572908444501108579457520714632371056288874351015666995549139003946314085696/131769214246522869780429817236150406548549044658474416909806179734873399109656411633488099249198882165279745627038984487365589625562901914030850178330133080409420340227179447548044572594184601425691821617928130423410997853384425373999967759499571890326740433081063424903098252502791477854302204200941376983295622430177445507316706609802292121282957519571162158620971952084486375","1418116259749091420309271913909337143756589314597557128553117870573928055109322864794169592355058370891251425125187770724828108988587888087023982451205475980371440423992838481547236638456717520835668859093413956339261802305597694403381021863258753441889536361061407579332570493634254542013337999844407181346815549594836374497512447969751514466481466717590255369810506813543577735080228718660747940956248427356785784199073569408/273368882980516556922532339653303822104510203916024760371844491705599093435133738774975538364241630079468712981056336655766117378160822393876348755370711942273876284944422610974149712212944211513462921649872232656449940987552227525504529710373144228818606127541937831103642415534318303187393593236209298242574677293352798419428712873685798636474667204083938875672934235816396371477146089168375198141802684403955936431884765625","546411077581845999248238069684194831621691193366466972898628141511422317954477211865167402284211971296286346492698354214043840080181702652132835681239302798339667835439189275457116051279366194551632712819028177402221815140045210690908631767786711675029194359998826252332434573121740830827417293557234891406021102083555472155479148332697839972702631641910213821827820374586459319/105246945889799140338072754365901705544530661781295362563214285953881890233987516230568663143342952799036341701952267011236663118111226623815975847494372076420199418712941018288738590264475520229651370015377608638075866459684692488079223686296541020897904588347083045723167762682959422858996673894180805702299907478685374065593161226849447131100462022089783265346597553176576000","2398330640958841474772606439916070050977544535580605737383995160447105736276950196885906408317628083110923322157113892928963237845914017845444295040924101784423382681801754191301860383927129006953354739240926643562987838836997453985855576402628166875869041032631651591871962852884189548538272285387092843044669499688035134181859376665409767886188304314888753894905317929877238322615838524354191263502347881033855441181420399360/461588070868590122892265681879734295007029130965626060552783760068897000195207878227714842617470320231527222074701444349530952699708435668339712860464533455345665068841333232359698449088497137068713309811942968433868609329301082001752617420002377892756821532220676085014874112083615054550278903960627185675459015343606391094523511117705747842645927349130302549554534056269331809016770715819934970200483161548527932617036185253","6041015879424725383006424536130409209607854044642113747266098198777011981328765528361630516108680392500990580908509403483891763219659726090675140672989657743882183951954294745396417829943469201306594018454995862321821016087416840247422350906412007336103086620396467456181771583200365740253389107968122850063607085957109965406634738740996318415514360956028575560979203447735121436/1161752799109428422288020947061281540989708937450568100764830251908850596717606701047413407636907934320789870175907792017513896999208892282137299070761467096211814586909598705615312819596495636017728313513520193786266452836805291464826226833593878504804389728477191170027729963773716267868284479768397603444919008915279522376004326398403851684761808785381609370767169521034383625","13240077436443988749179508462267267187169441948722358165090554769250505713747934643200804819418670147225695324432684266924694524337920816452346599774452681831320005286326986675907899608537972384924882996757503264622991355949039882526389342174307168805166215838138277557052303430492669193939212362638263582899713198716541723383138016564027766560215944409353427176135895982596327685665844815618402881202645610620284792793420780517248/2544223084468158291883698813309541801455311468982232546872485444308211415529998472787377800559884210837213042932180479090277285630234238711851480232520137856848809986631784843528381778520727465146661792797924458540957133423665746229799675650290296217658444899605236550972043549278128087645211909479009099766619355677984218929672461506691980442071860591767266913041147587815452007726513853820116629482732060593116624596368806566625","1953999166296955830935495158735359200362904181792947794529339487489730042568305997099959302322956898299616194932283060554261566410988618045107398092345476532371402134206635235570281738377188438407703089325315446371127042537576093536896282955524842632708645655481028161471313608974238110718242273935956977555610147714316158486553633871312187084618154014921190595222799283957140353/375191165084882521037046014569185165885459082629136124177286500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"];if(y[o])return oe.quick.apply(null,y[o].split("/"));o=new oe(o);for(var F=80,X=new oe(0),w=o.subtract(new oe(1)),b=o.add(new oe(1)),z=0;z<F;z++){var _e=new oe(2*z+1),tt=Fe.bigpow(w.divide(b),_e),be=_e.clone().invert().multiply(tt);X=X.add(be)}return X.multiply(new oe(2))},factorial:function(o){var y=o%1===0;if(y&&o<0)return NaN;if(!y)return Fe.gamma(o+1);for(var F=1,X=2;X<=o;X++)F=F*X;return F},dfactorial:function(o){if(B(o)){var y=o%2===0,F=y?o/2:(o+1)/2,X=new oe(1);if(y)for(var w=1;w<=F;w++)X=X.multiply(new oe(2).multiply(new oe(w)));else for(var w=1;w<=F;w++)X=X.multiply(new oe(2).multiply(new oe(w)).subtract(new oe(1)))}else X=Math.pow(2,(1+2*o-Math.cos(Math.PI*o))/4)*Math.pow(Math.PI,(Math.cos(Math.PI*o)-1)/4)*Fe.gamma(1+o/2);return X},GCD:function(){for(var o=wt([].slice.call(arguments).map(function(w){return Math.abs(w)})).sort(),y=Math.abs(o.shift()),F=o.length;F-- >0;)for(var X=Math.abs(o.shift());;){if(y%=X,y===0){y=X;break}if(X%=y,X===0)break}return y},QGCD:function(){for(var o=[].slice.call(arguments),y=o[0],F=1;F<o.length;F++){var X=o[F],w=y.isNegative()&&X.isNegative()?-1:1;y=X.gcd(y),w<0&&y.negate()}return y},LCM:function(o,y){return o*y/Fe.GCD(o,y)},pow:function(o,y){return o<0&&Math.abs(y)<1?1/y%2===0?NaN:-Math.pow(Math.abs(o),y):Math.pow(o,y)},factor:function(o){o=Number(o);var y=Math.sign(o);o=Math.abs(o);var F=Fe.ifactor(o),X=new $;X.symbols={},X.group=Ie;for(var w in F){var b=new $(1);b.group=ie,b.value=w,b.power=new $(F[w]),X.symbols[w]=b}return X.updateHash(),o===1&&(X=new $(o)),y<0&&X.negate(),X},sfactor:function(o,y){y=y||{};var F=Math.floor(Math.sqrt(o)),X=L[L.length-1];F>X&&o<1e6&&O(F);for(var w=L.length,b=0;b<w;b++)for(var z=L[b];o%z===0;)o=o/z,y[z]=(y[z]||0)+1;return o>1&&(y[o]=1),y},ifactor:function(o){var y=new a(o);if(o=String(o),o==="0")return{0:1};o=new a(o);var F=o.sign?-1:1;o=o.abs();var X={};if(o.lt("65536"))X=Fe.sfactor(o,X);else{var w=function(be){be.isPrime()?X[be]=(X[be]||0)+1:X=Fe.sfactor(be,X)};try{for(var b=1e3,z=0;!o.abs().equals(1);)if(o.isPrime()){w(o);break}else{let be=function($e){for(var pt=new a($e),vt=2,p=new a($e),N=new a(1);N.equals(1);){for(var we=0;we<=vt&&N.equals(1);we++){if(z++>b)throw new Error("stopping");p=p.pow(2).add(1).mod(o),N=a.gcd(p.minus(pt).abs(),o)}vt=vt*2,pt=p}return N.equals(o)?be($e+1):N};var _e=be(2);w(_e),o=o.divide(_e)}}catch(be){X={},w(y)}}if(F===-1){var tt=Ne(J(X));X["-"+tt]=X[tt],delete X[tt]}return X},boxfactor:function(o,y){y=y||200;for(var F,X,w=Math.floor(5/12*o),b=0,z=!1;F=Math.floor(o/w),X=o%w,X!==0;){if(z)return[o,1];w=Math.max(X,w-X),b++,z=b>y}return[F,w,b]},fib:function(o){var y=Math.sign(o);o=Math.abs(o),y=Be(o)?y:Math.abs(y);for(var F=0,X=1,w=1,b=2;b<=o;b++)w=F+X,F=X,X=w;return w*y},mod:function(o,y){return o%y},integer_part:function(o){var y=Math.sign(o);return y*Math.floor(Math.abs(o))},simpson:function(o,y,F,X){var w=function(p,N,we){var Re=p(N),rt=1e-12;return isNaN(Re)&&(Re=p(we===1?N+rt:N-rt)),Re};X=X||1e-4;var b=Math.abs(Math.floor((F-y)/X));b%2!==0&&b++;for(var z=(F-y)/b,_e=w(o,y,1),tt=!1,be=y+z,$e,pt,vt=1;vt<b;vt++)$e=tt?2:4,pt=$e*w(o,be,1),_e+=pt,tt=!tt,be+=z;return(_e+w(o,be,2))*(z/3)},num_integrate:function(o,y,F,X,w){if(w<0)throw new Error("max depth cannot be negative");function b(tt,be,$e,pt,vt,p,N,we,Re,rt,mt){if(mt.nanEncountered)return NaN;var It,Bt,Rt,jt,Ut,en,Wt,Qt,sn,ln;if(It=$e-be,Bt=tt(be+It*.25),Rt=tt($e-It*.25),isNaN(Bt)){mt.nanEncountered=!0;return}if(isNaN(Rt)){mt.nanEncountered=!0;return}if(jt=It*(pt+4*Bt+vt)/12,Ut=It*(vt+4*Rt+p)/12,en=jt+Ut,ln=(en-N)/15,!(mt.maxDepthCount>1e3*Re))return rt>Re?(mt.maxDepthCount++,en+ln):Math.abs(ln)<we?en+ln:(Wt=be+It*.5,Qt=b(tt,be,Wt,pt,Bt,vt,jt,we*.5,Re,rt+1,mt),isNaN(Qt)?(mt.nanEncountered=!0,NaN):(sn=b(tt,Wt,$e,vt,Rt,p,Ut,we*.5,Re,rt+1,mt),isNaN(sn)?(mt.nanEncountered=!0,NaN):Qt+sn))}function z(tt,be,$e,pt,vt){var p={maxDepthCount:0,nanEncountered:!1};pt===void 0&&(pt=1e-9),vt===void 0&&(vt=45);var N=tt(be),we=tt(.5*(be+$e)),Re=tt($e),rt=(N+4*we+Re)*($e-be)/6,mt=b(tt,be,$e,N,we,Re,rt,pt,vt,1,p);if(p.maxDepthCount>0&&V("integrate-adaptive-simpson: Warning: maximum recursion depth ("+vt+") reached "+p.maxDepthCount+" times"),p.nanEncountered)throw new Error("Function does not converge over interval!");return mt}var _e;try{_e=z(o,y,F,X,w)}catch(tt){return Fe.simpson(o,y,F)}return gt(_e,12)},Ci:function(o){for(var y=20,F=.5772156649015329,X=0,w=1;w<y;w++){var b=2*w;X+=Math.pow(-1,w)*Math.pow(o,b)/(b*Fe.factorial(b))}return Math.log(o)+F+X},Si:function(o){for(var y=20,F=0,X=0;X<y;X++){var w=2*X;F+=Math.pow(-1,X)*Math.pow(o,w+1)/((w+1)*Fe.factorial(w+1))}return F},Ei:function(o){if(Number(o)===0)return-1/0;for(var y=30,F=.5772156649015329,X=0,w=1;w<y;w++)X+=Math.pow(o,w)/(w*Fe.factorial(w));return F+Math.abs(Math.log(o))+X},Shi:function(o){for(var y=30,F=0,X,w,b=0;b<y;b++)X=2*b,w=X+1,F+=Math.pow(o,w)/(w*w*Fe.factorial(X));return F},Chi:function(o){var y,F,X;return y=.001,F=.5772156649015329,X=function(w){return(Math.cosh(w)-1)/w},Math.log(o)+F+Fe.num_integrate(X,.002,o,y)},Li:function(o){return Fe.Ei(Fe.bigLog(o))},gamma_incomplete:function(o,w){for(var F=o-1,X=0,w=w||0,b=0;b<F;b++)X+=Math.pow(w,b)/Fe.factorial(b);return Fe.factorial(F)*Math.exp(-w)*X},step:function(o){return o>0?1:o<0?0:.5},rect:function(y){var y=Math.abs(y);return y===.5?y:y>.5?0:1},sinc:function(o){return o.equals(0)?1:Math.sin(o)/o},tri:function(o){return o=Math.abs(o),o>=1?0:1-o},nthroot:function(o,y){if(o instanceof oe||(o=new oe(o.toString())),y instanceof oe||(y=new oe(y.toString())),y.equals(1))return o;var F=o.divide(new oe(2)),X=new oe(1e-15),w,b,z,_e=y.clone().invert(),tt=y.subtract(new oe(1));do{var be=Fe.bigpow(F,tt),$e=_e.multiply(o.divide(be).subtract(F)).toDecimal(25);if(w=oe.create($e),z)break;F=F.add(w);var $e=w.toDecimal();z=b?b===$e:!1,b=$e}while(w.abs().gte(X));return F},sqrt:function(o){o instanceof oe||(o=new oe(o));var y,F,X,w,b=0,z=!1,_e=new oe(1e-20);y=o.divide(new oe(2));var tt=1e3;do{if(b>tt)throw new Error("Unable to calculate square root for "+o);y=y.add(o.divide(y)).divide(new oe(2)),y=new oe(y.decimal(30)),F=o.subtract(y.multiply(y)),w=X?X.equals(F):!1,(F.clone().abs().lessThan(_e)||w)&&(z=!0),X=F,b++}while(!z);return y}};_.FUNCTION_MODULES.push(Fe),Ft(Fe),Math.sign=Math.sign||function(o){return o=+o,o===0||isNaN(o)?o:o>0?1:-1},Math.cosh=Math.cosh||function(o){var y=Math.exp(o);return(y+1/y)/2},Math.sech=Math.sech||function(o){return 1/Math.cosh(o)},Math.csch=Math.csch||function(o){return 1/Math.sinh(o)},Math.coth=Math.coth||function(o){return 1/Math.tanh(o)},Math.sinh=Math.sinh||function(o){var y=Math.exp(o);return(y-1/y)/2},Math.tanh=Math.tanh||function(o){if(o===1/0)return 1;if(o===-1/0)return-1;var y=Math.exp(2*o);return(y-1)/(y+1)},Math.asinh=Math.asinh||function(o){return o===-1/0?o:Math.log(o+Math.sqrt(o*o+1))},Math.acosh=Math.acosh||function(o){return Math.log(o+Math.sqrt(o*o-1))},Math.atanh=Math.atanh||function(o){return Math.log((1+o)/(1-o))/2},Math.log10=Math.log10||function(o){return Math.log(o)*Math.LOG10E},Math.trunc=Math.trunc||function(o){return isNaN(o)?NaN:o>0?Math.floor(o):Math.ceil(o)};function ft(o,y,F,X){var w=y==="hash",b=void 0,z=w?void 0:y,_e=z==="decimal"||z==="decimals";_e&&typeof X=="undefined"&&(X=_.DEFAULT_DECP);function tt(Wt){switch(y){case"decimals":case"decimal":return b=b||function(Fr){return!1},Wt.valueOf();case"recurring":b=b||function(Fr){return Fr.indexOf("'")!==-1};var Mn=Wt.toString(),xn=/^-?\d+(?:\/\d+)?$/.exec(Mn);if(xn.length===0)return Mn;var An=xn[0].split("/"),Qt=!1,sn=Number(An[0]);sn<0&&(sn=-sn,Qt=!0);var ln=Number(An[1]);ln||(ln=1);var $n=Math.floor(sn/ln),dn=10*(sn-$n*ln);for($n=$n.toString()+".";dn&&dn<ln;)dn*=10,$n+="0";for(var En="",vn=[],Dt=0;;){if(typeof vn[dn]!="undefined"){var tn=En.slice(0,vn[dn]),hn=En.slice(vn[dn]),pn=$n+tn+"'"+hn+"'";return(Qt?"-":"")+pn.replace("'0'","").replace(/\.$/,"")}var Nn=Math.floor(dn/ln),wn=dn-Nn*ln;vn[dn]=Dt,En+=Nn.toString(),Dt+=1,dn=10*wn}case"mixed":b=b||function(Fr){return Fr.indexOf("/")!==-1};var Mn=Wt.toString(),xn=/^-?\d+(?:\/\d+)?$/.exec(Mn);if(xn.length===0)return Mn;var An=xn[0].split("/"),Jn=new a(An[0]),ei=new a(An[1]);ei.equals(0)&&(ei=new a(1));var Xr=Jn.divmod(ei),$n=Xr.quotient,Ri=Xr.remainder,yi=An[0][0]==="-"||$n.equals(0)||Ri.equals(0)?"":"+";return($n.equals(0)?"":$n.toString())+yi+(Ri.equals(0)?"":Ri.toString()+"/"+An[1]);case"scientific":return b=b||function(Fr){return!1},new zt(Wt.valueOf()).toString(_.SCIENTIFIC_MAX_DECIMAL_PLACES);default:return b=b||function(Fr){return Fr.indexOf("/")!==-1},Wt.toString()}}if(me(o)){var be="",$e="",pt="",vt=o.group||F,p=o.value;if(!w){var N=tt(o.multiplier);N=="-1"&&String(o.multiplier)==="-1"&&(pt="-",N="1"),N!="1"&&(be=N);var we=o.power?tt(o.power):"";we!="1"&&(me(we)?$e=ft(we,z):$e=we)}switch(vt){case R:be="";var Re=X&&_e?o.multiplier.toDecimal(X):tt(o.multiplier);p=String(o.multiplier)=="-1"?"1":Re,$e="";break;case De:p=o.collectSymbols().map(function(Wt){var Qt=ft(Wt,z,F,X);return Qt=="0"&&(Qt=""),Qt}).sort().join("+").replace(/\+\-/g,"-");break;case Qe:p=o.collectSymbols().map(function(Wt){var Qt=ft(Wt,z,F,X);return Qt=="0"&&(Qt=""),Qt}).sort().join("+").replace(/\+\-/g,"-");break;case Ie:p=o.collectSymbols(function(Wt){var Qt=Wt.group;return(Qt===De||Qt===Qe)&&Wt.power.equals(1)&&Wt.multiplier.equals(1)?ue(ft(Wt,z)):ft(Wt,z)}).join("*");break;case de:var rt=o.previousGroup,mt=o.power.group;rt===De&&(p=o.collectSymbols(ft,z).join("+").replace("+-","-")),!(rt===R||rt===K||rt===ve)&&!w&&(p=ue(p)),(mt===Qe||mt===Ie||mt===De||o.power.multiplier.toString()!="1")&&$e&&($e=ue($e));break}if(vt===ve&&(p=o.fname+ue(o.args.map(function(Wt){return ft(Wt,z)}).join(","))),vt===ve&&o.fname in M){var It=ft(o.args[0]),Bt=ft(o.args[1]);o.args[0].isComposite()&&(It=ue(It)),o.args[1].isComposite()&&(Bt=ue(Bt)),p=It+M[o.fname]+Bt}$e&&vt!==de&&b($e)&&($e=ue($e)),((vt===Qe||vt===De)&&(be&&be!="1"||pt==="-")||(vt===Ie||vt===Qe||vt===De)&&$e&&$e!="1"||!w&&vt===ie&&p==-1||o.fname===Te)&&(p=ue(p)),X&&(y==="decimal"||y==="decimals"&&be)&&(be=gt(be,X));var Rt=pt+be;if(be&&b(be)&&(Rt=ue(Rt)),$e<0&&($e=ue($e)),be&&(Rt=Rt+"*"),$e){if(p==="e"&&_.E_TO_EXP)return Rt+"exp"+ue($e);$e=_.POWER_OPERATOR+$e}vt===de&&p.charAt(0)==="-"&&(p=ue(p));var jt=Rt+p;return o.parens&&(jt=ue(jt)),jt+$e}else if(Ct(o)){for(var Ut=o.elements.length,Rt=[],en=0;en<Ut;en++)Rt.push(o.elements[en].text(y));return"["+Rt.join(",")+"]"}else try{return o.toString()}catch(Wt){return""}}function St(o){if(ye(o))return[o];for(var y=o,F=1,X=[],w=2220446049250313e-31;F<y;){var b=o/F,z=Math.floor(b),_e=b-z;if(_e<=w&&F>1){if(ye(F)&&(L.indexOf(F)===-1&&L.push(F),X.push(F)),ye(z)){X.push(z);break}y=z}F++}return X.sort(function(tt,be){return tt-be})}St(314146179365);function Vt(o){this.symbol=o}Vt.getExpression=function(o,y){(o==="last"||!o)&&(o=j.length),o==="first"&&(o=1);var F=o-1,X=j[F],w=X&&new Vt(X);return w},Vt.prototype={text:function(o,y){return y=y||_.EXPRESSION_DECP,o=o||"decimals",this.symbol.text_?this.symbol.text_(o):ft(this.symbol,o,void 0,y)},latex:function(o){return this.symbol.latex?this.symbol.latex(o):xt.latex(this.symbol,o)},valueOf:function(){return this.symbol.valueOf()},evaluate:function(){if(Ct(this.symbol)&&this.symbol.dimensions()===0)return this;var o=arguments[0],y,F=1;typeof o=="string"?y=o.charAt(0)==="%"?Vt.getExpression(o.substr(1)).text():o:o instanceof Vt||me(o)?y=o.text():(y=this.symbol.text(),F--);var X=arguments[F]||{},w=new Vt(Ze("PARSE2NUMBER",function(){return r.parse(y,X)},!0));return w},buildFunction:function(o){return Jt.build(this.symbol,o)},isNumber:function(){return Lt(this.symbol)},isInfinity:function(){return Math.abs(this.symbol.multiplier)===1/0},isImaginary:function(){return Ye(r.parse(this.symbol)).isImaginary()},variables:function(){return Le(this.symbol)},toString:function(){try{return P(this.symbol)?"["+this.symbol.toString()+"]":this.symbol.toString()}catch(o){return""}},toDecimal:function(o){_.precision=o;var y=ft(this.symbol,"decimals");return _.precision=void 0,y},isFraction:function(){return yt(this.symbol)},isPolynomial:function(){return this.symbol.isPoly()},sub:function(o,y){return new Vt(this.symbol.sub(r.parse(o),r.parse(y)))},operation:function(o,y){return Ue(y)?y=y.symbol:me(y)||(y=r.parse(y)),new Vt(r[o](this.symbol.clone(),y.clone()))},add:function(o){return this.operation("add",o)},subtract:function(o){return this.operation("subtract",o)},multiply:function(o){return this.operation("multiply",o)},divide:function(o){return this.operation("divide",o)},pow:function(o){return this.operation("pow",o)},expand:function(){return new Vt(r.expand(this.symbol))},each:function(o,y){if(this.symbol.each)this.symbol.each(o,y);else if(P(this.symbol))for(var y=0;y<this.symbol.length;y++)o.call(this.symbol,this.symbol[y],y);else o.call(this.symbol)},eq:function(o){me(o)||(o=r.parse(o));try{var y=r.subtract(this.symbol.clone(),o);return y.equals(0)}catch(F){return!1}},lt:function(o){me(o)||(o=r.parse(o));try{var y=Ye(r.subtract(this.symbol.clone(),o));return y.lessThan(0)}catch(F){return!1}},gt:function(o){me(o)||(o=r.parse(o));try{var y=Ye(r.subtract(this.symbol.clone(),o));return y.greaterThan(0)}catch(F){return!1}},gte:function(o){return this.gt(o)||this.eq(o)},lte:function(o){return this.lt(o)||this.eq(o)},numerator:function(){return new Vt(this.symbol.getNum())},denominator:function(){return new Vt(this.symbol.getDenom())},hasFunction:function(o){return this.symbol.containsFunction(o)},contains:function(o){return this.symbol.contains(o)}},Vt.prototype.toTeX=Vt.prototype.latex;function zt(o){return this instanceof zt?(o=String(typeof o=="undefined"?0:o),o.startsWith("-")?(this.sign=-1,o=o.substr(1,o.length)):this.sign=1,zt.isScientific(o)?this.fromScientific(o):this.convert(o),this):new zt(o)}zt.prototype={fromScientific:function(o){var y=String(o).toLowerCase().split("e");return this.coeff=y[0],this.exponent=y[1],this},convert:function(o){var y=o.split("."),F=y[0]||"",X=y[1]||"";F=zt.removeLeadingZeroes(F),X=zt.removeTrailingZeroes(X);var w=F.length,b=F+X,z=zt.leadingZeroes(b).length;this.exponent=w-(z+1);var _e=zt.removeLeadingZeroes(b);this.coeff=_e.charAt(0)+"."+(_e.substr(1,_e.length)||"0");var tt=this.coeff.split(".")[1]||"";return this.decp=tt==="0"?0:tt.length,this.dec=X,this.wholes=F,this},round:function(o){var y=this.copy();if(o=Number(o),o===0)y.coeff=y.coeff.charAt(0);else{var F=this.coeff.substring(0,o+1),X=this.coeff.substring(o+1,o+3),w=X.charAt(0);X.charAt(1)>4&&w++,y.coeff=F+w}return y},copy:function(){var o=new zt(0);return o.coeff=this.coeff,o.exponent=this.exponent,o.sign=this.sign,o},toString:function(o){var y;if(_.SCIENTIFIC_IGNORE_ZERO_EXPONENTS&&this.exponent===0&&this.decp<o)this.decp===0?y=this.wholes:y=this.coeff;else{var F=typeof o=="undefined"?this.coeff:zt.round(this.coeff,Math.min(o,this.decp||1));y=this.exponent===0?F:F+"e"+this.exponent}return(this.sign===-1?"-":"")+y}},zt.isScientific=function(o){return/\d+\.?\d*e[\+\-]*\d+/i.test(o)},zt.leadingZeroes=function(o){var y=o.match(/^(0*).*$/);return y?y[1]:""},zt.removeLeadingZeroes=function(o){var y=o.match(/^0*(.*)$/);return y?y[1]:""},zt.removeTrailingZeroes=function(o){var y=o.match(/0*$/);return y?o.substring(0,o.length-y[0].length):""},zt.round=function(o,y){var F=gt(o,y),X=String(F).split(".").pop(),w=y-X.length;return w>0&&(F=F+new Array(w+1).join(0)),F};function oe(o){if(o instanceof oe)return o;if(o===void 0)return this;try{if(B(o))try{this.num=a(o),this.den=a(1)}catch(F){return oe.simple(o)}else{var y=o instanceof l?kt.quickConversion(o):kt.convert(o);this.num=new a(y[0]),this.den=new a(y[1])}}catch(F){return oe.simple(o)}}oe.create=function(o){if(o instanceof oe)return o;o=o.toString();var y=o.charAt(0)==="-";y&&(o=o.substr(1,o.length-1));var F=new oe(o);return y&&F.negate(),F},oe.isFrac=function(o){return o instanceof oe},oe.quick=function(o,y){var F=new oe;return F.num=new a(o),F.den=new a(y),F},oe.simple=function(o){for(var y=String(le(o)),F=y.split("."),X=F.join(""),w=1,b=(F[1]||"").length,z=0;z<b;z++)w+="0";var _e=oe.quick(X,w);return _e.simplify()},oe.prototype={multiply:function(o){if(this.isOne())return o.clone();if(o.isOne())return this.clone();var y=this.clone();return y.num=y.num.multiply(o.num),y.den=y.den.multiply(o.den),y.simplify()},divide:function(o){if(o.equals(0))throw new T("Division by zero not allowed!");return this.clone().multiply(o.clone().invert()).simplify()},subtract:function(o){return this.clone().add(o.clone().neg())},neg:function(){return this.num=this.num.multiply(-1),this},add:function(o){var y=this.den,F=o.den,X=this.clone(),w=X.num,b=o.num;return y.equals(F)?X.num=w.add(b):(X.num=w.multiply(F).add(b.multiply(y)),X.den=y.multiply(F)),X.simplify()},mod:function(o){var y=this.clone(),F=o.clone();return y.num=y.num.multiply(F.den),y.den=y.den.multiply(F.den),F.num=F.num.multiply(this.den),F.den=F.den.multiply(this.den),y.num=y.num.mod(F.num),y.simplify()},simplify:function(){var o=a.gcd(this.num,this.den);return this.num=this.num.divide(o),this.den=this.den.divide(o),this},clone:function(){var o=new oe;return o.num=new a(this.num),o.den=new a(this.den),o},decimal:function(o){var y=this.num.isNegative()?"-":"";if(this.num.equals(this.den))return"1";o=o||_.PRECISION,o++;for(var F=[],X=this.num.abs(),w=this.den,b=0;b<o;b++){var z=X.divide(w),_e=X.subtract(z.multiply(w));if(F.push(z),_e.equals(0))break;X=_e.times(10)}var tt=F.shift();if(F.length===0)return y+tt.toString();if(b===o){for(var be=[],b=0;b<2;b++)be.unshift(F.pop());F.push(Math.round(be.join(".")))}var $e=tt.toString()+"."+F.join("");return y+$e},toDecimal:function(o){return o=o||_.PRECISION,o?this.decimal(o):this.num/this.den},toLatex:function(o){var w,b;o=o||_.PRECISION;let y=_.SCIENTIFIC,F=this.num/this.den;function X(z){if(!z.contains("."))return z;for(;z.endsWith("0");)z=z.substring(0,z.length-1);return z.endsWith(".")&&(z=z.substring(0,z.length-1)),z}if(o){if(F===0)return"0";let z=((w=F.toString().split(".")[1])==null?void 0:w.length)||0,_e=z>o?F.toFixed(o):F.toString();if(y){let tt=Math.abs(F),be=Math.floor(Math.log10(tt)),$e=be>0?tt/Math.pow(10,be):tt*Math.pow(10,-be);z=((b=$e.toString().split(".")[1])==null?void 0:b.length)||0,F<0&&($e=-$e);let pt=z>o?X($e.toFixed(o)):$e.toString();return be!==0&&Math.abs(be)>3||o+be+1<z?`${pt} \\times 10^{${be}}`:_e}else return _e}else return this.num/this.den},qcompare:function(o){return[this.num.multiply(o.den),o.num.multiply(this.den)]},equals:function(o){isNaN(o)||(o=new oe(o));var y=this.qcompare(o);return y[0].equals(y[1])},absEquals:function(o){isNaN(o)||(o=new oe(o));var y=this.qcompare(o);return y[0].abs().equals(y[1])},greaterThan:function(o){isNaN(o)||(o=new oe(o));var y=this.qcompare(o);return y[0].gt(y[1])},gte:function(o){return this.greaterThan(o)||this.equals(o)},lte:function(o){return this.lessThan(o)||this.equals(o)},lessThan:function(o){isNaN(o)||(o=new oe(o));var y=this.qcompare(o);return y[0].lt(y[1])},isInteger:function(){return this.den.equals(1)},negate:function(){return this.num=this.num.multiply(-1),this},invert:function(){var o=this.den;if(!this.num.equals(0)){var y=this.num.isNegative();this.den=this.num.abs(),this.num=o,y&&(this.num=this.num.multiply(-1))}return this},isOne:function(){return this.num.equals(1)&&this.den.equals(1)},sign:function(){return this.num.isNegative()?-1:1},abs:function(){return this.num=this.num.abs(),this},gcd:function(o){return oe.quick(a.gcd(o.num,this.num),a.lcm(o.den,this.den))},toString:function(){return this.den.equals(1)?this.num.toString():this.num.toString()+"/"+this.den.toString()},valueOf:function(){if(_.USE_BIG)return new l(this.num.toString()).div(new l(this.den.toString()));var o=this.num/this.den;return o},isNegative:function(){return this.toDecimal()<0}};function $(o){var y=o==="Infinity";return this instanceof $?(o instanceof l&&(o=o.toString()),/^(\-?\+?\d+)\.?\d*e?\-?\+?\d*/i.test(o)||o instanceof l?(this.group=R,this.value=ee,this.multiplier=new oe(o)):(this.group=K,Q(o),this.value=o,this.multiplier=new oe(1),this.imaginary=o===_.IMAGINARY,this.isInfinity=y),this.power=new oe(1),this):new $(o)}$.imaginary=function(){var o=new $(_.IMAGINARY);return o.imaginary=!0,o},$.infinity=function(o){var y=new $("Infinity");return o===-1&&y.negate(),y},$.shell=function(o,y){var F=new $(y);return F.group=o,F.symbols={},F.length=0,F},$.unwrapSQRT=function(o,y){var F=o.power;if(o.fname===ze&&(o.isLinear()||y)){var X=o.args[0].clone();X.power=X.power.multiply(new oe(.5)),X.multiplier=X.multiplier.multiply(o.multiplier),o=X,y&&(o.power=F.multiply(new oe(.5)))}return o},$.hyp=function(o,y){return o=o||new $(0),y=y||new $(0),r.sqrt(r.add(r.pow(o.clone(),new $(2)),r.pow(y.clone(),new $(2))))},$.toPolarFormArray=function(o){var y,F,X,w;return y=o.realpart(),F=o.imagpart(),X=$.hyp(y,F),w=y.equals(0)?r.parse("pi/2"):r.trig.atan(r.divide(F,y)),[X,w]},$.unwrapPARENS=function(o){if(o.fname===""){var y=o.args[0];return y.power=y.power.multiply(o.power),y.multiplier=y.multiplier.multiply(o.multiplier),o.fname===""?$.unwrapPARENS(y):y}return o},$.create=function(o,y){return y=y===void 0?1:y,r.parse("("+o+")^("+y+")")},$.prototype={getNth:function(o){var y=Ye(r.pow(r.parse(this.multiplier),r.parse(o).invert())),F=r.parse(gt(y)),X=Ye(r.pow(F,r.parse(o)));return X.equals(r.parse(this.multiplier))?F:y},isToNth:function(o){var y=this.getNth(o),F=B(y),X;return this.group===Ie?(X=!0,this.each(function(w){var b=w.isToNth(o);b||(X=!1)})):X=this.group===R?!0:B(r.divide(r.parse(this.power),r.parse(o))),F&&X},isSquare:function(){return this.isToNth(2)},isCube:function(){return this.isToNth(3)},isSimple:function(){return this.power.equals(1)&&this.multiplier.equals(1)},powSimp:function(){if(this.group===Ie){var o=[],F=this.multiplier.sign();this.each(function(pt){var vt=pt.power;if(me(vt)||vt.equals(1))return this.clone();o.push(vt)});var y=new oe(Ne(o)),F=this.multiplier.sign(),X=this.multiplier.clone().abs(),w=Fe.ifactor(X),b=new oe(1),z=new oe(1);for(var _e in w){var tt=new oe(w[_e]);tt.lessThan(y)||(tt=tt.divide(y).subtract(new oe(1)),z=z.multiply(new oe(_e))),b=b.multiply(r.parse(ue(_e)+"^"+ue(tt)).multiplier)}var be=new $(z);this.each(function(pt){pt=pt.clone(),pt.power=pt.power.divide(y),be=r.multiply(be,pt)});var $e=r.symfunction(Te,[be]);return $e.power=y,$e.multiplier=F<0?b.negate():b,$e}return this.clone()},equals:function(o){return me(o)||(o=new $(o)),this.value===o.value&&this.power.equals(o.power)&&this.multiplier.equals(o.multiplier)&&this.group===o.group},abs:function(){var o=this.clone();return o.multiplier.abs(),o},gt:function(o){return me(o)||(o=new $(o)),this.isConstant()&&o.isConstant()&&this.multiplier.greaterThan(o.multiplier)},gte:function(o){return me(o)||(o=new $(o)),this.equals(o)||this.isConstant()&&o.isConstant()&&this.multiplier.greaterThan(o.multiplier)},lt:function(o){return me(o)||(o=new $(o)),this.isConstant()&&o.isConstant()&&this.multiplier.lessThan(o.multiplier)},lte:function(o){return me(o)||(o=new $(o)),this.equals(o)||this.isConstant()&&o.isConstant()&&this.multiplier.lessThan(o.multiplier)},isPoly:function(o){var y=this.group,F=this.power;if(!B(F)||F<0)return!1;if(y===R||y===K||this.isConstant(!0))return!0;var X=Le(this);if(y===Ie&&X.length===1){var w=X[0];if(!w)return!0;for(var b in this.symbols){var z=this.symbols[b];if(z.group===ve&&!z.args[0].isConstant()||!z.contains(w)&&!z.isConstant(!0))return!1}return!0}if(this.isComposite()||y===Ie&&o){if(!o&&X.length>1)return!1;for(var b in this.symbols)if(!this.symbols[b].isPoly(o))return!1;return!0}else return!1},stripVar:function(o,y){var F;return(this.group===De||this.group===K)&&this.value===o?F=new $(y?0:this.multiplier):this.group===Ie&&this.isLinear()?(F=new $(1),this.each(function(X){X.contains(o,!0)||(F=r.multiply(F,X.clone()))}),F.multiplier=F.multiplier.multiply(this.multiplier)):this.group===Qe&&!this.isLinear()?F=new $(this.multiplier):this.group===Qe&&this.isLinear()?(F=new $(0),this.each(function(X){if(!X.contains(o)){var w=X.clone();w.multiplier=w.multiplier.multiply(this.multiplier),F=r.add(F,w)}}),F.equals(0)&&(F=new $(this.multiplier))):this.group===de&&this.power.contains(o,!0)?F=new $(this.multiplier):this.group===ve&&this.contains(o)?F=new $(this.multiplier):F=this.clone(),F},toArray:function(o,y){y=y||{arr:[],add:function(_e,tt){var be=this.arr[tt];this.arr[tt]=be?r.add(be,_e):_e}};var F=this.group;if(F===K&&this.contains(o))y.add(new $(this.multiplier),this.power);else if(F===Ie){var X=this.stripVar(o),w=r.divide(this.clone(),X.clone()),b=w.isConstant()?0:w.power;y.add(X,b)}else if(F===De&&this.value===o)this.each(function(_e,tt){y.add(_e.stripVar(o),tt)});else if(F===Qe)this.each(function(_e){_e.toArray(o,y)});else{if(this.contains(o))throw new G("Cannot convert to array! Exiting");y.add(this.clone(),0)}y=y.arr;for(var z=0;z<y.length;z++)y[z]||(y[z]=new $(0));return y},hasFunc:function(o){var y=this.group===ve||this.group===de;if(y&&!o||y&&this.contains(o))return!0;if(this.symbols){for(var F in this.symbols)if(this.symbols[F].hasFunc(o))return!0}return!1},sub:function(o,y){o=me(o)?o.clone():r.parse(o),y=me(y)?y.clone():r.parse(y),(o.group===R||o.group===ie)&&f("Cannot substitute a number. Must be a variable");var F=!1,X=o.multiplier.equals(1),w=this.multiplier.clone(),b;if(this.value===o.value&&(this.group!==De&&o.group!==De||this.group===De&&o.group===De))(X||o.multiplier.equals(this.multiplier))&&(o.isLinear()?b=y:o.power.equals(this.power)&&(b=y,F=!0),o.multiplier.equals(this.multiplier)&&(w=new oe(1)));else if(this.group===Ie||this.previousGroup===Ie)b=new $(1),this.each(function(p){var N=r.parse(p.sub(o,y));b=r.multiply(b,N)});else if(this.isComposite()){var z=this.clone();if(o.isComposite()&&z.isComposite()&&z.isLinear()&&o.isLinear()){var _e=function(p,N){for(var we in p.symbols){var Re=p.symbols[we];if(Re.isComposite()&&_e(Re,N)||Re.equals(N))return!0}return!1};for(var tt in o.symbols)if(!_e(z,o.symbols[tt]))return z.clone();b=r.add(r.subtract(z.clone(),o),y)}else b=new $(0),z.each(function(p){b=r.add(b,p.sub(o,y))})}else if(this.group===de)b=r.parse(this.value).sub(o,y);else if(this.group===ve){for(var be=[],$e=0;$e<this.args.length;$e++){var pt=this.args[$e];me(pt)||(pt=r.parse(pt)),be.push(pt.sub(o,y))}b=r.symfunction(this.fname,be)}if(b){if(!F){var vt=this.group===de?this.power.sub(o,y):r.parse(this.power);b=r.pow(b,vt)}return b.multiplier=b.multiplier.multiply(w),b}return this.clone()},isMonomial:function(){if(this.group===K)return!0;if(this.group===Ie){for(var o in this.symbols)if(this.symbols[o].group!==K)return!1}else return!1;return!0},isPi:function(){return this.group===K&&this.value==="pi"},sign:function(){return this.multiplier.sign()},isE:function(){return this.value==="e"},isSQRT:function(){return this.fname===ze},isConstant:function(o,y){if(y&&this.group===Ie){for(var F in this.symbols)if(this.symbols[F].isConstant(!0))return!0}if(o==="functions"&&this.isComposite()){var X=!0;return this.each(function(b){b.isConstant(o,y)||(X=!1)},!0),X}if(o==="all"&&(this.isPi()||this.isE()))return!0;if(o&&this.group===ve){for(var w=0;w<this.args.length;w++)if(!this.args[w].isConstant(o))return!1;return!0}return o?Lt(this):this.value===ee},isImaginary:function(){if(this.imaginary)return!0;if(this.symbols){for(var o in this.symbols)if(this.symbols[o].isImaginary())return!0}return!1},realpart:function(){if(this.isConstant())return this.clone();if(this.imaginary)return new $(0);if(this.isComposite()){var o=new $(0);return this.each(function(y){o=r.add(o,y.realpart())}),o}else if(this.isImaginary())return new $(0);return this.clone()},imagpart:function(){if(this.group===K&&this.isImaginary())return new $(this.multiplier);if(this.isComposite()){var o=new $(0);return this.each(function(y){o=r.add(o,y.imagpart())}),o}return this.group===Ie?this.stripVar(_.IMAGINARY):new $(0)},isInteger:function(){return this.isConstant()&&this.multiplier.isInteger()},isLinear:function(o){if(o){if(this.isConstant())return!0;if(this.group===K)return this.value===o?this.power.equals(1):!0;if(this.isComposite()&&this.power.equals(1)){for(var y in this.symbols)if(!this.symbols[y].isLinear(o))return!1;return!0}return this.group===Ie&&this.symbols[o]?this.symbols[o].isLinear(o):!1}else return this.power.equals(1)},containsFunction:function(o){if(typeof o=="string"&&(o=[o]),this.group===ve&&o.indexOf(this.fname)!==-1)return!0;if(this.symbols){for(var y in this.symbols)if(this.symbols[y].containsFunction(o))return!0}return!1},multiplyPower:function(o){if(this.group===R&&this.multiplier.equals(1))return this;var y=this.power;if(this.group!==de&&o.group===R){var F=o.multiplier;this.group===R&&!F.isInteger()&&this.convert(ie),this.power=y.equals(1)?F.clone():y.multiply(F),this.group===ie&&B(this.power)&&(this.value=Math.pow(this.value,this.power),this.toLinear(),this.convert(R))}else this.group!==de&&(y=new $(y),this.convert(de)),this.power=r.multiply(y,o);return this},setPower:function(o,y){if(this.group===R&&this.multiplier.equals(1))return this;if(this.group===de&&!me(o))this.group=this.previousGroup,delete this.previousGroup,this.group===R?(this.multiplier=new oe(this.value),this.value=ee):this.power=o;else{var F=!1;me(o)&&(o.group===R?o=o.multiplier:F=!0);var X=F?de:ie;this.power=o,this.group===R&&X&&this.convert(X,y)}return this},isInverse:function(){return this.group===de?this.power.multiplier.lessThan(0):this.power<0},clone:function(o){var y=o||new $(0),F=["value","group","length","previousGroup","imaginary","fname","args","isInfinity","scientific"],X=F.length,w;if(this.symbols){y.symbols={};for(var b in this.symbols)y.symbols[b]=this.symbols[b].clone()}for(w=0;w<X;w++)this[F[w]]!==void 0&&(y[F[w]]=this[F[w]]);return y.power=this.power.clone(),y.multiplier=this.multiplier.clone(),this.isConversion&&(y.isConversion=this.isConversion),this.isUnit&&(y.isUnit=this.isUnit),y},toUnitMultiplier:function(o){return this.multiplier.num=new a(this.multiplier.num.isNegative()&&o?-1:1),this.multiplier.den=new a(1),this},toLinear:function(){return this.power.equals(1)?this:(this.setPower(new oe(1)),this)},each:function(o,y){if(!this.symbols)o.call(this,this,this.value);else for(var F in this.symbols){var X=this.symbols[F];if(X.group===De&&y)for(var w in X.symbols)o.call(F,X.symbols[w],w);else o.call(this,X,F)}},valueOf:function(){return this.group===R?this.multiplier.valueOf():this.power===0?1:this.multiplier===0?0:ft(this,"decimals")},contains:function(o,y){o=String(o);var F=this.group;if(this.value===o)return!0;if(this.symbols){for(var X in this.symbols)if(this.symbols[X].contains(o,y))return!0}if(F===ve||this.previousGroup===ve){for(var w=0;w<this.args.length;w++)if(this.args[w].contains(o,y))return!0}return F===de&&(y&&this.power.contains(o,y)||this.value===o)?!0:this.value===o},negate:function(){return this.multiplier.negate(),(this.group===Qe||this.group===De)&&this.distributeMultiplier(),this},invert:function(o,y){return o||(this.multiplier=this.multiplier.invert()),me(this.power)?this.power.negate():this.group===Ie&&y?this.each(function(F){return F.invert()}):this.power&&this.group!==R&&this.power.negate(),this},distributeMultiplier:function(o){var y=o?this.power.absEquals(1):this.power.equals(1);if(this.symbols&&y&&this.group!==Ie&&!this.multiplier.equals(1)){for(var F in this.symbols){var X=this.symbols[F];X.multiplier=X.multiplier.multiply(this.multiplier),X.distributeMultiplier()}this.toUnitMultiplier()}return this},distributeExponent:function(){if(!this.power.equals(1)){var o=this.power;for(var y in this.symbols){var F=this.symbols[y];F.group===de?F.power=r.multiply(F.power,new $(o)):this.symbols[y].power=this.symbols[y].power.multiply(o)}this.toLinear()}return this},convert:function(o,y){if(o>ve){var F=this.clone();this.symbols={},o===Ie?F.toUnitMultiplier():this.toUnitMultiplier(),this.group===ve&&(F.args=this.args,delete this.args,delete this.fname),this.isImgSymbol&&delete this.isImgSymbol,this.toLinear(),this.symbols[F.keyForGroup(o)]=F,this.group=o,this.length=1}else if(o===de)this.group===R&&this.multiplier.equals(1)||(this.group!==de&&(this.previousGroup=this.group),this.group===R?(this.value=this.multiplier.num.toString(),this.toUnitMultiplier()):this.value=ft(this,"hash"),this.group=de);else if(o===R){var X=this.multiplier.toDecimal();this.symbols&&(this.symbols=void 0),new $(this.group===ie?X*Math.pow(this.value,this.power):X).clone(this)}else o===ie&&this.group===R&&(this.value=y?this.multiplier.num.toString():Math.abs(this.multiplier.num.toString()),this.toUnitMultiplier(!y),this.group=ie);return this},insert:function(o,y){if(me(o)||f("Object "+o+" is not of type Symbol!"),this.symbols){var F=this.group;if(F>ve){var X=o.keyForGroup(F),w=X in this.symbols?this.symbols[X]:!1;if(y==="add"){var b=X;w?(this.symbols[b]=r.add(w,o),this.symbols[b].multiplier.equals(0)&&(delete this.symbols[b],this.length--,this.length===0&&(this.convert(R),this.multiplier=new oe(0)))):(this.symbols[X]=o,this.length++)}else o.group===ie&&B(o.power)&&o.convert(R),o.group!==de?(this.multiplier=this.multiplier.multiply(o.multiplier),o.toUnitMultiplier()):(o.parens=o.multiplier.lessThan(0),this.multiplier=this.multiplier.multiply(o.multiplier.clone().abs()),o.toUnitMultiplier(!0)),w&&(o=r.multiply(Tt(this.symbols,X),o),o.isConstant()&&(this.multiplier=this.multiplier.multiply(o.multiplier),o=new $(1)),this.length--),o.isOne(!0)?o.multiplier.lessThan(0)&&this.negate():(this.symbols[X]=o,this.length++);this.length===0&&this.convert(R),(this.group===Qe||this.group===Ie)&&this.updateHash()}}return this},attach:function(o){if(P(o)){for(var y=0;y<o.length;y++)this.insert(o[y],"add");return this}return this.insert(o,"add")},combine:function(o){if(P(o)){for(var y=0;y<o.length;y++)this.insert(o[y],"multiply");return this}return this.insert(o,"multiply")},updateHash:function(){if(this.group!==R)if(this.group===ve){for(var o="",y=this.args,F=this.fname===Te,X=0;X<y.length;X++)o+=(X===0?"":",")+ft(y[X]);var w=F?"":this.fname;this.value=w+(F?o:ue(o))}else this.group===K||this.group===De||(this.value=ft(this,"hash"))},keyForGroup:function(o){var y=this.group,F;if(y===R)F=this.value;else if(y===K||y===ie)o===De?F=this.power.toDecimal():F=this.value;else if(y===ve)o===De?F=this.power.toDecimal():F=ft(this,"hash");else{if(y===De)return o===Ie?F=ft(this,"hash"):o===Qe?this.power.equals(1)?F=this.value:F=ue(ft(this,"hash"))+_.POWER_OPERATOR+this.power.toDecimal():o===De?F=this.power.toString():F=this.value,F;y===Qe?(o===Qe&&(F=ft(this,"hash")),o===De?F=this.power.toDecimal():F=this.value):y===Ie?o===De?F=this.power.toDecimal():F=ft(this,"hash"):y===de&&(o===De?F=ft(this.power):F=ft(this,"hash"))}return F},collectSymbols:function(o,y,F,X){var w=[];if(!this.symbols)w.push(this);else for(var b in this.symbols){var z=this.symbols[b];X&&(z.group===De||z.group===Qe)?w=w.concat(z.collectSymbols()):w.push(o?o(z,y):z)}return F===null&&(F=void 0),w.sort(F)},latex:function(o){return xt.latex(this,o)},text:function(o){return ft(this,o)},isOne:function(o){var y=o?"absEquals":"equals";return this.group===R?this.multiplier[y](1):this.power.equals(0)},isComposite:function(){var o=this.group,y=this.previousGroup;return o===Qe||o===De||y===De||y===Qe},isCombination:function(){var o=this.group,y=this.previousGroup;return o===Ie||y===Ie},lessThan:function(o){return this.multiplier.lessThan(o)},greaterThan:function(o){return me(o)||(o=new $(o)),!this.isConstant(!0)||!o.isConstant(!0)?!1:this.multiplier.greaterThan(o.multiplier)},getDenom:function(){var o,y;if(y=this.clone(),this.group===Ie&&this.power.lessThan(0)&&(y=r.expand(y)),y.power.lessThan(0)||y.group===de&&y.power.multiplier.lessThan(0)){var F=r.parse(y.multiplier.den);o=y.toUnitMultiplier(),o.power.negate(),o=r.multiply(F,o)}else if(y.group===Ie){o=r.parse(y.multiplier.den);for(var X in y.symbols){var w=y.symbols[X];(w.power<0||w.group===de&&w.power.multiplier.lessThan(0))&&(o=r.multiply(o,y.symbols[X].clone().invert()))}}else o=r.parse(y.multiplier.den);return o},getNum:function(){var o,y;return y=this.clone(),y.group===Ie&&y.power.lessThan(0)&&(y=r.expand(y)),y.power.greaterThan(0)&&y.group!==Ie||y.group===de&&y.power.multiplier.greaterThan(0)?o=r.multiply(r.parse(y.multiplier.num),y.toUnitMultiplier()):y.group===Ie?(o=r.parse(y.multiplier.num),y.each(function(F){(F.power>0||F.group===de&&F.power.multiplier>0)&&(o=r.multiply(o,F.clone()))})):o=r.parse(y.multiplier.num),o},toString:function(){return this.text()}};function Ot(){var o=this,y={},F={names:[],actions:[]};function X(m,k){this.start=m,this.end=k}X.prototype.isConstant=function(){return this.start.isConstant()&&this.end.isConstant()},X.prototype.text=function(){return ft(this.start)+":"+ft(this.end)};function w(){this.elements=[]}w.prototype.append=function(m){this.elements.push(m)},w.prototype.getItems=function(){return this.elements},w.prototype.toString=function(){return o.pretty_print(this.elements)},w.create=function(m){var k=new w;return m&&k.append(m),k};function b(m,k,Pe){if(this.type=k,this.value=m,Pe!==void 0&&(this.column=Pe+1),k===b.OPERATOR){var ot=be[m];for(var bt in ot)this[bt]=ot[bt]}else k===b.FUNCTION&&(this.precedence=b.MAX_PRECEDENCE,this.leftAssoc=!1)}b.prototype.toString=function(){return this.value},b.prototype.toString=function(){return this.is_prefix?"`"+this.value:this.value},b.OPERATOR="OPERATOR",b.VARIABLE_OR_LITERAL="VARIABLE_OR_LITERAL",b.FUNCTION="FUNCTION",b.UNIT="UNIT",b.KEYWORD="KEYWORD",b.MAX_PRECEDENCE=999,this.classes={Collection:w,Slice:X,Token:b};var z={prec:void 0,cos:function(m,k){var Pe,ot;return Pe=o.parse(Math.cos(m)*Math.cosh(k)),ot=o.parse(Math.sin(m)*Math.sinh(k)),o.subtract(Pe,o.multiply(ot,$.imaginary()))},sin:function(m,k){var Pe,ot;return Pe=o.parse(Math.sin(m)*Math.cosh(k)),ot=o.parse(Math.cos(m)*Math.sinh(k)),o.subtract(Pe,o.multiply(ot,$.imaginary()))},tan:function(m,k){var Pe,ot;return Pe=o.parse(Math.sin(2*m)/(Math.cos(2*m)+Math.cosh(2*k))),ot=o.parse(Math.sinh(2*k)/(Math.cos(2*m)+Math.cosh(2*k))),o.add(Pe,o.multiply(ot,$.imaginary()))},sec:function(m,k){var Pe=this.removeDen(this.cos(m,k));return o.subtract(Pe[0],o.multiply(Pe[1],$.imaginary()))},csc:function(m,k){var Pe=this.removeDen(this.sin(m,k));return o.add(Pe[0],o.multiply(Pe[1],$.imaginary()))},cot:function(m,k){var Pe=this.removeDen(this.tan(m,k));return o.subtract(Pe[0],o.multiply(Pe[1],$.imaginary()))},acos:function(m,k){var Pe,ot,bt,Ht,Xt,Yt;return Pe=this.fromArray([m,k]),Yt=o.pow(Pe.clone(),new $(2)),ot=o.expand(Yt),bt=o.multiply(Dt(o.subtract(new $(1),ot)),$.imaginary()),Ht=o.expand(o.add(Pe.clone(),bt)),Xt=Rn(Ht),o.expand(o.multiply($.imaginary().negate(),Xt))},asin:function(m,k){return o.subtract(o.parse("pi/2"),this.acos(m,k))},atan:function(m,k){if(m.equals(0)&&(k.equals(1)||k.equals(-1)))return o.parse(`${$.infinity()}*${_.IMAGINARY}*${k}`);var Pe,ot,bt,Ht;return Ht=z.fromArray([m,k]),Pe=o.expand(o.multiply($.imaginary(),Ht.clone())),ot=Rn(o.expand(o.subtract(new $(1),Pe.clone()))),bt=Rn(o.expand(o.add(new $(1),Pe.clone()))),o.expand(o.multiply(o.divide($.imaginary(),new $(2)),o.subtract(ot,bt)))},asec:function(m,k){var Pe=this.removeDen([m,k]);return Pe[1].negate(),this.acos.apply(this,Pe)},acsc:function(m,k){var Pe=this.removeDen([m,k]);return Pe[1].negate(),this.asin.apply(this,Pe)},acot:function(m,k){var Pe=this.removeDen([m,k]);return Pe[1].negate(),this.atan.apply(this,Pe)},cosh:function(m,k){var Pe,ot;return Pe=o.parse(Math.cosh(m)*Math.cos(k)),ot=o.parse(Math.sinh(m)*Math.sin(k)),o.add(Pe,o.multiply(ot,$.imaginary()))},sinh:function(m,k){var Pe,ot;return Pe=o.parse(Math.sinh(m)*Math.cos(k)),ot=o.parse(Math.cosh(m)*Math.sin(k)),o.add(Pe,o.multiply(ot,$.imaginary()))},tanh:function(m,k){var Pe,ot;return Pe=o.parse(Math.sinh(2*m)/(Math.cos(2*k)+Math.cosh(2*m))),ot=o.parse(Math.sin(2*k)/(Math.cos(2*k)+Math.cosh(2*m))),o.subtract(Pe,o.multiply(ot,$.imaginary()))},sech:function(m,k){var Pe=this.removeDen(this.cosh(m,k));return o.subtract(Pe[0],o.multiply(Pe[1],$.imaginary()))},csch:function(m,k){var Pe=this.removeDen(this.sinh(m,k));return o.subtract(Pe[0],o.multiply(Pe[1],$.imaginary()))},coth:function(m,k){var Pe=this.removeDen(this.tanh(m,k));return o.add(Pe[0],o.multiply(Pe[1],$.imaginary()))},acosh:function(m,k){var Pe,ot,bt;return bt=this.fromArray([m,k]),Pe=Dt(o.add(bt.clone(),new $(1))),ot=Dt(o.subtract(bt.clone(),new $(1))),o.expand(Rn(o.add(bt,o.expand(o.multiply(Pe,ot)))))},asinh:function(m,k){var Pe,ot;return ot=this.fromArray([m,k]),Pe=Dt(o.add(new $(1),o.expand(o.pow(ot.clone(),new $(2))))),o.expand(Rn(o.add(ot,Pe)))},atanh:function(m,k){var Pe,ot,bt;return bt=this.fromArray([m,k]),Pe=Rn(o.add(bt.clone(),new $(1))),ot=Rn(o.subtract(new $(1),bt)),o.expand(o.divide(o.subtract(Pe,ot),new $(2)))},asech:function(m,k){var Pe=this.removeDen([m,k]);return Pe[1].negate(),this.acosh.apply(this,Pe)},acsch:function(m,k){var Pe=this.removeDen([m,k]);return Pe[1].negate(),this.asinh.apply(this,Pe)},acoth:function(m,k){var Pe=this.removeDen([m,k]);return Pe[1].negate(),this.atanh.apply(this,Pe)},sqrt:function(m){var k,Pe,ot,bt,Ht;return k=m.realpart(),Pe=m.imagpart(),ot=$.hyp(k,Pe),bt=o.add(k.clone(),ot),Ht=Dt(o.multiply(new $(2),bt.clone())),o.add(o.divide(bt.clone(),Ht.clone()),o.multiply(o.divide(Pe,Ht),$.imaginary()))},log:function(m,k){var Pe,ot,bt;return Pe=Rn($.hyp(m,k)),bt=_.USE_BIG?$(l.atan2(k.multiplier.toDecimal(),m.multiplier.toDecimal())):Math.atan2(k,m),ot=o.parse(bt),o.add(Pe,o.multiply($.imaginary(),ot))},erf(m,k){return o.symfunction("erf",[m]);var Pe,ot,bt,Ht,Xt,Yt,rn},removeDen:function(m){var k,Pe,ot,bt,Ht;return P(m)?(Pe=m[0],ot=m[1]):(Pe=m.realpart(),ot=m.imagpart()),k=Math.pow(Pe,2)+Math.pow(ot,2),bt=o.parse(Pe/k),Ht=o.parse(ot/k),[bt,Ht]},fromArray:function(m){return o.add(m[0],o.multiply($.imaginary(),m[1]))},evaluate:function(m,k){var Pe,ot,bt;if(bt=m.power.sign(),m.power=m.power.abs(),m.power.greaterThan(1)&&(m=o.expand(m)),bt<0){var Ht=this.removeDen(m);Pe=Ht[0],ot=Ht[1]}else Pe=m.realpart(),ot=m.imagpart();return Pe.isConstant("all")&&ot.isConstant("all")?this[k].call(this,Pe,ot):o.symfunction(k,[m])}},_e=this.trig={cos:function(m){if(m.equals("pi")&&m.multiplier.den.equals(2))return new $(0);if(_.PARSE2NUMBER){if(m.equals(new $(_.PI/2)))return new $(0);if(m.isConstant())return _.USE_BIG?new $(l.cos(m.multiplier.toDecimal())):new $(Math.cos(m.valueOf()));if(m.isImaginary())return z.evaluate(m,"cos")}if(m.equals(0))return new $(1);var k,Pe=!1,ot=Hr(m.multiplier.toDecimal()),bt=m.multiplier.abs();if(m.multiplier=bt,m.isPi()&&m.isLinear())if(B(bt))k=new $(Be(bt)?1:-1);else{var Ht=Number(bt.num),Xt=Number(bt.den);Xt===2?k=new $(0):Xt===3?(k=o.parse("1/2"),Pe=!0):Xt===4?(k=o.parse("1/sqrt(2)"),Pe=!0):Xt===6?(k=o.parse("sqrt(3)/2"),Pe=!0):k=o.symfunction("cos",[m])}return Pe&&(ot===2||ot===3)&&k.negate(),k||(k=o.symfunction("cos",[m])),k},sin:function(m){if(_.PARSE2NUMBER){if(m.isConstant())return m%Math.PI===0?new $(0):_.USE_BIG?new $(l.sin(m.multiplier.toDecimal())):new $(Math.sin(m.valueOf()));if(m.isImaginary())return z.evaluate(m,"sin")}if(m.equals(0))return new $(0);var k,Pe=!1,ot=Hr(m.multiplier.toDecimal()),bt=m.multiplier.sign(),Ht=m.multiplier.abs();if(m.multiplier=Ht,m.equals("pi"))k=new $(0);else if(m.isPi()&&m.isLinear())if(B(Ht))k=new $(0);else{var Xt=Ht.num,Yt=Ht.den;Yt==2?(k=new $(1),Pe=!0):Yt==3?(k=o.parse("sqrt(3)/2"),Pe=!0):Yt==4?(k=o.parse("1/sqrt(2)"),Pe=!0):Yt==6?(k=o.parse("1/2"),Pe=!0):k=o.multiply(new $(bt),o.symfunction("sin",[m]))}return k||(k=o.multiply(new $(bt),o.symfunction("sin",[m]))),Pe&&(ot===3||ot===4)&&k.negate(),k},tan:function(m){if(_.PARSE2NUMBER){if(m%Math.PI===0&&m.isLinear())return new $(0);if(m.isConstant())return _.USE_BIG?new $(l.tan(m.multiplier.toDecimal())):new $(Math.tan(m.valueOf()));if(m.isImaginary())return z.evaluate(m,"tan")}var k,Pe=!1,ot=Hr(m.multiplier.toDecimal()),bt=m.multiplier;if(m.multiplier=bt,m.isPi()&&m.isLinear())if(B(bt))k=new $(0);else{var Ht=bt.num,Xt=bt.den;if(Xt==2)throw new x("tan is undefined for "+m.toString());Xt==3?(k=o.parse("sqrt(3)"),Pe=!0):Xt==4?(k=new $(1),Pe=!0):Xt==6?(k=o.parse("1/sqrt(3)"),Pe=!0):k=o.symfunction("tan",[m])}return k||(k=o.symfunction("tan",[m])),Pe&&(ot===2||ot===4)&&k.negate(),k},sec:function(m){if(_.PARSE2NUMBER)return m.isConstant()?_.USE_BIG?new $(new l(1).dividedBy(l.cos(m.multiplier.toDecimal()))):new $(Fe.sec(m.valueOf())):m.isImaginary()?z.evaluate(m,"sec"):o.parse(D("1/cos({0})",m));var k,Pe=!1,ot=Hr(m.multiplier.toDecimal()),bt=m.multiplier.abs();if(m.multiplier=bt,m.isPi()&&m.isLinear())if(B(bt))k=new $(Be(bt)?1:-1);else{var Ht=bt.num,Xt=bt.den;if(Xt==2)throw new x("sec is undefined for "+m.toString());Xt==3?(k=new $(2),Pe=!0):Xt==4?(k=o.parse("sqrt(2)"),Pe=!0):Xt==6?(k=o.parse("2/sqrt(3)"),Pe=!0):k=o.symfunction("sec",[m])}return Pe&&(ot===2||ot===3)&&k.negate(),k||(k=o.symfunction("sec",[m])),k},csc:function(m){if(_.PARSE2NUMBER)return m.isConstant()?_.USE_BIG?new $(new l(1).dividedBy(l.sin(m.multiplier.toDecimal()))):new $(Fe.csc(m.valueOf())):m.isImaginary()?z.evaluate(m,"csc"):o.parse(D("1/sin({0})",m));var k,Pe=!1,ot=Hr(m.multiplier.toDecimal()),bt=m.multiplier.sign(),Ht=m.multiplier.abs();if(m.multiplier=Ht,m.isPi()&&m.isLinear()){if(B(Ht))throw new x("csc is undefined for "+m.toString());var Xt=Ht.num,Yt=Ht.den;Yt==2?(k=new $(1),Pe=!0):Yt==3?(k=o.parse("2/sqrt(3)"),Pe=!0):Yt==4?(k=o.parse("sqrt(2)"),Pe=!0):Yt==6?(k=new $(2),Pe=!0):k=o.multiply(new $(bt),o.symfunction("csc",[m]))}return k||(k=o.multiply(new $(bt),o.symfunction("csc",[m]))),Pe&&(ot===3||ot===4)&&k.negate(),k},cot:function(m){if(_.PARSE2NUMBER)return m%(Math.PI/2)===0?new $(0):m.isConstant()?_.USE_BIG?new $(new l(1).dividedBy(l.tan(m.multiplier.toDecimal()))):new $(Fe.cot(m.valueOf())):m.isImaginary()?z.evaluate(m,"cot"):o.parse(D("1/tan({0})",m));var k,Pe=!1,ot=Hr(m.multiplier.toDecimal()),bt=m.multiplier;if(m.multiplier=bt,m.isPi()&&m.isLinear()){if(B(bt))throw new x("cot is undefined for "+m.toString());var Ht=bt.num,Xt=bt.den;Xt==2?k=new $(0):Xt==3?(k=o.parse("1/sqrt(3)"),Pe=!0):Xt==4?(k=new $(1),Pe=!0):Xt==6?(k=o.parse("sqrt(3)"),Pe=!0):k=o.symfunction("cot",[m])}return k||(k=o.symfunction("cot",[m])),Pe&&(ot===2||ot===4)&&k.negate(),k},acos:function(m){if(_.PARSE2NUMBER){if(m.isConstant()){if(m.gt(1)||m.lt(-1)){var k=m.toString();return Kn(Ye(`pi/2-asin(${k})`))}return _.USE_BIG?new $(l.acos(m.multiplier.toDecimal())):new $(Math.acos(m.valueOf()))}if(m.isImaginary())return z.evaluate(m,"acos")}return o.symfunction("acos",arguments)},asin:function(m){if(_.PARSE2NUMBER){if(m.isConstant()){if(m.gt(1)||m.lt(-1)){var k=_.IMAGINARY,Pe=m.multiplier.toDecimal();return Kn(Ye(`${k}*log(sqrt(1-${Pe}^2)-${k}*${Pe})`))}return _.USE_BIG?new $(l.asin(m.multiplier.toDecimal())):new $(Math.asin(m.valueOf()))}if(m.isImaginary())return z.evaluate(m,"asin")}return o.symfunction("asin",arguments)},atan:function(m){var k;if(m.equals(0))k=new $(0);else{if(_.PARSE2NUMBER)return m.isConstant()?_.USE_BIG?new $(l.atan(m.multiplier.toDecimal())):new $(Math.atan(m.valueOf())):m.isImaginary()?z.evaluate(m,"atan"):o.symfunction("atan",arguments);m.equals(-1)?k=o.parse("-pi/4"):k=o.symfunction("atan",arguments)}return k},asec:function(m){if(_.PARSE2NUMBER){if(m.equals(0))throw new C("Input is out of the domain of sec!");if(m.isConstant())return _e.acos(m.invert());if(m.isImaginary())return z.evaluate(m,"asec")}return o.symfunction("asec",arguments)},acsc:function(m){if(_.PARSE2NUMBER){if(m.isConstant())return _e.asin(m.invert());if(m.isImaginary())return z.evaluate(m,"acsc")}return o.symfunction("acsc",arguments)},acot:function(m){if(_.PARSE2NUMBER){if(m.isConstant())return new o.add(o.parse("pi/2"),_e.atan(m).negate());if(m.isImaginary())return z.evaluate(m,"acot")}return o.symfunction("acot",arguments)},atan2:function(m,k){if(m.equals(0)&&k.equals(0))throw new x("atan2 is undefined for 0, 0");return _.PARSE2NUMBER&&m.isConstant()&&k.isConstant()?new $(Math.atan2(m,k)):o.symfunction("atan2",arguments)}},tt=this.trigh={cosh:function(m){var k;if(_.PARSE2NUMBER){if(m.isConstant())return new $(Math.cosh(m.valueOf()));if(m.isImaginary())return z.evaluate(m,"cosh")}return k=o.symfunction("cosh",arguments)},sinh:function(m){var k;if(_.PARSE2NUMBER){if(m.isConstant())return new $(Math.sinh(m.valueOf()));if(m.isImaginary())return z.evaluate(m,"sinh")}return k=o.symfunction("sinh",arguments)},tanh:function(m){var k;if(_.PARSE2NUMBER){if(m.isConstant())return new $(Math.tanh(m.valueOf()));if(m.isImaginary())return z.evaluate(m,"tanh")}return k=o.symfunction("tanh",arguments)},sech:function(m){var k;return _.PARSE2NUMBER?m.isConstant()?new $(Math.sech(m.valueOf())):m.isImaginary()?z.evaluate(m,"sech"):o.parse(D("1/cosh({0})",m)):k=o.symfunction("sech",arguments)},csch:function(m){var k;return _.PARSE2NUMBER?m.isConstant()?new $(Math.csch(m.valueOf())):m.isImaginary()?z.evaluate(m,"csch"):o.parse(D("1/sinh({0})",m)):k=o.symfunction("csch",arguments)},coth:function(m){var k;return _.PARSE2NUMBER?m.isConstant()?new $(Math.coth(m.valueOf())):m.isImaginary()?z.evaluate(m,"coth"):o.parse(D("1/tanh({0})",m)):k=o.symfunction("coth",arguments)},acosh:function(m){var k;return _.PARSE2NUMBER&&m.isImaginary()?k=z.evaluate(m,"acosh"):_.PARSE2NUMBER?k=Ye(o.parse(D(_.LOG+"(({0})+sqrt(({0})^2-1))",m.toString()))):k=o.symfunction("acosh",arguments),k},asinh:function(m){var k;return _.PARSE2NUMBER&&m.isImaginary()?k=z.evaluate(m,"asinh"):_.PARSE2NUMBER?k=Ye(o.parse(D(_.LOG+"(({0})+sqrt(({0})^2+1))",m.toString()))):k=o.symfunction("asinh",arguments),k},atanh:function(m){var k;return _.PARSE2NUMBER&&m.isImaginary()?k=z.evaluate(m,"atanh"):_.PARSE2NUMBER?k=Ye(o.parse(D("(1/2)*"+_.LOG+"((1+({0}))/(1-({0})))",m.toString()))):k=o.symfunction("atanh",arguments),k},asech:function(m){var k;return _.PARSE2NUMBER&&m.isImaginary()?k=z.evaluate(m,"asech"):_.PARSE2NUMBER?k=Ye(Rn(o.add(m.clone().invert(),Dt(o.subtract(o.pow(m,new $(-2)),new $(1)))))):k=o.symfunction("asech",arguments),k},acsch:function(m){var k;return _.PARSE2NUMBER&&m.isImaginary()?k=z.evaluate(m,"acsch"):_.PARSE2NUMBER?k=Ye(o.parse(D(_.LOG+"((1+sqrt(1+({0})^2))/({0}))",m.toString()))):k=o.symfunction("acsch",arguments),k},acoth:function(m){var k;return _.PARSE2NUMBER&&m.isImaginary()?k=z.evaluate(m,"acoth"):_.PARSE2NUMBER?m.equals(1)?k=$.infinity():k=Ye(o.divide(Rn(o.divide(o.add(m.clone(),new $(1)),o.subtract(m.clone(),new $(1)))),new $(2))):k=o.symfunction("acoth",arguments),k}};this.units={};var be={"\\":{precedence:8,operator:"\\",action:"slash",prefix:!0,postfix:!1,leftAssoc:!0,operation:function(m){return m}},"!!":{precedence:7,operator:"!!",action:"dfactorial",prefix:!1,postfix:!0,leftAssoc:!0,operation:function(m){return o.symfunction(_.DOUBLEFACTORIAL,[m])}},"!":{precedence:7,operator:"!",action:"factorial",prefix:!1,postfix:!0,leftAssoc:!0,operation:function(m){return Bt(m)}},"^":{precedence:6,operator:"^",action:"pow",prefix:!1,postfix:!1,leftAssoc:!0},"**":{precedence:6,operator:"**",action:"pow",prefix:!1,postfix:!1,leftAssoc:!0},"%":{precedence:4,operator:"%",action:"percent",prefix:!1,postfix:!0,leftAssoc:!0,overloaded:!0,overloadAction:"mod",overloadLeftAssoc:!1,operation:function(m){return o.divide(m,new $(100))}},"*":{precedence:4,operator:"*",action:"multiply",prefix:!1,postfix:!1,leftAssoc:!1},"/":{precedence:4,operator:"/",action:"divide",prefix:!1,postfix:!1,leftAssoc:!1},"+":{precedence:3,operator:"+",action:"add",prefix:!0,postfix:!1,leftAssoc:!1,operation:function(m){return m}},plus:{precedence:3,operator:"plus",action:"add",prefix:!0,postfix:!1,leftAssoc:!1,operation:function(m){return m}},"-":{precedence:3,operator:"-",action:"subtract",prefix:!0,postfix:!1,leftAssoc:!1,operation:function(m){return m.negate()}},"=":{precedence:2,operator:"=",action:"equals",prefix:!1,postfix:!1,leftAssoc:!1},"==":{precedence:1,operator:"==",action:"eq",prefix:!1,postfix:!1,leftAssoc:!1},"<":{precedence:1,operator:"<",action:"lt",prefix:!1,postfix:!1,leftAssoc:!1},"<=":{precedence:1,operator:"<=",action:"lte",prefix:!1,postfix:!1,leftAssoc:!1},">":{precedence:1,operator:">",action:"gt",prefix:!1,postfix:!1,leftAssoc:!1},"=>":{precedence:1,operator:"=>",action:"gte",prefix:!1,postfix:!1,leftAssoc:!1},",":{precedence:0,operator:",",action:"comma",prefix:!1,postfix:!1,leftAssoc:!1},":":{precedence:0,operator:",",action:"assign",prefix:!1,postfix:!1,leftAssoc:!1,vectorFn:"slice"},":=":{precedence:0,operator:",",action:"function_assign",prefix:!1,postfix:!1,leftAssoc:!0}},$e={"(":{type:"round",id:1,is_open:!0,is_close:!1},")":{type:"round",id:2,is_open:!1,is_close:!0},"[":{type:"square",id:3,is_open:!0,is_close:!1,maps_to:"vector"},"]":{type:"square",id:4,is_open:!1,is_close:!0},"{":{type:"curly",id:5,is_open:!0,is_close:!1,maps_to:"Set"},"}":{type:"curly",id:6,is_open:!1,is_close:!0}},pt=this.functions={cos:[_e.cos,1],sin:[_e.sin,1],tan:[_e.tan,1],sec:[_e.sec,1],csc:[_e.csc,1],cot:[_e.cot,1],acos:[_e.acos,1],asin:[_e.asin,1],atan:[_e.atan,1],arccos:[_e.acos,1],arcsin:[_e.asin,1],arctan:[_e.atan,1],asec:[_e.asec,1],acsc:[_e.acsc,1],acot:[_e.acot,1],atan2:[_e.atan2,2],acoth:[tt.acoth,1],asech:[tt.asech,1],acsch:[tt.acsch,1],sinh:[tt.sinh,1],cosh:[tt.cosh,1],tanh:[tt.tanh,1],asinh:[tt.asinh,1],sech:[tt.sech,1],csch:[tt.csch,1],coth:[tt.coth,1],acosh:[tt.acosh,1],atanh:[tt.atanh,1],log10:[,1],exp:[sn,1],radians:[ln,1],degrees:[dn,1],min:[Ri,-1],max:[$n,-1],erf:[,1],floor:[,1],ceil:[,1],trunc:[,1],Si:[,1],step:[,1],rect:[,1],sinc:[Qt,1],tri:[,1],sign:[yi,1],Ci:[,1],Ei:[,1],Shi:[,1],Chi:[,1],Li:[,1],fib:[,1],fact:[Bt,1],factorial:[Bt,1],continued_fraction:[Rt,[1,2]],dfactorial:[,1],gamma_incomplete:[,[1,2]],round:[Yn,[1,2]],scientific:[hn,[1,2]],mod:[Ut,2],pfactor:[Nn,1],vector:[Yh,-1],matrix:[Wh,-1],Set:[Zh,-1],imatrix:[S1,-1],parens:[mt,-1],sqrt:[Dt,1],cbrt:[tn,1],nthroot:[pn,2],log:[Rn,[1,2]],expand:[jr,1],abs:[It,1],invert:[nd,1],determinant:[Qh,1],size:[Jh,1],transpose:[td,1],dot:[Kh,2],cross:[ed,2],vecget:[G2,2],vecset:[Bh,3],vectrim:[Hh,[1,2]],matget:[zh,3],matset:[jh,4],matgetrow:[Vh,2],matsetrow:[Gh,3],matgetcol:[$h,2],matsetcol:[Xh,3],rationalize:[vn,1],IF:[en,3],is_in:[Wt,2],realpart:[wn,1],imagpart:[Mn,1],conjugate:[xn,1],arg:[An,1],polarform:[Jn,1],rectform:[ei,1],sort:[Fr,[1,2]],integer_part:[,1],union:[rd,2],contains:[od,2],intersection:[id,2],difference:[ad,2],intersects:[sd,2],is_subset:[ud,2],print:[ld,-1]};this.error=f;var vt=function(m){for(var k=_.FUNCTION_MODULES,Pe=k.length,ot=0;ot<Pe;ot++){var bt=k[ot];if(m in bt)return bt[m]}f("The function "+m+" is undefined!")};this.override=function(m,k){y[m]||(y[m]=[]),y[m].push(this[m]),this[m]=k},this.restore=function(m){this[m]&&(this[m]=y[m].pop())},this.extend=function(m,k,Pe){var ot=this,bt=this[m];if(typeof bt=="function"&&typeof k=="function"){var Ht=this[m];this[m]=function(Xt,Yt){return me(Xt)&&me(Yt)&&!Pe?Ht.call(ot,Xt,Yt):k.call(ot,Xt,Yt,Ht)}}},this.symfunction=function(m,k){var Pe=new $(m);return Pe.group=ve,typeof k=="object"&&(k=[].slice.call(k)),Pe.args=k,Pe.fname=m===Te?"":m,Pe.updateHash(),Pe},this.callfunction=function(m,k,Pe){var ot=pt[m];ot||f("Nerdamer currently does not support the function "+m);var bt=ot[1]||Pe,Ht=ot[0],Xt;if(k instanceof Array||(k=k!==void 0?[k]:[]),bt!==-1){var Yt=P(bt),rn=Yt?bt[0]:bt,on=Yt?bt[1]:bt,mn=k.length,Zt=m+" requires a {0} of {1} arguments. {2} provided!";mn<rn&&f(D(Zt,"minimum",rn,mn)),mn>on&&f(D(Zt,"maximum",on,mn))}var _n=Z(k);return Ht?Xt=Ht.apply(ot[2],k):(Ht=vt(m),_.PARSE2NUMBER&&_n?Xt=F0(Ht.apply(Ht,k)):Xt=o.symfunction(m,k)),Xt},this.operator_filter_regex=function(){var m="^\\"+Object.keys(be).filter(function(k){if(k.length===1)return k}).join("\\");return new RegExp("(["+m+"])\\s+(["+m+"])")}(),this.setOperator=function(m,k,Pe){var ot=m.operator;if(be[ot]=m,k&&(this[m.action]=k),o[ot]=m.operation,!m.action&&!(m.prefix||m.postif)&&(m.action=ot),Pe==="over"||Pe==="under"){var bt=m.precedence;for(var Ht in be){var Xt=be[Ht],Yt=Pe==="over"?Xt.precedence>=bt:Xt.precedence>bt;Yt&&Xt.precedence++}}},this.getOperator=function(m){return be[m]},this.aliasOperator=function(m,k){var Pe={},ot=be[m];for(var bt in ot)Pe[bt]=ot[bt];Pe.operator=k,this.setOperator(Pe)},this.getOperators=function(){return be},this.getBrackets=function(){return $e};var p=function(m){m=String(m);for(var k=0;k<F.actions.length;k++)m=F.actions[k].call(this,m);for(m=m.replace(/\s+/g," "),/e/gi.test(m)&&(m=m.replace(/\-*\d+\.*\d*e\+?\-?\d+/gi,function(ot){return le(ot)})),m=m.replace(_.IMPLIED_MULTIPLICATION_REGEX,function(){var ot=arguments[4],bt=arguments[1],Ht=arguments[2],Xt=arguments[3],Yt=ot.charAt(Xt),rn="",on="*";return Yt.match(/[\+\-\/\*]/)||(rn=ot.charAt(Xt-1)),rn.match(/[a-z]/i)&&(on=""),bt+on+Ht}).replace(/([a-z0-9_]+)/gi,function(ot,bt){return _.USE_MULTICHARACTER_VARS===!1&&!(bt in pt)&&isNaN(bt)?bt.split("").join("*"):bt}).replace(/\)\(/g,")*(")||"0";;){var Pe=m;if(m=m.replace(/([a-z0-9_]+)(\()|(\))([a-z0-9]+)/gi,function(ot,bt,Ht,Xt,Yt){var rn=bt||Xt,on=Ht||Yt;return rn in pt?rn+on:rn+"*"+on}),Pe===m)break}return m};this.initConstants=function(){this.CONSTANTS={E:new $(_.E),PI:new $(_.PI)}},this.pretty_print=function(m){if(Array.isArray(m)){var k=m.map(Pe=>o.pretty_print(Pe)).join(", ");return m.type==="vector"?"vector<"+k+">":"("+k+")"}return m.toString()},this.peekers={pre_operator:[],post_operator:[],pre_function:[],post_function:[]},this.callPeekers=function(m){if(_.callPeekers)for(var k=this.peekers[m],Pe=Et(arguments).slice(1).map(pe),ot=0;ot<k.length;ot++)k[ot].apply(null,Pe)},this.tokenize=function(m){m=String(m),m=m.trim().replace(/\s+/g," ");for(var k in $e){var Pe=new RegExp($e[k].is_close?"\\s+\\"+k:"\\"+k+"\\s+","g");m=m.replace(Pe,k)}for(var ot=0,bt=m.length,Ht=0,Xt=[],Yt=[Xt],rn=Yt[0],on=0,mn=[],Zt=!1,_n=" ",yn="",Cn=",",In="-",Pn="*",Dn=function(er,Ir){var vr=[];er!==void 0&&(vr.type=er),vr.column=Ir,Yt.push(vr),rn.push(vr),rn=vr,on++},gn=function(){Yt.pop(),rn=Yt[--on]},Tn=function(er){er=er!==void 0?er:ot;for(var Ir=er+1;m.charAt(Ir++)in be;);return m.substring(er,Ir-1)},Fn=function(er){for(var Ir=ot-er.length,vr=[],ji=er.charAt(0),M0=1,Y1=er.length;M0<Y1;M0++){var W1=er.charAt(M0),f0=ji+W1;f0 in be?ji=f0:(vr.push(new b(ji,b.OPERATOR,Ir+M0)),ji=W1)}return vr.push(new b(ji,b.OPERATOR,Ir+M0)),vr},Ln=function(er,Ir){Ir===void 0&&(Ir=m.substring(Ht,er)),Ir in o.units?rn.push(new b(Ir,b.UNIT,Ht)):Ir!==""&&rn.push(new b(Ir,b.VARIABLE_OR_LITERAL,Ht))},zn=function(er){rn.push(new b(er,b.FUNCTION,Ht))},Wn=function(er){Ht=er+1},Gn=function(){Ht=Ht+mr.length-2,ot=Ht-1};ot<bt;ot++){var Xn=m.charAt(ot);if(Xn in be){Ln(ot);var ir=rn[0]&&je(rn[0]),xr=ir&&Xn===Pn;Zt&&Ht<ot&&!(Xn===Cn||xr)&&(Zt=!1,gn()),Wn(ot+1);var mr=Tn(ot);Gn(),rn.push.apply(rn,Fn(mr))}else if(Xn in $e){var _r=$e[Xn];if(_r.is_open){mn.push([_r,Ht]);var Ar=m.substring(Ht,ot);Ar in pt?zn(Ar):Ar!==""&&rn.push(new b(Ar,b.VARIABLE_OR_LITERAL,Ht)),Dn(_r.maps_to,ot)}else if(_r.is_close){var l0=mn.pop();if(l0){if(l0[0].id!==_r.id-1)throw new Y("Parity error")}else throw new Y("Missing open bracket for bracket at: "+(ot+1));Ln(ot),gn()}Wn(ot)}else if(Xn===_n){var gr=m.substring(Ht,ot),Si=m.charAt(ot+1);if(Zt){if(gr in be)rn.push(new b(gr,b.OPERATOR,ot));else{Ln(void 0,gr),gn();var c0=Si in be;(c0&&be[Si].value===In||!c0)&&rn.push(new b(Pn,b.OPERATOR,ot))}Zt=!1}else{var Ar=m.substring(Ht,ot);if(Ar in pt)Zt=!0,zn(Ar),Dn();else if(Ar in be)rn.push(new b(Ar,b.OPERATOR,ot));else{Ln(void 0,Ar);var Si=m.charAt(ot+1);gr!==yn&&Si!==yn&&!(gr in be)&&!(Si in be)&&rn.push(new b(Pn,b.OPERATOR,ot))}}Wn(ot)}}if(mn.length){var qi=mn.pop();throw new Y("Missing closed bracket for bracket at "+(qi[1]+1))}return Ln(ot),Xt},this.toRPN=function(m){var k=m.type,Pe=m.length,ot,bt=[],Ht=[],Xt=[],Yt=function(Pn,Dn){for(;Pn.length;)Dn.push(Pn.pop())};for(ot=0;ot<Pe;ot++){var rn=m[ot];if(rn.type!==b.OPERATOR)break;if(!rn.prefix)throw new ce("Not a prefix operator");rn.is_prefix=!0,Ht.push(rn)}for(;ot<Pe;ot++){var on=m[ot];if(on.type===b.OPERATOR){var mn=on;if(mn.overloaded){var Zt=m[ot+1];Zt&&Zt.type===b.VARIABLE_OR_LITERAL&&(mn.postfix=!1,mn.action=mn.overloadAction,mn.leftAssoc=mn.overloadLeftAssoc)}for(;Ht.length;){var _n=Ht[Ht.length-1];if(!(_n.precedence>mn.precedence||!mn.leftAssoc&&_n.precedence===mn.precedence))break;bt.push(Ht.pop())}if((k==="vector"||k==="set")&&"vectorFn"in mn&&(mn.action=mn.vectorFn),mn.postfix){var yn=m[ot-1];if(yn){if(yn.type===b.OPERATOR&&!yn.postfix)throw new ce("Unexpected prefix operator '"+yn.value+"'! at "+yn.column)}else throw new ce("Unexpected prefix operator '"+on.value+"'! at "+on.column)}else do{var Zt=m[ot+1],Cn=Zt?Zt.type===b.OPERATOR:!1;if(Cn){if(!Zt.prefix)throw new ce("A prefix operator was expected at "+Zt.column);Zt.is_prefix=!0,Xt.push(Zt),ot++}}while(Cn);for(mn.is_prefix?Xt.push(mn):Ht.push(mn);Xt.length&&(mn.leftAssoc||!mn.leftAssoc&&Xt[Xt.length-1].precedence>=mn.precedence);)Ht.push(Xt.pop())}else if(on.type===b.VARIABLE_OR_LITERAL){bt.length===0&&Yt(Xt,Ht),bt.push(on);var In=Ht[Ht.length-1];(!In||!In.leftAssoc)&&Yt(Xt,bt)}else on.type===b.FUNCTION?Ht.push(on):on.type===b.UNIT&&bt.push(on);Array.isArray(on)&&(bt.push(this.toRPN(on)),on.type&&bt.push(new b(on.type,b.FUNCTION,on.column)))}return Yt(Ht,bt),Yt(Xt,bt),bt},this.parseRPN=function(m,k){try{k=k||{};for(var Pe in k)k[Pe]=o.parse(k[Pe],{});_.PARSE2NUMBER&&("e"in k||(k.e=new $(_.E)),"pi"in k||(k.pi=new $(_.PI)));for(var ot=[],bt=0,Ht=m.length;bt<Ht;bt++){var Xt=m[bt];if(Array.isArray(Xt)&&(Xt=this.parseRPN(Xt,k)),Xt)if(Xt.type===b.OPERATOR)if(Xt.is_prefix||Xt.postfix)ot.push(Xt.operation(ot.pop()));else{var Yt=ot.pop(),rn=ot.pop();if(typeof rn=="undefined")throw new ce(Xt+" is not a valid postfix operator at "+Xt.column);var on=Xt.action==="comma";rn instanceof Kt&&!on&&(rn=At.fromSet(rn)),Yt instanceof Kt&&!on&&(Yt=At.fromSet(Yt)),this.callPeekers("pre_operator",rn,Yt,Xt);var mn=o[Xt.action](rn,Yt);this.callPeekers("post_operator",mn,rn,Yt,Xt),ot.push(mn)}else if(Xt.type===b.FUNCTION){var Zt=ot.pop(),_n=Zt.parent;Zt instanceof w||(Zt=w.create(Zt));var yn=Xt.value,Cn=Zt.getItems();this.callPeekers("pre_function",yn,Cn);var In=o.callfunction(yn,Cn);this.callPeekers("post_function",In,yn,Cn);var Pn=ot[ot.length-1],Dn=m[bt+1],gn=Dn&&Dn.type===b.OPERATOR&&Dn.value===",";if(!gn&&In instanceof At&&Pn&&Pn.elements&&!(Pn instanceof w)){var Tn=ot.pop(),Fn=In.elements[0];if(!Fn.isConstant())Tn.getter=Fn,ot.push(Tn),ot.push(In);else if(Fn instanceof X)ot.push(At.fromArray(Tn.elements.slice(Fn.start,Fn.end)));else{var Ln=Number(Fn),zn=Tn.elements.length;if(Ln<0&&(Ln=zn+Ln),Ln<0||Ln>=zn)throw new Me("Index out of range "+(Xt.column+1));var Wn=Tn.elements[Ln];Tn.getter=Ln,Wn.parent=Tn,ot.push(Wn)}}else _n&&(In.parent=_n),ot.push(In)}else{var Gn,Xn=Xt.value;Xn in _.ALIASES?Xt=o.parse(_.ALIASES[Xt]):Xt.type===b.VARIABLE_OR_LITERAL?Xt=new $(Xn):Xt.type===b.UNIT&&(Xt=new $(Xn),Xt.isUnit=!0),Xn in o.CONSTANTS?(Gn=Xt,Xt=new $(o.CONSTANTS[Xn])):Xn in k&&Xn!==k[Xn].toString()?(Gn=Xt,Xt=k[Xn].clone()):Xn in d&&(Gn=Xt,Xt=d[Xn].clone()),Gn&&(Xt.subbed=Gn),ot.push(Xt)}}var ir=ot[0];if(["undefined","string","number"].indexOf(typeof ir)!==-1)throw new W("Unexpected token!");return ir}catch(mr){var xr=[C];throw xr.forEach(function(_r){if(mr instanceof _r)throw new _r(mr.message+": "+Xt.column)}),new s(mr.message+": "+Xt.column)}};function N(m){this.type=m.type,this.value=m.value,this.left=m.left,this.right=m.right}N.prototype.toString=function(){var m=this.left?this.left.toString()+"---":"",k=this.right?"---"+this.right.toString():"";return m+"("+this.value+")"+k},N.prototype.toHTML=function(m,k){m=m||0,k=typeof k=="undefined"?4:k;var Pe=function(Xt){return" ".repeat(k*Xt)},Ht="",ot=this.left?Pe(m+1)+`<li>
|
||
`+this.left.toHTML(m+2,k)+Pe(m+1)+`</li>
|
||
`:"",bt=this.right?Pe(m+1)+`<li>
|
||
`+this.right.toHTML(m+2,k)+Pe(m+1)+`</li>
|
||
`:"",Ht=Pe(m)+'<div class="'+this.type.toLowerCase()+'"><span>'+this.value+"</span></div>"+Pe(m)+`
|
||
`;return(ot||bt)&&(Ht+=Pe(m)+`<ul>
|
||
`+ot+bt+Pe(m)+`</ul>
|
||
`),Ht+="",Ht},this.tree=function(m){for(var k=[],Pe=0;Pe<m.length;Pe++){var ot=m[Pe];if(Array.isArray(ot)){ot=this.tree(ot),k.push(ot);continue}if(ot.type===b.OPERATOR)if(ot.is_prefix||ot.postfix){var bt=ot.is_prefix?"left":"right",Ht=k.pop();ot=new N(ot),ot[bt]=Ht,k.push(ot)}else ot=new N(ot),ot.right=k.pop(),ot.left=k.pop(),k.push(ot);else if(ot.type===b.FUNCTION){ot=new N(ot);var Xt=k.pop();if(ot.right=Xt,ot.value==="object"){var Ht=k[k.length-1];if(Ht){for(;Ht.right;)Ht=Ht.right;Ht.right=ot;continue}}k.push(ot)}else k.push(new N(ot))}return k[0]},this.parse=function(m,k){m=p(m),k=k||{};var Pe=this.tokenize(m),ot=this.toRPN(Pe);return this.parseRPN(ot,k)},this.toObject=function(m){var k=function(Pe){for(var ot=[],bt=0,Ht=Pe.length;bt<Ht;bt++){var Xt=Pe[bt],Yt=Xt.value;if(Xt.type===b.VARIABLE_OR_LITERAL)ot.push(new $(Yt));else if(Xt.type===b.FUNCTION){bt++;var rn=o.symfunction(Yt,k(Pe[bt]));rn.isConversion=!0,ot.push(rn)}else Xt.type===b.OPERATOR?ot.push(Yt):ot.push(k(Xt))}return ot};return k(o.tokenize(m))};var we=function(m){for(var k,Pe=0,ot=[[]],k=0,bt=m.length;k<bt;k++)m[k]===","?(Pe++,ot[Pe]=[]):ot[Pe].push(m[k]);return ot},Re=function(m){return m.replace(/^\\left\((.+)\\right\)$/g,function(k,Pe){return Pe||k})},rt=function(m){for(var k=[];m.length;){var Pe=m.shift(),ot=m[0],bt=P(ot),Ht=ot==="-";if(Pe==="^"&&(ot==="+"?m.shift():bt&&ot[0]==="+"&&ot.shift(),bt&&ot.length===1&&m.unshift(m.shift()[0])),Pe==="^"&&(bt&&ot[0]==="-"||Ht)){var Xt=k.pop(),Yt=k[k.length-1],rn="1";Yt==="*"?(k.pop(),rn=k.pop()):P(Yt)&&(rn=k.pop()),k.push(rn,"/",Xt,Pe),bt?ot.shift():m.shift(),bt&&ot.length===1&&k.push(m.shift()[0])}else k.push(Pe)}return k};this.toTeX=function(m,k){k=k||{};var Pe=k.decimals===!0?"decimals":void 0,ot=typeof m=="string"?this.toObject(m):m,bt=[],Ht=typeof k.cdot=="undefined"?"\\cdot":k.cdot;if(ot=rt(ot),P(ot)){for(var Xt=[],Yt,rn,on=0;on<ot.length;on++)Yt=ot[on],ot[on+1]==="^"?(rn=ot[on+2],Xt.push(xt.braces(this.toTeX([Yt]))+"^"+xt.braces(this.toTeX([rn]))),on+=2):Xt.push(Yt);ot=Xt}for(var on=0,mn=ot.length;on<mn;on++){var Zt=ot[on];if(Zt==="*"&&(Zt=Ht),me(Zt))if(Zt.group===ve){var _n=Zt.fname,yn;if(_n===ze)yn="\\sqrt"+xt.braces(this.toTeX(Zt.args));else if(_n===Oe)yn=xt.brackets(this.toTeX(Zt.args),"abs");else if(_n===Te)yn=xt.brackets(this.toTeX(Zt.args),"parens");else if(_n===_.LOG10)yn="\\"+_.LOG10_LATEX+"\\left( "+this.toTeX(Zt.args)+"\\right)";else if(_n===_.LOG)yn="\\ln\\left( "+this.toTeX(Zt.args)+"\\right)";else if(_n==="floor")yn="\\left \\lfloor{"+this.toTeX(Zt.args)+"}\\right \\rfloor";else if(_n==="ceil")yn="\\left \\lceil{"+this.toTeX(Zt.args)+"}\\right \\rceil";else if(_n==="integrate"){var Cn=we(Zt.args),In=xt.braces(this.toTeX(Cn[0])),Pn=this.toTeX(Cn[1]);yn="\\int "+In+"\\, d"+Pn}else if(_n==="defint"){var Cn=we(Zt.args),In=xt.braces(this.toTeX(Cn[0])),Pn=this.toTeX(Cn[3]),Dn=this.toTeX(Cn[1]),gn=this.toTeX(Cn[2]);yn="\\int\\limits_{"+Dn+"}^{"+gn+"} "+In+"\\, d"+Pn}else if(_n==="diff"||_n==="D"){var Cn=we(Zt.args),Pn="",In=xt.braces(this.toTeX(Cn[0]));if(Cn.length===1){var Tn=[];for(Ln=0;Ln<Cn[0].length;Ln++)Cn[0][Ln].group===3&&Tn.push(Cn[0][Ln].value);Tn.sort(),Pn=Tn.length>0?"\\frac{d}{d "+Tn[0]+"}":"\\frac{d}{d x}"}else Cn.length===2?Pn="\\frac{d}{d "+Cn[1]+"}":Pn="\\frac{d^{"+Cn[2]+"}}{d "+this.toTeX(Cn[1])+"^{"+Cn[2]+"}}";yn=Pn+"\\left("+In+"\\right)"}else if(_n==="sum"||_n==="product"){var Fn=[[],[],[],[]],Ln=0,on;for(on=0;on<Zt.args.length;on++){if(Zt.args[on]===","){Ln++;continue}Fn[Ln].push(Zt.args[on])}yn=(_n==="sum"?"\\sum_":"\\prod_")+xt.braces(this.toTeX(Fn[1])+" = "+this.toTeX(Fn[2])),yn+="^"+xt.braces(this.toTeX(Fn[3]))+xt.braces(this.toTeX(Fn[0]))}else if(_n==="limit"){var zn=we(Zt.args).map(function(Gn){return Array.isArray(Gn)?o.toTeX(Gn.join("")):o.toTeX(String(Gn))});yn="\\lim_"+xt.braces(zn[1]+"\\to "+zn[2])+" "+xt.braces(zn[0])}else _n===ut||_n===at?yn=this.toTeX(Zt.args)+(_n===ut?"!":"!!"):yn=xt.latex(Zt,Pe);bt.push(yn)}else bt.push(xt.latex(Zt,Pe));else P(Zt)?bt.push(xt.brackets(this.toTeX(Zt))):Zt==="/"?bt.push(xt.frac(Re(bt.pop()),Re(this.toTeX([ot[++on]])))):bt.push(Zt)}return bt.join(" ")};function mt(m){return _.PARSE2NUMBER?m:o.symfunction("parens",[m])}function It(m){if(m.isInfinity)return $.infinity();if(m.multiplier.lessThan(0)&&m.multiplier.negate(),m.isImaginary()){var k=m.realpart(),Pe=m.imagpart();if(k.isConstant()&&Pe.isConstant())return Dt(o.add(o.pow(k,new $(2)),o.pow(Pe,new $(2))))}else if(Lt(m)||Be(m.power))return m;if(m.isComposite()){var ot=[];m.each(function(Xt){ot.push(Xt.multiplier)});var bt=Fe.QGCD.apply(null,ot);bt.lessThan(0)&&(m.multiplier=m.multiplier.multiply(new oe(-1)),m.distributeMultiplier())}var Ht=o.parse(m.multiplier);return m.toUnitMultiplier(),o.multiply(Ht,o.symfunction(Oe,[m]))}function Bt(m){var k;if(Ct(m)){var Pe=new At;return m.each(function(mn,Zt){Pe.set(Zt-1,Bt(mn))}),Pe}if(Xe(m)){var ot=new Gt;return m.each(function(mn,Zt,_n){ot.set(Zt,_n,Bt(mn))}),ot}if(_.PARSE2NUMBER&&m.isConstant())return B(m)?k=Fe.bigfactorial(m):k=Fe.gamma(m.multiplier.add(new oe(1)).toDecimal()),k=F0(k),k;if(m.isConstant()){var bt=m.getDenom();if(bt.equals(2)){var Ht=m.getNum(),Xt,Yt,rn,on;return m.multiplier.isNegative()?(on=o.subtract(Ht.negate(),new $(1)).multiplier.divide(new oe(2)),Xt=o.pow(new $(-4),new $(on)).multiplier.multiply(Fe.bigfactorial(on)),Yt=Fe.bigfactorial(new oe(2).multiply(on))):(on=o.add(Ht,new $(1)).multiplier.divide(new oe(2)),Xt=Fe.bigfactorial(new oe(2).multiply(on)),Yt=o.pow(new $(4),new $(on)).multiplier.multiply(Fe.bigfactorial(on))),rn=Xt.divide(Yt),o.multiply(o.parse("sqrt(pi)"),new $(rn))}}return o.symfunction(ut,[m])}function Rt(m,k){var Pe=Ye(m);if(Pe.isConstant()){var ot=Fe.continuedFraction(Pe,k),bt=At.fromArray(ot.fractions.map(function(Ht){return new $(Ht)}));return At.fromArray([new $(ot.sign),new $(ot.whole),bt])}return o.symfunction("continued_fraction",arguments)}function jt(m){var k=Ye(m);return k.isConstant()?Fe.erf(k):k.isImaginary()?z.erf(m):o.symfunction("erf",arguments)}function Ut(m,k){if(m.isConstant()&&k.isConstant()){var Pe=new $(1);return Pe.multiplier=Pe.multiplier.multiply(m.multiplier.mod(k.multiplier)),Pe}var ot=o.divide(m.clone(),k.clone());return B(ot)?new $(0):o.symfunction("mod",[m,k])}function en(m,k,Pe){return typeof m!="boolean"&&Lt(m)&&(m=!!Number(m)),m?k:Pe}function Wt(m,k){if(Xe(m))for(var Pe=0,ot=m.rows();Pe<ot;Pe++)for(var bt=0,Ht=m.cols();bt<Ht;bt++){var Xt=m.elements[Pe][bt];if(Xt.equals(k))return new $(1)}else if(m.elements){for(var Pe=0,ot=m.elements.length;Pe<ot;Pe++)if(m.elements[Pe].equals(k))return new $(1)}return new $(0)}function Qt(m){return _.PARSE2NUMBER?m.isConstant()?new $(Fe.sinc(m)):o.parse(D("sin({0})/({0})",m)):o.symfunction("sinc",[m])}function sn(m){return m.fname===_.LOG&&m.isLinear()?o.pow(m.args[0],$.create(m.multiplier)):o.parse(D("e^({0})",m))}function ln(m){return o.parse(D("({0})*pi/180",m))}function dn(m){return o.parse(D("({0})*180/pi",m))}function En(m){var k,Pe;if(m.group===ve&&m.fname===""?(k=$.unwrapPARENS(o.parse(m).toLinear()),Pe=o.parse(m.power)):m.group===ie&&(k=o.parse(m.value),Pe=o.parse(m.power)),k&&Pe&&k.group===R&&Pe.group===R){for(var ot=[],bt=$.toPolarFormArray(m),Ht=o.parse(k).abs().toString(),Xt=An(k).toString(),Yt=Pe.multiplier.den.toString(),rn=Pe.multiplier.num.toString(),on="(({0})^({1})*(cos({3})+({2})*sin({3})))^({4})",mn=0;mn<Yt;mn++){var Zt=Ye(o.parse(D("(({0})+2*pi*({1}))/({2})",Xt,mn,Yt))).multiplier.toDecimal();ot.push(Ye(o.parse(D(on,Ht,Yt,_.IMAGINARY,Zt,rn))))}return At.fromArray(ot)}else if(m.isConstant(!0)){var _n=m.sign(),Xt=Ye(m.abs()),yn=o.sqrt(Xt),ot=[yn.clone(),yn.negate()];_n<0&&(ot=ot.map(function(Pn){return o.multiply(Pn,$.imaginary())}))}else ot=[o.parse(m)];return At.fromArray(ot)}function vn(m){if(m.isComposite()){var k=new $(0),Pe,ot,bt,Ht,Xt,Yt,rn,on;return m.each(function(mn){Pe=mn.getNum(),ot=mn.getDenom(),bt=k.getNum(),Ht=k.getDenom(),Xt=o.multiply(ot,bt),Yt=o.multiply(Pe,Ht),rn=o.expand(o.add(Xt,Yt)),on=o.multiply(Ht,ot),k=o.divide(rn,on)},!0),k}return m}function Dt(m){if(me(m)||(m=o.parse(m)),m.group===de)return o.symfunction(ze,[m]);m.fname===""&&m.power.equals(1)&&(m=m.args[0]);var k=m.multiplier.sign()<0;if(_.PARSE2NUMBER){if(m.isConstant()&&!k)return new $(l.sqrt(m.multiplier.toDecimal()));if(m.isImaginary())return z.sqrt(m);if(m.group===K)return o.symfunction("sqrt",[m])}var Pe,ot,bt=m.isConstant();if(m.group===Ie&&m.isLinear()){var Ht=Dt($(m.multiplier));for(var Xt in m.symbols){var Yt=m.symbols[Xt];Ht=o.multiply(Ht,Dt(Yt))}ot=Ht}else if(m.fname===ze){var Xt=m.args[0],rn=m.multiplier;Xt.setPower(m.power.multiply(new oe(.25))),ot=Xt,rn.equals(1)||(ot=o.multiply(Dt(o.parse(rn)),ot))}else if(!m.power.isInteger())m.setPower(m.power.multiply(new oe(.5))),ot=m;else if(m.multiplier<0&&m.group===K){var on=o.parse(m.multiplier).negate(),mn=o.parse(m).toUnitMultiplier().negate();ot=o.multiply(o.symfunction(_.SQRT,[mn]),Dt(on))}else{var Zt=m.power.sign();m.power=m.power.abs(),bt&&m.multiplier.lessThan(0)&&(Pe=$.imaginary(),m.multiplier=m.multiplier.abs());var _n=m.multiplier.toDecimal(),yn=Math.abs(_n),Cn=Math.sqrt(yn),Ht;if(B(Cn))Ht=new $(Cn);else if(B(_n)){var In=Fe.ifactor(_n),Pn=1;for(var Yt in In){var Dn=In[Yt],gn=Dn-Dn%2;if(gn){var Tn=Math.pow(Yt,gn);Pn*=Math.pow(Yt,gn/2),_n/=Tn}}Ht=o.multiply(o.symfunction(ze,[new $(_n)]),new $(Pn))}else{for(var Fn=[new $(m.multiplier.num),new $(m.multiplier.den)],Ln=[new $(1),new $(1)],zn=[new $(1),new $(1)],Wn=0;Wn<2;Wn++){var Dn=Fn[Wn];Nn(Dn).each(function(ir){ir=$.unwrapPARENS(ir);var xr=ir.clone().toLinear(),mr=Number(ir.power),_r=mr%2,Ar=(mr-_r)/2;Ln[Wn]=o.multiply(Ln[Wn],o.pow(xr,new $(Ar))),zn[Wn]=o.multiply(zn[Wn],Dt(o.pow(xr,new $(_r))))})}Ht=o.divide(o.multiply(Ln[0],zn[0]),o.multiply(Ln[1],zn[1]))}m=m.toUnitMultiplier(!0),m.isOne()?ot=m:Be(m.power.toString())?ot=o.pow(m.clone(),new $(.5)):ot=o.symfunction(ze,[m]),Zt<0&&ot.power.negate(),Ht&&(ot=o.multiply(Ht,ot)),Pe&&(ot=o.multiply(Pe,ot))}return k&&_.PARSE2NUMBER?o.parse(ot):ot}function tn(m){if(!m.isConstant(!0)){var k,Pe=m.power/3,ot=o.pow(o.parse(m.multiplier),new $(1/3)),bt=m.toUnitMultiplier();return B(Pe)?k=o.pow(bt.toLinear(),o.parse(Pe)):bt.group===Ie?(k=new $(1),bt.each(function(Ht){k=o.multiply(k,tn(Ht))})):k=o.symfunction("cbrt",[bt]),o.multiply(ot,k)}return pn(m,new $(3))}function hn(m,k){return m.scientific=k||10,m}function pn(m,k,Pe,ot){if(k=Ye(o.parse(k)),k.equals(0))throw new x("Unable to calculate nthroots of zero");if(m<0&&Be(k))throw new Error("Cannot calculate nthroot of negative number for even powers");if(!m.isConstant(!0))return o.symfunction("nthroot",arguments);m.group!==R&&(m=Ye(m)),typeof ot=="undefined"&&(ot=!0),Pe=Pe||25;var bt=m.sign(),Ht,Xt;if(bt<0&&(m=It(m)),B(m)&&k.isConstant()){m<18446744073709552e3?Xt=oe.create(Math.pow(m,1/k)):Xt=Fe.nthroot(m,k);var Ht;return ot&&(Ht=new $(Xt)),Ht=new $(Xt.toDecimal(Pe)),o.multiply(new $(bt),Ht)}}function Nn(m){if(m.greaterThan(9999999999998891e26)||m.equals(-1))return m;if(m.equals(Math.PI))return new $(Math.PI);if(m=Ye(m.clone()),m.isConstant()){var k=new $(1),Pe=m.toString();if(B(Pe)){var ot=Fe.ifactor(Pe);for(var bt in ot){var Ht=ot[bt];k=o.multiply(k,o.symfunction("parens",[new $(bt).setPower(new oe(Ht))]))}}else{var Xt=Nn(new $(m.multiplier.num)),Yt=Nn(new $(m.multiplier.den));k=o.multiply(o.symfunction("parens",[Xt]),o.symfunction("parens",[Yt]).invert())}}else k=o.symfunction("pfactor",arguments);return k}function wn(m){return m.realpart()}function Mn(m){return m.imagpart()}function xn(m){var k=m.realpart(),Pe=m.imagpart();return o.add(k,o.multiply(Pe.negate(),$.imaginary()))}function An(m){var k=m.realpart(),Pe=m.imagpart();return k.isConstant()&&Pe.isConstant()?Pe.equals(0)&&k.equals(-1)?o.parse("pi"):Pe.equals(1)&&k.equals(0)?o.parse("pi/2"):Pe.equals(1)&&k.equals(1)?o.parse("pi/4"):new $(Math.atan2(Pe,k)):o.symfunction("atan2",[Pe,k])}function Jn(m){var k,Pe,ot,bt;return k=$.toPolarFormArray(m),bt=k[1],Pe=k[0],ot=o.parse(D("e^({0}*({1}))",_.IMAGINARY,bt)),o.multiply(Pe,ot)}function ei(m){var k=m.clone();try{var Pe,ot,bt,Ht,Xt,Yt,rn;return Pe=Je(m,"e",!0),ot=o.divide(Pe.x.power,$.imaginary()),bt=Ye(_e.tan(ot)),Ht=o.pow(Pe.a,new $(2)),Yt=bt.getDenom(!0),rn=bt.getNum(),Xt=$.hyp(rn,Yt),Xt.equals(Pe.a)?o.add(Yt,o.multiply($.imaginary(),rn)):k}catch(on){return k}}function Xr(m,k){k.map(function(Yt){Yt.numVal=Ye(Yt).multiplier});for(var Pe,ot,bt,Ht,Xt;;){if(Pe=k.length,Pe<2)return k[0];ot=k.pop(),bt=k[Pe-2],(m==="min"?ot.numVal<bt.numVal:ot.numVal>bt.numVal)&&(k.pop(),k.push(ot))}}function $n(){var m=[].slice.call(arguments);return q(m)?m[0]:Z(m)?new $(Math.max.apply(null,m)):_.SYMBOLIC_MIN_MAX&&g(m)?Xr("max",m):o.symfunction("max",m)}function Ri(){var m=[].slice.call(arguments);return q(m)?m[0]:Z(m)?new $(Math.min.apply(null,m)):_.SYMBOLIC_MIN_MAX&&g(m)?Xr("min",m):o.symfunction("min",m)}function yi(m){return m.isConstant(!0)?new $(Math.sign(Ye(m))):o.symfunction("sign",arguments)}function Fr(m,k){k=k?k.toString():"asc";var Pe=function(bt){return bt.group===R?bt.multiplier:bt.group===ve?bt.fname===""?Pe(bt.args[0]):bt.fname:bt.group===K?bt.power:bt.value},ot=Ct(m)?m.elements:m.collectSymbols();return new At(ot.sort(function(bt,Ht){var Xt=Pe(bt),Yt=Pe(Ht);return k==="desc"?Yt-Xt:Xt-Yt}))}function Rn(m,k){if(m.equals(1))return new $(0);var Pe;if(m.fname===ze&&m.multiplier.equals(1))return Pe=o.divide(Rn(m.args[0]),new $(2)),m.power.sign()<0&&Pe.negate(),Pe;if(m.equals(0))throw new x(_.LOG+"(0) is undefined!");if(m.isImaginary())return z.evaluate(m,_.LOG);if(m.isConstant()&&typeof k!="undefined"&&k.isConstant()){var ot=Math.log(m),bt=Math.log(k);Pe=new $(ot/bt)}else if(m.group===de&&m.power.multiplier.lessThan(0)||m.power.toString()==="-1")m.power.negate(),Pe=Rn(m).negate();else if(m.value==="e"&&m.multiplier.equals(1)){var Ht=m.power;Pe=me(Ht)?Ht:new $(Ht)}else if(m.group===ve&&m.fname==="exp"){var Xt=m.args[0];m.multiplier.equals(1)?Pe=o.multiply(Xt,new $(m.power)):Pe=o.symfunction(_.LOG,[m])}else if(_.PARSE2NUMBER&&Lt(m)){m=o.parse(m);var Yt;m.multiplier.lessThan(0)&&(m.negate(),Yt=o.multiply(new $(Math.PI),new $("i"))),Pe=new $(Math.log(m.multiplier.toDecimal())),Yt&&(Pe=o.add(Pe,Yt))}else{var Xt;!m.power.equals(1)&&!m.contains("e")&&(Xt=m.group===de?m.power:new $(m.power),m.toLinear()),arguments.length>1&&q(arguments)?Pe=new $(1):Pe=o.symfunction(_.LOG,arguments),Xt&&(Pe=o.multiply(Xt,Pe))}return Pe}function Yn(m,k){var Pe=k&&k.isConstant()||typeof k=="undefined";if(m.isConstant()&&Pe){var ot,bt,Ht,Xt;return ot=m,k&&k.lessThan(0)&&(k=It(k),bt=Number(m).toExponential().toString().split("e"),ot=bt[0],Ht=bt[1]),Xt=new $(gt(ot,Number(k||0))),o.multiply(Xt,o.pow(new $(10),new $(Ht||0)))}return o.symfunction("round",arguments)}function Hr(m){var k=m%2,Pe;return k<0&&(k=2+k),k>=0&&k<=.5?Pe=1:k>.5&&k<=1?Pe=2:k>1&&k<=1.5?Pe=3:Pe=4,Pe}function F0(m){if(!isFinite(m)){var k=Math.sign(m),Pe=new $(String(Math.abs(m)));return Pe.multiplier=Pe.multiplier.multiply(new oe(k)),Pe}if(me(m))return m;if(typeof m=="number")try{m=oe.simple(m)}catch(bt){m=new oe(m)}var ot=new $(0);return ot.multiplier=m,ot}function Xi(m){var k=m.group,Pe;if(k===Qe){var ot=m.getNum(),bt=m.getDenom()||new $(1),Ht=Number(m.power),Xt=new $(1);if(Math.abs(Ht)===1){bt.each(function(on){on.group===Ie?Xt=o.multiply(Xt,Xi(on.getDenom())):on.power.lessThan(0)&&(Xt=o.multiply(Xt,Xi(on.clone().toUnitMultiplier())))});var Yt=new $(0);bt.each(function(on){Yt=o.add(o.divide(on,Xt.clone()),Yt)}),Xt.invert();var rn;ot.isComposite()?(rn=new $(0),ot.each(function(on){rn=o.add(o.multiply(Xi(on),Xt.clone()),rn)})):rn=o.multiply(Xt,ot),Pe=o.divide(rn,Yt)}}else k===Ie?(Pe=new $(1),m.each(function(on){Pe=o.multiply(Pe,o.clean(on))})):k===ve&&m.args.length===1&&m.args[0].isConstant()&&(Pe=Ze("PARSE2NUMBER",function(){return o.parse(m)},!0));return Pe||(Pe=m),Pe}function jr(m,k){return k=k||{expand_denominator:!0,expand_functions:!0},Kn(m,k)}function Kn(m,k){if(Array.isArray(m))return m.map(function(Cn){return Kn(Cn,k)});if(k=k||{},m.group===ve&&m.fname===""){var Pe=Kn(m.args[0],k),ot=Kn(o.pow(Pe,o.parse(m.power)),k);return o.multiply(o.parse(m.multiplier),ot).distributeMultiplier()}if([R,ie,K].indexOf(m.group)!==-1)return m;var bt=m.clone();try{var Ht=m.multiplier.toString(),Xt=Number(m.power),Yt=m;if(m.isComposite()&&B(m.power)&&m.power>0){var rn=Xt-1,Pe=new $(0);m.each(function(In){Pe=o.add(Pe,Kn(o.parse(In),k))});for(var on=o.parse(Pe),mn=0;mn<rn;mn++)on=E(on,Pe,k);Yt=o.multiply(o.parse(Ht),on).distributeMultiplier()}else if(m.group===ve&&k.expand_functions===!0){var Zt=[];m.args.forEach(function(Cn){Zt.push(Kn(Cn,k))}),Yt=o.pow(o.symfunction(m.fname,Zt),o.parse(m.power)),Yt=o.multiply(Yt,o.parse(m.multiplier))}else if(m.isComposite()&&B(m.power)&&m.power<0&&k.expand_denominator===!0)m=m.invert(),Yt=Kn(m,k),Yt.invert();else if(m.group===Ie){var _n=function(In){switch(In.group){case Qe:return 0;case De:return 1;case Ie:return 2;case ve:return 3;default:return 4}},yn=m.collectSymbols().sort(function(In,Pn){return _n(Pn)-_n(In)}).map(function(In){var Pn=o.pow(In,o.parse(Xt)),Dn=Kn(Pn,k);return Dn}),Pe=yn.pop();Pe.isComposite()&&Pe.isLinear()?(yn.forEach(function(In){Pe=E(Pe,In,k)}),Pe.isComposite()?(Pe.power>1&&(Pe=Kn(o.pow(Pe,o.parse(Pe.power)),k)),Yt=o.multiply(o.parse(Ht),Pe).distributeMultiplier()):Yt=Pe):(Yt=Pe,yn.forEach(function(In){Yt=o.multiply(Yt,In)}),Yt=o.multiply(Yt,o.parse(Ht)).distributeMultiplier()),Yt.group===Ie&&(Yt=o.parse(Yt))}else Yt=m;return Yt}catch(Cn){return bt}return bt}function S1(m){return Gt.identity(m)}function G2(m,k){return k.isConstant()&&B(k)?m.elements[k]:o.symfunction("vecget",arguments)}function Hh(m,k){return k=typeof k=="undefined"?1e-14:k,m=m.clone(),k=Number(k),m.elements.sort(function(Pe,ot){return ot.group-Pe.group}),m.elements=qt(m.elements,function(Pe,ot){var bt=Number(o.subtract(Ye(Pe),Ye(ot)).abs());return bt<=k}),m}function Bh(m,k,Pe){return k.isConstant?(m.elements[k]=Pe,m):o.symfunction("vecset",arguments)}function zh(m,k,Pe){return k.isConstant()&&Pe.isConstant()?m.elements[k][Pe]:o.symfunction("matget",arguments)}function Vh(m,k){return k.isConstant()?new Gt(m.elements[k]):o.symfunction("matgetrow",arguments)}function Gh(m,k,Pe){if(!k.isConstant())return o.symfunction("matsetrow",arguments);if(m.elements[k].length!==Pe.elements.length)throw new dt("Matrix row must match row dimensions!");var ot=m.clone();return ot.elements[k]=Pe.clone().elements,ot}function $h(m,k){if(!k.isConstant())return o.symfunction("matgetcol",arguments);k=Number(k);var Pe=Gt.fromArray([]);return m.each(function(ot,bt,Ht){Ht===k&&Pe.elements.push([ot.clone()])}),Pe}function Xh(m,k,Pe){if(!k.isConstant())return o.symfunction("matsetcol",arguments);if(k=Number(k),m.rows()!==Pe.elements.length)throw new dt("Matrix columns must match number of columns!");return Pe.each(function(ot,bt){m.set(bt-1,k,ot.elements[0].clone())}),m}function jh(m,k,Pe,ot){return m.elements[k][Pe]=ot,m}function Yh(){return new At([].slice.call(arguments))}function Wh(){return Gt.fromArray(arguments)}function Zh(){return Kt.fromArray(arguments)}function Qh(m){return Xe(m)?m.determinant():m}function Jh(m){var k;return Xe(m)?k=[new $(m.cols()),new $(m.rows())]:Ct(m)||he(m)?k=new $(m.elements.length):f("size expects a matrix or a vector"),k}function Kh(m,k){if(Ct(m)&&Ct(k))return m.dot(k);f("function dot expects 2 vectors")}function ed(m,k){if(Ct(m)&&Ct(k))return m.cross(k);f("function cross expects 2 vectors")}function td(m){if(Xe(m))return m.transpose();f("function transpose expects a matrix")}function nd(m){if(Xe(m))return m.invert();f("invert expects a matrix")}function rd(m,k){return m.union(k)}function id(m,k){return m.intersection(k)}function od(m,k){return m.contains(k)}function ad(m,k){return m.difference(k)}function sd(m,k){return new $(Number(m.intersects(k)))}function ud(m,k){return new $(Number(m.is_subset(k)))}function ld(){Et(arguments).map(function(m){console.log(m.toString())})}function j6(m){if(!me(m.power)&&m.power.absEquals(.5)){var k=m.power.sign(),Pe=Dt(m.group===ie?new $(m.value):m.toLinear());return k<0&&Pe.invert(),Pe}return m}function cd(m){if(m.group===ie){var k=m.value,Pe=St(k)[0];if(!Pe)return V("Unable to compute prime factors. This should not happen. Please review and report."),m;var ot=new oe(Math.log(k)/Math.log(Pe)),bt=ot.multiply(m.power);if(bt.den>m.power.den)return m;B(bt)?m=$(Math.pow(Pe,bt)):m=new $(Pe).setPower(bt)}return m}this.expand=Kn,this.round=Yn,this.clean=Xi,this.sqrt=Dt,this.cbrt=tn,this.abs=It,this.log=Rn,this.rationalize=vn,this.nthroot=pn,this.arg=An,this.conjugate=xn,this.imagpart=Mn,this.realpart=wn,this.getFunction=function(m){return pt[m][0]},this.addPreprocessor=function(m,k,Pe,ot){var bt=F.names,Ht=F.actions;if(typeof k!="function")throw new PreprocessorError("Incorrect parameters. Function expected!");Pe?ot?(bt.splice(Pe,0,m),Ht.splice(Pe,0,k)):(bt[Pe]=m,Ht[Pe]=k):(bt.push(m),Ht.push(k))},this.getPreprocessors=function(){for(var m={},k=0,Pe=m.names.length;k<Pe;k++){var ot=m.names[k];m[ot]={order:k,action:m.actions[k]}}return m},this.removePreprocessor=function(m,k){var Pe=F.names.indexOf(m);k?(Tt(F.names,Pe),Tt(F.actions,Pe)):(F.names[Pe]=void 0,F.actions[Pe]=void 0)},this.mapped_function=function(){for(var m={},k=this.params,Pe=0;Pe<k.length;Pe++)m[k[Pe]]=String(arguments[Pe]);return o.parse(this.body,m)},this.add=function(m,k){var Pe=me(m),ot=me(k);if(Pe&&ot){if(m.unit||k.unit)return o.Unit.add(m,k);if(m.isInfinity||k.isInfinity){var bt=m.multiplier.lessThan(0),Ht=k.multiplier.lessThan(0);if(m.isInfinity&&k.isInfinity&&bt!==Ht)throw new x("("+m+")+("+k+") is not defined!");var Xt=$.infinity();return Ht&&Xt.negate(),Xt}if(m.isComposite()&&m.isLinear()&&k.isComposite()&&k.isLinear()&&(m.distributeMultiplier(),k.distributeMultiplier(),k.length>m.length&&m.group===k.group&&([m,k]=[k,m])),m.multiplier.equals(0))return k;if(k.multiplier.equals(0))return m;if(m.isConstant()&&k.isConstant()&&_.PARSE2NUMBER){var Tn=new $(m.multiplier.add(k.multiplier).toDecimal(_.PRECISION));return Tn}var Yt=m.group,rn=k.group,on=m.power.toString(),mn=k.power.toString();if(Yt<rn||Yt===rn&&on>mn&&mn>0)return this.add(k,m);if(Yt===Ie&&rn===De&&m.value===k.value){var Zt=m;m=k,k=Zt,Yt=m.group,rn=k.group,on=m.power.toString(),mn=k.power.toString()}var _n=on===mn,yn=m.value,Cn=k.value,In=m.isComposite(),Pn=k.isComposite(),Dn,gn,Tn;if(In&&(Dn=ft(m,"hash")),Pn&&(gn=ft(k,"hash")),Yt===Qe&&rn===Qe&&k.isLinear()&&!m.isLinear()&&Dn!==gn)return this.add(k,m);Yt===De&&rn===De&&(yn=Dn,Cn=gn);var Fn=Yt===ie&&rn===R,Ln=m.value===k.multiplier.toString(),zn=yn===Cn||Dn===gn&&Dn!==void 0||Fn&&Ln;if(zn&&_n&&Yt===rn)if(Fn&&(k=k.convert(ie)),Yt===De&&(rn===K||rn===ie))m.distributeMultiplier(),Tn=m.attach(k);else if(Tn=m,m.multiplier.isOne()&&k.multiplier.isOne()&&Yt===Qe&&m.isLinear()&&k.isLinear())for(var Wn in k.symbols){var Gn=k.symbols[Wn];Tn.attach(Gn)}else Tn.multiplier=Tn.multiplier.add(k.multiplier);else if(zn&&Yt!==De)Yt===Qe&&rn===De?(k.insert(m,"add"),Tn=k):(Tn=$.shell(De).attach([m,k]),Tn.value=Yt===De?Dn:yn);else if(In&&m.isLinear()){var Xn=Yt===rn,ir=Yt===De&&rn===De;if(ir&&(Xn=m.value===k.value),m.distributeMultiplier(),k.isComposite()&&k.isLinear()&&Xn){k.distributeMultiplier();for(var Wn in k.symbols){var Gn=k.symbols[Wn];m.attach(Gn)}Tn=m}else ir&&m.value!==gn||Yt===De&&!zn?(Tn=$.shell(Qe).attach([m,k]),Tn.updateHash()):Tn=m.attach(k)}else{if(Yt===ve&&m.fname===ze&&rn!==de&&k.power.equals(.5)){var xr=k.multiplier.clone();k=Dt(k.toUnitMultiplier().toLinear()),k.multiplier=xr}m.length===2&&k.length===2&&Be(m.power)&&Be(k.power)?Tn=o.add(Kn(m),Kn(k)):(Tn=$.shell(Qe).attach([m,k]),Tn.updateHash())}if(Tn.multiplier.equals(0)&&(Tn=new $(0)),Tn.length===1){var xr=Tn.multiplier;Tn=Ee(Tn.symbols),Tn.multiplier=Tn.multiplier.multiply(xr)}return Tn}else{if(ot&&!Pe){var Zt=m;m=k,k=Zt,Zt=ot,ot=Pe,Pe=Zt}var mr=Xe(k);if(Pe&&mr){var _r=new Gt;k.eachElement(function(l0,gr,Si){_r.set(gr,Si,o.add(m.clone(),l0))}),k=_r}else if(Xe(m)&&mr)k=m.add(k);else if(Pe&&Ct(k))k.each(function(l0,gr){gr--,k.elements[gr]=o.add(m.clone(),k.elements[gr])});else if(Ct(m)&&Ct(k))k.each(function(l0,gr){gr--,k.elements[gr]=o.add(m.elements[gr],k.elements[gr])});else{if(Ct(m)&&Xe(k))return o.add(k,m);if(Xe(m)&&Ct(k))if(k.elements.length===m.rows()){var _r=new Gt,Ar=m.cols();return k.each(function(gr,Si){for(var c0=[],qi=0;qi<Ar;qi++)c0.push(o.add(m.elements[Si-1][qi].clone(),gr.clone()));_r.elements.push(c0)}),_r}else f("Dimensions must match!")}return k}},this.subtract=function(m,k){var Pe=Pe=me(m),ot=me(k),bt;if(Pe&&ot)return m.unit||k.unit?o.Unit.subtract(m,k):this.add(m,k.negate());if(ot&&Ct(m))k=m.map(function(Yt){return o.subtract(Yt,k.clone())});else if(Pe&&Ct(k))k=k.map(function(Yt){return o.subtract(m.clone(),Yt)});else if(Ct(m)&&Ct(k))m.dimensions()===k.dimensions()?k=m.subtract(k):o.error("Unable to subtract vectors. Dimensions do not match.");else if(Xe(m)&&Ct(k))if(k.elements.length===m.rows()){var Ht=new Gt,Xt=m.cols();return k.each(function(Yt,rn){for(var on=[],mn=0;mn<Xt;mn++)on.push(o.subtract(m.elements[rn-1][mn].clone(),Yt.clone()));Ht.elements.push(on)}),Ht}else f("Dimensions must match!");else if(Ct(m)&&Xe(k)){var Ht=k.clone().negate();return o.add(Ht,m)}else if(Xe(m)&&Xe(k))k=m.subtract(k);else if(Xe(m)&&ot){var Ht=new Gt;m.each(function(rn,on,mn){Ht.set(on,mn,o.subtract(rn,k.clone()))}),k=Ht}else if(Pe&&Xe(k)){var Ht=new Gt;k.each(function(rn,on,mn){Ht.set(on,mn,o.subtract(m.clone(),rn))}),k=Ht}return k},this.multiply=function(m,k){var Pe=me(m),ot=me(k);if(Pe&&k instanceof w)return k.elements.push(m),k;if(Pe&&ot){if(k.isUnit){var gn=m.clone();return m.unit=k,gn}if(m.unit||k.unit)return o.Unit.multiply(m,k);if(m.isInfinity||k.isInfinity){if(m.equals(0)||k.equals(0))throw new x(m+"*"+k+" is undefined!");if(k.power.lessThan(0)){if(m.isInfinity)throw new x("Infinity/Infinity is not defined!");return new $(0)}var In=m.multiplier.multiply(k.multiplier).sign(),bt=$.infinity();if(m.isConstant()||k.isConstant()||m.isInfinity&&k.isInfinity)return In<0&&bt.negate(),bt}if(m.isConstant()&&k.isConstant()&&_.PARSE2NUMBER){var Ht=new l(m.multiplier.toDecimal()).times(new l(k.multiplier.toDecimal())).toFixed(),Xt=new $(Ht);return Xt}if(m.isOne())return k.clone();if(k.isOne())return m.clone();if(m.multiplier.equals(0)||k.multiplier.equals(0))return new $(0);if(k.group>m.group&&k.group!==Qe)return this.multiply(k,m);if(m.group===Ie&&k.group===De&&m.value===k.value){var Ht=m;m=k,k=Ht}var Yt=m.group,rn=k.group,on=k.multiplier.num,mn=k.multiplier.den;if(Yt===ve&&m.fname===ze&&!k.isConstant()&&m.args[0].value===k.value&&!m.args[0].multiplier.lessThan(0)){var Zt=m.power,_n=o.parse(m.multiplier);m=o.multiply(_n,m.args[0].clone()),m.setPower(new oe(.5).multiply(Zt)),Yt=m.group}else Yt===ve&&m.fname===ze&&m.multiplier.equals(1)&&m.power.equals(-1)&&k.isConstant()&&m.args[0].equals(k)&&(m=o.symfunction(ze,[k.clone()]),k=new $(1));var yn=m.value,Cn=k.value,In=new oe(m.sign()),Pn=Yt===ie&&rn===R&&k.multiplier.equals(m.value),Dn=Pn?new oe(1).multiply(m.multiplier).abs():m.multiplier.multiply(k.multiplier).abs(),gn=m.clone().toUnitMultiplier();if(k=k.clone().toUnitMultiplier(!0),Yt===ve&&rn===ve){var Tn=m.args[0].clone(),Fn=k.args[0].clone();if(m.fname===ze&&k.fname===ze&&m.isLinear()&&k.isLinear()){var Ln=o.divide(Tn,Fn).invert();Ln.gt(1)&&B(Ln)&&(gn=o.multiply(m.args[0].clone(),Dt(Ln.clone())),k=new $(1))}else if(m.fname===ut&&k.fname===ut&&!Tn.isConstant()&&!Fn.isConstant()&&k.power<0){var zn=o.subtract(Tn.clone(),Fn.clone());if(zn.isConstant())if(Ht=new $(1),zn<0){for(var Wn=0,Gn=Math.abs(zn);Wn<=Gn;Wn++){var Xn=o.add(Tn.clone(),new $(Wn));Ht=o.multiply(Ht,Xn)}gn=o.multiply(o.pow(Tn,new $(m.power)),o.pow(Ht,new $(k.power))),k=new $(1)}else{for(var Wn=0,Gn=Math.abs(zn);Wn<=Gn;Wn++){var Xn=o.add(Fn.clone(),new $(Wn));Ht=o.multiply(Ht,Xn)}gn=o.multiply(o.pow(Ht,new $(m.power)),o.pow(Fn,new $(k.power))),k=new $(1)}}}if(yn===Cn&&Yt===De&&Yt===rn&&(yn=m.text("hash"),Cn=k.text("hash")),rn===de&&k.previousGroup===De&&Yt===De&&(yn=ft(m,"hash",de)),(yn===Cn||Pn)&&!(Yt===De&&(rn===K||rn===ie||rn===ve))&&!(Yt===De&&rn===Ie)){var ir=m.power,xr=k.power,mr=me(ir),_r=me(xr),Ar=mr||_r;if(Yt===De&&rn!==De&&k.previousGroup!==De&&ir.equals(1))gn=new $(0),m.each(function(H0){gn=o.add(gn,o.multiply(H0,k.clone()))},!0);else{if(gn.power=Ar?o.add(me(ir)?ir:new $(ir),me(xr)?xr:new $(xr)):Yt===R?ir:ir.add(xr),gn.power.equals(0)&&(gn=gn.convert(R)),Ar&&gn.convert(de),m.imaginary&&k.imaginary){var l0=Be(gn.power%2);l0&&(gn=new $(1),Dn.negate())}gn.group!==de&&gn.previousGroup&&(gn.previousGroup=void 0),gn.multiplier=gn.multiplier.multiply(k.multiplier)}}else if(Yt===Ie&&m.isLinear())if(rn===Ie&&k.distributeExponent(),rn===Ie&&k.isLinear()){for(var Xn in k.symbols){var gr=k.symbols[Xn];gn=gn.combine(gr)}gn.multiplier=gn.multiplier.multiply(k.multiplier)}else gn.combine(k);else if(Yt!==R){if(Yt===Ie)gn.distributeExponent(),gn.combine(k);else if(!k.isOne()){var Si=k.multiplier.clone();k.toUnitMultiplier(),gn=$.shell(Ie).combine([gn,k]),gn.multiplier=gn.multiplier.multiply(Si)}}else gn=k.clone().toUnitMultiplier();if(gn.group===ie){var c0=Math.log(gn.value),qi=Math.log(on)/c0,er=Math.log(mn)/c0,Ir=Dn.num/on,vr=Dn.den/mn;qi!==0&&B(qi)&&B(Ir)&&(gn.power=gn.power.add(new oe(qi)),Dn.num/=on),er!==0&&B(er)&&B(vr)&&(gn.power=gn.power.subtract(new oe(er)),Dn.den/=mn)}if(gn.length===1){var Ht=gn.multiplier;gn=Ee(gn.symbols),gn.multiplier=gn.multiplier.multiply(Ht)}var ji=gn.power.toString();if(Be(ji)&&gn.fname===ze){In=In*gn.sign();var M0=gn.power;gn=gn.args[0],gn=o.multiply(new $(Dn),o.pow(gn,new $(M0.divide(new oe(2))))),In<0&&gn.negate()}else gn.multiplier=gn.multiplier.multiply(Dn).multiply(In),gn.group===Qe&&gn.isImaginary()&&gn.distributeMultiplier();return gn.group===ie&&B(gn.power.toDecimal())&&(gn=gn.convert(R)),gn}else{ot&&!Pe&&(Ht=m,m=k,k=Ht,Ht=ot,ot=Pe,Pe=Ht);var Y1=Xe(k),W1=Xe(m);if(Pe&&Y1){var f0=new Gt;k.eachElement(function(H0,li,j2){f0.set(li,j2,o.multiply(m.clone(),H0))}),k=f0}else if(W1&&Y1)k=m.multiply(k);else if(Pe&&Ct(k))k.each(function(H0,li){li--,k.elements[li]=o.multiply(m.clone(),k.elements[li])});else if(Ct(m)&&Ct(k))k.each(function(H0,li){li--,k.elements[li]=o.multiply(m.elements[li],k.elements[li])});else{if(Ct(m)&&Xe(k))return this.multiply(k,m);if(Xe(m)&&Ct(k))if(k.elements.length===m.rows()){var f0=new Gt,X2=m.cols();return k.each(function(li,j2){for(var B0=[],_1=0;_1<X2;_1++)B0.push(o.multiply(m.elements[j2-1][_1].clone(),li.clone()));f0.elements.push(B0)}),f0}else f("Dimensions must match!")}return k}},this.divide=function(m,k){var Pe=me(m),ot=me(k);if(Pe&&ot){if(m.unit||k.unit)return o.Unit.divide(m,k);var bt;if(k.equals(0))throw new T("Division by zero not allowed!");return m.isConstant()&&k.isConstant()?(bt=m.clone(),bt.multiplier=bt.multiplier.divide(k.multiplier)):(k.invert(),bt=o.multiply(m,k)),bt}else{var Ht=Ct(m),Xt=Ct(k);if(Pe&&Xt)k=k.map(function(mn){return o.divide(m.clone(),mn)});else if(Ht&&ot)k=m.map(function(mn){return o.divide(mn,k.clone())});else if(Ht&&Xt)m.dimensions()===k.dimensions()?k=k.map(function(mn,Zt){return o.divide(m.elements[--Zt],mn)}):o.error("Cannot divide vectors. Dimensions do not match!");else{var Yt=Xe(m),rn=Xe(k);if(Yt&&ot){var on=new Gt;m.eachElement(function(mn,Zt,_n){on.set(Zt,_n,o.divide(mn,k.clone()))}),k=on}else if(Pe&&rn){var on=new Gt;k.eachElement(function(Zt,_n,yn){on.set(_n,yn,o.divide(m.clone(),Zt))}),k=on}else if(Yt&&rn){var on=new Gt;m.rows()===k.rows()&&m.cols()===k.cols()?(m.eachElement(function(Zt,_n,yn){on.set(_n,yn,o.divide(Zt,k.elements[_n][yn]))}),k=on):o.error("Dimensions do not match!")}else if(Yt&&Xt)if(m.cols()===k.dimensions()){var on=new Gt;m.eachElement(function(Zt,_n,yn){on.set(_n,yn,o.divide(Zt,k.elements[_n].clone()))}),k=on}else o.error("Unable to divide matrix by vector.")}return k}},this.pow=function(m,k){var Pe=me(m),ot=me(k);if(Pe&&ot){if(m.unit||k.unit)return o.Unit.pow(m,k);if(m.group===ve&&m.fname===Oe&&Be(k)){var mn=m.multiplier.clone(),bt=o.pow(m.args[0],k);return bt.multiplier=mn,bt}if(m.isInfinity||k.isInfinity){if(m.isInfinity&&k.isInfinity)throw new x("("+m+")^("+k+") is undefined!");if(m.isConstant()&&k.isInfinity){if(m.equals(0)){if(k.lessThan(0))throw new x("0^Infinity is undefined!");return new $(0)}if(m.equals(1))throw new x("1^"+k.toString()+" is undefined!");if(k.lessThan(0))return new $(0);if(!m.lessThan(0))return $.infinity()}if(m.isInfinity&&k.isConstant()){if(k.equals(0))throw new x(m+"^0 is undefined!");return k.lessThan(0)?new $(0):o.multiply($.infinity(),o.pow(new $(m.sign()),k.clone()))}}var Ht=m.equals(0),Xt=k.equals(0);if(Ht&&Xt)throw new x("0^0 is undefined!");if(Ht&&k.isConstant()&&k.multiplier.greaterThan(0))return new $(0);if(Xt)return new $(1);var Yt=k.isConstant(),rn=m.isConstant(),on=k.isInteger(),mn=m.multiplier,Zt=m.clone();if(rn&&Yt&&m.equals(0)&&k.lessThan(0))throw new x("Division by zero is not allowed!");if(_.PARSE2NUMBER&&rn&&Yt&&m.sign()<0&&ct(k)){var _n,yn,Cn;return _n=Math.PI*k,yn=new $(Math.cos(_n)),Cn=o.multiply($.imaginary(),new $(Math.sin(_n))),o.add(yn,Cn)}if(_.PARSE2NUMBER&&m.isImaginary()&&Yt&&B(k)&&!k.lessThan(0)){var yn,Cn,In,Pn,Dn,gn,Tn;if(yn=m.realpart(),Cn=m.imagpart(),yn.isConstant("all")&&Cn.isConstant("all"))return Tn=_.USE_BIG?$(l.atan2(xr.multiplier.toDecimal(),In.multiplier.toDecimal()).times(k.toString())):Math.atan2(Cn,yn)*k,Pn=new $(Tn),In=o.pow($.hyp(yn,Cn),k),Dn=o.multiply(In.clone(),o.trig.cos(Pn.clone())),gn=o.multiply(In,o.trig.sin(Pn)),o.add(Dn,o.multiply($.imaginary(),gn))}if(Zt.toUnitMultiplier(),Zt.group===ve&&Zt.fname===ze&&!Yt){var Fn=Zt.args[0];Fn.multiplyPower(new $(.5)),Fn.multiplier.multiply(Zt.multiplier),Fn.multiplyPower(k),Zt=Fn}else{var Ln=mn.sign();ct(k)&&Ln<0&&(Zt.negate(),Zt=o.symfunction(Te,[Zt]),Zt.negate()),Zt.multiplyPower(k)}if(rn&&Yt&&_.PARSE2NUMBER){var zn;Ln<0&&(m.negate(),k.multiplier.den.equals(2)?zn=new $(_.IMAGINARY):B(k.multiplier)?Be(k.multiplier)?zn=new $(1):zn=new $(-1):Be(k.multiplier.den)?zn=o.pow(o.symfunction(Te,[new $(Ln)]),k.clone()):zn=new $(Math.pow(Ln,k.multiplier.num))),Zt=new $(Math.pow(m.multiplier.toDecimal(),k.multiplier.toDecimal())),zn&&(Zt=o.multiply(Zt,zn))}else if(on&&!mn.equals(1)){var Wn=k.abs();if(Wn.gt(_.MAX_EXP))return k.sign()<0?new $(0):$.infinity();var Gn=k.multiplier.toDecimal(),Xn=Math.sign(Gn);Gn=Math.abs(Gn);var ir=new oe(1);ir.num=mn.num.pow(Gn),ir.den=mn.den.pow(Gn),Xn<0&&ir.invert(),Zt.multiplier=Zt.multiplier.multiply(ir)}else{var Ln=m.sign();if(k.isConstant()&&m.isConstant()&&!k.multiplier.den.equals(1)&&Ln<0)if(k.multiplier.den.equals(2)){var xr=new $(_.IMAGINARY);m.negate(),k.lessThan(0)&&(xr.negate(),k.negate()),Zt=o.multiply(o.pow(m,k),xr)}else{var mr=m.clone();mr.multiplier.negate(),Zt=o.pow(o.symfunction(Te,[new $(Ln)]),k.clone());var _r=o.pow(new $(mr.multiplier.num),k.clone()),Ar=o.pow(new $(mr.multiplier.den),k.clone()),In=o.divide(_r,Ar);Zt=o.multiply(Zt,In)}else if(_.PARSE2NUMBER&&k.isImaginary()){var yn=k.realpart(),Cn=k.imagpart(),mr=m.clone().toLinear(),l0=o.pow(mr.clone(),yn),gr=Rn(mr.clone()),Si=_e.cos(o.multiply(Cn.clone(),gr)),c0=o.multiply(_e.sin(o.multiply(Cn,Rn(mr))),$.imaginary());Zt=o.multiply(l0,o.add(Si,c0)),Zt=o.expand(o.parse(Zt))}else{var qi=m.group===R&&Ln<0,er=j6(new $(qi?mn.num:Math.abs(mn.num)).setPower(k.clone())),Ir=j6(new $(mn.den).setPower(k.clone()).invert());if(m.imaginary)if(on){var Fn,Gn,vr;Fn=Math.sign(k),Gn=It(k),vr=Gn%4,Zt=new $(Be(vr)?-1:_.IMAGINARY),(vr===0||Fn<0&&vr===1||Fn>0&&vr===3)&&Zt.negate()}else{var ji=k.multiplier.multiply(oe.quick(1,2)),M0=Math.pow(-1,ji.num);Zt=Be(ji.den)?new $(-1).setPower(ji,!0):new $(M0)}if(Ln<0&&!qi&&Zt.negate(),Yt&&m.group!==de){var Y1=Be(k.multiplier.den),W1=Be(m.power),vr=Zt.power.toDecimal(),f0=Be(vr);if(Y1&&W1&&!f0){if(vr===1)Zt=o.symfunction(Oe,[Zt]);else if(B(vr))Zt=o.multiply(o.symfunction(Oe,[Zt.clone().toLinear()]),Zt.clone().setPower(new oe(vr-1)));else{var Gn=Zt.power;Zt=o.symfunction(Oe,[Zt.toLinear()]).setPower(Gn)}_.POSITIVE_MULTIPLIERS&&Zt.fname===Oe&&(Zt=Zt.args[0])}}if(k.equals(2)&&Zt.group===Ie){var X2=new $(1);Zt.each(function(Y2){X2=o.multiply(X2,o.pow(Y2,k))}),Zt=X2}}}if(Zt=j6(Zt),er&&Ir&&(Zt=o.multiply(Zt,cd(o.multiply(er,Ir)))),Zt.fname===ze){var H0=Zt.group===de,li=H0?Zt.power.multiplier.toString():Zt.power.toString();if(Be(li)){var j2=H0?o.divide(Zt.power,new $(2)):new $(Zt.power.divide(new oe(2))),mn=Zt.multiplier;Zt=o.pow(Zt.args[0],j2),Zt.multiplier=Zt.multiplier.multiply(mn)}}else if(!_.IGNORE_E&&Zt.isE()&&Zt.group===de&&Zt.power.contains("pi")&&Zt.power.contains(_.IMAGINARY)&&k.group===Ie){var Pn=k.stripVar(_.IMAGINARY);Zt=o.add(_e.cos(Pn),o.multiply($.imaginary(),_e.sin(Pn)))}return Zt}else{if(Ct(m)&&ot)m=m.map(function(_1){return o.pow(_1,k.clone())});else if(Xe(m)&&ot){var B0=new Gt;m.eachElement(function(_1,Y2,Y6){B0.set(Y2,Y6,o.pow(_1,k.clone()))}),m=B0}else if(Pe&&Xe(k)){var B0=new Gt;k.eachElement(function(Y2,Y6,fd){B0.set(Y6,fd,o.pow(m.clone(),Y2))}),m=B0}return m}},this.comma=function(m,k){return m instanceof w||(m=w.create(m)),m.append(k),m},this.mod=function(m,k){return Ut(m,k)},this.slice=function(m,k){return new X(m,k)},this.equals=function(m,k){return m.group!==K&&!m.isLinear()&&f("Cannot set equality for "+m.toString()),d[m.value]=k.clone(),k},this.percent=function(m){return o.divide(m,new $(100))},this.assign=function(m,k){if(m instanceof w&&k instanceof w)return m.elements.map(function(ot,bt){return o.assign(ot,k.elements[bt])}),At.fromArray(k.elements);if(m.parent){var Pe=m.parent;return Pe.elements[Pe.getter]=k,delete Pe.getter,Pe}if(m.group!==K)throw new i("Cannot complete operation. Incorrect LH value for "+m);return d[m.value]=k,k},this.function_assign=function(m,k){var Pe=m.elements.pop();return Ce(Pe,m.elements,k)};var $2=function(m){return new $(m===!0?1:0)};this.eq=function(m,k){return $2(m.equals(k))},this.gt=function(m,k){return $2(m.gt(k))},this.gte=function(m,k){return $2(m.gte(k))},this.lt=function(m,k){return $2(m.lt(k))},this.lte=function(m,k){return $2(m.lte(k))},this.factorial=function(m){return this.symfunction(ut,[m])},this.dfactorial=function(m){return this.symfunction(at,[m])}}var kt={convert:function(o,y){var F;if(o===0)F=[0,1];else if(o<1e-6||o>1e20){var X=this.quickConversion(Number(o));if(X[1]<=1e20){var w=Math.abs(o),b=o/w;F=this.fullConversion(w.toFixed((X[1]+"").length-1)),F[0]=F[0]*b}else F=X}else F=this.fullConversion(o);return F},quickConversion:function(o){var y=function(X){typeof X!="string"&&(X=X.toString());var w="",b=X.charAt(0);return b==="-"?(X=X.substr(1,X.length),w="-"):b==="+"&&(X=X.substr(1,X.length)),{sign:w,value:X}};function F(X){zt.isScientific(X)&&(X=le(X));var w=y(X),b=w.value.split("."),z;b.length===1?z=b[0]:z=b[0]+b[1];var _e=b[1]?b[1].length:0,tt=`1${"0".repeat(_e)}`;return z!=="0"&&(z=z.replace(/^0+/,"")),[w.sign+z,tt]}return F(o)},fullConversion:function(o){for(var y=!1,F=0,X=1,w=1,b=0,z=0,_e=o,tt=1e-16;!y;){z++,z>1e4&&(y=!0);var be=Math.floor(_e),$e=F+be*w,pt=X+be*b,vt=_e-be;vt<tt&&(y=!0),_e=1/vt,F=w,X=b,w=$e,b=pt,(Math.abs($e/pt-o)<tt||z>30)&&(y=!0)}return[$e,pt]}},xt={parser:function(){var o=["classes","setOperator","getOperators","getBrackets","tokenize","toRPN","tree","units"],y=new Ot;for(var F in y)o.indexOf(F)===-1&&delete y[F];y.setOperator({precedence:8,operator:"\\",action:"slash",prefix:!0,postfix:!1,leftAssoc:!0,operation:function(w){return w}}),y.setOperator({precedence:8,operator:"\\,",action:"slash_comma",prefix:!0,postfix:!1,leftAssoc:!0,operation:function(w){return w}});var X=y.getBrackets();return X["{"].maps_to=void 0,y}(),space:"~",dot:" \\cdot ",latex:function(o,y){if(o.clone&&(o=o.clone()),o instanceof r.classes.Collection&&(o=o.elements),P(o)){for(var F=[],X=0;X<o.length;X++){var w=o[X];me(w)||(w=r.parse(w)),F.push(this.latex(w,y))}return this.brackets(F.join(", "),"square")}else if(Xe(o)){for(var b=`\\begin{pmatrix}
|
||
`,X=0;X<o.elements.length;X++){for(var z=[],_e=o.elements[X],tt=0;tt<_e.length;tt++)z.push(this.latex(_e[tt],y));b+=z.join(" & "),X<o.elements.length-1&&(b+=`\\\\
|
||
`)}return b+="\\end{pmatrix}",b}else if(Ct(o)){for(var b="\\left[",X=0;X<o.elements.length;X++)b+=this.latex(o.elements[X],y)+" "+(X!==o.elements.length-1?",\\,":"");return b+="\\right]",b}else if(he(o)){for(var b="\\{",X=0;X<o.elements.length;X++)b+=this.latex(o.elements[X],y)+" "+(X!==o.elements.length-1?",\\,":"");return b+="\\}",b}else if(et(o))return this.latex(o.LHS,y)+"="+this.latex(o.RHS,y);o=o.clone();var be=y==="decimal"||y==="decimals",$e=o.power,pt=fe($e),vt=o.multiplier.lessThan(0);if(o.group===ie&&be)return String(o.multiplier.toDecimal()*Math.pow(o.value,o.power.toDecimal()));o.multiplier=o.multiplier.abs();var p;if(be){var N=String(o.multiplier.toLatex());p=[N,""]}else p=[o.multiplier.num,o.multiplier.den];var we=this.value(o,pt,y,vt),Re;pt&&$e.negate(),be?(Re=me($e)?xt.latex($e,y):String($e.toDecimal()),String(Re)==="1"&&(Re="")):me($e)?Re=this.latex($e,y):Re=this.formatFrac($e,!0);var rt=["",""],mt=pt?1:0;rt[mt]=Re;var It=(vt?"-":"")+this.set(p,we,rt,o.group===Ie);return It.replace(/\+\-/gi,"-")},greek:{alpha:"\\alpha",beta:"\\beta",gamma:"\\gamma",delta:"\\delta",epsilon:"\\epsilon",zeta:"\\zeta",eta:"\\eta",theta:"\\theta",iota:"\\iota",kappa:"\\kappa",lambda:"\\lambda",mu:"\\mu",nu:"\\nu",xi:"\\xi",omnikron:"\\omnikron",pi:"\\pi",rho:"\\rho",sigma:"\\sigma",tau:"\\tau",upsilon:"\\upsilon",phi:"\\phi",chi:"\\chi",psi:"\\psi",omega:"\\omega",Gamma:"\\Gamma",Delta:"\\Delta",Epsilon:"\\Epsilon",Theta:"\\Theta",Lambda:"\\Lambda",Xi:"\\Xi",Pi:"\\Pi",Sigma:"\\Sigma",Phi:"\\Phi",Psi:"\\Psi",Omega:"\\Omega"},symbols:{arccos:"\\arccos",cos:"\\cos",csc:"\\csc",exp:"\\exp",ker:"\\ker",limsup:"\\limsup",min:"\\min",sinh:"\\sinh",arcsin:"\\arcsin",cosh:"\\cosh",deg:"\\deg",gcd:"\\gcd",lg:"\\lg",ln:"\\ln",Pr:"\\Pr",sqrt:"\\sqrt",sup:"\\sup",arctan:"\\arctan",cot:"\\cot",det:"\\det",hom:"\\hom",lim:"\\lim",log:"\\log",LN:"\\LN",sec:"\\sec",tan:"\\tan",arg:"\\arg",coth:"\\coth",dim:"\\dim",inf:"\\inf",liminf:"\\liminf",max:"\\max",sin:"\\sin",tanh:"\\tanh"},value:function(o,y,F,X){var w=o.group,b=o.previousGroup,z=["",""],_e=y?1:0;if(o.isInfinity)z[_e]="\\infty";else if(w===K||w===ie||b===K||b===ie||b===R){var tt=this.formatSubscripts(o.value);tt.replace&&(tt=tt.replace(/(.+)_$/,"$1\\_"));var be=String(tt).split("_"),$e=this.greek[be[0]];$e&&(be[0]=$e,tt=be.join("_"));var o=this.symbols[be[0]];o&&(be[0]=o,tt=be.join("_")),z[_e]=tt}else if(w===ve||b===ve){for(var pt,vt=[],p=o.fname,N=0;N<o.args.length;N++){var we=o.args[N],Re;typeof we=="string"?Re=we:Re=this.latex(we,F),vt.push(Re)}if(p===ze)z[_e]="\\sqrt"+this.braces(vt.join(","));else if(p===Oe)z[_e]=this.brackets(vt.join(","),"abs");else if(p===Te)z[_e]=this.brackets(vt.join(","),"parens");else if(p==="limit")z[_e]=" \\lim\\limits_{"+vt[1]+" \\to "+vt[2]+"} "+vt[0];else if(p==="integrate")z[_e]="\\int"+this.braces(vt[0])+this.braces("d"+vt[1]);else if(p==="defint")z[_e]="\\int\\limits_"+this.braces(vt[1])+"^"+this.braces(vt[2])+" "+vt[0]+" d"+vt[3];else if(p===ut||p===at){var we=o.args[0];we.power.equals(1)&&(we.isComposite()||we.isCombination())&&(vt[0]=this.brackets(vt[0])),z[_e]=vt[0]+(p===ut?"!":"!!")}else if(p==="floor")z[_e]="\\left \\lfloor"+this.braces(vt[0])+"\\right \\rfloor";else if(p==="ceil")z[_e]="\\left \\lceil"+this.braces(vt[0])+"\\right \\rceil";else if(p===_.LOG&&vt.length>1)z[_e]="\\mathrm"+this.braces(_.LOG)+"_"+this.braces(vt[1])+this.brackets(vt[0]);else if(p===_.LOG10)z[_e]="\\mathrm"+this.braces(_.LOG)+"_"+this.braces(10)+this.brackets(vt[0]);else if(p==="sum"){var rt=vt[0],mt=vt[1],It=vt[2],Bt=vt[3];z[_e]="\\sum\\limits_{"+this.braces(mt)+"="+this.braces(It)+"}^"+this.braces(Bt)+" "+this.braces(rt)}else if(p==="product"){var rt=vt[0],mt=vt[1],It=vt[2],Bt=vt[3];z[_e]="\\prod\\limits_{"+this.braces(mt)+"="+this.braces(It)+"}^"+this.braces(Bt)+" "+this.braces(rt)}else if(p==="nthroot")z[_e]="\\sqrt["+vt[1]+"]"+this.braces(vt[0]);else if(p==="mod")z[_e]=vt[0]+" \\bmod "+vt[2];else if(p==="realpart")z[_e]="\\operatorname{Re}"+this.brackets(vt[0]);else if(p==="imagpart")z[_e]="\\operatorname{Im}"+this.brackets(vt[0]);else{var pt=p!==""?"\\mathrm"+this.braces(p.replace(/_/g,"\\_")):"";o.isConversion?z[_e]=pt+this.brackets(vt.join(""),"parens"):z[_e]=pt+this.brackets(vt.join(","),"parens")}}else if(o.isComposite()){for(var Rt=o.collectSymbols().sort(w===Qe||b===Qe?function(Dt,tn){return tn.group-Dt.group}:function(Dt,tn){var hn=me(Dt.power)?-1:Dt.power,pn=me(tn.power)?-1:tn.power;return pn-hn}),jt=[],Ut=Rt.length,N=0;N<Ut;N++)jt.push(xt.latex(Rt[N],F));var tt=jt.join("+");z[_e]=!(o.isLinear()&&o.multiplier.equals(1))||X?this.brackets(tt,"parens"):tt}else if(w===Ie||b===de||b===Ie){w===Ie&&o.distributeExponent();var en=[],Wt=[],Qt=[],sn=[],ln=0,dn=0,En=function(vn,Dt,tn){if(tn>1&&Dt.length>0)for(var hn=Dt.length,pn=0;pn<hn;pn++){var Nn=Dt[pn],wn=vn[Nn];/^\\left\(.+\\right\)\^\{.+\}$/g.test(wn)||/^\\left\(.+\\right\)$/g.test(wn)||(vn[Nn]=xt.brackets(wn,"parens"))}return vn};o.each(function(vn){var Dt=fe(vn.power),tn;Dt?(tn=xt.latex(vn.invert(),F),dn++,vn.isComposite()&&(o.multiplier.den!=1&&Math.abs(vn.power)==1&&(tn=xt.brackets(tn,"parens")),Qt.push(en.length)),en.push(tn)):(tn=xt.latex(vn,F),ln++,vn.isComposite()&&(o.multiplier.num!=1&&Math.abs(vn.power)==1&&(tn=xt.brackets(tn,"parens")),sn.push(Wt.length)),Wt.push(tn))}),En(Wt,sn,ln),z[0]=Wt.join(this.dot),En(en,Qt,dn),z[1]=en.join(this.dot)}return z},set:function(o,y,F,X){var w=function(p){return/^\\left\(.+\\right\)$/.test(p)};if(F&&(F=this.formatP(F)),X){var b=F[0];F[0]=""}y=this.merge(y,F);var z=o[0],_e=o[1],tt=y[0],be=y[1];tt&&Number(z)===1&&(z=""),Number(_e)===1&&(_e="");var $e=this.join(z,tt,w(tt)?"":this.dot),pt=this.join(_e,be,w(be)?"":this.dot);if($e&&pt){var vt=this.frac($e,pt);return X&&b&&(vt=this.brackets(vt)+b),vt}else return $e},merge:function(o,y){for(var F=[],X=0;X<2;X++)F[X]=o[X]+y[X];return F},join:function(o,y,F){return!o&&!y?"":o&&!y?o:y&&!o?y:o+F+y},formatSubscripts:function(o){for(var y=o.toString().split("_"),F="";y.length>1;)y.length>0&&(F="_"+this.braces(y.pop()+F));return y[0]+F},formatP:function(o){for(var y=0;y<2;y++){var F=o[y];F&&(o[y]="^"+this.braces(F))}return o},formatFrac:function(o,y){var F=o.num.toString(),X=o.den.toString();return y&&F==="1"&&X==="1"?"":X==="1"?F:this.frac(F,X)},frac:function(o,y){return"\\frac"+this.braces(o)+this.braces(y)},braces:function(o){return"{"+o+"}"},brackets:function(o,y){y=y||"parens";var F={parens:["(",")"],square:["[","]"],brace:["{","}"],abs:["|","|"],angle:["\\langle","\\rangle"]},X=F[y];return"\\left"+X[0]+o+"\\right"+X[1]},filterTokens:function(o){var y=[];P(o)&&(y.type=o.type);for(var F=["\\","left","right","big","Big","large","Large"],X=0,w=o.length;X<w;X++){var b=o[X],z=o[X+1];b.value==="\\"&&z.value==="\\"?y.push(b):P(b)?y.push(xt.filterTokens(b)):F.indexOf(b.value)===-1&&y.push(b)}return y},parse:function(o){var y,F,X="",w=this.filterTokens(o),b={cdot:"",times:"",infty:"Infinity"},z=function(Rt){return w[typeof Rt=="undefined"?++y:y+=Rt]},_e=function(){return xt.parse(z())},tt=function(Rt){return Rt in b?b[Rt]:Rt==="*"&&w[y+1].value==="&"?(z(2),","):Rt==="&"?(z(),","):Rt==="\\"?"],[":Rt};for(y=0,F=w.length;y<F;y++){var be=w[y];if(be.value==="frac"){var $e=_e(),pt=_e();X+=$e+"/"+pt}else if(be.value in xt.symbols)if(be.value===ze&&w[y+1].type==="vector"&&w[y+2].type==="Set"){var vt=_e(),p=_e();X+=p+"^"+ue("1/"+vt)}else X+=be.value+_e();else if(be.value==="int"){var N=_e();y++;var we=z().value;we=tt(we.substring(1,we.length)),X+="integrate"+ue(N+","+we)}else if(be.value==="int_"){var F=_e();y++;var Re=z().value;if(Re===void 0){y--;var Re=_e()}var N=_e(),we=z().value;if(we===",")var we=z().value;if(we==="differentialD"){y++;var we=z().value}if(we==="mathrm"){y++;var we=z().value}X+="defint"+ue(N+","+F+","+Re+","+we)}else if(be.value&&be.value.startsWith("int_")){var F=be.value.replace("int_","");console.log("uppernow"),y++;var Re=z().value;if(Re===void 0){y--;var Re=_e()}var N=_e(),we=z().value;if(we===",")var we=z().value;if(we==="differentialD"){y++;var we=z().value}if(we==="mathrm"){y++;var we=z().value}X+="defint"+ue(N+","+F+","+Re+","+we)}else if(be.value==="mathrm"){var N=w[++y][0].value;X+=N+_e()}else if(be.value==="sum_"||be.value==="prod_"){var rt=be.value==="sum_"?"sum":"product",mt=z();y++;var It=_e(),N=_e();X+=rt+ue([N,tt(mt[0]),tt(mt[2]),tt(It)].join(","))}else if(be.value==="lim_"){var mt=z();X+="limit"+ue([_e(),tt(mt[0]),tt(mt[2])].join(","))}else if(be.value==="begin"){var mt=z();if(Array.isArray(mt)){var Bt=mt[0].value;Bt==="matrix"&&(X+="matrix([")}}else if(be.value==="end"){var mt=z();if(Array.isArray(mt)){var Bt=mt[0].value;Bt==="matrix"&&(X+="])")}}else Array.isArray(be)?X+=tt(xt.parse(be)):X+=tt(be.value.toString())}return ue(X)}};function At(o){Ct(o)?this.elements=o.items.slice(0):P(o)?this.elements=o.slice(0):this.elements=[].slice.call(arguments)}At.arrayPrefill=function(o,y){var F=[];y=y||0;for(var X=0;X<o;X++)F[X]=y;return F},At.fromArray=function(o){var y=new At;return y.elements=o,y},At.fromSet=function(o){return At.fromArray(o.elements)},At.prototype={custom:!0,e:function(o){return o<1||o>this.elements.length?null:this.elements[o-1]},set:function(o,y){me(y)||(y=new $(y)),this.elements[o]=y},dimensions:function(){return this.elements.length},modulus:function(){return Ze("SAFE",function(){return r.pow(this.dot(this.clone()),new $(.5))},void 0,this)},eql:function(o){var y=this.elements.length,F=o.elements||o;if(y!==F.length)return!1;do if(Math.abs(r.subtract(this.elements[y-1],F[y-1]).valueOf())>PRECISION)return!1;while(--y);return!0},clone:function(){for(var o=new At,y=this.elements.length,F=0;F<y;F++)o.elements.push(this.elements[F].clone());return this.getter&&(o.getter=this.getter.clone()),o},map:function(o){var y=[];return this.each(function(F,X){y.push(o(F,X))}),new At(y)},each:function(o){var y=this.elements.length,F=y,X;do X=F-y,o(this.elements[X],X+1);while(--y)},toUnitVector:function(){return Ze("SAFE",function(){var o=this.modulus();return o.valueOf()===0?this.clone():this.map(function(y){return r.divide(y,o)})},void 0,this)},angleFrom:function(o){return Ze("SAFE",function(){var y=o.elements||o,F=this.elements.length;if(F!==y.length)return null;var X=new $(0),w=new $(0),b=new $(0);this.each(function(be,$e){X=r.add(X,r.multiply(be,y[$e-1])),w=r.add(w,r.multiply(be,be)),b=r.add(b,r.multiply(y[$e-1],y[$e-1]))}),w=r.pow(w,new $(.5)),b=r.pow(b,new $(.5));var z=r.multiply(w,b);if(z.valueOf()===0)return null;var _e=r.divide(X,z),tt=_e.valueOf();return tt<-1&&(_e=-1),tt>1&&(_e=1),new $(Math.acos(_e))},void 0,this)},isParallelTo:function(o){var y=this.angleFrom(o).valueOf();return y===null?null:y<=PRECISION},isAntiparallelTo:function(o){var y=this.angleFrom(o).valueOf();return y===null?null:Math.abs(y-Math.PI)<=PRECISION},isPerpendicularTo:function(o){var y=this.dot(o);return y===null?null:Math.abs(y)<=PRECISION},add:function(o){return Ze("SAFE",function(){var y=o.elements||o;return this.elements.length!==y.length?null:this.map(function(F,X){return r.add(F,y[X-1])})},void 0,this)},subtract:function(o){return Ze("SAFE",function(){var y=o.elements||o;return this.elements.length!==y.length?null:this.map(function(F,X){return r.subtract(F,y[X-1])})},void 0,this)},multiply:function(o){return this.map(function(y){return y.clone()*o.clone()})},x:function(o){return this.multiply(o)},dot:function(o){return Ze("SAFE",function(){var y=o.elements||o,F=new $(0),X=this.elements.length;if(X!==y.length)return null;do F=r.add(F,r.multiply(this.elements[X-1],y[X-1]));while(--X);return F},void 0,this)},cross:function(o){var y=o.elements||o;if(this.elements.length!==3||y.length!==3)return null;var F=this.elements;return Ze("SAFE",function(){return new At([r.subtract(r.multiply(F[1],y[2]),r.multiply(F[2],y[1])),r.subtract(r.multiply(F[2],y[0]),r.multiply(F[0],y[2])),r.subtract(r.multiply(F[0],y[1]),r.multiply(F[1],y[0]))])},void 0,this)},max:function(){var o=0,y=this.elements.length,F=y,X;do X=F-y,Math.abs(this.elements[X].valueOf())>Math.abs(o.valueOf())&&(o=this.elements[X]);while(--y);return o},magnitude:function(){var o=new $(0);return this.each(function(y){o=r.add(o,r.pow(y,new $(2)))}),r.sqrt(o)},indexOf:function(o){var y=null,F=this.elements.length,X=F,w;do w=X-F,y===null&&this.elements[w].valueOf()===o.valueOf()&&(y=w+1);while(--F);return y},text:function(o){return ft(this)},toString:function(){return this.text()},latex:function(o){for(var y=[],F=0;F<this.elements.length;F++)y.push(xt.latex.call(xt,this.elements[F],o));return"["+y.join(", ")+"]"}};function Gt(){var o=arguments,y=o.length,F,X=[];if(Xe(o))for(F=0;F<y;F++)X.push(o[F].slice(0));else{var w,b,z;for(F=0;F<y;F++)w=o[F],Ct(w)&&(w=w.elements),P(w)||(w=[w]),z=w.length,b&&b!==z&&f("Unable to create Matrix. Row dimensions do not match!"),X.push(w),b=z}this.elements=X}Gt.identity=function(o){for(var y=new Gt,F=0;F<o;F++){y.elements.push([]);for(var X=0;X<o;X++)y.set(F,X,F===X?new $(1):new $(0))}return y},Gt.fromArray=function(o){function y(F){return Gt.apply(this,F)}return y.prototype=Gt.prototype,new y(o)},Gt.zeroMatrix=function(o,y){for(var F=new Gt,X=0;X<o;X++)F.elements.push(At.arrayPrefill(y,new $(0)));return F},Gt.prototype={custom:!0,get:function(o,y){if(!!this.elements[o])return this.elements[o][y]},map:function(o,y){var F=new Gt;return this.each(function(X,w,b){F.set(w,b,o.call(F,X),y)}),F},set:function(o,y,F,X){this.elements[o]||(this.elements[o]=[]),this.elements[o][y]=X||me(F)?F:new $(F)},cols:function(){return this.elements[0].length},rows:function(){return this.elements.length},row:function(o){return!o||o>this.cols()?[]:this.elements[o-1]},col:function(o){var y=this.rows(),F=[];if(o>this.cols()||!o)return F;for(var X=0;X<y;X++)F.push(this.elements[X][o-1]);return F},eachElement:function(o){var y=this.rows(),F=this.cols(),X,w;for(X=0;X<y;X++)for(w=0;w<F;w++)o.call(this,this.elements[X][w],X,w)},determinant:function(){if(!this.isSquare())return null;var o=this.toRightTriangular(),y=o.elements[0][0],F=o.elements.length-1,X=F,w;do w=X-F+1,y=r.multiply(y,o.elements[w][w]);while(--F);return y},isSquare:function(){return this.elements.length===this.elements[0].length},isSingular:function(){return this.isSquare()&&this.determinant()===0},augment:function(o){var y=this.rows(),F=o.rows();y!==F&&f("Cannot augment matrix. Rows don't match.");for(var X=0;X<y;X++)this.elements[X]=this.elements[X].concat(o.elements[X]);return this},clone:function(){for(var o=this.rows(),y=this.cols(),F=new Gt,X=0;X<o;X++){F.elements[X]=[];for(var w=0;w<y;w++){var b=this.elements[X][w];F.elements[X][w]=me(b)?b.clone():b}}return F},invert:function(){return this.isSquare()||f("Matrix is not square!"),Ze("SAFE",function(){var o=this.elements.length,y=o,F,X,w=Gt.identity(o),b=this.augment(w).toRightTriangular(),z,_e=b.elements[0].length,tt,be,$e,pt=[],vt;do{F=o-1,be=[],z=_e,pt[F]=[],$e=b.elements[F][F];do tt=_e-z,vt=r.divide(b.elements[F][tt],$e.clone()),be.push(vt),tt>=y&&pt[F].push(vt);while(--z);for(b.elements[F]=be,X=0;X<F;X++){be=[],z=_e;do tt=_e-z,be.push(r.subtract(b.elements[X][tt].clone(),r.multiply(b.elements[F][tt].clone(),b.elements[X][F].clone())));while(--z);b.elements[X]=be}}while(--o);return Gt.fromArray(pt)},void 0,this)},toRightTriangular:function(){return Ze("SAFE",function(){var o=this.clone(),y,F,X,w=this.elements.length,b=w,z,_e,tt=this.elements[0].length,be;do{if(z=b-w,F=o.elements[z][z],F.valueOf()===0){for(var $e=z+1;$e<b;$e++)if(X=o.elements[$e][z],X&&X.valueOf()!==0){y=[],_e=tt;do be=tt-_e,y.push(r.add(o.elements[z][be].clone(),o.elements[$e][be].clone()));while(--_e);o.elements[z]=y;break}}var F=o.elements[z][z];if(F.valueOf()!==0)for($e=z+1;$e<b;$e++){var pt=r.divide(o.elements[$e][z].clone(),o.elements[z][z].clone());y=[],_e=tt;do be=tt-_e,y.push(be<=z?new $(0):r.subtract(o.elements[$e][be].clone(),r.multiply(o.elements[z][be].clone(),pt.clone())));while(--_e);o.elements[$e]=y}}while(--w);return o},void 0,this)},transpose:function(){var o=this.elements.length,y=this.elements[0].length,F=new Gt,X=y,w,b,z;do{w=y-X,F.elements[w]=[],b=o;do z=o-b,F.elements[w][z]=this.elements[z][w].clone();while(--b)}while(--X);return F},canMultiplyFromLeft:function(o){var y=Xe(o)?o.elements.length:o.length;return this.elements[0].length===y},sameSize:function(o){return this.rows()===o.rows()&&this.cols()===o.cols()},multiply:function(o){return Ze("SAFE",function(){var y=o.elements||o;if(!this.canMultiplyFromLeft(y)){if(this.sameSize(o)){for(var F=new Gt,X=this.rows(),_e=0;_e<X;_e++){var w=r.multiply(new At(this.elements[_e]),new At(o.elements[_e]));F.elements[_e]=w.elements}return F}return null}var b=this.elements.length,z=b,_e,tt,be=y[0].length,$e,pt=this.elements[0].length,vt=[],p,N,we;do{_e=z-b,vt[_e]=[],tt=be;do{$e=be-tt,p=new $(0),N=pt;do we=pt-N,p=r.add(p,r.multiply(this.elements[_e][we],y[we][$e]));while(--N);vt[_e][$e]=p}while(--tt)}while(--b);return Gt.fromArray(vt)},void 0,this)},add:function(o,y){var F=new Gt;return this.sameSize(o)&&this.eachElement(function(X,w,b){var z=r.add(X.clone(),o.elements[w][b].clone());y&&(z=y.call(F,z,X,o.elements[w][b])),F.set(w,b,z)}),F},subtract:function(o,y){var F=new Gt;return this.sameSize(o)&&this.eachElement(function(X,w,b){var z=r.subtract(X.clone(),o.elements[w][b].clone());y&&(z=y.call(F,z,X,o.elements[w][b])),F.set(w,b,z)}),F},negate:function(){return this.each(function(o){return o.negate()}),this},toVector:function(){if(this.rows()===1||this.cols()===1){var o=new At;return o.elements=this.elements,o}return this},toString:function(o,y){var F=this.rows(),X=[];o=o===void 0?`
|
||
`:o;for(var w=0;w<F;w++)X.push("["+this.elements[w].map(function(b){var z=y?b.multiplier.toDecimal():b.toString();return b!==void 0?z:""}).join(",")+"]");return"matrix"+ue(X.join(","))},text:function(){return"matrix("+this.elements.toString("")+")"},latex:function(o){var y=this.cols(),F=this.elements;return D("\\begin{vmatrix}{0}\\end{vmatrix}",function(){var X=[];for(var w in F){for(var b=[],z=0;z<y;z++)b.push(xt.latex.call(xt,F[w][z],o));X.push(b.join(" & "))}return X.join(" \\cr ")})}},Gt.prototype.each=Gt.prototype.eachElement;function Kt(o){if(this.elements=[],Ct(o)||(o=At.fromArray(arguments)),o)for(var y=o.elements,F=0,X=y.length;F<X;F++)this.add(y[F])}Kt.fromArray=function(o){function y(F){return Kt.apply(this,F)}return y.prototype=Kt.prototype,new y(o)},Kt.prototype={add:function(o){this.contains(o)||this.elements.push(o.clone())},contains:function(o){for(var y=0;y<this.elements.length;y++){var F=this.elements[y];if(o.equals(F))return!0}return!1},each:function(o){for(var y=this.elements,F=new Kt,X=0,w=y.length;X<w;X++){var b=y[X];o.call(this,b,F,X)}return F},clone:function(){var o=new Kt;return this.each(function(y){o.add(y.clone())}),o},union:function(o){var y=this.clone();return o.each(function(F){y.add(F)}),y},difference:function(o){var y=this.clone();return o.each(function(F){y.remove(F)}),y},remove:function(o){for(var y=0,F=this.elements.length;y<F;y++){var X=this.elements[y];if(X.equals(o))return Tt(this.elements,y),!0}return!1},intersection:function(o){var y=new Kt,F=this;return o.each(function(X){F.contains(X)&&y.add(X)}),y},intersects:function(o){return this.intersection(o).elements.length>0},is_subset:function(o){for(var y=o.elements,F=0,X=y.length;F<X;F++)if(!this.contains(y[F]))return!1;return!0},toString:function(){return"{"+this.elements.join(",")+"}"}};var Jt={dependencies:{_rename:{"Math2.factorial":"factorial"},factorial:{"Math2.gamma":Fe.gamma},gamma_incomplete:{"Math2.factorial":Fe.factorial},Li:{"Math2.Ei":Fe.Ei,"Math2.bigLog":Fe.bigLog,Frac:oe},Ci:{"Math2.factorial":Fe.factorial},Ei:{"Math2.factorial":Fe.factorial},Si:{"Math2.factorial":Fe.factorial},Shi:{"Math2.factorial":Fe.factorial},Chi:{isInt:B,nround:gt,"Math2.num_integrate":Fe.num_integrate},factor:{"Math2.ifactor":Fe.ifactor,Symbol:$},num_integrate:{"Math2.simpson":Fe.simpson,nround:gt},fib:{even:Be}},reformat:{diff:function(o,y){var F=o.args[1].toString(),X="var f = "+Jt.build(o.args[0].toString(),[F])+";";return y[1]+="var diff = "+Fe.diff.toString()+";",y[1]+=X,["diff(f)("+F+")",y]}},getProperName:function(o){var y={continued_fraction:"continuedFraction"};return y[o]||o},compileDependencies:function(o,y){var F=Jt.dependencies[o],X=y&&y[1]?y[1]:"",w=y&&y[0]?y[0]:{};for(var b in F)if(typeof F[b]!="object"){var z=b.split(".");X+="var "+(z.length>1?z[1]:z[0])+"="+F[b]+";",w[b]=z.pop()}return[w,X]},getArgsDeps:function(o,y){for(var F=o.args,X=0;X<F.length;X++)o.args[X].each(function(w){w.group===ve&&(y=Jt.compileDependencies(w.fname,y))});return y},build:function(o,y){o=Ze("PARSE2NUMBER",function(){return r.parse(o)},!0);var F=Le(o),X=[],w=[],b=function($e,pt){$e.fname===""&&($e=$.unwrapPARENS($e)),pt=pt||[];var vt=[],p=$e.group,N="",we=function(Rt){var jt=Rt===Ie?"*":"+",Ut=[];for(var en in $e.symbols){var Wt=$e.symbols[en],Qt=b(Wt,pt)[0];Wt.isComposite()&&(Qt=ue(Qt)),Ut.push(Qt)}var sn=Ut.join(jt);return sn=sn&&!$e.multiplier.equals(1)?ue(sn):sn,sn},Re=function(Rt){var jt;return Rt in Math?jt="Math."+Rt:(Rt=Jt.getProperName(Rt),X.indexOf(Rt)===-1&&(pt.push("var "+Rt+" = "+Fe[Rt].toString()+"; "),X.push(Rt)),jt=Rt),jt=jt+ue($e.args.map(function(Ut){return b(Ut,pt)[0]}).join(",")),jt};p===R?vt.push($e.multiplier.toDecimal()):$e.multiplier.equals(-1)?N="-":$e.multiplier.equals(1)||vt.push($e.multiplier.toDecimal());var rt;if(p===K||p===ie)rt=$e.value;else if(p===ve)if(w=Jt.compileDependencies($e.fname,w),w=Jt.getArgsDeps($e,w),Jt.reformat[$e.fname]){var mt=Jt.reformat[$e.fname]($e,w);w=mt[1],rt=mt[0]}else rt=Re($e.fname);else if(p===de){var It=$e.previousGroup;It===R||It===K?rt=$e.value:It===ve?(rt=Re($e.fname),w=Jt.compileDependencies($e.fname,w),w=Jt.getArgsDeps($e,w)):rt=we($e.previousGroup)}else rt=we($e.group);if($e.group!==R&&!$e.power.equals(1)){var Bt=b(r.parse($e.power));pt.push(Bt[1]),rt="Math.pow"+ue(rt+","+Bt[0])}return rt&&vt.push(N+rt),[vt.join("*"),pt.join("").replace(/\n+\s+/g," ")]};y&&(F=y);var z=b(o);for(var _e in w[0]){var tt=w[0][_e];z[1]=z[1].replace(_e,tt),w[1]=w[1].replace(_e,tt)}var be=new Function(F,(w[1]||"")+z[1]+" return "+z[0]+";");return be}};(function(){Ft(r.CONSTANTS),Ft(r.functions),r.initConstants(),r.error||(r.error=f),_.LOG_FNS={log:r.functions.log,log10:r.functions.log10}})();var cn={allSame:q,allNumeric:it,arguments2Array:Et,arrayAddSlices:Ge,arrayClone:ae,arrayMax:Ke,arrayMin:Ne,arrayEqual:We,arrayUnique:wt,arrayGetVariables:Mt,arraySum:Ve,block:Ze,build:Jt.build,clearU:Se,comboSort:ge,compare:xe,convertToVector:nt,customError:v,customType:se,decompose_fn:Je,each:qe,evaluate:Ye,even:Be,evenFraction:ct,fillHoles:Nt,firstObject:Ee,format:D,generatePrimes:O,getCoeffs:Pt,getU:ne,importFunctions:ht,inBrackets:ue,isArray:P,isExpression:Ue,isFraction:yt,isInt:B,isMatrix:Xe,isNegative:fe,isNumericSymbol:Lt,isPrime:ye,isReserved:I,isSymbol:me,isVariableSymbol:H,isVector:Ct,keys:J,knownVariable:Ae,nroots:He,remove:Tt,reserveNames:Ft,range:re,round:gt,sameSign:te,scientificToDecimal:le,separate:lt,stringReplace:st,text:ft,validateName:Q,variables:Le,warn:V},nn={groups:h,Symbol:$,Expression:Vt,Frac:oe,Vector:At,Matrix:Gt,Parser:Ot,Scientific:zt,Fraction:kt,Math2:Fe,LaTeX:xt,Utils:cn,PARSER:r,PARENTHESIS:Te,Settings:_,err:f,bigInt:a,bigDec:l,exceptions:ke},un=function(o,y,F,X){var w=!1,b=/^([a-z_][a-z\d\_]*)\(([a-z_,\s]*)\):=(.+)$/gi.exec(o);if(b)return k7.setFunction(b[1],b[2].split(","),b[3]);o instanceof Vt&&(o=o.toString()),P(F)||(F=typeof F=="undefined"?[]:[F]),F.forEach(function(_e){if(_e==="numer"){w=!0;return}var tt=r.functions[F];tt&&tt[1]===1&&(o=`${_e}(${o})`)});var z=Ze("PARSE2NUMBER",function(){return r.parse(o,y)},w||_.PARSE2NUMBER);return X?j[X-1]=z:j.push(z),new Vt(z)};return un.rpn=function(o){return r.tokenize(r.toRPN(o))},un.convertToLaTeX=function(o,y){return r.toTeX(o,y)},un.convertFromLaTeX=function(o){var y=xt.parse(r.tokenize(o));return new Vt(r.parse(y))},un.version=function(o){if(o)try{return nn[o].version}catch(y){return"No module named "+o+" found!"}return e},un.getWarnings=function(){return u},un.setConstant=function(o,y){if(Q(o),!I(o))if(y==="delete"||y==="")delete r.CONSTANTS[o];else{if(isNaN(y))throw new G("Constant must be a number!");r.CONSTANTS[o]=y}return this},un.getConstant=function(o){return String(r.constant[o])},un.setFunction=Ce,un.getCore=function(){return nn},un.getExpression=un.getEquation=Vt.getExpression,un.reserved=function(o){return o?c:c.join(", ")},un.clear=function(o,y){if(o==="all")j=[];else if(o==="last")j.pop();else if(o==="first")j.shift();else{var F=o?o-1:j.length;y===!0?j[F]=void 0:Tt(j,F)}return this},un.flush=function(){return this.clear("all"),this},un.expressions=function(o,y,F){for(var X=o?{}:[],w=0;w<j.length;w++){var b=y?xt.latex(j[w],F):ft(j[w],F);o?X[w+1]=b:X.push(b)}return X},un.register=function(o){var y=this.getCore();if(P(o))for(var F=0;F<o.length;F++)o&&this.register(o[F]);else if(o&&_.exclude.indexOf(o.name)===-1){if(o.dependencies){for(var F=0;F<o.dependencies.length;F++)if(!y[o.dependencies[F]])throw new Error(D("{0} requires {1} to be loaded!",o.name,o.dependencies[F]))}var X=o.parent,w=o.build.call(y);if(X){y[X]||(y[o.parent]={});var b=X==="nerdamer"?this:y[X];b[o.name]=w}o.visible&&(r.functions[o.name]=[w,o.numargs])}},un.validateName=Q,un.validVarName=function(o){try{return Q(o),c.indexOf(o)===-1}catch(y){return!1}},un.supported=function(){return J(r.functions)},un.numEquations=un.numExpressions=function(){return j.length},un.setVar=function(o,y){return Q(o),o in r.CONSTANTS&&f("Cannot set value for constant "+o),y==="delete"||y===""?delete d[o]:d[o]=me(y)?y:r.parse(y),this},un.getVar=function(o){return d[o]},un.clearVars=function(){return d={},this},un.load=function(o){return o.call(this),this},un.getVars=function(o,y){o=o||"text";var F={};if(o==="object")F=d;else for(var X in d)o==="latex"?F[X]=d[X].latex(y):o==="text"&&(F[X]=d[X].text(y));return F},un.set=function(o,y){if(typeof o=="object")for(var F in o)un.set(F,o[F]);var X=["SAFE"];X.indexOf(o)!==-1&&f("Cannot modify setting: "+o),o==="PRECISION"?(l.set({precision:y}),_.PRECISION=y,y>21&&this.set("USE_BIG",!0)):o==="USE_LN"&&y===!0?(_.LOG="LN",_.LOG10="log",r.functions.log=_.LOG_FNS.log10,r.functions.log[0]=function(w){return w.isConstant()?new $(Math.log10(w)):r.symfunction(_.LOG10,[w])},r.functions.LN=_.LOG_FNS.log,delete r.functions.log10):_[o]=y},un.get=function(o){return _[o]},un.updateAPI=function(o){var y=function(X){return function(){for(var w=[].slice.call(arguments),b=0;b<w.length;b++)w[b]=r.parse(w[b]);return new Vt(Ze("PARSE2NUMBER",function(){return r.callfunction(X,w)}))}};for(var F in r.functions)(!(F in un)||o)&&(un[F]=y(F))},un.replaceFunction=function(o,y,F){var X=r.functions[o],w=typeof F=="undefined"?X[1]:F;r.functions[o]=[y.call(void 0,X[0],nn),w]},un.setOperator=function(o,y){r.setOperator(o,y)},un.getOperator=function(o){return r.getOperator(o)},un.aliasOperator=function(o,y){r.aliasOperator(o,y)},un.tree=function(o){return r.tree(r.toRPN(r.tokenize(o)))},un.htmlTree=function(o,y){var F=this.tree(o);return`<div class="tree">
|
||
<ul>
|
||
<li>
|
||
`+F.toHTML(3,y)+`
|
||
</li>
|
||
</ul>
|
||
</div>`},un.addPeeker=function(o,y){r.peekers[o]&&r.peekers[o].push(y)},un.removePeeker=function(o,y){Tt(r.peekers[o],y)},un.parse=function(o){return String(o).split(";").map(function(y){return r.parse(y)})},un.updateAPI(),un}({bigInt:function(){var t=function(e){"use strict";var r=1e7,a=7,l=9007199254740992,h=K(l),L=Math.log(l);function M(D,re){return typeof D=="undefined"?M[0]:typeof re!="undefined"?+re==10?se(D):H(D,re):se(D)}function _(D,re){this.value=D,this.sign=re,this.isSmall=!1}_.prototype=Object.create(M.prototype);function R(D){this.value=D,this.sign=D<0,this.isSmall=!0}R.prototype=Object.create(M.prototype);function ie(D){return-l<D&&D<l}function K(D){return D<1e7?[D]:D<1e14?[D%1e7,Math.floor(D/1e7)]:[D%1e7,Math.floor(D/1e7)%1e7,Math.floor(D/1e14)]}function de(D){ve(D);var re=D.length;if(re<4&&le(D,h)<0)switch(re){case 0:return 0;case 1:return D[0];case 2:return D[0]+D[1]*r;default:return D[0]+(D[1]+D[2]*r)*r}return D}function ve(D){for(var re=D.length;D[--re]===0;);D.length=re+1}function De(D){for(var re=new Array(D),J=-1;++J<D;)re[J]=0;return re}function Ie(D){return D>0?Math.floor(D):Math.ceil(D)}function Qe(D,re){var J=D.length,Ee=re.length,xe=new Array(J),Ce=0,Ke=r,Ne,We;for(We=0;We<Ee;We++)Ne=D[We]+re[We]+Ce,Ce=Ne>=Ke?1:0,xe[We]=Ne-Ce*Ke;for(;We<J;)Ne=D[We]+Ce,Ce=Ne===Ke?1:0,xe[We++]=Ne-Ce*Ke;return Ce>0&&xe.push(Ce),xe}function ee(D,re){return D.length>=re.length?Qe(D,re):Qe(re,D)}function Te(D,re){var J=D.length,Ee=new Array(J),xe=r,Ce,Ke;for(Ke=0;Ke<J;Ke++)Ce=D[Ke]-xe+re,re=Math.floor(Ce/xe),Ee[Ke]=Ce-re*xe,re+=1;for(;re>0;)Ee[Ke++]=re%xe,re=Math.floor(re/xe);return Ee}_.prototype.add=function(D){var re=se(D);if(this.sign!==re.sign)return this.subtract(re.negate());var J=this.value,Ee=re.value;return re.isSmall?new _(Te(J,Math.abs(Ee)),this.sign):new _(ee(J,Ee),this.sign)},_.prototype.plus=_.prototype.add,R.prototype.add=function(D){var re=se(D),J=this.value;if(J<0!==re.sign)return this.subtract(re.negate());var Ee=re.value;if(re.isSmall){if(ie(J+Ee))return new R(J+Ee);Ee=K(Math.abs(Ee))}return new _(Te(Ee,Math.abs(J)),J<0)},R.prototype.plus=R.prototype.add;function ze(D,re){var J=D.length,Ee=re.length,xe=new Array(J),Ce=0,Ke=r,Ne,We;for(Ne=0;Ne<Ee;Ne++)We=D[Ne]-Ce-re[Ne],We<0?(We+=Ke,Ce=1):Ce=0,xe[Ne]=We;for(Ne=Ee;Ne<J;Ne++){if(We=D[Ne]-Ce,We<0)We+=Ke;else{xe[Ne++]=We;break}xe[Ne]=We}for(;Ne<J;Ne++)xe[Ne]=D[Ne];return ve(xe),xe}function Oe(D,re,J){var Ee;return le(D,re)>=0?Ee=ze(D,re):(Ee=ze(re,D),J=!J),Ee=de(Ee),typeof Ee=="number"?(J&&(Ee=-Ee),new R(Ee)):new _(Ee,J)}function ut(D,re,J){var Ee=D.length,xe=new Array(Ee),Ce=-re,Ke=r,Ne,We;for(Ne=0;Ne<Ee;Ne++)We=D[Ne]+Ce,Ce=Math.floor(We/Ke),We%=Ke,xe[Ne]=We<0?We+Ke:We;return xe=de(xe),typeof xe=="number"?(J&&(xe=-xe),new R(xe)):new _(xe,J)}_.prototype.subtract=function(D){var re=se(D);if(this.sign!==re.sign)return this.add(re.negate());var J=this.value,Ee=re.value;return re.isSmall?ut(J,Math.abs(Ee),this.sign):Oe(J,Ee,this.sign)},_.prototype.minus=_.prototype.subtract,R.prototype.subtract=function(D){var re=se(D),J=this.value;if(J<0!==re.sign)return this.add(re.negate());var Ee=re.value;return re.isSmall?new R(J-Ee):ut(Ee,Math.abs(J),J>=0)},R.prototype.minus=R.prototype.subtract,_.prototype.negate=function(){return new _(this.value,!this.sign)},R.prototype.negate=function(){var D=this.sign,re=new R(-this.value);return re.sign=!D,re},_.prototype.abs=function(){return new _(this.value,!1)},R.prototype.abs=function(){return new R(Math.abs(this.value))};function at(D,re){var J=D.length,Ee=re.length,xe=J+Ee,Ce=De(xe),Ke=r,Ne,We,ae,Ge,He;for(ae=0;ae<J;++ae){Ge=D[ae];for(var ge=0;ge<Ee;++ge)He=re[ge],Ne=Ge*He+Ce[ae+ge],We=Math.floor(Ne/Ke),Ce[ae+ge]=Ne-We*Ke,Ce[ae+ge+1]+=We}return ve(Ce),Ce}function j(D,re){var J=D.length,Ee=new Array(J),xe=r,Ce=0,Ke,Ne;for(Ne=0;Ne<J;Ne++)Ke=D[Ne]*re+Ce,Ce=Math.floor(Ke/xe),Ee[Ne]=Ke-Ce*xe;for(;Ce>0;)Ee[Ne++]=Ce%xe,Ce=Math.floor(Ce/xe);return Ee}function d(D,re){for(var J=[];re-- >0;)J.push(0);return J.concat(D)}function c(D,re){var J=Math.max(D.length,re.length);if(J<=30)return at(D,re);J=Math.ceil(J/2);var Ee=D.slice(J),xe=D.slice(0,J),Ce=re.slice(J),Ke=re.slice(0,J),Ne=c(xe,Ke),We=c(Ee,Ce),ae=c(ee(xe,Ee),ee(Ke,Ce)),Ge=ee(ee(Ne,d(ze(ze(ae,Ne),We),J)),d(We,2*J));return ve(Ge),Ge}function u(D,re){return-.012*D-.012*re+15e-6*D*re>0}_.prototype.multiply=function(D){var re=se(D),J=this.value,Ee=re.value,xe=this.sign!==re.sign,Ce;if(re.isSmall){if(Ee===0)return M[0];if(Ee===1)return this;if(Ee===-1)return this.negate();if(Ce=Math.abs(Ee),Ce<r)return new _(j(J,Ce),xe);Ee=K(Ce)}return u(J.length,Ee.length)?new _(c(J,Ee),xe):new _(at(J,Ee),xe)},_.prototype.times=_.prototype.multiply;function f(D,re,J){return D<r?new _(j(re,D),J):new _(at(re,K(D)),J)}R.prototype._multiplyBySmall=function(D){return ie(D.value*this.value)?new R(D.value*this.value):f(Math.abs(D.value),K(Math.abs(this.value)),this.sign!==D.sign)},_.prototype._multiplyBySmall=function(D){return D.value===0?M[0]:D.value===1?this:D.value===-1?this.negate():f(Math.abs(D.value),this.value,this.sign!==D.sign)},R.prototype.multiply=function(D){return se(D)._multiplyBySmall(this)},R.prototype.times=R.prototype.multiply;function v(D){var re=D.length,J=De(re+re),Ee=r,xe,Ce,Ke,Ne,We;for(Ke=0;Ke<re;Ke++){Ne=D[Ke],Ce=0-Ne*Ne;for(var ae=Ke;ae<re;ae++)We=D[ae],xe=2*(Ne*We)+J[Ke+ae]+Ce,Ce=Math.floor(xe/Ee),J[Ke+ae]=xe-Ce*Ee;J[Ke+re]=Ce}return ve(J),J}_.prototype.square=function(){return new _(v(this.value),!1)},R.prototype.square=function(){var D=this.value*this.value;return ie(D)?new R(D):new _(v(K(Math.abs(this.value))),!1)};function I(D,re){var J=D.length,Ee=re.length,xe=r,Ce=De(re.length),Ke=re[Ee-1],Ne=Math.ceil(xe/(2*Ke)),We=j(D,Ne),ae=j(re,Ne),Ge,He,ge,Je,gt,ne,Se;for(We.length<=J&&We.push(0),ae.push(0),Ke=ae[Ee-1],He=J-Ee;He>=0;He--){for(Ge=xe-1,We[He+Ee]!==Ke&&(Ge=Math.floor((We[He+Ee]*xe+We[He+Ee-1])/Ke)),ge=0,Je=0,ne=ae.length,gt=0;gt<ne;gt++)ge+=Ge*ae[gt],Se=Math.floor(ge/xe),Je+=We[He+gt]-(ge-Se*xe),ge=Se,Je<0?(We[He+gt]=Je+xe,Je=-1):(We[He+gt]=Je,Je=0);for(;Je!==0;){for(Ge-=1,ge=0,gt=0;gt<ne;gt++)ge+=We[He+gt]-xe+ae[gt],ge<0?(We[He+gt]=ge+xe,ge=0):(We[He+gt]=ge,ge=1);Je+=ge}Ce[He]=Ge}return We=V(We,Ne)[0],[de(Ce),de(We)]}function q(D,re){for(var J=D.length,Ee=re.length,xe=[],Ce=[],Ke=r,Ne,We,ae,Ge,He;J;){if(Ce.unshift(D[--J]),ve(Ce),le(Ce,re)<0){xe.push(0);continue}We=Ce.length,ae=Ce[We-1]*Ke+Ce[We-2],Ge=re[Ee-1]*Ke+re[Ee-2],We>Ee&&(ae=(ae+1)*Ke),Ne=Math.ceil(ae/Ge);do{if(He=j(re,Ne),le(He,Ce)<=0)break;Ne--}while(Ne);xe.push(Ne),Ce=ze(Ce,He)}return xe.reverse(),[de(xe),de(Ce)]}function V(D,re){var J=D.length,Ee=De(J),xe=r,Ce,Ke,Ne,We;for(Ne=0,Ce=J-1;Ce>=0;--Ce)We=Ne*xe+D[Ce],Ke=Ie(We/re),Ne=We-Ke*re,Ee[Ce]=Ke|0;return[Ee,Ne|0]}function Q(D,re){var J,Ee=se(re),xe=D.value,Ce=Ee.value,Ke;if(Ce===0)throw new Error("Cannot divide by zero");if(D.isSmall)return Ee.isSmall?[new R(Ie(xe/Ce)),new R(xe%Ce)]:[M[0],D];if(Ee.isSmall){if(Ce===1)return[D,M[0]];if(Ce==-1)return[D.negate(),M[0]];var Ne=Math.abs(Ce);if(Ne<r){J=V(xe,Ne),Ke=de(J[0]);var We=J[1];return D.sign&&(We=-We),typeof Ke=="number"?(D.sign!==Ee.sign&&(Ke=-Ke),[new R(Ke),new R(We)]):[new _(Ke,D.sign!==Ee.sign),new R(We)]}Ce=K(Ne)}var ae=le(xe,Ce);if(ae===-1)return[M[0],D];if(ae===0)return[M[D.sign===Ee.sign?1:-1],M[0]];xe.length+Ce.length<=200?J=I(xe,Ce):J=q(xe,Ce),Ke=J[0];var Ge=D.sign!==Ee.sign,He=J[1],ge=D.sign;return typeof Ke=="number"?(Ge&&(Ke=-Ke),Ke=new R(Ke)):Ke=new _(Ke,Ge),typeof He=="number"?(ge&&(He=-He),He=new R(He)):He=new _(He,ge),[Ke,He]}_.prototype.divmod=function(D){var re=Q(this,D);return{quotient:re[0],remainder:re[1]}},R.prototype.divmod=_.prototype.divmod,_.prototype.divide=function(D){return Q(this,D)[0]},R.prototype.over=R.prototype.divide=_.prototype.over=_.prototype.divide,_.prototype.mod=function(D){return Q(this,D)[1]},R.prototype.remainder=R.prototype.mod=_.prototype.remainder=_.prototype.mod,_.prototype.pow=function(D){var re=se(D),J=this.value,Ee=re.value,xe,Ce,Ke;if(Ee===0)return M[1];if(J===0)return M[0];if(J===1)return M[1];if(J===-1)return re.isEven()?M[1]:M[-1];if(re.sign)return M[0];if(!re.isSmall)throw new Error("The exponent "+re.toString()+" is too large.");if(this.isSmall&&ie(xe=Math.pow(J,Ee)))return new R(Ie(xe));for(Ce=this,Ke=M[1];Ee&!0&&(Ke=Ke.times(Ce),--Ee),Ee!==0;)Ee/=2,Ce=Ce.square();return Ke},R.prototype.pow=_.prototype.pow,_.prototype.modPow=function(D,re){if(D=se(D),re=se(re),re.isZero())throw new Error("Cannot take modPow with modulus 0");for(var J=M[1],Ee=this.mod(re);D.isPositive();){if(Ee.isZero())return M[0];D.isOdd()&&(J=J.multiply(Ee).mod(re)),D=D.divide(2),Ee=Ee.square().mod(re)}return J},R.prototype.modPow=_.prototype.modPow;function le(D,re){if(D.length!==re.length)return D.length>re.length?1:-1;for(var J=D.length-1;J>=0;J--)if(D[J]!==re[J])return D[J]>re[J]?1:-1;return 0}_.prototype.compareAbs=function(D){var re=se(D),J=this.value,Ee=re.value;return re.isSmall?1:le(J,Ee)},R.prototype.compareAbs=function(D){var re=se(D),J=Math.abs(this.value),Ee=re.value;return re.isSmall?(Ee=Math.abs(Ee),J===Ee?0:J>Ee?1:-1):-1},_.prototype.compare=function(D){if(D===1/0)return-1;if(D===-1/0)return 1;var re=se(D),J=this.value,Ee=re.value;return this.sign!==re.sign?re.sign?1:-1:re.isSmall?this.sign?-1:1:le(J,Ee)*(this.sign?-1:1)},_.prototype.compareTo=_.prototype.compare,R.prototype.compare=function(D){if(D===1/0)return-1;if(D===-1/0)return 1;var re=se(D),J=this.value,Ee=re.value;return re.isSmall?J==Ee?0:J>Ee?1:-1:J<0!==re.sign?J<0?-1:1:J<0?1:-1},R.prototype.compareTo=R.prototype.compare,_.prototype.equals=function(D){return this.compare(D)===0},R.prototype.eq=R.prototype.equals=_.prototype.eq=_.prototype.equals,_.prototype.notEquals=function(D){return this.compare(D)!==0},R.prototype.neq=R.prototype.notEquals=_.prototype.neq=_.prototype.notEquals,_.prototype.greater=function(D){return this.compare(D)>0},R.prototype.gt=R.prototype.greater=_.prototype.gt=_.prototype.greater,_.prototype.lesser=function(D){return this.compare(D)<0},R.prototype.lt=R.prototype.lesser=_.prototype.lt=_.prototype.lesser,_.prototype.greaterOrEquals=function(D){return this.compare(D)>=0},R.prototype.geq=R.prototype.greaterOrEquals=_.prototype.geq=_.prototype.greaterOrEquals,_.prototype.lesserOrEquals=function(D){return this.compare(D)<=0},R.prototype.leq=R.prototype.lesserOrEquals=_.prototype.leq=_.prototype.lesserOrEquals,_.prototype.isEven=function(){return(this.value[0]&1)===0},R.prototype.isEven=function(){return(this.value&1)===0},_.prototype.isOdd=function(){return(this.value[0]&1)===1},R.prototype.isOdd=function(){return(this.value&1)===1},_.prototype.isPositive=function(){return!this.sign},R.prototype.isPositive=function(){return this.value>0},_.prototype.isNegative=function(){return this.sign},R.prototype.isNegative=function(){return this.value<0},_.prototype.isUnit=function(){return!1},R.prototype.isUnit=function(){return Math.abs(this.value)===1},_.prototype.isZero=function(){return!1},R.prototype.isZero=function(){return this.value===0},_.prototype.isDivisibleBy=function(D){var re=se(D),J=re.value;return J===0?!1:J===1?!0:J===2?this.isEven():this.mod(re).equals(M[0])},R.prototype.isDivisibleBy=_.prototype.isDivisibleBy;function ye(D){var re=D.abs();if(re.isUnit())return!1;if(re.equals(2)||re.equals(3)||re.equals(5))return!0;if(re.isEven()||re.isDivisibleBy(3)||re.isDivisibleBy(5))return!1;if(re.lesser(49))return!0}function Ae(D,re){for(var J=D.prev(),Ee=J,xe=0,Ce,Ke,Ne,We;Ee.isEven();)Ee=Ee.divide(2),xe++;e:for(Ne=0;Ne<re.length;Ne++)if(!D.lesser(re[Ne])&&(We=t(re[Ne]).modPow(Ee,D),!(We.equals(M[1])||We.equals(J)))){for(Ce=xe-1;Ce!=0;Ce--){if(We=We.square().mod(D),We.isUnit())return!1;if(We.equals(J))continue e}return!1}return!0}_.prototype.isPrime=function(D){var re=ye(this);if(re!==e)return re;var J=this.abs(),Ee=J.bitLength();if(Ee<=64)return Ae(J,[2,325,9375,28178,450775,9780504,1795265022]);for(var xe=Math.log(2)*Ee,Ce=Math.ceil(D===!0?2*Math.pow(xe,2):xe),Ke=[],Ne=0;Ne<Ce;Ne++)Ke.push(t(Ne+2));return Ae(J,Ke)},R.prototype.isPrime=_.prototype.isPrime,_.prototype.isProbablePrime=function(D){var re=ye(this);if(re!==e)return re;for(var J=this.abs(),Ee=D===e?5:D,xe=[],Ce=0;Ce<Ee;Ce++)xe.push(t.randBetween(2,J.minus(2)));return Ae(J,xe)},R.prototype.isProbablePrime=_.prototype.isProbablePrime,_.prototype.modInv=function(D){for(var re=t.zero,J=t.one,Ee=se(D),xe=this.abs(),Ce,Ke,Ne;!xe.equals(t.zero);)Ce=Ee.divide(xe),Ke=re,Ne=Ee,re=J,Ee=xe,J=Ke.subtract(Ce.multiply(J)),xe=Ne.subtract(Ce.multiply(xe));if(!Ee.equals(1))throw new Error(this.toString()+" and "+D.toString()+" are not co-prime");return re.compare(0)===-1&&(re=re.add(D)),this.isNegative()?re.negate():re},R.prototype.modInv=_.prototype.modInv,_.prototype.next=function(){var D=this.value;return this.sign?ut(D,1,this.sign):new _(Te(D,1),this.sign)},R.prototype.next=function(){var D=this.value;return D+1<l?new R(D+1):new _(h,!1)},_.prototype.prev=function(){var D=this.value;return this.sign?new _(Te(D,1),!0):ut(D,1,this.sign)},R.prototype.prev=function(){var D=this.value;return D-1>-l?new R(D-1):new _(h,!0)};for(var je=[1];2*je[je.length-1]<=r;)je.push(2*je[je.length-1]);var it=je.length,yt=je[it-1];function me(D){return(typeof D=="number"||typeof D=="string")&&+Math.abs(D)<=r||D instanceof _&&D.value.length<=1}_.prototype.shiftLeft=function(D){if(!me(D))throw new Error(String(D)+" is too large for shifting.");if(D=+D,D<0)return this.shiftRight(-D);var re=this;if(re.isZero())return re;for(;D>=it;)re=re.multiply(yt),D-=it-1;return re.multiply(je[D])},R.prototype.shiftLeft=_.prototype.shiftLeft,_.prototype.shiftRight=function(D){var re;if(!me(D))throw new Error(String(D)+" is too large for shifting.");if(D=+D,D<0)return this.shiftLeft(-D);for(var J=this;D>=it;){if(J.isZero()||J.isNegative()&&J.isUnit())return J;re=Q(J,yt),J=re[1].isNegative()?re[0].prev():re[0],D-=it-1}return re=Q(J,je[D]),re[1].isNegative()?re[0].prev():re[0]},R.prototype.shiftRight=_.prototype.shiftRight;function Ue(D,re,J){re=se(re);for(var Ee=D.isNegative(),xe=re.isNegative(),Ce=Ee?D.not():D,Ke=xe?re.not():re,Ne=0,We=0,ae=null,Ge=null,He=[];!Ce.isZero()||!Ke.isZero();)ae=Q(Ce,yt),Ne=ae[1].toJSNumber(),Ee&&(Ne=yt-1-Ne),Ge=Q(Ke,yt),We=Ge[1].toJSNumber(),xe&&(We=yt-1-We),Ce=ae[0],Ke=Ge[0],He.push(J(Ne,We));for(var ge=J(Ee?1:0,xe?1:0)!==0?t(-1):t(0),Je=He.length-1;Je>=0;Je-=1)ge=ge.multiply(yt).add(t(He[Je]));return ge}_.prototype.not=function(){return this.negate().prev()},R.prototype.not=_.prototype.not,_.prototype.and=function(D){return Ue(this,D,function(re,J){return re&J})},R.prototype.and=_.prototype.and,_.prototype.or=function(D){return Ue(this,D,function(re,J){return re|J})},R.prototype.or=_.prototype.or,_.prototype.xor=function(D){return Ue(this,D,function(re,J){return re^J})},R.prototype.xor=_.prototype.xor;var Le=1<<30,Ve=(r&-r)*(r&-r)|Le;function lt(D){var re=D.value,J=typeof re=="number"?re|Le:re[0]+re[1]*r|Ve;return J&-J}function Nt(D,re){if(re.compareTo(D)<=0){var J=Nt(D,re.square(re)),Ee=J.p,xe=J.e,Ce=Ee.multiply(re);return Ce.compareTo(D)<=0?{p:Ce,e:xe*2+1}:{p:Ee,e:xe*2}}return{p:t(1),e:0}}_.prototype.bitLength=function(){var D=this;return D.compareTo(t(0))<0&&(D=D.negate().subtract(t(1))),D.compareTo(t(0))===0?t(0):t(Nt(D,t(2)).e).add(t(1))},R.prototype.bitLength=_.prototype.bitLength;function Ct(D,re){return D=se(D),re=se(re),D.greater(re)?D:re}function Xe(D,re){return D=se(D),re=se(re),D.lesser(re)?D:re}function he(D,re){if(D=se(D).abs(),re=se(re).abs(),D.equals(re))return D;if(D.isZero())return re;if(re.isZero())return D;for(var J=M[1],Ee,xe;D.isEven()&&re.isEven();)Ee=Math.min(lt(D),lt(re)),D=D.divide(Ee),re=re.divide(Ee),J=J.multiply(Ee);for(;D.isEven();)D=D.divide(lt(D));do{for(;re.isEven();)re=re.divide(lt(re));D.greater(re)&&(xe=re,re=D,D=xe),re=re.subtract(D)}while(!re.isZero());return J.isUnit()?D:D.multiply(J)}function et(D,re){return D=se(D).abs(),re=se(re).abs(),D.divide(he(D,re)).multiply(re)}function Lt(D,re){D=se(D),re=se(re);var J=Xe(D,re),Ee=Ct(D,re),xe=Ee.subtract(J).add(1);if(xe.isSmall)return J.add(Math.floor(Math.random()*xe));for(var Ce=xe.value.length-1,Ke=[],Ne=!0,We=Ce;We>=0;We--){var ae=Ne?xe.value[We]:r,Ge=Ie(Math.random()*ae);Ke.unshift(Ge),Ge<ae&&(Ne=!1)}return Ke=de(Ke),J.add(typeof Ke=="number"?new R(Ke):new _(Ke,!1))}var H=function(D,re){for(var J=D.length,Ee,xe=Math.abs(re),Ee=0;Ee<J;Ee++){var Ce=D[Ee].toLowerCase();if(Ce!=="-"&&/[a-z0-9]/.test(Ce)){if(/[0-9]/.test(Ce)&&+Ce>=xe){if(Ce==="1"&&xe===1)continue;throw new Error(Ce+" is not a valid digit in base "+re+".")}else if(Ce.charCodeAt(0)-87>=xe)throw new Error(Ce+" is not a valid digit in base "+re+".")}}if(2<=re&&re<=36&&J<=L/Math.log(re)){var Ke=parseInt(D,re);if(isNaN(Ke))throw new Error(Ce+" is not a valid digit in base "+re+".");return new R(parseInt(D,re))}re=se(re);var Ne=[],We=D[0]==="-";for(Ee=We?1:0;Ee<D.length;Ee++){var Ce=D[Ee].toLowerCase(),ae=Ce.charCodeAt(0);if(48<=ae&&ae<=57)Ne.push(se(Ce));else if(97<=ae&&ae<=122)Ne.push(se(Ce.charCodeAt(0)-87));else if(Ce==="<"){var Ge=Ee;do Ee++;while(D[Ee]!==">");Ne.push(se(D.slice(Ge+1,Ee)))}else throw new Error(Ce+" is not a valid character")}return P(Ne,re,We)};function P(D,re,J){var Ee=M[0],xe=M[1],Ce;for(Ce=D.length-1;Ce>=0;Ce--)Ee=Ee.add(D[Ce].times(xe)),xe=xe.times(re);return J?Ee.negate():Ee}function B(D){return D<=35?"0123456789abcdefghijklmnopqrstuvwxyz".charAt(D):"<"+D+">"}function fe(D,re){if(re=t(re),re.isZero()){if(D.isZero())return{value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(re.equals(-1)){if(D.isZero())return{value:[0],isNegative:!1};if(D.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-D)).map(Array.prototype.valueOf,[1,0])),isNegative:!1};var J=Array.apply(null,Array(+D-1)).map(Array.prototype.valueOf,[0,1]);return J.unshift([1]),{value:[].concat.apply([],J),isNegative:!1}}var Ee=!1;if(D.isNegative()&&re.isPositive()&&(Ee=!0,D=D.abs()),re.equals(1))return D.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(+D)).map(Number.prototype.valueOf,1),isNegative:Ee};for(var xe=[],Ce=D,Ke;Ce.isNegative()||Ce.compareAbs(re)>=0;){Ke=Ce.divmod(re),Ce=Ke.quotient;var Ne=Ke.remainder;Ne.isNegative()&&(Ne=re.minus(Ne).abs(),Ce=Ce.next()),xe.push(Ne.toJSNumber())}return xe.push(Ce.toJSNumber()),{value:xe.reverse(),isNegative:Ee}}function pe(D,re){var J=fe(D,re);return(J.isNegative?"-":"")+J.value.map(B).join("")}_.prototype.toArray=function(D){return fe(this,D)},R.prototype.toArray=function(D){return fe(this,D)},_.prototype.toString=function(D){if(D===e&&(D=10),D!==10)return pe(this,D);for(var re=this.value,J=re.length,Ee=String(re[--J]),xe="0000000",Ce;--J>=0;)Ce=String(re[J]),Ee+=xe.slice(Ce.length)+Ce;var Ke=this.sign?"-":"";return Ke+Ee},R.prototype.toString=function(D){return D===e&&(D=10),D!=10?pe(this,D):String(this.value)},_.prototype.toJSON=R.prototype.toJSON=function(){return this.toString()},_.prototype.valueOf=function(){return parseInt(this.toString(),10)},_.prototype.toJSNumber=_.prototype.valueOf,R.prototype.valueOf=function(){return this.value},R.prototype.toJSNumber=R.prototype.valueOf;function ue(D){if(ie(+D)){var re=+D;if(re===Ie(re))return new R(re);throw new Error("Invalid integer: "+D)}var J=D[0]==="-";J&&(D=D.slice(1));var Ee=D.split(/e/i);if(Ee.length>2)throw new Error("Invalid integer: "+Ee.join("e"));if(Ee.length===2){var xe=Ee[1];if(xe[0]==="+"&&(xe=xe.slice(1)),xe=+xe,xe!==Ie(xe)||!ie(xe))throw new Error("Invalid integer: "+xe+" is not a valid exponent.");var Ce=Ee[0],Ke=Ce.indexOf(".");if(Ke>=0&&(xe-=Ce.length-Ke-1,Ce=Ce.slice(0,Ke)+Ce.slice(Ke+1)),xe<0)throw new Error("Cannot include negative exponent part for integers");Ce+=new Array(xe+1).join("0"),D=Ce}var Ne=/^([0-9][0-9]*)$/.test(D);if(!Ne)throw new Error("Invalid integer: "+D);for(var We=[],ae=D.length,Ge=a,He=ae-Ge;ae>0;)We.push(+D.slice(He,ae)),He-=Ge,He<0&&(He=0),ae-=Ge;return ve(We),new _(We,J)}function st(D){if(ie(D)){if(D!==Ie(D))throw new Error(D+" is not an integer.");return new R(D)}return ue(D.toString())}function se(D){return typeof D=="number"?st(D):typeof D=="string"?ue(D):D}for(var te=0;te<1e3;te++)M[te]=new R(te),te>0&&(M[-te]=new R(-te));return M.one=M[1],M.zero=M[0],M.minusOne=M[-1],M.max=Ct,M.min=Xe,M.gcd=he,M.lcm=et,M.isInstance=function(D){return D instanceof _||D instanceof R},M.randBetween=Lt,M.fromArray=function(D,re,J){return P(D.map(se),se(re||10),J)},M}();return typeof E0!="undefined"&&E0.hasOwnProperty("exports")&&(E0.exports=t),typeof define=="function"&&define.amd&&define("big-integer",[],function(){return t}),t}(),bigDec:function(t){"use strict";var e,r,a,l,h=9e15,L=1e9,M="0123456789abcdef",_="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",R="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ie={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-h,maxE:h,crypto:!1},K=!0,de="[DecimalError] ",ve=de+"Invalid argument: ",De=de+"Precision limit exceeded",Ie=de+"crypto unavailable",Qe=Math.floor,ee=Math.pow,Te=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,ze=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Oe=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ut=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,at=1e7,j=7,d=_.length-1,c=R.length-1,u={name:"[object Decimal]"};function f(O){var Z,g,E,T=O.length-1,s="",x=O[0];if(T>0){for(s+=x,Z=1;Z<T;Z++)E=O[Z]+"",(g=j-E.length)&&(s+=yt(g)),s+=E;x=O[Z],(g=j-(E=x+"").length)&&(s+=yt(g))}else if(x===0)return"0";for(;x%10==0;)x/=10;return s+x}function v(O,Z,g){if(O!==~~O||O<Z||O>g)throw Error(ve+O)}function I(O,Z,g,E){var T,s,x,C;for(s=O[0];s>=10;s/=10)--Z;return--Z<0?(Z+=j,T=0):(T=Math.ceil((Z+1)/j),Z%=j),s=ee(10,j-Z),C=O[T]%s|0,E==null?Z<3?(Z==0?C=C/100|0:Z==1&&(C=C/10|0),x=g<4&&C==99999||g>3&&C==49999||C==5e4||C==0):x=(g<4&&C+1==s||g>3&&C+1==s/2)&&(O[T+1]/s/100|0)==ee(10,Z-2)-1||(C==s/2||C==0)&&(O[T+1]/s/100|0)==0:Z<4?(Z==0?C=C/1e3|0:Z==1?C=C/100|0:Z==2&&(C=C/10|0),x=(E||g<4)&&C==9999||!E&&g>3&&C==4999):x=((E||g<4)&&C+1==s||!E&&g>3&&C+1==s/2)&&(O[T+1]/s/1e3|0)==ee(10,Z-3)-1,x}function q(O,Z,g){for(var E,T,s=[0],x=0,C=O.length;x<C;){for(T=s.length;T--;)s[T]*=Z;for(s[0]+=M.indexOf(O.charAt(x++)),E=0;E<s.length;E++)s[E]>g-1&&(s[E+1]===void 0&&(s[E+1]=0),s[E+1]+=s[E]/g|0,s[E]%=g)}return s.reverse()}u.absoluteValue=u.abs=function(){var O=new this.constructor(this);return O.s<0&&(O.s=1),Q(O)},u.ceil=function(){return Q(new this.constructor(this),this.e+1,2)},u.comparedTo=u.cmp=function(O){var Z,g,E,T,s=this,x=s.d,C=(O=new s.constructor(O)).d,U=s.s,G=O.s;if(!x||!C)return U&&G?U!==G?U:x===C?0:!x^U<0?1:-1:NaN;if(!x[0]||!C[0])return x[0]?U:C[0]?-G:0;if(U!==G)return U;if(s.e!==O.e)return s.e>O.e^U<0?1:-1;for(Z=0,g=(E=x.length)<(T=C.length)?E:T;Z<g;++Z)if(x[Z]!==C[Z])return x[Z]>C[Z]^U<0?1:-1;return E===T?0:E>T^U<0?1:-1},u.cosine=u.cos=function(){var O,Z,g=this,E=g.constructor;return g.d?g.d[0]?(O=E.precision,Z=E.rounding,E.precision=O+Math.max(g.e,g.sd())+j,E.rounding=1,g=function(T,s){var x,C,U=s.d.length;U<32?(x=Math.ceil(U/3),C=(1/et(4,x)).toString()):(x=16,C="2.3283064365386962890625e-10"),T.precision+=x,s=he(T,1,s.times(C),new T(1));for(var G=x;G--;){var Y=s.times(s);s=Y.times(Y).minus(Y).times(8).plus(1)}return T.precision-=x,s}(E,Lt(E,g)),E.precision=O,E.rounding=Z,Q(l==2||l==3?g.neg():g,O,Z,!0)):new E(1):new E(NaN)},u.cubeRoot=u.cbrt=function(){var O,Z,g,E,T,s,x,C,U,G,Y=this,ce=Y.constructor;if(!Y.isFinite()||Y.isZero())return new ce(Y);for(K=!1,(s=Y.s*ee(Y.s*Y,.3333333333333333))&&Math.abs(s)!=1/0?E=new ce(s.toString()):(g=f(Y.d),(s=((O=Y.e)-g.length+1)%3)&&(g+=s==1||s==-2?"0":"00"),s=ee(g,.3333333333333333),O=Qe((O+1)/3)-(O%3==(O<0?-1:2)),(E=new ce(g=s==1/0?"5e"+O:(g=s.toExponential()).slice(0,g.indexOf("e")+1)+O)).s=Y.s),x=(O=ce.precision)+3;;)if(G=(U=(C=E).times(C).times(C)).plus(Y),E=V(G.plus(Y).times(C),G.plus(U),x+2,1),f(C.d).slice(0,x)===(g=f(E.d)).slice(0,x)){if((g=g.slice(x-3,x+1))!="9999"&&(T||g!="4999")){+g&&(+g.slice(1)||g.charAt(0)!="5")||(Q(E,O+1,1),Z=!E.times(E).times(E).eq(Y));break}if(!T&&(Q(C,O+1,0),C.times(C).times(C).eq(Y))){E=C;break}x+=4,T=1}return K=!0,Q(E,O,ce.rounding,Z)},u.decimalPlaces=u.dp=function(){var O,Z=this.d,g=NaN;if(Z){if(g=((O=Z.length-1)-Qe(this.e/j))*j,O=Z[O])for(;O%10==0;O/=10)g--;g<0&&(g=0)}return g},u.dividedBy=u.div=function(O){return V(this,new this.constructor(O))},u.dividedToIntegerBy=u.divToInt=function(O){var Z=this.constructor;return Q(V(this,new Z(O),0,1,1),Z.precision,Z.rounding)},u.equals=u.eq=function(O){return this.cmp(O)===0},u.floor=function(){return Q(new this.constructor(this),this.e+1,3)},u.greaterThan=u.gt=function(O){return this.cmp(O)>0},u.greaterThanOrEqualTo=u.gte=function(O){var Z=this.cmp(O);return Z==1||Z===0},u.hyperbolicCosine=u.cosh=function(){var O,Z,g,E,T,s=this,x=s.constructor,C=new x(1);if(!s.isFinite())return new x(s.s?1/0:NaN);if(s.isZero())return C;g=x.precision,E=x.rounding,x.precision=g+Math.max(s.e,s.sd())+4,x.rounding=1,(T=s.d.length)<32?Z=(1/et(4,O=Math.ceil(T/3))).toString():(O=16,Z="2.3283064365386962890625e-10"),s=he(x,1,s.times(Z),new x(1),!0);for(var U,G=O,Y=new x(8);G--;)U=s.times(s),s=C.minus(U.times(Y.minus(U.times(Y))));return Q(s,x.precision=g,x.rounding=E,!0)},u.hyperbolicSine=u.sinh=function(){var O,Z,g,E,T=this,s=T.constructor;if(!T.isFinite()||T.isZero())return new s(T);if(Z=s.precision,g=s.rounding,s.precision=Z+Math.max(T.e,T.sd())+4,s.rounding=1,(E=T.d.length)<3)T=he(s,2,T,T,!0);else{O=(O=1.4*Math.sqrt(E))>16?16:0|O,T=he(s,2,T=T.times(1/et(5,O)),T,!0);for(var x,C=new s(5),U=new s(16),G=new s(20);O--;)x=T.times(T),T=T.times(C.plus(x.times(U.times(x).plus(G))))}return s.precision=Z,s.rounding=g,Q(T,Z,g,!0)},u.hyperbolicTangent=u.tanh=function(){var O,Z,g=this,E=g.constructor;return g.isFinite()?g.isZero()?new E(g):(O=E.precision,Z=E.rounding,E.precision=O+7,E.rounding=1,V(g.sinh(),g.cosh(),E.precision=O,E.rounding=Z)):new E(g.s)},u.inverseCosine=u.acos=function(){var O,Z=this,g=Z.constructor,E=Z.abs().cmp(1),T=g.precision,s=g.rounding;return E!==-1?E===0?Z.isNeg()?je(g,T,s):new g(0):new g(NaN):Z.isZero()?je(g,T+4,s).times(.5):(g.precision=T+6,g.rounding=1,Z=Z.asin(),O=je(g,T+4,s).times(.5),g.precision=T,g.rounding=s,O.minus(Z))},u.inverseHyperbolicCosine=u.acosh=function(){var O,Z,g=this,E=g.constructor;return g.lte(1)?new E(g.eq(1)?0:NaN):g.isFinite()?(O=E.precision,Z=E.rounding,E.precision=O+Math.max(Math.abs(g.e),g.sd())+4,E.rounding=1,K=!1,g=g.times(g).minus(1).sqrt().plus(g),K=!0,E.precision=O,E.rounding=Z,g.ln()):new E(g)},u.inverseHyperbolicSine=u.asinh=function(){var O,Z,g=this,E=g.constructor;return!g.isFinite()||g.isZero()?new E(g):(O=E.precision,Z=E.rounding,E.precision=O+2*Math.max(Math.abs(g.e),g.sd())+6,E.rounding=1,K=!1,g=g.times(g).plus(1).sqrt().plus(g),K=!0,E.precision=O,E.rounding=Z,g.ln())},u.inverseHyperbolicTangent=u.atanh=function(){var O,Z,g,E,T=this,s=T.constructor;return T.isFinite()?T.e>=0?new s(T.abs().eq(1)?T.s/0:T.isZero()?T:NaN):(O=s.precision,Z=s.rounding,E=T.sd(),Math.max(E,O)<2*-T.e-1?Q(new s(T),O,Z,!0):(s.precision=g=E-T.e,T=V(T.plus(1),new s(1).minus(T),g+O,1),s.precision=O+4,s.rounding=1,T=T.ln(),s.precision=O,s.rounding=Z,T.times(.5))):new s(NaN)},u.inverseSine=u.asin=function(){var O,Z,g,E,T=this,s=T.constructor;return T.isZero()?new s(T):(Z=T.abs().cmp(1),g=s.precision,E=s.rounding,Z!==-1?Z===0?((O=je(s,g+4,E).times(.5)).s=T.s,O):new s(NaN):(s.precision=g+6,s.rounding=1,T=T.div(new s(1).minus(T.times(T)).sqrt().plus(1)).atan(),s.precision=g,s.rounding=E,T.times(2)))},u.inverseTangent=u.atan=function(){var O,Z,g,E,T,s,x,C,U,G=this,Y=G.constructor,ce=Y.precision,Me=Y.rounding;if(G.isFinite()){if(G.isZero())return new Y(G);if(G.abs().eq(1)&&ce+4<=c)return(x=je(Y,ce+4,Me).times(.25)).s=G.s,x}else{if(!G.s)return new Y(NaN);if(ce+4<=c)return(x=je(Y,ce+4,Me).times(.5)).s=G.s,x}for(Y.precision=C=ce+10,Y.rounding=1,O=g=Math.min(28,C/j+2|0);O;--O)G=G.div(G.times(G).plus(1).sqrt().plus(1));for(K=!1,Z=Math.ceil(C/j),E=1,U=G.times(G),x=new Y(G),T=G;O!==-1;)if(T=T.times(U),s=x.minus(T.div(E+=2)),T=T.times(U),(x=s.plus(T.div(E+=2))).d[Z]!==void 0)for(O=Z;x.d[O]===s.d[O]&&O--;);return g&&(x=x.times(2<<g-1)),K=!0,Q(x,Y.precision=ce,Y.rounding=Me,!0)},u.isFinite=function(){return!!this.d},u.isInteger=u.isInt=function(){return!!this.d&&Qe(this.e/j)>this.d.length-2},u.isNaN=function(){return!this.s},u.isNegative=u.isNeg=function(){return this.s<0},u.isPositive=u.isPos=function(){return this.s>0},u.isZero=function(){return!!this.d&&this.d[0]===0},u.lessThan=u.lt=function(O){return this.cmp(O)<0},u.lessThanOrEqualTo=u.lte=function(O){return this.cmp(O)<1},u.logarithm=u.log=function(O){var Z,g,E,T,s,x,C,U,G=this.constructor,Y=G.precision,ce=G.rounding;if(O==null)O=new G(10),Z=!0;else{if(g=(O=new G(O)).d,O.s<0||!g||!g[0]||O.eq(1))return new G(NaN);Z=O.eq(10)}if(g=this.d,this.s<0||!g||!g[0]||this.eq(1))return new G(g&&!g[0]?-1/0:this.s!=1?NaN:g?0:1/0);if(Z)if(g.length>1)s=!0;else{for(T=g[0];T%10==0;)T/=10;s=T!==1}if(K=!1,x=lt(this,C=Y+5),E=Z?Ae(G,C+10):lt(O,C),I((U=V(x,E,C,1)).d,T=Y,ce))do if(x=lt(this,C+=10),E=Z?Ae(G,C+10):lt(O,C),U=V(x,E,C,1),!s){+f(U.d).slice(T+1,T+15)+1==1e14&&(U=Q(U,Y+1,0));break}while(I(U.d,T+=10,ce));return K=!0,Q(U,Y,ce)},u.minus=u.sub=function(O){var Z,g,E,T,s,x,C,U,G,Y,ce,Me,dt=this,_t=dt.constructor;if(O=new _t(O),!dt.d||!O.d)return dt.s&&O.s?dt.d?O.s=-O.s:O=new _t(O.d||dt.s!==O.s?dt:NaN):O=new _t(NaN),O;if(dt.s!=O.s)return O.s=-O.s,dt.plus(O);if(G=dt.d,Me=O.d,C=_t.precision,U=_t.rounding,!G[0]||!Me[0]){if(Me[0])O.s=-O.s;else{if(!G[0])return new _t(U===3?-0:0);O=new _t(dt)}return K?Q(O,C,U):O}if(g=Qe(O.e/j),Y=Qe(dt.e/j),G=G.slice(),s=Y-g){for((ce=s<0)?(Z=G,s=-s,x=Me.length):(Z=Me,g=Y,x=G.length),s>(E=Math.max(Math.ceil(C/j),x)+2)&&(s=E,Z.length=1),Z.reverse(),E=s;E--;)Z.push(0);Z.reverse()}else{for((ce=(E=G.length)<(x=Me.length))&&(x=E),E=0;E<x;E++)if(G[E]!=Me[E]){ce=G[E]<Me[E];break}s=0}for(ce&&(Z=G,G=Me,Me=Z,O.s=-O.s),x=G.length,E=Me.length-x;E>0;--E)G[x++]=0;for(E=Me.length;E>s;){if(G[--E]<Me[E]){for(T=E;T&&G[--T]===0;)G[T]=at-1;--G[T],G[E]+=at}G[E]-=Me[E]}for(;G[--x]===0;)G.pop();for(;G[0]===0;G.shift())--g;return G[0]?(O.d=G,O.e=ye(G,g),K?Q(O,C,U):O):new _t(U===3?-0:0)},u.modulo=u.mod=function(O){var Z,g=this,E=g.constructor;return O=new E(O),!g.d||!O.s||O.d&&!O.d[0]?new E(NaN):!O.d||g.d&&!g.d[0]?Q(new E(g),E.precision,E.rounding):(K=!1,E.modulo==9?(Z=V(g,O.abs(),0,3,1)).s*=O.s:Z=V(g,O,0,E.modulo,1),Z=Z.times(O),K=!0,g.minus(Z))},u.naturalExponential=u.exp=function(){return Ve(this)},u.naturalLogarithm=u.ln=function(){return lt(this)},u.negated=u.neg=function(){var O=new this.constructor(this);return O.s=-O.s,Q(O)},u.plus=u.add=function(O){var Z,g,E,T,s,x,C,U,G,Y,ce=this,Me=ce.constructor;if(O=new Me(O),!ce.d||!O.d)return ce.s&&O.s?ce.d||(O=new Me(O.d||ce.s===O.s?ce:NaN)):O=new Me(NaN),O;if(ce.s!=O.s)return O.s=-O.s,ce.minus(O);if(G=ce.d,Y=O.d,C=Me.precision,U=Me.rounding,!G[0]||!Y[0])return Y[0]||(O=new Me(ce)),K?Q(O,C,U):O;if(s=Qe(ce.e/j),E=Qe(O.e/j),G=G.slice(),T=s-E){for(T<0?(g=G,T=-T,x=Y.length):(g=Y,E=s,x=G.length),T>(x=(s=Math.ceil(C/j))>x?s+1:x+1)&&(T=x,g.length=1),g.reverse();T--;)g.push(0);g.reverse()}for((x=G.length)-(T=Y.length)<0&&(T=x,g=Y,Y=G,G=g),Z=0;T;)Z=(G[--T]=G[T]+Y[T]+Z)/at|0,G[T]%=at;for(Z&&(G.unshift(Z),++E),x=G.length;G[--x]==0;)G.pop();return O.d=G,O.e=ye(G,E),K?Q(O,C,U):O},u.precision=u.sd=function(O){var Z,g=this;if(O!==void 0&&O!==!!O&&O!==1&&O!==0)throw Error(ve+O);return g.d?(Z=it(g.d),O&&g.e+1>Z&&(Z=g.e+1)):Z=NaN,Z},u.round=function(){var O=this,Z=O.constructor;return Q(new Z(O),O.e+1,Z.rounding)},u.sine=u.sin=function(){var O,Z,g=this,E=g.constructor;return g.isFinite()?g.isZero()?new E(g):(O=E.precision,Z=E.rounding,E.precision=O+Math.max(g.e,g.sd())+j,E.rounding=1,g=function(T,s){var x,C=s.d.length;if(C<3)return he(T,2,s,s);x=(x=1.4*Math.sqrt(C))>16?16:0|x,s=s.times(1/et(5,x)),s=he(T,2,s,s);for(var U,G=new T(5),Y=new T(16),ce=new T(20);x--;)U=s.times(s),s=s.times(G.plus(U.times(Y.times(U).minus(ce))));return s}(E,Lt(E,g)),E.precision=O,E.rounding=Z,Q(l>2?g.neg():g,O,Z,!0)):new E(NaN)},u.squareRoot=u.sqrt=function(){var O,Z,g,E,T,s,x=this,C=x.d,U=x.e,G=x.s,Y=x.constructor;if(G!==1||!C||!C[0])return new Y(!G||G<0&&(!C||C[0])?NaN:C?x:1/0);for(K=!1,(G=Math.sqrt(+x))==0||G==1/0?(((Z=f(C)).length+U)%2==0&&(Z+="0"),G=Math.sqrt(Z),U=Qe((U+1)/2)-(U<0||U%2),E=new Y(Z=G==1/0?"5e"+U:(Z=G.toExponential()).slice(0,Z.indexOf("e")+1)+U)):E=new Y(G.toString()),g=(U=Y.precision)+3;;)if(E=(s=E).plus(V(x,s,g+2,1)).times(.5),f(s.d).slice(0,g)===(Z=f(E.d)).slice(0,g)){if((Z=Z.slice(g-3,g+1))!="9999"&&(T||Z!="4999")){+Z&&(+Z.slice(1)||Z.charAt(0)!="5")||(Q(E,U+1,1),O=!E.times(E).eq(x));break}if(!T&&(Q(s,U+1,0),s.times(s).eq(x))){E=s;break}g+=4,T=1}return K=!0,Q(E,U,Y.rounding,O)},u.tangent=u.tan=function(){var O,Z,g=this,E=g.constructor;return g.isFinite()?g.isZero()?new E(g):(O=E.precision,Z=E.rounding,E.precision=O+10,E.rounding=1,(g=g.sin()).s=1,g=V(g,new E(1).minus(g.times(g)).sqrt(),O+10,0),E.precision=O,E.rounding=Z,Q(l==2||l==4?g.neg():g,O,Z,!0)):new E(NaN)},u.times=u.mul=function(O){var Z,g,E,T,s,x,C,U,G,Y=this,ce=Y.constructor,Me=Y.d,dt=(O=new ce(O)).d;if(O.s*=Y.s,!(Me&&Me[0]&&dt&&dt[0]))return new ce(!O.s||Me&&!Me[0]&&!dt||dt&&!dt[0]&&!Me?NaN:Me&&dt?0*O.s:O.s/0);for(g=Qe(Y.e/j)+Qe(O.e/j),(U=Me.length)<(G=dt.length)&&(s=Me,Me=dt,dt=s,x=U,U=G,G=x),s=[],E=x=U+G;E--;)s.push(0);for(E=G;--E>=0;){for(Z=0,T=U+E;T>E;)C=s[T]+dt[E]*Me[T-E-1]+Z,s[T--]=C%at|0,Z=C/at|0;s[T]=(s[T]+Z)%at|0}for(;!s[--x];)s.pop();return Z?++g:s.shift(),O.d=s,O.e=ye(s,g),K?Q(O,ce.precision,ce.rounding):O},u.toBinary=function(O,Z){return H(this,2,O,Z)},u.toDecimalPlaces=u.toDP=function(O,Z){var g=this,E=g.constructor;return g=new E(g),O===void 0?g:(v(O,0,L),Z===void 0?Z=E.rounding:v(Z,0,8),Q(g,O+g.e+1,Z))},u.toExponential=function(O,Z){var g,E=this,T=E.constructor;return O===void 0?g=le(E,!0):(v(O,0,L),Z===void 0?Z=T.rounding:v(Z,0,8),g=le(E=Q(new T(E),O+1,Z),!0,O+1)),E.isNeg()&&!E.isZero()?"-"+g:g},u.toFixed=function(O,Z){var g,E,T=this,s=T.constructor;return O===void 0?g=le(T):(v(O,0,L),Z===void 0?Z=s.rounding:v(Z,0,8),g=le(E=Q(new s(T),O+T.e+1,Z),!1,O+E.e+1)),T.isNeg()&&!T.isZero()?"-"+g:g},u.toFraction=function(O){var Z,g,E,T,s,x,C,U,G,Y,ce,Me,dt=this,_t=dt.d,$t=dt.constructor;if(!_t)return new $t(dt);if(G=g=new $t(1),E=U=new $t(0),x=(s=(Z=new $t(E)).e=it(_t)-dt.e-1)%j,Z.d[0]=ee(10,x<0?j+x:x),O==null)O=s>0?Z:G;else{if(!(C=new $t(O)).isInt()||C.lt(G))throw Error(ve+C);O=C.gt(Z)?s>0?Z:G:C}for(K=!1,C=new $t(f(_t)),Y=$t.precision,$t.precision=s=_t.length*j*2;ce=V(C,Z,0,1,1),(T=g.plus(ce.times(E))).cmp(O)!=1;)g=E,E=T,T=G,G=U.plus(ce.times(T)),U=T,T=Z,Z=C.minus(ce.times(T)),C=T;return T=V(O.minus(g),E,0,1,1),U=U.plus(T.times(G)),g=g.plus(T.times(E)),U.s=G.s=dt.s,Me=V(G,E,s,1).minus(dt).abs().cmp(V(U,g,s,1).minus(dt).abs())<1?[G,E]:[U,g],$t.precision=Y,K=!0,Me},u.toHexadecimal=u.toHex=function(O,Z){return H(this,16,O,Z)},u.toNearest=function(O,Z){var g=this,E=g.constructor;if(g=new E(g),O==null){if(!g.d)return g;O=new E(1),Z=E.rounding}else{if(O=new E(O),Z===void 0?Z=E.rounding:v(Z,0,8),!g.d)return O.s?g:O;if(!O.d)return O.s&&(O.s=g.s),O}return O.d[0]?(K=!1,g=V(g,O,0,Z,1).times(O),K=!0,Q(g)):(O.s=g.s,g=O),g},u.toNumber=function(){return+this},u.toOctal=function(O,Z){return H(this,8,O,Z)},u.toPower=u.pow=function(O){var Z,g,E,T,s,x,C=this,U=C.constructor,G=+(O=new U(O));if(!(C.d&&O.d&&C.d[0]&&O.d[0]))return new U(ee(+C,G));if((C=new U(C)).eq(1))return C;if(E=U.precision,s=U.rounding,O.eq(1))return Q(C,E,s);if((Z=Qe(O.e/j))>=O.d.length-1&&(g=G<0?-G:G)<=9007199254740991)return T=me(U,C,g,E),O.s<0?new U(1).div(T):Q(T,E,s);if((x=C.s)<0){if(Z<O.d.length-1)return new U(NaN);if((1&O.d[Z])==0&&(x=1),C.e==0&&C.d[0]==1&&C.d.length==1)return C.s=x,C}return(Z=(g=ee(+C,G))!=0&&isFinite(g)?new U(g+"").e:Qe(G*(Math.log("0."+f(C.d))/Math.LN10+C.e+1)))>U.maxE+1||Z<U.minE-1?new U(Z>0?x/0:0):(K=!1,U.rounding=C.s=1,g=Math.min(12,(Z+"").length),(T=Ve(O.times(lt(C,E+g)),E)).d&&I((T=Q(T,E+5,1)).d,E,s)&&(Z=E+10,+f((T=Q(Ve(O.times(lt(C,Z+g)),Z),Z+5,1)).d).slice(E+1,E+15)+1==1e14&&(T=Q(T,E+1,0))),T.s=x,K=!0,U.rounding=s,Q(T,E,s))},u.toPrecision=function(O,Z){var g,E=this,T=E.constructor;return O===void 0?g=le(E,E.e<=T.toExpNeg||E.e>=T.toExpPos):(v(O,1,L),Z===void 0?Z=T.rounding:v(Z,0,8),g=le(E=Q(new T(E),O,Z),O<=E.e||E.e<=T.toExpNeg,O)),E.isNeg()&&!E.isZero()?"-"+g:g},u.toSignificantDigits=u.toSD=function(O,Z){var g=this.constructor;return O===void 0?(O=g.precision,Z=g.rounding):(v(O,1,L),Z===void 0?Z=g.rounding:v(Z,0,8)),Q(new g(this),O,Z)},u.toString=function(){var O=this,Z=O.constructor,g=le(O,O.e<=Z.toExpNeg||O.e>=Z.toExpPos);return O.isNeg()&&!O.isZero()?"-"+g:g},u.truncated=u.trunc=function(){return Q(new this.constructor(this),this.e+1,1)},u.valueOf=u.toJSON=function(){var O=this,Z=O.constructor,g=le(O,O.e<=Z.toExpNeg||O.e>=Z.toExpPos);return O.isNeg()?"-"+g:g};var V=function(){function O(E,T,s){var x,C=0,U=E.length;for(E=E.slice();U--;)x=E[U]*T+C,E[U]=x%s|0,C=x/s|0;return C&&E.unshift(C),E}function Z(E,T,s,x){var C,U;if(s!=x)U=s>x?1:-1;else for(C=U=0;C<s;C++)if(E[C]!=T[C]){U=E[C]>T[C]?1:-1;break}return U}function g(E,T,s,x){for(var C=0;s--;)E[s]-=C,C=E[s]<T[s]?1:0,E[s]=C*x+E[s]-T[s];for(;!E[0]&&E.length>1;)E.shift()}return function(E,T,s,x,C,U){var G,Y,ce,Me,dt,_t,$t,i,S,A,W,ke,Fe,ft,St,Vt,zt,oe,$,Ot,kt=E.constructor,xt=E.s==T.s?1:-1,At=E.d,Gt=T.d;if(!(At&&At[0]&&Gt&&Gt[0]))return new kt(E.s&&T.s&&(At?!Gt||At[0]!=Gt[0]:Gt)?At&&At[0]==0||!Gt?0*xt:xt/0:NaN);for(U?(dt=1,Y=E.e-T.e):(U=at,dt=j,Y=Qe(E.e/dt)-Qe(T.e/dt)),$=Gt.length,zt=At.length,A=(S=new kt(xt)).d=[],ce=0;Gt[ce]==(At[ce]||0);ce++);if(Gt[ce]>(At[ce]||0)&&Y--,s==null?(ft=s=kt.precision,x=kt.rounding):ft=C?s+(E.e-T.e)+1:s,ft<0)A.push(1),_t=!0;else{if(ft=ft/dt+2|0,ce=0,$==1){for(Me=0,Gt=Gt[0],ft++;(ce<zt||Me)&&ft--;ce++)St=Me*U+(At[ce]||0),A[ce]=St/Gt|0,Me=St%Gt|0;_t=Me||ce<zt}else{for((Me=U/(Gt[0]+1)|0)>1&&(Gt=O(Gt,Me,U),At=O(At,Me,U),$=Gt.length,zt=At.length),Vt=$,ke=(W=At.slice(0,$)).length;ke<$;)W[ke++]=0;(Ot=Gt.slice()).unshift(0),oe=Gt[0],Gt[1]>=U/2&&++oe;do Me=0,(G=Z(Gt,W,$,ke))<0?(Fe=W[0],$!=ke&&(Fe=Fe*U+(W[1]||0)),(Me=Fe/oe|0)>1?(Me>=U&&(Me=U-1),(G=Z($t=O(Gt,Me,U),W,i=$t.length,ke=W.length))==1&&(Me--,g($t,$<i?Ot:Gt,i,U))):(Me==0&&(G=Me=1),$t=Gt.slice()),(i=$t.length)<ke&&$t.unshift(0),g(W,$t,ke,U),G==-1&&(G=Z(Gt,W,$,ke=W.length))<1&&(Me++,g(W,$<ke?Ot:Gt,ke,U)),ke=W.length):G===0&&(Me++,W=[0]),A[ce++]=Me,G&&W[0]?W[ke++]=At[Vt]||0:(W=[At[Vt]],ke=1);while((Vt++<zt||W[0]!==void 0)&&ft--);_t=W[0]!==void 0}A[0]||A.shift()}if(dt==1)S.e=Y,r=_t;else{for(ce=1,Me=A[0];Me>=10;Me/=10)ce++;S.e=ce+Y*dt-1,Q(S,C?s+S.e+1:s,x,_t)}return S}}();function Q(O,Z,g,E){var T,s,x,C,U,G,Y,ce,Me,dt=O.constructor;e:if(Z!=null){if(!(ce=O.d))return O;for(T=1,C=ce[0];C>=10;C/=10)T++;if((s=Z-T)<0)s+=j,x=Z,U=(Y=ce[Me=0])/ee(10,T-x-1)%10|0;else if((Me=Math.ceil((s+1)/j))>=(C=ce.length)){if(!E)break e;for(;C++<=Me;)ce.push(0);Y=U=0,T=1,x=(s%=j)-j+1}else{for(Y=C=ce[Me],T=1;C>=10;C/=10)T++;U=(x=(s%=j)-j+T)<0?0:Y/ee(10,T-x-1)%10|0}if(E=E||Z<0||ce[Me+1]!==void 0||(x<0?Y:Y%ee(10,T-x-1)),G=g<4?(U||E)&&(g==0||g==(O.s<0?3:2)):U>5||U==5&&(g==4||E||g==6&&(s>0?x>0?Y/ee(10,T-x):0:ce[Me-1])%10&1||g==(O.s<0?8:7)),Z<1||!ce[0])return ce.length=0,G?(Z-=O.e+1,ce[0]=ee(10,(j-Z%j)%j),O.e=-Z||0):ce[0]=O.e=0,O;if(s==0?(ce.length=Me,C=1,Me--):(ce.length=Me+1,C=ee(10,j-s),ce[Me]=x>0?(Y/ee(10,T-x)%ee(10,x)|0)*C:0),G)for(;;){if(Me==0){for(s=1,x=ce[0];x>=10;x/=10)s++;for(x=ce[0]+=C,C=1;x>=10;x/=10)C++;s!=C&&(O.e++,ce[0]==at&&(ce[0]=1));break}if(ce[Me]+=C,ce[Me]!=at)break;ce[Me--]=0,C=1}for(s=ce.length;ce[--s]===0;)ce.pop()}return K&&(O.e>dt.maxE?(O.d=null,O.e=NaN):O.e<dt.minE&&(O.e=0,O.d=[0])),O}function le(O,Z,g){if(!O.isFinite())return Nt(O);var E,T=O.e,s=f(O.d),x=s.length;return Z?(g&&(E=g-x)>0?s=s.charAt(0)+"."+s.slice(1)+yt(E):x>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(O.e<0?"e":"e+")+O.e):T<0?(s="0."+yt(-T-1)+s,g&&(E=g-x)>0&&(s+=yt(E))):T>=x?(s+=yt(T+1-x),g&&(E=g-T-1)>0&&(s=s+"."+yt(E))):((E=T+1)<x&&(s=s.slice(0,E)+"."+s.slice(E)),g&&(E=g-x)>0&&(T+1===x&&(s+="."),s+=yt(E))),s}function ye(O,Z){var g=O[0];for(Z*=j;g>=10;g/=10)Z++;return Z}function Ae(O,Z,g){if(Z>d)throw K=!0,g&&(O.precision=g),Error(De);return Q(new O(_),Z,1,!0)}function je(O,Z,g){if(Z>c)throw Error(De);return Q(new O(R),Z,g,!0)}function it(O){var Z=O.length-1,g=Z*j+1;if(Z=O[Z]){for(;Z%10==0;Z/=10)g--;for(Z=O[0];Z>=10;Z/=10)g++}return g}function yt(O){for(var Z="";O--;)Z+="0";return Z}function me(O,Z,g,E){var T,s=new O(1),x=Math.ceil(E/j+4);for(K=!1;;){if(g%2&&P((s=s.times(Z)).d,x)&&(T=!0),(g=Qe(g/2))===0){g=s.d.length-1,T&&s.d[g]===0&&++s.d[g];break}P((Z=Z.times(Z)).d,x)}return K=!0,s}function Ue(O){return 1&O.d[O.d.length-1]}function Le(O,Z,g){for(var E,T=new O(Z[0]),s=0;++s<Z.length;){if(!(E=new O(Z[s])).s){T=E;break}T[g](E)&&(T=E)}return T}function Ve(O,Z){var g,E,T,s,x,C,U,G=0,Y=0,ce=0,Me=O.constructor,dt=Me.rounding,_t=Me.precision;if(!O.d||!O.d[0]||O.e>17)return new Me(O.d?O.d[0]?O.s<0?0:1/0:1:O.s?O.s<0?0:O:NaN);for(Z==null?(K=!1,U=_t):U=Z,C=new Me(.03125);O.e>-2;)O=O.times(C),ce+=5;for(U+=E=Math.log(ee(2,ce))/Math.LN10*2+5|0,g=s=x=new Me(1),Me.precision=U;;){if(s=Q(s.times(O),U,1),g=g.times(++Y),f((C=x.plus(V(s,g,U,1))).d).slice(0,U)===f(x.d).slice(0,U)){for(T=ce;T--;)x=Q(x.times(x),U,1);if(Z!=null)return Me.precision=_t,x;if(!(G<3&&I(x.d,U-E,dt,G)))return Q(x,Me.precision=_t,dt,K=!0);Me.precision=U+=10,g=s=C=new Me(1),Y=0,G++}x=C}}function lt(O,Z){var g,E,T,s,x,C,U,G,Y,ce,Me,dt=1,_t=O,$t=_t.d,i=_t.constructor,S=i.rounding,A=i.precision;if(_t.s<0||!$t||!$t[0]||!_t.e&&$t[0]==1&&$t.length==1)return new i($t&&!$t[0]?-1/0:_t.s!=1?NaN:$t?0:_t);if(Z==null?(K=!1,Y=A):Y=Z,i.precision=Y+=10,E=(g=f($t)).charAt(0),!(Math.abs(s=_t.e)<15e14))return G=Ae(i,Y+2,A).times(s+""),_t=lt(new i(E+"."+g.slice(1)),Y-10).plus(G),i.precision=A,Z==null?Q(_t,A,S,K=!0):_t;for(;E<7&&E!=1||E==1&&g.charAt(1)>3;)E=(g=f((_t=_t.times(O)).d)).charAt(0),dt++;for(s=_t.e,E>1?(_t=new i("0."+g),s++):_t=new i(E+"."+g.slice(1)),ce=_t,U=x=_t=V(_t.minus(1),_t.plus(1),Y,1),Me=Q(_t.times(_t),Y,1),T=3;;){if(x=Q(x.times(Me),Y,1),f((G=U.plus(V(x,new i(T),Y,1))).d).slice(0,Y)===f(U.d).slice(0,Y)){if(U=U.times(2),s!==0&&(U=U.plus(Ae(i,Y+2,A).times(s+""))),U=V(U,new i(dt),Y,1),Z!=null)return i.precision=A,U;if(!I(U.d,Y-10,S,C))return Q(U,i.precision=A,S,K=!0);i.precision=Y+=10,G=x=_t=V(ce.minus(1),ce.plus(1),Y,1),Me=Q(_t.times(_t),Y,1),T=C=1}U=G,T+=2}}function Nt(O){return String(O.s*O.s/0)}function Ct(O,Z){var g,E,T;for((g=Z.indexOf("."))>-1&&(Z=Z.replace(".","")),(E=Z.search(/e/i))>0?(g<0&&(g=E),g+=+Z.slice(E+1),Z=Z.substring(0,E)):g<0&&(g=Z.length),E=0;Z.charCodeAt(E)===48;E++);for(T=Z.length;Z.charCodeAt(T-1)===48;--T);if(Z=Z.slice(E,T)){if(T-=E,O.e=g=g-E-1,O.d=[],E=(g+1)%j,g<0&&(E+=j),E<T){for(E&&O.d.push(+Z.slice(0,E)),T-=j;E<T;)O.d.push(+Z.slice(E,E+=j));Z=Z.slice(E),E=j-Z.length}else E-=T;for(;E--;)Z+="0";O.d.push(+Z),K&&(O.e>O.constructor.maxE?(O.d=null,O.e=NaN):O.e<O.constructor.minE&&(O.e=0,O.d=[0]))}else O.e=0,O.d=[0];return O}function Xe(O,Z){var g,E,T,s,x,C,U,G,Y;if(Z==="Infinity"||Z==="NaN")return+Z||(O.s=NaN),O.e=NaN,O.d=null,O;if(ze.test(Z))g=16,Z=Z.toLowerCase();else if(Te.test(Z))g=2;else{if(!Oe.test(Z))throw Error(ve+Z);g=8}for((s=Z.search(/p/i))>0?(U=+Z.slice(s+1),Z=Z.substring(2,s)):Z=Z.slice(2),x=(s=Z.indexOf("."))>=0,E=O.constructor,x&&(s=(C=(Z=Z.replace(".","")).length)-s,T=me(E,new E(g),s,2*s)),s=Y=(G=q(Z,g,at)).length-1;G[s]===0;--s)G.pop();return s<0?new E(0*O.s):(O.e=ye(G,Y),O.d=G,K=!1,x&&(O=V(O,T,4*C)),U&&(O=O.times(Math.abs(U)<54?ee(2,U):e.pow(2,U))),K=!0,O)}function he(O,Z,g,E,T){var s,x,C,U,G=O.precision,Y=Math.ceil(G/j);for(K=!1,U=g.times(g),C=new O(E);;){if(x=V(C.times(U),new O(Z++*Z++),G,1),C=T?E.plus(x):E.minus(x),E=V(x.times(U),new O(Z++*Z++),G,1),(x=C.plus(E)).d[Y]!==void 0){for(s=Y;x.d[s]===C.d[s]&&s--;);if(s==-1)break}s=C,C=E,E=x,x=s}return K=!0,x.d.length=Y+1,x}function et(O,Z){for(var g=O;--Z;)g*=O;return g}function Lt(O,Z){var g,E=Z.s<0,T=je(O,O.precision,1),s=T.times(.5);if((Z=Z.abs()).lte(s))return l=E?4:1,Z;if((g=Z.divToInt(T)).isZero())l=E?3:2;else{if((Z=Z.minus(g.times(T))).lte(s))return l=Ue(g)?E?2:3:E?4:1,Z;l=Ue(g)?E?1:4:E?3:2}return Z.minus(T).abs()}function H(O,Z,g,E){var T,s,x,C,U,G,Y,ce,Me,dt=O.constructor,_t=g!==void 0;if(_t?(v(g,1,L),E===void 0?E=dt.rounding:v(E,0,8)):(g=dt.precision,E=dt.rounding),O.isFinite()){for(_t?(T=2,Z==16?g=4*g-3:Z==8&&(g=3*g-2)):T=Z,(x=(Y=le(O)).indexOf("."))>=0&&(Y=Y.replace(".",""),(Me=new dt(1)).e=Y.length-x,Me.d=q(le(Me),10,T),Me.e=Me.d.length),s=U=(ce=q(Y,10,T)).length;ce[--U]==0;)ce.pop();if(ce[0]){if(x<0?s--:((O=new dt(O)).d=ce,O.e=s,ce=(O=V(O,Me,g,E,0,T)).d,s=O.e,G=r),x=ce[g],C=T/2,G=G||ce[g+1]!==void 0,G=E<4?(x!==void 0||G)&&(E===0||E===(O.s<0?3:2)):x>C||x===C&&(E===4||G||E===6&&1&ce[g-1]||E===(O.s<0?8:7)),ce.length=g,G)for(;++ce[--g]>T-1;)ce[g]=0,g||(++s,ce.unshift(1));for(U=ce.length;!ce[U-1];--U);for(x=0,Y="";x<U;x++)Y+=M.charAt(ce[x]);if(_t){if(U>1)if(Z==16||Z==8){for(x=Z==16?4:3,--U;U%x;U++)Y+="0";for(U=(ce=q(Y,T,Z)).length;!ce[U-1];--U);for(x=1,Y="1.";x<U;x++)Y+=M.charAt(ce[x])}else Y=Y.charAt(0)+"."+Y.slice(1);Y=Y+(s<0?"p":"p+")+s}else if(s<0){for(;++s;)Y="0"+Y;Y="0."+Y}else if(++s>U)for(s-=U;s--;)Y+="0";else s<U&&(Y=Y.slice(0,s)+"."+Y.slice(s))}else Y=_t?"0p+0":"0";Y=(Z==16?"0x":Z==2?"0b":Z==8?"0o":"")+Y}else Y=Nt(O);return O.s<0?"-"+Y:Y}function P(O,Z){if(O.length>Z)return O.length=Z,!0}function B(O){return new this(O).abs()}function fe(O){return new this(O).acos()}function pe(O){return new this(O).acosh()}function ue(O,Z){return new this(O).plus(Z)}function st(O){return new this(O).asin()}function se(O){return new this(O).asinh()}function te(O){return new this(O).atan()}function D(O){return new this(O).atanh()}function re(O,Z){O=new this(O),Z=new this(Z);var g,E=this.precision,T=this.rounding,s=E+4;return O.s&&Z.s?O.d||Z.d?!Z.d||O.isZero()?(g=Z.s<0?je(this,E,T):new this(0)).s=O.s:!O.d||Z.isZero()?(g=je(this,s,1).times(.5)).s=O.s:Z.s<0?(this.precision=s,this.rounding=1,g=this.atan(V(O,Z,s,1)),Z=je(this,s,1),this.precision=E,this.rounding=T,g=O.s<0?g.minus(Z):g.plus(Z)):g=this.atan(V(O,Z,s,1)):(g=je(this,s,1).times(Z.s>0?.25:.75)).s=O.s:g=new this(NaN),g}function J(O){return new this(O).cbrt()}function Ee(O){return Q(O=new this(O),O.e+1,2)}function xe(O){if(!O||typeof O!="object")throw Error(de+"Object expected");var Z,g,E,T=O.defaults===!0,s=["precision",1,L,"rounding",0,8,"toExpNeg",-h,0,"toExpPos",0,h,"maxE",0,h,"minE",-h,0,"modulo",0,9];for(Z=0;Z<s.length;Z+=3)if(g=s[Z],T&&(this[g]=ie[g]),(E=O[g])!==void 0){if(!(Qe(E)===E&&E>=s[Z+1]&&E<=s[Z+2]))throw Error(ve+g+": "+E);this[g]=E}if(g="crypto",T&&(this[g]=ie[g]),(E=O[g])!==void 0){if(E!==!0&&E!==!1&&E!==0&&E!==1)throw Error(ve+g+": "+E);if(E){if(typeof crypto=="undefined"||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(Ie);this[g]=!0}else this[g]=!1}return this}function Ce(O){return new this(O).cos()}function Ke(O){return new this(O).cosh()}function Ne(O,Z){return new this(O).div(Z)}function We(O){return new this(O).exp()}function ae(O){return Q(O=new this(O),O.e+1,3)}function Ge(){var O,Z,g=new this(0);for(K=!1,O=0;O<arguments.length;)if((Z=new this(arguments[O++])).d)g.d&&(g=g.plus(Z.times(Z)));else{if(Z.s)return K=!0,new this(1/0);g=Z}return K=!0,g.sqrt()}function He(O){return O instanceof e||O&&O.name==="[object Decimal]"||!1}function ge(O){return new this(O).ln()}function Je(O,Z){return new this(O).log(Z)}function gt(O){return new this(O).log(2)}function ne(O){return new this(O).log(10)}function Se(){return Le(this,arguments,"lt")}function qe(){return Le(this,arguments,"gt")}function Be(O,Z){return new this(O).mod(Z)}function ct(O,Z){return new this(O).mul(Z)}function wt(O,Z){return new this(O).pow(Z)}function Mt(O){var Z,g,E,T,s=0,x=new this(1),C=[];if(O===void 0?O=this.precision:v(O,1,L),E=Math.ceil(O/j),this.crypto)if(crypto.getRandomValues)for(Z=crypto.getRandomValues(new Uint32Array(E));s<E;)(T=Z[s])>=429e7?Z[s]=crypto.getRandomValues(new Uint32Array(1))[0]:C[s++]=T%1e7;else{if(!crypto.randomBytes)throw Error(Ie);for(Z=crypto.randomBytes(E*=4);s<E;)(T=Z[s]+(Z[s+1]<<8)+(Z[s+2]<<16)+((127&Z[s+3])<<24))>=214e7?crypto.randomBytes(4).copy(Z,s):(C.push(T%1e7),s+=4);s=E/4}else for(;s<E;)C[s++]=1e7*Math.random()|0;for(E=C[--s],O%=j,E&&O&&(T=ee(10,j-O),C[s]=(E/T|0)*T);C[s]===0;s--)C.pop();if(s<0)g=0,C=[0];else{for(g=-1;C[0]===0;g-=j)C.shift();for(E=1,T=C[0];T>=10;T/=10)E++;E<j&&(g-=j-E)}return x.e=g,x.d=C,x}function qt(O){return Q(O=new this(O),O.e+1,this.rounding)}function Ft(O){return(O=new this(O)).d?O.d[0]?O.s:0*O.s:O.s||NaN}function Tt(O){return new this(O).sin()}function Ze(O){return new this(O).sinh()}function ht(O){return new this(O).sqrt()}function Et(O,Z){return new this(O).sub(Z)}function Pt(O){return new this(O).tan()}function Ye(O){return new this(O).tanh()}function nt(O){return Q(O=new this(O),O.e+1,1)}return(e=function O(Z){var g,E,T;function s(x){var C,U,G,Y=this;if(!(Y instanceof s))return new s(x);if(Y.constructor=s,x instanceof s)return Y.s=x.s,void(K?!x.d||x.e>s.maxE?(Y.e=NaN,Y.d=null):x.e<s.minE?(Y.e=0,Y.d=[0]):(Y.e=x.e,Y.d=x.d.slice()):(Y.e=x.e,Y.d=x.d?x.d.slice():x.d));if((G=typeof x)=="number"){if(x===0)return Y.s=1/x<0?-1:1,Y.e=0,void(Y.d=[0]);if(x<0?(x=-x,Y.s=-1):Y.s=1,x===~~x&&x<1e7){for(C=0,U=x;U>=10;U/=10)C++;return void(K?C>s.maxE?(Y.e=NaN,Y.d=null):C<s.minE?(Y.e=0,Y.d=[0]):(Y.e=C,Y.d=[x]):(Y.e=C,Y.d=[x]))}return 0*x!=0?(x||(Y.s=NaN),Y.e=NaN,void(Y.d=null)):Ct(Y,x.toString())}if(G!=="string")throw Error(ve+x);return(U=x.charCodeAt(0))===45?(x=x.slice(1),Y.s=-1):(U===43&&(x=x.slice(1)),Y.s=1),ut.test(x)?Ct(Y,x):Xe(Y,x)}if(s.prototype=u,s.ROUND_UP=0,s.ROUND_DOWN=1,s.ROUND_CEIL=2,s.ROUND_FLOOR=3,s.ROUND_HALF_UP=4,s.ROUND_HALF_DOWN=5,s.ROUND_HALF_EVEN=6,s.ROUND_HALF_CEIL=7,s.ROUND_HALF_FLOOR=8,s.EUCLID=9,s.config=s.set=xe,s.clone=O,s.isDecimal=He,s.abs=B,s.acos=fe,s.acosh=pe,s.add=ue,s.asin=st,s.asinh=se,s.atan=te,s.atanh=D,s.atan2=re,s.cbrt=J,s.ceil=Ee,s.cos=Ce,s.cosh=Ke,s.div=Ne,s.exp=We,s.floor=ae,s.hypot=Ge,s.ln=ge,s.log=Je,s.log10=ne,s.log2=gt,s.max=Se,s.min=qe,s.mod=Be,s.mul=ct,s.pow=wt,s.random=Mt,s.round=qt,s.sign=Ft,s.sin=Tt,s.sinh=Ze,s.sqrt=ht,s.sub=Et,s.tan=Pt,s.tanh=Ye,s.trunc=nt,Z===void 0&&(Z={}),Z&&Z.defaults!==!0)for(T=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],g=0;g<T.length;)Z.hasOwnProperty(E=T[g++])||(Z[E]=this[E]);return s.config(Z),s}(ie)).default=e.Decimal=e,_=new e(_),R=new e(R),typeof define=="function"&&define.amd?define(function(){return e}):typeof E0!="undefined"&&E0.exports?(typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"&&(u[Symbol.for("nodejs.util.inspect.custom")]=u.toString,u[Symbol.toStringTag]="Decimal"),E0.exports=e):(t||(t=typeof self!="undefined"&&self&&self.self==self?self:window),a=t.Decimal,e.noConflict=function(){return t.Decimal=a,e},t.Decimal=e),e}(b7)});typeof E0!="undefined"&&(E0.exports=k7)});var z0=an((PS,L7)=>{typeof L7!="undefined"&&(Z1=N0(),V0());var Z1;(function(){"use strict";var t=Z1.getCore(),e=t.PARSER,r=t.groups.N,a=t.groups.P,l=t.groups.S,h=t.groups.EX,L=t.groups.FN,M=t.groups.PL,_=t.groups.CP,R=t.groups.CB,ie=t.Utils.keys,K=t.Utils.even,de=t.Utils.variables,ve=t.Utils.format,De=t.Utils.round,Ie=t.Frac,Qe=t.Utils.isInt,ee=t.Symbol,Te=t.Settings.CONST_HASH,ze=t.Utils.importFunctions(),Oe=t.Utils.evaluate;function ut(c,u,f){if(t.Utils.isSymbol(c))this.parse(c),this.variable=this.variable||u;else if(isNaN(c))typeof c=="string"&&this.parse(e.parse(c));else{if(f=f||0,u===void 0)throw new t.exceptions.InvalidVariableNameError("Polynomial expects a variable name when creating using order");this.coeffs=[],this.coeffs[f]=c,this.fill(c)}}ut.fromArray=function(c,u){if(typeof u=="undefined")throw new t.exceptions.InvalidVariableNameError("A variable name must be specified when creating polynomial from array");var f=new ut;return f.coeffs=c,f.variable=u,f},ut.fit=function(c,u,f,v,I,q){var V=new Array(I+1),Q=f-u;V[0]=u,V[I]=c,Q-=c*Math.pow(v,I);for(var le=I-1;le>0;le--){var ye=Math.pow(v,le),Ae=Q/ye,je=Math.sign(Ae),it=je*Math.floor(Math.abs(Ae));Q-=it*ye,V[le]=it}if(Q!==0)return null;for(var le=0;le<V.length;le++)V[le]=new Ie(V[le]);return ut.fromArray(V,q)},ut.prototype={parse:function(c,u){if(this.variable=de(c)[0],!c.isPoly())throw t.exceptions.NerdamerTypeError("Polynomial Expected! Received "+t.Utils.text(c));if(u=u||[],c.power.absEquals(1)||(c=e.expand(c)),c.group===t.groups.N)u[0]=c.multiplier;else if(c.group===t.groups.S)u[c.power.toDecimal()]=c.multiplier;else for(var f in c.symbols){var v=c.symbols[f],I=v.power;if(t.Utils.isSymbol(I))throw new t.exceptions.NerdamerTypeError("power cannot be a Symbol");I=v.group===r?0:I.toDecimal(),v.symbols?this.parse(v,u):u[I]=v.multiplier}this.coeffs=u,this.fill()},fill:function(c){c=Number(c)||0;for(var u=this.coeffs.length,f=0;f<u;f++)this.coeffs[f]===void 0&&(this.coeffs[f]=new Ie(c));return this},trim:function(){for(var c=this.coeffs.length;c--;){var u=this.coeffs[c],f=u.equals(0);if(u&&f){if(c===0)break;this.coeffs.pop()}else break}return this},modP:function(c){for(var u=this.coeffs.length,f=0;f<u;f++){var v=this.coeffs[f];if(v<0){for(var I,q=f;q<u;q++)if(this.coeffs[q]>0){I=this.coeffs[q];break}if(I){for(q;q>f;q--)this.coeffs[q]=this.coeffs[q].subtract(new Ie(1)),this.coeffs[q-1]=this.coeffs[q-1].add(new Ie(c));v=this.coeffs[f]}}var V=v.mod(c),Q=v.subtract(V).divide(c);if(!Q.equals(0)){var le=f+1,ye=this.coeffs[le]||new Ie(0);ye=ye.add(Q),this.coeffs[le]=new Ie(ye),this.coeffs[f]=new Ie(V)}}return this},add:function(c){for(var u=Math.max(this.coeffs.length,c.coeffs.length),f=0;f<u;f++){var v=this.coeffs[f]||new Ie(0),I=c.coeffs[f]||new Ie(0);this.coeffs[f]=v.add(I)}return this},subtract:function(c){for(var u=Math.max(this.coeffs.length,c.coeffs.length),f=0;f<u;f++){var v=this.coeffs[f]||new Ie(0),I=c.coeffs[f]||new Ie(0);this.coeffs[f]=v.subtract(I)}return this},divide:function(c){for(var u=this.variable,f=t.Utils.arrayClone(this.coeffs),v=t.Utils.arrayClone(c.coeffs),I=f.length,q=v.length-1,V=[],Q=0;Q<I;Q++){var le=I-(Q+1),ye=le-q,Ae=f[le].divide(v[q]);if(ye<0)break;V[ye]=Ae;for(var je=0;je<=q;je++)f[je+ye]=f[je+ye].subtract(v[je].multiply(Ae))}var it=ut.fromArray(f,u||"x").trim(),yt=ut.fromArray(V,u||"x");return[yt,it]},multiply:function(c){for(var u=this.coeffs.length,f=c.coeffs.length,v=[],I=0;I<u;I++)for(var q=this.coeffs[I],V=0;V<f;V++){var Q=I+V,le=c.coeffs[V],ye=v[Q]||new Ie(0);v[Q]=ye.add(q.multiply(le))}return this.coeffs=v,this},isZero:function(){for(var c=this.coeffs.length,u=0;u<c;u++){var f=this.coeffs[u];if(!f.equals(0))return!1}return!0},sub:function(c){for(var u=new Ie(0),f=this.coeffs.length,v=0;v<f;v++){var I=this.coeffs[v];I.equals(0)||(u=u.add(I.multiply(new Ie(Math.pow(c,v)))))}return u},clone:function(){var c=new ut;return c.coeffs=this.coeffs,c.variable=this.variable,c},deg:function(){return this.trim(),this.coeffs.length-1},lc:function(){return this.coeffs[this.deg()].clone()},monic:function(){for(var c=this.lc(),u=this.coeffs.length,f=0;f<u;f++)this.coeffs[f]=this.coeffs[f].divide(c);return this},gcd:function(c){var u=this.coeffs.length-1,f=c.coeffs.length-1,v;if(u<f)return c.gcd(this);for(var I=this;!c.isZero();){var q=c.clone();I=I.clone(),v=I.divide(q),c=v[1],I=q}var V=t.Math2.QGCD.apply(null,I.coeffs);if(!V.equals(1))for(var Q=I.coeffs.length,le=0;le<Q;le++)I.coeffs[le]=I.coeffs[le].divide(V);return I},diff:function(){for(var c=[],u=this.coeffs.length,f=1;f<u;f++)c.push(this.coeffs[f].multiply(new Ie(f)));return this.coeffs=c,this},integrate:function(){for(var c=[0],u=this.coeffs.length,f=0;f<u;f++){var v=new Ie(f+1);c[v]=this.coeffs[f].divide(v)}return this.coeffs=c,this},gcf:function(c){for(var u=function(Q){for(var le=0;le<Q.length;le++)if(!Q[le].equals(0))return le},f=[],v=0;v<this.coeffs.length;v++){var I=this.coeffs[v];!I.equals(0)&&f.indexOf(I)===-1&&f.push(I)}var q=[t.Math2.QGCD.apply(void 0,f),u(this.coeffs)].toDecimal();if(c){var V=[];V[q[1]-1]=q[0],q=ut.fromArray(V,this.variable).fill()}return q},quad:function(c){var u=[];if(this.coeffs.length>3)throw new Error("Cannot calculate quadratic order of "+(this.coeffs.length-1));if(this.coeffs.length===0)throw new Error("Polynomial array has no terms");var f=this.coeffs[2]||0,v=this.coeffs[1]||0,I=this.coeffs[0],q=v*v-4*f*I;return q<0&&!c||(u[0]=(-v+Math.sqrt(q))/(2*f),u[1]=(-v-Math.sqrt(q))/(2*f)),u},squareFree:function(){for(var c=this.clone(),u=1,f=c.clone().diff(),v=c.clone().gcd(f),I=c.divide(v)[0],q=ut.fromArray([new Ie(1)],c.variable);!v.equalsNumber(1);){var V=I.gcd(v),Q=I.divide(V)[0];if(!Q.equalsNumber(1)&&u>1){for(var le=Q.clone(),ye=1;ye<u;ye++)le.multiply(Q.clone());Q=le}q=q.multiply(Q),u++,I=V,v=v.divide(V)[0]}return[q,I,u]},toSymbol:function(){var c=this.coeffs.length,u=this.variable;if(c===0)return new t.Symbol(0);for(var f=c-1,v="",I=0;I<c;I++){var q=I===f?"":"+",V=this.coeffs[I];V.equals(0)||(v+=V+"*"+u+"^"+I+q)}return e.parse(v)},equalsNumber:function(c){return this.trim(),this.coeffs.length===1&&this.coeffs[0].toDecimal()===String(c)},toString:function(){return this.toSymbol().toString()}},ee.prototype.coeffs=function(c,u){u&&!this.isPoly(!0)&&e.error("Polynomial expected when requesting coefficients with order"),c=c||[];var f=this.clone().distributeMultiplier();if(f.isComposite())for(var v in f.symbols){var I=f.symbols[v];I.isComposite()?I.clone().distributeMultiplier().coeffs(c,u):u?c[I.isConstant()?0:I.power.toDecimal()]=I.multiplier:c.push(I.multiplier)}else if(u)c[f.isConstant(!0)?0:f.power.toDecimal()]=f.multiplier;else if(f.group===R&&f.isImaginary()){var q=new ee(f.multiplier);f.each(function(Q){(Q.isConstant(!0)||Q.imaginary)&&(q=e.multiply(q,Q))}),c.push(q)}else c.push(f.multiplier);if(u)for(var V=0;V<c.length;V++)c[V]===void 0&&(c[V]=new ee(0));return c},ee.prototype.tBase=function(c){if(typeof c=="undefined")throw new Error("Symbol.tBase requires a map object!");for(var u=[],f=this.collectSymbols(null,null,null,!0),v=f.length,I=0;I<v;I++){var q=f[I],V=q.group,Q=new j(q.multiplier,[],c);if(V===R)for(var le in q.symbols){var ye=q.symbols[le];Q.terms[c[le]]=ye.power}else Q.terms[c[q.value]]=q.power;u.push(Q.fill()),Q.updateCount()}return u},ee.prototype.altVar=function(c){var u=this.multiplier.toString(),f=this.power.toString();return(u==="1"?"":u+"*")+c+(f==="1"?"":"^"+f)},ee.prototype.sameVars=function(c){if(!(this.symbols||this.group===c.group))return!1;for(var u in this.symbols){var f=this.symbols[u],v=c.symbols[u];if(!v||f.value!==v.value)return!1}return!0},ee.prototype.groupTerms=function(c){c=String(c);var u,f,v,I=[];return this.each(function(q){if(q.group===M){v=q.groupTerms(c);for(var V=0;V<v.length;V++){var Q=v[V];Q&&(I[V]=Q)}}else u=t.Utils.decompose_fn(q,c,!0),f=u.x.value===c?Number(u.x.power):0,I[f]=e.add(I[f]||new ee(0),u.a)}),I},ee.prototype.collectFactors=function(){var c=[];return this.group===R?this.each(function(u){c.push(u.clone())}):c.push(this.clone()),c};function at(){this.factors={},this.length=0}at.prototype.getNumberSymbolics=function(){var c=0;return this.each(function(u){u.isConstant(!0)||c++}),c},at.prototype.add=function(c){if(c.equals(0))return this;if(c.equals(-1)&&this.length>0){var u=t.Utils.firstObject(this.factors,null,!0);return this.add(e.symfunction(t.Settings.PARENTHESIS,[u.obj]).negate()),delete this.factors[u.key],this.length--,this}if(c.group===R){var f=this;c.multiplier.equals(1)||f.add(new ee(c.multiplier)),c.each(function(q){f.add(q)})}else{this.preAdd&&(c=this.preAdd(c)),this.pFactor&&(c=e.pow(c,new ee(this.pFactor)));var v=c.isConstant();if(v&&c.equals(1))return this;var I=v?c.value:c.text();I in this.factors?(this.factors[I]=e.multiply(this.factors[I],c),this.factors[I].equals(1)&&(delete this.factors[I],this.length--)):(this.factors[I]=c,this.length++)}return this},at.prototype.toSymbol=function(){for(var c=new ee(1),u=Object.values(this.factors).sort(function(V,Q){return V.group>Q.group}),f=0,v=u.length;f<v;f++){var I=u[f],q=I.power.equals(1)&&I.fname!==""?e.symfunction(t.PARENTHESIS,[I]):I;c=e.multiply(c,q)}return c.fname===""&&(c=ee.unwrapPARENS(c)),c},at.prototype.merge=function(c){for(var u in c)u in this.factors?this.factors[u]=e.multiply(this.factors[u],c[u]):this.factors[u]=c[u];return this},at.prototype.each=function(c){for(var u in this.factors){var f=this.factors[u];f.fname===t.PARENTHESIS&&f.isLinear()&&(f=f.args[0]),c.call(this,f,u)}return this},at.prototype.count=function(){return ie(this.factors).length},at.prototype.clean=function(){try{var c=t.Settings.CONST_HASH;this.factors[c].lessThan(0)&&(this.factors[c].equals(-1)?delete this.factors[c]:this.factors[c].negate(),this.each(function(u){u.negate()}))}catch(u){}},at.prototype.toString=function(){return this.toSymbol().toString()};function j(c,u,f){this.terms=u||[],this.coeff=c,this.map=f,this.sum=new t.Frac(0),this.image=void 0}j.prototype.updateCount=function(){this.count=this.count||0;for(var c=0;c<this.terms.length;c++)this.terms[c].equals(0)||this.count++;return this},j.prototype.getVars=function(){for(var c=[],u=0;u<this.terms.length;u++){var f=this.terms[u],v=this.getRevMap();f.equals(0)||c.push(this.rev_map[u])}return c.join(" ")},j.prototype.len=function(){return typeof this.count=="undefined"&&this.updateCount(),this.count},j.prototype.toSymbol=function(c){c=c||this.getRevMap();for(var u=new ee(this.coeff),f=0;f<this.terms.length;f++){var v=c[f],I=this.terms[f];if(!(I.equals(0)||v===Te)){var q=new ee(v);q.power=I,u=e.multiply(u,q)}}return u},j.prototype.getRevMap=function(){if(this.rev_map)return this.rev_map;var c={};for(var u in this.map)c[this.map[u]]=u;return this.rev_map=c,c},j.prototype.generateImage=function(){return this.image=this.terms.join(" "),this},j.prototype.getImg=function(){return this.image||this.generateImage(),this.image},j.prototype.fill=function(){for(var c=this.map.length,u=0;u<c;u++)typeof this.terms[u]=="undefined"?this.terms[u]=new t.Frac(0):this.sum=this.sum.add(this.terms[u]);return this},j.prototype.divide=function(c){for(var u=this.coeff.divide(c.coeff),f=this.terms.length,v=new j(u,[],this.map),I=0;I<f;I++)v.terms[I]=this.terms[I].subtract(c.terms[I]),v.sum=v.sum.add(v.terms[I]);return v},j.prototype.multiply=function(c){for(var u=this.coeff.multiply(c.coeff),f=this.terms.length,v=new j(u,[],this.map),I=0;I<f;I++)v.terms[I]=this.terms[I].add(c.terms[I]),v.sum=v.sum.add(v.terms[I]);return v},j.prototype.isZero=function(){return this.coeff.equals(0)},j.prototype.toString=function(){return"{ coeff: "+this.coeff.toString()+", terms: ["+this.terms.join(",")+"]: sum: "+this.sum.toString()+", count: "+this.count+"}"},t.Utils.toMapObj=function(c){for(var u=0,f={},v=0;v<c.length;v++){var I=c[v];typeof f[I]=="undefined"&&(f[I]=u,u++)}return f.length=u,f},t.Utils.filledArray=function(c,u,f){for(var v=[];u--;)v[u]=f?new f(c):c;return v},t.Utils.arrSum=function(c){for(var u=0,f=c.length,v=0;v<f;v++)u+=c[v];return u},t.Utils.haveIntersection=function(c,u){var f;return u.length>c.length&&(f=u,u=c,c=f),c.some(function(v){return u.indexOf(v)>-1})},t.Utils.subFunctions=function(c,u){u=u||{};var f=[];return c.each(function(v){if(v.group===L||v.previousGroup===L){var I=t.Utils.text(v,"hash"),q=u[I];if(q)f.push(v.altVar(q));else{var V=v.fname+ie(u).length;u[I]=V,f.push(v.altVar(V))}}else v.group===R||v.group===M||v.group===_?f.push(t.Utils.subFunctions(v,u)):f.push(v.text())}),c.group===_||c.group===M?c.altVar(t.Utils.inBrackets(f.join("+"))):c.group===R?c.altVar(t.Utils.inBrackets(f.join("*"))):c.text()},t.Utils.getFunctionsSubs=function(c){var u={};for(var f in c)u[c[f]]=e.parse(f);return u};var d=t.Algebra={version:"1.4.6",proots:function(c,u){u=u||7;var f=0,v=[],I=function(et,Lt,H){for(var P=he(et,Lt,H).concat(v),B=0;B<f;B++)P.unshift(0);return P};if(c instanceof ee&&c.isPoly()){if(c.distributeMultiplier(),c.group===M){var q=t.Utils.arrayMin(ie(c.symbols)),V=c.symbols[q].clone().toUnitMultiplier();c=e.expand(e.divide(c,V)),v.push(0)}if(c.group===t.groups.S)return[0];if(c.group===t.groups.PL)var je=ie(c.symbols),Q=t.Utils.arrayMin(je),c=t.PARSER.divide(c,t.PARSER.parse(c.value+"^"+Q));for(var le=ie(c.symbols).sort().pop(),ye=c.group===t.groups.PL?c.symbols:c.symbols[le],Ae=ye.group,je=Ae===l?[ye.power.toDecimal()]:ie(ye.symbols),it=[],yt=t.Utils.arrayMax(je),me=1;me<=yt;me++){var Ue=0;je.indexOf(me+"")!==-1&&(Ae===l?Ue=ye.multiplier:Ue=ye.symbols[me].multiplier),it.unshift(Ue)}return it.push(c.symbols[Te].multiplier),ye.group===l&&(it[0]=ye.multiplier),I(it,je,yt)}else if(t.Utils.isArray(c)){for(var Le=c,it=[],je=[],Ve=0,me=0;me<Le.length;me++){for(var lt=Le[me][0],Nt=Le[me][1],Ct=Nt-Ve-1,Xe=0;Xe<Ct;Xe++)it.unshift(0);it.unshift(lt),Nt!==0&&je.push(Nt),Ve=Nt}var yt=Math.max.apply(void 0,je);return I(it,je,yt)}else throw new t.exceptions.NerdamerTypeError("Cannot calculate roots. Symbol must be a polynomial!");function he(et,Lt,H){var P=100,B=et.slice(0);if(et.unshift(H),H>P)throw new t.exceptions.ValueLimitExceededError("This utility accepts polynomials of degree up to "+P+". ");var fe=[],pe={};for(pe.Degree=H,me=0;me<H;me++)fe.push(0);var ue=fe.slice(0);function st(He,ge,Je,gt,ne,Se){ne[0]=Se.b=gt[0],ne[1]=Se.a=-(ge*Se.b)+gt[1];for(var qe=2;qe<He;qe++)ne[qe]=-(ge*Se.a+Je*Se.b)+gt[qe],Se.b=Se.a,Se.a=ne[qe]}function se(He,ge,Je,gt,ne,Se,qe,Be,ct){var wt=new Object,Mt=3;return wt.b=wt.a=0,st(ge,qe,Be,Se,ct,wt),ne.c=wt.a,ne.d=wt.b,Math.abs(ne.c)<=100*He*Math.abs(Se[ge-1])&&Math.abs(ne.d)<=100*He*Math.abs(Se[ge-2])||(ne.h=Be*gt,Math.abs(ne.d)>=Math.abs(ne.c)?(Mt=2,ne.e=Je/ne.d,ne.f=ne.c/ne.d,ne.g=qe*gt,ne.a3=ne.e*(ne.g+Je)+ne.h*(gt/ne.d),ne.a1=-Je+ne.f*gt,ne.a7=ne.h+(ne.f+qe)*Je):(Mt=1,ne.e=Je/ne.c,ne.f=ne.d/ne.c,ne.g=ne.e*qe,ne.a3=ne.e*Je+(ne.g+ne.h/ne.c)*gt,ne.a1=-(Je*(ne.d/ne.c))+gt,ne.a7=ne.g*ne.d+ne.h*ne.f+Je)),Mt}function te(He,ge,Je,gt,ne,Se,qe,Be,ct){var wt;if(Je==3){qe[1]=qe[0]=0;for(var Mt=2;Mt<ge;Mt++)qe[Mt]=Be[Mt-2];return}if(wt=Je==1?ne:gt,Math.abs(Se.a1)>10*He*Math.abs(wt)){Se.a7/=Se.a1,Se.a3/=Se.a1,qe[0]=ct[0],qe[1]=-(ct[0]*Se.a7)+ct[1];for(var Mt=2;Mt<ge;Mt++)qe[Mt]=-(ct[Mt-1]*Se.a7)+Be[Mt-2]*Se.a3+ct[Mt]}else{qe[0]=0,qe[1]=-(ct[0]*Se.a7);for(var Mt=2;Mt<ge;Mt++)qe[Mt]=-(ct[Mt-1]*Se.a7)+Be[Mt-2]*Se.a3}}function D(He,ge,Je,gt,ne,Se,qe,Be,ct,wt,Mt,qt,Ft,Tt,Ze,ht,Et){var Pt,Ye,nt,O,Z,g,E,T,s;ge.b=ge.a=0,He!=3&&(He!=2?(Pt=Je+Ft*qe+qt*wt,Ye=Be+(Ft+Tt*wt)*ct):(Pt=(Je+Mt)*wt+qt,Ye=(wt+Ft)*Be+Tt*ct),nt=-(Ze[ht-1]/Et[ht]),O=-(Ze[ht-2]+nt*Et[ht-1])/Et[ht],Z=Tt*O*gt,g=nt*Se,E=nt*nt*ne,T=-(g+E)+Z,s=-T+Ye+nt*Pt,s!=0&&(ge.a=-((Ft*(E+g)+Tt*(nt*gt+O*Se))/s)+Ft,ge.b=Tt*(1+T/s)))}function re(He,ge,Je,gt){var ne,Se,qe;if(gt.sr=gt.si=gt.lr=gt.li=0,He==0){gt.sr=ge!=0?-(Je/ge):gt.sr;return}if(Je==0){gt.lr=-(ge/He);return}ne=ge/2,Math.abs(ne)<Math.abs(Je)?(qe=Je>=0?He:-He,qe=-qe+ne*(ne/Math.abs(Je)),Se=Math.sqrt(Math.abs(qe))*Math.sqrt(Math.abs(Je))):(qe=-(He/ne*(Je/ne))+1,Se=Math.sqrt(Math.abs(qe))*Math.abs(ne)),qe>=0?(Se=ne>=0?-Se:Se,gt.lr=(-ne+Se)/He,gt.sr=gt.lr!=0?Je/gt.lr/He:gt.sr):(gt.lr=gt.sr=-(ne/He),gt.si=Math.abs(Se/He),gt.li=-gt.si)}function J(He,ge,Je,gt,ne,Se,qe,Be,ct,wt,Mt,qt){var Ft=new Object,Tt,Ze,ht,Et,Pt,Ye,nt,O,Z,g,E,T=0,s,x=0;Je.NZ=0,Ye=gt,O=ne;do{if(Ft.li=Ft.lr=Ft.si=Ft.sr=0,re(1,Ye,O,Ft),Je.szr=Ft.sr,Je.szi=Ft.si,Je.lzr=Ft.lr,Je.lzi=Ft.li,Math.abs(Math.abs(Je.szr)-Math.abs(Je.lzr))>.01*Math.abs(Je.lzr))break;for(st(qe,Ye,O,ct,Se,Be),Ze=Math.abs(-(Je.szr*Be.b)+Be.a)+Math.abs(Je.szi*Be.b),g=Math.sqrt(Math.abs(O)),Tt=2*Math.abs(Se[0]),Pt=-(Je.szr*Be.b),E=1;E<ge;E++)Tt=Tt*g+Math.abs(Se[E]);if(Tt=Tt*g+Math.abs(Pt+Be.a),Tt=(9*Tt+2*Math.abs(Pt)-7*(Math.abs(Be.a+Pt)+g*Math.abs(Be.b)))*He,Ze<=20*Tt){Je.NZ=2;break}if(T++,T>20)break;if(T>=2&&Et<=.01&&Ze>=ht&&!x){for(Et=Et<He?Math.sqrt(He):Math.sqrt(Et),Ye-=Ye*Et,O+=O*Et,st(qe,Ye,O,ct,Se,Be),E=0;E<5;E++)s=se(He,ge,Be.a,Be.b,Mt,qt,Ye,O,wt),te(He,ge,s,Be.a,Be.b,Mt,qt,wt,Se);x=1,T=0}ht=Ze,s=se(He,ge,Be.a,Be.b,Mt,qt,Ye,O,wt),te(He,ge,s,Be.a,Be.b,Mt,qt,wt,Se),s=se(He,ge,Be.a,Be.b,Mt,qt,Ye,O,wt),D(s,Be,Be.a,Mt.a1,Mt.a3,Mt.a7,Be.b,Mt.c,Mt.d,Mt.f,Mt.g,Mt.h,Ye,O,qt,ge,ct),nt=Be.a,Z=Be.b,Z!=0&&(Et=Math.abs((-O+Z)/Z),Ye=nt,O=Z)}while(Z!=0)}function Ee(He,ge,Je,gt,ne,Se,qe,Be,ct){var wt,Mt,qt,Ft,Tt,Ze,ht,Et,Pt,Ye,nt,O=gt-1;for(ge.NZ=nt=Pt=0,ht=Je.a;;){for(Ze=ne[0],qe[0]=Ze,Ye=1;Ye<Se;Ye++)qe[Ye]=Ze=Ze*ht+ne[Ye];for(qt=Math.abs(Ze),Ft=Math.abs(ht),wt=.5*Math.abs(qe[0]),Ye=1;Ye<Se;Ye++)wt=wt*Ft+Math.abs(qe[Ye]);if(qt<=20*He*(2*wt-qt)){ge.NZ=1,ge.szr=ht,ge.szi=0;break}if(nt++,nt>10)break;if(nt>=2&&Math.abs(Et)<=.001*Math.abs(-Et+ht)&&qt>Tt){Pt=1,ge.a=ht;break}for(Tt=qt,ct[0]=Mt=Be[0],Ye=1;Ye<gt;Ye++)ct[Ye]=Mt=Mt*ht+Be[Ye];if(Math.abs(Mt)>Math.abs(Be[O])*10*He)for(Et=-(Ze/Mt),Be[0]=qe[0],Ye=1;Ye<gt;Ye++)Be[Ye]=Et*ct[Ye-1]+qe[Ye];else for(Be[0]=0,Ye=1;Ye<gt;Ye++)Be[Ye]=ct[Ye-1];for(Mt=Be[0],Ye=1;Ye<gt;Ye++)Mt=Mt*ht+Be[Ye];Et=Math.abs(Mt)>Math.abs(Be[O])*10*He?-(Ze/Mt):0,ht+=Et}return Pt}function xe(He,ge,Je,gt,ne,Se,qe,Be,ct,wt,Mt,qt){var Ft=new Object,Tt=new Object,Ze=new Array(ge),ht=new Array(ge),Et,Pt,Ye,nt,O,Z,g,E,T,s,x,C,U,G,Y,ce,Me,dt,_t,$t=1,i,S,A,W,ke,Fe;for(qt.NZ=0,nt=Ye=.25,O=gt,E=ne,Ft.b=Ft.a=0,st(ct,Mt,ne,Be,wt,Ft),Et=Ft.a,Pt=Ft.b,Tt.h=Tt.g=Tt.f=Tt.e=Tt.d=Tt.c=Tt.a7=Tt.a3=Tt.a1=0,W=se(He,qe,Et,Pt,Tt,Se,Mt,ne,Ze),i=0;i<Je;i++){if(dt=1,te(He,qe,W,Et,Pt,Tt,Se,Ze,wt),W=se(He,qe,Et,Pt,Tt,Se,Mt,ne,Ze),D(W,Ft,Et,Tt.a1,Tt.a3,Tt.a7,Pt,Tt.c,Tt.d,Tt.f,Tt.g,Tt.h,Mt,ne,Se,qe,Be),Y=Ft.a,Me=ce=Ft.b,s=Se[qe-1]!=0?-(Be[qe]/Se[qe-1]):0,x=U=1,i!=0&&W!=3&&(U=Me!=0?Math.abs((Me-E)/Me):U,x=s!=0?Math.abs((s-O)/s):x,G=U<g?U*g:1,C=x<Z?x*Z:1,ke=G<nt?1:0,S=C<Ye?1:0,S||ke)){for(_t=0;_t<qe;_t++)ht[_t]=Se[_t];for(T=s,A=Fe=0;;){if(!(dt&&(dt=0)==0&&S&&(!ke||C<G))){if(J(He,qe,qt,Y,ce,wt,ct,Ft,Be,Ze,Tt,Se),Et=Ft.a,Pt=Ft.b,qt.NZ>0)return;if($t=Fe=1,nt*=.25,A||!S)$t=0;else for(_t=0;_t<qe;_t++)Se[_t]=ht[_t]}if($t!=0){if(Ft.a=T,$t=Ee(He,qt,Ft,qe,Be,ct,wt,Se,Ze),T=Ft.a,qt.NZ>0)return;if(A=1,Ye*=.25,$t!=0){Y=-(T+T),ce=T*T;continue}}for(_t=0;_t<qe;_t++)Se[_t]=ht[_t];if(!ke||Fe)break}st(ct,Mt,ne,Be,wt,Ft),Et=Ft.a,Pt=Ft.b,W=se(He,qe,Et,Pt,Tt,Se,Mt,ne,Ze)}E=Me,O=s,g=U,Z=x}}function Ce(He,ge,Je,gt){var ne=He.Degree,Se=3.141592653589793/180,qe=Math.LN2,Be=He.Degree+1,ct=new Array(Be),wt=new Array(Be),Mt=new Array(Be),qt=new Array(Be),Ft=new Object,Tt=new Object,Ze,ht,Et,Pt,Ye,nt,O,Z,g,E,T,s,x,C,U,G,Y,ce,Me,dt,_t,$t,i,S;s=1;do ht=s,s/=2,x=1+s;while(x>1);var A=Number.MIN_VALUE/ht,W=Math.cos(94*Se),ke=Math.sin(94*Se),Fe=Math.sqrt(.5),ft=-Fe;for(Tt.NZ=Me=0,Tt.szr=Tt.szi=Tt.lzr=Tt.lzi=0;ge[ne]==0;)Je[Me]=gt[Me]=0,ne--,Me++;for(i=ne+1;ne>=1;){if(ne<=2){ne<2?(Je[He.Degree-1]=-(ge[1]/ge[0]),gt[He.Degree-1]=0):(Ft.li=Ft.lr=Ft.si=Ft.sr=0,re(ge[0],ge[1],ge[2],Ft),Je[He.Degree-2]=Ft.sr,gt[He.Degree-2]=Ft.si,Je[He.Degree-1]=Ft.lr,gt[He.Degree-1]=Ft.li);break}for(O=0,Z=Number.MAX_VALUE,St=0;St<i;St++)E=Math.abs(ge[St]),E>O&&(O=E),E!=0&&E<Z&&(Z=E);if(g=A/Z,(g<=1&&O>=10||g>1&&Number.MAX_VALUE/g>=O)&&(g=g==0?Number.MIN_VALUE:g,_t=Math.floor(Math.log(g)/qe+.5),Ye=Math.pow(2,_t),Ye!=1))for(St=0;St<i;St++)ge[St]*=Ye;for(var St=0;St<i;St++)wt[St]=Math.abs(ge[St]);wt[ne]=-wt[ne],$t=ne-1,E=Math.exp((Math.log(-wt[ne])-Math.log(wt[0]))/ne),wt[$t]!=0&&(T=-wt[ne]/wt[$t],E=T<E?T:E),T=E;do{E=T,T=.1*E,nt=wt[0];for(var St=1;St<i;St++)nt=nt*T+wt[St]}while(nt>0);Pt=E;do{Et=nt=wt[0];for(var St=1;St<ne;St++)nt=E*nt+wt[St],Et=E*Et+nt;nt=E*nt+wt[ne],Pt=nt/Et,E-=Pt}while(Math.abs(Pt/E)>.005);Ze=E;for(var St=1;St<ne;St++)ct[St]=(ne-St)*ge[St]/ne;for(ct[0]=ge[0],s=ge[ne],x=ge[$t],S=ct[$t]==0?1:0,dt=0;dt<5;dt++)if(C=ct[$t],S){for(var St=0;St<$t;St++)Me=$t-St,ct[Me]=ct[Me-1];ct[0]=0,S=ct[$t]==0?1:0}else{G=-s/C;for(var St=0;St<$t;St++)Me=$t-St,ct[Me]=G*ct[Me-1]+ge[Me];ct[0]=ge[0],S=Math.abs(ct[$t])<=Math.abs(x)*ht*10?1:0}for(var St=0;St<ne;St++)qt[St]=ct[St];for(dt=1;dt<=20;dt++)if(ce=-(ke*ft)+W*Fe,ft=ke*Fe+W*ft,Fe=ce,U=Ze*Fe,Y=-(2*U),xe(ht,Be,20*dt,U,Ze,ct,ne,ge,i,Mt,Y,Tt),Tt.NZ!=0){Me=He.Degree-ne,Je[Me]=Tt.szr,gt[Me]=Tt.szi,i=i-Tt.NZ,ne=i-1;for(var St=0;St<i;St++)ge[St]=Mt[St];Tt.NZ!=1&&(Je[Me+1]=Tt.lzr,gt[Me+1]=Tt.lzi);break}else for(var St=0;St<ne;St++)ct[St]=qt[St];if(dt>20){He.Degree-=ne;break}}}Ce(pe,B,ue,fe);var Ke=fe.length;for(me=0;me<Ke;me++){var Ne=De(fe[me],u+8),We=De(ue[me],u+8);We=u-String(We).length>2?We:ue[me];var ae=Ne<0?"-":"";We===0&&(We=""),Ne===0&&(Ne=""),Ne=Math.abs(Ne)===1?ae+"i":Ne?Ne+"*i":"";var Ge=We&&Ne?We+"+"+Ne:We+Ne;ue[me]=Ge.replace(/\+\-/g,"-")}return ue}},roots:function(c){if(c.isConstant(!0,!0))return t.Utils.nroots(c);var u=d.proots(c).map(function(f){return e.parse(f)});return t.Vector.fromArray(u)},froot:function(c,u,f){var v=function(I){for(var q=1e-12,V=f||t.Utils.build(t.Calculus.diff(c.clone())),Q=c instanceof Function?c:t.Utils.build(c),le=1e4,ye=!1,Ae=0;!ye;){var je=I-Q(I)/V(I),it=Math.abs(je)-Math.abs(I),yt=Math.abs(it);I=je,yt<q?ye=!0:Ae>le&&(I=null,ye=!0),Ae++}return I};return v(Number(u))},quad:function(c,u,f){var v=function(I,q,V,Q){return e.parse("-("+q+"+"+Q+"*sqrt(("+q+")^2-4*("+I+")*("+V+")))/(2*"+I+")")};return[v(c,u,f,1),v(c,u,f,-1)]},sumProd:function(c,u){return d.quad(-u,c,-1).map(function(f){return f.invert()})},coeffs:function(c,u,f){u=String(u),c=e.expand(c),f=f||[new ee(0)],c.group===h&&c.contains(u,!0)&&e.error("Unable to get coefficients using expression "+c.toString());var v=de(c);if(v.length===1&&v[0]===u&&!c.isImaginary())for(var I=new ut(c).coeffs.map(function(je){return new ee(je)}),q=0,V=I.length;q<V;q++){var Q=I[q],le=f[q];le&&(Q=e.add(le,Q)),f[q]=Q}else if(u||e.error("Polynomial contains more than one variable. Please specify which variable is to be used!"),v.indexOf(u)===-1)f[0]=e.add(c,f[0]);else if(f=f||[new ee(0)],c.group===R){var ye=c.symbols[u];ye||e.error("Expression is not a polynomial!");var Ae=Number(ye.power);Q=e.divide(c.clone(),ye.clone()),(Q.contains(u,!0)||Ae<0||!Qe(Ae))&&e.error("Expression is not a polynomial!");var le=f[Ae];le&&(Q=e.add(le,Q)),f[Ae]=Q}else c.group===_&&c.each(function(je){d.coeffs(je.clone(),u,f)},!0);for(var q=0,V=f.length;q<V;q++)typeof f[q]=="undefined"&&(f[q]=new ee(0));return f},polyPowers:function(c,u,f){f=f||[];var v=v=c.group;if(v===M&&u===c.value)f=f.concat(ie(c.symbols));else if(v===_)for(var I in c.symbols){var q=c.symbols[I],v=q.group,V=q.value;if(v===l&&u===V)f.push(q.power);else if(v===M||v===_)f=d.polyPowers(q,u,f);else if(v===R&&q.contains(u)){var Q=q.symbols[u];Q&&f.push(Q.power)}else(v===r||u!==V)&&f.push(0)}else v===R&&c.contains(u)&&f.push(t.Utils.decompose_fn(c,u,!0).x.power);return t.Utils.arrayUnique(f).sort()},Factor:{split:function(c){var u=new ee(1),f=new ee(1);return d.Factor.factor(c,new at).each(function(v){var I=e.parse(v);v.isConstant(!0)?u=e.multiply(u,I):f=e.multiply(f,I)}),[u,f]},mix:function(c,u){for(var f=ie(c),v=f.length,I=[],q=0;q<v;q++){for(var V=f[q],Q=c[V],le=I.length,ye=0;ye<le;ye++){var Ae=I[ye]*V;I.push(Ae),u&&I.push(-Ae)}for(var ye=1;ye<=Q;ye++)I.push(Math.pow(V,ye))}return I},common:function(c,u){try{if(c.group===_){for(var f=e.expand(c.clone(),!0).collectSymbols(null,null,function(Ae,je){return(je.length||1)-(Ae.length||1)}),v={},I=[],q=0;q<f.length;q++){var V=f[q];I.push(V.multiplier.clone()),V.each(function(Ae){var je=Number(Ae.power);if(isNaN(je))throw new Error("exiting");Ae.value in v?(je<v[Ae.value][0]&&(v[Ae.value][0]=je),v[Ae.value][1].push(Ae)):v[Ae.value]=[je,[Ae]]})}var Q=new ee(1);for(var le in v)v[le][1].length===f.length&&(Q=e.multiply(Q,e.pow(new ee(le),new ee(v[le][0]))));var ye=t.Math2.QGCD.apply(null,I);if(!ye.equals(1)){u.add(new ee(ye));for(var q=0;q<f.length;q++)f[q].multiplier=f[q].multiplier.divide(ye)}if(!Q.equals(1)){u.add(Q),c=new ee(0);for(var q=0;q<f.length;q++)c=e.add(c,e.divide(f[q],Q.clone()))}}}catch(Ae){}return c},zeroes:function(c,u){var f=function(){throw new t.exceptions.ValueLimitExceededError("Exiting")};try{var v,I,q,V,Q;c=e.expand(c.clone()),Q=c.toString(),v=de(c),q=new ee(0);for(var le=[],ye=[],Ae=0,je=v.length;Ae<v.length;Ae++){for(var it={},yt=0;yt<je;yt++)Ae!==yt&&(it[v[yt]]=0);I=e.parse(Q,it);var me=I.power;Qe(me)||f(),le.push(I),ye.push(I.power)}if(t.Utils.allSame(ye)){var Ue=c.length,Le=le.length;Le===2&&(V=new Ie(ye[0]/(Ue-1))),Le===3&&(V=new Ie(ye[0]/Math.round((Math.sqrt(8*Ue-1)-3)/2)))}else V=t.Math2.QGCD.apply(null,ye);Qe(V)||f();for(var Ae=0;Ae<le.length;Ae++){var Ve=le[Ae],lt=Ve.power.clone().divide(V);Ve.multiplier=new Ie(Math.pow(Ve.multiplier,1/lt)),Ve.power=V.clone(),q=e.add(q,Ve)}if(q.group!==_)return c;for(;;){var Nt=d.div(c.clone(),q.clone());if(Nt[1].equals(0)){if(c=Nt[0],u.add(q.clone()),c.equals(1))break}else break}}catch(Ct){}return c},factor:function(c,u){if(c.isConstant())return t.Math2.factor(c);var f=e.parse(c),v=d.Factor._factor(f,u);if(v.equals(c))return v;if(v.group===R){var I=new ee(1),q=e.parse(v.power),V=e.parse(v.multiplier);v.toUnitMultiplier(),v.multiplier.lessThan(0)&&(I.negate(),v.negate()),v.each(function(Q){var le=e.parse(d.Factor._factor(Q));le.group===R?(V=e.multiply(V,ee.create(le.multiplier)),le.each(function(ye){var Ae=e.parse(d.Factor._factor(ye));I=e.multiply(I,Ae),Ae.group===R&&(V=e.multiply(V,ee.create(Ae.multiplier)))})):I=e.multiply(I,le)}),v=e.pow(e.multiply(V,I),q)}return v},quadFactor:function(c,u){if(c.isPoly()&&d.degree(c.equals(2))){var f=t.Utils.variables(c)[0],v=d.coeffs(c,f),I=d.Factor._factor(v[2].clone());if(I.group===R){var q=I.collectSymbols();if(q.length>2)return c;var V=e.multiply(e.parse(v[0]),e.parse(q[0])),Q=e.parse(v[1]).negate(),le=e.parse(q[1]),ye=d.quad(le,Q,V).filter(function(it){if(t.Utils.isInt(it))return it});if(ye.length===1){var Ae=ye[0],je=e.divide(v[0],e.parse(Ae));t.Utils.isInt(je)&&(u.add(e.parse(ve("({0})*({1})+({2})",q[1],f,je))),u.add(e.parse(ve("({0})*({1})+({2})",q[0],f,Ae))),c=new ee(1))}}}return c},cubeFactor:function(c,u){if(c.isComposite()){var f=c.collectSymbols();if(f.length===2){var v=f[0].sign(),I=f[0].clone().abs(),q=f[1].sign(),V=f[1].clone().abs();if(I.isCube()&&V.isCube()){v<q&&([v,q]=[q,v],[I,V]=[V,I]);var Q=e.parse(I.getNth(3)),le=e.parse(V.getNth(3)),ye=e.multiply(e.expand(e.pow(I.clone().toUnitMultiplier(),e.parse("1/3"))),Q),Ae=e.multiply(e.expand(e.pow(V.clone().toUnitMultiplier(),e.parse("1/3"))),le);v===1&&q===-1?(u.add(e.parse(ve("(({0})-({1}))",ye,Ae))),u.add(e.parse(ve("(({0})^2+({0})*({1})+({1})^2)",ye,Ae))),c=ee(1)):v===1&&q===1&&(u.add(e.parse(ve("(({0})+({1}))",ye,Ae))),u.add(e.parse(ve("(({0})^2-({0})*({1})+({1})^2)",ye,Ae))),c=ee(1))}}}return c},_factor:function(c,u){var f=c.group;if(c.group===L){var v=c.args[0];if(v.group===l&&v.isSimple())return c}else if(c.group===l&&c.isSimple())return c;if(c.group===_){c.distributeMultiplier(!0);var I=new ee(0);c.each(function(st){(st.group===_&&st.power.greaterThan(1)||st.group===R)&&(st=e.expand(st)),I=e.add(I,st)}),I.power=c.power,c=I}c.group===L&&c.fname!=="sqrt"&&(c=t.Utils.evaluate(c));var q=c.clone();try{if(c.group===R){var Le=e.parse(c.power),V,Q,le,ye,Ae,je;if(V=d.Simplify.strip(c.getDenom()),Q=d.Simplify.strip(c.getNum()),le=V.pop(),ye=Q.pop(),ye.equals(c))return c;je=d.Factor.factor(ye),Ae=d.Factor.factor(le);var it=d.Simplify.unstrip(Q,je),yt=d.Simplify.unstrip(V,Ae),me=e.divide(it,yt);return me}if(c.group===l)return c;if(c.isConstant()){if(c.equals(1))return c.clone();var Ue=t.Math2.factor(c);return Ue}var Le=c.power.clone();if(Qe(Le)&&!(Le.lessThan(0)&&c.group===L)){var Ve=Le.sign();c.toLinear(),u=u||new at;var lt={};c=e.parse(t.Utils.subFunctions(c,lt)),ie(lt).length>0&&(u.preAdd=function(se){var te=e.parse(se,t.Utils.getFunctionsSubs(lt));return te}),c.isLinear()||(u.pFactor=c.power.toString(),c.toLinear());var Nt=de(c);c.isImaginary()&&Nt.push(t.Settings.IMAGINARY);var Ct=Nt.length>1;if(Ct){var Xe=!0,he=!0;if(c.each(function(se){se.group!==l&&(Xe=!1),se.multiplier.equals(1)||(he=!1)}),Xe&&he)return e.pow(e.parse(c,t.Utils.getFunctionsSubs(lt)),e.parse(Le))}var et=new at;c=d.Factor.coeffFactor(c,et),et.each(function(se){K(Le)&&se.lessThan(0)&&se.negate(),Ve<0&&se.invert(),u.add(se)});var Lt=new at;if(c=d.Factor.powerFactor(c,Lt),Lt.each(function(se){Ve<0&&se.invert(),u.add(se)}),Ct)c=d.Factor.cubeFactor(c,u),c=d.Factor.mfactor(c,u),u.each(function(se){Ve<0&&se.power.negate()});else{var H=Nt[0];c=d.Factor.squareFree(c,u,H);var P=new at;c=d.Factor.trialAndError(c,P,H);var B=P.toSymbol();if(B.equals(q))return B;for(var fe in P.factors){var pe=P.factors[fe];u.add(e.pow(pe,e.parse(Le)))}c.equals(q)&&(c=d.Factor.quadFactor(c,u))}c=e.parse(c,t.Utils.getFunctionsSubs(lt));var ue=u.length===1;u.add(e.pow(c,e.parse(Le)));var me=u.toSymbol();return ue&&c.equals(1)&&me.isLinear()&&(me=e.pow(me,e.parse(Le))),me}return c}catch(st){return q}},reduce:function(c,u){if(c.group===_&&c.length===2){var f=c.collectSymbols().sort(function(je,it){return it.multiplier-je.multiplier});if(f[0].power.equals(f[1].power)){var v=e.parse(f[0].power),I=f[0].clone().toLinear(),q=f[1].clone().toLinear();u.add(e.add(I.clone(),q.clone())),q.negate();for(var V=Number(v),Q=new ee(0),le=1;le<=V;le++){var ye=e.pow(I.clone(),e.subtract(v.clone(),new ee(le))),Ae=e.pow(q.clone(),e.subtract(new ee(le),new ee(1)));Q=e.add(Q,e.multiply(ye,Ae))}return Q}}return c},squareFree:function(c,u,f){if(c.isConstant()||c.group===l)return c;var v=new ut(c,f),I=v.squareFree(),q=I[2];if(q!==1){var V=I[1].toSymbol();V.power=V.power.multiply(new Ie(q)),u.add(d.Factor.factor(V));var Q=d.Factor.squareFree(I[0].toSymbol(),u);return Q}return c},powerFactor:function(c,u){if(c.group!==M||c.previousGroup===h)return c;var f=ie(c.symbols);if(!t.Utils.allNumeric(f))return c;var v=t.Utils.arrayMin(f),I=new ee(0),q=e.parse(c.value+"^"+v);return c.each(function(V){V=e.divide(V,q.clone()),I=e.add(I,V)}),u.add(q),I},coeffFactor:function(c,u){if(c.isComposite()){var f=t.Math2.QGCD.apply(null,c.coeffs());if(!f.equals(1))c.each(function(V){V.isComposite()?V.each(function(Q){Q.multiplier=Q.multiplier.divide(f)}):V.multiplier=V.multiplier.divide(f)}),c.updateHash();else{var v=function(V){var Q;return V.group===R?(Q=0,V.each(function(le){Q+=le.power})):Q=Number(V.power),Q},I=c.collectSymbols(null,null,null,!0).sort(function(V,Q){return V.isConstant(!0)?1:Q.power-V.power}),q=I[0];(v(q)>v(I[1])||I[1].isConstant(!0))&&q.multiplier.lessThan(0)&&(u.add(new ee(-1)),c.each(function(V){V.negate()},!0))}u&&u.add(new ee(f))}return c},trialAndError:function(c,u,f){var v=c.clone();try{var I=[];if(c.isConstant()||c.group===l)return c;for(var q=new ut(c,f),V=q.coeffs[0],Q=t.Math2.ifactor(V),le=d.proots(c),ye=0;ye<le.length;ye++){var Ae=le[ye],je=1;if(!isNaN(Ae)){for(var it in Q){var yt=t.Utils.round(Math.log(it)/Math.log(Math.abs(Ae)),8);if(Qe(yt)){Ae=it,je=yt;break}}var me=new Ie(Ae),Ue=[new Ie(me.num).negate()];Ue[je]=new Ie(me.den);var Le=ut.fromArray(Ue,q.variable).fill(),Ve=q.divide(Le);Ve[1].equalsNumber(0)&&(q=Ve[0],I.push(Le.toSymbol()))}}return q.equalsNumber(1)||(q=d.Factor.search(q,u)),I.forEach(function(lt){u.add(lt)}),q.toSymbol()}catch(lt){return v}},search:function(c,u,f){f=f||10;var v=c.variable,I=function(Nt,Ct,Xe,he){var et=ut.fit(Nt,Ct,Xe,f,he,v);if(et&&et.coeffs.length>1){var Lt=c.divide(et);if(Lt[1].equalsNumber(0))return u.add(et.toSymbol()),[Lt[0],et]}return null},q=c.coeffs[0],V=t.Math2.ifactor(q),Q=c.lc(),le=t.Math2.ifactor(Q),ye=c.sub(f),Ae=t.Math2.ifactor(ye),je=d.Factor.mix(Ae,ye<0),it=Math.ceil(c.coeffs.length/2),yt=Q.lessThan(0),me=q.lessThan(0);for(le[1]=1,V[1]=1;it--;)for(var Ue in le)for(var Le in V)for(var Ve=0;Ve<je.length;Ve++){var lt=I(Ue,Le,je[Ve],it);if(lt)return c=lt[0],t.Utils.isPrime(c.sub(f))||(c=d.Factor.search(c,u)),c;lt||(yt&&me?lt=I(-Ue,-Le,je[Ve],it):yt?lt=I(-Ue,Le,je[Ve],it):me&&(lt=I(Ue,-Le,je[Ve],it)))}return c},mSqfrFactor:function(c,u){if(c.group!==L)for(var f=de(c).reverse(),v=0;v<f.length;v++)do{if(f[v]===c.value){u.add(c),c=new ee(1);continue}var I=t.Calculus.diff(c,f[v]),q=d.Factor.coeffFactor(I);if(q.equals(0))break;var V=!0;if(q.isConstant()&&c.isComposite()&&c.each(function(ye){ye.multiplier%q!==0&&(V=!1)},!0),V){var Q=d.div(c,q.clone()),le=Q[1].equals(0);if(c.equals(Q[0])&&Q[1].equals(0))break;if(Q[0].isConstant()){u.add(Q[0]);break}}else le=!1;le&&(u.add(Q[0]),c=q)}while(le);return c},sqdiff:function(c,u){if(c.isConstant("all"))return c;try{var f=function(Ae){return t.Utils.block("POSITIVE_MULTIPLIERS",function(){return ee.unwrapPARENS(ze.sqrt(ze.abs(Ae)))},!0)},v=t.Utils.separate(c.clone()),I=[];for(var q in v)q!=="constants"&&I.push(v[q]);if(I.sort(function(Ae,je){return je.power-Ae.power}),I.length===2){var V,Q;if(V=I.pop(),Q=I.pop(),K(V.power)&&K(Q.power)&&V.sign()===Q.sign()&&V.group===l&&Q.group===l)throw new Error("Unable to factor");if(V.isComposite()&&Q.power.equals(2)){Q=f(Q);var le=d.Factor.factor(e.add(V,v.constants));le.power.equals(2)&&(le.toLinear(),u.add(e.subtract(le.clone(),Q.clone())),u.add(e.add(le,Q)),c=new ee(1))}else if(V=V.powSimp(),Q=Q.powSimp(),(V.group===l||V.fname==="")&&V.power.equals(2)&&(Q.group===l||Q.fname==="")&&Q.power.equals(2)&&!v.constants){if(V.multiplier.lessThan(0)){var ye=Q;Q=V,V=ye}V.multiplier.greaterThan(0)&&(V=f(V),Q=f(Q)),u.add(e.subtract(V.clone(),Q.clone())),u.add(e.add(V,Q)),c=new ee(1)}}}catch(Ae){}return c},mfactor:function(c,u){if(c.group===L)if(c.fname==="sqrt"){var f=new at,v=d.Factor.common(c.args[0].clone(),f);v=d.Factor.coeffFactor(v,f),c=e.multiply(e.symfunction("sqrt",[v]),e.parse(c.multiplier)),f.each(function(H){c=e.multiply(c,e.parse(t.Utils.format("sqrt({0})",H)))})}else u.add(c);else{c=d.Factor.mSqfrFactor(c,u);for(var I=de(c),q=c.collectSymbols().map(function(H){return ee.unwrapSQRT(H)}),V={},Q={},le=I.length,ye=q.length,Ae=0;Ae<le;Ae++){var je=I[Ae];V[je]=new ee(0);for(var it=0;it<ye;it++){var yt=q[it];if(yt.contains(je)){var me=yt.value===je?yt.power.toDecimal():yt.symbols[je].power.toDecimal();(!Q[je]||me<Q[je])&&(Q[je]=me),V[je]=e.add(V[je],yt.clone())}}}for(var Ue in V){var Le=e.parse(Ue+"^"+Q[Ue]),Ve=e.divide(V[Ue],Le),lt=e.expand(Ve);if(lt.equals(1))break;var Nt=d.div(c.clone(),lt);if(Nt[0].equals(0))break;if(Nt[1].equals(0)){var Ct=!1;if(Nt[0].each(function(H){Qe(H.multiplier)||(Ct=!0)}),Ct){Nt[1]=e.expand(e.multiply(Nt[1],lt));break}}var Xe=Qe(lt)&<.lessThan(0);if(Nt[1].equals(0)&&!Xe){var he=d.div(c.clone(),Nt[0].clone()),Le=he[0];if(Le.equals(0)||(c=he[1],Le.equals(-1)&&!c.equals(0)))return c;var et=Nt[0];if(c.equals(et)){var Lt=d.Factor.reduce(et,u);return c.equals(Lt)?Lt:d.Factor.mfactor(Lt,u)}else if(u.add(et),c.equals(0))return Le;return Le.isConstant("all")?(u.add(Le),Le):d.Factor.mfactor(Le,u)}}}return c=d.Factor.sqdiff(c,u),c=d.Factor.zeroes(c,u),c}},allLinear:function(c){for(var u=c.length,f=0;f<u;f++)if(!d.isLinear(c[f]))return!1;return!0},isLinear:function(c){var u=!1,f=c.group;if(f===M||f===_){u=!0;for(var v in c.symbols){var I=c.symbols[v],q=I.group;if((q===L||q===h)&&(u=!1),q===R)u=de(I).length===1;else if(q===M||q===_)u=d.isLinear(I);else if(I.group!==r&&I.power.toString()!=="1"){u=!1;break}}}else f===l&&c.power===1&&(u=!0);return u},gcd:function(){var c;if(arguments.length===1&&arguments[0]instanceof t.Vector?c=arguments[0].elements:c=t.Utils.arguments2Array(arguments),c.length===0)return new ee(1);if(c.length===1)return c[0];for(var u=[],f=!1,v=0;v<c.length;v++)if(c[v].group===L&&c[v].fname==="gcd")c=c.concat(arguments[v].args),c.splice(v,1);else{var I=de(c[v]);if(t.Utils.haveIntersection(I,u)){f=!0;break}else u=u.concat(I)}if(f||u.length===0)if(c.every(function(V){return V.getDenom().equals(1)})){for(var q=c[0],v=1;v<c.length;v++)q=d.gcd_(c[v],q);return q}else return e.divide(d.gcd.apply(null,c.map(function(V){return V.getNum()})),d.lcm.apply(null,c.map(function(V){return V.getDenom()})));else return e.symfunction("gcd",c)},gcd_:function(c,u){if((c.group===L||c.group===a)&&(c=t.Utils.block("PARSE2NUMBER",function(){return e.parse(c)})),u.group===L&&(u=t.Utils.block("PARSE2NUMBER",function(){return e.parse(u)})),c.isConstant()&&u.isConstant())return new ee(t.Math2.QGCD(new Ie(+c),new Ie(+u)));var f=e.multiply(c.getDenom()||new ee(1),u.getDenom()||new ee(1)).invert();if(c=e.multiply(c.clone(),f.clone()),u=e.multiply(u.clone(),f.clone()),c=e.expand(c),u=e.expand(u),c.group===R||u.group===R){var v=e.divide(c.clone(),u.clone()),I=e.multiply(u.clone(),v.getDenom().invert());if(!I.equals(1))return I}if(c.group===h||u.group===h){var q=new ee(t.Math2.GCD(c.multiplier,u.multiplier)),V=d.gcd_(c.value===Te?new ee(1):e.parse(c.value),u.value===Te?new ee(1):e.parse(u.value)),Q=d.gcd_(e.parse(c.power),e.parse(u.power));return e.multiply(q,e.pow(V,Q))}if(c.length<u.length){var I=c;c=u,u=I}var le=de(c),ye=de(u);if(le.length===ye.length&&le.length===1&&le[0]===ye[0]||le.length===1&&ye.length===0||le.length===0&&ye.length===1)return c=new ut(c),u=new ut(u),e.divide(c.gcd(u).toSymbol(),f);var Ae=[];c.each(function(yt){Ae.push(yt.multiplier)}),u.each(function(yt){Ae.push(yt.multiplier)});for(var je;!u.equals(0);){var I=u.clone();if(c=c.clone(),je=d.div(c,I),u=je[1],je[0].equals(0))return e.divide(new ee(t.Math2.QGCD(c.multiplier,u.multiplier)),f);c=I}var it=t.Math2.QGCD.apply(void 0,Ae);return it.equals(1)||c.each(function(yt){yt.multiplier=yt.multiplier.divide(it)}),c.equals(1)&&!c.isConstant()&&!u.isConstant()?e.divide(e.symfunction("gcd",arguments),f):e.divide(c,f)},lcm:function(){var c;arguments.length===1?arguments[0]instanceof t.Vector?c=arguments[0].elements:e.error("lcm expects either 1 vector or 2 or more arguments"):c=t.Utils.arguments2Array(arguments);var u=c.reduce(function(q,V){return e.multiply(q,V.clone())},new ee(1)),f=function(q,V){V=Number(V);var Q=[],le,ye,Ae,je=Math.pow(2,q.length);for(ye=V;ye<je;ye++){le=[],Ae=q.length-1;do(ye&1<<Ae)!==0&&le.push(q[Ae]);while(Ae--);le.length===V&&Q.push(le)}return Q}(arguments,arguments.length-1).map(function(q){return q.reduce(function(V,Q){return e.multiply(V,Q.clone())},new ee(1))}),v;c.every(function(q){return t.Utils.isVariableSymbol(q)})?v=e.symfunction("gcd",t.Utils.arrayUnique(f)):v=d.gcd.apply(null,f);var I=e.divide(u,v);return I},divide:function(c,u){var f,v,I,q;return I=t.Algebra.Factor.factor(c.clone()),q=I.getDenom(),q.isConstant("all")?q=new ee(1):c=e.expand(ee.unwrapPARENS(e.multiply(I,q.clone()))),f=d.div(c,u),v=e.divide(f[1],u),e.divide(e.add(f[0],v),q)},div:function(c,u){var f=[new ee(0),c.clone()];try{if(u.isConstant("all"))return c.each(function(Ge){Ge.multiplier=Ge.multiplier.divide(u.multiplier)}),[c,new ee(0)];if(c=e.expand(c),u=e.expand(u),c.group===l&&u.group===_){var v=c.value,I=t.Utils.decompose_fn(u.clone(),v,!0);if(c.isLinear()&&I.x&&I.x.isLinear()&&u.isLinear()){var q=ee.create(c.multiplier);return[e.divide(q.clone(),I.a.clone()),e.divide(e.multiply(q,I.b),I.a).negate()]}}if(c.group===l&&u.group===l){var V=e.divide(c.clone(),u.clone());return V.isConstant()?[V,new ee(0)]:[new ee(0),c.clone()]}var Q=c.hasFunc(),le=u.hasFunc(),ye=!1;if(Q||le){ye=!0;var Ae={},c=e.parse(t.Utils.subFunctions(c,Ae)),u=e.parse(t.Utils.subFunctions(u,Ae)),je=t.Utils.getFunctionsSubs(Ae)}var it=t.Utils.arrayUnique(de(c).concat(de(u))),yt,me;if((c.isImaginary()||u.isImaginary())&&it.push(t.Settings.IMAGINARY),it.length===1){var Ue=new ut(c).divide(new ut(u));yt=Ue[0].toSymbol(),me=Ue[1].toSymbol()}else{it.push(Te);var Le=function(Ge){for(var He=new ee(0),ge=0;ge<Ge.length;ge++){var Je=Ge[ge].toSymbol();He=e.add(He,Je)}return He},Ve=function(Ge,He){var ge=Math.max.apply(null,Ge.terms),Je=0,gt;if(!He){for(var ne=0;ne<Ge.terms.length;ne++)if(Ge.terms[ne].equals(ge)&&(gt=ne,Je++),Je>1)return}if(He){for(ne=0;ne<Ge.terms.length;ne++)if(Ge.terms[ne].equals(ge)){gt=ne;break}}return[ge,gt,Ge]},lt=function(Ge,He){He=He||0;var ge=Ge[He],Je=Ge.length;if(!!ge){for(var gt=Ve(ge),ne=He+1;ne<Je;ne++){var Se=Ge[ne],qe=ge.sum.equals(Se.sum);if(!qe&>)break;if(qe){for(var Be,ct,wt,Mt,qt=ge.terms.length,Ft=0;Ft<qt;Ft++){var Tt=ge.terms[Ft],Ze=Se.terms[Ft];(typeof Be=="undefined"||Tt.greaterThan(Be))&&(Be=Tt,wt=Ft),(typeof ct=="undefined"||Ze.greaterThan(ct))&&(ct=Ze,Mt=Ft)}var ht=Be.subtract(Se.terms[wt]),Et=ct.subtract(ge.terms[Mt]);if(Et>ht){gt=[ct,Mt,Se];break}if(ht>Et){gt=[Be,wt,ge];break}}else if(gt=Ve(Se),gt)break;gt=Ve(Se)}if(!gt)return Ve(Ge[0],!0);for(var Pt,Ye,ne=0;ne<et.length;ne++){var nt=et[ne].terms;if(Ye=gt[1],Ye===nt.length-1)return;if(Pt=nt[Ye],!Pt.equals(0))break}return Pt.equals(0)?lt(Ge,++He):gt}},Nt=t.Utils.toMapObj(it),Ct=function(Ge,He){return He.sum.subtract(Ge.sum)},Xe=function(Ge,He){if(!Ge||!He)return!1;for(var ge=0;ge<Ge.terms.length;ge++)if(Ge.terms[ge].lessThan(He.terms[ge]))return!1;return!0},he=c.tBase(Nt).sort(Ct),et=u.tBase(Nt).sort(Ct),Lt=Xe(he[0],et[0])&&he[0].count>et[0].count?et:he,H=lt(Lt),P=[];if(H){var B=H[1],fe=function(Ge,He){return Ge[0].sum.equals(He[0].sum)?Ge.length>=He.length:!0},pe=function(Ge,He,ge){for(var Je=[],gt=0;gt<Ge.length;gt++)for(var ne=Ge[gt],Se=0;Se<ne.terms.length;Se++){var qe=Je[Se],Be=ne.terms[Se];gt===0?Je[Se]=Be:qe&&!qe.equals(Be)&&(Je[Se]=void 0)}for(var gt=0;gt<Je.length;gt++){var ne=Je[gt];if(ne&&!ne.equals(0))return gt}return ge},ue=function(Ge,He){var ge=Ge.len(),Je=He.len(),gt=He.terms[B],ne=Ge.terms[B];return Je>ge&>.greaterThan(ne)?Je-ge:gt.subtract(ne)};B=pe(he,et,B),he.sort(ue),et.sort(ue);var st=et[0],se=he[0],te=new j(new Ie(1),[],se.map);if(st.sum.greaterThan(se.sum)&&se.len()>1)for(var D=0;D<se.terms.length;D++){var re=st.terms[D].subtract(se.terms[D]);if(re.equals(0))te.terms[D]=new Ie(0);else{var J=re.add(new Ie(1));te.terms[D]=re;for(var Ee=0;Ee<he.length;Ee++)he[Ee].terms[D]=he[Ee].terms[D].add(J)}}for(var xe=Xe(he[0],et[0]),Ce=0,Ke=200;xe&&fe(he,et);){if(Ce++>Ke)throw new t.exceptions.InfiniteLoopError("Unable to compute!");var Ue=he[0].divide(et[0]);P.push(Ue),he.shift();for(var D=1;D<et.length;D++){var Ne=et[D].multiply(Ue).generateImage(),We=he.length;We===0&&(Ne.coeff=Ne.coeff.neg(),he.push(Ne),he.sort(ue));for(var Ee=0;Ee<We;Ee++){var ae=he[Ee];if(ae.getImg()===Ne.getImg()){ae.coeff=ae.coeff.subtract(Ne.coeff),ae.coeff.equals(0)&&(t.Utils.remove(he,Ee),Ee--);break}Ee===We-1&&(Ne.coeff=Ne.coeff.neg(),he.push(Ne),he.sort(ue))}}if(xe=Xe(he[0],et[0]),!xe&&he.length>=et.length){for(var D=1;D<he.length;D++)if(xe=Xe(he[D],et[0]),xe){he.unshift(t.Utils.remove(he,D));break}}}}yt=Le(P),me=Le(he),typeof te!="undefined"&&(te=te.toSymbol(),yt=e.divide(yt,te.clone()),me=e.divide(me,te))}return ye&&(yt=e.parse(yt.text(),je),me=e.parse(me.text(),je)),[yt,me]}catch(Ge){return f}},line:function(c,u,f){t.Utils.isArray(c)&&(c=t.Utils.convertToVector(c)),t.Utils.isArray(u)&&(u=t.Utils.convertToVector(u)),f=e.parse(f||"x"),(!t.Utils.isVector(c)||!t.Utils.isVector(u))&&e.error('Line expects a vector! Received "'+c+'" & "'+u+'"');var v=e.subtract(u.e(1).clone(),c.e(1).clone()),I=e.subtract(u.e(2).clone(),c.e(2).clone()),q=e.divide(I,v),V=e.multiply(f,q.clone()),Q=e.multiply(c.e(1).clone(),q);return e.add(e.subtract(V,Q),c.e(2).clone())},PartFrac:{createTemplate:function(c,u,f,v){c=d.Factor.factor(c),c.each(function(Le,Ve){if(Le.group===L&&Le.fname===""&&Le.args[0].group===l){var lt=Le.args[0];this.symbols?(delete this.symbols[Ve],this.symbols[lt.value]=lt):c=Le.args[0]}});var I,q,V,Q,le,ye,Ae;I=u.collectFactors(),q=[],ye=[],Ae=new ee(1);for(var je=0;je<I.length;je++){var it=ee.unwrapPARENS(I[je]);if(it.power.greaterThan(1)){Q=Number(it.power),V=it.clone().toLinear(),le=Number(d.degree(V,v));for(var yt=0;yt<Q;yt++){var me=e.pow(V.clone(),new ee(yt+1));f.push(me.clone());var Ue=e.divide(c.clone(),me.clone());ye.push(le),q.push(Ue)}}else{le=Number(d.degree(it,v)),f.push(it);var Ue=e.divide(c.clone(),it.clone());Ue=e.expand(ee.unwrapPARENS(Ue)),ye.push(le),q.push(Ue)}}return f=f.map(function(Le){return e.multiply(Le,Ae.clone())}),[f,q,ye]},partfrac:function(c,u,f){var v=de(c);u=u||e.parse(v[0]);try{var I,q,V,Ct,Q,le,ye,Ae,je,it,yt,me,Ue,Le,Ve,lt,Nt,Ct;if(I=e.expand(c.getNum()),q=e.expand(c.getDenom().toUnitMultiplier()),I.multiplier=c.multiplier,le=I.groupTerms(u),Number(d.degree(I,u))>=Number(d.degree(q,u))?(Ue=d.div(I.clone(),e.expand(q.clone())),Le=Ue[0],I=Ue[1],le=I.groupTerms(u)):Le=new ee(0),Number(d.degree(q,u))===1){var Xe=e.divide(I,q);return f?[Le,Xe]:e.add(Le,Xe)}Q=d.Factor.factor(q),Nt=d.PartFrac.createTemplate(q.clone(),Q,[],u),Ct=Nt[0],Ve=Nt[1],ye=Nt[2],me=[le.length],Ae=[],V=[],lt=[];var he,et;Ve.map(function(ue,st){he=Ct[st],et=ye[st];for(var se=0;se<et;se++){V.push(he.clone());var te=ee.create(u,se),D=e.expand(e.multiply(ue,te.clone())).groupTerms(u),re=D.length;me.push(re),Ae.push(D),lt.push(te.clone())}}),je=t.Utils.arrayMax(me),yt=new t.Matrix(t.Utils.fillHoles(le,je)).transpose(),it=new t.Matrix;for(var Lt=0;Lt<Ae.length;Lt++)it.elements.push(t.Utils.fillHoles(Ae[Lt],je));var H=e.multiply(it.transpose().invert(),yt),P=f?[Le]:Le;return H.each(function(ue,st){var se=e.multiply(lt[st],e.divide(ue,V[st]));f?P.push(se):P=e.add(P,se)}),P}catch(ue){try{if(c.isComposite()){var B={};c.each(function(st){var se=st.getDenom(),te=st.getNum(),D=B[se];B[se]=D?e.add(D,te):te});var fe=new ee(0);for(var pe in B)fe=e.add(fe,e.divide(B[pe],e.parse(pe)));c=fe}}catch(st){}}return c}},degree:function(c,u,f){if(f=f||{nd:[],sd:[],depth:0},!u){var v=de(c);if(v.length>1)throw new Error("You must specify the variable for multivariate polynomials!");if(v.length===0)return new ee(0);u=e.parse(v[0])}var I=c.group;c.isComposite()?(c=c.clone(),c.distributeExponent(),c.each(function(V){f.depth++,d.degree(V,u,f),f.depth--})):c.group===R?c.each(function(V){f.depth++,d.degree(V,u,f),f.depth++}):I===h&&c.value===u.value?f.sd.push(c.power.clone()):I===l&&c.value===u.value?f.nd.push(e.parse(c.power)):f.nd.push(new ee(0));var q=f.nd.length>0?t.Utils.arrayMax(f.nd):void 0;return f.depth===0&&f.sd.length>0?(q!==void 0&&f.sd.unshift(q),e.symfunction("max",f.sd)):(t.Utils.isSymbol(q)||(q=e.parse(q)),q)},sqComplete:function(c,u,f){t.Utils.isSymbol(u)||(u=e.parse(u));var v=function(Ue){throw Ue=Ue||"Stopping",new t.exceptions.ValueLimitExceededError(Ue)};c.isPoly(!0)||v("Must be a polynomial!");var I,q,V,Q,le,ye,Ae,je,it,yt,me;return it=t.Utils.inBrackets,c=c.clone(),I=t.Algebra.degree(c,u),I.equals(2)||v("Cannot complete square for degree "+I),Ae=t.Algebra.coeffs(c,u),q=Ae[2],je=Ae[1].sign(),V=e.divide(Ae[1],new ee(2)),Q=e.pow(V.clone(),new ee(2)),f?[q,V,le]:(me=ze.sqrt(q),ye=e.divide(ze.sqrt(Q),me.clone()),le=e.subtract(Ae[0],e.pow(ye.clone(),new ee(2))),yt=e.parse(it(me.clone()+"*"+u+(je<0?"-":"+")+ye)),{a:yt,c:le,f:e.add(e.pow(yt.clone(),new ee(2)),le.clone())})},Simplify:{strip:function(c){var u=e.parse(c.multiplier);c.toUnitMultiplier();var f=e.parse(c.power);return c.toLinear(),[u,f,c]},unstrip:function(c,u){var f=c[0],v=c[1];return e.multiply(f,e.pow(u,v))},complexSimp:function(c,u){var f,v,I,q,V,Q,le,ye,Ae;return Q=c.realpart(),ye=c.imagpart(),le=u.realpart(),Ae=u.imagpart(),f=e.multiply(Q.clone(),le.clone()),v=e.multiply(ye.clone(),Ae.clone()),I=e.multiply(le.clone(),ye),q=e.multiply(Q,Ae.clone()),V=e.add(e.pow(le,new ee(2)),e.pow(Ae,new ee(2))),e.divide(e.add(e.add(f,v),e.multiply(e.subtract(I,q),ee.imaginary())),V)},trigSimp:function(c){if(c.containsFunction(["cos","sin","tan"])){c=c.clone();var u=d.Simplify.strip(c);c=u.pop();var f=c.clone();if(c.group===_){var v=new ee(0);c.each(function(Q){var le=d.Simplify.trigSimp(Q.fnTransform());v=e.add(v,le)},!0),f=e.pow(e.multiply(new ee(c.multiplier),v),new ee(c.power))}else if(c.group===R){var I=c.getNum(),q=c.getDenom();if(I.fname==="sin"&&q.fname==="cos"&&I.args[0].equals(q.args[0])&&I.power.equals(q.power)&&(f=e.parse(t.Utils.format("({0})*({1})*tan({2})^({3})",q.multiplier,I.multiplier,I.args[0],I.power))),f.group===R){var V=new ee(1);f.each(function(Q){Q.fname==="tan"&&(Q=e.parse(t.Utils.format("({0})*sin({1})^({2})/cos({1})^({2})",Q.multiplier,d.Simplify.simplify(Q.args[0]),Q.power))),V=e.multiply(V,Q)}),f=V}}f=d.Simplify.unstrip(u,f).distributeMultiplier(),c=f}return c},fracSimp:function(c){var u=c.getDenom(),f=c.getNum();if(f.isImaginary()&&u.isImaginary()&&(c=d.Simplify.complexSimp(f,u)),c.isComposite()){c.power>1&&(c=e.expand(c));var v=c.collectSymbols(),I,q,V,Q,le,ye,Ae,je,it,yt,me,u,f;for(q=v.pop();v.length;)V=v.pop(),Q=e.parse(q.getDenom()),le=e.parse(V.getDenom()),ye=q.getNum(),Ae=V.getNum(),me=e.multiply(Q.clone(),le.clone()),it=e.multiply(ye,le),yt=e.multiply(Ae,Q),je=e.add(it,yt),q=e.divide(je,me);return u=e.expand(q.getDenom()),f=e.expand(q.getNum()),f.isImaginary()&&u.isImaginary()?I=d.Simplify.complexSimp(f,u):I=e.divide(f,u),I.equals(c)?c:d.Simplify.simplify(I)}return c},ratSimp:function(c){if(c.group===R){var u=c.getDenom(),f=c.getNum().distributeMultiplier(),v=d.Simplify.fracSimp(u),I=d.Simplify.fracSimp(f);c=e.divide(I,v)}return c},sqrtSimp:function(c,u){var f;if(c.isSQRT()){var v=d.Factor.factor(c.args[0].clone()),I=e.parse(v.multiplier),q=I.sign(),f=e.sqrt(I.abs()),V;if(Qe(f)){if(v.group===R){var Q=new ee(1);v.each(function(Ae){if(Ae.group===r){var je=e.sqrt(Ae.clone());Qe(je)?f=e.multiply(f,je):Q=e.multiply(Q,Ae)}else Q=e.multiply(Q,Ae)});var le=e.multiply(Q,e.parse(q));V=e.sqrt(le.clone()),V.isImaginary&&(V=e.sqrt(e.expand(le.clone())))}else V=e.sqrt(v.clone().toUnitMultiplier());return e.multiply(f,V)}}else c.isComposite()&&c.isLinear()?(f=new ee(0),c.each(function(ye){f=e.add(f,d.Simplify.sqrtSimp(ye))},!0),f=e.multiply(f,e.parse(c.multiplier))):c.group===R&&(f=e.parse(c.multiplier),c.each(function(ye){var Ae=d.Simplify.sqrtSimp(ye);f=e.multiply(f,Ae)},!0),f=e.pow(f,e.parse(c.power)));return f||e.parse(c)},patternSub:function(c){var u={},f=function(I){var q=!1;return I.each(function(V){V.group===_?q=!0:V.symbols&&(q=f(V))}),q},v=function(I){I.each(function(q){if(!(!q.symbols&&q.group!==L)){if(f(q))v(q);else if(!u[q.value]){var V=t.Utils.getU(c);u[q.value]=V,c=c.sub(q.value,V)}}},!0)};return v(c),[c,u]},simplify:function(c){var u=d.Simplify.strip(c);if(c=u.pop(),c=d.Simplify.fracSimp(c),c.isConstant()||c.group===t.groups.S){u.push(c);var f=d.Simplify.unstrip(u,c);return f}var v=c.clone();if(v=d.Simplify.trigSimp(v),v=d.Simplify.ratSimp(v),v=d.Factor.factor(v),v.group===t.groups.CP&&v.isLinear()){var I=v.multiplier.clone();v.toUnitMultiplier();var q=new ee(0);v.each(function(Q){var le=d.Simplify.simplify(Q);q=e.add(q,le)}),v=q,q.multiplier=q.multiplier.multiply(I)}var V=d.Simplify.unstrip(u,v);return V}},Classes:{Polynomial:ut,Factors:at,MVTerm:j}};t.Expression.prototype.simplify=function(){return d.Simplify.simplify(this.symbol)},Z1.useAlgebraDiv=function(){var c=d.divideFn=e.divide,u=0;e.divide=function(f,v){u++;var I;return u===1?I=t.Algebra.divide(f,v):I=c(f,v),u=0,I}},Z1.useParserDiv=function(){d.divideFn&&(e.divide=d.divideFn),delete d.divideFn},Z1.register([{name:"factor",visible:!0,numargs:1,build:function(){return d.Factor.factor}},{name:"simplify",visible:!0,numargs:1,build:function(){return d.Simplify.simplify}},{name:"gcd",visible:!0,numargs:[1],build:function(){return d.gcd}},{name:"lcm",visible:!0,numargs:[1],build:function(){return d.lcm}},{name:"roots",visible:!0,numargs:-1,build:function(){return d.roots}},{name:"divide",visible:!0,numargs:2,build:function(){return d.divide}},{name:"div",visible:!0,numargs:2,build:function(){return d.div}},{name:"partfrac",visible:!0,numargs:[1,2],build:function(){return d.PartFrac.partfrac}},{name:"deg",visible:!0,numargs:[1,2],build:function(){return d.degree}},{name:"coeffs",visible:!0,numargs:[1,2],build:function(){var c=function(){var u=d.coeffs.apply(d,arguments);return new t.Vector(u)};return c}},{name:"line",visible:!0,numargs:[2,3],build:function(){return d.line}},{name:"sqcomp",visible:!0,numargs:[1,2],build:function(){var c=function(u,f){try{f=f||de(u)[0];var v=d.sqComplete(u.clone(),f);return v.f}catch(I){return u}};return c}}]),Z1.updateAPI()})()});var V0=an((RS,O7)=>{typeof O7!="undefined"&&typeof Z2=="undefined"&&(Z2=N0(),z0());var Z2;(function(){"use strict";var t=Z2.getCore(),e=t.PARSER,r=t.Frac,a=t.Settings,l=t.Utils.isSymbol,De=t.groups.FN,h=t.Symbol,L=t.Utils.text,M=t.Utils.inBrackets,_=t.Utils.isInt,R=t.Utils.format,ie=t.Utils.even,K=t.Utils.evaluate,de=t.groups.N,ve=t.groups.S,De=t.groups.FN,Ie=t.groups.PL,Qe=t.groups.CP,ee=t.groups.CB,Te=t.groups.EX,ze=t.groups.P,Oe=a.LOG,ut="exp",at="abs",j="sqrt",d="sin",c="cos",u="tan",f="sec",v="csc",I="cot",q="asin",V="acos",Q="atan",le="asec",ye="acsc",Ae="acot",je="sinh",it="cosh",yt="tanh",me="csch",Ue="sech",Le="coth",Ve="asech",lt="acsch",Nt="acoth";function Ct(B){this.message=B||""}Ct.prototype=new Error,h.prototype.hasIntegral=function(){return this.containsFunction("integrate")},h.prototype.fnTransform=function(){if(this.group!==De)return this;var B,fe=this.args[0],pe=new h(this.multiplier),ue=this.clone().toUnitMultiplier();if(this.isLinear())switch(this.fname){case je:B=e.parse(R("(e^({0})-e^(-({0})))/2",fe));break;case it:B=e.parse(R("(e^({0})+e^(-({0})))/2",fe));break;case yt:B=e.parse(R("(e^({0})-e^(-({0})))/(e^({0})+e^(-({0})))",fe));break;case u:B=e.parse(R("sin({0})/cos({0})",fe));break;case v:B=e.parse(R("1/sin({0})",fe));break;case f:B=e.parse(R("1/cos({0})",fe));break;default:B=ue}else if(this.power.equals(2))switch(this.fname){case d:B=e.parse(R("1/2-cos(2*({0}))/2",fe));break;case c:B=e.parse(R("1/2+cos(2*({0}))/2",fe));break;case u:B=e.parse(R("sin({0})^2/cos({0})^2",fe));break;case it:B=e.parse(R("1/2+cosh(2*({0}))/2",fe));break;case je:B=e.parse(R("-1/2+cosh(2*({0}))/2",fe));break;case yt:B=e.parse(R("(1+cosh(2*({0})))/(-1+cosh(2*({0})))",fe));break;case f:B=e.parse(R("(1-cos(2*({0})))/(1+cos(2*({0})))+1",fe));break;default:B=ue}else if(this.fname===f)B=e.parse(R("1/cos({0})^({1})",this.args[0],this.power));else if(this.fname===v)B=e.parse(R("1/sin({0})^({1})",this.args[0],this.power));else if(this.fname===u)this.power.lessThan(0)?B=e.parse(R("cos({0})^(-({1}))/sin({0})^({1})",this.args[0],this.power.negate())):B=e.parse(R("sin({0})^({1})/cos({0})^({1})",this.args[0],this.power));else if(this.fname===d&&this.power.lessThan(0))B=e.parse(R("csc({0})^(-({1}))",this.args[0],this.power.negate()));else if(this.fname===c&&this.power.lessThan(0))B=e.parse(R("sec({0})^(-({1}))",this.args[0],this.power.negate()));else if(this.fname===d&&this.power.equals(3))B=e.parse(R("(3*sin({0})-sin(3*({0})))/4",this.args[0]));else if(this.fname===c&&this.power.equals(3))B=e.parse(R("(cos(3*({0}))+3*cos({0}))/4",this.args[0]));else if((this.fname===c||this.fname===d)&&ie(this.power)){var st=this.power/2,se=e.pow(this.clone().toLinear(),e.parse(2)).fnTransform(),te=e.expand(e.pow(se,e.parse(st)));B=new h(0),te.each(function(D){var re=D.fnTransform();B=e.add(B,re)},!0)}else B=ue;return e.multiply(B,pe)},h.prototype.hasTrig=function(){if(this.isConstant(!0)||this.group===ve)return!1;if(this.fname&&(t.Utils.in_trig(this.fname)||t.Utils.in_inverse_trig(this.fname)))return!0;if(this.symbols){for(var B in this.symbols)if(this.symbols[B].hasTrig())return!0}return!1},t.Expression.prototype.hasIntegral=function(){return this.symbol.hasIntegral()},t.Utils.toCommonDenominator=function(B){if(B.isComposite()&&B.isLinear()){var fe=new h(B.multiplier),pe=new h(1),ue=new h(0);B.each(function(se){pe=e.multiply(pe,se.getDenom())},!0),B.each(function(se){var te=se.getNum(),D=se.getDenom(),re=e.multiply(te,e.divide(pe.clone(),D));ue=e.add(ue,re)});var st=e.multiply(fe,t.Algebra.divide(e.expand(ue),e.expand(pe)));return st}return B},t.Utils.in_inverse_trig=function(B){var fe=[q,V,Q,ye,le,Ae];return fe.indexOf(B)!==-1},t.Utils.in_trig=function(B){var fe=[c,d,u,f,v,I];return fe.indexOf(B)!==-1},t.Utils.in_htrig=function(B){var fe=[je,it,yt,lt,Ve,Nt];return fe.indexOf(B)!==-1},t.Matrix.jacobian=function(B,fe){var pe=new t.Matrix;return fe||(fe=t.Utils.arrayGetVariables(B)),fe.forEach(function(ue,st){B.forEach(function(se,te){var D=t.Calculus.diff(se.clone(),ue);pe.set(te,st,D)})}),pe},t.Matrix.prototype.max=function(){var B=new h(0);return this.each(function(fe){var pe=fe.abs();pe.gt(B)&&(B=pe)}),B},t.Matrix.cMatrix=function(B,fe){var pe=new t.Matrix;return fe.forEach(function(ue,st){pe.set(st,0,e.parse(B))}),pe};var Xe=t.Utils.all_functions=function(B){for(var fe=0,pe=B.length;fe<pe;fe++)if(B[fe].group!==De)return!1;return!0},he=t.Utils.cosAsinBtranform=function(B,fe){var pe,ue;return pe=B.args[0],ue=fe.args[0],e.parse(R("(sin(({0})+({1}))-sin(({0})-({1})))/2",pe,ue))},et=t.Utils.cosAsinAtranform=function(B,fe){if(Number(fe.power)!==1)return e.multiply(B,fe);var pe;return pe=B.args[0],e.parse(R("(sin(2*({0})))/2",pe))},Lt=t.Utils.cosAsinBtranform=function(B,fe){var pe,ue;return pe=B.args[0],ue=fe.args[0],e.parse(R("(cos(({0})+({1}))-cos(({0})-({1})))/2",pe,ue))},H=t.Utils.trigTransform=function(B){for(var fe={},pe,ue,st=new h(1),se=0,te=B.length;se<te;se++)if(pe=B[se],pe.group===De){var D=pe.fname;D===c&&fe[d]?(fe[d].args[0].toString()!==pe.args[0].toString()?ue=he(pe,fe[d]):ue=et(pe,fe[d]),delete fe[d],st=e.multiply(st,ue)):D===d&&fe[c]?(fe[c].args[0].toString()!==pe.args[0].toString()?ue=he(pe,fe[c]):ue=et(pe,fe[c]),delete fe[c],st=e.multiply(st,ue)):D===d&&fe[d]?(fe[d].args[0].toString()!==pe.args[0].toString()?(ue=Lt(pe,fe[d]),delete fe[d]):(ue=e.multiply(pe,fe[d]),delete fe[d]),st=ue):fe[D]=pe}else st=e.multiply(st,pe);for(var re in fe)st=e.multiply(st,fe[re]);return st};t.Settings.integration_depth=10,t.Settings.max_lim_depth=10;var P=t.Calculus={version:"1.4.6",sum:function(B,fe,pe,ue){if(fe.group!==t.groups.S)throw new t.exceptions.NerdamerTypeError("Index must be symbol. "+L(fe)+" provided");fe=fe.value;var st;if(t.Utils.isNumericSymbol(pe)&&t.Utils.isNumericSymbol(ue)){var se=ue-pe<200?"":"PARSE2NUMBER";pe=Number(pe),ue=Number(ue),st=t.Utils.block(se,function(){for(var te=B.text(),D={"~":!0},re=new t.Symbol(0),J=pe;J<=ue;J++){D[fe]=new h(J);var Ee=e.parse(te,D);re=e.add(re,Ee)}return re})}else st=e.symfunction("sum",arguments);return st},product:function(B,fe,pe,ue){if(fe.group!==t.groups.S)throw new t.exceptions.NerdamerTypeError("Index must be symbol. "+L(fe)+" provided");fe=fe.value;var st;if(t.Utils.isNumericSymbol(pe)&&t.Utils.isNumericSymbol(ue)){var se=ue-pe<200?"":"PARSE2NUMBER";st=t.Utils.block(se,function(){pe=Number(pe),ue=Number(ue.multiplier);for(var te=B.text(),D={},re=new t.Symbol(1),J=pe;J<=ue;J++)D[fe]=new h(J),re=e.multiply(re,e.parse(te,D));return re})}else st=e.symfunction("product",arguments);return st},diff:function(B,fe,pe){if(t.Utils.isVector(B)){var ue=new t.Vector([]);return B.each(function(Ne){ue.elements.push(P.diff(Ne,fe,pe))}),ue}else if(t.Utils.isMatrix(B)){var st=new t.Matrix;return B.each(function(Ne,We,ae){st.set(We,ae,P.diff(Ne,fe,pe))}),st}var se=l(fe)?fe.text():fe;if(pe=l(pe)?pe.multiplier:pe||1,se===void 0&&(se=t.Utils.variables(B)[0]),B.group===De&&B.fname===j){var te=B.args[0],D=B.power.clone();(te.group!==de||te.group!==ze)&&(te.power=l(te.power)?e.multiply(te.power,e.multiply(new h(1/2)),D):te.power.multiply(new r(.5)).multiply(D),te.multiplier=te.multiplier.multiply(B.multiplier)),B=te}if(B.group===De&&!l(B.power)){var re=xe(e.parse(B)),J=P.diff(B.args[0].clone(),se);B=e.multiply(re,J)}else B=xe(B);return pe>1&&(pe--,B=P.diff(B,fe,pe)),B;function Ee(Ne){return(Ne.value===se||Ne.contains(se,!0))&&(Ne.multiplier=Ne.multiplier.multiply(Ne.power),Ne.power=Ne.power.subtract(new r(1)),Ne.power.equals(0)&&(Ne=h(Ne.multiplier))),Ne}function xe(Ne){var We=Ne.group,ae,Ge,He;if(We===de||We===ve&&Ne.value!==se||We===ze)Ne=h(0);else if(We===ve)Ne=Ee(Ne);else if(We===ee){var ge=Ne.multiplier.clone();Ne.toUnitMultiplier();var Je=e.multiply(Ke(Ne),Ee(Ne));return Je.multiplier=Je.multiplier.multiply(ge),Je}else if(We===De&&Ne.power.equals(1))switch(Ne.fname){case Oe:He=Ne.clone(),Ne=Ne.args[0].clone(),Ne.power=Ne.power.negate(),Ne.multiplier=He.multiplier.divide(Ne.multiplier);break;case c:Ne.fname=d,Ne.multiplier.negate();break;case d:Ne.fname=c;break;case u:Ne.fname=f,Ne.power=new r(2);break;case f:Ne=Ce(Ne,u);break;case v:Ne=Ce(Ne,"-cot");break;case I:Ne.fname=v,Ne.multiplier.negate(),Ne.power=new r(2);break;case q:Ne=e.parse("(sqrt(1-("+L(Ne.args[0])+")^2))^(-1)");break;case V:Ne=e.parse("-(sqrt(1-("+L(Ne.args[0])+")^2))^(-1)");break;case Q:Ne=e.parse("(1+("+L(Ne.args[0])+")^2)^(-1)");break;case at:ge=Ne.multiplier.clone(),Ne.toUnitMultiplier(),Ge=Ne.args[0].clone(),Ge.toUnitMultiplier(),Ne=e.parse(M(L(Ne.args[0]))+"/abs"+M(L(Ge))),Ne.multiplier=ge;break;case"parens":Ne=h(1);break;case"cosh":Ne.fname="sinh";break;case"sinh":Ne.fname="cosh";break;case yt:Ne.fname=Ue,Ne.power=new r(2);break;case Ue:Ne=Ce(Ne,"-tanh");break;case me:var gt=String(Ne.args[0]);return e.parse("-coth("+gt+")*csch("+gt+")");case Le:var gt=String(Ne.args[0]);return e.parse("-csch("+gt+")^2");case"asinh":Ne=e.parse("(sqrt(1+("+L(Ne.args[0])+")^2))^(-1)");break;case"acosh":Ne=e.parse("(sqrt(-1+("+L(Ne.args[0])+")^2))^(-1)");break;case"atanh":Ne=e.parse("(1-("+L(Ne.args[0])+")^2)^(-1)");break;case Ve:var gt=String(Ne.args[0]);Ne=e.parse("-1/(sqrt(1/("+gt+")^2-1)*("+gt+")^2)");break;case Nt:Ne=e.parse("-1/(("+Ne.args[0]+")^2-1)");break;case lt:var gt=String(Ne.args[0]);Ne=e.parse("-1/(sqrt(1/("+gt+")^2+1)*("+gt+")^2)");break;case le:var gt=String(Ne.args[0]);Ne=e.parse("1/(sqrt(1-1/("+gt+")^2)*("+gt+")^2)");break;case ye:var gt=String(Ne.args[0]);Ne=e.parse("-1/(sqrt(1-1/("+gt+")^2)*("+gt+")^2)");break;case Ae:Ne=e.parse("-1/(("+Ne.args[0]+")^2+1)");break;case"S":var gt=String(Ne.args[0]);Ne=e.parse("sin((pi*("+gt+")^2)/2)");break;case"C":var gt=String(Ne.args[0]);Ne=e.parse("cos((pi*("+gt+")^2)/2)");break;case"Si":var gt=Ne.args[0];Ne=e.parse("sin("+gt+")/("+gt+")");break;case"Shi":var gt=Ne.args[0];Ne=e.parse("sinh("+gt+")/("+gt+")");break;case"Ci":var gt=Ne.args[0];Ne=e.parse("cos("+gt+")/("+gt+")");break;case"Chi":var gt=Ne.args[0];Ne=e.parse("cosh("+gt+")/("+gt+")");break;case"Ei":var gt=Ne.args[0];Ne=e.parse("e^("+gt+")/("+gt+")");break;case"Li":var gt=Ne.args[0];Ne=e.parse("1/"+a.LOG+"("+gt+")");break;case"erf":Ne=e.parse("(2*e^(-("+Ne.args[0]+")^2))/sqrt(pi)");break;case"atan2":var ne=String(Ne.args[0]),Se=String(Ne.args[1]);Ne=e.parse("("+Se+")/(("+Se+")^2+("+ne+")^2)");break;case"sign":Ne=new h(0);break;case"sinc":Ne=e.parse(R("(({0})*cos({0})-sin({0}))*({0})^(-2)",Ne.args[0]));break;case a.LOG10:Ne=e.parse("1/(("+Ne.args[0]+")*"+a.LOG+"(10))");break;default:Ne=e.symfunction("diff",[Ne,fe])}else if(We===Te||We===De&&l(Ne.power)){var qe;We===Te?qe=Ne.value:We===De&&Ne.contains(se)?qe=Ne.fname+M(L(Ne.args[0])):qe=Ne.value+M(L(Ne.args[0])),ae=e.multiply(e.parse(Oe+M(qe)),Ne.power.clone()),Ge=P.diff(e.multiply(e.parse(Oe+M(qe)),Ne.power.clone()),se),Ne=e.multiply(Ne,Ge)}else if(We===De&&!Ne.power.equals(1))Ge=Ne.clone(),Ge.toLinear(),Ge.toUnitMultiplier(),Ne=e.multiply(Ee(Ne.clone()),xe(Ge));else if(We===Qe||We===Ie){var Be=Ne.clone(),ct=new h(0);for(var wt in Ne.symbols)ct=e.add(ct,P.diff(Ne.symbols[wt].clone(),se));Ne=e.multiply(Ee(Be),ct)}return Ne.updateHash(),Ne}function Ce(Ne,We,ae){return e.multiply(Ne,e.parse(We+M(ae||L(Ne.args[0]))))}function Ke(Ne){for(var We=Ne.collectSymbols(),ae=new h(0),Ge=We.length,He=0;He<Ge;He++){for(var ge=P.diff(We[He].clone(),se),Je=0;Je<Ge;Je++)He!==Je&&(ge=e.multiply(ge,We[Je].clone()));ae=e.add(ae,ge)}return ae}},integration:{u_substitution:function(B,fe){function pe(ne,Se,qe){var Be=P.diff(Se,fe),ct=qe?qe(ne,Se):e.divide(ne.clone(),Be);return ct.contains(fe,!0)?null:ct}function ue(ne,Se){var qe=P.integrate(e.symfunction(ne,[new h(re)]),re,0);return qe=qe.sub(new h(re),Se),qe.updateHash(),qe}var st=B[0].clone(),se=B[1].clone(),te=st.group,D=se.group,re="__u__",J;if(te===De&&D!==De){var Ee=st.args[0];if(J=pe(se,Ee.clone()),J)return e.multiply(J,ue(st.fname,Ee));if(J=pe(se,st),J)return P.integration.poly_integrate(st)}else if(D===De&&te!==De){var Ee=se.args[0];if(J=pe(st,Ee.clone()),J)return e.multiply(J,ue(se.fname,Ee))}else if(te===De&&D===De){if(J=pe(st.clone(),se.clone()),J||(J=pe(se.clone(),st.clone()),J))return e.multiply(P.integration.poly_integrate(se),J)}else if(te===Te&&D!==Te){var xe=st.power;if(J=pe(se,xe.clone()),!J){var Ce=P.integration.decompose_arg(xe.clone(),fe),Ke=P.diff(Ce[2].clone(),fe),Ne=P.integration.decompose_arg(Ke.clone(),fe);if(e.multiply(Ce[1],Ne[1]).power.equals(se.power)){var We=e.divide(Ce[0].clone(),Ne[0].clone()),ae=e.multiply(We.clone(),e.pow(new h(st.value),e.multiply(Ce[0],new h(re))));return ae=e.multiply(ae,new h(re)),P.integration.by_parts(ae,re,0,{}).sub(re,Ce[1].clone())}}var Ge=P.integrate(st.sub(xe.clone(),new h(re)),re,0),He=e.multiply(Ge.sub(new h(re),xe),J);return He}else if(D===Te&&te!==Te){var xe=se.power;J=pe(st,xe.clone());var Ge=P.integrate(se.sub(xe,new h(re)),re,0);return e.multiply(Ge.sub(new h(re),xe),J)}else if(st.isComposite()||se.isComposite()){var ge=function(ne,Se){var qe=P.diff(Se,fe),Be=t.Algebra.Factor.factor(ne),ct=t.Algebra.Factor.factor(qe),wt=e.divide(Be,ct);return wt},Je=st.isComposite()?st.clone().toLinear():st.clone(),gt=se.isComposite()?se.clone().toLinear():se.clone();if(J=pe(Je.clone(),gt.clone(),ge),J)return e.multiply(P.integration.poly_integrate(se),J);if(J=pe(gt.clone(),Je.clone(),ge),J)return e.multiply(P.integration.poly_integrate(st),J)}},poly_integrate:function(B){var fe=B.power.toString(),pe=B.multiplier.toDecimal(),ue=B.toUnitMultiplier().toLinear();return Number(fe)===-1?e.multiply(new h(pe),e.symfunction(Oe,[ue])):e.parse(R("({0})*({1})^(({2})+1)/(({2})+1)",pe,ue,fe))},stop:function(B){throw B=B||"Unable to compute integral!",t.Utils.warn(B),new Ct(B)},partial_fraction:function(B,fe,pe,ue){l(fe)||(fe=e.parse(fe));var st,se;return st=new h(0),se=t.Algebra.PartFrac.partfrac(B,fe),se.group===ee&&se.isLinear()?(se.each(function(te){te.isLinear()||P.integration.stop()}),se.each(function(te){st=e.add(st,P.integrate(te,fe,pe,ue))})):st=e.add(st,P.integrate(se,fe,pe,ue)),st},get_udv:function(B){var fe=[[],[],[],[],[]],pe=function(Ee){var xe=Ee.group;if(xe===De){var Ce=Ee.fname;t.Utils.in_trig(Ce)||t.Utils.in_htrig(Ce)?fe[3].push(Ee):t.Utils.in_inverse_trig(Ce)?fe[1].push(Ee):Ce===Oe?fe[0].push(Ee):P.integration.stop()}else xe===ve||Ee.isComposite()&&Ee.isLinear()||xe===ee&&Ee.isLinear()?fe[2].push(Ee):xe===Te||Ee.isComposite()&&!Ee.isLinear()?fe[4].push(Ee):P.integration.stop()};B.group===ee?B.each(function(Ee){pe(h.unwrapSQRT(Ee,!0))}):pe(B);for(var ue,st=new h(1),se=0;se<5;se++){var te=fe[se],D,re=te.length;if(re>0){if(re>1){D=new h(1);for(var J=0;J<re;J++)D=e.multiply(D,te[J].clone())}else D=te[0].clone();ue?st=e.multiply(st,D):(ue=D,ue.multiplier=ue.multiplier.multiply(B.multiplier))}}return[ue,st]},trig_sub:function(B,fe,pe,ue,st,se){st=st||P.integration.decompose_arg(B.clone().toLinear(),fe);var te=st[3],D=st[2],re=st[0],J=st[1];if(J.power.equals(2)&&re.greaterThan(0)){var Ee=t.Utils.getU(B),xe=e.parse(u+M(Ee)),Ce=e.parse(f+M(Ee)+"^2"),Ke=e.multiply(B.sub(J,xe),Ce),Ne=P.integrate(Ke,Ee,pe,ue).sub(xe,J);return t.Utils.clearU(xe),Ne}},by_parts:function(B,fe,pe,ue){ue.previous=ue.previous||[];var st,se,te,D,re,J,Ee,xe,Ce,Ke,Ne,We;if(st=P.integration.get_udv(B),se=st[0],te=st[1],D=h.unwrapSQRT(e.expand(P.diff(se.clone(),fe)),!0),Ne=D.clone().stripVar(fe),D=e.divide(D,Ne.clone()),re=P.integrate(te.clone(),fe,pe||0),J=e.multiply(re.clone(),D),We=J.toString(),ue.previous.indexOf(We)!==-1&&t.Utils.in_trig(se.fname)&&te.isE())return ue.is_cyclic=!0,new h(1);if(ue.previous.push(We),Ee=e.multiply(se,re),Ke=J.multiplier.clone(),J.toUnitMultiplier(),Ce=e.multiply(P.integrate(J.clone(),fe,pe,ue),Ne),Ce.multiplier=Ce.multiplier.multiply(Ke),xe=e.subtract(Ee,Ce),ue.is_cyclic&&(ue.previous.pop(),ue.previous.length===0)){xe=e.expand(xe);var ae=new h(0);xe.each(function(Ge){Ge.contains(fe)||(ae=e.add(ae,Ge.clone()))}),xe=e.divide(e.subtract(xe,ae.clone()),e.subtract(new h(1),ae))}return xe},decompose_arg:t.Utils.decompose_fn},integrate:function(B,fe,pe,ue){if(!fe){var st=t.Utils.variables(B);st.length===1&&(fe=st[0]),fe=fe||"x"}if(t.Utils.isVector(B)){var se=new t.Vector([]);return B.each(function(te){se.elements.push(P.integrate(te,fe))}),se}return isNaN(fe)||e.error("variable expected but received "+fe),B.isConstant(!0)?e.multiply(B.clone(),e.parse(fe)):(ue=ue||{},t.Utils.block("PARSE2NUMBER",function(){pe=pe||0;var te=l(fe)?fe.toString():fe,D=h.unwrapSQRT(B.clone(),!0),re=D.group,J;try{if(++pe>t.Settings.integration_depth&&P.integration.stop("Maximum depth reached. Exiting!"),!D.contains(te,!0))J=e.multiply(D.clone(),e.parse(te));else if(re===ve)J=P.integration.poly_integrate(D,te,pe);else if(re===Te)if(D.previousGroup===De&&!(D.fname==="sqrt"||D.fname===a.PARENTHESIS)&&P.integration.stop(),D.contains(te)&&D.previousGroup!==De)if(D.power.contains(te))P.integration.stop();else{var Ee=P.diff(D.clone().toLinear(),te);Ee.contains(te)&&P.integration.stop(),J=P.integration.poly_integrate(D,te,pe)}else{var xe=P.diff(D.power.clone(),te);if(xe.contains(te)){var Ce=xe.stripVar(te),Ke=e.divide(xe.clone(),Ce.clone());if(Ke.group===ve&&Ke.isLinear())return Ce.multiplier=Ce.multiplier.divide(new r(2)),e.parse(R("({2})*(sqrt(pi)*erf(sqrt(-{0})*{1}))/(2*sqrt(-{0}))",Ce,te,D.multiplier));P.integration.stop()}if(D.isE())xe.isLinear()?J=D:xe.isE()&&xe.power.group===ve&&xe.power.power.equals(1)?J=e.multiply(e.symfunction("Ei",[D.power.clone()]),D.power):P.integration.stop();else{var Ne=e.symfunction(Oe,[e.parse(D.value)]);J=e.divide(D,Ne)}J=e.divide(J,xe)}else if(D.isComposite()&&D.isLinear()){var We=e.parse(D.multiplier);D.toUnitMultiplier(),J=new h(0),D.each(function(Rn){J=e.add(J,P.integrate(Rn,te,pe))}),J=e.multiply(We,J)}else if(re===Qe)if(D.power.greaterThan(1)&&(D=e.expand(D)),D.power.equals(1))J=new h(0),D.each(function(Rn){J=e.add(J,P.integrate(Rn,te,pe))},!0);else{var ae=Number(D.power),We=D.multiplier.clone();D.toUnitMultiplier();var Ge=D.clone().toLinear(),He=P.integration.decompose_arg(Ge,te),ge=He[3],Je=He[2],xe=He[0],Ke=He[1];if(ae===-1&&Ke.group!==Ie&&Ke.power.equals(2)){var gt=_(ge)?ge>0:!0;if(Ke.group===ve&&Ke.power.equals(2)&>){var ne=function(Xi){var jr=new h(1);return Xi.each(function(Kn){jr=e.multiply(jr,Kn.fname==="abs"?Kn.args[0]:Kn)}),jr},Se=xe.clone(),qe=ge.clone();Se=e.pow(Se,new h(1/2)),qe=e.pow(qe,new h(1/2));var Ne=e.multiply(ne(qe),ne(Se)),Be=e.symfunction(Q,[e.divide(e.multiply(xe,Ke.toLinear()),Ne.clone())]);J=e.divide(Be,Ne)}else if(Ke.group===ve&&Ke.isLinear())J=e.divide(P.integration.poly_integrate(D),xe);else if(Ke.power.equals(4)){var Se,qe,ct,wt,Mt,qt,Ft,Tt,Ze,ht,Et,Pt,Ye=M;Se=e.parse(j+Ye(xe)+"*"+te+"^2"),qe=e.parse(j+Ye(2)+"*"+Ye(xe)+"^"+Ye("1/4")+"*"+Ye(ge)+"^"+Ye("1/4")+"*"+te),ct=e.parse(j+Ye(ge)),Ft=e.add(e.add(Se.clone(),qe.clone()),ct.clone()),Tt=e.add(e.subtract(Se,qe),ct),wt=e.parse(j+Ye(2)+"*"+Ye(ge)+"^"+Ye("3/4")),Mt=e.parse(j+Ye(ge)+"*"+Ye(ge)+"^"+Ye("1/4")+"*"+te),qt=e.parse(2+"*"+Ye(ge)+"*"+j+Ye(2)+"*"+Ye(ge)+"^"+Ye("1/4")),Et=e.divide(e.subtract(wt.clone(),Mt.clone()),e.multiply(qt.clone(),Tt)),Pt=e.divide(e.add(wt,Mt),e.multiply(qt,Ft.clone())),J=e.add(P.integrate(Et,te,pe,ue),P.integrate(Pt,te,pe,ue))}else J=P.integration.partial_fraction(D,te,pe)}else if(ae===-1/2)if(Ke.group===ve&&Ke.power.equals(2))if(Je.multiplier.lessThan(0)&&!ge.multiplier.lessThan(0))if(xe.negate(),ge.isConstant()&&xe.isConstant()){var Ne=e.symfunction(j,[xe.clone()]),nt=e.symfunction(j,[e.multiply(xe.clone(),ge)]);J=e.divide(e.symfunction(q,[e.divide(Je.toLinear(),nt)]),Ne)}else{var O=e.symfunction(j,[xe]),Z=e.multiply(O.clone(),Ke.clone().toLinear());J=e.divide(e.symfunction(Q,[e.divide(Z,e.symfunction(j,[Ge.clone()]))]),O)}else P.integration.stop();else P.integration.stop();else if(ae===1/2&&Ke.power.equals(2)&&xe.greaterThan(0))P.integration.stop();else if(Ke.isLinear()&&Ke.group!==Ie)J=e.divide(P.integration.poly_integrate(D),xe);else if(Ke.power.equals(2)&&xe.greaterThan(0)){var g,E,T,s,G,Y,x,C,U;g=e.parse(j+M(xe)),E=e.parse(j+M(ge)),T=e.multiply(g.clone(),E.clone()).invert(),s=e.pow(ge,new h(D.power)),U=t.Utils.getU(D),x=e.multiply(T,Ke.clone().toLinear()),C=e.parse(Q+M(x));var G=(Math.abs(D.power)-1)*2,Y=P.integrate(e.parse(c+M(U)+"^"+G));return t.Utils.clearU(U),e.multiply(Y.sub(U,C),s)}else if(D.group!==ee&&!D.power.lessThan(0))J=P.integration.by_parts(D,te,pe,ue);else{var Be=D.clone().toLinear(),ce=t.Algebra.Factor.factor(Be),Me=ce.toString()!==Be.toString();if(t.Algebra.degree(Be,e.parse(te)).equals(2)&&!Me)try{var Ft,dt,x,_t;_t=t.Algebra.sqComplete(Be,te),x=t.Utils.getU(Be),Ft=_t.f.sub(_t.a,x),dt=e.pow(Ft,e.parse(D.power)),J=P.integrate(dt,x).sub(x,_t.a)}catch(Xi){P.integration.stop()}else J=P.integration.partial_fraction(D,te,pe,ue)}J.multiplier=J.multiplier.multiply(We)}else if(re===De){var $t=D.args[0],We=D.multiplier.clone();D.toUnitMultiplier();var He=P.integration.decompose_arg($t,te),xe=He[0],Ke=He[1],i=D.fname;if(i===Oe||i===q||i===V||i===Q&&Ke.isLinear()){var ae=D.power.toString();if(_(ae)&&(pe=pe-ae),!$t.isComposite())J=e.multiply(e.parse(We),P.integration.by_parts(D,te,pe,ue));else{var x=t.Utils.getU(D),Be=e.pow(e.parse(Oe+M(x)),new h(ae)),S=P.diff($t,te),A=e.multiply(Be,S),Y=P.integrate(A,x,pe,ue);J=e.multiply(e.parse(We),Y.sub(x,$t))}}else if(i===u&&D.power.lessThan(0)){var W=D.clone();return W.power.negate(),W.fname=I,e.multiply(e.parse(We),P.integrate(W,te,pe))}else{if(!xe.contains(te,!0)&&D.isLinear())if(i===at){var Ke=e.divide($t.clone(),xe.clone());if(Ke.group===ve&&!Ke.power.lessThan(0))if(t.Utils.even(Ke.power))J=P.integrate($t,te,pe);else{var ke=P.integrate(Ke,te,pe);ke.power=ke.power.subtract(new r(1)),J=e.multiply(e.multiply(e.symfunction(at,[Ke.toLinear()]),ke),xe)}else P.integration.stop()}else{var Fe=D.args[0].group,ft=P.integration.decompose_arg($t,te);switch((!(Fe===Qe||Fe===ve||Fe===ee)||!ft[1].power.equals(1)||$t.hasFunc())&&P.integration.stop(),i){case c:J=e.symfunction(d,[$t]);break;case d:J=e.symfunction(c,[$t]),J.negate();break;case u:J=e.parse(R(a.LOG+"(sec({0}))",$t));break;case f:J=e.parse(R(a.LOG+"(tan({0})+sec({0}))",$t));break;case v:J=e.parse(R("-"+a.LOG+"(csc({0})+cot({0}))",$t));break;case I:J=e.parse(R(a.LOG+"(sin({0}))",$t));break;case je:J=e.symfunction(it,[$t]);break;case it:J=e.symfunction(je,[$t]);break;case yt:J=e.parse(R(a.LOG+"(cosh({0}))",$t));break;case le:J=P.integration.by_parts(D,te,pe,ue);break;case ye:J=P.integration.by_parts(D,te,pe,ue);break;case Ae:J=P.integration.by_parts(D,te,pe,ue);break;case Ve:J=P.integration.by_parts(D,te,pe,ue);break;case lt:J=P.integration.by_parts(D,te,pe,ue);break;case Nt:J=P.integration.by_parts(D,te,pe,ue);break;case Ue:J=e.parse(R("atan(sinh({0}))",$t));break;case me:J=e.parse(R(a.LOG+"(tanh(({0})/2))",$t));break;case Le:J=e.parse(R(a.LOG+"(sinh({0}))",$t));break;case ut:J=P.integrate(e.parse(R("e^({0})",$t)),te,pe);break;case"S":var $t=D.args[0].clone(),Vt=P.integration.decompose_arg($t,te),zt=Vt[1],oe=Vt[0],St=Vt[3];J=e.parse(R("(cos((1/2)*pi*(({1})+({0})*({2}))^2)+pi*(({1})+({0})*({2}))*S(({1})+({0})*({2})))/(({0})*pi)",oe,St,Ke));break;case"C":var $t=D.args[0].clone(),Vt=P.integration.decompose_arg($t,te),zt=Vt[1],oe=Vt[0],St=Vt[3];J=e.parse(R("(pi*(({1})+({0})*({2}))*C(({1})+({0})*({2}))-sin((1/2)*pi*(({1})+({0})*({2}))^2))/(({0})*pi)",oe,St,zt));break;case"erf":var $t=D.args[0].clone(),Vt=P.integration.decompose_arg($t,te),zt=Vt[1],oe=Vt[0];J=e.parse(R("e^(-(({2}))^2)/(({0})*sqrt(pi))+(1/({0})+({1}))*erf(({2}))",oe,zt,$t));break;case"sign":J=e.multiply(D.clone(),$t.clone());break;default:P.integration.stop()}J=e.divide(J,xe)}else if(Ke.isLinear())if(i===c||i===d){var ae=Number(D.power);if(ae<0)D.fname=i===d?v:f,D.invert().updateHash(),J=P.integrate(D,te,pe);else{var $t=D.args[0],$=D.clone(),Ot=D.clone(),kt=new h((ae-1)/ae),xt=e.multiply(xe.clone(),new h(ae)).invert();$.power=$.power.subtract(new r(1)),Ot.power=Ot.power.subtract(new r(2));var Ee=e.symfunction(i===c?d:c,[$t.clone()]);i===d&&Ee.negate(),J=e.add(e.multiply(e.multiply(xt,$),Ee),e.multiply(kt,P.integrate(e.parse(Ot),te,pe)))}}else if(i===u||i===I){if(D.args[0].isLinear(te)){var G=D.power.subtract(new r(1)).toString(),At=D.clone().toUnitMultiplier(),Gt=e.parse(R((i===I?"-":"")+"1/({2}*{0})*{3}({1})^({0})",G,$t,xe,i));At.power=At.power.subtract(new r(2)),At.power.equals(0)&&(At=e.parse(At)),J=e.subtract(Gt,P.integrate(At,te,pe))}}else if(i===f||i===v){var Kt=D.power.subtract(new r(1)).toString(),Jt=D.power.subtract(new r(2)).toString(),Tt=i===f?u:I,At=D.clone().toUnitMultiplier(),cn=R((i===v?"-":"")+"1/({0}*{1})*{4}({3})^({2})*{5}({3})",xe,Kt,Jt,$t,i,Tt),Gt=e.parse(cn);At.power=At.power.subtract(new r(2)),At.power.equals(0)&&(At=e.parse(At)),J=e.add(Gt,e.multiply(new h(Jt/Kt),P.integrate(At,te,pe)))}else(i===it||i===je)&&D.power.equals(2)?J=P.integrate(D.fnTransform(),te,pe):P.integration.stop();else P.integration.stop();J.multiplier=J.multiplier.multiply(We)}}else if(re===Ie)J=P.integration.partial_fraction(D,te,pe);else if(re===ee){var nn=D.getDenom();nn.group===ve&&(D=e.expand(D));var un=D.stripVar(te),o=e.divide(D.clone(),un.clone());if(un.contains(te)&&(o=e.multiply(o,un),un=new h(1)),o.group!==ee){if(o.equals(1))return P.integrate(e.expand(D),te,pe);o.clone().toLinear().isPoly(!0)&&t.Utils.variables(o).length>1&&(o=t.Algebra.Factor.factor(o)),J=P.integrate(o,te,pe)}else{var y=o.collectSymbols().sort(function(Rn,Yn){return Rn.group===Yn.group?Number(Rn.power)===Number(Yn.power)?Rn<Yn?1:-1:Yn.power-Rn.power:Yn.group-Rn.group}).map(function(Rn){var Yn=h.unwrapSQRT(Rn,!0);return Yn.fname===ut?e.parse(R("({1})*e^({0})",Yn.args[0],Yn.multiplier)):Yn}),F=y.length;if(D.power<0){if(F===2)return P.integrate(e.expand(D),te,pe,ue)}else if(F===2){try{J=P.integration.u_substitution(y,te)}catch(Rn){}if(!J){var X=y[0].group,w=y[1].group,b=y[0],z=y[1],_e=b.fname,tt=z.fname;if(D=e.multiply(b.clone(),z.clone()),X===De&&w===De)if(_e===Oe||tt===Oe)J=P.integration.by_parts(D.clone(),te,pe,ue);else{y.sort(function(Yn,Hr){return Hr.fname>Yn.fname});var be=b.args[0];(!be.isLinear()||!(be.group===Qe||be.group===ee||be.group===ve))&&P.integration.stop();var He=P.integration.decompose_arg(be,te);Ke=He[1],xe=He[0],Ke.isLinear()||P.integration.stop();var $e=z.args[0];if(be.equals($e))if(_e===d&&tt===c||_e===c&&tt===d)if(b.power.lessThan(0)&&P.integration.stop(),_e===d&&b.power.add(z.power).equals(0))b.fname=u,b.updateHash(),J=P.integrate(b,te,pe);else if(ie(b.power)&&tt===c&&z.power.lessThan(0)){var G=Number(b.power)/2,pt=e.parse(R("(1-cos({0})^2)^({1})",b.args[0],G));J=P.integrate(e.expand(e.multiply(pt,z.clone())),te,pe,ue)}else if(ie(b.power)&&tt===d&&z.power.lessThan(0)){var G=Number(b.power)/2,pt=e.parse(R("(1-sin({0})^2)^({1})",b.args[0],G));J=P.integrate(e.expand(e.multiply(pt,z.clone())),te,pe,ue)}else{var vt=t.Utils.even(b.power),p=t.Utils.even(z.power);if(J=new h(0),!vt||!p){var x,At,Re;vt?(x=b,At=z):(x=z,At=b);var N=x.fname===c?-1:1,G=At.power,we=(G-1)/2,Re=e.parse("(1-"+x.fname+t.Utils.inBrackets(be)+"^2)^"+we),W=e.expand(e.multiply(new h(N),e.multiply(x.clone(),Re)));W.each(function(jr){J=e.add(J,P.integration.poly_integrate(jr.clone()))})}else{var rt=function(jr){var Kn=jr.power,S1=Kn/2,G2;return jr.fname===c?G2="((1/2)+(cos(2*("+jr.args[0]+"))/2))^"+S1:G2="((1/2)-(cos(2*("+jr.args[0]+"))/2))^"+S1,e.parse(G2)},xe=rt(b),ge=rt(z),Ee=e.multiply(xe,ge),W=e.expand(Ee);return W.each(function(jr){J=e.add(J,P.integrate(jr,te,pe))}),e.multiply(J,un)}}else if(_e===f&&tt===u&&Ke.isLinear()&&z.isLinear())J=e.parse(R("sec({0})^({1})/({1})",b.args[0],b.power));else if(_e===u&&tt===f&&Ke.isLinear())if(b.isLinear()&&z.isLinear())J=e.divide(e.symfunction(f,[be.clone()]),xe);else if(ie(b.power)){var ae=Number(b.power)/2,Ee=e.parse(R("(sec({0})^2-1)^({1})",b.args[0],ae));J=P.integrate(e.expand(e.multiply(Ee,z)),te,pe)}else P.integration.stop();else if(_e===f&&tt===c)b.fname=c,b.invert().updateHash(),J=P.integrate(e.multiply(b,z),te,pe);else if(_e===d&&tt===v)z.fname=d,z.invert().updateHash(),J=P.integrate(e.multiply(b,z),te,pe);else if(_e===u&&(tt===c||tt===d)&&z.power.lessThan(0)){var Ee=e.multiply(b.fnTransform(),z);J=P.integrate(e.expand(Ee),te,pe)}else{var Ee=e.multiply(b.fnTransform(),z.fnTransform());J=P.integrate(e.expand(Ee),te,pe)}else if((_e===d||_e===c)&&(tt===d||tt===c))if(b.isLinear()&&z.isLinear())if(b.args[0].isLinear()&&z.args[0].isLinear()){var Je,mt;tt===d?(Je=b.args[0],mt=z.args[0]):(mt=b.args[0],Je=z.args[0]),Be=e.parse(R("(sin(({1})+({0}))+sin(({1})-({0})))/2",Je.toString(),mt.toString())),J=P.integrate(Be,te,pe)}else{var It=H(y);J=P.integrate(e.expand(It),te,pe)}else{var It=new h(1);y.map(function(F0){var Xi=F0.fnTransform();It=e.multiply(It,Xi)});var Ee=e.expand(It);J=P.integrate(Ee,te,pe),J.hasIntegral()&&(J=P.integrate(H(It.collectSymbols()),te,pe))}else P.integration.stop()}else if(X===De&&w===ve){var Bt=b.isLinear();if(b.fname===c&&Bt&&z.power.equals(-1))J=e.symfunction("Ci",[b.args[0]]);else if(b.fname===c&&z.power.equals(-1))J=P.integrate(e.multiply(b.fnTransform(),z.clone()),te,pe);else if(b.fname===it&&Bt&&z.power.equals(-1))J=e.symfunction("Chi",[b.args[0]]);else if(b.fname===it&&z.power.equals(-1))J=P.integrate(e.multiply(b.fnTransform(),z.clone()),te,pe);else if(b.fname===d&&Bt&&z.power.equals(-1))J=e.symfunction("Si",[b.args[0]]);else if(b.fname===d&&z.power.equals(-1))J=P.integrate(e.multiply(b.fnTransform(),z.clone()),te,pe);else if(b.fname===je&&Bt&&z.power.equals(-1))J=e.symfunction("Shi",[b.args[0]]);else if(b.fname===je&&z.power.equals(-1))J=P.integrate(e.multiply(b.fnTransform(),z.clone()),te,pe);else if(b.fname===Oe&&z.power.equals(-1))J=P.integration.poly_integrate(b,te,pe);else if(b.fname==="erf"){if(z.power.equals(1)){var Vt=P.integration.decompose_arg(b.args[0],te),oe=Vt[0],zt=Vt[1],$t=b.args[0].toString();J=e.parse(R("(e^(-(({2}))^2)*(sqrt(pi)*e^((({2}))^2)*(2*({0})^2*({1})^2-3)*erf(({2}))+2*({0})*({1})-2))/(4*sqrt(pi)*({0})^2)",oe,zt,$t))}}else J=P.integration.by_parts(D,te,pe,ue)}else if(X===Te&&w===ve){var Ke=_e===Oe?P.integration.decompose_arg(b.args[0],te)[1]:null;b.isE()&&(b.power.group===ve||b.power.group===ee)&&z.power.equals(-1)?J=e.symfunction("Ei",[b.power.clone()]):_e===Oe&&Ke.value===z.value?J=P.integration.poly_integrate(b,te,pe):J=P.integration.by_parts(D,te,pe,ue)}else if(X===Ie&&w===ve){if(z.value===b.value&&b.power.equals(-1)){var Rt=Math.min.apply(null,t.Utils.keys(b.symbols)),jt=Math.min(Rt,z.power),Ut=z.clone();Ut.power=new r(jt),z=e.divide(z,Ut.clone());var Ee=new h(0);b.each(function(Yn){Ee=e.add(Ee,e.divide(Yn.clone(),Ut.clone()))}),Ee.multiplier=b.multiplier,D=e.divide(z,Ee)}else D=e.expand(D);J=P.integration.partial_fraction(D,te,pe)}else if(X===Qe&&w===ve){var Be=b.clone().toLinear(),en=t.Algebra.degree(Be,e.parse(te)).equals(1);if(b.power.equals(-1/2)){var He=P.integration.decompose_arg(b.clone().toLinear(),te),xe=He[0].negate(),Ke=He[1],ge=He[3],Wt=Number(b.power),Qt=Number(z.power);if(_(Qt)&&t.Utils.even(Qt)&&Ke.power.equals(2)){var sn=e.divide(e.multiply(e.pow(ge.clone(),new h(2)),e.symfunction(j,[e.divide(ge.clone(),xe.clone())])),e.pow(xe.clone(),new h(2)));sn=e.multiply(sn,e.symfunction(j,[ge]).invert());var ln=e.parse("sin(u)");ln.power=ln.power.multiply(z.power);var Y=P.integrate(ln,"u",pe),dn=e.parse(q+"("+j+"("+xe+"/"+ge+")*"+te+")");J=e.multiply(sn,Y.sub(new h("u"),dn))}else if(Wt===-1/2){var En=function(jr,Kn){var S1=e.parse(P.integrate(jr,te,pe,ue).sub(te,R(Kn,te)));if(!S1.hasIntegral())return S1};Qt===-1?J=En(e.expand(e.expand(e.pow(e.multiply(b.invert(),z.invert()),new h(2)))).invert(),"sqrt(1-1/({0})^2)"):Qt===-2&&(J=En(e.sqrt(e.expand(e.divide(e.pow(D,new h(2)).invert(),e.pow(new h(te),new h(2))).negate())).invert(),"sqrt(1-1/({0})^2)"))}}else if(b.power.equals(-1)&&z.isLinear()&&en)J=P.integration.partial_fraction(D,te,pe);else if(!b.power.lessThan(0)&&_(b.power)){var vn=e.expand(b);J=new h(0),vn.each(function(Yn){Yn.group===Ie?Yn.each(function(Hr){J=e.add(J,P.integrate(e.multiply(z.clone(),Hr),te,pe))}):J=e.add(J,P.integrate(e.multiply(z.clone(),Yn),te,pe))})}else if(b.power.lessThan(-2))J=P.integration.by_parts(D,te,pe,ue);else if(b.power.lessThan(0)&&z.power.greaterThan(1)){var He=P.integration.decompose_arg(b.clone().toLinear(),te),xe=He[0].negate(),Ke=He[1],ge=He[3],Ge=b.clone().toLinear();if(Ke.group!==Ie&&Ke.isLinear()){var ae=Number(z.power),S="_u_",x=new h(S),Dt=e.expand(e.divide(e.pow(e.subtract(x.clone(),ge.clone()),new h(ae)),x.clone())),tn={};tn[S]=Ge;var hn=e.parse(Dt,tn);J=P.integrate(hn,te,0)}else if(z.power.greaterThan(Ke.power)||z.power.equals(Ke.power)){var pn=new t.Algebra.Classes.Factors;b=t.Algebra.Factor.coeffFactor(b.invert(),pn);var Nn=t.Algebra.divide(z,b);Nn.group!==ee?(J=new h(0),Nn.each(function(Kn){J=e.add(J,P.integrate(Kn,te,pe))}),pn.each(function(Kn){J=e.divide(J,Kn)}),J=e.expand(J)):J=P.integration.by_parts(D,te,pe,ue)}else J=P.integration.partial_fraction(D,te,pe)}else if(b.power.den.equals(2)){var Vt=P.integration.decompose_arg(b.clone().toLinear(),te),xe=Vt[3],Ke=Vt[1],ge=Vt[0],mt=Vt[2];if(Ke.power.equals(2)&&ge.lessThan(0)){xe.equals(1)||(un=e.multiply(un,e.pow(xe,new h(2))));var x=te,sn=e.divide(e.pow(ge.clone().negate(),new h(1/2)),e.pow(xe,new h(1/2))),S=e.symfunction(c,[new h(x)]),wn=e.pow(e.symfunction(c,[new h(x)]),new h(b.power.num)),Mn=e.pow(e.symfunction(d,[new h(x)]),new h(z.power)),xn=e.multiply(e.multiply(wn,S),Mn),Y=P.integrate(xn,x,pe);J=Y.sub(x,e.symfunction(q,[e.multiply(new h(te),sn)]))}else J=P.integration.partial_fraction(D,te,pe,ue)}else en&&(J=P.integration.partial_fraction(D,te,pe))}else if(b.isComposite()&&z.isComposite())if(J=new h(0),b.power.greaterThan(0)&&z.power.greaterThan(0)){var W=e.expand(D);W.each(function(Yn){J=e.add(J,P.integrate(Yn,te,pe))},!0)}else{var Wt=Number(b.power),Qt=Number(z.power);if(Wt<0&&Qt>0){var Ee=b;b=z,z=Ee}Wt===-1&&Qt===-1?J=P.integration.partial_fraction(D,te):b.each(function(Hr){var F0=e.multiply(Hr,z.clone()),Xi=P.integrate(F0,te,pe);J=e.add(J,Xi)})}else if(X===Qe&&y[0].power.greaterThan(0))b=e.expand(b),J=new h(0),b.each(function(Rn){J=e.add(J,P.integrate(e.multiply(Rn,z.clone()),te,pe))},!0);else if(X===De&&w===Te&&t.Utils.in_htrig(b.fname))b=b.fnTransform(),J=P.integrate(e.expand(e.multiply(b,z)),te,pe);else if(X===De&&w===Qe||w===De&&X===Qe){if(w===De&&X===Qe){var Ee=b;b=z,z=Ee}var S,An,ae,kt,Jn,ei;if(S=h.unwrapSQRT(P.diff(b.clone(),te),!0),An=h.unwrapSQRT(z,!0),S.power.equals(An.power)){if(ae=new h(z.power),Jn=S.clone().toLinear(),ei=z.clone().toLinear(),kt=t.Algebra.divide(Jn.toLinear(),ei),kt.isConstant()){var Xr=e.pow(kt,ae.negate());J=e.multiply(Xr,P.integration.poly_integrate(b.clone()))}}else J=P.integration.by_parts(D,te,pe,ue)}else{var $n=b.clone().toLinear(),Ri=z.clone().toLinear();X===Te&&w===Te&&b.power.contains(te)&&z.power.contains(te)&&!$n.contains(te)&&!Ri.contains(te)?J=e.parse(R("(({0})^(({2})*({4}))*({1})^(({3})*({4})))/(log(({0})^({2}))+log(({1})^({3})))",$n.toString(),Ri.toString(),b.power.multiplier.toString(),z.power.multiplier.toString(),te)):J=P.integration.by_parts(D,te,pe,ue)}}}else if(F===3&&(y[2].group===ve&&y[2].power.lessThan(2)||y[0].group===Qe)){var yi=y[0];if(yi.group===Qe){yi.power.greaterThan(1)&&(yi=e.expand(yi));var At=e.multiply(y[1],y[2]);J=new h(0),yi.each(function(Yn){var Hr=e.multiply(Yn,At.clone()),F0=P.integrate(Hr,te,pe);J=e.add(J,F0)},!0)}else J=P.integration.by_parts(D,te,pe,ue)}else if(Xe(y)){for(var Ee=new h(1),Fr=0,F=y.length;Fr<F;Fr++)Ee=e.multiply(Ee,y[Fr].fnTransform());Ee=e.expand(Ee),J=P.integrate(Ee,te,pe)}else{var It=H(y);J=P.integrate(e.expand(It),te,pe)}}J=e.multiply(J,un)}if(J)return J}catch(Rn){if(!(Rn instanceof Ct||Rn instanceof t.exceptions.DivisionByZero))throw Rn}return e.symfunction("integrate",[B,fe])},!1))},defint:function(B,fe,pe,ue){ue=ue||"x";var st=function(Ne,We,ae){try{return e.parse(Ne,We)}catch(He){var Ge=P.Limit.limit(Ne,ue,ae);return Ge}},se=t.Utils.variables(B),te=B.hasTrig(),D,re;if(se.length===1&&!ue&&(ue=se[0]),te||(re=P.integrate(B,ue)),!te&&!re.hasIntegral()){var J={},Ee={},xe,Ce;J[ue]=pe,Ee[ue]=fe,xe=st(re,J,pe,ue),Ce=st(re,Ee,fe,ue),D=e.subtract(xe,Ce)}else if(se.length===1&&fe.isConstant()&&pe.isConstant()){var Ke=t.Utils.build(B);D=new h(t.Math2.num_integrate(Ke,Number(fe),Number(pe)))}else D=e.symfunction("defint",[B,fe,pe,ue]);return D},Limit:{interval:function(B,fe){return e.parse(R("[{0}, {1}]",B,fe))},diverges:function(){return P.Limit.interval("-Infinity","Infinity")},divide:function(B,fe,pe,ue,st){if(!(st++>a.max_lim_depth)){var se=B.clone(),te=fe.clone();if(fe.fname===at){var D=B.sign(),re=ue.sign();if(ue.isInfinity)return e.multiply(new h(D),new h(re));if(ue.equals(0)){var J=e.parse(B.multiplier),Ee=e.parse(fe.multiplier);return e.divide(e.multiply(J,P.Limit.interval("-1","1")),Ee)}else P.Limit.diverges()}var xe=function(ne){if(t.Utils.isVector(ne)){for(var Se=0;Se<ne.elements.length;Se++)if(!ne.elements[Se].isInfinity)return!1;return!0}return ne.isInfinity},Ce=function(ne,Se){return t.Utils.isVector(ne)?!1:ne.equals(Se)},Ke;do{var Ne=K(P.Limit.limit(B.clone(),pe,ue,st)),We=K(P.Limit.limit(fe.clone(),pe,ue,st)),ae=xe(Ne)&&xe(We)||Ce(Ne,0)&&Ce(We,0);if(ae){var Ge=P.diff(B.clone(),pe),He=P.diff(fe.clone(),pe),ge=e.expand(e.divide(Ge,He));B=ge.getNum(),fe=ge.getDenom()}}while(ae);var Je=We.equals(0),gt=Number(te.power);return ue.isConstant(!0)&&Je?Ke=h.infinity(t.Utils.even(gt)&&Ne.lessThan(0)?-1:void 0):Je?Ke=P.Limit.diverges():Ke=e.divide(Ne,We),Ke}},rewriteToLog:function(B){var fe=B.power.clone();return B.toLinear(),e.pow(new h("e"),e.multiply(fe,e.symfunction(a.LOG+"",[B])))},getSubbed:function(B,fe,pe){var ue;B.group===Te&&(B=P.rewriteToLog(B));try{ue=B.sub(fe,pe)}catch(st){ue=B}return ue},isInterval:function(B){return t.Utils.isVector(B)},isConvergent:function(B){return!(P.Limit.isInterval(B)&&B.elements[0].isInfinity&&B.elements[1].isInfinity||B.containsFunction("limit"))},limit:function(B,fe,pe,ue){if(B.isLinear()&&B.isComposite()){var st=new h(0);return B.each(function(O){st=e.add(st,P.Limit.limit(O,fe,pe,ue))},!0),st}if(B=t.Algebra.Simplify.simplify(B),ue=ue||1,!(ue++>a.max_lim_depth)){var se=e.parse(B.multiplier);B.toUnitMultiplier();try{var te;if(B.isConstant(!0))te=B;else{var D={};D[fe]=pe;try{var re=e.parse(B.sub(fe,pe),D);(re.isConstant(!0)||re.isInfinity)&&(te=re)}catch(O){}if(!te){var J=B.getNum(),Ee=B.getDenom();if(Ee.isConstant(!0)){if(B.group===Te){var xe=B.clone().toLinear(),Ce=B.power.clone(),Ke=xe.getNum(),Ne=xe.getDenom(),We=t.Utils.decompose_fn(Ne,fe,!0);if(Ke.group===ve&&Ke.multiplier.isOne()&&We.ax.group===ve&&We.b.isConstant(!0)&&We.a.isOne()&&We.b.isConstant(!0))te=e.parse(R("(1/e^({0}))",We.b));else{var ae=P.Limit.rewriteToLog(B.clone()),Ge=ae.power.clone(),He=ae.clone().toLinear(),ge=P.Limit.limit(He,fe,pe,ue),Je=P.Limit.limit(Ge,fe,pe,ue);te=e.pow(ge,Je)}}else if(B.group===De&&B.args.length===1){var gt,ne=P.Limit.limit(B.args[0],fe,pe,ue);if(t.Utils.isVector(ne))return te=ne.map(function(O){var Z=B.clone();return Z.args[0]=O,P.Limit.limit(e.symfunction(B.fname,[O]),fe,pe,ue)}),e.multiply(se,te);if(ne.isConstant(!0)){var Se=e.symfunction(B.fname,[ne]);try{K(Se),gt=!0}catch(O){gt=!1}}if(gt)te=Se;else if(P.Limit.isConvergent(ne)){if(B.fname===Oe)switch(ne.toString()){case"0":te=h.infinity().negate();break;case"Infinity":te=h.infinity();break;case"-Infinity":te=h.infinity();break}else if((B.fname===c||B.fname===d)&&pe.isInfinity)te=P.Limit.interval(-1,1);else if(B.fname===u){var qe=B.args[0],Be=qe.getNum(),ct=qe.getDenom(),wt=Be.toUnitMultiplier();(pe.isInfinity||wt.equals("pi")&&ct.equals(2))&&(te=divergent())}else if(B.fname===a.FACTORIAL&&ne.isInfinity)return h.infinity()}}else if(B.group===ve){if(B.power>0)return e.parse(B,D);t.Utils.even(B.power)?te=h.infinity():te=P.Limit.diverges()}else if(B.group===ee){var Mt,qt,Ft=B.collectSymbols().sort(function(Z,g){return Z.group-g.group}),xe=Ft.pop();for(Mt=K(P.Limit.limit(xe,fe,pe,ue));Ft.length;){var Tt=Ft.pop();qt=K(P.Limit.limit(Tt,fe,pe,ue)),Mt.isInfinity||!P.Limit.isConvergent(Mt)&&qt.equals(0)||Mt.equals(0)&&P.Limit.isConvergent(qt)?(Tt.containsFunction(Oe)&&(Tt=[xe,xe=Tt][0]),Tt.invert(),Mt.isInfinity&&qt.isInfinity?Mt=h.infinity():Mt=P.Limit.divide(xe,Tt,fe,pe,ue)):(Mt=e.multiply(Mt,qt),xe=e.multiply(xe,Tt))}te=Mt}else if(B.isComposite()){var Ze;B.isLinear()||(B=e.expand(B)),te=new h(0);for(var Ft=B.collectSymbols().sort(function(Z,g){return g.group-Z.group}),ht=[],Et=new h(0),Pt=0,Ye=Ft.length;Pt<Ye;Pt++){var nt=Ft[Pt].clone();nt.group===De||nt.group===ee&&nt.hasFunc()?Et=e.add(Et,nt):ht.push(nt)}ht.unshift(Et),ht.length!==1&&(Ft=ht);for(var Pt=0,Ye=Ft.length;Pt<Ye;Pt++){var nt=Ft[Pt];try{Ze=P.Limit.limit(nt,fe,pe,ue)}catch(T){Ze=P.Limit.diverges()}try{te=e.add(te,Ze)}catch(T){if(ue++>a.max_lim_depth)return;te=P.Limit.limit(P.diff(B,fe),fe,pe,ue)}}}}else te=P.Limit.divide(J,Ee,fe,pe,ue)}}te||(te=e.symfunction("limit",[B,fe,pe]))}catch(O){te=e.symfunction("limit",[B,fe,pe])}return e.multiply(se,te)}}},Fresnel:{S:function(B){return B.isConstant(!0)?P.defint(e.parse("sin(pi*x^2/2)"),h(0),B,"x"):e.symfunction("S",arguments)},C:function(B){return B.isConstant(!0)?P.defint(e.parse("cos(pi*x^2/2)"),h(0),B,"x"):e.symfunction("C",arguments)}}};Z2.register([{name:"diff",visible:!0,numargs:[1,3],build:function(){return P.diff}},{name:"sum",visible:!0,numargs:4,build:function(){return P.sum}},{name:"product",visible:!0,numargs:4,build:function(){return P.product}},{name:"integrate",visible:!0,numargs:[1,2],build:function(){return P.integrate}},{name:"defint",visible:!0,numargs:[3,4],build:function(){return P.defint}},{name:"S",visible:!0,numargs:1,build:function(){return P.Fresnel.S}},{name:"C",visible:!0,numargs:1,build:function(){return P.Fresnel.C}},{name:"limit",visible:!0,numargs:[3,4],build:function(){return P.Limit.limit}}]),Z2.updateAPI()})()});var W6=an((P7,ti)=>{var fr=function(l){"use strict";var e=new x,r=l.bigInt,a=l.bigDec,l=(a.set({precision:250}),{}),h=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083],L={},M={callPeekers:!1,init_primes:1e3,exclude:[],suppress_errors:!1,PARSE2NUMBER:!1,SAFE:!1,IMAGINARY:"i",FUNCTION_MODULES:[Math],ALLOW_CHARS:["\u03C0"],USE_MULTICHARACTER_VARS:!0,POWER_OPERATOR:"^",VALIDATION_REGEX:/^[a-z_αAβBγΓδΔϵEζZηHθΘιIκKλΛμMνNξΞoOπΠρPσΣτTυϒϕΦχXψΨωΩ∞][0-9a-z_αAβBγΓδΔϵEζZηHθΘιIκKλΛμMνNξΞoOπΠρPσΣτTυϒϕΦχXψΨωΩ]*$/i,IMPLIED_MULTIPLICATION_REGEX:/([\+\-\/\*]*[0-9]+)([a-z_αAβBγΓδΔϵEζZηHθΘιIκKλΛμMνNξΞoOπΠρPσΣτTυϒϕΦχXψΨωΩ]+[\+\-\/\*]*)/gi,ALIASES:{\u03C0:"pi","\u221E":"Infinity"},POSITIVE_MULTIPLIERS:!1,CACHE:{},SILENCE_WARNINGS:!1,PRECISION:21,EXPRESSION_DECP:19,DEFAULT_DECP:16,VECTOR:"vector",PARENTHESIS:"parens",SQRT:"sqrt",ABS:"abs",FACTORIAL:"factorial",DOUBLEFACTORIAL:"dfactorial",LONG_PI:"3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196",LONG_E:"2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852516642742746639193200305992181741359662904357290033429526059563073813232862794349076323382988075319525101901",PI:Math.PI,E:Math.E,LOG:"log",LOG10:"log10",LOG10_LATEX:"log_{10}",MAX_EXP:2e5,SCIENTIFIC_MAX_DECIMAL_PLACES:14,SCIENTIFIC_IGNORE_ZERO_EXPONENTS:!0};M.CACHE.roots={};for(var _=2;_<=40;_++)for(var R=2;R<=40;R++){var ie=r(_).pow(R);M.CACHE.roots[ie+"-"+R]=_}function K(i){function S(A){this.name=i,this.message=A!==void 0?A:"",(A=new Error(this.message)).name=this.name,this.stack=A.stack}return S.prototype=Object.create(Error.prototype),S}function de(i){return me.indexOf(i)!==-1}function ve(i){return et(i)?ve(i.multiplier.toDecimal()):i%1!=0}function De(i){return i instanceof g}function Ie(i,S){function A(W,ke){S[W]||(S[W]=new s(0)),S[W]=e.add(S[W],ke.clone())}return i=e.expand(i),S=S||{},i.each(function(W){if(W.isConstant("all"))A("constants",W);else if(W.group===c)A(W.value,W);else if(W.group!==f||W.fname!==ye&&W.fname!==""){if(W.group===u||W.group===f)throw new Error("Unable to separate. Term cannot be a function!");A(Lt(W).join(" "),W)}else Ie(W.args[0])}),S}function Qe(i){return(i=et(i)?i.multiplier:i).lessThan(0)}function ee(i){return Math.min.apply(void 0,i)}function Te(i,S){if(pe(i))for(var A=i.length,W=0;W<A;W++)S.call(i,W);else for(var ke in i)i.hasOwnProperty(ke)&&S.call(i,ke)}function ze(i){for(var S=i.length,A=[],W=0;W<S;W++){var ke=i[W];A.indexOf(ke)===-1&&A.push(ke)}return A}function Oe(i){function S(A){me.indexOf(A)===-1&&me.push(A)}typeof i=="string"?S(i):Te(i,function(A){S(A)})}function ut(i){if(pe(i)){for(var S=new G([]),A=0;A<i.length;A++)S.elements.push(ut(i[A]));return S}return et(i)?i:e.parse(i)}function at(i){for(var S=h[h.length-1]||2;S<i;S++)Xe(S)&&h.push(S)}var j=l.N=1,d=l.P=2,c=l.S=3,u=l.EX=4,f=l.FN=5,v=l.PL=6,I=l.CB=7,q=l.CP=8,V=M.CONST_HASH="#",Q=M.PARENTHESIS,le=M.SQRT,ye=M.ABS,Ae=M.FACTORIAL,je=M.DOUBLEFACTORIAL,it=[],yt={},me=[],Ue=[],Le=function(i,S){if(!M.suppress_errors)throw new(S||Error)(i)},Ve=function(i){for(var S=i[0],A=1,W=i.length;A<W;A++)if(!i[A].equals(S))return!1;return!0},lt=function(i){Ue.push(i),M.SHOW_WARNINGS&&console&&console.warn&&console.warn(i)},Nt=function(i,S){if(S=S||"variable",M.ALLOW_CHARS.indexOf(i)===-1&&!M.VALIDATION_REGEX.test(i))throw new Tt(i+" is not a valid "+S+" name")},Ct=function(i){var S,A,W,ke=Math.sign(i);return i=Math.abs(i),/\d+\.?\d*e[\+\-]*\d+/i.test(i)&&(W=(S=(A=String(i).toLowerCase().split("e")).pop())/(S=Math.abs(S)),A=A[0].split("."),i=W==-1?(S-=A[0].length)<0?A[0].slice(0,S)+"."+A[0].slice(S)+(A.length===2?A[1]:""):"0."+new Array(S+1).join("0")+A.join(""):((W=A[1])&&(S-=W.length),S<0?A[0]+W.slice(0,S)+"."+W.slice(S):A.join("")+new Array(S+1).join("0"))),ke<0?"-"+i:i},Xe=function(i){for(var S=Math.floor(Math.sqrt(i)),A=2;A<=S;A++)if(i%A==0)return!1;return!0},he=function(i){return/^\d+\.?\d*$/.test(i)},et=function(i){return i instanceof s},Lt=function(i,S,A){if(A=A||{c:[],add:function(St){this.c.indexOf(St)===-1&&isNaN(St)&&this.c.push(St)}},et(i)){var W=i.group,ke=i.previousGroup;if(W===u&&Lt(i.power,S,A),W===q||W===I||ke===q||ke===I)for(var Fe in i.symbols)Lt(i.symbols[Fe],S,A);else if(W===c||ke===c)i.value!=="e"&&i.value!=="pi"&&i.value!==M.IMAGINARY&&A.add(i.value);else if(W===v||ke===v)Lt(re(i.symbols),S,A);else if(W===u)isNaN(i.value)||A.add(i.value),Lt(i.power,S,A);else if(W===f&&!S)for(var ft=0;ft<i.args.length;ft++)Lt(i.args[ft],S,A)}return A.c.sort()},H=function(i){return i instanceof G},P=function(i){return i instanceof Y},B=function(i){return i instanceof ce},fe=function(i){return i.group===j||i.group===d},pe=function(i){return Array.isArray(i)},ue=function(i){return/^[-+]?\d+e?\+?\d*$/gim.test(i.toString())},st=function(i){return i&&String(i)},se=function(i){return"("+i+")"},te=function(){var i=[].slice.call(arguments);return i.shift().replace(/{(\d+)}/g,function(S,A){return A=i[A],typeof A=="function"?A():A})},D=Object.keys,re=function(i,S,A){for(var W in i)break;return S?W:A?{key:W,obj:i[W]}:i[W]},J=function(i,S,A){return Nt(i),de(i)?null:(S=S||Lt(e.parse(A)),e.functions[i]=[e.mapped_function,S.length,{name:i,params:S,body:A}],A)},Ee=function(i,S,A){var W,ke;return S=String(S),i.group===q?(ke=e.expand(i.clone()).stripVar(S),W=e.subtract(i.clone(),ke.clone()),ke=ke):W=i.clone(),i=W.stripVar(S),S=e.divide(W.clone(),i.clone()),ke=ke||new s(0),A?{a:i,x:S,ax:W,b:ke}:[i,S,W,ke]},xe=function(i,S){return ue(i)?i>=Number.MAX_VALUE?i.toString():Number(i):(S=S===void 0?14:S,Math.round(i*Math.pow(10,S))/Math.pow(10,S))},Ce=function(i){return i%2==0},Ke=function(i){return 1/(i%1)%2==0},Ne=function(i,S){for(var A=typeof S,W=(A=="function"&&A!="undefined"||(S=function(Vt,zt){return Vt===zt}),[]);i.length;){var ke=i[0];if(i.length===1){W.push(ke);break}var Fe=[];W.push(ke);for(var ft=1;ft<i.length;ft++){var St=i[ft];S(ke,St)||Fe.push(St)}i=Fe}return W},We=function(i,S){var A;return pe(i)?A=i.splice(S,1)[0]:(A=i[S],delete i[S]),A},ae=function(i,S,Fe,W){var ke=M[i],Fe=(M[i]=Fe===void 0||!!Fe,S.call(W));return M[i]=ke,Fe},Ge=function(i){return[].slice.call(i)},He=function(i,S){return ae("PARSE2NUMBER",function(){return e.parse(i,S)},!0)},ge=function(i){for(var S=0;S<i.length;S++)if(i[S].group!==j)return!1;return!0},Je=function(i){for(var S=0;S<i.length;S++)if(!i[S].isPi()&&!i[S].isE()&&!i[S].isConstant(!0))return!1;return!0},gt=function(i,S,A){(S.isComposite()&&!i.isComposite()||S.isLinear()&&!i.isLinear())&&([i,S]=[S,i]);var W=new s(0);return i.isLinear()?i.each(function(ke){var Fe;S.isComposite()?S.isLinear()?S.each(function(ft){ft=e.multiply(e.parse(ke),e.parse(ft)),ft=e.expand(e.parse(ft),A),W=e.add(W,ft)},!0):W=e.add(W,e.multiply(ke,e.parse(S))):(Fe=e.multiply(e.parse(ke),e.parse(S)),W=e.add(W,e.expand(Fe,A)))},!0):W=e.multiply(i,S),W},ne=K("DivisionByZero"),Se=K("ParseError"),qe=K("UndefinedError"),Be=K("OutOfFunctionDomainError"),Ye=K("MaximumIterationsReached"),ct=K("NerdamerTypeError"),wt=K("ParityError"),Mt=K("OperatorError"),qt=K("OutOfRangeError"),Ft=K("DimensionError"),Tt=K("InvalidVariableNameError"),_t=K("ValueLimitExceededError"),Ze=K("NerdamerValueError"),ht=K("SolveError"),Et=K("InfiniteLoopError"),Pt=K("UnexpectedTokenError"),Ye={DivisionByZero:ne,ParseError:Se,OutOfFunctionDomainError:Be,UndefinedError:qe,MaximumIterationsReached:Ye,NerdamerTypeError:ct,ParityError:wt,OperatorError:Mt,OutOfRangeError:qt,DimensionError:Ft,InvalidVariableNameError:Tt,ValueLimitExceededError:_t,NerdamerValueError:Ze,SolveError:ht,InfiniteLoopError:Et,UnexpectedTokenError:Pt},nt={csc:function(i){return 1/Math.sin(i)},sec:function(i){return 1/Math.cos(i)},cot:function(i){return 1/Math.tan(i)},acsc:function(i){return Math.asin(1/i)},asec:function(i){return Math.acos(1/i)},acot:function(i){return Math.PI/2-Math.atan(i)},erf:function(i){var S=1/(1+.5*Math.abs(i)),S=1-S*Math.exp(-i*i-1.26551223+S*(1.00002368+S*(.37409196+S*(.09678418+S*(S*(.27886807+S*(S*(1.48851587+S*(.17087277*S-.82215223))-1.13520398))-.18628806)))));return 0<=i?S:-S},diff:function(i){return function(S){return(i(S+.001)-i(S-.001))/.002}},median:function(...i){i.sort(function(A,W){return A-W});var S=Math.floor(i.length/2);return i.length%2?i[S]:(i[S-1]+i[S])/2},fromContinued:function(i){for(var S=i.fractions.slice(),A=1/S.pop(),W=0,ke=S.length;W<ke;W++)A=1/(S.pop()+A);return i.sign*(i.whole+A)},continuedFraction:function(i,S){S=S||20;for(var A=Math.sign(i),W=Math.abs(i),ke=Math.floor(W),Fe=W-ke,ft=0,St=!1,Vt={whole:ke,sign:A,fractions:[]};!St&&Fe!==0;){var zt=1/Fe,oe=Math.floor(zt);if(1e7<oe&&nt.fromContinued(Vt)-i<=Number.EPSILON)break;Vt.fractions.push(oe),((Fe=zt-oe)<=1e-14||S-1<=ft)&&(St=!0),ft++}return W=Vt.fractions.length-1,Vt.fractions[W]===1&&(Vt.fractions.pop(),Vt.fractions[--W]++),Vt},bigpow:function(i,S){i instanceof T||(i=T.create(i)),S instanceof T||(S=T.create(S));var A,W=new T(0);return S.isInteger()?(W.num=i.num.pow(S.toString()),W.den=i.den.pow(S.toString())):(A=T.create(Math.pow(i.num,S.num)),i=T.create(Math.pow(i.den,S.num)),W.num=nt.nthroot(A,S.den.toString()),W.den=nt.nthroot(i,S.den)),W},gamma:function(i){var S=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,15056327351493116e-23];if(i<.5)return Math.PI/(Math.sin(Math.PI*i)*nt.gamma(1-i));--i;for(var A=S[0],W=1;W<9;W++)A+=S[W]/(i+W);var ke=i+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(ke,i+.5)*Math.exp(-ke)*A},bigfactorial:function(i){for(var S=new r(1),A=2;A<=i;A++)S=S.times(A);return new T(S)},bigLog:function(i){var S=["-253631954333118718762629409109262279926288908775918712466601196032/39970093576053625963957478139049824030906352922262642968060706375","0","24553090145869607172412918483124184864289170814122579923404694986469653261608528681589949629750677407356463601998534945057511664951799678336/35422621391945757431676178435630229283255250779216421054188228659061954317501699707236864189383591478024245495110561124597124995986978302375","369017335340917140706044240090243368728616279239227943871048759140274862131699550043150713059889196223917527172547/335894053932612728969975338549993764554481173661218585876475837409922537622385232776657791604345125227005476864000","24606853025626737903121303930100462245506322607985779603220820323211395607931699126390918477501325805513849611930008427268176602460462988972957593458726734897129954728102144/17750092415977639787139561330326170936321452137635322313122938207611787444311735251389066106937796085669460151963285086542745859461943369606018450213014148175716400146484375","399073568781976806715759409052286641738926636328983929439450824555613704676637191564699164303012247386095942144825603522401740680808466858044/247958349743620302021733249049411604982786755454514947379317600613433680222511897950658049325685140346169718465773927872179874971908848116625","1468102989495846944084741146947295378041808701256909016224309866143294556551407470861354311593351276612463858816796714569499021375899793849136855085849133702029337910502448189055357182595424959360/819363879309286303497217527375463120404739098260200279520788950777458900438307356738082930586032462601215802636320993648007907724899611296693997216938989854861043298494990214825163523387600982777","5896704855274661767824574093605344871722790278354431422729640950821239030785642943033153793245906863203822369276271050164634206965056233097479117980782641839669/3030306850569309344013726745100070601277982132543905537366562638553198167007159067544789592089960911065181606283478843359856123992707598685058297067179343872000","76631772943534985713873427262830314617912556928476573358548256872141516989538374761909611879922349479420014771499018155447198112155515453671128814488139633810493264352294560043912066253026059140653027326566801398784/36852092933388988649396042883218509607503204211148493545892849595498822817623842579026942621098851631842754395231561679671400197056377380063233740202370686144673585955581403046886083948450136247134308381940165804875","3159076083816399509754948610929467278257473888282947311280653574634802580912280940686954763313882823327077171624015737719617373932318151594325834524000275847475866299387913048/1437757485694188822758304467756419845842037623148461107362957994816554782989250555362514354661961482939226272309026092009962414616417412938087494467254146002233028411865234375","22266067259907364984531611601870291368272674573653403965630628996687370994139884833897773468149149664829922302484782423514167405397665098388400450149078982462318781750661005833037235183394221496186539779712428265837926417581952/9670030144664428565128962309657100138096047028794689249320859276197340398920725569428532293373676415359965773460364494998334259893079003125373872108770534788283842907318071170285038777091588292539102269617376180390982915567375","14604654564989239958569331443385369522850975185358647132770022716433280072271007767111036877803328768910274400515590151934676819262085211828028638417329558229123989556376108454497813055/6090614019162516693013973409650613208227889078878781039105047015752493519149314227721984436973374032279421344818329285207124280297611253861173835238379831004010748379874393292231671808","1901241885407696031217292877862925220917660047127261026827869027159993239567933534052663335498281439239753018507182016153657409777749792228538380379703411298411623469292891476969894084838876001545818141543890273256985768690847587711270930688/765116019778838839812655402103512685695769161212360553099732689795578904762091216998790589926057819838537805856579109910198553330075924857419395160755642371550113347465300208422126945265887065434116781678702741657275181694851670325469434625","139459806786604751793737926146840623607010208216289543036026206208962059593900745886202214788747453279179283344350478734275973878932538430194363355795823581315329311220701640235653288975569812161436/54371368534412517053056101353618694718215711767266376573138772968257303578467926450212293233332401067673270853953399269852376592855992724934941173346260129257754416412476202526978443681584633116375","1045669091124493070709683241190022970908640501171378776604126771144008324358233819560649021940145166254659028524319517244711645162132513416238958170819347361185944945680269442845829390112062101255500836072082817820950448463314034677353723256969344/396228259004446234921310936915931611736815598535963504660076315228798989932959459406702091180060429080345146735173591749448509810270759531977278642135591672189002006272326131885315743181289970885337574780897529347356567086535505950450897216796875","9912919238915437302006264477931031611447467070103973106567538528951878797932559935860738745374437522819124347510590800370471910492338584284092534264608801221235029062881964101996762011296996851893455828946521/3660537472668264151218961634689665210933936249986285290553357254224360417386515311493310199319523687171757653216994741150377508234317025158302057758196429623723072084157928224798322861732880034847243894784000","9263710175433181746575186369318246002919895649622127410824041370079225200282403368319370743363303164313395723904510539050157032684710468364067204876434546848634842333436957245275217583248805993142227630297924119330553308466662488683624783307023014909360640/3341177182697517248552428837661919299725031035849865632511882688786226888137634168024976033652753689210700218163621739078534353578510364301481093730054725078138658805025014615651043313990684347632166030359086885561104034510990826655289288319840595753002771","5116082230713622171832327542439052727465114322479570603905499496221224653983960598946033081212909066917137546065542953865612718836914393275681318667667521726785633638189373998191090501201427906618075889744489190209584/1805752553736060443820406101277706970767657006346276183748749630179442318063568286372320188433843729960294965366346522303898609655762491623098453269916163621089005711823488749297418113474056676109581110715068124438875","246569125619713282434448566970352231845414317018379160824176638351574938993535464763890962336882760882398479702237564384291290459961036068916857265499633061660562532011248501476114401629839742058389195725393702000011860799793778295606988057303225493814005789533570432/85307063020836305797178273029353623060860009152114361453434032434699636078115114412588719432277441055049132559782203988387794711585368296817222565434951256788867244687081233632650953850383220864394261763844194948389861147622944651546912394593164406926489862036343375","133672026303452911046163998480860917119290576658330909785707604886881155606725822685088929236266583416708668502760907677019598002175122453170574729028452721476464728566191464897928696630979863154661704374206171469014225143/45398130975270785045482567762871405072140548998125471025451666500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","6041693953360002800224091673336562508913199995987479264605216252220579740134601435770085920869376641180763419907442721705887169884230643795126568815123647603047739799302562095542459344811429882053086550900803768964612193941424128649976704727183797495759082741166938351872/2016766992122395667828553277997478570503475626107286343497917705446132017125079612756035254750822860815515899557855166824523851779156336235294914777307802256439645525835223691751931866188957324792276149549076500784191791380803500156776088683900346065830066370370083309875","705868391597244582764749229356331441978820024796066870551110486625729826111158236686696326058778874201639006234449557592353247542995871491078308187261304930042019640830629526023972693107193897009168955674240659026247094657679060/231848642748474339277532000336338632910990823562381469441716922006107433404523316252618490265927265734670539384485699132080062215196462178933963957679882342083893417545858074378754089719547920901917516016346211301054206383643383","101832160604157943093944673541651013907278188571533075311673249923948856034633446617630054761681006062910980371900782781226979391765818325065031889334563981235894369036439929651260587335544056975715076598739977065390678221999918899003881778449092038750712969437519295878491018112/32944277910571666002449086492515464541550138004002141571670657643770713783329063548790202120805341989608877739811787937782240802963962520261844114327432160788193314874913687387269408387417806176202979244637915812905426565263196954203487934225589622864145960079736633434831996625","10655703119271468913597640479490594180964700448340778168715956712130636958373270202484276402718566314881119559090842449610957974112230306343486091910217340665146602598568991520563987490686996746558858366002301982443029430290679385551/3398412687366638541233365137084722368200311117891192348532156645374786104142009695796409107380345795998400850838706661851176885183144928701608654514812261697598380070746520197171576610572921007069104300695592751543563472456384512000","1903039332876763837419920240543738799531131775028971323439870868730321221615515008394327723508670975623498588291298064320786970626232668956372004004897872810230178526101184611242511193415796638694370503100219710864543168952682617801833318493436174387568067811938490953495819438108686336/598806534367503338307287246320963280558134937382149405305466709787179429317914803617527827862441615350396864359976273212272586892074799651088317544101755361439294687323233086696182687664637422796995789967075271448560870681210580691574924544896656175563265378514188341796398162841796875","525573915563826130963525826191411949262846916750432019596028344808298471293378917508549164993368392834023782480702893643486699787870059946429810070222126260200026332874480239090370088123833491499400991181659445914352500247596757005142623368/163278727324937389095822405034435687776345799835442022795533783889356344755225815267819508608559076191292900367982490827396869405536484846115955581043091229202052407483776587687967125885665493681707461345895999542381476164157058393971431375","9263815657177858787273494705338516861045771674838057329170239610953039987023429736752079544014780707408666628475997291124805562998227296677616204140605356257712022384368492575381355563976330347792504605666631512343447560301417325154003481040250148561839861837778597346623630046623751094400/2843321709948499955095590862256744532227698001408929142548057792217790532624003190447363578048562448168721539177458065482170148482375585867230123873178100117094533143052886527452665480614620123764036974180917207421482431983407742154634391264619615289225747664532332469783301704643254076601","407959339726114455622180187758753007349209016396248763075759257357925636039752474207685682218422721827857994768023399625060206708378433960993946156803948655098667156937949174400873748557248801874735834957795040139401560494087476967548060208243867/123780218751812156744401121690996305978134694678934447237402511116731459214498784497436358160964198336874043702652746834763131444030185151143987331404604087778514863973633941401826334750268416015224906056576641018962863645043976537664227639296000","2547676391598917379516698439971914695230548782904479778605691338364453606537643088857116141939170899135026552016969320061900926954008522781162186995856580955090548471448276736878300717869625651893741316530109438876067419826217901657017506157997588944233677467357220316084583383623602865379325184/764562034757392298786420374672266498815021229519853724850874576419885380830752931701831256959159800764672605004880389358601658343203513177084389490286723240185146570925957286083025676875197029662038213216541352875570101363668917766225709569356861275434470568767077844675593176178611021135573625","186545352286463730559933346565311535598243666022232037054735807289501173444103692309735768703898330430135399033529355360391658728987379385732098960609744313878477967971557204207043802935782878745271859468248704012618254203101767841517569443555143252/55399179641621656233589820996143825959365789093262978988289445625153099592463372579496245442338653053662134699646413817866770218574795378644415019944304868289119443774932782235638737888469746745621382139263856603239588594078668393194675445556640625","664884440164786473344854955309049113269357314957985265728106924238588705533437169796551912202931185746193155801905841712503407258166135075966280435780812714252670362202091663287095423712596462690753468682634261029392794173636943978404002804413009590005984736612421172979101972556772005594499779860608/195485517776407145286424460448995460754674039560651791192647586550615878988380153730602665795647187884543361218962125172808792176382956599256188706636727418572541254480798303566840010217729386905041217793614214518363859058348249961790104618910877813067510758225302884815410347238200133693756493703875","2614957283934314904315471338485451166053664494383241929385424599389309215073267052860464009981063483440201193771607520572077231889699858482582363845275452280606276949653970992719332472370351170732899676316967244504534154616036371979031399425846100527685/761493664432749089312665480773496290658029971027686543404885407644062485746072719559288231362060149626237939029641098328278650939665665969011529293869562636656650999759724704272743235210867676873525147820749560155294022488994426729939894753293900972032","124843380518493746761140367283007507854364503961156704095198010255465940085534099747297600085903814014415830785663764373057896014399822131175202342399536439284123918855893825207202244831315575594886675813256448846863723093240955901916229136393454605455444105444987028391748121054399538064686074523506176/36022228212051654395480210378626648518430280334458144892889271272122662467638331091863215146548048144675657239846337165813938424387499358852301016926312083940212100001220180762189978024821166744964908871443681332664798940660421469519997746775275873085770018269706847741064037876137315001228315806659875","827992369063043155578730871896750570951766628472810506926098505028264552046829097082095665194000002802661600196840639204300804225352337632259980703832713031790922485730615305441309917696044954289187837653933158950774246017223571461858939407386087081525130831392/236805932823686534991153393869288530368011574665859226704279685567723830696754821658770176385138917722808377962346690757191122309876922069867472518117628639913077442806147910884267694879089753138429767401700283014143248445966474839193628309668702223994071394625","17347276886878323736540051321582548724378497839789943634071026331001588645519865992773157565595886250230140452154269197770615097377486013097979087647774513500701793885978192218455687078883766086309728287172567466406449372659680040183273634701092561727514713494914793425407149186041796935055187281744386432/4919325621804683623339606849970832094714371903709195539440424738973575902329797546592497378000858196173718145883783709223158260700365224756081275272021856393735663399552166737690038832550853145831185979094979556715294990257315369124065787473707136464772247917156232366320267601622617803514003753662109375","137984231830526866236186357461458917020538108058615632801298091031540729111527734872044790487396302545910108285921421417358113055522725197998483383380192391312304647004240060970929072498293210057120617332323445379424867965764749534125081131327565507524502163460761/38810445792642817561168950890315210470940006613819790543653745327778579787694809782601777514116858514049585074667085399925278459138508514838268321349069481334967221455722811414399738756151414906092225265355449011152267068726417045644222323488445626292574879744000","746567120547823334914136339633766098626636643449144032626270358619125402826113269699709721071135471625588981126637674402048519990010499180844665151971356149292818375448504122545400227696621572263621729512461528550588108384619064912224884465737417596190735966915167530332762203074440688676123756162572829692160/208334337057923929636884170505570363171441147899816815785150954417598643614152856767186132467069365605496210036171429712485182162940460120834349006784956522600679357307849981862006710239311750261522832996877712350330290831638640913932265004107623954913155144975252743257846945609734368518424172846119306643431","64649371728330695076928013661001819989330953381731372450140483779536126948957993261299287753791770622512248630224724990234903928056275080682537641377393210728546364176267034339221558641084730052304770498929958838997239635790469536857863963589118888238069738647239076/17903951498200212327802847425913723358452100686246224008745414214690047078122925247086521362329833307849817944645647750649290248110509395628305970523384831671737569872597295947593410067364379687588919135621621162007748635920864926867870502568935739725312687094047375","2454918942158003099688922026016393688092399295166304634317616773083386087532869193458590448918958337530406410803840837646465522656670050113548208618655070231274778592766244282964463702354872753657766121825196898916725498553882689210280080206627916046484942827487726300822318764058084323314109595329304407466188383616/674880185931325925966586583820010578979699141814417326552629206140252348822939845006845669570885271576698771404162512001549922909048916000017837898649100825976232784446638776021483802989797501705685620612986771521390439936066527738682396560462899753657942715306792783283782238662155922082005591512296007820682995125","74018558041066162916454010680594042518462756234254788158141115244349044958441521749277686851928706433556285971088455226217644009628399441967508838553345152310730562224910795446341601049647392069373970101491741830623078126344928804029524181578945586663110848142571149861/20204153620006780689923328634586091101021423979622170579036140596085566172775051595588438592742563923428900864000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","2127032036758045513335690185608563023954009095206088224487365541995326714285119384743928987635752931664240752323937321097955456543854943206092931247498833001499955456190701695430459583885125382086777607021670447795321669948733328973350279846928613949120929250312666393359442423066212311060931469017737106028339882830848/576612418511902928757340062840968526862381326698309578771238715462180282212422302261044980131594522407066369222998903808960617461164985318633518680304995784614308979881735537678182134128319596636920719106506829571072447362052319438091347699720147003209417806230149598345068078717948025207635448205253184540936478445125","35289653975561083576641954928762116897061274899517309102784750384002335187117263273488751066569234386120759866204372398611196356888479036949053282301027789530999737306501029700128744408015642211359442183943916106790666114870974212159410284751571905275610921784716184508440/9503006066880728386808143045924119024212377150217533250562188228062174064693375135306438120385877320162710918716613546077156389583384656340709638430674364232343609717735574035535102953482366914421205216675248471695111720986346092738728929878538430662191272737183832556131","102633551023964794485575491065909467125458972250222581133681080524371507544152979467328048718122409841060527545925136196267751819689935599599321090571687632103850847605493223603751038996548520557330016046032671961857623066292962260173840972332108111505971231021442896036760967107060309991355545554631003681544611731245475968/27459658121882266328752886605529964804078316737648012166874496015808620265471203512606463219297059547428855195782384236337998738233668399173746663289852416697917397644234441300570212555870401420579737973722145663287124151049692290432756231390864184491891697469874600345958989433125942336757049639797225309327019275689074625","10034393558388390065766795008210457368713365491566387292163814915435906649268119060550511145023450790393353937124495488860451123302412204483570913557762460385297770427946219119911920640306914453207097103853766023934602534502476962159682750262143380527529536498215384467975023/2667919902603322771586358077760621955455470781865624844984169443739075976572061827709528710108877015489050369589117491611045518221354793418884447632063538994046714401229510497599783726376490260140723032102883617341970952663947646017489439179953454964374887388652792446976000","248528145263843375390386172800048509380966183384567983242213959113927668429802237067505890436957693495616107089384741585283620097982859345081736730899912519273262934785992235852866637878831878448348444611412764161078458068549719800733237024285525816723480868704742804077255242682077291713092790250511567621735004237450946304/65676865669148624809340872151906045781446981664561196686217551358486802274698228825404698950974939545099727242259547145392352658637333562345477931951890984276718673618736565926663528625796412420753961231404680876558659735251469326707567479071881966875336951133475135427640218972722939427821842173216282390058040618896484375","7805448718805635696495809414501206964843262114470109146341305656318015059743127114324245035489577134938579856003956861881125856595981500593426840968087618241785931128978516340812066502964561231235073012672356530509663384739132686548934288703179479011016719045530855033205271548/2050525178024039744126592505352202216905491833360272553169520915020715464206141942151086176509423406413311520838568324134077402841030113427309725873344806030836314500267104070131451720947531994814710189000076651895520222646974590481497382830325485174899169093049299764813276375","3355325071293197839434119105039673324264765809771192815982246040415580387729382404624613875653005261578877047405365032178619450963731719777167015959920645055600439987161800547901539269321100559393048973255388860193948274255340335876890491746900991668165565729269698196233805991206691196045182214641935483083662356666996922240/876402579119117579582569839757462461050855174353108858954282915644790659429341853404829661899850841645529640454766173209897510988090318303454542547519850473808789222552969933222203420847859171250332350076509996295844203965564448154484566493395403967626596213792922784509892086361572955175655987334882030766001799867659814117","218871061991045868372866381545267589365410350294028138778572466235486397478028823720846191998825628156716190463263492304639890659254282445466806224943413446008645087186307985343574807361972238230520975439736199291019544576443791916302825193643774360055545186783819367378492631806297/56849560726416896431557940314760680962653658127458002233782028041537121216487790008085876994020812492987733987414743604239935223783349870516284048368761617736127892160849065895223288023531930411718807065209903593668117085505482007061969339237404945180379460053180570404846043136000","5008685108365226931582937964451700746853986170633433728409171904803795018146152804690759530990140552460596075588463394200510044617816085275660078502126507209302951286606953039953843685800941558212440519542602092919776366067720586295390886070120828199562643208637974347390938772070049344991272621102622931576339988103674070876518912/1293888539680354282541277646947380627241979967611883341823378331667976045287311988103163380651334828012840330710760757271860219584371109472132211215957402251594055009937397184768184517621978947384029376766290498101728971145633139541827544539988344772578184316843734267915665730981857376872622787627370859411909330227080697966353375","15388340113525711660227566446101909585796746979396093776960989868457211684028149502578116456785221720682202816140911944661051001675127262774824593420825587319436537346311831003212424497488485098543512314062112948777572038731823948224734505930748371522309451168088057190162878224801232/3954220582960831691377435160890656173654063611768428458807273708040518769541211737927975894584024448193835165167801976423275767590502552964407494549049777006346189436817215329891530811451811864579644894987864267389290848598289794977382504890216219362031324635609053075313568115234375","5099039333987561374222193551155323470675617979816941646196895589439391685938046865391119484510329634015275893520725135141878751153360264368353595348921951280561029028912953500944814771064409611917475818956659775131751121312316084465321917769679881052144364834485866477379437705913911371481828140817759401117780199246301705600020671104/1303503600297679371136943454060319958680553228879031326679449263682048703103464872914972900105569835004878963701599765030590097739639045890060548760692125546754294514068052902543220382104483822438283040090444827980927544440984823535260277595466339403795403200720622852069244768910603820007632395190204569927612348189089161551951106625","4902837141334073026145827027361937996261324349722726869116185158777439337041263482852376194988371853413467559557923410949898048139830183335197992754748294810838187068126867611615800383834975563313220497573778480109264178673389149671194149749735833378557143135481387904961537942569904075/1247045310545991266291285730016853118981099516935251861146038369985109288084420528171217942065832292739130145780833406014673689119563698528225048800794718789218267628507713621235056538202070171596177775095071513194885568843375526804796016261173388452184505503341132236719484809714335744","38114743522716832107917466438257616720476488812538316101658139632867788464381862291240727309611460187159930652186486096300862388591521625093237019662273764387591494074792574929490381910446287947994150655077877204446864004067956087975012773988833339521775463977233068498404144221045837190392670308437391686081418318624745039402145439223552/9647001083383999453668111809775451078976046488746916070976218645431946648087171586252172936600115032316383427265217993193444199863138429602138841976586190525451324093772097241349417938578878934577091671046050326087898259692917931230974174799815198493279413438192301437068820185757869608523761456160341754512329264442115351926967120404125","573695055225225727008803730767518906490704995929177617646275646884555707960986625481944101622708415415988844740028718027554452662358957933526173824325955904005404113684003841990198157072540659184995738719040024647370869010473254071681533880576462368600901824622431045529064651675640055917092/144509482511118816399089096021290587489594541280398871255876563615464628718527634679330291741479135415168539765887291789615790513527330600394937614433502341116068305347468133950204152174094704092402978083370792135432486240914953928188835819767755172666693219213868545854371103120604946200875","23876960329653589647925126180903391687666378233201794403339630995420215267415575142266707357255726330536094448314199602616026935251126469221925945960901748679919435908556550271504767784553484434363646489174587463466333864577705745452492395785557425904735048180164697040313528831173448025400634629163795223739061661461986923675833880378496/5986312408594306954013526197465608559068621248896320652512228238115589875514604632230098997609482248000888567135685167138762172475788060284232459813998201719590208742091697294562538265829954186149162974972471533202880368317237508987477069872431064075005305838801862900501819963793062041081601844759452202282545840716920793056488037109375","58168289917567723171226992383559866214094157894992327555495441698028867727845766488121900626912848698952863438654895252811583144479300382761129433911280049009362667380001406579175563745824368613319103673817094498117944856004415812877213722455299491145649879676787079744410765053845551958756701/14517067289347903655500020160671113450349743650636953726251191692074385521975132268313263723831804150872238173602847065423463131917373356798750100313145228608894881457107689499956903046984443545789053438946050974567665049237414588435796381674590098629779384355275820782532479708807512981504000","728621890568281859295409481422447012528302594365693410763821707074444799793690738137592101239862736313347273167450056625929591960610208335290882047413011571781161008296084630072829079783328937418641417642857196346026366370059522990813537731394823630207433267854616768658990289454635793326766697884798538576055949457122067828153655416688640/181030730759516991863708593747964787874073354051675597050399087612142539517308720603687322924426591889179726492403913356461908748733972707460063017057809060190437917851790767968877215795679844983288935075688219234885360839984681619084834228226744165610073685719017596630302462070188937998558312507638434329299017584329479516410907786681093","86855946923438322218622470067224691860808273886184997065663554841573982963995340977083049132518812923329423480393306918856650577072525633920456721265953575424233701929892019410099166322511413146891121248381648145391642571638857576890568882512129960291171866772665863159474602604647289052079991768/21485753507365901947528588896402264670781310878547726104482740647554738151100954835784115119035980523529677083504495839730499664052882400915208251594384038810917282207449860876251558307288700200910747338758723324686939379138206117634546981163355060740270734146780942696291669461182599512320099625","2158989152301022938148680102142188531448821359505188055264665167313418619665693092337665573150374231484840948447637297247277576415460889296724813940128955070240137590073233263168835678714131062764247434144994737610229909964847568491446606012581370840699582055341626266533733744293929658949697805855362114229666626620766245630122333733703618176/531794915405164005613733454597931482878479882704956110685223892325074211694837836221759995948610212818642789132749082430059593652854659130217225506942675608692701447738732031302987802196501895840510235161825501235133794449421919927396142470196961877376701957829921152848178076410141813926924749057304222282687697297216661687583257901415465125","139432548574396829074586704387656697097760057897628994548358619815052936481650396157428747411173567801047221928593253479330480454469358220685854351236980383914223693722868233819483137401339800304943891968050399345430243790898955416907228948287367356990263740207046902209563417267686591994743547621/34201151688775214071963206765436083445901621442002061707492082843232231754829227303539041286301398668437202547003300396162741375435703188500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","11008517174872833286150985180322584448162884832099344969609291070844193524816852920942383850580217443209402836100467940651581092350600329145627967515818684442171571156446321228596914355704205623857871497315955269266498229823278800717909321269179839084452384509142712677235552103459737790674103994445173074670347080506698168482564009465276165824768/2689223396936080856855299215659204161946704205931885125148201643087176556822542895325191478283706585400237901215485150928036895428721912118467760766508162631903585126377676412573187912443878232521444786090510891599171741773242011017926658231638022943018461086517502584854390836347781674626615709751386455292026775663545470794167629144456268750125","16108638074211260588800537540680707641986073914251424878121255234668558067988171568946079848860335948991834525552515669040163026131919804987340113244760738846884911038097907756220945883750502673899084880578229601870882631165510396775126850307838505063922101682333806284668762825609556049426829531780/3919363961344261777100658318137884299575193089462944554282218278496298610828757650104922583359642384253066896538203596057302203635134833545580869871333892935330950583664400555463557735723364497947986885146043017010159347046389604172186788902608216894094289769850517098027486468084407618748895626853","34420755849180279597302103726180110022640946692592540634353734157479505420320000324260530767186132260970572450489530034440214259559325114511265075416512316229177952140217732655405289808326341696986755141965043719344169685611217958619102774617224847284122901023774956887687026904767714958090256282893003000752947427857703259704682455375442735857024/8342030311716679826889917494957593165464748884572298173556257652389845294530325764837124998293398445804458613956489096007564811101361266196542129764287084823604897187311540561857741285793447174119667215803837719660675298308873496219385226998078648428368061868944322478384684509466965129972030932418920415308276430355882329457342937549162000252625","345888075261020004071220843714060353763382280664960929903544964118831237876694384053904571498830068831026644303797377762345709976595360421502594656308937649239978525713471393570536680412814805076323426256584504251728507416368609420882442293831684681071553766603478479006495757222912500012444787804577811/83505703731469734628961395063481893801938371516752417759131774530720075262459158384433785006689548434701904106312038822969658455364219435022841597243178757423598248565463985786213156556523685666430799283870548238467817226915680747412191245046634279766450629886904716776719219698922088211154187845632000","1061717830619177527082296723099890392273896386613997004874669053445943252046748251883532634529759169500795452576392700472771365240996842610207274128102329096619028487369622001737128463631016494371635687841733644339636164570819431573829173533941056258744442930643735587780907310433371453992062647737259587563398111688659657406089003293576961475848704/255359631537215747979895955806995352799574790340218399351168178555478073997876110889483456972687438702262017800167048243754141722496276537685853311434069991222324039005160057724073156957530106623908696241268268096879569794431919729620178375212905203484165745866913773304319069321426245521467122472046370356725530914587807274074293673038482666015625","274122944106300296738399632684955400761495830361663966466225652918683099779465438024846903286816813856490888796372134557295699980528187779624865098445756013563535339056233912394908544185885547842235097677765325396255649207317018754967666450708249125316192200151505568416495274671679500594656671785202496/65687592621976546250581560102201535533608158256953087745856906437400149205693427285162333502528793675585022025602144243543064185647792948495372442630333800126269123531636800213405254045262127593759539706750242430153456891792533267948231185296091297979933562727112487057234422009426868531651634706262125","7842680480716516803148821198697967237136721860017131244266974996267074742248599085253569637183007740566941125452215834642683053334607896723447140851344501084122965014242091312411884985569341166545074688756440728922408743841592658677792796881188604773469108807869960161395759837407978596679911066586626885830991556090978327508459276025943279064965688960/1872528612245648675720382138045071131304652050696842872529163720558126655075937845539792108048310219395746259570506175902206215101518698490144716531697689534559827422735649881381597761684154409796315455445459537515308174919488497154409643876490472215352056502193150125644288086294418253309947229151074464928874881827227706992859640236086417889990541889","5300824422251242070074569186825929119848111723012841627275830216301188228660779008353049603527567784119877706984722171178137272986345560485784907345500893648715341273841147320288851034078863843374665850852481747000237834238703248634174397792745914847774297223176674917912406659831206869442510948965571661/1261140476013707338477604677428573831791396352814802149994640617701773078174882455512668089072441176857892331468691160991310474734143842336092636848492066592397892638052212250229129355009939118431643425836944282456647571558383755315238500832868535816144280088644939696339160092963629012001958205063168000","2220223718762215584659309059880106334425515875615107369399767892051551634000614327272260081056973863669004224981561870246078120862256383581012183852291444462730018546753183156982897386563561418424093883164027305254176874653780425452987066512563140531367766900610414277825262239199580925879453806414860409441845631158680721091621460775043562065815179617536/526383206607841251253861841374779803798480623722760367843070466043030228662340154304405180907941079883976168609082254331465595267209149963786388600028701073430773581228212441424400748220833542964971495005714483235359479470452593264280645360131482713147116366500300066771223383007216182988263355451923333319170174755334598973202740108032097242475554128875","521891797109626296684891455959263713257353500867652268541535940159815152120871142196535233326890353914761242025931373491906127275561002910157909306979093246574207104081108188995072105948138299097848175016082947174156278439986705241571619793059501724269644447572323501261424770743329858038040685313621446524/123310256826873923765604825413207481739886340225713108649758575106598510022338480189649787216845041382860899099250547657534972156328080736149239332330143771138115695598493059325064119176038137294863053148618656356436332991079150723235214278848602671333076219529535123842212129829931654967367649078369140625","66086044538329677372986118727999622900471937619891337714357792768200341519193500393739322894033303245376225584865369486696276607060432449792893028061817203932068085863800494054274423512956136695211796751845295921015953538329385253280866669403169919614982155350899648626481405781514434761541281229159396787287553493046927448595964103589100429722948913403008/15562137339474350565671240515273666798063901504051979980452491653975250630723677279081058884163396938548780856293034775459223871281049026140999055923743471466471830572672766633086347312178711643724485955576579988182546105048041649947277672869613992334541438784737993706482731696809943027528882927942967419447250586964258807454003775693567366165507144866375","335377615394100148751647837967017467711612297170079949298328061159559939969228226474615711044891085626519877634842694983669611974807129333052471799687426665556738316626171408219730853872410792831871526174987402129691897433888027072807302411474690613948951673562473758814664346259109886876538510453475290967835/78715592752271462306588358880337347638000605031000575876214116610339827495261512281635361568951675037834544811575026718101166562072917855004822606752296233435017284127594847656529606648345533195437635894948829857913798336356647286032372695130461573940500785137424365840081503133157308796505622439791698116608","20090879701618729602554170716780970848925039917987945471322994867171660307998603515745066411687983450400412739285577269751603921163835619296822801840348319742203974023505186187060251544248644338412667631232247108675504629538319425769464277309915502144443973397371136256151336255138506001292355330875114245901820438821732843540725116728866301271466614762497024/4700223519410528857298732096729483544820841497820611795617923063440946097326817340637303431283005509904481323205480729806879570430868897342398783028649633951362398196137429076844504529051072393709154483678349272930361110568616112723747726853614661953537957117231900032044221535502745676310313569997665352252492568100075191900969170979460298189170486601502625","2904778979985524171206573028445379872240558084236464200857594814631031581387804621371822074061289363372523364167184697785570324832815972970658633551879143187709707164796663015180877412717910872234647704536817108676736661804878068078543241390828229923424191204586313620612539678930999769543756218765870513049986792/677408099044823641581658869221044375312077929976719183424865834811543737800956896926637625166844372424044003929341361734886232742770909683021563822987505236295727478159938135467975522336774471915167606673489722102077041330652185811196423400701795791669780695158730756241178262962515917389382302757366325768069625","31270155809329751863885224732454397292230969002004953832354065319735530624996254695453061851449600345977646455072512400760539747054003851289540339425848681804190284451253462663731135337775088379954403740058084949675460445909826322297817535400604180338201322667139062500269285493417563095365899631360901732684124930296643108551710704785906431324876072470231424/7269578038000504017073007978844992319987411732848567116655821196644382777088703228960020894756722675887473977480537577509061256138261063926845643360849217556370868752909531088361229374467207196928745673402380473721018157327193509586295879051411183657185176812738231456253321187419224704301236205478184115996135940848503487199394612616742961108684539794921875","432538822079707760382094121020421735679118830363764570640789368235407853152380328891350816400541189148550353337874309885334920995713154225799660601389784410911658967499100610376065640785585342035058364676314084595283850213942576431310823836792440218271879354669291052589804956435743500204185107215929849054782893113/100246574739326291035824954677502591279343311051719151327066341370995390423713403739043396503785261917771859220535505691760472395306543276314938287868734009582906895763073519374099272340577921671298878837400921045252035507925021904954445172372479744465666760762909731237634082051855588025732494461939980856983552000","1914333673689206389116942789116917579088664511118582610293383428712902211612554212779880638065888518488492298586641997844141510832940409501694726851666478650414191249534733087933879981733561565249818572204932715347752949087800778646065986244657260832234479202201129845117955957242616947361016603702640821256099895469088229339240402478576285854783063612307200/442333801076281757298117784528962837115323835962460661601905131618341609371649347131724700192551574625400701487125984359494804828935577124602622582550626336986871791407398609915208114339012374456785705161994343348351473385887949809051796407340988735853810174589261300681030826392672282630613354461927208579993042968520650313621522933214063366558703422757071","5704691626402072213006354545292364761246893919997531024861408248746241619817955824682639582830486790618668221530365426203424888737658778881721063941495350237419723855000515747725926735319471480027293210991869255971365522170749568996651406002311020883635577590045650037569906001924971041810547543163363976464780729932/1314240362076792592671773873754757443276256223533339004339330559325754574023619698171225777585408160438834449576526997055649849875516310105297894855264038450585295422343454458568152668980131977005808840141079502436391909349182185596381509091427752151860204235071122788499996991078935216686010888734471173124487937875","451219364084386208718456142329444023337343409261545444643031014769484085278440612677813682892926852469540118625738238137458321112005189595703619178533263706811689687213128887082197330137502064260105387500552856851972124172206996205919556553246133218441769325133725631665593372188755090094541462474970525820334385058333756591222492801647110594428922046641945259392/103648250172203340865458115839764297558925693061798169434516001775068769911768281084188883278842546791612199025413573394167639925287068809631958006622842716869211374513136766899877504136929177267362862319748507372147243911522667591375015611312165464514308451222180272935398828092646393830572838772085366567154646425598388620105539619174837489536378605144891769625","1591076564577634575701791393842535460875733974464805197283632670013516183281542903377750304419996681222758401497321278555686661981435637461350320471258386388843198706277657208526372100698700615835733712519332548607115875288787602084336341594576426630670911478276101702119972195558314357975365863803265163991961173/364433108410193393847203348728981296285742202617988970384277162225847256295865554341611171460436362780497179090329831885853324392923449579538286804729856000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","5307507148709435807261229345132535134848030343901300324623409721698217134932866488937772986386501538026693956121121771089740095760486362654754229904633476234090792827930433598453200536551779789049352131005222659995845427680686677324963223653949277037520711609343166926627713758990384011274777087968799793410506391884872456420041494598273703914689586637995139580794368/1212244290381524115082005575105703496583315188540177702780216570265159923654197746388568151706509243638302707511238539845531608313334248788980188054651601536067740709977678222790481348003085034888244447626347312094586389347535167903408519024105748523384932942441843118813819781347089702286481924493361058339731949844620763272778960860509570622673048786968660129650125","3046577098843580578619955603029073328361298436129791931304665777036152915858575282362742008136721284817899542475666054101957899858138590963789072530710775790433466847100422875906866496318804986202089528198912098377828580031852152997907433335176267300286466072997014023120087988748396598176622765923059385876855303940720/693911859077752895978833241338902695755528613729508555938416419864772385336777924892434701804078893822446727762077537955240605927550548046309823051841326355655848406646248595628715185413852040295631448250459076043816328082561248420925930431777502622148019371383254316636979070731427737764160145097293260938978413488819","155310926743873343426312607182060072939030765297630534544899230213054714482456829198485999782086944271490229412707980997432528653509945301574794242118433868747172279224118534460563400440670015323324602117517342201640016853927923976796453577048995243600967202462466681112804476672348206491490513419336308575442086511015101999847896197546900512764233674747415844045184/35278162986589659300679088538176070649273991865663041616088851923111175518405117391134863644540911005782372831496121355954470744169969774540892096320978686548284501139861783292226140413769665461494668479430833892857992401391262903582109993838728281915806394747833588629467613308837196269424421131934859079260185052081536487462257809987002198437182539441349474426375","46729591025621874782758519074451728476386657576036360734358719976400940301493939192083339293779149127132651616972817165172116269307276487158069293114860391502484125554406945249728802484128756924044633825692779783425628292959170597009935305429239702926898931975023598456207165067568919757902764815108751735753431153581849/10585868084079030838651390738371141142245086465033459640458366146849314274285871375459898014414833295804139979016362796357043372316321872357817727821559232353993714062535883074661734509440994664726425399880995133711038483607773782532430879196405793694658185175583691180757783597895616920432527125993118171361116684288000","3736372348124144720852190769710129461145889011598636925228657393934132828633132357232883470466940330848177425542748100211498184494252714616379450272611850068867816250209867530921278645286769418080018709947826876461419654782341309127709703626401211996255743831998918894661053669189312375159058718767082163156988766821194002596331826150321864927832618126580509732359424/844176851007504003627016945212023239308348428094023437269532743221937069345682900884618378849283002998220513307273333096775669556093005637615012750733216460458689282791632437851364674879152695438589692227159038555722539345972833161146108367329370564838671791241431125003401861887477969954740544092178721327724620450947646209914621007186497081420384347438812255859375","1258774755828991281578968023382624723772927642002016270484090409043454336040857926581316994594109169123354553321469500848146015719851609220423736153365139804086413284787598253618361769125996755159571523632747129480387254164008968993734442164892486441152227433281625391753702577143985047832519062595123255569172968685060844/283659859661671181526547833415653453506477950678651675193210969173130116121017723360258249430884213011988678011357458727603413521688184521573094783291496368005697481333739504490647194454695504722542014845706216224432373442438242355188461951883454664693262684873988061018976711201351382163527093784753398257094429403691625","84932063355292829988908961192574710493098897148701473172754949846455626381329456661808566365329266898990829247446356970454502007127269708487563279536825277374133681167235811080298134899629580318813382668399644553111080625918213250223197440426147821225593304993621451053135332451997633132772608233430131400186571793929377129211228689703376067763625568623535588709576320/19089978133324852910950469658566458037096027722326716800113107848115231563787455584278193954518442601810776347091253561956877155673550458955562102935555510392954425196165785410319126098393353878286400877305164869548380670204577544630353859009177051698096136470072137579698473017257397949994722015089768745013713383769765609613514021200888647472804720456494757423299627","802638881530832431828249604040579750916118423833791608589560402449036920165704012070349537114920882938466635598602387718300074733476150548724726460209016834416094317724261857969955414000155807312852092720310159572547644569797512233899495300028159721348599816083166712365215075728968005941610056018023633235372936903015771583/179951197386119079732438617407921535065140503043429174394605652913879982486051627760652197484142547447000508189455126493868229565647284332735552462525598465192073558793335913005459266977086104359621022691931002488052727597513413492393525660272900161375677499228252863529934576881596384036401784035248649026076581302370304000","25208742399375362881099811032135575360109715964024747212026245529087599633280142314962581193303683759605084995818253124445773115574470717199218828756449187055537877478033129862600982068782249943150019637186466260707552416433010545437321814115233841687700051830170191107127799355485920046505591193770164750886037885397478191534797655616745528343172318318678405576430544896/5637713398995569614196397857525646325234056219513202928587580534159596897880731043336790273040813044077153051260989730372846713618900145444802234629922717464041261370803598799826604841654608724727320798324006129524610666235998113655193642594744544226880944882342204407750193512869672849910003246504052298022468012594459974209940607450480609190841893267203392880360823875","732332637178584560220688900268566130246820235956768724845747830959547501950765063982943061181526237061809052444110437930100210105274824607344902764184151030827266142225894655531497849161692760385938786736436977268616029862577293984376170905024712952813234949508186306774257035535805330366742322777611063402455261391021097128/163377988152179636922409938163005948596822656868040662831003991395905185823836089887990201522673196719628247106777881741843786365701135555917263285268753605514812568258179391272113405920369587922702002732667842511108732068683407168090725712401954314293193572654347237716691784386690948494003094992876867763698101043701171875","22391374854299462107923583267570593886002658786775211597896252879708753450794332301142909715845151746786016535157797023153041007263258732991465037648536702217273897876864351559736449481285518249846264600935543582562018874574655740660800634883403597181876364712521253650744197321080655028374602772696770227741610874399454362583980465225235674816785988164157351243193265401728/4983275997188967758382167867656806681565521964135131710678447245984239733544941881418957694612909599261843693554043504855207170782744518943778096768859337980470219783210191765678908537645270392500777411134164918803949155037581108678968701961544979451081836872425574123683574475790997414488641534074873248802450108535183413970057319247033379016606809226547805269752123746375","21252344995592269775107236774689012760750850598567799560343535731251766780016530978663079386453430272698006977668063208502408607227544322945446079708000304179073184745623740466334127867464883762843346619853325415963062181018736410570113171387891518398846617197097407612852037905687899800932343156979591740310928257766081697645/4718515378484509142377558412184183991357747235892194234377932213613746008373918923611236346330189287336493794499188640380975364991548794341177060325509698404571318037298112293926833877103554546466055612498927474225619680186119313129604319096374924037870803554153458104225741255753314955115645304948564151765516183663634546688","76703085666560609319365659209445044957052359500745196718269665234646121134787807938680787341023203786904308047981099228357850016602203539979246579454229078497537148799349353250167621935384193502383187510928609818011142642954550330069991570983902841318203794113898871515702445720207144863877026526025447819537396146822201819435536435835285098485990260677737192230985069824/16989892821104122916312992616665764943723222199277412857053896319814438961475117951904867066845412639236790762432996309717924037467863024360211163971190006272168845197000304328480920483651558672879967350982199768255256753110375467976246339260326422891913564151453729285191351273342206198366624882195135056176502724912849575385576554208844814085228696838834665339811027625","40153831166521391225489894857551838468150576827129133168972859441122728710165233865309084872159583787083130713473702296122465319276461991457173085312407612757280915853584698420083436946976844240063731333638150599017886937783470942007376523947840104246927580254612991191040951001539641947153847776050138532219595746056076776809812/8873576113581065493273519627544307418139908640325227196912114520903505426722086265723900326735989771660987609604507503750212298754414472822477243293638486047313990878348820573874809636084574108909615044524663712495422565151340037564156235745628465172219286664653343193162657374410926171153516871765680561505768223660055617934625","200736374277835272485186523480177159453030082779872429648449412313247640312479214261681899286513818912991945046297334418102711629933437654377760028476767482162031641781499114859553677502002901248124750539270235098492377826240319766677856465093871367817683734079621359186477306173620331748496369122143019303740252461824523590096923561928354020960176605008889579578495073283712/44259440065125442964014453739391594153290923937737136823355312892557975399035370631521014554980129291582486968083228888083079118116286312583989433037097397252506140224404130371160608365777625538148303917306340620019882928744151294738308047800711028158277500317134537540772759486365658024194428796846364486187105343266398338060080611643110071184992193593643605709075927734375","488459049325494693259159444507437983381645757291858092983371672334043029615965882574409808932509285079401239403272414271652617474184321852388397021836909585659327974611273820676128650810907598106588433939541654215766888212287311943387232664417347883717203611092450971786083806323404432266197250919880225892099146722474124874256523/107455855466267410923480140898552598306699341366032095904938430084768624148829473848763761936703072253841751966906142283640379336131083461646777390874405323298406517250231389493084918065243079819898691146841695350589992171102939046740169198394671965069747042621265775948217054519855346617967866614303497258042439052681849864192000","8430374068596413768975326329313648683222744787097373111477788794692418932056901235174019333392845529821722488982447683794746518712070635063397464904489452840169472596494433874412726723065560358405027764015273789053064830528919091414531400589850704395887250756457780868677553068164933299802944396576360356896758745030955907258232257358056931680617626606715393885378887657377280/1850480358582748412767893656294669486390769246349349706200869446679212812264400876685764762211659843658541567071977813110496329850010288179702589501255367345935389050373021591572539260951149696801665953123597521983257852207280970577287472932167362521740230973547070264273850381896786822127290397075758780174083415923482640313277341120938690594859118603017930500014640169211239","58273615882491925540881784328370957720539797010816130007322211512070634295154626813477498607761260613353633996451797686143131893884559909668805628269959901044961666535533876340116728982072626875010391195372759135469446048394835148654407846242721443845351855234347422256700864370273092971804207514736924787577569355949601385705517152/12763172138328432984573837529764902730448666594097466544652830703737195804747682450548488162227364538052585484418491914323658215406327363805353540266048943197822838925184942600367647278764952826664684839953902567694832690683467635727409976388280092262839126779730168889686628630302519063225007497707028600865624133968363921915016625","2685278694947152969468407055109959900160804835228466214479525891103128459065131221736713585038130737099067040196326815283171857977706979990467444622550497565521863441617001097354649972660183038850033950647594754644997436624623325003537308428828750008305464174443210079059253920383411910911594636045517662796811001285984447671371943267419151220518726940455756833040934506414133888/586864816044968996825907488721678304211296267371936463272955488077666796280028127333229453342355554450708284934221461946991556216095213627059047984199091625921432110913096253352065238765240063555347292393427726758010888546427415276046238297382474708612526770055488323003698641493939145624184943388159614111350839555141202024991876221874110644879676602924730506882384603409121625","27700345710264347957758638741952394530538598225904772664391173119594616680996031886665218221392453628824570256438960349220263575741495285780845399187013582169907518462437966962923592601721119258663490655013419675469864809004562272799012227293974254329929404036071055528766397079743200179924243479370594973626764330855493789112414191/6040997839051213541001279276287478343874107660287651711609067205111574718442229224212245187655300348484144001298428958025052162253854676210451657425437588244676589965820312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","80160269787574270953020489212619791839643207793889009503234879683494928396231769167082355143564723274576166638869430572977442020236299319718643894871736539109822173538266278165276591962215927816541165548699380129014840956895931285215480350321259054359835472320394089646764361802445068798451796525897304221529850133401768027469126408090577121172238802281079916258951770135485696/17444957084936455555074876721808241311651668802091828589911310253709517226715880722948267977560381436307152342821304525073651379763144281678911047276389231713860392794975453518107055568765009486973017341479560154792340888780337029481646046233967923289468141293699236815196553819373828280398488966665994092877680860643266914861837639322607761804740256920429518434353839878280875","2352816897072623416220002134476921108405735955266703519252095150412419264317091785317803024028565851487861978477208755211589867803009700996828082850796103789009194767813611798769297617674631277847910238088040257037678126316866517601388289837575778165301828137259948173292658462765645645868094197736382683775415645307647043205988394700/510973411316690313485681833991645423802776865720580280058344111363363091616558230182669376841383375321912553771027107891991318313938505988903735114191313214327683449514676737796942389784957658395806951715454372568523597420866050825822028817422805046287798054682484158011143949412956697442991898914560191411624040490122951328364833797","6403295584873165688372907494046202150046769667837790834896334486679541887567517050446119511695248926941383207478170182650927368177009669717288184903306689332746127845953193587519575304974203099873732502605739219028995266139383163062837007982999189114810534856227848568800302527760100163350814120545587074865568436789021082619398126713943637898657861949091545516403987546145915409024/1387794272010111535893205703999712437783041553900341112488641528986385462810448493444968969845352401058333929711237978223214186693177251566069419805757440174840170213159651962686467523533938145629444468366235554597245713128812532716616087753947246800626006504878203666972651384731498770435755225220796872155249202960801768048854869001310722927230237083418017482134588865244642658875","82993247683514419570466529457059660634483860665557779709153549045427987672829778520201315148149878525274005978368939092115193636113741972236218502664881450367443614971109677363668874484696543982239492409231870942414193419634675024621942196087473557914167832058111113476295926250739099284241826553737074679953551191767148712684157318697/17950946423927357725787689855263532224005643859095168852729513034456208872420513601894508438640531171097082516559962755244698695622824386001219435651555513795509616906355363573638916895074349491513539093024980575852693293474288638209680085037286354050958859425647536735341886663074581909148323105020337857959651624760873736590065664000","584891611376763781852144397260140844977346305541197362434227194779766612939978629636198589818106137319267243431810481928639442343946346034433828599323416877248326356345631611148749005937144684862502198147087702668524450709118588741606955966569427636630159793409544653944608958808602551061186799401212712216156799273254257486955348236914237644151956226336750212957092204830385441792/126256710861549838395499078249922986417488985866522660521294610280820007499099176190820291214370699289977888813109514854178180265382471972583921477022411657285850911270389720508719377071949050253246021921916685716353393018411683757067093259101151481189635423399611625009617884983318141463140199839724797412514785751549277231259345923662499623640886881048572831787168979644775390625","4743054867460856425399742072925732465660626340183690464743217147109403130730445842673866624947360862438925194786600531200056131309608642363389833474026007798643235346104937733349791667694862514383520689594596660275306247615314272223660862212527346572811422915223417783887717426641317921972456913534338708745549252254865615725859881457906376/1021840037832289788284691535543138164288462770384961802287250236519983887262771944174557087207566030730743075334169628971336358708580124427857321953981475719503574867471090607795242192417162791762511940848493176847925838738242153177311649130718886794249673254183907621449520415060660496225939963471753122766421338241291756892571824984344625","3784664074155769467702999785016514468281913375341134899878893061325465790589101335015569840325786070795267055386681356241209412947116340524588831510768864231937929260236754881829005065056310226407358204278658699999612596866156294195316867934035877283950841910726224355461522065773816109849107487214275801829843762482082803559183694631856772777313673086715631547326400170962722842240/813783281473223559981291694175087508812520505931454895884442580280342455516154674683217348039336712901850738745276445107477919518905155156380620466135946654952837573797479076027688866326359448543065305071605591497778941561986579230698384305536224430794233462949056326864499827444363206162251104552740175503996670997705423888382328014210171324376593090187604268086334796245552762333","1946671258536842642381655747294621776070051525209940130115769153666368932042152311477746728678182920842238801763565726086459485050237860693394471644023999467670017470376746609892484192072297938254898880354014176373253875722410186683852253828299669530022166361304397631667133689128358365296701757782382475692465977794960109690362462330857/417774039698408581013003883929127512062321623871486379101498968145670269174833505080260389860863417408848209525427705249526516766731427603641806256289098209429110794311660844125377702016056984573671024035213045475132134896835814746425864304907974005950155657789157496389234919107772201305672421982198984613601511388413381215220924416000","328578487723377153600821813410631465225159589727320893988991729306688663770697528156625398176929288628930496338036815910669579019719633124832162035588583242320537435554101841406566009219059042888412893352417446437227440076869427577701706713564212185163005644118869496869980925214424591264870388237079776503547314587137721633918824664946974571838634860386893404364499977966899068777016064/70382695927096628347637455030970644630942872888311870124896575877585692281624151103204551947776906510366521972834357031777287506848887607457751667816514216907338309372900327919413372044625602555866294337672022362865161523684052940126509854895320132828009551012639156341878073682501185688461720664801829933689280752623773789373199210473995823367199793407048741191786377993390965297664875","2617201476921368517857942326432090876874414269689140439151907982631768946799200744678055980827789859579196832718849393046147656447672531861353456343821196812881882023188898815179947651274131166835133965629115749368441605680383605331300030886676081418867305170012032824011912531673468215561506423833911621270680104083533917562622600478548/559567121085534865189976875600841717161617153776904752351231210970240323460800785728739412474960421770806162360125774000625035522428160837855944215417821324758873127567654244465281354654299068546570789547691342609793050301258532586131013585959164719533123826201937801986942606844854123769532447570107525081084531848318874835968017578125","636225736038986537559880265988431731529837451289737542395494683393492040808565905376235074534207026537145408562785279823547657299565440309510931336394031904920056464959974743525662459433889398003683078967642651812081450227654478095420306880762753401111260630654049389197602389949892636943971690212484981672010398108426002137114819838399222096538921225458913266993881960732663394566024064/135776510176793971074115131648637508758953050390591773574951317807919051619690313331192027871176160424663811116849856489187562728496099757910540362703888937768555824513740118941387831822900198029266206334350448626733139136083404404120210893986654422850183837974770675600952078956326317698998103770833069712616832650406225828969036781514645731022616236082175582937900731419575337473384125","266695771933124633677367149389643417608461366874310588884377151539325854547826373711099517873721616543570605935954334944030816383858485296542260152894035979141266909050267414072982042090341712035518685997484257326212454742816979806460287972757626105526907510197321350895873473656215941034605746494172316089636216915825022339855304925515685/56811706665210352283362623728191218698295056176625217939528332247537278605113496147630185544004654583441448319260578659922931798845493756189402805173037491645434052737405379674607517658118427614090338938517963215812444779184193933749520313676564187507594274551791388039139409235056119788261689087831209441779870873305232021728002651979776","3511806683161697708497547617957719390189982761002154386881580160856792742952365159764830433511949678304281539875366378131195670004345568047690216126001067194904446295336734931691743477531830892015690816210752795806120303198745685394015161323982229908105397857791180342330098240702332072396030780386362735967021055250450666535422528637737695053315137238368787607412459874094164027214953984/746741569878639983491390741637813989978804202898438708743258000150996080386381281307609038830698579358879333079215327202911977568726258527646560497079622703052765164031089590965199628534477381843079892123440214378949632707668935001371616475282883095939750704292616758568964786737752325652839226013335092148777788733453702438432279149298482004122593243860829060557386699231448957232420125","499543951252504651717279461487337168721376180441322735807713499521878076780205427598086756686061009718016175215146305489885835839673419698751530207404115002383180054704927695269921072232395828258826213554806570423602966743337801741633869267620843626804016742412046844770601322513184123515405692795346790813502805238635003099976693786012816/106032986203682550514602969462803214831559442358811656484036951559991322084935692953211120289352600484987931812632505499612220494311324679562152078883141464406938524087376964935494245010636163705698220308243980789514815579319533341929989455211613890905485981353837321342730307819060825125980500975023479813757024395422041501208805339176375","8540849722242122835873311629952985285477986765819584558233324868363310302206006773828897816547299245727087876984857726652932481899766510637403577175623031467933486823994040576431755172220921921877192006685053572215922347418846423419683723609799729359551828522978186208983138345476801247634773975311405913274552616037005854836040162212761099347518242200807692224460514057530656658616850816/1809694575992816440924165741094996511361288430727981159314194000585536832192004274726651828760263522962868944612215633976203596150606503849595633388319338251977160257979846235995654357082321611719654136058257458753105122024859078420173515189641515736029725847315662215778251370398007468665986604529263071981040014321717598469319370651877296085250322599247141397427185438573360443115234375","51377057693118720457387330519321684810411289582445982078756989158447711080414032055843805733348558621949380554029375294451303430269197115810494758213980833379214402452992657502777067850631862453239349835215260705131864911194740832694498014048717871429797341104227759557199716944554347879767916801106279081864127192611546757627038037780244683/10867246748205139797826516105458406878398263495890048637741584969144406206902037615496936724683237700974333817527350121106320991054058406504571347680049945745432432384570515723033245430148177097144850158758462968940525568041926860856763884474605057056550146491001458649244094211354153171337463406192651150028767064600270112838159624568832000","2517199821548153657910904242290029026229621935918771922146425373057248090467388430999870036608278542449661971830076845113363443421757278612394167195431759807908413353743377586893872930828548256216510734912027450642648789925142482023713336937258932978503310551945630359646777080073329099268529064437120002567758664419443374110941824106727218341795100740316967386497091058915066147604481280/531524260324016969370728057738851340792702640911631807178654723224511108065633433027773388768889035083734041289308124943130099580765995149865288328550751289346866467755881013217287175392101334538392596956248952430438673292186779006015549928829953979591250274457658042926539541422697852390294886719770034058916886894408015624288115732154492554105512936468520265305162358665491880968652687","937159485027553069020805864547349554547661693803137696125140510201297417077233061462068930061915381468160677500445535971818609631674361074587732183297775728389124966713749450996643183965795829780345678634356741756033039293590264355732129789110416943789326482663579413229893878422643110852069225671783017610387570935863228248464396615988222968188/197552642195166614912991396771845374656891854357948006221100585931656016640982345159207601253599235265353060942313995345483862152489766993442419668492877390774016299878943454249209917002169480134131612530977452579520564400124908392339263545911443803619972765231094502745980083350567509014991735227390978850048088378721210219321877150756855372125","5119346675109082499980756672052066247676641510661024682574296075659671743397880591881419516307292610449161239233139088348510165442597278965718490070997173182184417648987611422446347235659085092530927312760229499083348217392125906851921500360553758600756698605047197529446594606336369425040236883171542367713951500007600355406492128741649090501989105696576697387613035366083536629358444229248/1077349190930018641197987339365056771667455373500846354778079878558146320193384166982231171317419356136237346389570422332278447217033773023556383420372685049620361481309067017697564760747047839930422553324681218253359586320952896352245366885171583221864112040038531116947187482413031483309534553461613717398523132176948321964066833901215878133594739833910960843185464241840039390204295097875","58469980853327028628854378052548435225264353747414624620847476036979290604604988637469977624105451959796142112200285366199247075503424204044884512269071061176877225315884188402954249683107639777479663275428465242905314418930053869461904934138752031124685541853599407727446896558064252696813370692668496452783003306386669962110734257851955001481/12284458784412533668960387046583440199646081362484321078872891438551639470826582933879934711861551014258493898870867541349962531447724393381011633785884743889445407749238183080941846528000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","632694338036291086868292541736272151517212971647680989553388199374739841494700315711180961760384484042159533979873604395621016272772109619401112452105475906812313548587880899058905419220497456502543971131226430775692744506047039958551641270070996110661036371362526401525207493270590999387476275629412687473362310414634469788979236895300129227082421021999210841384596617452097273320509348159488/132710874087075221626157136110978536488168313127228703025408943153782802265472978945703742152954881438058373686972477195846162708986982742647038014147903817539418442869011995988024638278746664230046452545499722614320284478925059527086663455478374200352375121910000967044366831275681254530914306064535110528723482282501358749001657608122307686482720926189537227492041135055090784059994118192625","2022422468242151190347511883185841333968390991430363660248687284021524206079162212007263606819387821055183192871951076644707111802972354128011904720586729919826758651167984507804867954970064938022106484656560866447290934136610214175516487579122328055482392137619829739560923807880779865442016530712986750711199998190148885726144596663143651240/423528009127070458603837580844559347493775236970253513203186912091140251858605354218715508091394564000304400858761758838182654201653901408046974668599216804223721114331085507752600832390227068985693006017591304916519540245902645712532993889000048992026931475754508248265356181099817467608863068068953756055334213584649136541490530849577363647","150542201776735231618709653388506394887777837646651406023174643241783006776019388336318216053045300417086929061565868663031237502137150880313922488106751241006715449458736723129545400133450376339156062387859536289694727635468338235084533552501618659272047966040838509286942825414463511175531001410923014751124732748099355476332649458471135027773371541572374016038525336728276024676601778299264/31475618522527975728853391146702172347290819252268551219771201846701658848754300838383637247014705706066050673096278897933831272607774110183488615338021656923433335661890414740664480671162459271850877855521869741833030384682549648626038314686632195158507693321505500888988183270276134667071014075017317692121986144742473139078857816578133693776368882596780120407949076129685719314703426278875","162664351499283182546788129866259011542529017155637405328005084357078048074065548349602626724265307733005745244338982661090506394708170105916177679714664432754153795772811389612700051002336719842784098507498286260450939289109123759859710248621544296008356071415713931721102824434964336667980062728653562369697289761913925215639430496443820411811651/33956433298509232632327667206936379248172049619640091186698677954874297837764235300806836350019565970550533206216590639008637925266405524715041372407701947953283803854153876844320283735281209725651036513491246238622967031979233265136280687995181375582844780830517825595245506321879177965868747546127685256867456319112247572348416655367667187712000","27228583713734183629451808889147559240254570554044667607519238865891084165382075658707675405673276615039702916443152954157535195508033284355580742761569101934821088036084480297442018005972653124248838420021440899368869744141698556359295489470499243402799483082406238128875386939389123336303631993557844565927960009744780823166462314116039469622216263221278402673028225214534859076857413557466368/5675134787340359276387085910732530678163604187009567576895331134521132071092293139167824957253050637085885426100206370974479279292804959049999647539684766632278449357893560561608633329561385765035738071726214510832066885156767060324427330401967034889966727638276371320401053302413136551142103678412692111973028587922399670456670380189570979581674699102934733563330382821732200682163238525390625","1340937726818688387636018677960518622106989311577445614347061615417831160296369500704524022869612973331444242000788110133157689786976834913297544087249593601420972111789552905846168933014570399562460789075871112224533723259660967481288525220689577290386781169316008987012566216235876842757183233207943071523447855623001920854571597886491163165150556/279054368814522483241446594911968519760869180429079780837994812436395792594449929617293503975169489945136244602350941695478861584261665582123038340824700224583170270427163469762789603657025958695551448477050958557681299495041994050951692916032501884523150972841782658389836059236040091605838583126400660344344601879969354053137568588338096589095875","8910951660339249479517731530773509037034977353457185453617569046885132434552771722727442649095007828468878374139001808825741829728375370140505088133244952288239619141544661695065318568074863317054989982620944602245967155400712702259180443238473885690297281525960618905625084639870407113029712510345262279507055197024677292523214467306898573956604928730377318210588837126450942086527893437954864000/1851573255256476362977604759655284263358595254392797078730401113550522214182030016660458780180636930591149034499142464357511158868625309442843792189394292787657774627425816694628839987456477799348874853555586931850788645677998004186437300173080088839930384424797706381282430208961565555953254145002318893188197561315855286173276564036402546798318351229978103276843822345004757661005876638005274037","84997663352987536417038496128111159210386455419431137931308301989414462311135708114322046234708053448098538629166672456703651524480738219822858469100454933583774404032968304328859365484249897913676382909050450855222567147661842184538302991526635974158862033287154321908483007506326807469239745851379559259262425675035790574846229470041596801343087041/17634687575122715507915388096857069366146981156897230620371714518707518105157483283253374797127075689236298114335734874553183291806268149747826050838089931351158483980735336772879045027213982661634865556129548356487722537193914986994283729746578044621115589195066212043187229606921062007047940293972381121200723292297716621231320254309060321476608000","1648849257486312935416274009474520589799750757877252390543329851029437452988499485179026845292068377957697884739052491455807688429630524210823560524122596610276957537756142278585091315141096146341773982302888007751632401090642472506538817998043326415693840862261701364114923327286462650797963969289743571514890723145251583881752876340628073395708716735192690808352188867334842743895738955762067968/341580411902962140529547622267381834425264893226447658723654120920549166416114849731588552578626041597847002946105459812230979900480135423787717825697955152193526724029890829615845314765605770060975538542976523177976182401820926854406945392167140347444433885786340415437006775075196031433365827874254477351374236932624514469241634422312990555534789607377023339236417434574755566856489013828206625","4899626659231633406569362199187192352933567344960498139854460545644210119722856870634652562532083546344965166340063297647520613455037240144734014575196764021102614748218834054157165781057405100578668000290493431869797883155764963238760612333048336953434663867580862692267574574465371615023999531030446250351305046572267686566999209229202587258144318592/1013522377571209303732207048597964555261512342860326827024786500686692475697570284120359840724596444209277948648863014479460188496587721578075151793081823795161404110811480269106846359964436993190293615381593756076515012514100289406862487971220020752628653845345780766244842386136740768474703009091552043945843632199999007070800871588289737701416015625","362903847358088423032098939589019598036593525722040887883164115981767777873860799955715587436566233010543937498922435963385091400670303956612881974450548904906949032005878241638546734597308786514086678561900713741746905742866635779432216761799371793260025549698865319760786921444505323758235164807966277024031605673481480590193724980659448692487108892154809490199414370023696404259691299614147712/74959603173756091922435708504751461448318819548943586676159545028063979695880930926805574951275602951047845904770828900645717477098988124553474616764040938121171776556999069351772286262529729056288451037717198273521810585868307402693261479298923209587143468206907278220909447483738730657438961435587752873879244136801168836767273934997417156543866722171766794171623224855358640156858606843576125","8521348154958613550574095745596657249924328336262127244827955886474742319277424381360677655239017583606851483318951440691757875270001283229585075137091617073509041644097526047127618954293881264113694362598157456878784814696577083997902588926421675843291157049153701100218784481406086810264243143337016042301806376864424632290226377881206765051896745/1757584673254145109614914862134217345456065873908262753169404848658913774363650863904627183104777337461445063704655164325930891269843669860409763569362863600932267319335889540453302785099532688264425988677082044905948179153286276609910158854349711054144968131934713419772852663860893241364433872853338630216232313607969790083448433666334742108176384","1802461420562646993856730082999823508145602238125054717836501201545920604020389361370931345491160549787411668288359013059160331370751496329806488246135100776263777863399096485894306306621852596694700845918608199329091852956315870664531614358379176680326508877329862713333336188556181470928613423972314983964578645688876556351433429494008513812136152576866650152623510296911708111085518974142728903424/371238439252064016214448115231139360835481920731625321084601566992497057371416121407293286027832357816257507287295719261141426130159269433199862002841433235955835172774430690352481806933860390015899973299268361513643524088242973968537595085600335021120523852420135081643310663869327371821064862449426404044951571585406092523478861879148545678639697679215289523234342337347529225543852787599016265125","88795280670112240977945082069219541902481768504536167808816453021962616596410396813316064685579412429940019071114917828928080181638058444302439626425155946562362550070187433083541414569447612195370911498321149367969974762244140788494955146280201020345849385865084095189982291190135293114489407801749533448443222584092575861096946605418438181411489276/18262596223069549313969288693970246663726147886364354584825624311486557881239003216971630599389642752648815377795018130449384513824927138566203714891090017787258920529990523519479383032564209629983810866231367438270859421572641494420831435563580050954867101292568399107965982704216434467243223964964535464624988344342084084237484262612100980519602625","752911409358158070688133336918078236438086521781731735123294741731669530734909563155732092406099003582749182967246236657021875488130304108082404134004381196925042617909108654109138702993903561036987511410396567636331465803949049946947888490287210013788802287247422993384874670368649616782837096233384279817294778916419067404863458318451722971117669642134894906235066332205740872938406767767019265664/154635332883086377656813458754577288834216641577439356891585125701020579768315520324293435008561626926046988056302745604248220408154454267643222328696606367409715369481567213640103076112146615938180089303294709009813772509602954514391675152597458428326644988225555987883250642389550531163153338541870029415077982539614784206119074702022117790679351778993541426110436276530890609137713909149169921875","15286089077439918584953144558775765002061832952090847117286473868694909713791678395221438112006475047633028543501632631679316850512797978594476229228325228403849089079675681042224057234415951253954044235099139983386056610384489202589484570852048157272551098909455253037561994944665563291526597323199530997923272894119350512727802414680772513760081360291/3135161418037836259442831302977219750614726139657718770206960776514822107155928800694375522572523712277389679035632531727155957120566617736817225541673148354829212969778664144907503411589126111888917929495106029890532891919001138770210977012708107496187227751496980000137223047079127096028939624830654227758737339725345681745847598157538483308068864000","17723482381737693269787076798246423310802126092500438681864673375704464394105734049099094818738115345706100191580982712146882034618103161268453808819471603805345990162762722549964406042295355916458624836894291267553138041035528315839108252422478610879301656207772491548742981990469454529537049123948604931661837539943536878260665617524824604291547373872716194154198824107266275716083848262625068958720/3630091565725887087605600771358216927099748013831912080380983545872077197366172619225751217619097657405660172801849926220948413919823038425519006413005998509677472226729295278652284861834178791332630676772284971762683579047508016687969040658592436230062049051143001484384767836353233324570686249824980508520186643477313941054900197268584495128610811273834192099099592687485176400539748616360799518357","39160514032490258389003214587901781721548011632821053230881239001436341012396166857515197251499460842954863342641015306304854226194551189224721257664420778416733889030680295206179109679627522113592373938602737416822981698362363553492610842201005420727750505681358595340127099855823746410663750133019743170700888375554918213182862789028531284364877435896/8009919337434786244380818390213546866794958389603666737562053423775386173149395943310276429895991903753441584557917565343673605019989336264748588735390182130334278887642569515202100870042209261561001627386525182096090194076839370589780431326097965428311786635366819094633651297179987340498215947144870164066409654464551017761658775207392803825996394875","18188388167811476762477659006849121912679763597132233588170406666718758511478154418948855160838212151370453213943784067796172102916618102024199200086478021533171984254799008541948973652219533819511807681148179806051835318645591102296256347927018942348574774821478499092054497390790734798143983945096982240517058861467440217558586822663985584775920517755909444876443211404222400335500608733284461685888/3715278241795087610941547133490827711133909145414878217965273061493740719983191775105550559905283733134189195190321643965858771461560130864714477448011225816210219450040558581571206711791272284197614810026220745160693898421068168630870850392739817340370146186703867097982858560347971281142766235850971837330222970900661653800041795020382847588362774677568059355238174402415384788280852059532958121625","46353430636874284402376008361176880938798775506236714098123916668545331718677407145199311191108199195405139575147933283523305343027297808443653460575141799729554209181454676876263582758919969948546918471128299522715691694855904535448703118221685887195383025133924852224568922999317583667985459047407473419196367812949579858081181660610155317911318937349/9455890179897829052705408931064120820559254220394152447502395298827357144081378513080398823188243663943177539817982481713456798757563952162598464929784370305696420245648035222083207596797327498500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","13607414211126412689435920170832779523235279308039712294681570127241403406455725064605210473923965685858012114332021572088551127762628892611459785625407107300355287623761046438724706918300976102581928643740596336865698485838431972050267114940079353996100620311097561405192365496385584164725035842307146351211183443267583872067352881387294766804298681841402861626441205037637282007810811602289501477350144/2772205947240095684743358245950494400934136973845543049938212403703005150954425087866758842625041409060217562878157900197951382737615822655863548356735553650755342108183641353142157728364469706919993519071329069805875834057743793434164720370026073143626055293058601124362130539040404491770346043977106988100969901297669523170508321703496903672333781306743488573086901583022550356345156457496396749797875","23264350093315690507131500726914401771633259602904894387312742275462601574788485574913195967854009886824436237740789910851843045306673524324611130536719802717912615609109285261163220007241492964833933975789257681755002054890453747803418465119567389315754801791950553304034666399677630030683759466627797123971742061866928213780452325847848901682792886840980/4733430508316851445525799359992627142007028326865116523033957869609125212251136452396410236930025876982265915963089597825393317909648054808274488356887197933393799241941120691826916741647173843634076299630884655997401370400734954098249519111198509015387869462198674657171808841005212058822254513429836457539629035675822719720295352508916898476137111981397","538960934807826161927564251064896730663918579817797131801326848839524373936888402762331254883505157846659830555799909822861853145306547699817986010353774500545305596630924815657016569444824389893996399550343022444937690798126189162954188680257730893424775303801562327757655350002001080811866451425665301674688928515041429654624970707803336800125648742168380676815769457467038849213225206824671025803392/109517448833211208909213522579666376007937648875042608355810687327424621469323788799169718267715808580775296460944943658428295481347915131091297305260674731651980547668762317138753250458639043477453950774629862540017034566407286963562574188172753764978963685535201028286359818524519980885827473904574840285411260037264057197155527809916623487144493019982419606308144576939532055057697567269576800542875","24451481554350251656598350124163983489544445991992661049829014268366250968046589127810466483349378560701491445658725080497078590986743512397927747885285095846398852574219367580068049729894667374214861939897557930527646930793431512683750733092448862551580494245486308114129295467976874843852138144539250235632985676953662288536669286915983261820949386845806781/4962240683851186225340479316959605207278948397833849899236383273145853045488131674290332609876751222112917095096150531825255611911377071887145019702433883343849119017643117746273523770961304609989779231048095665388209125939879595509516490230961558353074751312876252070889983946768175488341370453053495319823381943793679003096504200440997908071027962806272000","166591964685609920525429719961758335887941461052357297159523350448241484106515158310298216150030768812873781356326923214637847449893575074813991141092681107583183275003570804134461187213143832123628701876041315736048451374824101256980832991214945762266748755723551899001458245164317581617731332466039757786839492869211248064662857987111284518155462148044812626055842061283907063784492325693994911811072/33765943466859756347231737285768516240749714264564410814839966011490233598006227246396923594069488496368994857718734549787000213944990695920130591750377483911116845697231074543526982580529937081378303555262933800375576494067959129682770065443667091668104132884375840812635624862495548888467575848428463895756394050252457592540570490061561616914443009224917652440212112452400106121785938739776611328125","142464729519206642943985715465196065680101634264787375740459792619754842396453535646509170066091478069799080172299369994438836484938378991283020978342879057271045033903518255546705211647900945143546293360496661466657600494787228476009216508124736254967761901224547269496682078470378676865981855568197705507111970901389105723589666709580851611656838285777566736/28839643075889294346635430272525349651555039807615358795334663734940126053968249608601725991946342449660829847322517564370606746964714098508298705743689729306507554363954348780144675937510900983622836770223945538844314468550644543502501484521561567788992156632892028591678742014134130878101553633195551605796158103033794695984958987367799607407626319024034625","380457154857422076784416625436182734840012277442496600178664323821064977485271288502806124740204295811759917468598315932331219906040253463960961995849761235911145436552991677050565022181516596464968316292789048809559129516930574340710998611088996508613850407294743457197519091160170604426002924022923388338999324182261954685794522778833029950214443271526469607532589775916381786492089432407550224137344640/76922142291839859196033215395526448408989799722090330866256930898223012427332209054699494033511478050536463051459450844520020426942553107946282832072826069342120835351421637970462054707566481086202287686453371483126873188020538661871147778312986131920021929455276187425940666580158173676284545586944833678819622895550345083175685846944633982680908505900099388037050135210936852210263717185637166725605577","79999800708369666670693340813609265988600461251844239982904928629083975986385235816587497657678297663151298709076884516168798694292862559083730259839524968813932151813233366175091317046758260934357096757322369138747731224414176608247605314668045838769433811781490030635374856042786947109101585097035794969502111354126773165391577217071956928171336060247633607/16154850265413610119312596299635391433380319311682208755390341659152160578366244774029302281068833963848811596545791104919556346810193385001196395489740571188884873246131813864782581356887110499639544662322008824704830818136660544673293865921754569356583698951612797219776290835161780326945625621758204931298948625885081325268123344406261740843197232316416000","26517014004241498798848003208133111307300592620947908933072661812816683085261359696887064436611747292468717739609776825664344064024535028242737616786238200200498291226984541942836459188328346609549239724653950302145388877472274074665166631509490297630344351573245265440164082334092997307729007429218385933622623935704482371360985836659823269511115937443161532987660855490906546130131716829909388620539153152/5348257529530073524280989257577050878033239486885664777340947102417077875628238501791711336803418503616042922880218860266611595594400020206192599559925169589023339295256084579966533260861249529670141854632965231468533448709363477120437277477668173149958267956654411822360053335695956270719680086524322530514249891157439878407417971839744392044064720476417844056346174795601710447583861127956455406902139625","71197348290771978405602732839537012310626009318133570890482364371056186523989330157966045289127980687764218363064941391483781008265266963537623770685390148810455244349859354857421474277963009857011653865476081389968122418691934354122230780300833008753686234433642072919923583176333668289998661499146617277981691372057042930131717336250309680764289256080895092/14342680993892886303954853579883363225921109635079605392320944523109187641283117181461662846411912306480691901515655220490850586434947504504317080144378185989596578890875561336496479576651516902048606328604696610314441229321219627021610788398730173161473456954861916116391687748151443335513249810808309201830214153565966339609616397865465842187404632568359375","342401018754023891059352629509715357053454506037284788725127073168445189422181540408896452651232759821766616850264122591225331120588918865882061344322996688880669665450231982002597398732201789017495427566260651180470635467002453249479483900268320570004293679361696197905823690145326531180324429318916092471863347575533714871355651558610515931373080997536792242278529575700808878786732127630024064418468916608/68894647682461956089382461406499759613691148650738957016015844830333168307020284281532026442272618372290646283794122772122665531108484704223311663270836645399554940741928358317884620420886609705267248656765357348477857852684140561714900614303731786621656041881975328169543884661780531057279582784036689401206706069028229798913082362331334839997133771880514515972024899408556517159759907883793675672065360125","190286571838805495686895463752492174798162827967490343625540320679760700551286395956241059969689020885714190883323266375067607282890063444652926151862650426323339187596278760962390404656342309737428214493422028545912504503974763216230927196187743439226243880933947417760147785405444976177822143722569696182520826218120595298059020305548681823408268556482981325/38242608291912408815838081993045123864617058390583394828737640036167893859507494091864963383596867701436244007905770284939991912884465101575490548813894148831966132970730263562113961685364216989999844961688441914455435934703797359360780356482629495214859917249465567846934284121032247250332634283689409883499295469118485912489058982596725212975311140618764288","15345379701153714436938289567639102307887273898834051456693981514956329731572600026866162286097662958712922836383881840211072389867463987895894067288699955858337488812343674818565432780224654423872618380928462939482247900055572079914753652915184313685270722583926261499687728814560680092231526501970431280783177357735398580700300402036873780385926225005561766822479878280891130232036389707452005183370152749056/3080426623087819678602049171756961824196425548529619576972793653585089380165862889092832375934535464160425580449193072125955685099151500755278763306599307218302635233595329082702148677300945556130106197481236122437978375963261172524503625593066102601042060541617791008722569799735202779005407381267021641545644264334109052258081225159748043792288699674153722046659880085850980843460715080965607434114275256125","36443601662144279337033484452272105547257065463167427418525882851507989449375452076227652634440476502702584889057376829320548464677623038648843251719168810701744338735202853412651160681259533015293997501525430222870696235141468274274064390273214484922080219643095978640300874086585386991338440415203863901714217818222666715642467237183267303214471854472286478344/7307237990148312451155090506264642657872224684879860008436735430879314349554023096366846856470375025555139219961666754780864835035902856314981482268319886395881809659368275720375576152008289949085453326722156553603358879420820012964006978808113307340321824660484441618487292138631579616351777191144073820686595597986548374588839763719082323114663844043046087375","1575294930860663922843149113097927168024893739962464327016763741314068438447271326302129681931564068796631337571133444163024224071270063174829664848259482066723104251718808936762938249028582992557822551950212098797718627418782376027133576209718376784834456568694813577764300716139817031545408608110880973380162736536313173329973171844528083756524804574267826691156368696436273087171467254161930265910972517504/315498546654512047637461608750018349421492986465373840347519942494904200733840189483934245529561231604050629653992944140351106887747105945984325466452136415067807666316202346895657914393512001212656936450425268507235863153258769360296536050028695266363553141327896064944506216017933135251875087069031098099192325817395958019524956320840925176589616439477134480262100237057953933117460110224783420562744140625","7692057599553133417225997786980128299372439542315125030077404519679450372805989755158000864378924877036225189784045171045139667691524763609840822628706422918926410377185494048355128046783294954373197082851501927410350313585640237550107070936498164597231431242858771457898152684298047446530220873884022213114819556822050178579707210264243087257050468000092842761/1538814487241112760739561704846381585063002784795057066438330325566843108114787083741788078680861495340026117682606689156065008672344707615420501964123121620401073675430690541617930520947170306763541251152854304975131871537939618684186766168376514664494488691311397307418298556185724993104760692216619178358268934740746932420562664234738576394742559349407744000","15190836470550557926140012263310230378455340797095100474720776113765300081463960235506950799869073894127884189857505951314428810423734978025409205413789025720642609035117121385453856877706229778165533034683130064865256448444765902482146676668197546098809055341050873494446231793312407516463576380102073171090898973046611572020564659042146465345334273595086941562425006763960197801018796906114925005810069684480/3035556598829526968124942916297025416522606357010637652635799096498208643970273828496655227572100159414352020909846298817521082538898702393916708804775798552206401718323929157863173504795127180177622667376867235806208021329981136637175570409791442328468473111768140746895005561471574356889047981458002257872092408771959478275534098789982899056118498417649167444480913552548249005268380838457505944462494874581","2923754549090941424546974281011770689534961442264350984393235983189168024079617848190236639328676436485460311093391982825027512234467853098757486086492333410753919927528867817406389678461354257841007722472106464785557179844602277350411593959136520732862935740433163383885526249897183805981219416420390137516812715245569037561966929572448247077578419534651990827044/583599691615378545100950777601104007812792435102945248411439102112424251478512952087517463400054567832353967731887062349496616445419782499817548928078665212077449420216892583997505908858360011413290038645573504472422610780073975450391707084016931661068694024023083417126286468909117254531307085545768412513447197205482285022417611018126886491416133665625891075125","441922815213568908489589193556560586318864326425397702047965372289295962228254658331201274291697626694859414786292266008476137667843874780506886929181835469302142365772763129838217316953835831059616268288399119642314758261677639945004547833810080700127847214666763863338091523753898362699222880772298183760217731228628442782431573977490761665091005756534420789258276075174436091798475838370152192077494553263232/88113527373573049332749294663402406454524640221866407165839162576979477138694653404281889227416977618913249275712917582743426231744980461918772793673202077716234026090308791893409200158969108910565467273725064769890443408324386897017825489615600787634985397885230455168591240328585041836771921929567914891379235573982442311269392541694564675053636078990836491104116280492254795616055818375774141667319774630875","91197133767962483852278456285591810579974783077874307589555559715577599604626819245000672929518645004771085106770784762994476973842713035791487204122653245797126906189270204029735872508462106527240320932458036231707311992868347221176460407003487373754014365881209649632547685657666691589606571865740595829983849941049450471212387808617247938941417000965198123059467/18163679611214677813643455199979098261849405189805364986036911945012016248297645596270602508015864371788974684317239728239847888960155365342460843559658233069613218442910226128113196984801126248862273503232000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","733396724434554481470656964167233690851279923085197144879644750437402627936723531635898542414136943003236478432848965516925891956615111678444586384493883113385335463639674699443808084827715994137410743992130712903997815471369201406683862985677774155704267039224546352414417632475628136460919900347977754644214725932476856018335195927604771408949980634142255497812566866795799230501026066145434755838336990365184/145912495644159810313026420025053989609942265686388630266226856650796088768164358961644113076809511566125145395699271530802891523741636707532676065833327082092521989958971154798465784847092870457944857590623097781956884297103961713362268264159015928554707158239398721416218953003215109202771651993622244788505649098445109438104466256408060944298437033058380804126574878377874459371251056800895394904459469832875","167606423853658713615749101123336326908381619586838606922565378505211386185130407423587264776519589295420758009764678759213587906216543160801059029133457062067529468464636376639307690657945597847080706144898920305379653754920571797771178341550808041652360635584401789901525709166172283390177673009483341826911179861584213314395893323035527116283758445038413646757280/33310364848744488727470761889861069993071965180756187311178124887286133554324042422503263994717993129539448310743598138364172889305532401505890384806078790034557049074169245078416704866867380089103064821732673967120808611636618526737138435792818828990403374766228037003927569643972203993263329403469747342204808360947840103843317533210523853631711601450617095736473","22466735478643771803624909352181817912387732117378538284107485621001246177152644141853604633676939694208131243081227668237716194316732125445041260568403752325416203858329469477774720998849334961751541191761521224644520742691981372782009394826739249604257098248751626957528543558542443122470657230835176462612530464044652140581367666271771882198747182114685116336512604038833327707163107207664705120728068987996560512/4460342260599110071819142535903990817893424192972341872394014748315090430999224107274777695306032783105944721337053156074851240201179902835353097683269298594190456286888326067932777720561181760369783486872666974623910515795208353605697065447942804414120030678603538761538385793829787734830129764152263691296719726909633580318897787729004972323599773548689272008712427926734258913271101899780538635213826239542884125","1972862002066252798837977155272535342727415329632252213508267781390870646909686724955861608046325765650407340102472833428905279473185818898693854344138403744757857928883601637909604082588338869612221777263582365745419719805587946558326048087138197694016224613118304623864709183681172362693106460535117459192992832969130895829916210933710820035479169562970982784580861/391262854245936198649509275719624152305206807261382621390946060636032376057385723427601113233050260359684153963520782285097664628279596618521963444574543409076428660874564026651742234728997339844161514273669735686516761239076529088145208958938384732800586298943281728435207452253170935715239392534815683367114290676180839217919539381651841151674859715992309727232000","25408691426286653276004556426513401767718328640048945917745783225459709487487356095164164652218100925888847689099153320777389381851598236046402124684511968385325107497047025485302333503075085562533472482645023963717347867696861885363417595298751490212495932766872748125111115039311507374363000062513977436921772096443948159289707996749061007112458126301618769295162649600673247799961118662602756889448152517364992/5033870770817104909025512331238419776407331281944565644457345507262881100618908405924951559853352841154730802006750688581603270849880756026262217651685813584900300357685874044482329601894134443542753690048962260914642678445058891387041919581376195543193199307524572671344323361282633828144708683536721118910549933336800461248338059209853766305058943888965279863852107507075916981165164543199352920055389404296875","616565940481577765011174617619124841631603944267256178093555235591208387588894068005162766513720546626399308168923904625210748051788652328072241494243040185611373035059619136712559505023703153194815611268503291295059648269772663939137446253437248541496631852986499688052678961495116210133458596866684413931188348798244969797973846568160999564540652111599082181871436/122025682149627484528651507368051367620578469392233875493556828623437869650284356703295836998178256875766319508797903923638967073687991229708051285605187358616531926112736402511567721889845693991963610192161413692928378708223712791930113386840109729368772998347036090902364801014045328348830748307179590755723160142468563977011700764517880467116766150322736003147125","979882056834583241477188686550561625289337025747787132773853690143359657519481397575561812727394470125172272246774578404543257210124412718725081536309818383310896102958167337333430555168671327992395916735022711297435263157670501117734412587691271084981140167017421900852550822579410636184333142944411060788723653596377015359036101170054828623669169047118551010102258802465554033173968468183492058271365801755986560/193732066620504775981759812703028757608600125742477178751189607602983198559778039141192492589734277739017909889924488699372940787977794555519474807920198944109549023547259912324279741006975129518191081373554817584214941629021088206977532599055014150433581544599721903881284581257812850697423350805715586436114842183295730680490110793225514602133304729484547181740290534056445482186430729398701311563285494964645419","1138059441890428903336718712159907364975959482163004276901676063186939296217569849990951930955270849692775077813359573394435924934540269310629731801376134549169322946310756738187834128956671195358413024062230774111935109203207768898525882417078119314003162592087920755572050993355843681931139257303484526223461840939880759908449181135029327442039666513325916729112853/224777393704985303260433439401503507705148576727364388720387174977154204629336985298082893443205223017966145098064861566754244624732671470935725326043491911142467178027013112527668183783450932992534517827863293825061296257420183669383719043873666284378647952385401303733274771042385666436214517205678674213118374889121542369996042313879258622144464565403138392064000","614262617634904509410555695398092190166323289787703954329113412647342230855826568873946233136303566178604275296873234926652080462259552775254755109931312516616838091852915397846984381183732773411263828600108443070778861986849272794442105107285234729077818614332155890946804257724112143631642663084660012362691100872465148864413343598067567142977134846266425075195546265101720326272502009234689388355365794889444257557504/121200854655310345878069155190734381476914416893031941761756379148622591310152793328910334357724762079139509813381997287954319983165971628429295803162563856219211627796200599196263868781937234015821367575512548522790158101892507996780675863234181700253545912643548466256938936835469646114659598727592390628209362096738343417775009361678599075671154405137663077798419897932404104579113056038271753988669813988076515476125","106893445531995430131837569895703697604978445859412739331042151546083234373443601923983714252801103551874986033841637079479794895452077803182698291822629713500021995241940133037200268381793282318691568234728329378829301282121562652452936297422136961147432559766896143081059518238234777055931999714973999553456547746825617168005650221542417216291412324174772893635832/21070287546583154895102927029203125577385528350171457634203261197137238923923245382493868134869009844094435068284335909266152042903157700510534904847257436666980671067329084409346149729385625108233234542133838924281113454526471855573271066865534480974484196644173270141056470857666632902827625475719738076524047736123182255306429677688129231682978570461273193359375","1112742798776748551928744983308584493817112400536084744850969025063360679785378789764875076529575583792571198510306186417773101346425704969671256564494135750783642910394213727189639661184379341961737135764570942961692159177189753139209638929302928699705042832922774012622017270172331722295881412111812933593370743210214549038212395941675257558442878012136484052827439007483777859391215222647499741572327725689840850048/219121905514652575155579185322367175400669386131891843382447432851122462422992147756333729893028362013318264155489537138133372703295804002840920402482110260590055749843170064921843460498824128274420925357547023876488939786863662801268798987685503391058250902634999352652063668663245829496836853509616873246554292796823779397317819134891873583857621623143253788854530146303641400986028503534408870194989478421253057625","983995170259637497940121707857673268620603982844439610076334749792119502557380361624096960070148627663305171311646851566811683351232268240169848810658089698606409195744471343416197434926513684882439596141368794175162315633192028977211909698595778839497844847281262559899914504080092844816319298286511436690429175757804604673752838786852277255064434365401871903307643705/193579499709739777577893639665643417521924510242119561765932078835121983190401762561436208758210519231103767232899529457440602166918701550386152070813526760823513884391055054076485295945972185402977095815609448651316824455250005505410192101148149284756928250258632031981439345164037318129987999546683113483700660879431801728391911161900686707231543216283304182063038464","30691013076836380319652884848585431917439358375118437035944950498156836885409110087616602043242747413728866747975631727566613593257623099549583001362246649928075859944695060947434885707102684568632559339383409378997568182445019183928058902445738702610436187907199482604867148445903921474846103586253320950728989228898324829144701782792767763794895137313050381112872972806712570559942583906619373159053654481250809168128/6031936190594376585238407905469035598668211679521553144958053099463931217856780171872253258738635531385711702176347575597387389685526098889278278029314982721284691198967204664771178761416891317672705719303088746953644978471289001577698554025410820041497108311270431130911021653860874238212040640737171103823631718483572464361276703378587106311153455557896527384426327053165214814954154328483257657424873929502112904625","33633002641218571027682690377239300567277297301791434890431645909447040830457253186262970747405514897340315490970846553666201190386457221846694126637998462873786334837901001833771510353365825087187582807843940479192544772559118293851131234910638705258664901225494129023244916125545283621607920983287799648992632814461828998517949449887522866259724675318233522060729654796/6603800575190864815125307817934327053530311915572323544225173935830559756077637251538096164499112411672913910767032482188570876526606118068929913515497400397562722669603861813453418621246538114872330536044519242663538662076583511078523573320035084744399535581216815034837553165853576616422592790103728141443697362408727056813977234078214386771115586436985105038873998875","9090550743395453237608373761422705922989356346696677314277463900103283296889488490217663400349361962695279888433677856471792856853109469433355422802663947305503479561493033851081993247556828544308258821557994512133708656174864544457143793106703578476914924328960109390350040954158797845288786321215010324565010420734044059968931558099077932776525974187717655105951506223649947806568984848883258144616897526257038550656/1783219994432430133950472014582130883873515063182143523712063859964133099770763874744121895885645346884371273930727450069430704145915261127061538288702855011220545530326588799412076879985026006593893648911637986337776174555198865379578424838210466703683642106934154603710587408512357351455891557594977191641529451749437270208258072920514602243985184744955476557012910446023911358037761232253615162335336208343505859375","396226087129511787616470716244996965529391571019620342657409150252952330537366537352182763477820160355931003174946109480036915624974500187179367618457008802667089004678925595775249725629495848146669773574395699032785024522882892752987825063933573399691764866816284097232869198405981830106568826923407996367321353003569052419999880089180418759265274331299787468134974811/77651132902382550540201641628906752945078964002822585000619340261128555048628863996784740469908853602590877726845475670110127527874088625214912598995012971630852593597027649154487264595100300180591016581254965295280089902497540043916128232871685159131211213497239568483141031137909208031392464815187505714066235868748950184065923236670418822911614780061752905170944000","1288523130900767412477856952035690867153496584747510253984686336382980221603917538996138294311274357713893956725672062832264871415025750136690143411884111580335458539824573239771267043414225271729141508235839982033182605445173050590151912297720800168687369852280323356691345317649445843078291369394324862039143247087442309135074453265658730028145500871559458519282433012494054724678302957276371418936282902434203225600/252284450515080370603949213084529993395050575951188044032908270470514999880554862449223347761507020354321422785760279154913310488296485989979706208254206974075438570521939826124860483842758137231373182496438568202110337751291106165654945352183167578675508602832478752400011567482434301614269579368882858973850914513870297071866544875650189106576672289734326492492059816669288907018095832842249738081022227281715919357","559506782175368748187145067236900803925823792088293851453005882621173124590368101213652371965740365119375069053747415415684193092607523211636912074219215053809881814859129515591479780669511533619258835199715146655774919418434080807837587396115955105126806762961292429904380132116986984435528307613054828929294602185927322238461491059740342387266084431988727321711184308176/109446188216864405154936682374609448082436347600301765944233278303643744736544109262794383069197271409398615846380701459882784547857821831816863216080069944818453908760476475874319791512782445408136169878207358663250499628002971644430164185578966399908622640732411885568638054229180673755690889471388585521113862492432946110902070139679164884208988489955874131206343597375","365842109776085256207829452385781129402656684569922320812625438296958174120084800064669048017227033185969596458778213306152397766619692644694641677223213185977626940193107608138827771259334379895020377700759789774994800008933137569543592829220611543060189849601828342989023692876182148818363689293009174358168826340010491728715549904988196347316703985894355217235339548078187164176255405596310602921647203428200269666176/71497266937783826306774367225149833789788300609530680399994804704196212252148324552193149332755057982662844988588678159610516634667597707204818296457616315484973288944637139939912166034691155272078609876888919170894915224022982785138928008133003473320018151370486895637936102520353951511525996197267572355782608352075229547764732602557133494648237258900273354364050662921889937355682486287799239363976556848320046933875","59378684894605773397070783936113244261297966863668546282887298999811950599772732377979382620766180662159460666220894896896564357533604962977968843474062092083279165837424210591042655271577974272394203253875965589611493384384257117088518521598379301169916060951350650621757237206805037261878212424267780312614942173870651684587166691539909068452932891649554575072205080763/11593916877920131260484148322810317629326850763057953025674154928920977965095141485536566217873796019006709247938019404840440511433467040918770165456925609124166970862430104329357419669175323763143377917913760028500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","440706629842402075137926797732405268015915199334341565218443748798479563505125605478061664327658137598204192554352688830679475840386882350034150077506804799859586772904929402683276898098601814091430598259347980573084686932949502809068565420937301632494387691284902026088950093888426872222813857928092871267130505744095697172494119689779474840037266295586359244899477781345249657455186847452249040895151288114085352974933708544/85971876318334010542313048056773419567285701852816309711738644074302467763075671531248793080425349570584102078764464196653843973936119037322000695949209283327606280423406302517302874806092835694196353778161663338667091195199032831587897410329509487165187753418615356836636352319310103639079123698118997500068644500893282438137614420288839230827096109835206605385673197123994357393257304049093683934224826006704198171592304125","13220371178312284248107863849287558696210741535280184003301555188086761767176560823174196915070378763091889333203635784037294769747641959860810039816533609140662043493962707445564057197150603226797446933532133956054671103942520142568674339411250001585991743608723150284270101326419464088290151483823061613403673956918458456165552482913079283537536214967294211244361353060/2576683013797055224377707713704899315377379548630511095136568220145808780162671473907260623503552385384482723173913562423316997528913651044277418227616447815609873991028073011738113927961824632868956802271260292075825561646156680740323686126811928372672670917332613490241615850953660246271541592056143611581223295045062157404996958100136358649109693659623847024011265147","1538372578072246705266078247950089219881197139399081643650271348770110178217959856819170325400476655944115553238940541695152110949081675985299189913515975242840473616169775880272489805123124548256666658584129873597192213080038937409046114908719298170078476325423466734429870048697383304265342125425087105698152643145531760853127801123272389134514333752173173161562273487752064850461823726948588221913540799816489566883798912/299566102446745552813544808169323270315327122249327394279467999308669285416179486075255023523726449428151807672528368606071047812907935426406886253284580296349349558797128593446316786243666290649442956134448480598303527795996222703837663605600624271807461605295956674925277658331760000117761013381199880905748188151556184620779667670278558839116983636972680749836497346863752662521197700717702790359162307617024566689271625","281696937222363685333688097915539146272117417024070728031063821781398985795813333650547982965341298894634762289669256129805545549280355643122501181852136332529515756074502902204877664395456278205770206019663082511098956468724829475220996427130295010430751942126263620206886404244432409164651524408198286831329682605959881993845189585640874220032515465014097345759490750307207/54806274927935495596891312029173862473687610099325998583092091915101265393157631244775387832621032230434007486602816972765210205596482942091518459849775458089575743699797096697542306049628939919466378189656065461708686421130956996965004776108499273871055615413566043083634090083096967567965373203683231171594922347812966905149873265654962896456451681332216735396249206784000","228506238533410805238253122961471637501498406104430046727793420497895852412513560203475440156216063574654372726194215013407325207763369075250819386897086702757125418327084312933061738392406321003231853349865003322697360659712771167066453430309997639548320673279964210730701373707765051246595806673865646607841876463608039111252607452843372970797479959213447237540830563469297144446069689149549515457318899981763489792/44418759813188470246596822974281932219088697005123285598909329328419879212164564561558656547678211265529803086702843380128457744445765859393426675396393053094588240457569380155526179040891009717323059641035189017918495485630657360525410506453554255734005459614858972904374739673834145083512160883402151636664208253116362089211658645312778404886460203600762546810897889629330022309705583438699250109493732452392578125","2396110297187570506257836426251930521245117960980667897194680897478996322590925380310917400763581787981992131769075961259393685331523600287377841990678117113566991100720996059187144934569703045966210306282348527729533806882408323961336166190162075154579344185244957673138372347997134388801085788353482276257401005734929059700346687783400772331280644647089520646562669857652648/465370154262863030800729180763091967573522779260407615567563274096037297593764955820626213827962697601334935773802201919483657310282236100250543992334865461800976838791035335861420892967699843608855185710753433852279737724446294443337363478679601049432404435672469098850676302728116369979460222148206944323730586138087862719386327396334468302608499235112520318322763857676375","1188272888075247520453568790651819187486389546755745961952033150576243575862120569399808467067800830890874391487822723879717525264875722720416173276963170672622214121308038530968291758445510982186014289745026439477197148445087614813262170975056866881909056450023324743409114115141145340480846088869807540798073417035168139476153897066325127540609756310068558610112731607522096096821938163134080426356894899245575410494080/230586762395914863625709048789913840511134004337945700368117795195769576856434588144361459740833007125516905017415184787078710001969815416281381427387949263792200577791644278234661952852149216540491852757174842146376788280677956350901082838474705227642420261641783722891948710833898248566893322144435457967452449965772543077421407816225704952270697016152452032506898311260979594550143344971416786595888053149375287120733","1072184299258468249004114536023934869518152618369895613271618698908405514630154819453979477077738526673716264830106745031385951736108376866253955319711026042389282009348594845497252059906901748860111986811345742998968284077119165082435598381810306691078037018432766116865792677955520465319184311529667642995217214507658693259694586107847099911341219913576038605872218680562047/207882129535607118520818565811162643811811563516006836924341123976848022970024793004700710992938987476728640943834012473687892481059618823520721737479364352887178017866425027953255856440099446112508663603319745066750522936408781591578321031173620445865113295407603090322283539974563690157418931060565698315406021569491751612761888641141446406531645379264720684248398299136000","158094023904374464057702010126993231151433474361820266584020400101533651587072432728050776506672527718975042616651177034635188178967462982926261516748842073587981953038445977514446838733557926696939591069712397947055261777416704028506441173540338327591514650398349069348381309688677335132100441905603664282735310299686268721634369502296867409514777359935022301425165750780988231639828675424239931533849896744198012747670272/30626384366513923671063955469537776291182594080083494737341604579575446319190916924682809546024369330706012653799783122328775875399363759308193432327358837772825609356553955350401725689682838701996446404559005896479618311357573203081153855961484398360670837599853294627153740224543175497655414585918231215639906924313779933211774291565425360415684556655021031131349317390382320286092667852173815259422737956767922154798375","12216278924286401897470540169822542417611356797676160128176706721343511598951866107858729405615631246003458062949723290192242594609994613705183460814797527214549142043573863947658832694800184691222426521703728394203722420336773310908687071670107794543022567943478843065246011544888390757810534211554666736239506503613750756246364621509359804902243487113673014588325806249988332/2364584127734680580481708368927921125934330000162935118371174269642831409084634375654239735054363928748162229294829526339927907778510530444646754603322373712788147193691037688552857183116332292048731726305451516954679277320777955342295564000586923227775208580772868590742136150431152495718132142742153643081187691849828217592954519485869135930755646768375299870967864990234375","578939195017447864385837341975558679292903716580114421030538728778491606282153588930983966100514147976321305616196463174070345884292672842497715966933722088536619333912687108737657068701352918582656105418491672377271304970407730786932913490869797471081081431072836814581099271832696990064828717287258860166842791984158634684078346453202928137987930328826212011774670396356151265781053547412633310327737900786639842674288716416/111966291649651600701875186827360807558960817589719096407887999108024557254221008849510152469119211567152616745769256123968832250104006560061907741567034087109512483357851919402017950812795426393415409198268246337542639470834168040295134130657073201020340432236723824670803498949071870597039309004562024033656488150406105175401372709011082725359382691270659245312133919518760328422827067578306005644825927050994860723405473375","8041514821545833865350873212853873042112343327573364523948780030849543753072688526717886590013028227714585965095216381829914996539132359247488639692828639170075726301411777307168737667077730792892326979446426349813642680537699905651125068091362135055902152994216233622733424128982011248923051410141033146604688083721413402395290842738021365861670415833356403364696759583009635/1553937833499559104910551811592138833189892464446761247731330672284191313590708439680460540329836344767557599746234213006493842842879398684745864919973051635127080738612248150108793397855113122368507483429209127035263504194847798809612278864438287815470711036548695032421148125849669175729331459149833945183228413961985381338162155596008680906676498435954178226973272371625984","12059659399309169167301353842123191409306995788633965680414620302285606896146667751472818541537183787935352700725982053536032930866708413010971856856768384974849695774437178790890015242323873769697407411558706626105140596160049735605389301414460825674631122462760014451298494875244754354054447697502521388381253293175367558014453865905104467382184997528879171136492277222127399012368677604910497789360212571238146627048080568400384/2328494054002703067219004484782931471919751585969487160602269605916676223315055450845942763690581877771159615428854802721943114463834992106300185328876910271612375509166975628540839858771078495267566008071532876816826751069408153323840515037497664871689085370699991860738368371510578076683395101062439493831773194498579620513073693022191702398601471237166387045790480861932005012807234071429628725981935147069738988682858417182625","683009426705008850682549700382901603742691705123356866338951397347368059105140826655486518416578697931244347554322654428162554903861783227680935341690740579867651545205562690172425016836559678937794312287639193745517811234257062356826622207475918293015140472942579713388671782202262396642735640315948612572908444501108579457520714632371056288874351015666995549139003946314085696/131769214246522869780429817236150406548549044658474416909806179734873399109656411633488099249198882165279745627038984487365589625562901914030850178330133080409420340227179447548044572594184601425691821617928130423410997853384425373999967759499571890326740433081063424903098252502791477854302204200941376983295622430177445507316706609802292121282957519571162158620971952084486375","1418116259749091420309271913909337143756589314597557128553117870573928055109322864794169592355058370891251425125187770724828108988587888087023982451205475980371440423992838481547236638456717520835668859093413956339261802305597694403381021863258753441889536361061407579332570493634254542013337999844407181346815549594836374497512447969751514466481466717590255369810506813543577735080228718660747940956248427356785784199073569408/273368882980516556922532339653303822104510203916024760371844491705599093435133738774975538364241630079468712981056336655766117378160822393876348755370711942273876284944422610974149712212944211513462921649872232656449940987552227525504529710373144228818606127541937831103642415534318303187393593236209298242574677293352798419428712873685798636474667204083938875672934235816396371477146089168375198141802684403955936431884765625","546411077581845999248238069684194831621691193366466972898628141511422317954477211865167402284211971296286346492698354214043840080181702652132835681239302798339667835439189275457116051279366194551632712819028177402221815140045210690908631767786711675029194359998826252332434573121740830827417293557234891406021102083555472155479148332697839972702631641910213821827820374586459319/105246945889799140338072754365901705544530661781295362563214285953881890233987516230568663143342952799036341701952267011236663118111226623815975847494372076420199418712941018288738590264475520229651370015377608638075866459684692488079223686296541020897904588347083045723167762682959422858996673894180805702299907478685374065593161226849447131100462022089783265346597553176576000","2398330640958841474772606439916070050977544535580605737383995160447105736276950196885906408317628083110923322157113892928963237845914017845444295040924101784423382681801754191301860383927129006953354739240926643562987838836997453985855576402628166875869041032631651591871962852884189548538272285387092843044669499688035134181859376665409767886188304314888753894905317929877238322615838524354191263502347881033855441181420399360/461588070868590122892265681879734295007029130965626060552783760068897000195207878227714842617470320231527222074701444349530952699708435668339712860464533455345665068841333232359698449088497137068713309811942968433868609329301082001752617420002377892756821532220676085014874112083615054550278903960627185675459015343606391094523511117705747842645927349130302549554534056269331809016770715819934970200483161548527932617036185253","6041015879424725383006424536130409209607854044642113747266098198777011981328765528361630516108680392500990580908509403483891763219659726090675140672989657743882183951954294745396417829943469201306594018454995862321821016087416840247422350906412007336103086620396467456181771583200365740253389107968122850063607085957109965406634738740996318415514360956028575560979203447735121436/1161752799109428422288020947061281540989708937450568100764830251908850596717606701047413407636907934320789870175907792017513896999208892282137299070761467096211814586909598705615312819596495636017728313513520193786266452836805291464826226833593878504804389728477191170027729963773716267868284479768397603444919008915279522376004326398403851684761808785381609370767169521034383625","13240077436443988749179508462267267187169441948722358165090554769250505713747934643200804819418670147225695324432684266924694524337920816452346599774452681831320005286326986675907899608537972384924882996757503264622991355949039882526389342174307168805166215838138277557052303430492669193939212362638263582899713198716541723383138016564027766560215944409353427176135895982596327685665844815618402881202645610620284792793420780517248/2544223084468158291883698813309541801455311468982232546872485444308211415529998472787377800559884210837213042932180479090277285630234238711851480232520137856848809986631784843528381778520727465146661792797924458540957133423665746229799675650290296217658444899605236550972043549278128087645211909479009099766619355677984218929672461506691980442071860591767266913041147587815452007726513853820116629482732060593116624596368806566625","1953999166296955830935495158735359200362904181792947794529339487489730042568305997099959302322956898299616194932283060554261566410988618045107398092345476532371402134206635235570281738377188438407703089325315446371127042537576093536896282955524842632708645655481028161471313608974238110718242273935956977555610147714316158486553633871312187084618154014921190595222799283957140353/375191165084882521037046014569185165885459082629136124177286500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"];if(S[i])return T.quick.apply(null,S[i].split("/"));i=new T(i);for(var St=new T(0),A=i.subtract(new T(1)),W=i.add(new T(1)),ke=0;ke<80;ke++)var ft=new T(2*ke+1),Fe=nt.bigpow(A.divide(W),ft),ft=ft.clone().invert().multiply(Fe),St=St.add(ft);return St.multiply(new T(2))},factorial:function(i){var S=i%1==0;if(S&&i<0)return NaN;if(!S)return nt.gamma(i+1);for(var A=1,W=2;W<=i;W++)A*=W;return A},dfactorial:function(i){if(ue(i)){var S=i%2==0,A=S?i/2:(i+1)/2,W=new T(1);if(S)for(var ke=1;ke<=A;ke++)W=W.multiply(new T(2).multiply(new T(ke)));else for(ke=1;ke<=A;ke++)W=W.multiply(new T(2).multiply(new T(ke)).subtract(new T(1)))}else W=Math.pow(2,(1+2*i-Math.cos(Math.PI*i))/4)*Math.pow(Math.PI,(Math.cos(Math.PI*i)-1)/4)*nt.gamma(1+i/2);return W},GCD:function(){for(var i=ze([].slice.call(arguments).map(function(ke){return Math.abs(ke)})).sort(),S=Math.abs(i.shift()),A=i.length;0<A--;)for(var W=Math.abs(i.shift());;){if((S%=W)===0){S=W;break}if((W%=S)===0)break}return S},QGCD:function(){for(var i=[].slice.call(arguments),S=i[0],A=1;A<i.length;A++){var W=i[A],ke=S.isNegative()&&W.isNegative()?-1:1,S=W.gcd(S);ke<0&&S.negate()}return S},LCM:function(i,S){return i*S/nt.GCD(i,S)},pow:function(i,S){return i<0&&Math.abs(S)<1?1/S%2==0?NaN:-Math.pow(Math.abs(i),S):Math.pow(i,S)},factor:function(i){i=Number(i);var S,A=Math.sign(i),W=(i=Math.abs(i),nt.ifactor(i)),ke=new s;for(S in ke.symbols={},ke.group=I,W){var Fe=new s(1);Fe.group=d,Fe.value=S,Fe.power=new s(W[S]),ke.symbols[S]=Fe}return ke.updateHash(),i===1&&(ke=new s(i)),A<0&&ke.negate(),ke},sfactor:function(i,S){S=S||{};for(var A=Math.floor(Math.sqrt(i)),W=(h[h.length-1]<A&&i<1e6&&at(A),h.length),ke=0;ke<W;ke++)for(var Fe=h[ke];i%Fe==0;)i/=Fe,S[Fe]=(S[Fe]||0)+1;return 1<i&&(S[i]=1),S},ifactor:function(i){var S=new r(i);if((i=String(i))==="0")return{0:1};var A=(i=new r(i)).sign?-1:1,W=(i=i.abs(),{});if(i.lt("65536"))W=nt.sfactor(i,W);else{var ke=function(St){St.isPrime()?W[St]=(W[St]||0)+1:W=nt.sfactor(St,W)};try{for(var Fe=0;!i.abs().equals(1);){if(i.isPrime()){ke(i);break}var ft=function St(Vt){for(var zt=new r(Vt),oe=2,$=new r(Vt),Ot=new r(1);Ot.equals(1);){for(var kt=0;kt<=oe&&Ot.equals(1);kt++){if(1e3<Fe++)throw new Error("stopping");$=$.pow(2).add(1).mod(i),Ot=r.gcd($.minus(zt).abs(),i)}oe*=2,zt=$}return Ot.equals(i)?St(Vt+1):Ot}(2);ke(ft),i=i.divide(ft)}}catch(St){W={},ke(S)}}return A==-1&&(S=ee(D(W)),W["-"+S]=W[S],delete W[S]),W},boxfactor:function(i,S){S=S||200;for(var A,W,ke=Math.floor(5/12*i),Fe=0,ft=!1;A=Math.floor(i/ke),(W=i%ke)!=0;){if(ft)return[i,1];ke=Math.max(W,ke-W),ft=S<++Fe}return[A,ke,Fe]},fib:function(i){for(var S=Math.sign(i),A=(i=Math.abs(i),S=Ce(i)?S:Math.abs(S),0),W=1,ke=1,Fe=2;Fe<=i;Fe++)ke=A+W,A=W,W=ke;return ke*S},mod:function(i,S){return i%S},integer_part:function(i){return Math.sign(i)*Math.floor(Math.abs(i))},simpson:function(i,S,A,W){for(var ke=function($,Ot,kt){var xt=$(Ot);return xt=isNaN(xt)?$(kt===1?Ot+1e-12:Ot-1e-12):xt},Fe=(W=W||1e-4,Math.abs(Math.floor((A-S)/W))),ft=(Fe%2!=0&&Fe++,(A-S)/Fe),St=ke(i,S,1),Vt=!1,zt=S+ft,oe=1;oe<Fe;oe++)St+=(Vt?2:4)*ke(i,zt,1),Vt=!Vt,zt+=ft;return(St+ke(i,zt,2))*(ft/3)},num_integrate:function(i,S,A,W,ke){if(ke<0)throw new Error("max depth cannot be negative");function Fe(Gt,Vt,zt,oe,$){var Ot={maxDepthCount:0,nanEncountered:!1},kt=(oe===void 0&&(oe=1e-9),$===void 0&&($=45),Gt(Vt)),xt=Gt(.5*(Vt+zt)),At=Gt(zt),Gt=function Kt(Jt,cn,nn,un,o,y,F,X,w,b,z){if(z.nanEncountered)return NaN;var _e,tt,be,$e=nn-cn,pt=Jt(cn+.25*$e),vt=Jt(nn-.25*$e);if(isNaN(pt))z.nanEncountered=!0;else if(isNaN(vt))z.nanEncountered=!0;else if(F=((be=(_e=$e*(un+4*pt+o)/12)+(tt=$e*(o+4*vt+y)/12))-F)/15,!(z.maxDepthCount>1e3*w))return w<b?(z.maxDepthCount++,be+F):Math.abs(F)<X?be+F:(F=Kt(Jt,cn,be=cn+.5*$e,un,pt,o,_e,.5*X,w,b+1,z),isNaN(F)||(cn=Kt(Jt,be,nn,o,vt,y,tt,.5*X,w,b+1,z),isNaN(cn))?(z.nanEncountered=!0,NaN):F+cn)}(Gt,Vt,zt,kt,xt,At,(kt+4*xt+At)*(zt-Vt)/6,oe,$,1,Ot);if(0<Ot.maxDepthCount&<("integrate-adaptive-simpson: Warning: maximum recursion depth ("+$+") reached "+Ot.maxDepthCount+" times"),Ot.nanEncountered)throw new Error("Function does not converge over interval!");return Gt}var ft;try{ft=Fe(i,S,A,W,ke)}catch(St){return nt.simpson(i,S,A)}return xe(ft,12)},Ci:function(i){for(var S=0,A=1;A<20;A++){var W=2*A;S+=Math.pow(-1,A)*Math.pow(i,W)/(W*nt.factorial(W))}return Math.log(i)+.5772156649015329+S},Si:function(i){for(var S=0,A=0;A<20;A++){var W=2*A;S+=Math.pow(-1,A)*Math.pow(i,1+W)/((1+W)*nt.factorial(1+W))}return S},Ei:function(i){if(Number(i)===0)return-1/0;for(var S=0,A=1;A<30;A++)S+=Math.pow(i,A)/(A*nt.factorial(A));return .5772156649015329+Math.abs(Math.log(i))+S},Shi:function(i){for(var S,A,W=0,ke=0;ke<30;ke++)A=1+(S=2*ke),W+=Math.pow(i,A)/(A*A*nt.factorial(S));return W},Chi:function(i){var S=function(A){return(Math.cosh(A)-1)/A};return Math.log(i)+.5772156649015329+nt.num_integrate(S,.002,i,.001)},Li:function(i){return nt.Ei(nt.bigLog(i))},gamma_incomplete:function(i,S){for(var A=i-1,W=0,S=S||0,ke=0;ke<A;ke++)W+=Math.pow(S,ke)/nt.factorial(ke);return nt.factorial(A)*Math.exp(-S)*W},step:function(i){return 0<i?1:i<0?0:.5},rect:function(i){return(i=Math.abs(i))===.5?i:.5<i?0:1},sinc:function(i){return i.equals(0)?1:Math.sin(i)/i},tri:function(i){return 1<=(i=Math.abs(i))?0:1-i},nthroot:function(i,S){if(i instanceof T||(i=new T(i.toString())),(S=S instanceof T?S:new T(S.toString())).equals(1))return i;var A=i.divide(new T(2)),W=new T(1e-15),ke=S.clone().invert(),Fe=S.subtract(new T(1));do{var St=nt.bigpow(A,Fe),St=ke.multiply(i.divide(St).subtract(A)).toDecimal(25),ft=T.create(St);if(Vt)break;var A=A.add(ft),St=ft.toDecimal(),Vt=!!zt&&zt===St,zt=St}while(ft.abs().gte(W));return A},sqrt:function(i){i instanceof T||(i=new T(i));var S,A,W,ke=0,Fe=!1,ft=new T(1e-20),St=i.divide(new T(2));do if(1e3<ke)throw new Error("Unable to calculate square root for "+i);while(St=St.add(i.divide(St)).divide(new T(2)),St=new T(St.decimal(30)),S=i.subtract(St.multiply(St)),W=!!A&&A.equals(S),(S.clone().abs().lessThan(ft)||W)&&(Fe=!0),A=S,ke++,!Fe);return St}};function O(i,S,A,W){var ke=S==="hash",Fe=void 0,ft=ke?void 0:S,St=ft==="decimal"||ft==="decimals";function Vt(un){switch(S){case"decimals":case"decimal":return Fe=Fe||function(p){return!1},un.valueOf();case"recurring":Fe=Fe||function(p){return p.indexOf("'")!==-1};var vt=un.toString();if(($e=/^-?\d+(?:\/\d+)?$/.exec(vt)).length===0)return vt;var o=$e[0].split("/"),y=!1,F=Number(o[0]);F<0&&(F=-F,y=!0);var X=(X=Number(o[1]))||1,w=10*(F-(pt=Math.floor(F/X))*X);for(pt=pt.toString()+".";w&&w<X;)w*=10,pt+="0";for(var b="",z=[],_e=0;;){if(z[w]!==void 0)return(y?"-":"")+(pt+b.slice(0,z[w])+"'"+b.slice(z[w])+"'").replace("'0'","").replace(/\.$/,"");var tt=Math.floor(w/X),be=w-tt*X;z[w]=_e,b+=tt.toString(),_e+=1,w=10*be}case"mixed":Fe=Fe||function(p){return p.indexOf("/")!==-1};var $e,pt,vt=un.toString();return($e=/^-?\d+(?:\/\d+)?$/.exec(vt)).length===0?vt:(o=$e[0].split("/"),F=new r(o[0]),(vt=new r(o[1])).equals(0)&&(vt=new r(1)),pt=($e=F.divmod(vt)).quotient,F=$e.remainder,vt=o[0][0]==="-"||pt.equals(0)||F.equals(0)?"":"+",(pt.equals(0)?"":pt.toString())+vt+(F.equals(0)?"":F.toString()+"/"+o[1]));case"scientific":return Fe=Fe||function(p){return!1},new E(un.valueOf()).toString(M.SCIENTIFIC_MAX_DECIMAL_PLACES);default:return Fe=Fe||function(p){return p.indexOf("/")!==-1},un.toString()}}if(St&&W===void 0&&(W=M.DEFAULT_DECP),et(i)){var zt,oe="",$="",Ot="",kt=i.group||A,xt=i.value;switch(ke||((Jt=Vt(i.multiplier))=="-1"&&String(i.multiplier)==="-1"&&(Ot="-",Jt="1"),Jt!="1"&&(oe=Jt),(Jt=i.power?Vt(i.power):"")!="1"&&($=et(Jt)?O(Jt,ft):Jt)),kt){case j:var oe="",At=W&&St?i.multiplier.toDecimal(W):Vt(i.multiplier),xt=String(i.multiplier)=="-1"?"1":At,$="";break;case v:xt=i.collectSymbols().map(function(F){return F=O(F,ft,A,W),F=F=="0"?"":F}).sort().join("+").replace(/\+\-/g,"-");break;case q:xt=i.collectSymbols().map(function(F){return F=O(F,ft,A,W),F=F=="0"?"":F}).sort().join("+").replace(/\+\-/g,"-");break;case I:xt=i.collectSymbols(function(F){var X=F.group;return(X===v||X===q)&&F.power.equals(1)&&F.multiplier.equals(1)?se(O(F,ft)):O(F,ft)}).join("*");break;case u:var At=i.previousGroup,Gt=i.power.group;At===v&&(xt=i.collectSymbols(O,ft).join("+").replace("+-","-")),At===j||At===c||At===f||ke||(xt=se(xt)),Gt!==q&&Gt!==I&&Gt!==v&&i.power.multiplier.toString()=="1"||!$||($=se($))}kt===f&&(xt=i.fname+se(i.args.map(function(un){return O(un,ft)}).join(","))),kt===f&&i.fname in L&&(Jt=O(i.args[0]),zt=O(i.args[1]),i.args[0].isComposite()&&(Jt=se(Jt)),i.args[1].isComposite()&&(zt=se(zt)),xt=Jt+L[i.fname]+zt),$&&kt!==u&&Fe($)&&($=se($)),((kt===q||kt===v)&&(oe&&oe!="1"||Ot==="-")||(kt===I||kt===q||kt===v)&&$&&$!="1"||!ke&&kt===d&&xt==-1||i.fname===Q)&&(xt=se(xt));var Kt=Ot+(oe=W&&(S==="decimal"||S==="decimals"&&oe)?xe(oe,W):oe);if(oe&&Fe(oe)&&(Kt=se(Kt)),oe&&(Kt+="*"),$=$<0?se($):$){if(xt==="e"&&M.E_TO_EXP)return Kt+"exp"+se($);$=M.POWER_OPERATOR+$}var Jt=Kt+(xt=kt===u&&xt.charAt(0)==="-"?se(xt):xt);return(Jt=i.parens?se(Jt):Jt)+$}if(H(i)){for(var cn=i.elements.length,Kt=[],nn=0;nn<cn;nn++)Kt.push(i.elements[nn].text(S));return"["+Kt.join(",")+"]"}try{return i.toString()}catch(un){return""}}function Z(i){if(Xe(i))return[i];for(var S=i,A=1,W=[];A<S;){var ke=i/A,Fe=Math.floor(ke);if(ke-Fe<=2220446049250313e-31&&1<A){if(Xe(A)&&(h.indexOf(A)===-1&&h.push(A),W.push(A)),Xe(Fe)){W.push(Fe);break}S=Fe}A++}return W.sort(function(ft,St){return ft-St})}function g(i){this.symbol=i}function E(i){return this instanceof E?((i=String(i===void 0?0:i)).startsWith("-")?(this.sign=-1,i=i.substr(1,i.length)):this.sign=1,E.isScientific(i)?this.fromScientific(i):this.convert(i),this):new E(i)}function T(i){if(i instanceof T)return i;if(i===void 0)return this;try{if(ue(i))try{this.num=r(i),this.den=r(1)}catch(A){return T.simple(i)}else{var S=i instanceof a?C.quickConversion(i):C.convert(i);this.num=new r(S[0]),this.den=new r(S[1])}}catch(A){return T.simple(i)}}function s(i){var S=i==="Infinity";return this instanceof s?(i instanceof a&&(i=i.toString()),/^(\-?\+?\d+)\.?\d*e?\-?\+?\d*/i.test(i)||i instanceof a?(this.group=j,this.value=V,this.multiplier=new T(i)):(this.group=c,Nt(i),this.value=i,this.multiplier=new T(1),this.imaginary=i===M.IMAGINARY,this.isInfinity=S),this.power=new T(1),this):new s(i)}function x(){var i=this,S={},A={names:[],actions:[]};function W(p,N){this.start=p,this.end=N}function ke(){this.elements=[]}function Fe(p,N,we){if(this.type=N,this.value=p,we!==void 0&&(this.column=we+1),N===Fe.OPERATOR){var Re,rt=zt[p];for(Re in rt)this[Re]=rt[Re]}else N===Fe.FUNCTION&&(this.precedence=Fe.MAX_PRECEDENCE,this.leftAssoc=!1)}W.prototype.isConstant=function(){return this.start.isConstant()&&this.end.isConstant()},W.prototype.text=function(){return O(this.start)+":"+O(this.end)},ke.prototype.append=function(p){this.elements.push(p)},ke.prototype.getItems=function(){return this.elements},ke.prototype.toString=function(){return i.pretty_print(this.elements)},ke.create=function(p){var N=new ke;return p&&N.append(p),N},Fe.prototype.toString=function(){return this.value},Fe.prototype.toString=function(){return this.is_prefix?"`"+this.value:this.value},Fe.OPERATOR="OPERATOR",Fe.VARIABLE_OR_LITERAL="VARIABLE_OR_LITERAL",Fe.FUNCTION="FUNCTION",Fe.UNIT="UNIT",Fe.KEYWORD="KEYWORD",Fe.MAX_PRECEDENCE=999,this.classes={Collection:ke,Slice:W,Token:Fe};var ft={prec:void 0,cos:function(Re,N){var we=i.parse(Math.cos(Re)*Math.cosh(N)),Re=i.parse(Math.sin(Re)*Math.sinh(N));return i.subtract(we,i.multiply(Re,s.imaginary()))},sin:function(Re,N){var we=i.parse(Math.sin(Re)*Math.cosh(N)),Re=i.parse(Math.cos(Re)*Math.sinh(N));return i.subtract(we,i.multiply(Re,s.imaginary()))},tan:function(Re,N){var we=i.parse(Math.sin(2*Re)/(Math.cos(2*Re)+Math.cosh(2*N))),Re=i.parse(Math.sinh(2*N)/(Math.cos(2*Re)+Math.cosh(2*N)));return i.add(we,i.multiply(Re,s.imaginary()))},sec:function(p,N){return p=this.removeDen(this.cos(p,N)),i.subtract(p[0],i.multiply(p[1],s.imaginary()))},csc:function(p,N){return p=this.removeDen(this.sin(p,N)),i.add(p[0],i.multiply(p[1],s.imaginary()))},cot:function(p,N){return p=this.removeDen(this.tan(p,N)),i.subtract(p[0],i.multiply(p[1],s.imaginary()))},acos:function(p,N){return p=this.fromArray([p,N]),N=i.pow(p.clone(),new s(2)),N=i.expand(N),N=i.multiply(cn(i.subtract(new s(1),N)),s.imaginary()),p=z(i.expand(i.add(p.clone(),N))),i.expand(i.multiply(s.imaginary().negate(),p))},asin:function(p,N){return i.subtract(i.parse("pi/2"),this.acos(p,N))},atan:function(p,N){return p.equals(0)&&(N.equals(1)||N.equals(-1))?i.parse(`${s.infinity()}*${M.IMAGINARY}*`+N):(p=ft.fromArray([p,N]),N=i.expand(i.multiply(s.imaginary(),p.clone())),p=z(i.expand(i.subtract(new s(1),N.clone()))),N=z(i.expand(i.add(new s(1),N.clone()))),i.expand(i.multiply(i.divide(s.imaginary(),new s(2)),i.subtract(p,N))))},asec:function(p,N){return p=this.removeDen([p,N]),p[1].negate(),this.acos.apply(this,p)},acsc:function(p,N){return p=this.removeDen([p,N]),p[1].negate(),this.asin.apply(this,p)},acot:function(p,N){return p=this.removeDen([p,N]),p[1].negate(),this.atan.apply(this,p)},cosh:function(Re,N){var we=i.parse(Math.cosh(Re)*Math.cos(N)),Re=i.parse(Math.sinh(Re)*Math.sin(N));return i.add(we,i.multiply(Re,s.imaginary()))},sinh:function(Re,N){var we=i.parse(Math.sinh(Re)*Math.cos(N)),Re=i.parse(Math.cosh(Re)*Math.sin(N));return i.add(we,i.multiply(Re,s.imaginary()))},tanh:function(p,Re){var we=i.parse(Math.sinh(2*p)/(Math.cos(2*Re)+Math.cosh(2*p))),Re=i.parse(Math.sin(2*Re)/(Math.cos(2*Re)+Math.cosh(2*p)));return i.subtract(we,i.multiply(Re,s.imaginary()))},sech:function(p,N){return p=this.removeDen(this.cosh(p,N)),i.subtract(p[0],i.multiply(p[1],s.imaginary()))},csch:function(p,N){return p=this.removeDen(this.sinh(p,N)),i.subtract(p[0],i.multiply(p[1],s.imaginary()))},coth:function(p,N){return p=this.removeDen(this.tanh(p,N)),i.add(p[0],i.multiply(p[1],s.imaginary()))},acosh:function(we,Re){var we=this.fromArray([we,Re]),Re=cn(i.add(we.clone(),new s(1))),rt=cn(i.subtract(we.clone(),new s(1)));return i.expand(z(i.add(we,i.expand(i.multiply(Re,rt)))))},asinh:function(p,N){return p=this.fromArray([p,N]),N=cn(i.add(new s(1),i.expand(i.pow(p.clone(),new s(2))))),i.expand(z(i.add(p,N)))},atanh:function(p,N){return p=this.fromArray([p,N]),N=z(i.add(p.clone(),new s(1))),p=z(i.subtract(new s(1),p)),i.expand(i.divide(i.subtract(N,p),new s(2)))},asech:function(p,N){return p=this.removeDen([p,N]),p[1].negate(),this.acosh.apply(this,p)},acsch:function(p,N){return p=this.removeDen([p,N]),p[1].negate(),this.asinh.apply(this,p)},acoth:function(p,N){return p=this.removeDen([p,N]),p[1].negate(),this.atanh.apply(this,p)},sqrt:function(N){var we=N.realpart(),N=N.imagpart(),Re=s.hyp(we,N),we=i.add(we.clone(),Re),Re=cn(i.multiply(new s(2),we.clone()));return i.add(i.divide(we.clone(),Re.clone()),i.multiply(i.divide(N,Re),s.imaginary()))},log:function(rt,Re){var we=z(s.hyp(rt,Re)),Re=M.USE_BIG?s(a.atan2(Re.multiplier.toDecimal(),rt.multiplier.toDecimal())):Math.atan2(Re,rt),rt=i.parse(Re);return i.add(we,i.multiply(s.imaginary(),rt))},erf(p,N){return i.symfunction("erf",[p])},removeDen:function(we){var N,we=pe(we)?(N=we[0],we[1]):(N=we.realpart(),we.imagpart()),Re=Math.pow(N,2)+Math.pow(we,2);return[i.parse(N/Re),i.parse(we/Re)]},fromArray:function(p){return i.add(p[0],i.multiply(s.imaginary(),p[1]))},evaluate:function(p,N){var we,Re=p.power.sign();return p.power=p.power.abs(),p.power.greaterThan(1)&&(p=i.expand(p)),Re=Re<0?(we=(Re=this.removeDen(p))[0],Re[1]):(we=p.realpart(),p.imagpart()),we.isConstant("all")&&Re.isConstant("all")?this[N].call(this,we,Re):i.symfunction(N,[p])}},St=this.trig={cos:function(p){if(p.equals("pi")&&p.multiplier.den.equals(2))return new s(0);if(M.PARSE2NUMBER){if(p.equals(new s(M.PI/2)))return new s(0);if(p.isConstant())return M.USE_BIG?new s(a.cos(p.multiplier.toDecimal())):new s(Math.cos(p.valueOf()));if(p.isImaginary())return ft.evaluate(p,"cos")}var N,we,Re,rt;return p.equals(0)?new s(1):(we=!1,Re=tt(p.multiplier.toDecimal()),rt=p.multiplier.abs(),p.multiplier=rt,p.isPi()&&p.isLinear()&&(ue(rt)?N=new s(Ce(rt)?1:-1):(Number(rt.num),(rt=Number(rt.den))===2?N=new s(0):rt===3?(N=i.parse("1/2"),we=!0):rt===4?(N=i.parse("1/sqrt(2)"),we=!0):rt===6?(N=i.parse("sqrt(3)/2"),we=!0):N=i.symfunction("cos",[p]))),!we||Re!==2&&Re!==3||N.negate(),N||i.symfunction("cos",[p]))},sin:function(p){if(M.PARSE2NUMBER){if(p.isConstant())return p%Math.PI==0?new s(0):M.USE_BIG?new s(a.sin(p.multiplier.toDecimal())):new s(Math.sin(p.valueOf()));if(p.isImaginary())return ft.evaluate(p,"sin")}var N,we,Re,rt,mt;return p.equals(0)?new s(0):(we=!1,Re=tt(p.multiplier.toDecimal()),rt=p.multiplier.sign(),mt=p.multiplier.abs(),p.multiplier=mt,p.equals("pi")?N=new s(0):p.isPi()&&p.isLinear()&&(ue(mt)?N=new s(0):(mt.num,(mt=mt.den)==2?(N=new s(1),we=!0):mt==3?(N=i.parse("sqrt(3)/2"),we=!0):mt==4?(N=i.parse("1/sqrt(2)"),we=!0):mt==6?(N=i.parse("1/2"),we=!0):N=i.multiply(new s(rt),i.symfunction("sin",[p])))),N=N||i.multiply(new s(rt),i.symfunction("sin",[p])),!we||Re!==3&&Re!==4||N.negate(),N)},tan:function(p){if(M.PARSE2NUMBER){if(p%Math.PI==0&&p.isLinear())return new s(0);if(p.isConstant())return M.USE_BIG?new s(a.tan(p.multiplier.toDecimal())):new s(Math.tan(p.valueOf()));if(p.isImaginary())return ft.evaluate(p,"tan")}var N,we=!1,Re=tt(p.multiplier.toDecimal()),rt=p.multiplier;if(p.multiplier=rt,p.isPi()&&p.isLinear())if(ue(rt))N=new s(0);else{if(rt.num,rt=rt.den,rt==2)throw new qe("tan is undefined for "+p.toString());rt==3?(N=i.parse("sqrt(3)"),we=!0):rt==4?(N=new s(1),we=!0):rt==6?(N=i.parse("1/sqrt(3)"),we=!0):N=i.symfunction("tan",[p])}return N=N||i.symfunction("tan",[p]),!we||Re!==2&&Re!==4||N.negate(),N},sec:function(p){if(M.PARSE2NUMBER)return p.isConstant()?M.USE_BIG?new s(new a(1).dividedBy(a.cos(p.multiplier.toDecimal()))):new s(nt.sec(p.valueOf())):p.isImaginary()?ft.evaluate(p,"sec"):i.parse(te("1/cos({0})",p));var N,we=!1,Re=tt(p.multiplier.toDecimal()),rt=p.multiplier.abs();if(p.multiplier=rt,p.isPi()&&p.isLinear())if(ue(rt))N=new s(Ce(rt)?1:-1);else{if(rt.num,rt=rt.den,rt==2)throw new qe("sec is undefined for "+p.toString());rt==3?(N=new s(2),we=!0):rt==4?(N=i.parse("sqrt(2)"),we=!0):rt==6?(N=i.parse("2/sqrt(3)"),we=!0):N=i.symfunction("sec",[p])}return!we||Re!==2&&Re!==3||N.negate(),N=N||i.symfunction("sec",[p])},csc:function(p){if(M.PARSE2NUMBER)return p.isConstant()?M.USE_BIG?new s(new a(1).dividedBy(a.sin(p.multiplier.toDecimal()))):new s(nt.csc(p.valueOf())):p.isImaginary()?ft.evaluate(p,"csc"):i.parse(te("1/sin({0})",p));var N,we=!1,Re=tt(p.multiplier.toDecimal()),rt=p.multiplier.sign(),mt=p.multiplier.abs();if(p.multiplier=mt,p.isPi()&&p.isLinear()){if(ue(mt))throw new qe("csc is undefined for "+p.toString());mt.num,mt=mt.den,mt==2?(N=new s(1),we=!0):mt==3?(N=i.parse("2/sqrt(3)"),we=!0):mt==4?(N=i.parse("sqrt(2)"),we=!0):mt==6?(N=new s(2),we=!0):N=i.multiply(new s(rt),i.symfunction("csc",[p]))}return N=N||i.multiply(new s(rt),i.symfunction("csc",[p])),!we||Re!==3&&Re!==4||N.negate(),N},cot:function(p){if(M.PARSE2NUMBER)return p%(Math.PI/2)==0?new s(0):p.isConstant()?M.USE_BIG?new s(new a(1).dividedBy(a.tan(p.multiplier.toDecimal()))):new s(nt.cot(p.valueOf())):p.isImaginary()?ft.evaluate(p,"cot"):i.parse(te("1/tan({0})",p));var N,we=!1,Re=tt(p.multiplier.toDecimal()),rt=p.multiplier;if(p.multiplier=rt,p.isPi()&&p.isLinear()){if(ue(rt))throw new qe("cot is undefined for "+p.toString());rt.num,rt=rt.den,rt==2?N=new s(0):rt==3?(N=i.parse("1/sqrt(3)"),we=!0):rt==4?(N=new s(1),we=!0):rt==6?(N=i.parse("sqrt(3)"),we=!0):N=i.symfunction("cot",[p])}return N=N||i.symfunction("cot",[p]),!we||Re!==2&&Re!==4||N.negate(),N},acos:function(p){if(M.PARSE2NUMBER){var N;if(p.isConstant())return p.gt(1)||p.lt(-1)?(N=p.toString(),$e(He(`pi/2-asin(${N})`))):M.USE_BIG?new s(a.acos(p.multiplier.toDecimal())):new s(Math.acos(p.valueOf()));if(p.isImaginary())return ft.evaluate(p,"acos")}return i.symfunction("acos",arguments)},asin:function(p){if(M.PARSE2NUMBER){var N,we;if(p.isConstant())return p.gt(1)||p.lt(-1)?(N=M.IMAGINARY,we=p.multiplier.toDecimal(),$e(He(N+`*log(sqrt(1-${we}^2)-${N}*${we})`))):M.USE_BIG?new s(a.asin(p.multiplier.toDecimal())):new s(Math.asin(p.valueOf()));if(p.isImaginary())return ft.evaluate(p,"asin")}return i.symfunction("asin",arguments)},atan:function(p){var N;if(p.equals(0))N=new s(0);else{if(M.PARSE2NUMBER)return p.isConstant()?M.USE_BIG?new s(a.atan(p.multiplier.toDecimal())):new s(Math.atan(p.valueOf())):p.isImaginary()?ft.evaluate(p,"atan"):i.symfunction("atan",arguments);N=p.equals(-1)?i.parse("-pi/4"):i.symfunction("atan",arguments)}return N},asec:function(p){if(M.PARSE2NUMBER){if(p.equals(0))throw new Be("Input is out of the domain of sec!");if(p.isConstant())return St.acos(p.invert());if(p.isImaginary())return ft.evaluate(p,"asec")}return i.symfunction("asec",arguments)},acsc:function(p){if(M.PARSE2NUMBER){if(p.isConstant())return St.asin(p.invert());if(p.isImaginary())return ft.evaluate(p,"acsc")}return i.symfunction("acsc",arguments)},acot:function(p){if(M.PARSE2NUMBER){if(p.isConstant())return new i.add(i.parse("pi/2"),St.atan(p).negate());if(p.isImaginary())return ft.evaluate(p,"acot")}return i.symfunction("acot",arguments)},atan2:function(p,N){if(p.equals(0)&&N.equals(0))throw new qe("atan2 is undefined for 0, 0");return M.PARSE2NUMBER&&p.isConstant()&&N.isConstant()?new s(Math.atan2(p,N)):i.symfunction("atan2",arguments)}},Vt=this.trigh={cosh:function(p){if(M.PARSE2NUMBER){if(p.isConstant())return new s(Math.cosh(p.valueOf()));if(p.isImaginary())return ft.evaluate(p,"cosh")}return i.symfunction("cosh",arguments)},sinh:function(p){if(M.PARSE2NUMBER){if(p.isConstant())return new s(Math.sinh(p.valueOf()));if(p.isImaginary())return ft.evaluate(p,"sinh")}return i.symfunction("sinh",arguments)},tanh:function(p){if(M.PARSE2NUMBER){if(p.isConstant())return new s(Math.tanh(p.valueOf()));if(p.isImaginary())return ft.evaluate(p,"tanh")}return i.symfunction("tanh",arguments)},sech:function(p){return M.PARSE2NUMBER?p.isConstant()?new s(Math.sech(p.valueOf())):p.isImaginary()?ft.evaluate(p,"sech"):i.parse(te("1/cosh({0})",p)):i.symfunction("sech",arguments)},csch:function(p){return M.PARSE2NUMBER?p.isConstant()?new s(Math.csch(p.valueOf())):p.isImaginary()?ft.evaluate(p,"csch"):i.parse(te("1/sinh({0})",p)):i.symfunction("csch",arguments)},coth:function(p){return M.PARSE2NUMBER?p.isConstant()?new s(Math.coth(p.valueOf())):p.isImaginary()?ft.evaluate(p,"coth"):i.parse(te("1/tanh({0})",p)):i.symfunction("coth",arguments)},acosh:function(p){return p=M.PARSE2NUMBER&&p.isImaginary()?ft.evaluate(p,"acosh"):M.PARSE2NUMBER?He(i.parse(te(M.LOG+"(({0})+sqrt(({0})^2-1))",p.toString()))):i.symfunction("acosh",arguments),p},asinh:function(p){return p=M.PARSE2NUMBER&&p.isImaginary()?ft.evaluate(p,"asinh"):M.PARSE2NUMBER?He(i.parse(te(M.LOG+"(({0})+sqrt(({0})^2+1))",p.toString()))):i.symfunction("asinh",arguments),p},atanh:function(p){return p=M.PARSE2NUMBER&&p.isImaginary()?ft.evaluate(p,"atanh"):M.PARSE2NUMBER?He(i.parse(te("(1/2)*"+M.LOG+"((1+({0}))/(1-({0})))",p.toString()))):i.symfunction("atanh",arguments),p},asech:function(p){return p=M.PARSE2NUMBER&&p.isImaginary()?ft.evaluate(p,"asech"):M.PARSE2NUMBER?He(z(i.add(p.clone().invert(),cn(i.subtract(i.pow(p,new s(-2)),new s(1)))))):i.symfunction("asech",arguments),p},acsch:function(p){return p=M.PARSE2NUMBER&&p.isImaginary()?ft.evaluate(p,"acsch"):M.PARSE2NUMBER?He(i.parse(te(M.LOG+"((1+sqrt(1+({0})^2))/({0}))",p.toString()))):i.symfunction("acsch",arguments),p},acoth:function(p){return p=M.PARSE2NUMBER&&p.isImaginary()?ft.evaluate(p,"acoth"):M.PARSE2NUMBER?p.equals(1)?s.infinity():He(i.divide(z(i.divide(i.add(p.clone(),new s(1)),i.subtract(p.clone(),new s(1)))),new s(2))):i.symfunction("acoth",arguments),p}},zt={"\\":{precedence:8,operator:"\\",action:"slash",prefix:!0,postfix:!(this.units={}),leftAssoc:!0,operation:function(p){return p}},"!!":{precedence:7,operator:"!!",action:"dfactorial",prefix:!1,postfix:!0,leftAssoc:!0,operation:function(p){return i.symfunction(M.DOUBLEFACTORIAL,[p])}},"!":{precedence:7,operator:"!",action:"factorial",prefix:!1,postfix:!0,leftAssoc:!0,operation:Gt},"^":{precedence:6,operator:"^",action:"pow",prefix:!1,postfix:!1,leftAssoc:!0},"**":{precedence:6,operator:"**",action:"pow",prefix:!1,postfix:!1,leftAssoc:!0},"%":{precedence:4,operator:"%",action:"percent",prefix:!1,postfix:!0,leftAssoc:!0,overloaded:!0,overloadAction:"mod",overloadLeftAssoc:!1,operation:function(p){return i.divide(p,new s(100))}},"*":{precedence:4,operator:"*",action:"multiply",prefix:!1,postfix:!1,leftAssoc:!1},"/":{precedence:4,operator:"/",action:"divide",prefix:!1,postfix:!1,leftAssoc:!1},"+":{precedence:3,operator:"+",action:"add",prefix:!0,postfix:!1,leftAssoc:!1,operation:function(p){return p}},plus:{precedence:3,operator:"plus",action:"add",prefix:!0,postfix:!1,leftAssoc:!1,operation:function(p){return p}},"-":{precedence:3,operator:"-",action:"subtract",prefix:!0,postfix:!1,leftAssoc:!1,operation:function(p){return p.negate()}},"=":{precedence:2,operator:"=",action:"equals",prefix:!1,postfix:!1,leftAssoc:!1},"==":{precedence:1,operator:"==",action:"eq",prefix:!1,postfix:!1,leftAssoc:!1},"<":{precedence:1,operator:"<",action:"lt",prefix:!1,postfix:!1,leftAssoc:!1},"<=":{precedence:1,operator:"<=",action:"lte",prefix:!1,postfix:!1,leftAssoc:!1},">":{precedence:1,operator:">",action:"gt",prefix:!1,postfix:!1,leftAssoc:!1},"=>":{precedence:1,operator:"=>",action:"gte",prefix:!1,postfix:!1,leftAssoc:!1},",":{precedence:0,operator:",",action:"comma",prefix:!1,postfix:!1,leftAssoc:!1},":":{precedence:0,operator:",",action:"assign",prefix:!1,postfix:!1,leftAssoc:!1,vectorFn:"slice"},":=":{precedence:0,operator:",",action:"function_assign",prefix:!1,postfix:!1,leftAssoc:!0}},oe={"(":{type:"round",id:1,is_open:!0,is_close:!1},")":{type:"round",id:2,is_open:!1,is_close:!0},"[":{type:"square",id:3,is_open:!0,is_close:!1,maps_to:"vector"},"]":{type:"square",id:4,is_open:!1,is_close:!0},"{":{type:"curly",id:5,is_open:!0,is_close:!1,maps_to:"Set"},"}":{type:"curly",id:6,is_open:!1,is_close:!0}},$=this.functions={cos:[St.cos,1],sin:[St.sin,1],tan:[St.tan,1],sec:[St.sec,1],csc:[St.csc,1],cot:[St.cot,1],acos:[St.acos,1],asin:[St.asin,1],atan:[St.atan,1],arccos:[St.acos,1],arcsin:[St.asin,1],arctan:[St.atan,1],asec:[St.asec,1],acsc:[St.acsc,1],acot:[St.acot,1],atan2:[St.atan2,2],acoth:[Vt.acoth,1],asech:[Vt.asech,1],acsch:[Vt.acsch,1],sinh:[Vt.sinh,1],cosh:[Vt.cosh,1],tanh:[Vt.tanh,1],asinh:[Vt.asinh,1],sech:[Vt.sech,1],csch:[Vt.csch,1],coth:[Vt.coth,1],acosh:[Vt.acosh,1],atanh:[Vt.atanh,1],log10:[,1],exp:[function(p){return p.fname===M.LOG&&p.isLinear()?i.pow(p.args[0],s.create(p.multiplier)):i.parse(te("e^({0})",p))},1],radians:[function(p){return i.parse(te("({0})*pi/180",p))},1],degrees:[function(p){return i.parse(te("({0})*180/pi",p))},1],min:[function(){var p=[].slice.call(arguments);return Ve(p)?p[0]:ge(p)?new s(Math.min.apply(null,p)):M.SYMBOLIC_MIN_MAX&&Je(p)?b("min",p):i.symfunction("min",p)},-1],max:[function(){var p=[].slice.call(arguments);return Ve(p)?p[0]:ge(p)?new s(Math.max.apply(null,p)):M.SYMBOLIC_MIN_MAX&&Je(p)?b("max",p):i.symfunction("max",p)},-1],erf:[,1],floor:[,1],ceil:[,1],trunc:[,1],Si:[,1],step:[,1],rect:[,1],sinc:[function(p){return M.PARSE2NUMBER?p.isConstant()?new s(nt.sinc(p)):i.parse(te("sin({0})/({0})",p)):i.symfunction("sinc",[p])},1],tri:[,1],sign:[function(p){return p.isConstant(!0)?new s(Math.sign(He(p))):i.symfunction("sign",arguments)},1],Ci:[,1],Ei:[,1],Shi:[,1],Chi:[,1],Li:[,1],fib:[,1],fact:[Gt,1],factorial:[Gt,1],continued_fraction:[function(p,N){return p=He(p),p.isConstant()?(p=nt.continuedFraction(p,N),N=G.fromArray(p.fractions.map(function(we){return new s(we)})),G.fromArray([new s(p.sign),new s(p.whole),N])):i.symfunction("continued_fraction",arguments)},[1,2]],dfactorial:[,1],gamma_incomplete:[,[1,2]],round:[_e,[1,2]],scientific:[function(p,N){return p.scientific=N||10,p},[1,2]],mod:[Kt,2],pfactor:[o,1],vector:[function(){return new G([].slice.call(arguments))},-1],matrix:[function(){return Y.fromArray(arguments)},-1],Set:[function(){return ce.fromArray(arguments)},-1],imatrix:[function(p){return Y.identity(p)},-1],parens:[function(p){return M.PARSE2NUMBER?p:i.symfunction("parens",[p])},-1],sqrt:[cn,1],cbrt:[nn,1],nthroot:[un,2],log:[z,[1,2]],expand:[function(p,N){return $e(p,N=N||{expand_denominator:!0,expand_functions:!0})},1],abs:[At,1],invert:[function(p){if(P(p))return p.invert();Le("invert expects a matrix")},1],determinant:[function(p){return P(p)?p.determinant():p},1],size:[function(p){var N;return P(p)?N=[new s(p.cols()),new s(p.rows())]:H(p)||B(p)?N=new s(p.elements.length):Le("size expects a matrix or a vector"),N},1],transpose:[function(p){if(P(p))return p.transpose();Le("function transpose expects a matrix")},1],dot:[function(p,N){if(H(p)&&H(N))return p.dot(N);Le("function dot expects 2 vectors")},2],cross:[function(p,N){if(H(p)&&H(N))return p.cross(N);Le("function cross expects 2 vectors")},2],vecget:[function(p,N){return N.isConstant()&&ue(N)?p.elements[N]:i.symfunction("vecget",arguments)},2],vecset:[function(p,N,we){return N.isConstant?(p.elements[N]=we,p):i.symfunction("vecset",arguments)},3],vectrim:[function(p,N){return N=N===void 0?1e-14:N,p=p.clone(),N=Number(N),p.elements.sort(function(we,Re){return Re.group-we.group}),p.elements=Ne(p.elements,function(we,Re){return Number(i.subtract(He(we),He(Re)).abs())<=N}),p},[1,2]],matget:[function(p,N,we){return N.isConstant()&&we.isConstant()?p.elements[N][we]:i.symfunction("matget",arguments)},3],matset:[function(p,N,we,Re){return p.elements[N][we]=Re,p},4],matgetrow:[function(p,N){return N.isConstant()?new Y(p.elements[N]):i.symfunction("matgetrow",arguments)},2],matsetrow:[function(p,N,we){if(!N.isConstant())return i.symfunction("matsetrow",arguments);if(p.elements[N].length!==we.elements.length)throw new Ft("Matrix row must match row dimensions!");return p=p.clone(),p.elements[N]=we.clone().elements,p},3],matgetcol:[function(p,N){if(!N.isConstant())return i.symfunction("matgetcol",arguments);N=Number(N);var we=Y.fromArray([]);return p.each(function(Re,rt,mt){mt===N&&we.elements.push([Re.clone()])}),we},2],matsetcol:[function(p,N,we){if(!N.isConstant())return i.symfunction("matsetcol",arguments);if(N=Number(N),p.rows()!==we.elements.length)throw new Ft("Matrix columns must match number of columns!");return we.each(function(Re,rt){p.set(rt-1,N,Re.elements[0].clone())}),p},3],rationalize:[Jt,1],IF:[function(p,N,we){return typeof p!="boolean"&&fe(p)&&(p=!!Number(p)),p?N:we},3],is_in:[function(p,N){if(P(p)){for(var we=0,Re=p.rows();we<Re;we++)for(var rt=0,mt=p.cols();rt<mt;rt++)if(p.elements[we][rt].equals(N))return new s(1)}else if(p.elements){for(we=0,Re=p.elements.length;we<Re;we++)if(p.elements[we].equals(N))return new s(1)}return new s(0)},2],realpart:[y,1],imagpart:[F,1],conjugate:[X,1],arg:[w,1],polarform:[function(p){var N;return p=s.toPolarFormArray(p),N=p[1],p=p[0],N=i.parse(te("e^({0}*({1}))",M.IMAGINARY,N)),i.multiply(p,N)},1],rectform:[function(p){var N,we,Re,rt,mt,It=p.clone();try{return N=Ee(p,"e",!0),we=i.divide(N.x.power,s.imaginary()),Re=He(St.tan(we)),i.pow(N.a,new s(2)),rt=Re.getDenom(!0),mt=Re.getNum(),s.hyp(mt,rt).equals(N.a)?i.add(rt,i.multiply(s.imaginary(),mt)):It}catch(Bt){return It}},1],sort:[function(p,N){N=N?N.toString():"asc";function we(Re){return Re.group===j?Re.multiplier:Re.group===f?Re.fname===""?we(Re.args[0]):Re.fname:Re.group===c?Re.power:Re.value}return new G((H(p)?p.elements:p.collectSymbols()).sort(function(Re,rt){return Re=we(Re),rt=we(rt),N==="desc"?rt-Re:Re-rt}))},[1,2]],integer_part:[,1],union:[function(p,N){return p.union(N)},2],contains:[function(p,N){return p.contains(N)},2],intersection:[function(p,N){return p.intersection(N)},2],difference:[function(p,N){return p.difference(N)},2],intersects:[function(p,N){return new s(Number(p.intersects(N)))},2],is_subset:[function(p,N){return new s(Number(p.is_subset(N)))},2],print:[function(){Ge(arguments).map(function(p){console.log(p.toString())})},-1]};this.error=Le,this.override=function(p,N){S[p]||(S[p]=[]),S[p].push(this[p]),this[p]=N},this.restore=function(p){this[p]&&(this[p]=S[p].pop())},this.extend=function(p,N,we){var Re,rt=this;typeof this[p]=="function"&&typeof N=="function"&&(Re=this[p],this[p]=function(mt,It){return et(mt)&&et(It)&&!we?Re.call(rt,mt,It):N.call(rt,mt,It,Re)})},this.symfunction=function(p,N){var we=new s(p);return we.group=f,typeof N=="object"&&(N=[].slice.call(N)),we.args=N,we.fname=p===Q?"":p,we.updateHash(),we},this.callfunction=function(p,N,Rt){var Re,rt,mt=$[p],Rt=(mt||Le("Nerdamer currently does not support the function "+p),mt[1]||Rt),It=mt[0],Bt=(N instanceof Array||(N=N!==void 0?[N]:[]),Rt!==-1&&(Bt=(Re=pe(Rt))?Rt[0]:Rt,Re=Re?Rt[1]:Rt,Rt=p+" requires a {0} of {1} arguments. {2} provided!",(rt=N.length)<Bt&&Le(te(Rt,"minimum",Bt,rt)),Re<rt&&Le(te(Rt,"maximum",Re,rt))),ge(N)),Rt=It?It.apply(mt[2],N):(It=function(jt){for(var Ut=M.FUNCTION_MODULES,en=Ut.length,Wt=0;Wt<en;Wt++){var Qt=Ut[Wt];if(jt in Qt)return Qt[jt]}Le("The function "+jt+" is undefined!")}(p),M.PARSE2NUMBER&&Bt?be(It.apply(It,N)):i.symfunction(p,N));return Rt},this.operator_filter_regex=(Vt="^\\"+Object.keys(zt).filter(function(p){if(p.length===1)return p}).join("\\"),new RegExp("(["+Vt+"])\\s+(["+Vt+"])")),this.setOperator=function(p,N,we){var Re=p.operator;if(zt[Re]=p,N&&(this[p.action]=N),i[Re]=p.operation,p.action||p.prefix||p.postif||(p.action=Re),we==="over"||we==="under"){var rt,mt=p.precedence;for(rt in zt){var It=zt[rt];(we==="over"?It.precedence>=mt:It.precedence>mt)&&It.precedence++}}},this.getOperator=function(p){return zt[p]},this.aliasOperator=function(p,N){var we,Re={},rt=zt[p];for(we in rt)Re[we]=rt[we];Re.operator=N,this.setOperator(Re)},this.getOperators=function(){return zt},this.getBrackets=function(){return oe};function Ot(p){this.type=p.type,this.value=p.value,this.left=p.left,this.right=p.right}this.initConstants=function(){this.CONSTANTS={E:new s(M.E),PI:new s(M.PI)}},this.pretty_print=function(p){var N;return Array.isArray(p)?(N=p.map(we=>i.pretty_print(we)).join(", "),p.type==="vector"?"vector<"+N+">":"("+N+")"):p.toString()},this.peekers={pre_operator:[],post_operator:[],pre_function:[],post_function:[]},this.callPeekers=function(p){if(M.callPeekers)for(var N=this.peekers[p],we=Ge(arguments).slice(1).map(st),Re=0;Re<N.length;Re++)N[Re].apply(null,we)},this.tokenize=function(p){for(var N in p=(p=String(p)).trim().replace(/\s+/g," "),oe){var we=new RegExp(oe[N].is_close?"\\s+\\"+N:"\\"+N+"\\s+","g");p=p.replace(we,N)}for(var Re,rt=0,mt=p.length,It=0,Bt=[],Rt=[Bt],jt=Rt[0],Ut=0,en=[],Wt=!1,Qt=function(Nn,wn){var Mn=[];Nn!==void 0&&(Mn.type=Nn),Mn.column=wn,Rt.push(Mn),jt.push(Mn),jt=Mn,Ut++},sn=function(){Rt.pop(),jt=Rt[--Ut]},ln=function(Nn,wn){(wn=wn===void 0?p.substring(It,Nn):wn)in i.units?jt.push(new Fe(wn,Fe.UNIT,It)):wn!==""&&jt.push(new Fe(wn,Fe.VARIABLE_OR_LITERAL,It))},dn=function(Nn){jt.push(new Fe(Nn,Fe.FUNCTION,It))},En=function(Nn){It=Nn+1};rt<mt;rt++){var vn,Dt=p.charAt(rt);if(Dt in zt){ln(rt);var tn=jt[0]&&he(jt[0]),tn=(Wt&&It<rt&&Dt!==","&&!(tn&&Dt==="*")&&(Wt=!1,sn()),En(rt+1),function(wn){for(var Mn=(wn=wn!==void 0?wn:rt)+1;p.charAt(Mn++)in zt;);return p.substring(wn,Mn-1)}(rt)),rt=(It=It+tn.length-2)-1;jt.push.apply(jt,function(wn){for(var Mn=rt-wn.length,xn=[],$n=wn.charAt(0),An=1,Jn=wn.length;An<Jn;An++)var ei=wn.charAt(An),Xr=$n+ei,$n=Xr in zt?Xr:(xn.push(new Fe($n,Fe.OPERATOR,Mn+An)),ei);return xn.push(new Fe($n,Fe.OPERATOR,Mn+An)),xn}(tn))}else if(Dt in oe){var hn,tn=oe[Dt];if(tn.is_open)en.push([tn,It]),(hn=p.substring(It,rt))in $?dn(hn):hn!==""&&jt.push(new Fe(hn,Fe.VARIABLE_OR_LITERAL,It)),Qt(tn.maps_to,rt);else if(tn.is_close){var pn=en.pop();if(!pn)throw new wt("Missing open bracket for bracket at: "+(rt+1));if(pn[0].id!==tn.id-1)throw new wt("Parity error");ln(rt),sn()}En(rt)}else Dt===" "&&(pn=p.substring(It,rt),Dt=p.charAt(rt+1),Wt?(pn in zt?jt.push(new Fe(pn,Fe.OPERATOR,rt)):(ln(void 0,pn),sn(),((vn=Dt in zt)&&zt[Dt].value==="-"||!vn)&&jt.push(new Fe("*",Fe.OPERATOR,rt))),Wt=!1):(hn=p.substring(It,rt))in $?(Wt=!0,dn(hn),Qt()):hn in zt?jt.push(new Fe(hn,Fe.OPERATOR,rt)):(ln(void 0,hn),Dt=p.charAt(rt+1),pn===""||Dt===""||pn in zt||Dt in zt||jt.push(new Fe("*",Fe.OPERATOR,rt))),En(rt))}if(en.length)throw Re=en.pop(),new wt("Missing closed bracket for bracket at "+(Re[1]+1));return ln(rt),Bt},this.toRPN=function(p){for(var N=p.type,we=p.length,Re=[],rt=[],mt=[],It=function(ln,dn){for(;ln.length;)dn.push(ln.pop())},Bt=0;Bt<we;Bt++){var Rt=p[Bt];if(Rt.type!==Fe.OPERATOR)break;if(!Rt.prefix)throw new Mt("Not a prefix operator");Rt.is_prefix=!0,rt.push(Rt)}for(;Bt<we;Bt++){var jt=p[Bt];if(jt.type===Fe.OPERATOR){var Ut=jt;for(Ut.overloaded&&(Qt=p[Bt+1])&&Qt.type===Fe.VARIABLE_OR_LITERAL&&(Ut.postfix=!1,Ut.action=Ut.overloadAction,Ut.leftAssoc=Ut.overloadLeftAssoc);rt.length;){var en=rt[rt.length-1];if(!(en.precedence>Ut.precedence||!Ut.leftAssoc&&en.precedence===Ut.precedence))break;Re.push(rt.pop())}if((N==="vector"||N==="set")&&"vectorFn"in Ut&&(Ut.action=Ut.vectorFn),Ut.postfix){var Wt=p[Bt-1];if(!Wt)throw new Mt("Unexpected prefix operator '"+jt.value+"'! at "+jt.column);if(Wt.type===Fe.OPERATOR&&!Wt.postfix)throw new Mt("Unexpected prefix operator '"+Wt.value+"'! at "+Wt.column)}else do{var Qt,sn=!!(Qt=p[Bt+1])&&Qt.type===Fe.OPERATOR;if(sn){if(!Qt.prefix)throw new Mt("A prefix operator was expected at "+Qt.column);Qt.is_prefix=!0,mt.push(Qt),Bt++}}while(sn);for((Ut.is_prefix?mt:rt).push(Ut);mt.length&&(Ut.leftAssoc||!Ut.leftAssoc&&mt[mt.length-1].precedence>=Ut.precedence);)rt.push(mt.pop())}else jt.type===Fe.VARIABLE_OR_LITERAL?(Re.length===0&&It(mt,rt),Re.push(jt),(Wt=rt[rt.length-1])&&Wt.leftAssoc||It(mt,Re)):jt.type===Fe.FUNCTION?rt.push(jt):jt.type===Fe.UNIT&&Re.push(jt);Array.isArray(jt)&&(Re.push(this.toRPN(jt)),jt.type&&Re.push(new Fe(jt.type,Fe.FUNCTION,jt.column)))}return It(rt,Re),It(mt,Re),Re},this.parseRPN=function(p,N){try{for(var we in N=N||{})N[we]=i.parse(N[we],{});M.PARSE2NUMBER&&("e"in N||(N.e=new s(M.E)),"pi"in N||(N.pi=new s(M.PI)));for(var Re=[],rt=0,mt=p.length;rt<mt;rt++){var It=p[rt];if(It=Array.isArray(It)?this.parseRPN(It,N):It)if(It.type===Fe.OPERATOR)if(It.is_prefix||It.postfix)Re.push(It.operation(Re.pop()));else{var Bt=Re.pop(),Rt=Re.pop();if(Rt===void 0)throw new Mt(It+" is not a valid postfix operator at "+It.column);var jt=It.action==="comma",Ut=(Rt instanceof ce&&!jt&&(Rt=G.fromSet(Rt)),Bt instanceof ce&&!jt&&(Bt=G.fromSet(Bt)),this.callPeekers("pre_operator",Rt,Bt,It),i[It.action](Rt,Bt));this.callPeekers("post_operator",Ut,Rt,Bt,It),Re.push(Ut)}else if(It.type===Fe.FUNCTION){var en=Re.pop(),Wt=en.parent,Qt=(en instanceof ke||(en=ke.create(en)),It.value),sn=en.getItems(),ln=(this.callPeekers("pre_function",Qt,sn),i.callfunction(Qt,sn)),dn=(this.callPeekers("post_function",ln,Qt,sn),Re[Re.length-1]),En=p[rt+1];if(!(En&&En.type===Fe.OPERATOR&&En.value===",")&&ln instanceof G&&dn&&dn.elements&&!(dn instanceof ke)){var vn=Re.pop(),Dt=ln.elements[0];if(Dt.isConstant())if(Dt instanceof W)Re.push(G.fromArray(vn.elements.slice(Dt.start,Dt.end)));else{var tn=Number(Dt),hn=vn.elements.length;if((tn=tn<0?hn+tn:tn)<0||hn<=tn)throw new qt("Index out of range "+(It.column+1));var pn=vn.elements[tn];vn.getter=tn,pn.parent=vn,Re.push(pn)}else vn.getter=Dt,Re.push(vn),Re.push(ln)}else Wt&&(ln.parent=Wt),Re.push(ln)}else{var Nn,wn=It.value;wn in M.ALIASES?It=i.parse(M.ALIASES[It]):It.type===Fe.VARIABLE_OR_LITERAL?It=new s(wn):It.type===Fe.UNIT&&((It=new s(wn)).isUnit=!0),wn in i.CONSTANTS?(Nn=It,It=new s(i.CONSTANTS[wn])):wn in N&&wn!==N[wn].toString()?(Nn=It,It=N[wn].clone()):wn in yt&&(Nn=It,It=yt[wn].clone()),Nn&&(It.subbed=Nn),Re.push(It)}}var Mn=Re[0];if(["undefined","string","number"].indexOf(typeof Mn)!==-1)throw new Pt("Unexpected token!");return Mn}catch(xn){throw[Be].forEach(function(An){if(xn instanceof An)throw new An(xn.message+": "+It.column)}),new Se(xn.message+": "+It.column)}},Ot.prototype.toString=function(){var p=this.left?this.left.toString()+"---":"",N=this.right?"---"+this.right.toString():"";return p+"("+this.value+")"+N},Ot.prototype.toHTML=function(p,N){p=p||0,N=N===void 0?4:N;function we(It){return" ".repeat(N*It)}var mt="",Re=this.left?we(p+1)+`<li>
|
||
`+this.left.toHTML(p+2,N)+we(p+1)+`</li>
|
||
`:"",rt=this.right?we(p+1)+`<li>
|
||
`+this.right.toHTML(p+2,N)+we(p+1)+`</li>
|
||
`:"",mt=we(p)+'<div class="'+this.type.toLowerCase()+'"><span>'+this.value+"</span></div>"+we(p)+`
|
||
`;return(Re||rt)&&(mt+=we(p)+`<ul>
|
||
`+Re+rt+we(p)+`</ul>
|
||
`),mt+=""},this.tree=function(p){for(var N=[],we=0;we<p.length;we++){var Re=p[we];if(Array.isArray(Re))Re=this.tree(Re),N.push(Re);else if(Re.type===Fe.OPERATOR)Re.is_prefix||Re.postfix?(mt=Re.is_prefix?"left":"right",rt=N.pop(),(Re=new Ot(Re))[mt]=rt):((Re=new Ot(Re)).right=N.pop(),Re.left=N.pop()),N.push(Re);else if(Re.type===Fe.FUNCTION){Re=new Ot(Re);var rt,mt=N.pop();if(Re.right=mt,Re.value==="object"&&(rt=N[N.length-1])){for(;rt.right;)rt=rt.right;rt.right=Re;continue}N.push(Re)}else N.push(new Ot(Re))}return N[0]},this.parse=function(p,N){return p=function(we){we=String(we);for(var Re=0;Re<A.actions.length;Re++)we=A.actions[Re].call(this,we);for(we=we.replace(/\s+/g," "),we=(we=/e/gi.test(we)?we.replace(/\-*\d+\.*\d*e\+?\-?\d+/gi,function(rt){return Ct(rt)}):we).replace(M.IMPLIED_MULTIPLICATION_REGEX,function(){var rt=arguments[4],mt=arguments[1],It=arguments[2],Bt=arguments[3],Rt="",jt="*";return mt+(jt=(Rt=rt.charAt(Bt).match(/[\+\-\/\*]/)?Rt:rt.charAt(Bt-1)).match(/[a-z]/i)?"":jt)+It}).replace(/([a-z0-9_]+)/gi,function(rt,mt){return!(M.USE_MULTICHARACTER_VARS!==!1||mt in $)&&isNaN(mt)?mt.split("").join("*"):mt}).replace(/\)\(/g,")*(")||"0";we!==(we=we.replace(/([a-z0-9_]+)(\()|(\))([a-z0-9]+)/gi,function(rt,mt,It,Bt,Rt){return mt=mt||Bt,Bt=It||Rt,mt in $?mt+Bt:mt+"*"+Bt})););return we}(p),N=N||{},p=this.tokenize(p),p=this.toRPN(p),this.parseRPN(p,N)},this.toObject=function(p){var N=function(we){for(var Re=[],rt=0,mt=we.length;rt<mt;rt++){var It,Bt=we[rt],Rt=Bt.value;Bt.type===Fe.VARIABLE_OR_LITERAL?Re.push(new s(Rt)):Bt.type===Fe.FUNCTION?(rt++,(It=i.symfunction(Rt,N(we[rt]))).isConversion=!0,Re.push(It)):Bt.type===Fe.OPERATOR?Re.push(Rt):Re.push(N(Bt))}return Re};return N(i.tokenize(p))};function kt(p){for(var N=0,we=[[]],Re=0,rt=p.length;Re<rt;Re++)p[Re]===","?we[++N]=[]:we[N].push(p[Re]);return we}function xt(p){return p.replace(/^\\left\((.+)\\right\)$/g,function(N,we){return we||N})}function At(p){if(p.isInfinity)return s.infinity();if(p.multiplier.lessThan(0)&&p.multiplier.negate(),p.isImaginary()){var Re=p.realpart(),N=p.imagpart();if(Re.isConstant()&&N.isConstant())return cn(i.add(i.pow(Re,new s(2)),i.pow(N,new s(2))))}else if(fe(p)||Ce(p.power))return p;p.isComposite()&&(we=[],p.each(function(rt){we.push(rt.multiplier)}),nt.QGCD.apply(null,we).lessThan(0)&&(p.multiplier=p.multiplier.multiply(new T(-1)),p.distributeMultiplier()));var we,Re=i.parse(p.multiplier);return p.toUnitMultiplier(),i.multiply(Re,i.symfunction(ye,[p]))}function Gt(p){var N,we,Re,rt,mt;return H(p)?(N=new G,p.each(function(It,Bt){N.set(Bt-1,Gt(It))}),N):P(p)?(we=new Y,p.each(function(It,Bt,Rt){we.set(Bt,Rt,Gt(It))}),we):M.PARSE2NUMBER&&p.isConstant()?be(ue(p)?nt.bigfactorial(p):nt.gamma(p.multiplier.add(new T(1)).toDecimal())):p.isConstant()&&p.getDenom().equals(2)?(rt=p.getNum(),rt=p.multiplier.isNegative()?(mt=i.subtract(rt.negate(),new s(1)).multiplier.divide(new T(2)),Re=i.pow(new s(-4),new s(mt)).multiplier.multiply(nt.bigfactorial(mt)),nt.bigfactorial(new T(2).multiply(mt))):(mt=i.add(rt,new s(1)).multiplier.divide(new T(2)),Re=nt.bigfactorial(new T(2).multiply(mt)),i.pow(new s(4),new s(mt)).multiplier.multiply(nt.bigfactorial(mt))),mt=Re.divide(rt),i.multiply(i.parse("sqrt(pi)"),new s(mt))):i.symfunction(Ae,[p])}function Kt(p,N){var we;return p.isConstant()&&N.isConstant()?((we=new s(1)).multiplier=we.multiplier.multiply(p.multiplier.mod(N.multiplier)),we):(we=i.divide(p.clone(),N.clone()),ue(we)?new s(0):i.symfunction("mod",[p,N]))}function Jt(p){var N,we,Re,rt,mt;return p.isComposite()?(N=new s(0),p.each(function(It){mt=It.getNum(),we=It.getDenom(),rt=N.getNum(),Re=N.getDenom(),rt=i.multiply(we,rt),mt=i.multiply(mt,Re),rt=i.expand(i.add(rt,mt)),mt=i.multiply(Re,we),N=i.divide(rt,mt)},!0),N):p}function cn(p){if((p=et(p)?p:i.parse(p)).group===u)return i.symfunction(le,[p]);var N=(p=p.fname===""&&p.power.equals(1)?p.args[0]:p).multiplier.sign()<0;if(M.PARSE2NUMBER){if(p.isConstant()&&!N)return new s(a.sqrt(p.multiplier.toDecimal()));if(p.isImaginary())return ft.sqrt(p);if(p.group===c)return i.symfunction("sqrt",[p])}var we,Re=p.isConstant();if(p.group===I&&p.isLinear()){var rt=cn(s(p.multiplier));for(It in p.symbols){var mt=p.symbols[It];rt=i.multiply(rt,cn(mt))}jt=rt}else if(p.fname===le){var It=p.args[0],Bt=p.multiplier;It.setPower(p.power.multiply(new T(.25))),jt=It,Bt.equals(1)||(jt=i.multiply(cn(i.parse(Bt)),jt))}else if(p.power.isInteger())if(p.multiplier<0&&p.group===c)var Bt=i.parse(p.multiplier).negate(),Rt=i.parse(p).toUnitMultiplier().negate(),jt=i.multiply(i.symfunction(M.SQRT,[Rt]),cn(Bt));else{var Rt=p.power.sign(),Ut=(p.power=p.power.abs(),Re&&p.multiplier.lessThan(0)&&(we=s.imaginary(),p.multiplier=p.multiplier.abs()),p.multiplier.toDecimal()),Bt=Math.abs(Ut),Re=Math.sqrt(Bt);if(ue(Re))rt=new s(Re);else if(ue(Ut)){var en=nt.ifactor(Ut),Wt=1;for(mt in en){var Qt,sn=(ln=en[mt])-ln%2;sn&&(Qt=Math.pow(mt,sn),Wt*=Math.pow(mt,sn/2),Ut/=Qt)}rt=i.multiply(i.symfunction(le,[new s(Ut)]),new s(Wt))}else{for(var ln,dn=[new s(p.multiplier.num),new s(p.multiplier.den)],En=[new s(1),new s(1)],vn=[new s(1),new s(1)],Dt=0;Dt<2;Dt++)o(ln=dn[Dt]).each(function(Mn){var wn=(Mn=s.unwrapPARENS(Mn)).clone().toLinear(),Mn=Number(Mn.power),xn=Mn%2;En[Dt]=i.multiply(En[Dt],i.pow(wn,new s((Mn-xn)/2))),vn[Dt]=i.multiply(vn[Dt],cn(i.pow(wn,new s(xn))))});rt=i.divide(i.multiply(En[0],vn[0]),i.multiply(En[1],vn[1]))}jt=(p=p.toUnitMultiplier(!0)).isOne()?p:Ce(p.power.toString())?i.pow(p.clone(),new s(.5)):i.symfunction(le,[p]),Rt<0&&jt.power.negate(),rt&&(jt=i.multiply(rt,jt)),we&&(jt=i.multiply(we,jt))}else p.setPower(p.power.multiply(new T(.5))),jt=p;return N&&M.PARSE2NUMBER?i.parse(jt):jt}function nn(p){var N,we,Re;return p.isConstant(!0)?un(p,new s(3)):(we=p.power/3,Re=i.pow(i.parse(p.multiplier),new s(.3333333333333333)),p=p.toUnitMultiplier(),ue(we)?N=i.pow(p.toLinear(),i.parse(we)):p.group===I?(N=new s(1),p.each(function(rt){N=i.multiply(N,nn(rt))})):N=i.symfunction("cbrt",[p]),i.multiply(Re,N))}function un(p,N,we,Re){if((N=He(i.parse(N))).equals(0))throw new qe("Unable to calculate nthroots of zero");if(p<0&&Ce(N))throw new Error("Cannot calculate nthroot of negative number for even powers");if(!p.isConstant(!0))return i.symfunction("nthroot",arguments);Re===void 0&&(Re=!0),we=we||25;var rt,mt=(p=p.group!==j?He(p):p).sign();return mt<0&&(p=At(p)),ue(p)&&N.isConstant()?(p=p<18446744073709552e3?T.create(Math.pow(p,1/N)):nt.nthroot(p,N),Re&&(rt=new s(p)),rt=new s(p.toDecimal(we)),i.multiply(new s(mt),rt)):void 0}function o(p){if(p.greaterThan(9999999999998891e26)||p.equals(-1))return p;if(p.equals(Math.PI))return new s(Math.PI);if((p=He(p.clone())).isConstant()){var N=new s(1),we=p.toString();if(ue(we)){var Re,rt=nt.ifactor(we);for(Re in rt)var mt=rt[Re],N=i.multiply(N,i.symfunction("parens",[new s(Re).setPower(new T(mt))]))}else we=o(new s(p.multiplier.num)),p=o(new s(p.multiplier.den)),N=i.multiply(i.symfunction("parens",[we]),i.symfunction("parens",[p]).invert())}else N=i.symfunction("pfactor",arguments);return N}function y(p){return p.realpart()}function F(p){return p.imagpart()}function X(we){var N=we.realpart(),we=we.imagpart();return i.add(N,i.multiply(we.negate(),s.imaginary()))}function w(we){var N=we.realpart(),we=we.imagpart();return N.isConstant()&&we.isConstant()?we.equals(0)&&N.equals(-1)?i.parse("pi"):we.equals(1)&&N.equals(0)?i.parse("pi/2"):we.equals(1)&&N.equals(1)?i.parse("pi/4"):new s(Math.atan2(we,N)):i.symfunction("atan2",[we,N])}function b(p,N){var we,Re;for(N.map(function(rt){rt.numVal=He(rt).multiplier});;){if((Re=N.length)<2)return N[0];we=N.pop(),Re=N[Re-2],(p==="min"?we.numVal<Re.numVal:we.numVal>Re.numVal)&&(N.pop(),N.push(we))}}function z(p,N){if(p.equals(1))return new s(0);var we,Re,rt;if(p.fname===le&&p.multiplier.equals(1))we=i.divide(z(p.args[0]),new s(2)),p.power.sign()<0&&we.negate();else{if(p.equals(0))throw new qe(M.LOG+"(0) is undefined!");if(p.isImaginary())return ft.evaluate(p,M.LOG);p.isConstant()&&N!==void 0&&N.isConstant()?we=new s(Math.log(p)/Math.log(N)):p.group===u&&p.power.multiplier.lessThan(0)||p.power.toString()==="-1"?(p.power.negate(),we=z(p).negate()):p.value==="e"&&p.multiplier.equals(1)?(N=p.power,we=et(N)?N:new s(N)):p.group===f&&p.fname==="exp"?(rt=p.args[0],we=p.multiplier.equals(1)?i.multiply(rt,new s(p.power)):i.symfunction(M.LOG,[p])):M.PARSE2NUMBER&&fe(p)?((p=i.parse(p)).multiplier.lessThan(0)&&(p.negate(),Re=i.multiply(new s(Math.PI),new s("i"))),we=new s(Math.log(p.multiplier.toDecimal())),Re&&(we=i.add(we,Re))):(p.power.equals(1)||p.contains("e")||(rt=p.group===u?p.power:new s(p.power),p.toLinear()),we=1<arguments.length&&Ve(arguments)?new s(1):i.symfunction(M.LOG,arguments),rt&&(we=i.multiply(rt,we)))}return we}function _e(p,N){var we,Re=N&&N.isConstant()||N===void 0;return p.isConstant()&&Re?(Re=p,N&&N.lessThan(0)&&(N=At(N),Re=(p=Number(p).toExponential().toString().split("e"))[0],we=p[1]),p=new s(xe(Re,Number(N||0))),i.multiply(p,i.pow(new s(10),new s(we||0)))):i.symfunction("round",arguments)}function tt(p){return p%=2,0<=(p=p<0?2+p:p)&&p<=.5?1:.5<p&&p<=1?2:1<p&&p<=1.5?3:4}function be(p){var N;if(!isFinite(p))return we=Math.sign(p),(N=new s(String(Math.abs(p)))).multiplier=N.multiplier.multiply(new T(we)),N;if(et(p))return p;if(typeof p=="number")try{p=T.simple(p)}catch(Re){p=new T(p)}var we=new s(0);return we.multiplier=p,we}function $e(p,N){if(Array.isArray(p))return p.map(function(Qt){return $e(Qt,N)});if(N=N||{},p.group===f&&p.fname==="")return Ut=$e(p.args[0],N),we=$e(i.pow(Ut,i.parse(p.power)),N),i.multiply(i.parse(p.multiplier),we).distributeMultiplier();if([j,d,c].indexOf(p.group)!==-1)return p;var we=p.clone();try{var Re,rt,mt,It=p.multiplier.toString(),Bt=Number(p.power),Rt=p;if(p.isComposite()&&ue(p.power)&&0<p.power){for(var jt=Bt-1,Ut=new s(0),en=(p.each(function(Qt){Ut=i.add(Ut,$e(i.parse(Qt),N))}),i.parse(Ut)),Wt=0;Wt<jt;Wt++)en=gt(en,Ut,N);Rt=i.multiply(i.parse(It),en).distributeMultiplier()}else p.group===f&&N.expand_functions===!0?(Re=[],p.args.forEach(function(Qt){Re.push($e(Qt,N))}),Rt=i.pow(i.symfunction(p.fname,Re),i.parse(p.power)),Rt=i.multiply(Rt,i.parse(p.multiplier))):p.isComposite()&&ue(p.power)&&p.power<0&&N.expand_denominator===!0?(p=p.invert(),(Rt=$e(p,N)).invert()):p.group===I?(rt=function(Qt){switch(Qt.group){case q:return 0;case v:return 1;case I:return 2;case f:return 3;default:return 4}},mt=p.collectSymbols().sort(function(Qt,sn){return rt(sn)-rt(Qt)}).map(function(Qt){return $e(i.pow(Qt,i.parse(Bt)),N)}),Ut=mt.pop(),(Rt=Ut.isComposite()&&Ut.isLinear()?(mt.forEach(function(Qt){Ut=gt(Ut,Qt,N)}),Ut.isComposite()?(1<Ut.power&&(Ut=$e(i.pow(Ut,i.parse(Ut.power)),N)),i.multiply(i.parse(It),Ut).distributeMultiplier()):Ut):(Rt=Ut,mt.forEach(function(Qt){Rt=i.multiply(Rt,Qt)}),i.multiply(Rt,i.parse(It)).distributeMultiplier())).group===I&&(Rt=i.parse(Rt))):Rt=p;return Rt}catch(Qt){}return we}function pt(p){var N,we;return!et(p.power)&&p.power.absEquals(.5)?(N=p.power.sign(),we=cn(p.group===d?new s(p.value):p.toLinear()),N<0&&we.invert(),we):p}this.toTeX=function(p,N){var we=(N=N||{}).decimals===!0?"decimals":void 0,mt=typeof p=="string"?this.toObject(p):p,Re=[],rt=N.cdot===void 0?"\\cdot":N.cdot,mt=function(hn){for(var pn=[];hn.length;){var Nn,wn,Mn=hn.shift(),xn=hn[0],An=pe(xn),Jn=xn==="-";Mn==="^"&&(xn==="+"?hn.shift():An&&xn[0]==="+"&&xn.shift(),An&&xn.length===1&&hn.unshift(hn.shift()[0])),Mn==="^"&&(An&&xn[0]==="-"||Jn)?(Jn=pn.pop(),wn="1",(Nn=pn[pn.length-1])==="*"?(pn.pop(),wn=pn.pop()):pe(Nn)&&(wn=pn.pop()),pn.push(wn,"/",Jn,Mn),(An?xn:hn).shift(),An&&xn.length===1&&pn.push(hn.shift()[0])):pn.push(Mn)}return pn}(mt);if(pe(mt)){for(var It,Bt,Rt=[],jt=0;jt<mt.length;jt++)It=mt[jt],mt[jt+1]==="^"?(Bt=mt[jt+2],Rt.push(U.braces(this.toTeX([It]))+"^"+U.braces(this.toTeX([Bt]))),jt+=2):Rt.push(It);mt=Rt}for(var jt=0,Ut=mt.length;jt<Ut;jt++){var en=mt[jt];if(et(en=en==="*"?rt:en))if(en.group===f){var Wt,Qt=en.fname;if(Qt===le)ln="\\sqrt"+U.braces(this.toTeX(en.args));else if(Qt===ye)ln=U.brackets(this.toTeX(en.args),"abs");else if(Qt===Q)ln=U.brackets(this.toTeX(en.args),"parens");else if(Qt===M.LOG10)ln="\\"+M.LOG10_LATEX+"\\left( "+this.toTeX(en.args)+"\\right)";else if(Qt===M.LOG)ln="\\ln\\left( "+this.toTeX(en.args)+"\\right)";else if(Qt==="floor")ln="\\left \\lfloor{"+this.toTeX(en.args)+"}\\right \\rfloor";else if(Qt==="ceil")ln="\\left \\lceil{"+this.toTeX(en.args)+"}\\right \\rceil";else if(Qt==="integrate")var sn=kt(en.args),ln="\\int "+(dn=U.braces(this.toTeX(sn[0])))+"\\, d"+(En=this.toTeX(sn[1]));else if(Qt==="defint"){var sn=kt(en.args),dn=U.braces(this.toTeX(sn[0])),En=this.toTeX(sn[3]);ln="\\int\\limits_{"+this.toTeX(sn[1])+"}^{"+this.toTeX(sn[2])+"} "+dn+"\\, d"+En}else if(Qt==="diff"||Qt==="D"){if(sn=kt(en.args),En="",dn=U.braces(this.toTeX(sn[0])),sn.length===1){for(var vn=[],Dt=0;Dt<sn[0].length;Dt++)sn[0][Dt].group===3&&vn.push(sn[0][Dt].value);vn.sort(),En=0<vn.length?"\\frac{d}{d "+vn[0]+"}":"\\frac{d}{d x}"}else En=sn.length===2?"\\frac{d}{d "+sn[1]+"}":"\\frac{d^{"+sn[2]+"}}{d "+this.toTeX(sn[1])+"^{"+sn[2]+"}}";ln=En+"\\left("+dn+"\\right)"}else if(Qt==="sum"||Qt==="product"){var tn=[[],[],[],[]],Dt=0;for(jt=0;jt<en.args.length;jt++)en.args[jt]===","?Dt++:tn[Dt].push(en.args[jt]);ln=(Qt==="sum"?"\\sum_":"\\prod_")+U.braces(this.toTeX(tn[1])+" = "+this.toTeX(tn[2])),ln+="^"+U.braces(this.toTeX(tn[3]))+U.braces(this.toTeX(tn[0]))}else ln=Qt==="limit"?(Wt=kt(en.args).map(function(pn){return Array.isArray(pn)?i.toTeX(pn.join("")):i.toTeX(String(pn))}),"\\lim_"+U.braces(Wt[1]+"\\to "+Wt[2])+" "+U.braces(Wt[0])):Qt===Ae||Qt===je?this.toTeX(en.args)+(Qt===Ae?"!":"!!"):U.latex(en,we);Re.push(ln)}else Re.push(U.latex(en,we));else pe(en)?Re.push(U.brackets(this.toTeX(en))):en==="/"?Re.push(U.frac(xt(Re.pop()),xt(this.toTeX([mt[++jt]])))):Re.push(en)}return Re.join(" ")},this.expand=$e,this.round=_e,this.clean=function p(N){var we,Re,rt,mt,It,Bt,Rt,jt=N.group;return jt===q?(Re=N.getNum(),rt=N.getDenom()||new s(1),mt=Number(N.power),It=new s(1),Math.abs(mt)===1&&(rt.each(function(Ut){Ut.group===I?It=i.multiply(It,p(Ut.getDenom())):Ut.power.lessThan(0)&&(It=i.multiply(It,p(Ut.clone().toUnitMultiplier())))}),Bt=new s(0),rt.each(function(Ut){Bt=i.add(i.divide(Ut,It.clone()),Bt)}),It.invert(),Re.isComposite()?(Rt=new s(0),Re.each(function(Ut){Rt=i.add(i.multiply(p(Ut),It.clone()),Rt)})):Rt=i.multiply(It,Re),we=i.divide(Rt,Bt))):jt===I?(we=new s(1),N.each(function(Ut){we=i.multiply(we,i.clean(Ut))})):jt===f&&N.args.length===1&&N.args[0].isConstant()&&(we=ae("PARSE2NUMBER",function(){return i.parse(N)},!0)),we=we||N},this.sqrt=cn,this.cbrt=nn,this.abs=At,this.log=z,this.rationalize=Jt,this.nthroot=un,this.arg=w,this.conjugate=X,this.imagpart=F,this.realpart=y,this.getFunction=function(p){return $[p][0]},this.addPreprocessor=function(p,N,we,Re){var rt=A.names,mt=A.actions;if(typeof N!="function")throw new PreprocessorError("Incorrect parameters. Function expected!");we?Re?(rt.splice(we,0,p),mt.splice(we,0,N)):(rt[we]=p,mt[we]=N):(rt.push(p),mt.push(N))},this.getPreprocessors=function(){for(var p={},N=0,we=p.names.length;N<we;N++)p[p.names[N]]={order:N,action:p.actions[N]};return p},this.removePreprocessor=function(p,N){p=A.names.indexOf(p),N?(We(A.names,p),We(A.actions,p)):(A.names[p]=void 0,A.actions[p]=void 0)},this.mapped_function=function(){for(var p={},N=this.params,we=0;we<N.length;we++)p[N[we]]=String(arguments[we]);return i.parse(this.body,p)},this.add=function(p,N){var we=et(p),Re=et(N);if(we&&Re){if(p.unit||N.unit)return i.Unit.add(p,N);if(p.isInfinity||N.isInfinity){var mt=p.multiplier.lessThan(0),rt=N.multiplier.lessThan(0);if(p.isInfinity&&N.isInfinity&&mt!==rt)throw new qe("("+p+")+("+N+") is not defined!");return mt=s.infinity(),rt&&mt.negate(),mt}if(p.isComposite()&&p.isLinear()&&N.isComposite()&&N.isLinear()&&(p.distributeMultiplier(),N.distributeMultiplier(),N.length>p.length&&p.group===N.group&&([p,N]=[N,p])),p.multiplier.equals(0))return N;if(N.multiplier.equals(0))return p;if(p.isConstant()&&N.isConstant()&&M.PARSE2NUMBER)return Rt=new s(p.multiplier.add(N.multiplier).toDecimal(M.PRECISION));var rt=p.group,mt=N.group,jt=p.power.toString(),Ut=N.power.toString();if(rt<mt||rt===mt&&Ut<jt&&0<Ut)return this.add(N,p);rt===I&&mt===v&&p.value===N.value&&(En=p,p=N,N=En,rt=p.group,mt=N.group,jt=p.power.toString(),Ut=N.power.toString());var It,Bt,Rt,jt=jt===Ut,Ut=p.value,sn=N.value,en=p.isComposite(),Dt=N.isComposite();if(en&&(It=O(p,"hash")),Dt&&(Bt=O(N,"hash")),rt===q&&mt===q&&N.isLinear()&&!p.isLinear()&&It!==Bt)return this.add(N,p);rt===v&&mt===v&&(Ut=It,sn=Bt);var Wt,Dt=rt===d&&mt===j,Qt=p.value===N.multiplier.toString(),sn=Ut===sn||It===Bt&&It!==void 0||Dt&&Qt;if(sn&&jt&&rt===mt)if(Dt&&(N=N.convert(d)),rt!==v||mt!==c&&mt!==d)if((Rt=p).multiplier.isOne()&&N.multiplier.isOne()&&rt===q&&p.isLinear()&&N.isLinear())for(var ln in N.symbols){var dn=N.symbols[ln];Rt.attach(dn)}else Rt.multiplier=Rt.multiplier.add(N.multiplier);else p.distributeMultiplier(),Rt=p.attach(N);else if(sn&&rt!==v)rt===q&&mt===v?(N.insert(p,"add"),Rt=N):(Rt=s.shell(v).attach([p,N])).value=rt===v?It:Ut;else if(en&&p.isLinear())if(Qt=rt===mt,jt=rt===v&&mt===v,jt&&(Qt=p.value===N.value),p.distributeMultiplier(),N.isComposite()&&N.isLinear()&&Qt){for(var ln in N.distributeMultiplier(),N.symbols)dn=N.symbols[ln],p.attach(dn);Rt=p}else jt&&p.value!==Bt||rt===v&&!sn?(Rt=s.shell(q).attach([p,N])).updateHash():Rt=p.attach(N);else rt===f&&p.fname===le&&mt!==u&&N.power.equals(.5)&&(Wt=N.multiplier.clone(),(N=cn(N.toUnitMultiplier().toLinear())).multiplier=Wt),p.length===2&&N.length===2&&Ce(p.power)&&Ce(N.power)?Rt=i.add($e(p),$e(N)):(Rt=s.shell(q).attach([p,N])).updateHash();return(Rt=Rt.multiplier.equals(0)?new s(0):Rt).length===1&&(Wt=Rt.multiplier,(Rt=re(Rt.symbols)).multiplier=Rt.multiplier.multiply(Wt)),Rt}Re&&!we&&(En=p,p=N,N=En,En=Re,Re=we,we=En);var En,vn,Dt=P(N);if(we&&Dt){var tn=new Y;N.eachElement(function(hn,pn,Nn){tn.set(pn,Nn,i.add(p.clone(),hn))}),N=tn}else if(P(p)&&Dt)N=p.add(N);else if(we&&H(N))N.each(function(hn,pn){N.elements[--pn]=i.add(p.clone(),N.elements[pn])});else if(H(p)&&H(N))N.each(function(hn,pn){N.elements[--pn]=i.add(p.elements[pn],N.elements[pn])});else{if(H(p)&&P(N))return i.add(N,p);if(P(p)&&H(N)){if(N.elements.length===p.rows())return tn=new Y,vn=p.cols(),N.each(function(hn,pn){for(var Nn=[],wn=0;wn<vn;wn++)Nn.push(i.add(p.elements[pn-1][wn].clone(),hn.clone()));tn.elements.push(Nn)}),tn;Le("Dimensions must match!")}}return N},this.subtract=function(p,N){var we,Re,rt=et(p),mt=et(N);if(rt&&mt)return p.unit||N.unit?i.Unit.subtract(p,N):this.add(p,N.negate());if(mt&&H(p))N=p.map(function(It){return i.subtract(It,N.clone())});else if(rt&&H(N))N=N.map(function(It){return i.subtract(p.clone(),It)});else if(H(p)&&H(N))p.dimensions()===N.dimensions()?N=p.subtract(N):i.error("Unable to subtract vectors. Dimensions do not match.");else if(P(p)&&H(N)){if(N.elements.length===p.rows())return Re=new Y,we=p.cols(),N.each(function(It,Bt){for(var Rt=[],jt=0;jt<we;jt++)Rt.push(i.subtract(p.elements[Bt-1][jt].clone(),It.clone()));Re.elements.push(Rt)}),Re;Le("Dimensions must match!")}else{if(H(p)&&P(N))return Re=N.clone().negate(),i.add(Re,p);P(p)&&P(N)?N=p.subtract(N):P(p)&&mt?(Re=new Y,p.each(function(It,Bt,Rt){Re.set(Bt,Rt,i.subtract(It,N.clone()))}),N=Re):rt&&P(N)&&(Re=new Y,N.each(function(It,Bt,Rt){Re.set(Bt,Rt,i.subtract(p.clone(),It))}),N=Re)}return N},this.multiply=function(p,N){var we=et(p),Re=et(N);if(we&&N instanceof ke)N.elements.push(p);else{if(we&&Re){if(N.isUnit)Wt=p.clone(),p.unit=N;else{if(p.unit||N.unit)return i.Unit.multiply(p,N);if(p.isInfinity||N.isInfinity){if(p.equals(0)||N.equals(0))throw new qe(p+"*"+N+" is undefined!");if(N.power.lessThan(0)){if(p.isInfinity)throw new qe("Infinity/Infinity is not defined!");return new s(0)}var jt=p.multiplier.multiply(N.multiplier).sign(),mt=s.infinity();if(p.isConstant()||N.isConstant()||p.isInfinity&&N.isInfinity)return jt<0&&mt.negate(),mt}if(p.isConstant()&&N.isConstant()&&M.PARSE2NUMBER)return new s(rt=new a(p.multiplier.toDecimal()).times(new a(N.multiplier.toDecimal())).toFixed());if(p.isOne())return N.clone();if(N.isOne())return p.clone();if(p.multiplier.equals(0)||N.multiplier.equals(0))return new s(0);if(N.group>p.group&&N.group!==q)return this.multiply(N,p);p.group===I&&N.group===v&&p.value===N.value&&(rt=p,p=N,N=rt);var rt,mt=p.group,pn=N.group,It=N.multiplier.num,Bt=N.multiplier.den,hn=(mt!==f||p.fname!==le||N.isConstant()||p.args[0].value!==N.value||p.args[0].multiplier.lessThan(0)?mt===f&&p.fname===le&&p.multiplier.equals(1)&&p.power.equals(-1)&&N.isConstant()&&p.args[0].equals(N)&&(p=i.symfunction(le,[N.clone()]),N=new s(1)):(Rt=p.power,hn=i.parse(p.multiplier),(p=i.multiply(hn,p.args[0].clone())).setPower(new T(.5).multiply(Rt)),mt=p.group),p.value),Rt=N.value,jt=new T(p.sign()),Ut=mt===d&&pn===j&&N.multiplier.equals(p.value),en=(Ut?new T(1).multiply(p.multiplier):p.multiplier.multiply(N.multiplier)).abs(),Wt=p.clone().toUnitMultiplier();if(N=N.clone().toUnitMultiplier(!0),mt===f&&pn===f){var Qt=p.args[0].clone(),sn=N.args[0].clone();if(p.fname===le&&N.fname===le&&p.isLinear()&&N.isLinear()){var ln=i.divide(Qt,sn).invert();ln.gt(1)&&ue(ln)&&(Wt=i.multiply(p.args[0].clone(),cn(ln.clone())),N=new s(1))}else if(p.fname===Ae&&N.fname===Ae&&!Qt.isConstant()&&!sn.isConstant()&&N.power<0){var ln=i.subtract(Qt.clone(),sn.clone());if(ln.isConstant()){if(rt=new s(1),ln<0){for(var dn=0,En=Math.abs(ln);dn<=En;dn++){var vn=i.add(Qt.clone(),new s(dn));rt=i.multiply(rt,vn)}Wt=i.multiply(i.pow(Qt,new s(p.power)),i.pow(rt,new s(N.power)))}else{for(dn=0,En=Math.abs(ln);dn<=En;dn++)vn=i.add(sn.clone(),new s(dn)),rt=i.multiply(rt,vn);Wt=i.multiply(i.pow(rt,new s(p.power)),i.pow(sn,new s(N.power)))}N=new s(1)}}}if(hn===Rt&&mt===v&&mt===pn&&(hn=p.text("hash"),Rt=N.text("hash")),(hn=pn===u&&N.previousGroup===v&&mt===v?O(p,"hash",u):hn)!==Rt&&!Ut||mt===v&&(pn===c||pn===d||pn===f)||mt===v&&pn===I)if(mt===I&&p.isLinear())if(pn===I&&N.distributeExponent(),pn===I&&N.isLinear()){for(var vn in N.symbols){var Dt=N.symbols[vn];Wt=Wt.combine(Dt)}Wt.multiplier=Wt.multiplier.multiply(N.multiplier)}else Wt.combine(N);else mt!==j?mt===I?(Wt.distributeExponent(),Wt.combine(N)):N.isOne()||(ln=N.multiplier.clone(),N.toUnitMultiplier(),(Wt=s.shell(I).combine([Wt,N])).multiplier=Wt.multiplier.multiply(ln)):Wt=N.clone().toUnitMultiplier();else{var hn=p.power,Rt=N.power,Ut=et(hn),ln=et(Rt),Ut=Ut||ln;mt===v&&pn!==v&&N.previousGroup!==v&&hn.equals(1)?(Wt=new s(0),p.each(function(Xr){Wt=i.add(Wt,i.multiply(Xr,N.clone()))},!0)):(Wt.power=Ut?i.add(et(hn)?hn:new s(hn),et(Rt)?Rt:new s(Rt)):mt===j?hn:hn.add(Rt),Wt.power.equals(0)&&(Wt=Wt.convert(j)),Ut&&Wt.convert(u),p.imaginary&&N.imaginary&&Ce(Wt.power%2)&&(Wt=new s(1),en.negate()),Wt.group!==u&&Wt.previousGroup&&(Wt.previousGroup=void 0),Wt.multiplier=Wt.multiplier.multiply(N.multiplier))}Wt.group===d&&(ln=Math.log(Wt.value),pn=Math.log(It)/ln,mt=Math.log(Bt)/ln,hn=en.num/It,Rt=en.den/Bt,pn!=0&&ue(pn)&&ue(hn)&&(Wt.power=Wt.power.add(new T(pn)),en.num/=It),mt!=0&&ue(mt)&&ue(Rt)&&(Wt.power=Wt.power.subtract(new T(mt)),en.den/=Bt)),Wt.length===1&&(rt=Wt.multiplier,(Wt=re(Wt.symbols)).multiplier=Wt.multiplier.multiply(rt)),Ut=Wt.power.toString(),Ce(Ut)&&Wt.fname===le?(jt*=Wt.sign(),ln=Wt.power,Wt=Wt.args[0],Wt=i.multiply(new s(en),i.pow(Wt,new s(ln.divide(new T(2))))),jt<0&&Wt.negate()):(Wt.multiplier=Wt.multiplier.multiply(en).multiply(jt),Wt.group===q&&Wt.isImaginary()&&Wt.distributeMultiplier()),Wt.group===d&&ue(Wt.power.toDecimal())&&(Wt=Wt.convert(j))}return Wt}Re&&!we&&(rt=p,p=N,N=rt,rt=Re,Re=we,we=rt);var tn,hn=P(N),pn=P(p);if(we&&hn){var Nn=new Y;N.eachElement(function(wn,Mn,xn){Nn.set(Mn,xn,i.multiply(p.clone(),wn))}),N=Nn}else if(pn&&hn)N=p.multiply(N);else if(we&&H(N))N.each(function(wn,Mn){N.elements[--Mn]=i.multiply(p.clone(),N.elements[Mn])});else if(H(p)&&H(N))N.each(function(wn,Mn){N.elements[--Mn]=i.multiply(p.elements[Mn],N.elements[Mn])});else{if(H(p)&&P(N))return this.multiply(N,p);if(P(p)&&H(N)){if(N.elements.length===p.rows())return Nn=new Y,tn=p.cols(),N.each(function(wn,Mn){for(var xn=[],An=0;An<tn;An++)xn.push(i.multiply(p.elements[Mn-1][An].clone(),wn.clone()));Nn.elements.push(xn)}),Nn;Le("Dimensions must match!")}}}return N},this.divide=function(p,N){var we,Re,rt,mt,It=et(p),Bt=et(N);if(It&&Bt){if(p.unit||N.unit)return i.Unit.divide(p,N);if(N.equals(0))throw new ne("Division by zero not allowed!");return p.isConstant()&&N.isConstant()?(mt=p.clone()).multiplier=mt.multiplier.divide(N.multiplier):(N.invert(),mt=i.multiply(p,N)),mt}return mt=H(p),we=H(N),It&&we?N=N.map(function(Rt){return i.divide(p.clone(),Rt)}):mt&&Bt?N=p.map(function(Rt){return i.divide(Rt,N.clone())}):mt&&we?p.dimensions()===N.dimensions()?N=N.map(function(Rt,jt){return i.divide(p.elements[--jt],Rt)}):i.error("Cannot divide vectors. Dimensions do not match!"):(mt=P(p),Re=P(N),mt&&Bt?(rt=new Y,p.eachElement(function(Rt,jt,Ut){rt.set(jt,Ut,i.divide(Rt,N.clone()))}),N=rt):It&&Re?(rt=new Y,N.eachElement(function(Rt,jt,Ut){rt.set(jt,Ut,i.divide(p.clone(),Rt))}),N=rt):mt&&Re?(rt=new Y,p.rows()===N.rows()&&p.cols()===N.cols()?(p.eachElement(function(Rt,jt,Ut){rt.set(jt,Ut,i.divide(Rt,N.elements[jt][Ut]))}),N=rt):i.error("Dimensions do not match!")):mt&&we&&(p.cols()===N.dimensions()?(rt=new Y,p.eachElement(function(Rt,jt,Ut){rt.set(jt,Ut,i.divide(Rt,N.elements[jt].clone()))}),N=rt):i.error("Unable to divide matrix by vector."))),N},this.pow=function(p,N){var we,Re=et(p),rt=et(N);if(Re&&rt){if(p.unit||N.unit)return i.Unit.pow(p,N);if(p.group===f&&p.fname===ye&&Ce(N))return jt=p.multiplier.clone(),(It=i.pow(p.args[0],N)).multiplier=jt,It;if(p.isInfinity||N.isInfinity){if(p.isInfinity&&N.isInfinity)throw new qe("("+p+")^("+N+") is undefined!");if(p.isConstant()&&N.isInfinity){if(p.equals(0)){if(N.lessThan(0))throw new qe("0^Infinity is undefined!");return new s(0)}if(p.equals(1))throw new qe("1^"+N.toString()+" is undefined!");if(N.lessThan(0))return new s(0);if(!p.lessThan(0))return s.infinity()}if(p.isInfinity&&N.isConstant()){if(N.equals(0))throw new qe(p+"^0 is undefined!");return N.lessThan(0)?new s(0):i.multiply(s.infinity(),i.pow(new s(p.sign()),N.clone()))}}var It=p.equals(0),Bt=N.equals(0);if(It&&Bt)throw new qe("0^0 is undefined!");if(It&&N.isConstant()&&N.multiplier.greaterThan(0))return new s(0);if(Bt)return new s(1);var mt,It=N.isConstant(),Bt=p.isConstant(),Rt=N.isInteger(),jt=p.multiplier,Ut=p.clone();if(Bt&&It&&p.equals(0)&&N.lessThan(0))throw new qe("Division by zero is not allowed!");if(M.PARSE2NUMBER&&Bt&&It&&p.sign()<0&&Ke(N))return hn=Math.PI*N,tn=new s(Math.cos(hn)),hn=i.multiply(s.imaginary(),new s(Math.sin(hn))),i.add(tn,hn);if(M.PARSE2NUMBER&&p.isImaginary()&&It&&ue(N)&&!N.lessThan(0)&&(tn=p.realpart(),hn=p.imagpart(),tn.isConstant("all")&&hn.isConstant("all")))return mt=M.USE_BIG?s(a.atan2(sn.multiplier.toDecimal(),Dt.multiplier.toDecimal()).times(N.toString())):Math.atan2(hn,tn)*N,mt=new s(mt),Dt=i.pow(s.hyp(tn,hn),N),Wt=i.multiply(Dt.clone(),i.trig.cos(mt.clone())),Qt=i.multiply(Dt,i.trig.sin(mt)),i.add(Wt,i.multiply(s.imaginary(),Qt));if(Ut.toUnitMultiplier(),Ut.group!==f||Ut.fname!==le||It?(Mn=jt.sign(),Ke(N)&&Mn<0&&(Ut.negate(),(Ut=i.symfunction(Q,[Ut])).negate()),Ut.multiplyPower(N)):((vn=Ut.args[0]).multiplyPower(new s(.5)),vn.multiplier.multiply(Ut.multiplier),vn.multiplyPower(N),Ut=vn),Bt&&It&&M.PARSE2NUMBER)Mn<0&&(p.negate(),ln=N.multiplier.den.equals(2)?new s(M.IMAGINARY):ue(N.multiplier)?Ce(N.multiplier)?new s(1):new s(-1):Ce(N.multiplier.den)?i.pow(i.symfunction(Q,[new s(Mn)]),N.clone()):new s(Math.pow(Mn,N.multiplier.num))),Ut=new s(Math.pow(p.multiplier.toDecimal(),N.multiplier.toDecimal())),ln&&(Ut=i.multiply(Ut,ln));else if(Rt&&!jt.equals(1)){if(N.abs().gt(M.MAX_EXP))return N.sign()<0?new s(0):s.infinity();var en=N.multiplier.toDecimal(),Wt=Math.sign(en),Qt=(en=Math.abs(en),new T(1));Qt.num=jt.num.pow(en),Qt.den=jt.den.pow(en),Wt<0&&Qt.invert(),Ut.multiplier=Ut.multiplier.multiply(Qt)}else{var sn,ln,dn,En,vn,Dt,tn,hn,pn,Nn,wn,Mn=p.sign();N.isConstant()&&p.isConstant()&&!N.multiplier.den.equals(1)&&Mn<0?Ut=N.multiplier.den.equals(2)?(sn=new s(M.IMAGINARY),p.negate(),N.lessThan(0)&&(sn.negate(),N.negate()),i.multiply(i.pow(p,N),sn)):((Nn=p.clone()).multiplier.negate(),Ut=i.pow(i.symfunction(Q,[new s(Mn)]),N.clone()),Bt=i.pow(new s(Nn.multiplier.num),N.clone()),ln=i.pow(new s(Nn.multiplier.den),N.clone()),Dt=i.divide(Bt,ln),i.multiply(Ut,Dt)):M.PARSE2NUMBER&&N.isImaginary()?(tn=N.realpart(),hn=N.imagpart(),Nn=p.clone().toLinear(),Wt=i.pow(Nn.clone(),tn),Qt=z(Nn.clone()),sn=St.cos(i.multiply(hn.clone(),Qt)),Bt=i.multiply(St.sin(i.multiply(hn,z(Nn))),s.imaginary()),Ut=i.multiply(Wt,i.add(sn,Bt)),Ut=i.expand(i.parse(Ut))):(dn=pt(new s((ln=p.group===j&&Mn<0)?jt.num:Math.abs(jt.num)).setPower(N.clone())),En=pt(new s(jt.den).setPower(N.clone()).invert()),p.imaginary&&(Rt?(vn=Math.sign(N),en=At(N),Ut=new s(Ce(pn=en%4)?-1:M.IMAGINARY),(pn===0||vn<0&&pn===1||0<vn&&pn===3)&&Ut.negate()):(Dt=N.multiplier.multiply(T.quick(1,2)),tn=Math.pow(-1,Dt.num),Ut=Ce(Dt.den)?new s(-1).setPower(Dt,!0):new s(tn))),Mn<0&&!ln&&Ut.negate(),It&&p.group!==u&&(Qt=Ce(N.multiplier.den),hn=Ce(p.power),pn=Ut.power.toDecimal(),Nn=Ce(pn),Qt&&hn&&!Nn&&(Ut=pn===1?i.symfunction(ye,[Ut]):ue(pn)?i.multiply(i.symfunction(ye,[Ut.clone().toLinear()]),Ut.clone().setPower(new T(pn-1))):(en=Ut.power,i.symfunction(ye,[Ut.toLinear()]).setPower(en)),M.POSITIVE_MULTIPLIERS&&Ut.fname===ye&&(Ut=Ut.args[0]))),N.equals(2)&&Ut.group===I&&(wn=new s(1),Ut.each(function(xn){wn=i.multiply(wn,i.pow(xn,N))}),Ut=wn))}return Ut=pt(Ut),(Ut=dn&&En?i.multiply(Ut,function(xn){if(xn.group===d){var An=xn.value,Jn=Z(An)[0];if(!Jn)return lt("Unable to compute prime factors. This should not happen. Please review and report."),xn;if(An=new T(Math.log(An)/Math.log(Jn)).multiply(xn.power),An.den>xn.power.den)return xn;xn=ue(An)?s(Math.pow(Jn,An)):new s(Jn).setPower(An)}return xn}(i.multiply(dn,En))):Ut).fname===le?(sn=((Wt=Ut.group===u)?Ut.power.multiplier:Ut.power).toString(),Ce(sn)&&(Bt=Wt?i.divide(Ut.power,new s(2)):new s(Ut.power.divide(new T(2))),jt=Ut.multiplier,(Ut=i.pow(Ut.args[0],Bt)).multiplier=Ut.multiplier.multiply(jt))):!M.IGNORE_E&&Ut.isE()&&Ut.group===u&&Ut.power.contains("pi")&&Ut.power.contains(M.IMAGINARY)&&N.group===I&&(mt=N.stripVar(M.IMAGINARY),Ut=i.add(St.cos(mt),i.multiply(s.imaginary(),St.sin(mt)))),Ut}return H(p)&&rt?p=p.map(function(xn){return i.pow(xn,N.clone())}):P(p)&&rt?(we=new Y,p.eachElement(function(xn,An,Jn){we.set(An,Jn,i.pow(xn,N.clone()))}),p=we):Re&&P(N)&&(we=new Y,N.eachElement(function(xn,An,Jn){we.set(An,Jn,i.pow(p.clone(),xn))}),p=we),p},this.comma=function(p,N){return(p=p instanceof ke?p:ke.create(p)).append(N),p},this.mod=Kt,this.slice=function(p,N){return new W(p,N)},this.equals=function(p,N){return p.group===c||p.isLinear()||Le("Cannot set equality for "+p.toString()),yt[p.value]=N.clone(),N},this.percent=function(p){return i.divide(p,new s(100))},this.assign=function(p,N){if(p instanceof ke&&N instanceof ke)return p.elements.map(function(Re,rt){return i.assign(Re,N.elements[rt])}),G.fromArray(N.elements);var we;if(p.parent)return(we=p.parent).elements[we.getter]=N,delete we.getter,we;if(p.group!==c)throw new Ze("Cannot complete operation. Incorrect LH value for "+p);return yt[p.value]=N},this.function_assign=function(p,N){var we=p.elements.pop();return J(we,p.elements,N)};function vt(p){return new s(p===!0?1:0)}this.eq=function(p,N){return vt(p.equals(N))},this.gt=function(p,N){return vt(p.gt(N))},this.gte=function(p,N){return vt(p.gte(N))},this.lt=function(p,N){return vt(p.lt(N))},this.lte=function(p,N){return vt(p.lte(N))},this.factorial=function(p){return this.symfunction(Ae,[p])},this.dfactorial=function(p){return this.symfunction(je,[p])}}M.FUNCTION_MODULES.push(nt),Oe(nt),Math.sign=Math.sign||function(i){return(i=+i)==0||isNaN(i)?i:0<i?1:-1},Math.cosh=Math.cosh||function(i){return i=Math.exp(i),(i+1/i)/2},Math.sech=Math.sech||function(i){return 1/Math.cosh(i)},Math.csch=Math.csch||function(i){return 1/Math.sinh(i)},Math.coth=Math.coth||function(i){return 1/Math.tanh(i)},Math.sinh=Math.sinh||function(i){return i=Math.exp(i),(i-1/i)/2},Math.tanh=Math.tanh||function(i){return i===1/0?1:i===-1/0?-1:((i=Math.exp(2*i))-1)/(i+1)},Math.asinh=Math.asinh||function(i){return i===-1/0?i:Math.log(i+Math.sqrt(i*i+1))},Math.acosh=Math.acosh||function(i){return Math.log(i+Math.sqrt(i*i-1))},Math.atanh=Math.atanh||function(i){return Math.log((1+i)/(1-i))/2},Math.log10=Math.log10||function(i){return Math.log(i)*Math.LOG10E},Math.trunc=Math.trunc||function(i){return isNaN(i)?NaN:0<i?Math.floor(i):Math.ceil(i)},Z(314146179365),g.getExpression=function(i,S){return i!=="last"&&i||(i=it.length),i=it[(i=i==="first"?1:i)-1],i&&new g(i)},(g.prototype={text:function(i,S){return S=S||M.EXPRESSION_DECP,i=i||"decimals",this.symbol.text_?this.symbol.text_(i):O(this.symbol,i,void 0,S)},latex:function(i){return this.symbol.latex?this.symbol.latex(i):U.latex(this.symbol,i)},valueOf:function(){return this.symbol.valueOf()},evaluate:function(){var i,S,A,W;return H(this.symbol)&&this.symbol.dimensions()===0?this:(A=1,typeof(i=arguments[0])=="string"?S=i.charAt(0)==="%"?g.getExpression(i.substr(1)).text():i:i instanceof g||et(i)?S=i.text():(S=this.symbol.text(),A--),W=arguments[A]||{},new g(ae("PARSE2NUMBER",function(){return e.parse(S,W)},!0)))},buildFunction:function(i){return dt.build(this.symbol,i)},isNumber:function(){return fe(this.symbol)},isInfinity:function(){return Math.abs(this.symbol.multiplier)===1/0},isImaginary:function(){return He(e.parse(this.symbol)).isImaginary()},variables:function(){return Lt(this.symbol)},toString:function(){try{return pe(this.symbol)?"["+this.symbol.toString()+"]":this.symbol.toString()}catch(i){return""}},toDecimal:function(i){return M.precision=i,i=O(this.symbol,"decimals"),M.precision=void 0,i},isFraction:function(){return ve(this.symbol)},isPolynomial:function(){return this.symbol.isPoly()},sub:function(i,S){return new g(this.symbol.sub(e.parse(i),e.parse(S)))},operation:function(i,S){return De(S)?S=S.symbol:et(S)||(S=e.parse(S)),new g(e[i](this.symbol.clone(),S.clone()))},add:function(i){return this.operation("add",i)},subtract:function(i){return this.operation("subtract",i)},multiply:function(i){return this.operation("multiply",i)},divide:function(i){return this.operation("divide",i)},pow:function(i){return this.operation("pow",i)},expand:function(){return new g(e.expand(this.symbol))},each:function(i,S){if(this.symbol.each)this.symbol.each(i,S);else if(pe(this.symbol))for(S=0;S<this.symbol.length;S++)i.call(this.symbol,this.symbol[S],S);else i.call(this.symbol)},eq:function(i){et(i)||(i=e.parse(i));try{return e.subtract(this.symbol.clone(),i).equals(0)}catch(S){return!1}},lt:function(i){et(i)||(i=e.parse(i));try{return He(e.subtract(this.symbol.clone(),i)).lessThan(0)}catch(S){return!1}},gt:function(i){et(i)||(i=e.parse(i));try{return He(e.subtract(this.symbol.clone(),i)).greaterThan(0)}catch(S){return!1}},gte:function(i){return this.gt(i)||this.eq(i)},lte:function(i){return this.lt(i)||this.eq(i)},numerator:function(){return new g(this.symbol.getNum())},denominator:function(){return new g(this.symbol.getDenom())},hasFunction:function(i){return this.symbol.containsFunction(i)},contains:function(i){return this.symbol.contains(i)}}).toTeX=g.prototype.latex,E.prototype={fromScientific:function(i){return i=String(i).toLowerCase().split("e"),this.coeff=i[0],this.exponent=i[1],this},convert:function(A){var A=A.split("."),S=A[0]||"",A=A[1]||"",S=E.removeLeadingZeroes(S),A=E.removeTrailingZeroes(A),ke=S.length,W=S+A,Fe=E.leadingZeroes(W).length,ke=(this.exponent=ke-(Fe+1),E.removeLeadingZeroes(W)),Fe=(this.coeff=ke.charAt(0)+"."+(ke.substr(1,ke.length)||"0"),this.coeff.split(".")[1]||"");return this.decp=Fe==="0"?0:Fe.length,this.dec=A,this.wholes=S,this},round:function(i){var S,A,W=this.copy();return(i=Number(i))===0?W.coeff=W.coeff.charAt(0):(S=this.coeff.substring(0,i+1),A=(i=this.coeff.substring(i+1,i+3)).charAt(0),4<i.charAt(1)&&A++,W.coeff=S+A),W},copy:function(){var i=new E(0);return i.coeff=this.coeff,i.exponent=this.exponent,i.sign=this.sign,i},toString:function(i){return i=M.SCIENTIFIC_IGNORE_ZERO_EXPONENTS&&this.exponent===0&&this.decp<i?this.decp===0?this.wholes:this.coeff:(i=i===void 0?this.coeff:E.round(this.coeff,Math.min(i,this.decp||1)),this.exponent===0?i:i+"e"+this.exponent),(this.sign===-1?"-":"")+i}},E.isScientific=function(i){return/\d+\.?\d*e[\+\-]*\d+/i.test(i)},E.leadingZeroes=function(i){return i=i.match(/^(0*).*$/),i?i[1]:""},E.removeLeadingZeroes=function(i){return i=i.match(/^0*(.*)$/),i?i[1]:""},E.removeTrailingZeroes=function(i){var S=i.match(/0*$/);return S?i.substring(0,i.length-S[0].length):""},E.round=function(i,S){return i=xe(i,S),S-=String(i).split(".").pop().length,0<S&&(i+=new Array(1+S).join(0)),i},T.create=function(i){var S;return i instanceof T||(i=new T(i=(S=(i=i.toString()).charAt(0)==="-")?i.substr(1,i.length-1):i),S&&i.negate()),i},T.isFrac=function(i){return i instanceof T},T.quick=function(i,S){var A=new T;return A.num=new r(i),A.den=new r(S),A},T.simple=function(i){for(var i=String(Ct(i)).split("."),S=i.join(""),A=1,W=(i[1]||"").length,ke=0;ke<W;ke++)A+="0";return T.quick(S,A).simplify()},T.prototype={multiply:function(i){var S;return this.isOne()?i.clone():i.isOne()?this.clone():((S=this.clone()).num=S.num.multiply(i.num),S.den=S.den.multiply(i.den),S.simplify())},divide:function(i){if(i.equals(0))throw new ne("Division by zero not allowed!");return this.clone().multiply(i.clone().invert()).simplify()},subtract:function(i){return this.clone().add(i.clone().neg())},neg:function(){return this.num=this.num.multiply(-1),this},add:function(Fe){var S=this.den,A=Fe.den,W=this.clone(),ke=W.num,Fe=Fe.num;return S.equals(A)?W.num=ke.add(Fe):(W.num=ke.multiply(A).add(Fe.multiply(S)),W.den=S.multiply(A)),W.simplify()},mod:function(A){var S=this.clone(),A=A.clone();return S.num=S.num.multiply(A.den),S.den=S.den.multiply(A.den),A.num=A.num.multiply(this.den),A.den=A.den.multiply(this.den),S.num=S.num.mod(A.num),S.simplify()},simplify:function(){var i=r.gcd(this.num,this.den);return this.num=this.num.divide(i),this.den=this.den.divide(i),this},clone:function(){var i=new T;return i.num=new r(this.num),i.den=new r(this.den),i},decimal:function(i){var S=this.num.isNegative()?"-":"";if(this.num.equals(this.den))return"1";i=i||M.PRECISION,i++;for(var A=[],W=this.num.abs(),ke=this.den,Fe=0;Fe<i;Fe++){var ft=W.divide(ke),St=W.subtract(ft.multiply(ke));if(A.push(ft),St.equals(0))break;W=St.times(10)}var Vt=A.shift();if(A.length===0)return S+Vt.toString();if(Fe===i){for(var zt=[],Fe=0;Fe<2;Fe++)zt.unshift(A.pop());A.push(Math.round(zt.join(".")))}return S+(Vt.toString()+"."+A.join(""))},toDecimal:function(i){return(i=i||M.PRECISION)?this.decimal(i):this.num/this.den},qcompare:function(i){return[this.num.multiply(i.den),i.num.multiply(this.den)]},equals:function(i){return isNaN(i)||(i=new T(i)),i=this.qcompare(i),i[0].equals(i[1])},absEquals:function(i){return isNaN(i)||(i=new T(i)),i=this.qcompare(i),i[0].abs().equals(i[1])},greaterThan:function(i){return isNaN(i)||(i=new T(i)),i=this.qcompare(i),i[0].gt(i[1])},gte:function(i){return this.greaterThan(i)||this.equals(i)},lte:function(i){return this.lessThan(i)||this.equals(i)},lessThan:function(i){return isNaN(i)||(i=new T(i)),i=this.qcompare(i),i[0].lt(i[1])},isInteger:function(){return this.den.equals(1)},negate:function(){return this.num=this.num.multiply(-1),this},invert:function(){var i,S=this.den;return this.num.equals(0)||(i=this.num.isNegative(),this.den=this.num.abs(),this.num=S,i&&(this.num=this.num.multiply(-1))),this},isOne:function(){return this.num.equals(1)&&this.den.equals(1)},sign:function(){return this.num.isNegative()?-1:1},abs:function(){return this.num=this.num.abs(),this},gcd:function(i){return T.quick(r.gcd(i.num,this.num),r.lcm(i.den,this.den))},toString:function(){return this.den.equals(1)?this.num.toString():this.num.toString()+"/"+this.den.toString()},valueOf:function(){return M.USE_BIG?new a(this.num.toString()).div(new a(this.den.toString())):this.num/this.den},isNegative:function(){return this.toDecimal()<0}},s.imaginary=function(){var i=new s(M.IMAGINARY);return i.imaginary=!0,i},s.infinity=function(i){var S=new s("Infinity");return i===-1&&S.negate(),S},s.shell=function(i,S){return S=new s(S),S.group=i,S.symbols={},S.length=0,S},s.unwrapSQRT=function(i,S){var A,W=i.power;return i.fname===le&&(i.isLinear()||S)&&((A=i.args[0].clone()).power=A.power.multiply(new T(.5)),A.multiplier=A.multiplier.multiply(i.multiplier),i=A,S&&(i.power=W.multiply(new T(.5)))),i},s.hyp=function(i,S){return i=i||new s(0),S=S||new s(0),e.sqrt(e.add(e.pow(i.clone(),new s(2)),e.pow(S.clone(),new s(2))))},s.toPolarFormArray=function(A){var S=A.realpart(),A=A.imagpart();return[s.hyp(S,A),S.equals(0)?e.parse("pi/2"):e.trig.atan(e.divide(A,S))]},s.unwrapPARENS=function(i){var S;return i.fname===""?((S=i.args[0]).power=S.power.multiply(i.power),S.multiplier=S.multiplier.multiply(i.multiplier),i.fname===""?s.unwrapPARENS(S):S):i},s.create=function(i,S){return e.parse("("+i+")^("+(S=S===void 0?1:S)+")")},s.prototype={getNth:function(i){var S=He(e.pow(e.parse(this.multiplier),e.parse(i).invert())),A=e.parse(xe(S));return He(e.pow(A,e.parse(i))).equals(e.parse(this.multiplier))?A:S},isToNth:function(i){var S,A=this.getNth(i),A=ue(A);return this.group===I?(S=!0,this.each(function(W){W.isToNth(i)||(S=!1)})):S=this.group===j||ue(e.divide(e.parse(this.power),e.parse(i))),A&&S},isSquare:function(){return this.isToNth(2)},isCube:function(){return this.isToNth(3)},isSimple:function(){return this.power.equals(1)&&this.multiplier.equals(1)},powSimp:function(){if(this.group!==I)return this.clone();var i,S=[],A=(this.multiplier.sign(),this.each(function(oe){if(oe=oe.power,et(oe)||oe.equals(1))return this.clone();S.push(oe)}),new T(ee(S))),W=this.multiplier.sign(),zt=this.multiplier.clone().abs(),ke=nt.ifactor(zt),Fe=new T(1),ft=new T(1);for(i in ke){var St=new T(ke[i]);St.lessThan(A)||(St=St.divide(A).subtract(new T(1)),ft=ft.multiply(new T(i))),Fe=Fe.multiply(e.parse(se(i)+"^"+se(St)).multiplier)}var Vt=new s(ft),zt=(this.each(function(oe){(oe=oe.clone()).power=oe.power.divide(A),Vt=e.multiply(Vt,oe)}),e.symfunction(Q,[Vt]));return zt.power=A,zt.multiplier=W<0?Fe.negate():Fe,zt},equals:function(i){return et(i)||(i=new s(i)),this.value===i.value&&this.power.equals(i.power)&&this.multiplier.equals(i.multiplier)&&this.group===i.group},abs:function(){var i=this.clone();return i.multiplier.abs(),i},gt:function(i){return et(i)||(i=new s(i)),this.isConstant()&&i.isConstant()&&this.multiplier.greaterThan(i.multiplier)},gte:function(i){return et(i)||(i=new s(i)),this.equals(i)||this.isConstant()&&i.isConstant()&&this.multiplier.greaterThan(i.multiplier)},lt:function(i){return et(i)||(i=new s(i)),this.isConstant()&&i.isConstant()&&this.multiplier.lessThan(i.multiplier)},lte:function(i){return et(i)||(i=new s(i)),this.equals(i)||this.isConstant()&&i.isConstant()&&this.multiplier.lessThan(i.multiplier)},isPoly:function(i){var S=this.group,A=this.power;if(ue(A)&&!(A<0)){if(S===j||S===c||this.isConstant(!0))return!0;if(A=Lt(this),S===I&&A.length===1){var W=A[0];if(W)for(var ke in this.symbols){var Fe=this.symbols[ke];if(Fe.group===f&&!Fe.args[0].isConstant()||!Fe.contains(W)&&!Fe.isConstant(!0))return!1}return!0}if(this.isComposite()||S===I&&i){if(!i&&1<A.length)return!1;for(var ke in this.symbols)if(!this.symbols[ke].isPoly(i))return!1;return!0}}return!1},stripVar:function(i,S){var A;return this.group!==v&&this.group!==c||this.value!==i?this.group===I&&this.isLinear()?(A=new s(1),this.each(function(W){W.contains(i,!0)||(A=e.multiply(A,W.clone()))}),A.multiplier=A.multiplier.multiply(this.multiplier)):this.group!==q||this.isLinear()?this.group===q&&this.isLinear()?(A=new s(0),this.each(function(W){W.contains(i)||((W=W.clone()).multiplier=W.multiplier.multiply(this.multiplier),A=e.add(A,W))}),A.equals(0)&&(A=new s(this.multiplier))):A=this.group===u&&this.power.contains(i,!0)||this.group===f&&this.contains(i)?new s(this.multiplier):this.clone():A=new s(this.multiplier):A=new s(S?0:this.multiplier),A},toArray:function(i,S){S=S||{arr:[],add:function(ft,St){var Vt=this.arr[St];this.arr[St]=Vt?e.add(Vt,ft):ft}};var A=this.group;if(A===c&&this.contains(i))S.add(new s(this.multiplier),this.power);else if(A===I){var W=this.stripVar(i),ke=e.divide(this.clone(),W.clone()),ke=ke.isConstant()?0:ke.power;S.add(W,ke)}else if(A===v&&this.value===i)this.each(function(ft,St){S.add(ft.stripVar(i),St)});else if(A===q)this.each(function(ft){ft.toArray(i,S)});else{if(this.contains(i))throw new ct("Cannot convert to array! Exiting");S.add(this.clone(),0)}S=S.arr;for(var Fe=0;Fe<S.length;Fe++)S[Fe]||(S[Fe]=new s(0));return S},hasFunc:function(i){var S=this.group===f||this.group===u;if(S&&!i||S&&this.contains(i))return!0;if(this.symbols){for(var A in this.symbols)if(this.symbols[A].hasFunc(i))return!0}return!1},sub:function(i,S){i=et(i)?i.clone():e.parse(i),S=et(S)?S.clone():e.parse(S),i.group!==j&&i.group!==d||Le("Cannot substitute a number. Must be a variable");var A,W=!1,ke=i.multiplier.equals(1),Fe=this.multiplier.clone();if(this.value===i.value&&(this.group!==v&&i.group!==v||this.group===v&&i.group===v))(ke||i.multiplier.equals(this.multiplier))&&(i.isLinear()?A=S:i.power.equals(this.power)&&(A=S,W=!0),i.multiplier.equals(this.multiplier)&&(Fe=new T(1)));else if(this.group===I||this.previousGroup===I)A=new s(1),this.each(function(Ot){Ot=e.parse(Ot.sub(i,S)),A=e.multiply(A,Ot)});else if(this.isComposite()){var ft=this.clone();if(i.isComposite()&&ft.isComposite()&&ft.isLinear()&&i.isLinear()){var St,Vt=function(Ot,kt){for(var xt in Ot.symbols)if(xt=Ot.symbols[xt],xt.isComposite()&&Vt(xt,kt)||xt.equals(kt))return!0;return!1};for(St in i.symbols)if(!Vt(ft,i.symbols[St]))return ft.clone();A=e.add(e.subtract(ft.clone(),i),S)}else A=new s(0),ft.each(function(Ot){A=e.add(A,Ot.sub(i,S))})}else if(this.group===u)A=e.parse(this.value).sub(i,S);else if(this.group===f){for(var zt=[],oe=0;oe<this.args.length;oe++){var $=this.args[oe];et($)||($=e.parse($)),zt.push($.sub(i,S))}A=e.symfunction(this.fname,zt)}return A?(W||(ke=this.group===u?this.power.sub(i,S):e.parse(this.power),A=e.pow(A,ke)),A.multiplier=A.multiplier.multiply(Fe),A):this.clone()},isMonomial:function(){if(this.group!==c){if(this.group!==I)return!1;for(var i in this.symbols)if(this.symbols[i].group!==c)return!1}return!0},isPi:function(){return this.group===c&&this.value==="pi"},sign:function(){return this.multiplier.sign()},isE:function(){return this.value==="e"},isSQRT:function(){return this.fname===le},isConstant:function(i,S){if(S&&this.group===I){for(var A in this.symbols)if(this.symbols[A].isConstant(!0))return!0}var W;if(i==="functions"&&this.isComposite())return W=!0,this.each(function(Fe){Fe.isConstant(i,S)||(W=!1)},!0),W;if(i==="all"&&(this.isPi()||this.isE()))return!0;if(i&&this.group===f){for(var ke=0;ke<this.args.length;ke++)if(!this.args[ke].isConstant(i))return!1;return!0}return i?fe(this):this.value===V},isImaginary:function(){if(this.imaginary)return!0;if(this.symbols){for(var i in this.symbols)if(this.symbols[i].isImaginary())return!0}return!1},realpart:function(){var i;return this.isConstant()?this.clone():this.imaginary?new s(0):this.isComposite()?(i=new s(0),this.each(function(S){i=e.add(i,S.realpart())}),i):this.isImaginary()?new s(0):this.clone()},imagpart:function(){var i;return this.group===c&&this.isImaginary()?new s(this.multiplier):this.isComposite()?(i=new s(0),this.each(function(S){i=e.add(i,S.imagpart())}),i):this.group===I?this.stripVar(M.IMAGINARY):new s(0)},isInteger:function(){return this.isConstant()&&this.multiplier.isInteger()},isLinear:function(i){if(i){if(this.isConstant())return!0;if(this.group===c)return this.value!==i||this.power.equals(1);if(this.isComposite()&&this.power.equals(1)){for(var S in this.symbols)if(!this.symbols[S].isLinear(i))return!1;return!0}return this.group===I&&this.symbols[i]?this.symbols[i].isLinear(i):!1}return this.power.equals(1)},containsFunction:function(i){if(typeof i=="string"&&(i=[i]),this.group===f&&i.indexOf(this.fname)!==-1)return!0;if(this.symbols){for(var S in this.symbols)if(this.symbols[S].containsFunction(i))return!0}return!1},multiplyPower:function(i){var S,A;return this.group===j&&this.multiplier.equals(1)||(S=this.power,this.group!==u&&i.group===j?(A=i.multiplier,this.group!==j||A.isInteger()||this.convert(d),this.power=S.equals(1)?A.clone():S.multiply(A),this.group===d&&ue(this.power)&&(this.value=Math.pow(this.value,this.power),this.toLinear(),this.convert(j))):(this.group!==u&&(S=new s(S),this.convert(u)),this.power=e.multiply(S,i))),this},setPower:function(i,S){var A;return this.group===j&&this.multiplier.equals(1)||(this.group!==u||et(i)?(A=!1,et(i)&&(i.group===j?i=i.multiplier:A=!0),A=A?u:d,this.power=i,this.group===j&&A&&this.convert(A,S)):(this.group=this.previousGroup,delete this.previousGroup,this.group===j?(this.multiplier=new T(this.value),this.value=V):this.power=i)),this},isInverse:function(){return this.group===u?this.power.multiplier.lessThan(0):this.power<0},clone:function(i){var S,A=i||new s(0),W=["value","group","length","previousGroup","imaginary","fname","args","isInfinity","scientific"],ke=W.length;if(this.symbols)for(var Fe in A.symbols={},this.symbols)A.symbols[Fe]=this.symbols[Fe].clone();for(S=0;S<ke;S++)this[W[S]]!==void 0&&(A[W[S]]=this[W[S]]);return A.power=this.power.clone(),A.multiplier=this.multiplier.clone(),this.isConversion&&(A.isConversion=this.isConversion),this.isUnit&&(A.isUnit=this.isUnit),A},toUnitMultiplier:function(i){return this.multiplier.num=new r(this.multiplier.num.isNegative()&&i?-1:1),this.multiplier.den=new r(1),this},toLinear:function(){return this.power.equals(1)||this.setPower(new T(1)),this},each:function(i,S){if(this.symbols)for(var A in this.symbols){var W=this.symbols[A];if(W.group===v&&S)for(var ke in W.symbols)i.call(A,W.symbols[ke],ke);else i.call(this,W,A)}else i.call(this,this,this.value)},valueOf:function(){return this.group===j?this.multiplier.valueOf():this.power===0?1:this.multiplier===0?0:O(this,"decimals")},contains:function(i,S){i=String(i);var A=this.group;if(this.value===i)return!0;if(this.symbols){for(var W in this.symbols)if(this.symbols[W].contains(i,S))return!0}if(A===f||this.previousGroup===f){for(var ke=0;ke<this.args.length;ke++)if(this.args[ke].contains(i,S))return!0}return A===u&&(S&&this.power.contains(i,S)||this.value===i)?!0:this.value===i},negate:function(){return this.multiplier.negate(),this.group!==q&&this.group!==v||this.distributeMultiplier(),this},invert:function(i,S){return i||(this.multiplier=this.multiplier.invert()),et(this.power)?this.power.negate():this.group===I&&S?this.each(function(A){return A.invert()}):this.power&&this.group!==j&&this.power.negate(),this},distributeMultiplier:function(i){if(i=i?this.power.absEquals(1):this.power.equals(1),this.symbols&&i&&this.group!==I&&!this.multiplier.equals(1)){for(var S in this.symbols)S=this.symbols[S],S.multiplier=S.multiplier.multiply(this.multiplier),S.distributeMultiplier();this.toUnitMultiplier()}return this},distributeExponent:function(){if(!this.power.equals(1)){var i,S=this.power;for(i in this.symbols){var A=this.symbols[i];A.group===u?A.power=e.multiply(A.power,new s(S)):this.symbols[i].power=this.symbols[i].power.multiply(S)}this.toLinear()}return this},convert:function(i,S){var A;return f<i?(A=this.clone(),this.symbols={},(i===I?A:this).toUnitMultiplier(),this.group===f&&(A.args=this.args,delete this.args,delete this.fname),this.isImgSymbol&&delete this.isImgSymbol,this.toLinear(),this.symbols[A.keyForGroup(i)]=A,this.group=i,this.length=1):i===u?this.group===j&&this.multiplier.equals(1)||(this.group!==u&&(this.previousGroup=this.group),this.group===j?(this.value=this.multiplier.num.toString(),this.toUnitMultiplier()):this.value=O(this,"hash"),this.group=u):i===j?(A=this.multiplier.toDecimal(),this.symbols&&(this.symbols=void 0),new s(this.group===d?A*Math.pow(this.value,this.power):A).clone(this)):i===d&&this.group===j&&(this.value=S?this.multiplier.num.toString():Math.abs(this.multiplier.num.toString()),this.toUnitMultiplier(!S),this.group=d),this},insert:function(i,S){var A,W;return et(i)||Le("Object "+i+" is not of type Symbol!"),this.symbols&&(A=this.group,f<A&&(W=(A=i.keyForGroup(A))in this.symbols&&this.symbols[A],S==="add"?(S=A,W?(this.symbols[S]=e.add(W,i),this.symbols[S].multiplier.equals(0)&&(delete this.symbols[S],this.length--,this.length===0&&(this.convert(j),this.multiplier=new T(0)))):(this.symbols[A]=i,this.length++)):(i.group===d&&ue(i.power)&&i.convert(j),i.group!==u?(this.multiplier=this.multiplier.multiply(i.multiplier),i.toUnitMultiplier()):(i.parens=i.multiplier.lessThan(0),this.multiplier=this.multiplier.multiply(i.multiplier.clone().abs()),i.toUnitMultiplier(!0)),W&&((i=e.multiply(We(this.symbols,A),i)).isConstant()&&(this.multiplier=this.multiplier.multiply(i.multiplier),i=new s(1)),this.length--),i.isOne(!0)?i.multiplier.lessThan(0)&&this.negate():(this.symbols[A]=i,this.length++)),this.length===0&&this.convert(j),this.group!==q&&this.group!==I||this.updateHash())),this},attach:function(i){if(pe(i)){for(var S=0;S<i.length;S++)this.insert(i[S],"add");return this}return this.insert(i,"add")},combine:function(i){if(pe(i)){for(var S=0;S<i.length;S++)this.insert(i[S],"multiply");return this}return this.insert(i,"multiply")},updateHash:function(){if(this.group!==j)if(this.group===f){for(var i="",S=this.args,A=this.fname===Q,W=0;W<S.length;W++)i+=(W===0?"":",")+O(S[W]);var ke=A?"":this.fname;this.value=ke+(A?i:se(i))}else this.group!==c&&this.group!==v&&(this.value=O(this,"hash"))},keyForGroup:function(i){var S,A=this.group;if(A===j)S=this.value;else if(A===c||A===d)S=i===v?this.power.toDecimal():this.value;else if(A===f)S=i===v?this.power.toDecimal():O(this,"hash");else{if(A===v)return S=i===I?O(this,"hash"):i===q?this.power.equals(1)?this.value:se(O(this,"hash"))+M.POWER_OPERATOR+this.power.toDecimal():i===v?this.power.toString():this.value;A===q?(i===q&&(S=O(this,"hash")),S=i===v?this.power.toDecimal():this.value):A===I?S=i===v?this.power.toDecimal():O(this,"hash"):A===u&&(S=i===v?O(this.power):O(this,"hash"))}return S},collectSymbols:function(i,S,A,W){var ke=[];if(this.symbols)for(var Fe in this.symbols)Fe=this.symbols[Fe],!W||Fe.group!==v&&Fe.group!==q?ke.push(i?i(Fe,S):Fe):ke=ke.concat(Fe.collectSymbols());else ke.push(this);return ke.sort(A=A===null?void 0:A)},latex:function(i){return U.latex(this,i)},text:function(i){return O(this,i)},isOne:function(i){return this.group===j?this.multiplier[i?"absEquals":"equals"](1):this.power.equals(0)},isComposite:function(){var i=this.group,S=this.previousGroup;return i===q||i===v||S===v||S===q},isCombination:function(){var i=this.group,S=this.previousGroup;return i===I||S===I},lessThan:function(i){return this.multiplier.lessThan(i)},greaterThan:function(i){return et(i)||(i=new s(i)),!(!this.isConstant(!0)||!i.isConstant(!0))&&this.multiplier.greaterThan(i.multiplier)},getDenom:function(){var i=this.clone();if((i=this.group===I&&this.power.lessThan(0)?e.expand(i):i).power.lessThan(0)||i.group===u&&i.power.multiplier.lessThan(0)){var S,A=e.parse(i.multiplier.den);(S=i.toUnitMultiplier()).power.negate(),S=e.multiply(A,S)}else if(i.group===I)for(var W in S=e.parse(i.multiplier.den),i.symbols){var ke=i.symbols[W];(ke.power<0||ke.group===u&&ke.power.multiplier.lessThan(0))&&(S=e.multiply(S,i.symbols[W].clone().invert()))}else S=e.parse(i.multiplier.den);return S},getNum:function(){var i,S=this.clone();return(S=S.group===I&&S.power.lessThan(0)?e.expand(S):S).power.greaterThan(0)&&S.group!==I||S.group===u&&S.power.multiplier.greaterThan(0)?i=e.multiply(e.parse(S.multiplier.num),S.toUnitMultiplier()):S.group===I?(i=e.parse(S.multiplier.num),S.each(function(A){(0<A.power||A.group===u&&0<A.power.multiplier)&&(i=e.multiply(i,A.clone()))})):i=e.parse(S.multiplier.num),i},toString:function(){return this.text()}};var C={convert:function(i,S){var A,W,ke,Fe;return i===0?Fe=[0,1]:i<1e-6||1e20<i?(A=this.quickConversion(Number(i)))[1]<=1e20?(ke=i/(W=Math.abs(i)),(Fe=this.fullConversion(W.toFixed((A[1]+"").length-1)))[0]=Fe[0]*ke):Fe=A:Fe=this.fullConversion(i),Fe},quickConversion:function(i){var S,A;return i=i,E.isScientific(i)&&(i=Ct(i)),A="",(S=(i=typeof(i=i)!="string"?i.toString():i).charAt(0))==="-"?(i=i.substr(1,i.length),A="-"):S==="+"&&(i=i.substr(1,i.length)),i=(A=(S={sign:A,value:i}).value.split(".")).length===1?A[0]:A[0]+A[1],A=A[1]?A[1].length:0,A="1"+"0".repeat(A),i!=="0"&&(i=i.replace(/^0+/,"")),[S.sign+i,A]},fullConversion:function(i){for(var S=!1,A=0,W=1,ke=1,Fe=0,ft=0,St=i;!S;){1e4<++ft&&(S=!0);var oe=Math.floor(St),Vt=A+oe*ke,zt=W+oe*Fe,oe=St-oe;oe<1e-16&&(S=!0),St=1/oe,A=ke,W=Fe,ke=Vt,Fe=zt,(Math.abs(Vt/zt-i)<1e-16||30<ft)&&(S=!0)}return[Vt,zt]}},U={parser:function(){var i,S=["classes","setOperator","getOperators","getBrackets","tokenize","toRPN","tree","units"],A=new x;for(i in A)S.indexOf(i)===-1&&delete A[i];return A.setOperator({precedence:8,operator:"\\",action:"slash",prefix:!0,postfix:!1,leftAssoc:!0,operation:function(W){return W}}),A.setOperator({precedence:8,operator:"\\,",action:"slash_comma",prefix:!0,postfix:!1,leftAssoc:!0,operation:function(W){return W}}),A.getBrackets()["{"].maps_to=void 0,A}(),space:"~",dot:" \\cdot ",latex:function(i,S){if((i=i.clone?i.clone():i)instanceof e.classes.Collection&&(i=i.elements),pe(i)){for(var A=[],W=0;W<i.length;W++){var ke=i[W];et(ke)||(ke=e.parse(ke)),A.push(this.latex(ke,S))}return this.brackets(A.join(", "),"square")}if(P(i)){for(var Fe=`\\begin{pmatrix}
|
||
`,W=0;W<i.elements.length;W++){for(var ft=[],St=i.elements[W],Vt=0;Vt<St.length;Vt++)ft.push(this.latex(St[Vt],S));Fe+=ft.join(" & "),W<i.elements.length-1&&(Fe+=`\\\\
|
||
`)}return Fe+="\\end{pmatrix}"}if(H(i)){for(Fe="\\left[",W=0;W<i.elements.length;W++)Fe+=this.latex(i.elements[W],S)+" "+(W!==i.elements.length-1?",\\,":"");return Fe+="\\right]"}if(B(i)){for(Fe="\\{",W=0;W<i.elements.length;W++)Fe+=this.latex(i.elements[W],S)+" "+(W!==i.elements.length-1?",\\,":"");return Fe+="\\}"}var zt,oe,$,Ot=S==="decimal"||S==="decimals",kt=(i=i.clone()).power,xt=Qe(kt),At=i.multiplier.lessThan(0);return i.group===d&&Ot?String(i.multiplier.toDecimal()*Math.pow(i.value,i.power.toDecimal())):(i.multiplier=i.multiplier.abs(),zt=Ot?[String(i.multiplier.toDecimal()),""]:[i.multiplier.num,i.multiplier.den],oe=this.value(i,xt,S,At),xt&&kt.negate(),Ot?($=et(kt)?U.latex(kt,S):String(kt.toDecimal()),String($)==="1"&&($="")):$=et(kt)?this.latex(kt,S):this.formatFrac(kt,!0),(Ot=["",""])[xt?1:0]=$,((At?"-":"")+this.set(zt,oe,Ot,i.group===I)).replace(/\+\-/gi,"-"))},greek:{alpha:"\\alpha",beta:"\\beta",gamma:"\\gamma",delta:"\\delta",epsilon:"\\epsilon",zeta:"\\zeta",eta:"\\eta",theta:"\\theta",iota:"\\iota",kappa:"\\kappa",lambda:"\\lambda",mu:"\\mu",nu:"\\nu",xi:"\\xi",omnikron:"\\omnikron",pi:"\\pi",rho:"\\rho",sigma:"\\sigma",tau:"\\tau",upsilon:"\\upsilon",phi:"\\phi",chi:"\\chi",psi:"\\psi",omega:"\\omega",Gamma:"\\Gamma",Delta:"\\Delta",Epsilon:"\\Epsilon",Theta:"\\Theta",Lambda:"\\Lambda",Xi:"\\Xi",Pi:"\\Pi",Sigma:"\\Sigma",Phi:"\\Phi",Psi:"\\Psi",Omega:"\\Omega"},symbols:{arccos:"\\arccos",cos:"\\cos",csc:"\\csc",exp:"\\exp",ker:"\\ker",limsup:"\\limsup",min:"\\min",sinh:"\\sinh",arcsin:"\\arcsin",cosh:"\\cosh",deg:"\\deg",gcd:"\\gcd",lg:"\\lg",ln:"\\ln",Pr:"\\Pr",sqrt:"\\sqrt",sup:"\\sup",arctan:"\\arctan",cot:"\\cot",det:"\\det",hom:"\\hom",lim:"\\lim",log:"\\log",LN:"\\LN",sec:"\\sec",tan:"\\tan",arg:"\\arg",coth:"\\coth",dim:"\\dim",inf:"\\inf",liminf:"\\liminf",max:"\\max",sin:"\\sin",tanh:"\\tanh"},value:function(i,kt,A,W){var ke,Fe,ft,St,Vt,zt,oe=i.group,$=i.previousGroup,Ot=["",""],kt=kt?1:0;if(i.isInfinity)Ot[kt]="\\infty";else if(oe===c||oe===d||$===c||$===d||$===j){(b=this.formatSubscripts(i.value)).replace&&(b=b.replace(/(.+)_$/,"$1\\_"));var xt=String(b).split("_"),At=this.greek[xt[0]];At&&(xt[0]=At,b=xt.join("_")),(i=this.symbols[xt[0]])&&(xt[0]=i,b=xt.join("_")),Ot[kt]=b}else if(oe===f||$===f){for(var Gt,Kt,Jt,cn,nn=[],At=i.fname,un=0;un<i.args.length;un++){var o,y=typeof(o=i.args[un])=="string"?o:this.latex(o,A);nn.push(y)}At===le?Ot[kt]="\\sqrt"+this.braces(nn.join(",")):At===ye?Ot[kt]=this.brackets(nn.join(","),"abs"):At===Q?Ot[kt]=this.brackets(nn.join(","),"parens"):At==="limit"?Ot[kt]=" \\lim\\limits_{"+nn[1]+" \\to "+nn[2]+"} "+nn[0]:At==="integrate"?Ot[kt]="\\int"+this.braces(nn[0])+this.braces("d"+nn[1]):At==="defint"?Ot[kt]="\\int\\limits_"+this.braces(nn[1])+"^"+this.braces(nn[2])+" "+nn[0]+" d"+nn[3]:At===Ae||At===je?((o=i.args[0]).power.equals(1)&&(o.isComposite()||o.isCombination())&&(nn[0]=this.brackets(nn[0])),Ot[kt]=nn[0]+(At===Ae?"!":"!!")):At==="floor"?Ot[kt]="\\left \\lfloor"+this.braces(nn[0])+"\\right \\rfloor":At==="ceil"?Ot[kt]="\\left \\lceil"+this.braces(nn[0])+"\\right \\rceil":At===M.LOG&&1<nn.length?Ot[kt]="\\mathrm"+this.braces(M.LOG)+"_"+this.braces(nn[1])+this.brackets(nn[0]):At===M.LOG10?Ot[kt]="\\mathrm"+this.braces(M.LOG)+"_"+this.braces(10)+this.brackets(nn[0]):At==="sum"?(Gt=nn[0],Kt=nn[1],Jt=nn[2],cn=nn[3],Ot[kt]="\\sum\\limits_{"+this.braces(Kt)+"="+this.braces(Jt)+"}^"+this.braces(cn)+" "+this.braces(Gt)):At==="product"?(Gt=nn[0],Kt=nn[1],Jt=nn[2],cn=nn[3],Ot[kt]="\\prod\\limits_{"+this.braces(Kt)+"="+this.braces(Jt)+"}^"+this.braces(cn)+" "+this.braces(Gt)):At==="nthroot"?Ot[kt]="\\sqrt["+nn[1]+"]"+this.braces(nn[0]):At==="mod"?Ot[kt]=nn[0]+" \\bmod "+nn[2]:At==="realpart"?Ot[kt]="\\operatorname{Re}"+this.brackets(nn[0]):At==="imagpart"?Ot[kt]="\\operatorname{Im}"+this.brackets(nn[0]):(xt=At!==""?"\\mathrm"+this.braces(At.replace(/_/g,"\\_")):"",i.isConversion?Ot[kt]=xt+this.brackets(nn.join(""),"parens"):Ot[kt]=xt+this.brackets(nn.join(","),"parens"))}else if(i.isComposite()){for(var F=i.collectSymbols().sort(oe===q||$===q?function(_e,tt){return tt.group-_e.group}:function(_e,tt){return _e=et(_e.power)?-1:_e.power,(et(tt.power)?-1:tt.power)-_e}),X=[],w=F.length,un=0;un<w;un++)X.push(U.latex(F[un],A));var b=X.join("+");Ot[kt]=i.isLinear()&&i.multiplier.equals(1)&&!W?b:this.brackets(b,"parens")}else oe!==I&&$!==u&&$!==I||(oe===I&&i.distributeExponent(),ke=[],Fe=[],ft=[],St=[],zt=Vt=0,Kt=function(z,_e,tt){if(1<tt&&0<_e.length)for(var be=_e.length,$e=0;$e<be;$e++){var pt=_e[$e],vt=z[pt];/^\\left\(.+\\right\)\^\{.+\}$/g.test(vt)||/^\\left\(.+\\right\)$/g.test(vt)||(z[pt]=U.brackets(vt,"parens"))}return z},i.each(function(z){var _e;(Qe(z.power)?(_e=U.latex(z.invert(),A),zt++,z.isComposite()&&(i.multiplier.den!=1&&Math.abs(z.power)==1&&(_e=U.brackets(_e,"parens")),ft.push(ke.length)),ke):(_e=U.latex(z,A),Vt++,z.isComposite()&&(i.multiplier.num!=1&&Math.abs(z.power)==1&&(_e=U.brackets(_e,"parens")),St.push(Fe.length)),Fe)).push(_e)}),Kt(Fe,St,Vt),Ot[0]=Fe.join(this.dot),Kt(ke,ft,zt),Ot[1]=ke.join(this.dot));return Ot},set:function(ft,St,Vt,W){function ke(oe){return/^\\left\(.+\\right\)$/.test(oe)}Vt=Vt&&this.formatP(Vt),W&&(Fe=Vt[0],Vt[0]=""),St=this.merge(St,Vt);var Fe,Vt=ft[0],ft=ft[1],zt=St[0],St=St[1],Vt=(zt&&Number(Vt)===1&&(Vt=""),Number(ft)===1&&(ft=""),this.join(Vt,zt,ke(zt)?"":this.dot)),zt=this.join(ft,St,ke(St)?"":this.dot);return Vt&&zt?(ft=this.frac(Vt,zt),W&&Fe?this.brackets(ft)+Fe:ft):Vt},merge:function(i,S){for(var A=[],W=0;W<2;W++)A[W]=i[W]+S[W];return A},join:function(i,S,A){return i||S?i&&!S?i:S&&!i?S:i+A+S:""},formatSubscripts:function(i){for(var S=i.toString().split("_"),A="";1<S.length;)0<S.length&&(A="_"+this.braces(S.pop()+A));return S[0]+A},formatP:function(i){for(var S=0;S<2;S++){var A=i[S];A&&(i[S]="^"+this.braces(A))}return i},formatFrac:function(W,S){var A=W.num.toString(),W=W.den.toString();return S&&A==="1"&&W==="1"?"":W==="1"?A:this.frac(A,W)},frac:function(i,S){return"\\frac"+this.braces(i)+this.braces(S)},braces:function(i){return"{"+i+"}"},brackets:function(i,S){return S={parens:["(",")"],square:["[","]"],brace:["{","}"],abs:["|","|"],angle:["\\langle","\\rangle"]}[S=S||"parens"],"\\left"+S[0]+i+"\\right"+S[1]},filterTokens:function(i){for(var S=[],A=(pe(i)&&(S.type=i.type),["\\","left","right","big","Big","large","Large"]),W=0,ke=i.length;W<ke;W++){var Fe=i[W],ft=i[W+1];Fe.value==="\\"&&ft.value==="\\"?S.push(Fe):pe(Fe)?S.push(U.filterTokens(Fe)):A.indexOf(Fe.value)===-1&&S.push(Fe)}return S},parse:function(i){function S(){return U.parse(ft())}function A(Gt){return Gt in Fe?Fe[Gt]:Gt==="*"&&ke[St+1].value==="&"?(ft(2),","):Gt==="&"?(ft(),","):Gt==="\\"?"],[":Gt}var W="",ke=this.filterTokens(i),Fe={cdot:"",times:"",infty:"Infinity"},ft=function(Gt){return ke[Gt===void 0?++St:St+=Gt]},St=0;for(Vt=ke.length;St<Vt;St++){var Vt,zt,oe,$,Ot,kt,xt,At=ke[St];At.value==="frac"?W+=S()+"/"+S():At.value in U.symbols?At.value===le&&ke[St+1].type==="vector"&&ke[St+2].type==="Set"?($=S(),W+=S()+"^"+se("1/"+$)):W+=At.value+S():At.value==="int"?(kt=S(),St++,oe=A((oe=ft().value).substring(1,oe.length)),W+="integrate"+se(kt+","+oe)):At.value==="int_"?(Vt=S(),St++,(zt=ft().value)===void 0&&(St--,zt=S()),kt=S(),(oe=(oe=ft().value)===","?ft().value:oe)==="differentialD"&&(St++,oe=ft().value),oe==="mathrm"&&(St++,oe=ft().value),W+="defint"+se(kt+","+Vt+","+zt+","+oe)):At.value&&At.value.startsWith("int_")?(Vt=At.value.replace("int_",""),console.log("uppernow"),St++,(zt=ft().value)===void 0&&(St--,zt=S()),kt=S(),(oe=(oe=ft().value)===","?ft().value:oe)==="differentialD"&&(St++,oe=ft().value),oe==="mathrm"&&(St++,oe=ft().value),W+="defint"+se(kt+","+Vt+","+zt+","+oe)):At.value==="mathrm"?W+=(kt=ke[++St][0].value)+S():At.value==="sum_"||At.value==="prod_"?($=At.value==="sum_"?"sum":"product",xt=ft(),St++,Ot=S(),kt=S(),W+=$+se([kt,A(xt[0]),A(xt[2]),A(Ot)].join(","))):At.value==="lim_"?(xt=ft(),W+="limit"+se([S(),A(xt[0]),A(xt[2])].join(","))):At.value==="begin"?(xt=ft(),Array.isArray(xt)&&xt[0].value==="matrix"&&(W+="matrix([")):At.value==="end"?(xt=ft(),Array.isArray(xt)&&xt[0].value==="matrix"&&(W+="])")):Array.isArray(At)?W+=A(U.parse(At)):W+=A(At.value.toString())}return se(W)}};function G(i){H(i)?this.elements=i.items.slice(0):pe(i)?this.elements=i.slice(0):this.elements=[].slice.call(arguments)}function Y(){var i=arguments,S=i.length,A=[];if(P(i))for(ft=0;ft<S;ft++)A.push(i[ft].slice(0));else for(var W,ke,Fe,ft=0;ft<S;ft++)W=i[ft],H(W)&&(W=W.elements),Fe=(W=pe(W)?W:[W]).length,ke&&ke!==Fe&&Le("Unable to create Matrix. Row dimensions do not match!"),A.push(W),ke=Fe;this.elements=A}function ce(i){if(this.elements=[],i=H(i)?i:G.fromArray(arguments))for(var S=i.elements,A=0,W=S.length;A<W;A++)this.add(S[A])}G.arrayPrefill=function(i,S){var A=[];S=S||0;for(var W=0;W<i;W++)A[W]=S;return A},G.fromArray=function(i){var S=new G;return S.elements=i,S},G.fromSet=function(i){return G.fromArray(i.elements)},G.prototype={custom:!0,e:function(i){return i<1||i>this.elements.length?null:this.elements[i-1]},set:function(i,S){et(S)||(S=new s(S)),this.elements[i]=S},dimensions:function(){return this.elements.length},modulus:function(){return ae("SAFE",function(){return e.pow(this.dot(this.clone()),new s(.5))},void 0,this)},eql:function(i){var S=this.elements.length,A=i.elements||i;if(S!==A.length)return!1;do if(Math.abs(e.subtract(this.elements[S-1],A[S-1]).valueOf())>PRECISION)return!1;while(--S);return!0},clone:function(){for(var i=new G,S=this.elements.length,A=0;A<S;A++)i.elements.push(this.elements[A].clone());return this.getter&&(i.getter=this.getter.clone()),i},map:function(i){var S=[];return this.each(function(A,W){S.push(i(A,W))}),new G(S)},each:function(i){for(var S,A=this.elements.length,W=A;i(this.elements[S=W-A],1+S),--A;);},toUnitVector:function(){return ae("SAFE",function(){var i=this.modulus();return i.valueOf()===0?this.clone():this.map(function(S){return e.divide(S,i)})},void 0,this)},angleFrom:function(i){return ae("SAFE",function(){var S,A,W,ke,Fe,ft=i.elements||i;return this.elements.length!==ft.length||(S=new s(0),A=new s(0),W=new s(0),this.each(function(St,Vt){S=e.add(S,e.multiply(St,ft[Vt-1])),A=e.add(A,e.multiply(St,St)),W=e.add(W,e.multiply(ft[Vt-1],ft[Vt-1]))}),A=e.pow(A,new s(.5)),W=e.pow(W,new s(.5)),(ke=e.multiply(A,W)).valueOf()===0)?null:((Fe=(ke=e.divide(S,ke)).valueOf())<-1&&(ke=-1),1<Fe&&(ke=1),new s(Math.acos(ke)))},void 0,this)},isParallelTo:function(i){return i=this.angleFrom(i).valueOf(),i===null?null:i<=PRECISION},isAntiparallelTo:function(i){return i=this.angleFrom(i).valueOf(),i===null?null:Math.abs(i-Math.PI)<=PRECISION},isPerpendicularTo:function(i){return i=this.dot(i),i===null?null:Math.abs(i)<=PRECISION},add:function(i){return ae("SAFE",function(){var S=i.elements||i;return this.elements.length!==S.length?null:this.map(function(A,W){return e.add(A,S[W-1])})},void 0,this)},subtract:function(i){return ae("SAFE",function(){var S=i.elements||i;return this.elements.length!==S.length?null:this.map(function(A,W){return e.subtract(A,S[W-1])})},void 0,this)},multiply:function(i){return this.map(function(S){return S.clone()*i.clone()})},x:function(i){return this.multiply(i)},dot:function(i){return ae("SAFE",function(){var S=i.elements||i,A=new s(0),W=this.elements.length;if(W!==S.length)return null;for(;A=e.add(A,e.multiply(this.elements[W-1],S[W-1])),--W;);return A},void 0,this)},cross:function(i){var S,A=i.elements||i;return this.elements.length!==3||A.length!==3?null:(S=this.elements,ae("SAFE",function(){return new G([e.subtract(e.multiply(S[1],A[2]),e.multiply(S[2],A[1])),e.subtract(e.multiply(S[2],A[0]),e.multiply(S[0],A[2])),e.subtract(e.multiply(S[0],A[1]),e.multiply(S[1],A[0]))])},void 0,this))},max:function(){for(var i,S=0,A=this.elements.length,W=A;i=W-A,Math.abs(this.elements[i].valueOf())>Math.abs(S.valueOf())&&(S=this.elements[i]),--A;);return S},magnitude:function(){var i=new s(0);return this.each(function(S){i=e.add(i,e.pow(S,new s(2)))}),e.sqrt(i)},indexOf:function(i){for(var S,A=null,W=this.elements.length,ke=W;S=ke-W,A===null&&this.elements[S].valueOf()===i.valueOf()&&(A=1+S),--W;);return A},text:function(i){return O(this)},toString:function(){return this.text()},latex:function(i){for(var S=[],A=0;A<this.elements.length;A++)S.push(U.latex.call(U,this.elements[A],i));return"["+S.join(", ")+"]"}},Y.identity=function(i){for(var S=new Y,A=0;A<i;A++){S.elements.push([]);for(var W=0;W<i;W++)S.set(A,W,new s(A===W?1:0))}return S},Y.fromArray=function(i){function S(A){return Y.apply(this,A)}return S.prototype=Y.prototype,new S(i)},Y.zeroMatrix=function(i,S){for(var A=new Y,W=0;W<i;W++)A.elements.push(G.arrayPrefill(S,new s(0)));return A},(Y.prototype={custom:!0,get:function(i,S){if(this.elements[i])return this.elements[i][S]},map:function(i,S){var A=new Y;return this.each(function(W,ke,Fe){A.set(ke,Fe,i.call(A,W),S)}),A},set:function(i,S,A,W){this.elements[i]||(this.elements[i]=[]),this.elements[i][S]=W||et(A)?A:new s(A)},cols:function(){return this.elements[0].length},rows:function(){return this.elements.length},row:function(i){return!i||i>this.cols()?[]:this.elements[i-1]},col:function(i){var S=this.rows(),A=[];if(!(i>this.cols())&&i)for(var W=0;W<S;W++)A.push(this.elements[W][i-1]);return A},eachElement:function(i){for(var S,A=this.rows(),W=this.cols(),ke=0;ke<A;ke++)for(S=0;S<W;S++)i.call(this,this.elements[ke][S],ke,S)},determinant:function(){if(!this.isSquare())return null;for(var i,S=this.toRightTriangular(),A=S.elements[0][0],W=S.elements.length-1,ke=W;A=e.multiply(A,S.elements[i=ke-W+1][i]),--W;);return A},isSquare:function(){return this.elements.length===this.elements[0].length},isSingular:function(){return this.isSquare()&&this.determinant()===0},augment:function(i){var S=this.rows();S!==i.rows()&&Le("Cannot augment matrix. Rows don't match.");for(var A=0;A<S;A++)this.elements[A]=this.elements[A].concat(i.elements[A]);return this},clone:function(){for(var i=this.rows(),S=this.cols(),A=new Y,W=0;W<i;W++){A.elements[W]=[];for(var ke=0;ke<S;ke++){var Fe=this.elements[W][ke];A.elements[W][ke]=et(Fe)?Fe.clone():Fe}}return A},invert:function(){return this.isSquare()||Le("Matrix is not square!"),ae("SAFE",function(){var i,S,A,W,ke,Fe,ft,St=this.elements.length,Vt=St,zt=Y.identity(St),oe=this.augment(zt).toRightTriangular(),$=oe.elements[0].length,Ot=[];do{for(ke=[],A=$,Ot[i=St-1]=[],Fe=oe.elements[i][i];ft=e.divide(oe.elements[i][W=$-A],Fe.clone()),ke.push(ft),Vt<=W&&Ot[i].push(ft),--A;);for(oe.elements[i]=ke,S=0;S<i;S++){for(ke=[],A=$;ke.push(e.subtract(oe.elements[S][W=$-A].clone(),e.multiply(oe.elements[i][W].clone(),oe.elements[S][i].clone()))),--A;);oe.elements[S]=ke}}while(--St);return Y.fromArray(Ot)},void 0,this)},toRightTriangular:function(){return ae("SAFE",function(){var i,S,A,W=this.clone(),ke=this.elements.length,Fe=ke,ft=this.elements[0].length;do{if(W.elements[S=Fe-ke][S].valueOf()===0){for(var St=1+S;St<Fe;St++)if((i=W.elements[St][S])&&i.valueOf()!==0){for(zt=[],oe=ft;zt.push(e.add(W.elements[S][A=ft-oe].clone(),W.elements[St][A].clone())),--oe;);W.elements[S]=zt;break}}if(W.elements[S][S].valueOf()!==0)for(St=1+S;St<Fe;St++){for(var Vt=e.divide(W.elements[St][S].clone(),W.elements[S][S].clone()),zt=[],oe=ft;zt.push((A=ft-oe)<=S?new s(0):e.subtract(W.elements[St][A].clone(),e.multiply(W.elements[S][A].clone(),Vt.clone()))),--oe;);W.elements[St]=zt}}while(--ke);return W},void 0,this)},transpose:function(){var i,S,A,W=this.elements.length,ke=this.elements[0].length,Fe=new Y,ft=ke;do for(Fe.elements[i=ke-ft]=[],S=W;Fe.elements[i][A=W-S]=this.elements[A][i].clone(),--S;);while(--ft);return Fe},canMultiplyFromLeft:function(i){return i=(P(i)?i.elements:i).length,this.elements[0].length===i},sameSize:function(i){return this.rows()===i.rows()&&this.cols()===i.cols()},multiply:function(i){return ae("SAFE",function(){var S=i.elements||i;if(!this.canMultiplyFromLeft(S)){if(this.sameSize(i)){for(var A=new Y,W=this.rows(),ke=0;ke<W;ke++){var Fe=e.multiply(new G(this.elements[ke]),new G(i.elements[ke]));A.elements[ke]=Fe.elements}return A}return null}var ft,St,Vt,zt,oe,$=this.elements.length,Ot=$,kt=S[0].length,xt=this.elements[0].length,At=[];do{At[ke=Ot-$]=[],ft=kt;do for(St=kt-ft,Vt=new s(0),zt=xt;Vt=e.add(Vt,e.multiply(this.elements[ke][oe=xt-zt],S[oe][St])),--zt;);while(At[ke][St]=Vt,--ft)}while(--$);return Y.fromArray(At)},void 0,this)},add:function(i,S){var A=new Y;return this.sameSize(i)&&this.eachElement(function(W,ke,Fe){var ft=e.add(W.clone(),i.elements[ke][Fe].clone());S&&(ft=S.call(A,ft,W,i.elements[ke][Fe])),A.set(ke,Fe,ft)}),A},subtract:function(i,S){var A=new Y;return this.sameSize(i)&&this.eachElement(function(W,ke,Fe){var ft=e.subtract(W.clone(),i.elements[ke][Fe].clone());S&&(ft=S.call(A,ft,W,i.elements[ke][Fe])),A.set(ke,Fe,ft)}),A},negate:function(){return this.each(function(i){return i.negate()}),this},toVector:function(){var i;return this.rows()===1||this.cols()===1?((i=new G).elements=this.elements,i):this},toString:function(i,S){for(var A=this.rows(),W=[],ke=0;ke<A;ke++)W.push("["+this.elements[ke].map(function(Fe){var ft=S?Fe.multiplier.toDecimal():Fe.toString();return Fe!==void 0?ft:""}).join(",")+"]");return"matrix"+se(W.join(","))},text:function(){return"matrix("+this.elements.toString("")+")"},latex:function(i){var S=this.cols(),A=this.elements;return te("\\begin{vmatrix}{0}\\end{vmatrix}",function(){var W,ke=[];for(W in A){for(var Fe=[],ft=0;ft<S;ft++)Fe.push(U.latex.call(U,A[W][ft],i));ke.push(Fe.join(" & "))}return ke.join(" \\cr ")})}}).each=Y.prototype.eachElement,ce.fromArray=function(i){function S(A){return ce.apply(this,A)}return S.prototype=ce.prototype,new S(i)},ce.prototype={add:function(i){this.contains(i)||this.elements.push(i.clone())},contains:function(i){for(var S=0;S<this.elements.length;S++){var A=this.elements[S];if(i.equals(A))return!0}return!1},each:function(i){for(var S=this.elements,A=new ce,W=0,ke=S.length;W<ke;W++){var Fe=S[W];i.call(this,Fe,A,W)}return A},clone:function(){var i=new ce;return this.each(function(S){i.add(S.clone())}),i},union:function(i){var S=this.clone();return i.each(function(A){S.add(A)}),S},difference:function(i){var S=this.clone();return i.each(function(A){S.remove(A)}),S},remove:function(i){for(var S=0,A=this.elements.length;S<A;S++)if(this.elements[S].equals(i))return We(this.elements,S),!0;return!1},intersection:function(i){var S=new ce,A=this;return i.each(function(W){A.contains(W)&&S.add(W)}),S},intersects:function(i){return 0<this.intersection(i).elements.length},is_subset:function(i){for(var S=i.elements,A=0,W=S.length;A<W;A++)if(!this.contains(S[A]))return!1;return!0},toString:function(){return"{"+this.elements.join(",")+"}"}};function Me(i,S,A,W){var ke=!1,Fe=/^([a-z_][a-z\d\_]*)\(([a-z_,\s]*)\):=(.+)$/gi.exec(i);return Fe?fr.setFunction(Fe[1],Fe[2].split(","),Fe[3]):(i instanceof g&&(i=i.toString()),(A=pe(A)?A:A===void 0?[]:[A]).forEach(function(ft){var St;ft==="numer"?ke=!0:(St=e.functions[A])&&St[1]===1&&(i=ft+`(${i})`)}),Fe=ae("PARSE2NUMBER",function(){return e.parse(i,S)},ke||M.PARSE2NUMBER),W?it[W-1]=Fe:it.push(Fe),new g(Fe))}var dt={dependencies:{_rename:{"Math2.factorial":"factorial"},factorial:{"Math2.gamma":nt.gamma},gamma_incomplete:{"Math2.factorial":nt.factorial},Li:{"Math2.Ei":nt.Ei,"Math2.bigLog":nt.bigLog,Frac:T},Ci:{"Math2.factorial":nt.factorial},Ei:{"Math2.factorial":nt.factorial},Si:{"Math2.factorial":nt.factorial},Shi:{"Math2.factorial":nt.factorial},Chi:{isInt:ue,nround:xe,"Math2.num_integrate":nt.num_integrate},factor:{"Math2.ifactor":nt.ifactor,Symbol:s},num_integrate:{"Math2.simpson":nt.simpson,nround:xe},fib:{even:Ce}},reformat:{diff:function(W,S){var A=W.args[1].toString(),W="var f = "+dt.build(W.args[0].toString(),[A])+";";return S[1]+="var diff = "+nt.diff.toString()+";",S[1]+=W,["diff(f)("+A+")",S]}},getProperName:function(i){return{continued_fraction:"continuedFraction"}[i]||i},compileDependencies:function(i,S){var A,W,ke=dt.dependencies[i],Fe=S&&S[1]?S[1]:"",ft=S&&S[0]?S[0]:{};for(A in ke)typeof ke[A]!="object"&&(Fe+="var "+(1<(W=A.split(".")).length?W[1]:W[0])+"="+ke[A]+";",ft[A]=W.pop());return[ft,Fe]},getArgsDeps:function(i,S){for(var A=i.args,W=0;W<A.length;W++)i.args[W].each(function(ke){ke.group===f&&(S=dt.compileDependencies(ke.fname,S))});return S},build:function(i,S){i=ae("PARSE2NUMBER",function(){return e.parse(i)},!0);function A(zt,oe){function $(nn){var cn,nn=nn===I?"*":"+",un=[];for(cn in zt.symbols){var o=zt.symbols[cn],y=A(o,oe)[0];o.isComposite()&&(y=se(y)),un.push(y)}return nn=(nn=un.join(nn))&&!zt.multiplier.equals(1)?se(nn):nn}function Ot(Jt){return Jt=Jt in Math?"Math."+Jt:(Jt=dt.getProperName(Jt),Fe.indexOf(Jt)===-1&&(oe.push("var "+Jt+" = "+nt[Jt].toString()+"; "),Fe.push(Jt)),Jt),Jt+=se(zt.args.map(function(cn){return A(cn,oe)[0]}).join(","))}zt.fname===""&&(zt=s.unwrapPARENS(zt)),oe=oe||[];var kt,xt,At=[],Gt=zt.group,Kt="";return Gt===j?At.push(zt.multiplier.toDecimal()):zt.multiplier.equals(-1)?Kt="-":zt.multiplier.equals(1)||At.push(zt.multiplier.toDecimal()),Gt===c||Gt===d?kt=zt.value:Gt===f?(ft=dt.compileDependencies(zt.fname,ft),ft=dt.getArgsDeps(zt,ft),kt=dt.reformat[zt.fname]?(xt=dt.reformat[zt.fname](zt,ft),ft=xt[1],xt[0]):Ot(zt.fname)):Gt===u?(xt=zt.previousGroup)===j||xt===c?kt=zt.value:xt===f?(kt=Ot(zt.fname),ft=dt.compileDependencies(zt.fname,ft),ft=dt.getArgsDeps(zt,ft)):kt=$(zt.previousGroup):kt=$(zt.group),zt.group===j||zt.power.equals(1)||(Gt=A(e.parse(zt.power)),oe.push(Gt[1]),kt="Math.pow"+se(kt+","+Gt[0])),kt&&At.push(Kt+kt),[At.join("*"),oe.join("").replace(/\n+\s+/g," ")]}var W,ke=Lt(i),Fe=[],ft=[],St=(S&&(ke=S),A(i));for(W in ft[0]){var Vt=ft[0][W];St[1]=St[1].replace(W,Vt),ft[1]=ft[1].replace(W,Vt)}return new Function(ke,(ft[1]||"")+St[1]+" return "+St[0]+";")}},_t=(Oe(e.CONSTANTS),Oe(e.functions),e.initConstants(),e.error||(e.error=Le),M.LOG_FNS={log:e.functions.log,log10:e.functions.log10},{allSame:Ve,allNumeric:function(i){for(var S=0;S<i.length;S++)if(!he(i[S]))return!1;return!0},arguments2Array:Ge,arrayAddSlices:function(i,S){S=S||20;var A=[];A.push(i[0]);for(var W=0;W<i.length-1;W++)for(var ke=i[W],Fe=(i[W+1]-ke)/S,ft=0;ft<S;ft++)A.push(ke+=Fe);return A},arrayClone:function(i){for(var S=[],A=i.length,W=0;W<A;W++)S[W]=i[W].clone();return S},arrayMax:function(i){return Math.max.apply(void 0,i)},arrayMin:ee,arrayEqual:function(i,S){if(i.sort(),S.sort(),i.length!==S.length)return!1;for(var A=0;A<i.length;A++)if(i[A]!==S[A])return!1;return!0},arrayUnique:ze,arrayGetVariables:function(i){for(var S=Lt(i[0],null,null,!0),A=1,W=i.length;A<W;A++)S=S.concat(Lt(i[A]));return S=ze(S).sort()},arraySum:function(i,S){for(var ke=new s(0),A=0;A<i.length;A++)var W=i[A],ke=e.add(ke,et(W)?W:e.parse(W));return S?Number(ke):ke},block:ae,build:dt.build,clearU:function(i){i=me.indexOf(i),i!==-1&&(me[i]=void 0)},comboSort:function(i,S){for(var A=i.length,W=[],ke=0;ke<i.length;ke++)W.push([i[ke],S[ke]]);W.sort(function(St,Vt){return St[0]-Vt[0]});for(var Fe=[],ft=[],ke=0;ke<A;ke++)Fe.push(W[ke][0]),ft.push(W[ke][1]);return[Fe,ft]},compare:function(i,S,A){for(var W,ke={},Fe=0;Fe<A.length;Fe++)ke[A[Fe]]=new s(Math.floor(5*Math.random())+1);return ae("PARSE2NUMBER",function(){W=e.parse(i,ke).equals(e.parse(S,ke))}),W},convertToVector:ut,customError:K,customType:function(i){return i!==void 0&&i.custom},decompose_fn:Ee,each:Te,evaluate:He,even:Ce,evenFraction:Ke,fillHoles:function(i,S){S=S||i.length;for(var A=0;A<S;A++)i[A]||(i[A]=new s(0));return i},firstObject:re,format:te,generatePrimes:at,getCoeffs:function(i,S,A){var W=[];i.each(function(St){var ft,St=St.contains(S)?(ft=St.stripVar(S),e.divide(St.clone(),ft.clone()).power.toDecimal()):(ft=St,0),Vt=W[St];W[St]=Vt?e.add(Vt,ft):ft},!0);for(var ke=0;ke<W.length;ke++)W[ke]||(W[ke]=new s(0));return W},getU:function(i){for(var S="u",A=0,W=Lt(i);me.indexOf(S)!==-1||W.indexOf(S)!==-1;)S="u"+A++;for(var ke=0,Fe=me.length;ke<=Fe;ke++)if(!me[ke]){me[ke]=S;break}return S},importFunctions:function(){var i,S={};for(i in e.functions)S[i]=e.functions[i][0];return S},inBrackets:se,isArray:pe,isExpression:De,isFraction:ve,isInt:ue,isMatrix:P,isNegative:Qe,isNumericSymbol:fe,isPrime:Xe,isReserved:de,isSymbol:et,isVariableSymbol:function(i){return i.group===c&&i.multiplier.equals(1)&&i.power.equals(1)},isVector:H,keys:D,knownVariable:function(i,S){var A={};return A[i]=S,A},nroots:function(i){var S,A;if(i.group===f&&i.fname===""?(S=s.unwrapPARENS(e.parse(i).toLinear()),A=e.parse(i.power)):i.group===d&&(S=e.parse(i.value),A=e.parse(i.power)),S&&A&&S.group===j&&A.group===j&&S.multiplier.isNegative())for(var W=[],ke=s.toPolarFormArray(He(i))[0],Fe=e.arg(S),ft=A.multiplier.den.toString(),St=A.multiplier.num.toString(),Vt=0;Vt<ft;Vt++){var zt=He(e.parse(te("(({0})+2*pi*({1}))/({2})",Fe,Vt,ft))).multiplier.toDecimal();W.push(He(e.parse(te("(({0})^({1})*(cos({3})+({2})*sin({3})))^({4})",ke,ft,M.IMAGINARY,zt,St))))}else i.isConstant(!0,!0)?(S=i.sign(),Fe=He(i.abs()),W=[(A=e.sqrt(Fe)).clone(),A.negate()],S<0&&(W=W.map(function(oe){return e.multiply(oe,s.imaginary())}))):W=[e.parse(i)];return G.fromArray(W)},remove:We,reserveNames:Oe,range:function(i,S,A){var W=[];A=A||1;for(var ke=i;ke<=S;ke++)W.push(ke*A);return W},round:xe,sameSign:function(i,S){return i<0==S<0},scientificToDecimal:Ct,separate:Ie,stringReplace:function(i,S,A,W){return i.substr(0,S)+W+i.substr(A,i.length)},text:O,validateName:Nt,variables:Lt,warn:lt}),$t={groups:l,Symbol:s,Expression:g,Frac:T,Vector:G,Matrix:Y,Parser:x,Scientific:E,Fraction:C,Math2:nt,LaTeX:U,Utils:_t,PARSER:e,PARENTHESIS:Q,Settings:M,err:Le,bigInt:r,bigDec:a,exceptions:Ye};return Me.rpn=function(i){return e.tokenize(e.toRPN(i))},Me.convertToLaTeX=function(i,S){return e.toTeX(i,S)},Me.convertFromLaTeX=function(i){return i=U.parse(e.tokenize(i)),new g(e.parse(i))},Me.version=function(i){if(i)try{return $t[i].version}catch(S){return"No module named "+i+" found!"}return"1.1.13"},Me.getWarnings=function(){return Ue},Me.setConstant=function(i,S){if(Nt(i),!de(i))if(S==="delete"||S==="")delete e.CONSTANTS[i];else{if(isNaN(S))throw new ct("Constant must be a number!");e.CONSTANTS[i]=S}return this},Me.getConstant=function(i){return String(e.constant[i])},Me.setFunction=J,Me.getCore=function(){return $t},Me.getExpression=Me.getEquation=g.getExpression,Me.reserved=function(i){return i?me:me.join(", ")},Me.clear=function(i,S){return i==="all"?it=[]:i==="last"?it.pop():i==="first"?it.shift():(i=i?i-1:it.length,S===!0?it[i]=void 0:We(it,i)),this},Me.flush=function(){return this.clear("all"),this},Me.expressions=function(i,S,A){for(var W=i?{}:[],ke=0;ke<it.length;ke++){var Fe=S?U.latex(it[ke],A):O(it[ke],A);i?W[ke+1]=Fe:W.push(Fe)}return W},Me.register=function(i){var S=this.getCore();if(pe(i))for(var A=0;A<i.length;A++)i&&this.register(i[A]);else if(i&&M.exclude.indexOf(i.name)===-1){if(i.dependencies){for(A=0;A<i.dependencies.length;A++)if(!S[i.dependencies[A]])throw new Error(te("{0} requires {1} to be loaded!",i.name,i.dependencies[A]))}var W=i.parent,ke=i.build.call(S);W&&(S[W]||(S[i.parent]={}),(W==="nerdamer"?this:S[W])[i.name]=ke),i.visible&&(e.functions[i.name]=[ke,i.numargs])}},Me.validateName=Nt,Me.validVarName=function(i){try{return Nt(i),me.indexOf(i)===-1}catch(S){return!1}},Me.supported=function(){return D(e.functions)},Me.numEquations=Me.numExpressions=function(){return it.length},Me.setVar=function(i,S){return Nt(i),i in e.CONSTANTS&&Le("Cannot set value for constant "+i),S==="delete"||S===""?delete yt[i]:yt[i]=et(S)?S:e.parse(S),this},Me.getVar=function(i){return yt[i]},Me.clearVars=function(){return yt={},this},Me.load=function(i){return i.call(this),this},Me.getVars=function(i,S){var A={};if((i=i||"text")==="object")A=yt;else for(var W in yt)i==="latex"?A[W]=yt[W].latex(S):i==="text"&&(A[W]=yt[W].text(S));return A},Me.set=function(i,S){if(typeof i=="object")for(var A in i)Me.set(A,i[A]);["SAFE"].indexOf(i)!==-1&&Le("Cannot modify setting: "+i),i==="PRECISION"?(a.set({precision:S}),21<(M.PRECISION=S)&&this.set("USE_BIG",!0)):i==="USE_LN"&&S===!0?(M.LOG="LN",M.LOG10="log",e.functions.log=M.LOG_FNS.log10,e.functions.log[0]=function(W){return W.isConstant()?new s(Math.log10(W)):e.symfunction(M.LOG10,[W])},e.functions.LN=M.LOG_FNS.log,delete e.functions.log10):M[i]=S},Me.get=function(i){return M[i]},Me.updateAPI=function(i){for(var S in e.functions)S in Me&&!i||(Me[S]=function(A){return function(){for(var W=[].slice.call(arguments),ke=0;ke<W.length;ke++)W[ke]=e.parse(W[ke]);return new g(ae("PARSE2NUMBER",function(){return e.callfunction(A,W)}))}}(S))},Me.replaceFunction=function(i,S,ke){var W=e.functions[i],ke=ke===void 0?W[1]:ke;e.functions[i]=[S.call(void 0,W[0],$t),ke]},Me.setOperator=function(i,S){e.setOperator(i,S)},Me.getOperator=function(i){return e.getOperator(i)},Me.aliasOperator=function(i,S){e.aliasOperator(i,S)},Me.tree=function(i){return e.tree(e.toRPN(e.tokenize(i)))},Me.htmlTree=function(i,S){return`<div class="tree">
|
||
<ul>
|
||
<li>
|
||
`+this.tree(i).toHTML(3,S)+`
|
||
</li>
|
||
</ul>
|
||
</div>`},Me.addPeeker=function(i,S){e.peekers[i]&&e.peekers[i].push(S)},Me.removePeeker=function(i,S){We(e.peekers[i],S)},Me.parse=function(i){return String(i).split(";").map(function(S){return e.parse(S)})},Me.updateAPI(),Me}({bigInt:function(){var t=function(e){"use strict";var r=1e7,a=7,l=9007199254740992,h=K(l),L=Math.log(l);function M(H,P){return H===void 0?M[0]:P===void 0||+P==10?et(H):Ve(H,P)}function _(H,P){this.value=H,this.sign=P,this.isSmall=!1}function R(H){this.value=H,this.sign=H<0,this.isSmall=!0}function ie(H){return-l<H&&H<l}function K(H){return H<1e7?[H]:H<1e14?[H%1e7,Math.floor(H/1e7)]:[H%1e7,Math.floor(H/1e7)%1e7,Math.floor(H/1e14)]}function de(H){ve(H);var P=H.length;if(P<4&&v(H,h)<0)switch(P){case 0:return 0;case 1:return H[0];case 2:return H[0]+H[1]*r;default:return H[0]+(H[1]+H[2]*r)*r}return H}function ve(H){for(var P=H.length;H[--P]===0;);H.length=P+1}function De(H){for(var P=new Array(H),B=-1;++B<H;)P[B]=0;return P}function Ie(H){return 0<H?Math.floor(H):Math.ceil(H)}function Qe(H,P){for(var B,fe=H.length,pe=P.length,ue=new Array(fe),st=0,se=r,te=0;te<pe;te++)B=H[te]+P[te]+st,ue[te]=B-(st=se<=B?1:0)*se;for(;te<fe;)B=H[te]+st,ue[te++]=B-(st=B===se?1:0)*se;return 0<st&&ue.push(st),ue}function ee(H,P){return H.length>=P.length?Qe(H,P):Qe(P,H)}function Te(H,P){for(var B,fe=H.length,pe=new Array(fe),ue=r,st=0;st<fe;st++)B=H[st]-ue+P,P=Math.floor(B/ue),pe[st]=B-P*ue,P+=1;for(;0<P;)pe[st++]=P%ue,P=Math.floor(P/ue);return pe}function ze(H,P){for(var B,fe=H.length,pe=P.length,ue=new Array(fe),st=0,se=r,te=0;te<pe;te++)st=(B=H[te]-st-P[te])<0?(B+=se,1):0,ue[te]=B;for(te=pe;te<fe;te++){if(!((B=H[te]-st)<0)){ue[te++]=B;break}B+=se,ue[te]=B}for(;te<fe;te++)ue[te]=H[te];return ve(ue),ue}function Oe(H,P,B){for(var fe,pe=H.length,ue=new Array(pe),st=-P,se=r,te=0;te<pe;te++)fe=H[te]+st,st=Math.floor(fe/se),ue[te]=(fe%=se)<0?fe+se:fe;return typeof(ue=de(ue))=="number"?new R(ue=B?-ue:ue):new _(ue,B)}function ut(H,P){for(var B,fe,pe=H.length,ue=P.length,st=De(pe+ue),se=r,te=0;te<pe;++te)for(var D=H[te],re=0;re<ue;++re)B=D*P[re]+st[te+re],fe=Math.floor(B/se),st[te+re]=B-fe*se,st[te+re+1]+=fe;return ve(st),st}function at(H,P){for(var B,fe=H.length,pe=new Array(fe),ue=r,st=0,se=0;se<fe;se++)B=H[se]*P+st,st=Math.floor(B/ue),pe[se]=B-st*ue;for(;0<st;)pe[se++]=st%ue,st=Math.floor(st/ue);return pe}function j(H,P){for(var B=[];0<P--;)B.push(0);return B.concat(H)}function d(H,P,B){return new _(H<r?at(P,H):ut(P,K(H)),B)}function c(H){for(var P,B=H.length,fe=De(B+B),pe=r,ue=0;ue<B;ue++){for(var st,se=0-(st=H[ue])*st,te=ue;te<B;te++)P=st*H[te]*2+fe[ue+te]+se,se=Math.floor(P/pe),fe[ue+te]=P-se*pe;fe[ue+B]=se}return ve(fe),fe}function u(H,P){for(var B,fe=H.length,pe=De(fe),ue=r,st=0,se=fe-1;0<=se;--se)st=(B=st*ue+H[se])-(B=Ie(B/P))*P,pe[se]=0|B;return[pe,0|st]}function f(H,B){var B=et(B),fe=H.value,pe=B.value;if(pe===0)throw new Error("Cannot divide by zero");if(H.isSmall)return B.isSmall?[new R(Ie(fe/pe)),new R(fe%pe)]:[M[0],H];if(B.isSmall){if(pe===1)return[H,M[0]];if(pe==-1)return[H.negate(),M[0]];var ue,st,se=Math.abs(pe);if(se<r)return st=de((ue=u(fe,se))[0]),te=ue[1],H.sign&&(te=-te),typeof st=="number"?[new R(st=H.sign!==B.sign?-st:st),new R(te)]:[new _(st,H.sign!==B.sign),new R(te)];pe=K(se)}var te=v(fe,pe);return te===-1?[M[0],H]:te===0?[M[H.sign===B.sign?1:-1],M[0]]:(st=(ue=(fe.length+pe.length<=200?function(D,re){var J,Ee,xe,Ce,Ke,Ne,We,ae=D.length,Ge=re.length,He=r,ge=De(re.length),Je=re[Ge-1],gt=Math.ceil(He/(2*Je)),ne=at(D,gt),Se=at(re,gt);for(ne.length<=ae&&ne.push(0),Se.push(0),Je=Se[Ge-1],Ee=ae-Ge;0<=Ee;Ee--){for(J=He-1,ne[Ee+Ge]!==Je&&(J=Math.floor((ne[Ee+Ge]*He+ne[Ee+Ge-1])/Je)),Ne=Se.length,Ke=Ce=xe=0;Ke<Ne;Ke++)xe+=J*Se[Ke],We=Math.floor(xe/He),Ce+=ne[Ee+Ke]-(xe-We*He),xe=We,Ce=Ce<0?(ne[Ee+Ke]=Ce+He,-1):(ne[Ee+Ke]=Ce,0);for(;Ce!==0;){for(--J,Ke=xe=0;Ke<Ne;Ke++)xe=(xe+=ne[Ee+Ke]-He+Se[Ke])<0?(ne[Ee+Ke]=xe+He,0):(ne[Ee+Ke]=xe,1);Ce+=xe}ge[Ee]=J}return ne=u(ne,gt)[0],[de(ge),de(ne)]}:function(D,re){for(var J,Ee,xe,Ce,Ke,Ne=D.length,We=re.length,ae=[],Ge=[],He=r;Ne;)if(Ge.unshift(D[--Ne]),ve(Ge),v(Ge,re)<0)ae.push(0);else{for(xe=Ge[(Ee=Ge.length)-1]*He+Ge[Ee-2],Ce=re[We-1]*He+re[We-2],We<Ee&&(xe=(xe+1)*He),J=Math.ceil(xe/Ce);!(v(Ke=at(re,J),Ge)<=0)&&--J;);ae.push(J),Ge=ze(Ge,Ke)}return ae.reverse(),[de(ae),de(Ge)]})(fe,pe))[0],se=H.sign!==B.sign,te=ue[1],fe=H.sign,[st=typeof st=="number"?new R(st=se?-st:st):new _(st,se),te=typeof te=="number"?new R(te=fe?-te:te):new _(te,fe)])}function v(H,P){if(H.length!==P.length)return H.length>P.length?1:-1;for(var B=H.length-1;0<=B;B--)if(H[B]!==P[B])return H[B]>P[B]?1:-1;return 0}function I(H){return H=H.abs(),!H.isUnit()&&(!!(H.equals(2)||H.equals(3)||H.equals(5))||!(H.isEven()||H.isDivisibleBy(3)||H.isDivisibleBy(5))&&(!!H.lesser(49)||void 0))}function q(H,P){for(var B,fe,pe,ue=H.prev(),st=ue,se=0;st.isEven();)st=st.divide(2),se++;e:for(fe=0;fe<P.length;fe++)if(!H.lesser(P[fe])&&!(pe=t(P[fe]).modPow(st,H)).equals(M[1])&&!pe.equals(ue)){for(B=se-1;B!=0;B--){if((pe=pe.square().mod(H)).isUnit())return!1;if(pe.equals(ue))continue e}return!1}return!0}_.prototype=Object.create(M.prototype),R.prototype=Object.create(M.prototype),_.prototype.plus=_.prototype.add=function(fe){var P,B,fe=et(fe);return this.sign!==fe.sign?this.subtract(fe.negate()):(P=this.value,B=fe.value,fe.isSmall?new _(Te(P,Math.abs(B)),this.sign):new _(ee(P,B),this.sign))},R.prototype.plus=R.prototype.add=function(P){var P=et(P),B=this.value;if(B<0!==P.sign)return this.subtract(P.negate());var fe=P.value;if(P.isSmall){if(ie(B+fe))return new R(B+fe);fe=K(Math.abs(fe))}return new _(Te(fe,Math.abs(B)),B<0)},_.prototype.minus=_.prototype.subtract=function(pe){var P,B,fe,pe=et(pe);return this.sign!==pe.sign?this.add(pe.negate()):(P=this.value,B=pe.value,pe.isSmall?Oe(P,Math.abs(B),this.sign):(pe=P,P=B,B=this.sign,0<=v(pe,P)?fe=ze(pe,P):(fe=ze(P,pe),B=!B),typeof(fe=de(fe))=="number"?new R(fe=B?-fe:fe):new _(fe,B)))},R.prototype.minus=R.prototype.subtract=function(B){var P,B=et(B),fe=this.value;return fe<0!==B.sign?this.add(B.negate()):(P=B.value,B.isSmall?new R(fe-P):Oe(P,Math.abs(fe),0<=fe))},_.prototype.negate=function(){return new _(this.value,!this.sign)},R.prototype.negate=function(){var H=this.sign,P=new R(-this.value);return P.sign=!H,P},_.prototype.abs=function(){return new _(this.value,!1)},R.prototype.abs=function(){return new R(Math.abs(this.value))},_.prototype.times=_.prototype.multiply=function(B){var P,B=et(B),fe=this.value,pe=B.value,ue=this.sign!==B.sign;if(B.isSmall){if(pe===0)return M[0];if(pe===1)return this;if(pe===-1)return this.negate();if((B=Math.abs(pe))<r)return new _(at(fe,B),ue);pe=K(B)}return B=fe.length,P=pe.length,new _((0<-.012*B-.012*P+15e-6*B*P?function st(se,te){var D,re,J,Ee,xe;return(D=Math.max(se.length,te.length))<=30?ut(se,te):(D=Math.ceil(D/2),xe=se.slice(D),se=se.slice(0,D),re=te.slice(D),J=st(se,te=te.slice(0,D)),Ee=st(xe,re),se=st(ee(se,xe),ee(te,re)),ve(xe=ee(ee(J,j(ze(ze(se,J),Ee),D)),j(Ee,2*D))),xe)}:ut)(fe,pe),ue)},R.prototype._multiplyBySmall=function(H){return ie(H.value*this.value)?new R(H.value*this.value):d(Math.abs(H.value),K(Math.abs(this.value)),this.sign!==H.sign)},_.prototype._multiplyBySmall=function(H){return H.value===0?M[0]:H.value===1?this:H.value===-1?this.negate():d(Math.abs(H.value),this.value,this.sign!==H.sign)},R.prototype.times=R.prototype.multiply=function(H){return et(H)._multiplyBySmall(this)},_.prototype.square=function(){return new _(c(this.value),!1)},R.prototype.square=function(){var H=this.value*this.value;return ie(H)?new R(H):new _(c(K(Math.abs(this.value))),!1)},R.prototype.divmod=_.prototype.divmod=function(H){return H=f(this,H),{quotient:H[0],remainder:H[1]}},R.prototype.over=R.prototype.divide=_.prototype.over=_.prototype.divide=function(H){return f(this,H)[0]},R.prototype.remainder=R.prototype.mod=_.prototype.remainder=_.prototype.mod=function(H){return f(this,H)[1]},R.prototype.pow=_.prototype.pow=function(fe){var P,B,fe=et(fe),pe=this.value,ue=fe.value;if(ue===0)return M[1];if(pe===0)return M[0];if(pe===1)return M[1];if(pe===-1)return fe.isEven()?M[1]:M[-1];if(fe.sign)return M[0];if(!fe.isSmall)throw new Error("The exponent "+fe.toString()+" is too large.");if(this.isSmall&&ie(fe=Math.pow(pe,ue)))return new R(Ie(fe));for(P=this,B=M[1];!0&ue&&(B=B.times(P),--ue),ue!==0;)ue/=2,P=P.square();return B},R.prototype.modPow=_.prototype.modPow=function(H,P){if(H=et(H),(P=et(P)).isZero())throw new Error("Cannot take modPow with modulus 0");for(var B=M[1],fe=this.mod(P);H.isPositive();){if(fe.isZero())return M[0];H.isOdd()&&(B=B.multiply(fe).mod(P)),H=H.divide(2),fe=fe.square().mod(P)}return B},_.prototype.compareAbs=function(P){var P=et(P),B=this.value,fe=P.value;return P.isSmall?1:v(B,fe)},R.prototype.compareAbs=function(P){var P=et(P),B=Math.abs(this.value),fe=P.value;return P.isSmall?B===(fe=Math.abs(fe))?0:fe<B?1:-1:-1},_.prototype.compareTo=_.prototype.compare=function(H){var P,B;return H===1/0?-1:H===-1/0?1:(H=et(H),P=this.value,B=H.value,this.sign!==H.sign?H.sign?1:-1:H.isSmall?this.sign?-1:1:v(P,B)*(this.sign?-1:1))},R.prototype.compareTo=R.prototype.compare=function(H){var P,B;return H===1/0?-1:H===-1/0?1:(H=et(H),P=this.value,B=H.value,H.isSmall?P==B?0:B<P?1:-1:P<0!==H.sign?P<0?-1:1:P<0?1:-1)},R.prototype.eq=R.prototype.equals=_.prototype.eq=_.prototype.equals=function(H){return this.compare(H)===0},R.prototype.neq=R.prototype.notEquals=_.prototype.neq=_.prototype.notEquals=function(H){return this.compare(H)!==0},R.prototype.gt=R.prototype.greater=_.prototype.gt=_.prototype.greater=function(H){return 0<this.compare(H)},R.prototype.lt=R.prototype.lesser=_.prototype.lt=_.prototype.lesser=function(H){return this.compare(H)<0},R.prototype.geq=R.prototype.greaterOrEquals=_.prototype.geq=_.prototype.greaterOrEquals=function(H){return 0<=this.compare(H)},R.prototype.leq=R.prototype.lesserOrEquals=_.prototype.leq=_.prototype.lesserOrEquals=function(H){return this.compare(H)<=0},_.prototype.isEven=function(){return(1&this.value[0])==0},R.prototype.isEven=function(){return(1&this.value)==0},_.prototype.isOdd=function(){return(1&this.value[0])==1},R.prototype.isOdd=function(){return(1&this.value)==1},_.prototype.isPositive=function(){return!this.sign},R.prototype.isPositive=function(){return 0<this.value},_.prototype.isNegative=function(){return this.sign},R.prototype.isNegative=function(){return this.value<0},_.prototype.isUnit=function(){return!1},R.prototype.isUnit=function(){return Math.abs(this.value)===1},_.prototype.isZero=function(){return!1},R.prototype.isZero=function(){return this.value===0},R.prototype.isDivisibleBy=_.prototype.isDivisibleBy=function(P){var P=et(P),B=P.value;return B!==0&&(B===1||(B===2?this.isEven():this.mod(P).equals(M[0])))},R.prototype.isPrime=_.prototype.isPrime=function(H){var P=I(this);if(P!==e)return P;var P=this.abs(),B=P.bitLength();if(B<=64)return q(P,[2,325,9375,28178,450775,9780504,1795265022]);for(var B=Math.log(2)*B,fe=Math.ceil(H===!0?2*Math.pow(B,2):B),pe=[],ue=0;ue<fe;ue++)pe.push(t(ue+2));return q(P,pe)},R.prototype.isProbablePrime=_.prototype.isProbablePrime=function(H){var P=I(this);if(P!==e)return P;for(var B=this.abs(),fe=H===e?5:H,pe=[],ue=0;ue<fe;ue++)pe.push(t.randBetween(2,B.minus(2)));return q(B,pe)},R.prototype.modInv=_.prototype.modInv=function(H){for(var P,B,fe,pe=t.zero,ue=t.one,st=et(H),se=this.abs();!se.equals(t.zero);)P=st.divide(se),B=pe,fe=st,pe=ue,st=se,ue=B.subtract(P.multiply(ue)),se=fe.subtract(P.multiply(se));if(st.equals(1))return pe.compare(0)===-1&&(pe=pe.add(H)),this.isNegative()?pe.negate():pe;throw new Error(this.toString()+" and "+H.toString()+" are not co-prime")},_.prototype.next=function(){var H=this.value;return this.sign?Oe(H,1,this.sign):new _(Te(H,1),this.sign)},R.prototype.next=function(){var H=this.value;return H+1<l?new R(H+1):new _(h,!1)},_.prototype.prev=function(){var H=this.value;return this.sign?new _(Te(H,1),!0):Oe(H,1,this.sign)},R.prototype.prev=function(){var H=this.value;return-l<H-1?new R(H-1):new _(h,!0)};for(var V=[1];2*V[V.length-1]<=r;)V.push(2*V[V.length-1]);var Q=V.length,le=V[Q-1];function ye(H){return(typeof H=="number"||typeof H=="string")&&+Math.abs(H)<=r||H instanceof _&&H.value.length<=1}function Ae(H,P,B){P=et(P);for(var fe=H.isNegative(),pe=P.isNegative(),ue=fe?H.not():H,st=pe?P.not():P,se=0,te=0,D=null,re=null,J=[];!ue.isZero()||!st.isZero();)se=(D=f(ue,le))[1].toJSNumber(),fe&&(se=le-1-se),te=(re=f(st,le))[1].toJSNumber(),ue=D[0],st=re[0],J.push(B(se,te=pe?le-1-te:te));for(var Ee=B(fe?1:0,pe?1:0)!==0?t(-1):t(0),xe=J.length-1;0<=xe;--xe)Ee=Ee.multiply(le).add(t(J[xe]));return Ee}R.prototype.shiftLeft=_.prototype.shiftLeft=function(H){if(!ye(H))throw new Error(String(H)+" is too large for shifting.");if((H=+H)<0)return this.shiftRight(-H);var P=this;if(P.isZero())return P;for(;Q<=H;)P=P.multiply(le),H-=Q-1;return P.multiply(V[H])},R.prototype.shiftRight=_.prototype.shiftRight=function(H){var P;if(!ye(H))throw new Error(String(H)+" is too large for shifting.");if((H=+H)<0)return this.shiftLeft(-H);for(var B=this;Q<=H;){if(B.isZero()||B.isNegative()&&B.isUnit())return B;B=(P=f(B,le))[1].isNegative()?P[0].prev():P[0],H-=Q-1}return(P=f(B,V[H]))[1].isNegative()?P[0].prev():P[0]},R.prototype.not=_.prototype.not=function(){return this.negate().prev()},R.prototype.and=_.prototype.and=function(H){return Ae(this,H,function(P,B){return P&B})},R.prototype.or=_.prototype.or=function(H){return Ae(this,H,function(P,B){return P|B})},R.prototype.xor=_.prototype.xor=function(H){return Ae(this,H,function(P,B){return P^B})};var je=1<<30,it=(r&-r)*(r&-r)|je;function yt(H){return H=H.value,H=typeof H=="number"?H|je:H[0]+H[1]*r|it,H&-H}function me(H,P){return H=et(H),P=et(P),H.greater(P)?H:P}function Ue(H,P){return H=et(H),P=et(P),H.lesser(P)?H:P}function Le(H,P){if(H=et(H).abs(),P=et(P).abs(),H.equals(P))return H;if(H.isZero())return P;if(P.isZero())return H;for(var B,fe,pe=M[1];H.isEven()&&P.isEven();)B=Math.min(yt(H),yt(P)),H=H.divide(B),P=P.divide(B),pe=pe.multiply(B);for(;H.isEven();)H=H.divide(yt(H));do for(;P.isEven();)P=P.divide(yt(P));while(H.greater(P)&&(fe=P,P=H,H=fe),!(P=P.subtract(H)).isZero());return pe.isUnit()?H:H.multiply(pe)}R.prototype.bitLength=_.prototype.bitLength=function(){var H=this;return(H=H.compareTo(t(0))<0?H.negate().subtract(t(1)):H).compareTo(t(0))===0?t(0):t(function P(B,fe){var pe,ue;return fe.compareTo(B)<=0?(pe=(ue=P(B,fe.square(fe))).p,ue=ue.e,(fe=pe.multiply(fe)).compareTo(B)<=0?{p:fe,e:2*ue+1}:{p:pe,e:2*ue}):{p:t(1),e:0}}(H,t(2)).e).add(t(1))};var Ve=function(H,P){for(var B=H.length,fe=Math.abs(P),pe=0;pe<B;pe++){var ue=H[pe].toLowerCase();if(ue!=="-"&&/[a-z0-9]/.test(ue)){if(/[0-9]/.test(ue)&&fe<=+ue){if(ue!=="1"||fe!==1)throw new Error(ue+" is not a valid digit in base "+P+".")}else if(ue.charCodeAt(0)-87>=fe)throw new Error(ue+" is not a valid digit in base "+P+".")}}if(2<=P&&P<=36&&B<=L/Math.log(P)){var se=parseInt(H,P);if(isNaN(se))throw new Error(ue+" is not a valid digit in base "+P+".");return new R(parseInt(H,P))}P=et(P);var st=[],se=H[0]==="-";for(pe=se?1:0;pe<H.length;pe++){var te=(ue=H[pe].toLowerCase()).charCodeAt(0);if(48<=te&&te<=57)st.push(et(ue));else if(97<=te&&te<=122)st.push(et(ue.charCodeAt(0)-87));else{if(ue!=="<")throw new Error(ue+" is not a valid character");for(te=pe;H[++pe]!==">";);st.push(et(H.slice(te+1,pe)))}}return lt(st,P,se)};function lt(H,P,B){for(var fe=M[0],pe=M[1],ue=H.length-1;0<=ue;ue--)fe=fe.add(H[ue].times(pe)),pe=pe.times(P);return B?fe.negate():fe}function Nt(H){return H<=35?"0123456789abcdefghijklmnopqrstuvwxyz".charAt(H):"<"+H+">"}function Ct(H,P){if((P=t(P)).isZero()){if(H.isZero())return{value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(P.equals(-1))return H.isZero()?{value:[0],isNegative:!1}:H.isNegative()?{value:[].concat.apply([],Array.apply(null,Array(-H)).map(Array.prototype.valueOf,[1,0])),isNegative:!1}:((B=Array.apply(null,Array(+H-1)).map(Array.prototype.valueOf,[0,1])).unshift([1]),{value:[].concat.apply([],B),isNegative:!1});var B=!1;if(H.isNegative()&&P.isPositive()&&(B=!0,H=H.abs()),P.equals(1))return H.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(+H)).map(Number.prototype.valueOf,1),isNegative:B};for(var fe=[],pe=H;pe.isNegative()||0<=pe.compareAbs(P);){var pe=(ue=pe.divmod(P)).quotient,ue=ue.remainder;ue.isNegative()&&(ue=P.minus(ue).abs(),pe=pe.next()),fe.push(ue.toJSNumber())}return fe.push(pe.toJSNumber()),{value:fe.reverse(),isNegative:B}}function Xe(H,P){return H=Ct(H,P),(H.isNegative?"-":"")+H.value.map(Nt).join("")}function he(H){if(ie(+H)){var P=+H;if(P===Ie(P))return new R(P);throw new Error("Invalid integer: "+H)}var P=H[0]==="-",B=(H=P?H.slice(1):H).split(/e/i);if(2<B.length)throw new Error("Invalid integer: "+B.join("e"));if(B.length===2){var fe=B[1];if((fe=+(fe=fe[0]==="+"?fe.slice(1):fe))!==Ie(fe)||!ie(fe))throw new Error("Invalid integer: "+fe+" is not a valid exponent.");var B=B[0],pe=B.indexOf(".");if(0<=pe&&(fe-=B.length-pe-1,B=B.slice(0,pe)+B.slice(pe+1)),fe<0)throw new Error("Cannot include negative exponent part for integers");H=B+=new Array(fe+1).join("0")}if(!/^([0-9][0-9]*)$/.test(H))throw new Error("Invalid integer: "+H);for(var ue=[],st=H.length,se=a,te=st-se;0<st;)ue.push(+H.slice(te,st)),(te-=se)<0&&(te=0),st-=se;return ve(ue),new _(ue,P)}function et(H){if(typeof H!="number")return typeof H=="string"?he(H):H;if(ie(H)){if(H!==Ie(H))throw new Error(H+" is not an integer.");return new R(H)}return he(H.toString())}_.prototype.toArray=function(H){return Ct(this,H)},R.prototype.toArray=function(H){return Ct(this,H)},_.prototype.toString=function(H){if((H=H===e?10:H)!==10)return Xe(this,H);for(var P,B=this.value,fe=B.length,pe=String(B[--fe]);0<=--fe;)P=String(B[fe]),pe+="0000000".slice(P.length)+P;return(this.sign?"-":"")+pe},R.prototype.toString=function(H){return(H=H===e?10:H)!=10?Xe(this,H):String(this.value)},_.prototype.toJSON=R.prototype.toJSON=function(){return this.toString()},_.prototype.toJSNumber=_.prototype.valueOf=function(){return parseInt(this.toString(),10)},R.prototype.toJSNumber=R.prototype.valueOf=function(){return this.value};for(var Lt=0;Lt<1e3;Lt++)M[Lt]=new R(Lt),0<Lt&&(M[-Lt]=new R(-Lt));return M.one=M[1],M.zero=M[0],M.minusOne=M[-1],M.max=me,M.min=Ue,M.gcd=Le,M.lcm=function(H,P){return H=et(H).abs(),P=et(P).abs(),H.divide(Le(H,P)).multiply(P)},M.isInstance=function(H){return H instanceof _||H instanceof R},M.randBetween=function(H,P){var B=Ue(H=et(H),P=et(P)),fe=me(H,P).subtract(B).add(1);if(fe.isSmall)return B.add(Math.floor(Math.random()*fe));for(var pe=[],ue=!0,st=fe.value.length-1;0<=st;st--){var se=ue?fe.value[st]:r,te=Ie(Math.random()*se);pe.unshift(te),te<se&&(ue=!1)}return pe=de(pe),B.add(typeof pe=="number"?new R(pe):new _(pe,!1))},M.fromArray=function(H,P,B){return lt(H.map(et),et(P||10),B)},M}();return typeof ti!="undefined"&&ti.hasOwnProperty("exports")&&(ti.exports=t),typeof define=="function"&&define.amd&&define("big-integer",[],function(){return t}),t}(),bigDec:function(t){"use strict";var e,r,a,l,h=9e15,L=1e9,M="0123456789abcdef",_="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",R="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ie={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-h,maxE:h,crypto:!1},K=!0,de="[DecimalError] ",ve=de+"Invalid argument: ",De=de+"Precision limit exceeded",Ie=de+"crypto unavailable",Qe=Math.floor,ee=Math.pow,Te=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,ze=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Oe=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ut=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,at=1e7,j=7,d=_.length-1,c=R.length-1,u={name:"[object Decimal]"};function f(g){var E,T,s,x=g.length-1,C="",U=g[0];if(0<x){for(C+=U,E=1;E<x;E++)s=g[E]+"",(T=j-s.length)&&(C+=Le(T)),C+=s;U=g[E],(T=j-(s=U+"").length)&&(C+=Le(T))}else if(U===0)return"0";for(;U%10==0;)U/=10;return C+U}function v(g,E,T){if(g!==~~g||g<E||T<g)throw Error(ve+g)}function I(g,E,T,s){for(var x,C,U=g[0];10<=U;U/=10)--E;return--E<0?(E+=j,x=0):(x=Math.ceil((E+1)/j),E%=j),U=ee(10,j-E),C=g[x]%U|0,s==null?E<3?(E==0?C=C/100|0:E==1&&(C=C/10|0),T<4&&C==99999||3<T&&C==49999||C==5e4||C==0):(T<4&&C+1==U||3<T&&C+1==U/2)&&(g[x+1]/U/100|0)==ee(10,E-2)-1||(C==U/2||C==0)&&(g[x+1]/U/100|0)==0:E<4?(E==0?C=C/1e3|0:E==1?C=C/100|0:E==2&&(C=C/10|0),(s||T<4)&&C==9999||!s&&3<T&&C==4999):((s||T<4)&&C+1==U||!s&&3<T&&C+1==U/2)&&(g[x+1]/U/1e3|0)==ee(10,E-3)-1}function q(g,E,T){for(var s,x,C=[0],U=0,G=g.length;U<G;){for(x=C.length;x--;)C[x]*=E;for(C[0]+=M.indexOf(g.charAt(U++)),s=0;s<C.length;s++)C[s]>T-1&&(C[s+1]===void 0&&(C[s+1]=0),C[s+1]+=C[s]/T|0,C[s]%=T)}return C.reverse()}u.absoluteValue=u.abs=function(){var g=new this.constructor(this);return g.s<0&&(g.s=1),Ae(g)},u.ceil=function(){return Ae(new this.constructor(this),this.e+1,2)},u.comparedTo=u.cmp=function(g){var E,T,s=this,x=s.d,C=(g=new s.constructor(g)).d,U=s.s,G=g.s;if(!x||!C)return U&&G?U!==G?U:x===C?0:!x^U<0?1:-1:NaN;if(!x[0]||!C[0])return x[0]?U:C[0]?-G:0;if(U!==G)return U;if(s.e!==g.e)return s.e>g.e^U<0?1:-1;for(E=0,T=(G=x.length)<(s=C.length)?G:s;E<T;++E)if(x[E]!==C[E])return x[E]>C[E]^U<0?1:-1;return G===s?0:s<G^U<0?1:-1},u.cosine=u.cos=function(){var g,E,T=this,s=T.constructor;return T.d?T.d[0]?(g=s.precision,E=s.rounding,s.precision=g+Math.max(T.e,T.sd())+j,s.rounding=1,T=function(x,C){var U,G=C.d.length,G=G<32?(1/H(4,U=Math.ceil(G/3))).toString():(U=16,"2.3283064365386962890625e-10");x.precision+=U,C=Lt(x,1,C.times(G),new x(1));for(var Y=U;Y--;){var ce=C.times(C);C=ce.times(ce).minus(ce).times(8).plus(1)}return x.precision-=U,C}(s,P(s,T)),s.precision=g,s.rounding=E,Ae(l==2||l==3?T.neg():T,g,E,!0)):new s(1):new s(NaN)},u.cubeRoot=u.cbrt=function(){var g,E,T,s,x,C,U,G,Y,ce,Me=this,dt=Me.constructor;if(!Me.isFinite()||Me.isZero())return new dt(Me);for(K=!1,(C=Me.s*ee(Me.s*Me,.3333333333333333))&&Math.abs(C)!=1/0?s=new dt(C.toString()):(T=f(Me.d),(C=((g=Me.e)-T.length+1)%3)&&(T+=C==1||C==-2?"0":"00"),C=ee(T,.3333333333333333),g=Qe((g+1)/3)-(g%3==(g<0?-1:2)),(s=new dt(T=C==1/0?"5e"+g:(T=C.toExponential()).slice(0,T.indexOf("e")+1)+g)).s=Me.s),U=(g=dt.precision)+3;;)if(ce=(Y=(G=s).times(G).times(G)).plus(Me),s=V(ce.plus(Me).times(G),ce.plus(Y),U+2,1),f(G.d).slice(0,U)===(T=f(s.d)).slice(0,U)){if((T=T.slice(U-3,U+1))!="9999"&&(x||T!="4999")){+T&&(+T.slice(1)||T.charAt(0)!="5")||(Ae(s,g+1,1),E=!s.times(s).times(s).eq(Me));break}if(!x&&(Ae(G,g+1,0),G.times(G).times(G).eq(Me))){s=G;break}U+=4,x=1}return K=!0,Ae(s,g,dt.rounding,E)},u.decimalPlaces=u.dp=function(){var g,E=this.d,T=NaN;if(E){if(T=((g=E.length-1)-Qe(this.e/j))*j,g=E[g])for(;g%10==0;g/=10)T--;T<0&&(T=0)}return T},u.dividedBy=u.div=function(g){return V(this,new this.constructor(g))},u.dividedToIntegerBy=u.divToInt=function(g){var E=this.constructor;return Ae(V(this,new E(g),0,1,1),E.precision,E.rounding)},u.equals=u.eq=function(g){return this.cmp(g)===0},u.floor=function(){return Ae(new this.constructor(this),this.e+1,3)},u.greaterThan=u.gt=function(g){return 0<this.cmp(g)},u.greaterThanOrEqualTo=u.gte=function(g){return g=this.cmp(g),g==1||g===0},u.hyperbolicCosine=u.cosh=function(){var g,E,T,s=(G=this).constructor,x=new s(1);if(!G.isFinite())return new s(G.s?1/0:NaN);if(G.isZero())return x;E=s.precision,T=s.rounding,s.precision=E+Math.max(G.e,G.sd())+4,s.rounding=1;for(var C,U=(U=G.d.length)<32?(1/H(4,g=Math.ceil(U/3))).toString():(g=16,"2.3283064365386962890625e-10"),G=Lt(s,1,G.times(U),new s(1),!0),Y=g,ce=new s(8);Y--;)C=G.times(G),G=x.minus(C.times(ce.minus(C.times(ce))));return Ae(G,s.precision=E,s.rounding=T,!0)},u.hyperbolicSine=u.sinh=function(){var g,E,T,s=(U=this).constructor;if(!U.isFinite()||U.isZero())return new s(U);if(g=s.precision,E=s.rounding,s.precision=g+Math.max(U.e,U.sd())+4,s.rounding=1,(T=U.d.length)<3)U=Lt(s,2,U,U,!0);else for(var x,C=16<(C=1.4*Math.sqrt(T))?16:0|C,U=Lt(s,2,U=U.times(1/H(5,C)),U,!0),G=new s(5),Y=new s(16),ce=new s(20);C--;)x=U.times(U),U=U.times(G.plus(x.times(Y.times(x).plus(ce))));return Ae(U,s.precision=g,s.rounding=E,!0)},u.hyperbolicTangent=u.tanh=function(){var g,E,T=this,s=T.constructor;return T.isFinite()?T.isZero()?new s(T):(g=s.precision,E=s.rounding,s.precision=g+7,s.rounding=1,V(T.sinh(),T.cosh(),s.precision=g,s.rounding=E)):new s(T.s)},u.inverseCosine=u.acos=function(){var g=this,E=g.constructor,T=g.abs().cmp(1),s=E.precision,x=E.rounding;return T!==-1?T===0?g.isNeg()?me(E,s,x):new E(0):new E(NaN):g.isZero()?me(E,s+4,x).times(.5):(E.precision=s+6,E.rounding=1,g=g.asin(),T=me(E,s+4,x).times(.5),E.precision=s,E.rounding=x,T.minus(g))},u.inverseHyperbolicCosine=u.acosh=function(){var g,E,T=this,s=T.constructor;return T.lte(1)?new s(T.eq(1)?0:NaN):T.isFinite()?(g=s.precision,E=s.rounding,s.precision=g+Math.max(Math.abs(T.e),T.sd())+4,s.rounding=1,K=!1,T=T.times(T).minus(1).sqrt().plus(T),K=!0,s.precision=g,s.rounding=E,T.ln()):new s(T)},u.inverseHyperbolicSine=u.asinh=function(){var g,E,T=this,s=T.constructor;return!T.isFinite()||T.isZero()?new s(T):(g=s.precision,E=s.rounding,s.precision=g+2*Math.max(Math.abs(T.e),T.sd())+6,s.rounding=1,K=!1,T=T.times(T).plus(1).sqrt().plus(T),K=!0,s.precision=g,s.rounding=E,T.ln())},u.inverseHyperbolicTangent=u.atanh=function(){var g,E,T,s=this,x=s.constructor;return s.isFinite()?0<=s.e?new x(s.abs().eq(1)?s.s/0:s.isZero()?s:NaN):(g=x.precision,E=x.rounding,T=s.sd(),Math.max(T,g)<2*-s.e-1?Ae(new x(s),g,E,!0):(x.precision=T=T-s.e,s=V(s.plus(1),new x(1).minus(s),T+g,1),x.precision=g+4,x.rounding=1,s=s.ln(),x.precision=g,x.rounding=E,s.times(.5))):new x(NaN)},u.inverseSine=u.asin=function(){var g,E,T,s=this,x=s.constructor;return s.isZero()?new x(s):(g=s.abs().cmp(1),E=x.precision,T=x.rounding,g!==-1?g===0?((g=me(x,E+4,T).times(.5)).s=s.s,g):new x(NaN):(x.precision=E+6,x.rounding=1,s=s.div(new x(1).minus(s.times(s)).sqrt().plus(1)).atan(),x.precision=E,x.rounding=T,s.times(2)))},u.inverseTangent=u.atan=function(){var g,E,T,s,x,C,U,G,Y,ce=this,Me=ce.constructor,dt=Me.precision,_t=Me.rounding;if(ce.isFinite()){if(ce.isZero())return new Me(ce);if(ce.abs().eq(1)&&dt+4<=c)return(U=me(Me,dt+4,_t).times(.25)).s=ce.s,U}else{if(!ce.s)return new Me(NaN);if(dt+4<=c)return(U=me(Me,dt+4,_t).times(.5)).s=ce.s,U}for(Me.precision=G=dt+10,Me.rounding=1,g=T=Math.min(28,G/j+2|0);g;--g)ce=ce.div(ce.times(ce).plus(1).sqrt().plus(1));for(K=!1,E=Math.ceil(G/j),s=1,Y=ce.times(ce),U=new Me(ce),x=ce;g!==-1;)if(x=x.times(Y),C=U.minus(x.div(s+=2)),x=x.times(Y),(U=C.plus(x.div(s+=2))).d[E]!==void 0)for(g=E;U.d[g]===C.d[g]&&g--;);return T&&(U=U.times(2<<T-1)),K=!0,Ae(U,Me.precision=dt,Me.rounding=_t,!0)},u.isFinite=function(){return!!this.d},u.isInteger=u.isInt=function(){return!!this.d&&Qe(this.e/j)>this.d.length-2},u.isNaN=function(){return!this.s},u.isNegative=u.isNeg=function(){return this.s<0},u.isPositive=u.isPos=function(){return 0<this.s},u.isZero=function(){return!!this.d&&this.d[0]===0},u.lessThan=u.lt=function(g){return this.cmp(g)<0},u.lessThanOrEqualTo=u.lte=function(g){return this.cmp(g)<1},u.logarithm=u.log=function(g){var E,T,s,x,C,U,G,Y,ce=this.constructor,Me=ce.precision,dt=ce.rounding;if(g==null)g=new ce(10),E=!0;else{if(T=(g=new ce(g)).d,g.s<0||!T||!T[0]||g.eq(1))return new ce(NaN);E=g.eq(10)}if(T=this.d,this.s<0||!T||!T[0]||this.eq(1))return new ce(T&&!T[0]?-1/0:this.s!=1?NaN:T?0:1/0);if(E)if(1<T.length)C=!0;else{for(x=T[0];x%10==0;)x/=10;C=x!==1}if(K=!1,U=Xe(this,G=Me+5),s=E?yt(ce,G+10):Xe(g,G),I((Y=V(U,s,G,1)).d,x=Me,dt))do if(U=Xe(this,G+=10),s=E?yt(ce,G+10):Xe(g,G),Y=V(U,s,G,1),!C){+f(Y.d).slice(x+1,x+15)+1==1e14&&(Y=Ae(Y,Me+1,0));break}while(I(Y.d,x+=10,dt));return K=!0,Ae(Y,Me,dt)},u.minus=u.sub=function(g){var E,T,s,x,C,U,G,Y,ce,Me,dt,_t=this,$t=_t.constructor;if(g=new $t(g),!_t.d||!g.d)return _t.s&&g.s?_t.d?g.s=-g.s:g=new $t(g.d||_t.s!==g.s?_t:NaN):g=new $t(NaN),g;if(_t.s!=g.s)return g.s=-g.s,_t.plus(g);if(ce=_t.d,dt=g.d,G=$t.precision,Y=$t.rounding,!ce[0]||!dt[0]){if(dt[0])g.s=-g.s;else{if(!ce[0])return new $t(Y===3?-0:0);g=new $t(_t)}return K?Ae(g,G,Y):g}if(T=Qe(g.e/j),_t=Qe(_t.e/j),ce=ce.slice(),C=_t-T){for(U=((Me=C<0)?(E=ce,C=-C,dt):(E=dt,T=_t,ce)).length,C>(s=Math.max(Math.ceil(G/j),U)+2)&&(C=s,E.length=1),E.reverse(),s=C;s--;)E.push(0);E.reverse()}else{for((Me=(s=ce.length)<(U=dt.length))&&(U=s),s=0;s<U;s++)if(ce[s]!=dt[s]){Me=ce[s]<dt[s];break}C=0}for(Me&&(E=ce,ce=dt,dt=E,g.s=-g.s),U=ce.length,s=dt.length-U;0<s;--s)ce[U++]=0;for(s=dt.length;C<s;){if(ce[--s]<dt[s]){for(x=s;x&&ce[--x]===0;)ce[x]=at-1;--ce[x],ce[s]+=at}ce[s]-=dt[s]}for(;ce[--U]===0;)ce.pop();for(;ce[0]===0;ce.shift())--T;return ce[0]?(g.d=ce,g.e=it(ce,T),K?Ae(g,G,Y):g):new $t(Y===3?-0:0)},u.modulo=u.mod=function(g){var E,T=this,s=T.constructor;return g=new s(g),!T.d||!g.s||g.d&&!g.d[0]?new s(NaN):!g.d||T.d&&!T.d[0]?Ae(new s(T),s.precision,s.rounding):(K=!1,s.modulo==9?(E=V(T,g.abs(),0,3,1)).s*=g.s:E=V(T,g,0,s.modulo,1),E=E.times(g),K=!0,T.minus(E))},u.naturalExponential=u.exp=function(){return Ct(this)},u.naturalLogarithm=u.ln=function(){return Xe(this)},u.negated=u.neg=function(){var g=new this.constructor(this);return g.s=-g.s,Ae(g)},u.plus=u.add=function(g){var E,T,s,x,C,U,G,Y,ce,Me,dt=this,_t=dt.constructor;if(g=new _t(g),!dt.d||!g.d)return dt.s&&g.s?dt.d||(g=new _t(g.d||dt.s===g.s?dt:NaN)):g=new _t(NaN),g;if(dt.s!=g.s)return g.s=-g.s,dt.minus(g);if(ce=dt.d,Me=g.d,G=_t.precision,Y=_t.rounding,ce[0]&&Me[0]){if(C=Qe(dt.e/j),s=Qe(g.e/j),ce=ce.slice(),x=C-s){for(U=(x<0?(T=ce,x=-x,Me):(T=Me,s=C,ce)).length,x>(U=(C=Math.ceil(G/j))>U?C+1:U+1)&&(x=U,T.length=1),T.reverse();x--;)T.push(0);T.reverse()}for((U=ce.length)-(x=Me.length)<0&&(x=U,T=Me,Me=ce,ce=T),E=0;x;)E=(ce[--x]=ce[x]+Me[x]+E)/at|0,ce[x]%=at;for(E&&(ce.unshift(E),++s),U=ce.length;ce[--U]==0;)ce.pop();g.d=ce,g.e=it(ce,s)}else Me[0]||(g=new _t(dt));return K?Ae(g,G,Y):g},u.precision=u.sd=function(g){var E;if(g!==void 0&&g!==!!g&&g!==1&&g!==0)throw Error(ve+g);return this.d?(E=Ue(this.d),g&&this.e+1>E&&(E=this.e+1)):E=NaN,E},u.round=function(){var g=this.constructor;return Ae(new g(this),this.e+1,g.rounding)},u.sine=u.sin=function(){var g,E,T=this,s=T.constructor;return T.isFinite()?T.isZero()?new s(T):(g=s.precision,E=s.rounding,s.precision=g+Math.max(T.e,T.sd())+j,s.rounding=1,T=function(x,C){var U,G=C.d.length;if(G<3)return Lt(x,2,C,C);U=16<(U=1.4*Math.sqrt(G))?16:0|U,C=Lt(x,2,C=C.times(1/H(5,U)),C);for(var Y,ce=new x(5),Me=new x(16),dt=new x(20);U--;)Y=C.times(C),C=C.times(ce.plus(Y.times(Me.times(Y).minus(dt))));return C}(s,P(s,T)),s.precision=g,s.rounding=E,Ae(2<l?T.neg():T,g,E,!0)):new s(NaN)},u.squareRoot=u.sqrt=function(){var g,E,T,s,x,C,U=this,G=U.d,Y=U.e,ce=U.s,Me=U.constructor;if(ce!==1||!G||!G[0])return new Me(!ce||ce<0&&(!G||G[0])?NaN:G?U:1/0);for(K=!1,s=(ce=Math.sqrt(+U))==0||ce==1/0?(((E=f(G)).length+Y)%2==0&&(E+="0"),ce=Math.sqrt(E),Y=Qe((Y+1)/2)-(Y<0||Y%2),new Me(E=ce==1/0?"5e"+Y:(E=ce.toExponential()).slice(0,E.indexOf("e")+1)+Y)):new Me(ce.toString()),T=(Y=Me.precision)+3;;)if(s=(C=s).plus(V(U,C,T+2,1)).times(.5),f(C.d).slice(0,T)===(E=f(s.d)).slice(0,T)){if((E=E.slice(T-3,T+1))!="9999"&&(x||E!="4999")){+E&&(+E.slice(1)||E.charAt(0)!="5")||(Ae(s,Y+1,1),g=!s.times(s).eq(U));break}if(!x&&(Ae(C,Y+1,0),C.times(C).eq(U))){s=C;break}T+=4,x=1}return K=!0,Ae(s,Y,Me.rounding,g)},u.tangent=u.tan=function(){var g,E,T=this,s=T.constructor;return T.isFinite()?T.isZero()?new s(T):(g=s.precision,E=s.rounding,s.precision=g+10,s.rounding=1,(T=T.sin()).s=1,T=V(T,new s(1).minus(T.times(T)).sqrt(),g+10,0),s.precision=g,s.rounding=E,Ae(l==2||l==4?T.neg():T,g,E,!0)):new s(NaN)},u.times=u.mul=function(g){var E,T,s,x,C,U,G,Y,ce,Me=this.constructor,dt=this.d,_t=(g=new Me(g)).d;if(g.s*=this.s,!(dt&&dt[0]&&_t&&_t[0]))return new Me(!g.s||dt&&!dt[0]&&!_t||_t&&!_t[0]&&!dt?NaN:dt&&_t?0*g.s:g.s/0);for(T=Qe(this.e/j)+Qe(g.e/j),(Y=dt.length)<(ce=_t.length)&&(C=dt,dt=_t,_t=C,U=Y,Y=ce,ce=U),C=[],s=U=Y+ce;s--;)C.push(0);for(s=ce;0<=--s;){for(E=0,x=Y+s;s<x;)G=C[x]+_t[s]*dt[x-s-1]+E,C[x--]=G%at|0,E=G/at|0;C[x]=(C[x]+E)%at|0}for(;!C[--U];)C.pop();return E?++T:C.shift(),g.d=C,g.e=it(C,T),K?Ae(g,Me.precision,Me.rounding):g},u.toBinary=function(g,E){return B(this,2,g,E)},u.toDecimalPlaces=u.toDP=function(g,E){var T=this.constructor,s=new T(this);return g===void 0?s:(v(g,0,L),E===void 0?E=T.rounding:v(E,0,8),Ae(s,g+s.e+1,E))},u.toExponential=function(g,E){var T=this,s=T.constructor,s=g===void 0?je(T,!0):(v(g,0,L),E===void 0?E=s.rounding:v(E,0,8),je(T=Ae(new s(T),g+1,E),!0,g+1));return T.isNeg()&&!T.isZero()?"-"+s:s},u.toFixed=function(g,x){var T=this,s=T.constructor,x=g===void 0?je(T):(v(g,0,L),x===void 0?x=s.rounding:v(x,0,8),je(s=Ae(new s(T),g+T.e+1,x),!1,g+s.e+1));return T.isNeg()&&!T.isZero()?"-"+x:x},u.toFraction=function(g){var E,T,s,x,C,U,G,Y,ce,Me,dt=this,_t=dt.d,$t=dt.constructor;if(!_t)return new $t(dt);if(Y=T=new $t(1),s=G=new $t(0),ce=(C=(E=new $t(s)).e=Ue(_t)-dt.e-1)%j,E.d[0]=ee(10,ce<0?j+ce:ce),g==null)g=0<C?E:Y;else{if(!(U=new $t(g)).isInt()||U.lt(Y))throw Error(ve+U);g=U.gt(E)?0<C?E:Y:U}for(K=!1,U=new $t(f(_t)),ce=$t.precision,$t.precision=C=_t.length*j*2;Me=V(U,E,0,1,1),(x=T.plus(Me.times(s))).cmp(g)!=1;)T=s,s=x,x=Y,Y=G.plus(Me.times(x)),G=x,x=E,E=U.minus(Me.times(x)),U=x;return x=V(g.minus(T),s,0,1,1),G=G.plus(x.times(Y)),T=T.plus(x.times(s)),G.s=Y.s=dt.s,_t=V(Y,s,C,1).minus(dt).abs().cmp(V(G,T,C,1).minus(dt).abs())<1?[Y,s]:[G,T],$t.precision=ce,K=!0,_t},u.toHexadecimal=u.toHex=function(g,E){return B(this,16,g,E)},u.toNearest=function(g,E){var T=(s=this).constructor,s=new T(s);if(g==null){if(!s.d)return s;g=new T(1),E=T.rounding}else{if(g=new T(g),E===void 0?E=T.rounding:v(E,0,8),!s.d)return g.s?s:g;if(!g.d)return g.s&&(g.s=s.s),g}return g.d[0]?(K=!1,s=V(s,g,0,E,1).times(g),K=!0,Ae(s)):(g.s=s.s,s=g),s},u.toNumber=function(){return+this},u.toOctal=function(g,E){return B(this,8,g,E)},u.toPower=u.pow=function(g){var E,T,s,x,C,U,G=this,Y=G.constructor,ce=+(g=new Y(g));if(!(G.d&&g.d&&G.d[0]&&g.d[0]))return new Y(ee(+G,ce));if((G=new Y(G)).eq(1))return G;if(s=Y.precision,C=Y.rounding,g.eq(1))return Ae(G,s,C);if((E=Qe(g.e/j))>=g.d.length-1&&(T=ce<0?-ce:ce)<=9007199254740991)return x=Ve(Y,G,T,s),g.s<0?new Y(1).div(x):Ae(x,s,C);if((U=G.s)<0){if(E<g.d.length-1)return new Y(NaN);if((1&g.d[E])==0&&(U=1),G.e==0&&G.d[0]==1&&G.d.length==1)return G.s=U,G}return(E=(T=ee(+G,ce))!=0&&isFinite(T)?new Y(T+"").e:Qe(ce*(Math.log("0."+f(G.d))/Math.LN10+G.e+1)))>Y.maxE+1||E<Y.minE-1?new Y(0<E?U/0:0):(K=!1,Y.rounding=G.s=1,T=Math.min(12,(E+"").length),(x=Ct(g.times(Xe(G,s+T)),s)).d&&I((x=Ae(x,s+5,1)).d,s,C)&&+f((x=Ae(Ct(g.times(Xe(G,(E=s+10)+T)),E),E+5,1)).d).slice(s+1,s+15)+1==1e14&&(x=Ae(x,s+1,0)),x.s=U,K=!0,Ae(x,s,Y.rounding=C))},u.toPrecision=function(g,x){var T=this,s=T.constructor,x=g===void 0?je(T,T.e<=s.toExpNeg||T.e>=s.toExpPos):(v(g,1,L),x===void 0?x=s.rounding:v(x,0,8),je(T=Ae(new s(T),g,x),g<=T.e||T.e<=s.toExpNeg,g));return T.isNeg()&&!T.isZero()?"-"+x:x},u.toSignificantDigits=u.toSD=function(g,E){var T=this.constructor;return g===void 0?(g=T.precision,E=T.rounding):(v(g,1,L),E===void 0?E=T.rounding:v(E,0,8)),Ae(new T(this),g,E)},u.toString=function(){var g=this.constructor,g=je(this,this.e<=g.toExpNeg||this.e>=g.toExpPos);return this.isNeg()&&!this.isZero()?"-"+g:g},u.truncated=u.trunc=function(){return Ae(new this.constructor(this),this.e+1,1)},u.valueOf=u.toJSON=function(){var g=this.constructor,g=je(this,this.e<=g.toExpNeg||this.e>=g.toExpPos);return this.isNeg()?"-"+g:g};var V=function(g,E,T,s,x,C){var U,G,Y,ce,Me,dt,_t,$t,i,S,A,W,ke,Fe,ft,St,Vt,zt,oe,$=g.constructor,Ot=g.s==E.s?1:-1,kt=g.d,xt=E.d;if(!(kt&&kt[0]&&xt&&xt[0]))return new $(g.s&&E.s&&(kt?!xt||kt[0]!=xt[0]:xt)?kt&&kt[0]==0||!xt?0*Ot:Ot/0:NaN);for(G=C?(Me=1,g.e-E.e):(C=at,Qe(g.e/(Me=j))-Qe(E.e/Me)),zt=xt.length,St=kt.length,i=(Ot=new $(Ot)).d=[],Y=0;xt[Y]==(kt[Y]||0);Y++);if(xt[Y]>(kt[Y]||0)&&G--,T==null?(ke=T=$.precision,s=$.rounding):ke=x?T+(g.e-E.e)+1:T,ke<0)i.push(1),dt=!0;else{if(ke=ke/Me+2|0,Y=0,zt==1){for(xt=xt[ce=0],ke++;(Y<St||ce)&&ke--;Y++)Fe=ce*C+(kt[Y]||0),i[Y]=Fe/xt|0,ce=Fe%xt|0;dt=ce||Y<St}else{for(1<(ce=C/(xt[0]+1)|0)&&(xt=Q(xt,ce,C),kt=Q(kt,ce,C),zt=xt.length,St=kt.length),ft=zt,A=(S=kt.slice(0,zt)).length;A<zt;)S[A++]=0;for((oe=xt.slice()).unshift(0),Vt=xt[0],xt[1]>=C/2&&++Vt;ce=0,(U=le(xt,S,zt,A))<0?(W=S[0],1<(ce=(W=zt!=A?W*C+(S[1]||0):W)/Vt|0)?(U=le(_t=Q(xt,ce=C<=ce?C-1:ce,C),S,$t=_t.length,A=S.length))==1&&(ce--,ye(_t,zt<$t?oe:xt,$t,C)):(ce==0&&(U=ce=1),_t=xt.slice()),($t=_t.length)<A&&_t.unshift(0),ye(S,_t,A,C),U==-1&&(U=le(xt,S,zt,A=S.length))<1&&(ce++,ye(S,zt<A?oe:xt,A,C)),A=S.length):U===0&&(ce++,S=[0]),i[Y++]=ce,U&&S[0]?S[A++]=kt[ft]||0:(S=[kt[ft]],A=1),(ft++<St||S[0]!==void 0)&&ke--;);dt=S[0]!==void 0}i[0]||i.shift()}if(Me==1)Ot.e=G,r=dt;else{for(Y=1,ce=i[0];10<=ce;ce/=10)Y++;Ot.e=Y+G*Me-1,Ae(Ot,x?T+Ot.e+1:T,s,dt)}return Ot};function Q(g,E,T){var s,x=0,C=g.length;for(g=g.slice();C--;)s=g[C]*E+x,g[C]=s%T|0,x=s/T|0;return x&&g.unshift(x),g}function le(g,E,T,s){var x,C;if(T!=s)C=s<T?1:-1;else for(x=C=0;x<T;x++)if(g[x]!=E[x]){C=g[x]>E[x]?1:-1;break}return C}function ye(g,E,T,s){for(var x=0;T--;)g[T]-=x,x=g[T]<E[T]?1:0,g[T]=x*s+g[T]-E[T];for(;!g[0]&&1<g.length;)g.shift()}function Ae(g,E,T,s){var x,C,U,G,Y,ce,Me,dt,_t=g.constructor;e:if(E!=null){if(!(Me=g.d))return g;for(x=1,G=Me[0];10<=G;G/=10)x++;if((C=E-x)<0)C+=j,U=E,Y=(ce=Me[dt=0])/ee(10,x-U-1)%10|0;else if((dt=Math.ceil((C+1)/j))>=(G=Me.length)){if(!s)break e;for(;G++<=dt;)Me.push(0);ce=Y=0,U=(C%=j)-j+(x=1)}else{for(ce=G=Me[dt],x=1;10<=G;G/=10)x++;Y=(U=(C%=j)-j+x)<0?0:ce/ee(10,x-U-1)%10|0}if(s=s||E<0||Me[dt+1]!==void 0||(U<0?ce:ce%ee(10,x-U-1)),Y=T<4?(Y||s)&&(T==0||T==(g.s<0?3:2)):5<Y||Y==5&&(T==4||s||T==6&&(0<C?0<U?ce/ee(10,x-U):0:Me[dt-1])%10&1||T==(g.s<0?8:7)),E<1||!Me[0])return Me.length=0,Y?(E-=g.e+1,Me[0]=ee(10,(j-E%j)%j),g.e=-E||0):Me[0]=g.e=0,g;if(C==0?(Me.length=dt,G=1,dt--):(Me.length=dt+1,G=ee(10,j-C),Me[dt]=0<U?(ce/ee(10,x-U)%ee(10,U)|0)*G:0),Y)for(;;){if(dt==0){for(C=1,U=Me[0];10<=U;U/=10)C++;for(U=Me[0]+=G,G=1;10<=U;U/=10)G++;C!=G&&(g.e++,Me[0]==at&&(Me[0]=1));break}if(Me[dt]+=G,Me[dt]!=at)break;Me[dt--]=0,G=1}for(C=Me.length;Me[--C]===0;)Me.pop()}return K&&(g.e>_t.maxE?(g.d=null,g.e=NaN):g.e<_t.minE&&(g.e=0,g.d=[0])),g}function je(g,E,T){var s,x,C,U;return g.isFinite()?(x=g.e,U=(C=f(g.d)).length,E?(T&&0<(s=T-U)?C=C.charAt(0)+"."+C.slice(1)+Le(s):1<U&&(C=C.charAt(0)+"."+C.slice(1)),C=C+(g.e<0?"e":"e+")+g.e):x<0?(C="0."+Le(-x-1)+C,T&&0<(s=T-U)&&(C+=Le(s))):U<=x?(C+=Le(x+1-U),T&&0<(s=T-x-1)&&(C=C+"."+Le(s))):((s=x+1)<U&&(C=C.slice(0,s)+"."+C.slice(s)),T&&0<(s=T-U)&&(x+1===U&&(C+="."),C+=Le(s))),C):he(g)}function it(g,E){var T=g[0];for(E*=j;10<=T;T/=10)E++;return E}function yt(g,E,T){if(d<E)throw K=!0,T&&(g.precision=T),Error(De);return Ae(new g(_),E,1,!0)}function me(g,E,T){if(c<E)throw Error(De);return Ae(new g(R),E,T,!0)}function Ue(g){var E=g.length-1,T=E*j+1;if(E=g[E]){for(;E%10==0;E/=10)T--;for(E=g[0];10<=E;E/=10)T++}return T}function Le(g){for(var E="";g--;)E+="0";return E}function Ve(g,E,T,s){var x,C=new g(1),U=Math.ceil(s/j+4);for(K=!1;;){if(T%2&&fe((C=C.times(E)).d,U)&&(x=!0),(T=Qe(T/2))===0){T=C.d.length-1,x&&C.d[T]===0&&++C.d[T];break}fe((E=E.times(E)).d,U)}return K=!0,C}function lt(g){return 1&g.d[g.d.length-1]}function Nt(g,E,T){for(var s,x=new g(E[0]),C=0;++C<E.length;){if(!(s=new g(E[C])).s){x=s;break}x[T](s)&&(x=s)}return x}function Ct(g,E){var T,s,x,C,U,G,Y,ce=0,Me=0,dt=0,_t=g.constructor,$t=_t.rounding,i=_t.precision;if(!g.d||!g.d[0]||17<g.e)return new _t(g.d?g.d[0]?g.s<0?0:1/0:1:g.s?g.s<0?0:g:NaN);for(Y=E==null?(K=!1,i):E,G=new _t(.03125);-2<g.e;)g=g.times(G),dt+=5;for(Y+=s=Math.log(ee(2,dt))/Math.LN10*2+5|0,T=C=U=new _t(1),_t.precision=Y;;){if(C=Ae(C.times(g),Y,1),T=T.times(++Me),f((G=U.plus(V(C,T,Y,1))).d).slice(0,Y)===f(U.d).slice(0,Y)){for(x=dt;x--;)U=Ae(U.times(U),Y,1);if(E!=null)return _t.precision=i,U;if(!(ce<3&&I(U.d,Y-s,$t,ce)))return Ae(U,_t.precision=i,$t,K=!0);_t.precision=Y+=10,T=C=G=new _t(1),Me=0,ce++}U=G}}function Xe(g,E){var T,s,x,C,U,G,Y,ce,Me,dt,_t,$t=1,i=g,S=i.d,A=i.constructor,W=A.rounding,ke=A.precision;if(i.s<0||!S||!S[0]||!i.e&&S[0]==1&&S.length==1)return new A(S&&!S[0]?-1/0:i.s!=1?NaN:S?0:i);if(Me=E==null?(K=!1,ke):E,A.precision=Me+=10,s=(T=f(S)).charAt(0),!(Math.abs(C=i.e)<15e14))return ce=yt(A,Me+2,ke).times(C+""),i=Xe(new A(s+"."+T.slice(1)),Me-10).plus(ce),A.precision=ke,E==null?Ae(i,ke,W,K=!0):i;for(;s<7&&s!=1||s==1&&3<T.charAt(1);)s=(T=f((i=i.times(g)).d)).charAt(0),$t++;for(C=i.e,1<s?(i=new A("0."+T),C++):i=new A(s+"."+T.slice(1)),Y=U=i=V((dt=i).minus(1),i.plus(1),Me,1),_t=Ae(i.times(i),Me,1),x=3;;){if(U=Ae(U.times(_t),Me,1),f((ce=Y.plus(V(U,new A(x),Me,1))).d).slice(0,Me)===f(Y.d).slice(0,Me)){if(Y=Y.times(2),C!==0&&(Y=Y.plus(yt(A,Me+2,ke).times(C+""))),Y=V(Y,new A($t),Me,1),E!=null)return A.precision=ke,Y;if(!I(Y.d,Me-10,W,G))return Ae(Y,A.precision=ke,W,K=!0);A.precision=Me+=10,ce=U=i=V(dt.minus(1),dt.plus(1),Me,1),_t=Ae(i.times(i),Me,1),x=G=1}Y=ce,x+=2}}function he(g){return String(g.s*g.s/0)}function et(g,E){var T,s,x;for(0<(s=(E=-1<(T=E.indexOf("."))?E.replace(".",""):E).search(/e/i))?(T<0&&(T=s),T+=+E.slice(s+1),E=E.substring(0,s)):T<0&&(T=E.length),s=0;E.charCodeAt(s)===48;s++);for(x=E.length;E.charCodeAt(x-1)===48;--x);if(E=E.slice(s,x)){if(x-=s,g.e=T=T-s-1,g.d=[],s=(T+1)%j,T<0&&(s+=j),s<x){for(s&&g.d.push(+E.slice(0,s)),x-=j;s<x;)g.d.push(+E.slice(s,s+=j));E=E.slice(s),s=j-E.length}else s-=x;for(;s--;)E+="0";g.d.push(+E),K&&(g.e>g.constructor.maxE?(g.d=null,g.e=NaN):g.e<g.constructor.minE&&(g.e=0,g.d=[0]))}else g.e=0,g.d=[0];return g}function Lt(g,E,T,s,x){var C,U,G,Y,ce=g.precision,Me=Math.ceil(ce/j);for(K=!1,Y=T.times(T),G=new g(s);;){if(U=V(G.times(Y),new g(E++*E++),ce,1),G=x?s.plus(U):s.minus(U),s=V(U.times(Y),new g(E++*E++),ce,1),(U=G.plus(s)).d[Me]!==void 0){for(C=Me;U.d[C]===G.d[C]&&C--;);if(C==-1)break}C=G,G=s,s=U,U=C}return K=!0,U.d.length=Me+1,U}function H(g,E){for(var T=g;--E;)T*=g;return T}function P(x,E){var T,s=E.s<0,x=me(x,x.precision,1),C=x.times(.5);if((E=E.abs()).lte(C))return l=s?4:1,E;if((T=E.divToInt(x)).isZero())l=s?3:2;else{if((E=E.minus(T.times(x))).lte(C))return l=lt(T)?s?2:3:s?4:1,E;l=lt(T)?s?1:4:s?3:2}return E.minus(x).abs()}function B(g,E,T,s){var x,C,U,G,Y,ce,Me,dt,_t=g.constructor,$t=T!==void 0;if($t?(v(T,1,L),s===void 0?s=_t.rounding:v(s,0,8)):(T=_t.precision,s=_t.rounding),g.isFinite()){for($t?(x=2,E==16?T=4*T-3:E==8&&(T=3*T-2)):x=E,0<=(U=(ce=je(g)).indexOf("."))&&(ce=ce.replace(".",""),(dt=new _t(1)).e=ce.length-U,dt.d=q(je(dt),10,x),dt.e=dt.d.length),C=G=(Me=q(ce,10,x)).length;Me[--G]==0;)Me.pop();if(Me[0]){if(U<0?C--:((g=new _t(g)).d=Me,g.e=C,Me=(g=V(g,dt,T,s,0,x)).d,C=g.e,Y=r),U=Me[T],_t=x/2,Y=Y||Me[T+1]!==void 0,Y=s<4?(U!==void 0||Y)&&(s===0||s===(g.s<0?3:2)):_t<U||U===_t&&(s===4||Y||s===6&&1&Me[T-1]||s===(g.s<0?8:7)),Me.length=T,Y)for(;++Me[--T]>x-1;)Me[T]=0,T||(++C,Me.unshift(1));for(G=Me.length;!Me[G-1];--G);for(U=0,ce="";U<G;U++)ce+=M.charAt(Me[U]);if($t){if(1<G)if(E==16||E==8){for(U=E==16?4:3,--G;G%U;G++)ce+="0";for(G=(Me=q(ce,x,E)).length;!Me[G-1];--G);for(U=1,ce="1.";U<G;U++)ce+=M.charAt(Me[U])}else ce=ce.charAt(0)+"."+ce.slice(1);ce=ce+(C<0?"p":"p+")+C}else if(C<0){for(;++C;)ce="0"+ce;ce="0."+ce}else if(++C>G)for(C-=G;C--;)ce+="0";else C<G&&(ce=ce.slice(0,C)+"."+ce.slice(C))}else ce=$t?"0p+0":"0";ce=(E==16?"0x":E==2?"0b":E==8?"0o":"")+ce}else ce=he(g);return g.s<0?"-"+ce:ce}function fe(g,E){return g.length>E&&(g.length=E,1)}function pe(g){return new this(g).abs()}function ue(g){return new this(g).acos()}function st(g){return new this(g).acosh()}function se(g,E){return new this(g).plus(E)}function te(g){return new this(g).asin()}function D(g){return new this(g).asinh()}function re(g){return new this(g).atan()}function J(g){return new this(g).atanh()}function Ee(g,E){g=new this(g),E=new this(E);var T,s=this.precision,x=this.rounding,C=s+4;return g.s&&E.s?g.d||E.d?!E.d||g.isZero()?(T=E.s<0?me(this,s,x):new this(0)).s=g.s:!g.d||E.isZero()?(T=me(this,C,1).times(.5)).s=g.s:T=E.s<0?(this.precision=C,this.rounding=1,T=this.atan(V(g,E,C,1)),E=me(this,C,1),this.precision=s,this.rounding=x,g.s<0?T.minus(E):T.plus(E)):this.atan(V(g,E,C,1)):(T=me(this,C,1).times(0<E.s?.25:.75)).s=g.s:T=new this(NaN),T}function xe(g){return new this(g).cbrt()}function Ce(g){return Ae(g=new this(g),g.e+1,2)}function Ke(g){if(!g||typeof g!="object")throw Error(de+"Object expected");for(var E,T,s=g.defaults===!0,x=["precision",1,L,"rounding",0,8,"toExpNeg",-h,0,"toExpPos",0,h,"maxE",0,h,"minE",-h,0,"modulo",0,9],C=0;C<x.length;C+=3)if(E=x[C],s&&(this[E]=ie[E]),(T=g[E])!==void 0){if(!(Qe(T)===T&&x[C+1]<=T&&T<=x[C+2]))throw Error(ve+E+": "+T);this[E]=T}if(E="crypto",s&&(this[E]=ie[E]),(T=g[E])!==void 0){if(T!==!0&&T!==!1&&T!==0&&T!==1)throw Error(ve+E+": "+T);if(T){if(typeof crypto=="undefined"||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(Ie);this[E]=!0}else this[E]=!1}return this}function Ne(g){return new this(g).cos()}function We(g){return new this(g).cosh()}function ae(g,E){return new this(g).div(E)}function Ge(g){return new this(g).exp()}function He(g){return Ae(g=new this(g),g.e+1,3)}function ge(){var g,E,T=new this(0);for(K=!1,g=0;g<arguments.length;)if((E=new this(arguments[g++])).d)T.d&&(T=T.plus(E.times(E)));else{if(E.s)return K=!0,new this(1/0);T=E}return K=!0,T.sqrt()}function Je(g){return g instanceof e||g&&g.name==="[object Decimal]"||!1}function gt(g){return new this(g).ln()}function ne(g,E){return new this(g).log(E)}function Se(g){return new this(g).log(2)}function qe(g){return new this(g).log(10)}function Be(){return Nt(this,arguments,"lt")}function ct(){return Nt(this,arguments,"gt")}function wt(g,E){return new this(g).mod(E)}function Mt(g,E){return new this(g).mul(E)}function qt(g,E){return new this(g).pow(E)}function Ft(g){var E,T,s,x,C=0,U=new this(1),G=[];if(g===void 0?g=this.precision:v(g,1,L),s=Math.ceil(g/j),this.crypto)if(crypto.getRandomValues)for(E=crypto.getRandomValues(new Uint32Array(s));C<s;)429e7<=(x=E[C])?E[C]=crypto.getRandomValues(new Uint32Array(1))[0]:G[C++]=x%1e7;else{if(!crypto.randomBytes)throw Error(Ie);for(E=crypto.randomBytes(s*=4);C<s;)214e7<=(x=E[C]+(E[C+1]<<8)+(E[C+2]<<16)+((127&E[C+3])<<24))?crypto.randomBytes(4).copy(E,C):(G.push(x%1e7),C+=4);C=s/4}else for(;C<s;)G[C++]=1e7*Math.random()|0;for(s=G[--C],g%=j,s&&g&&(x=ee(10,j-g),G[C]=(s/x|0)*x);G[C]===0;C--)G.pop();if(C<0)G=[T=0];else{for(T=-1;G[0]===0;T-=j)G.shift();for(s=1,x=G[0];10<=x;x/=10)s++;s<j&&(T-=j-s)}return U.e=T,U.d=G,U}function Tt(g){return Ae(g=new this(g),g.e+1,this.rounding)}function Ze(g){return(g=new this(g)).d?g.d[0]?g.s:0*g.s:g.s||NaN}function ht(g){return new this(g).sin()}function Et(g){return new this(g).sinh()}function Pt(g){return new this(g).sqrt()}function Ye(g,E){return new this(g).sub(E)}function nt(g){return new this(g).tan()}function O(g){return new this(g).tanh()}function Z(g){return Ae(g=new this(g),g.e+1,1)}return(e=function g(E){var T,s,x;function C(U){var G,Y,ce,Me=this;if(!(Me instanceof C))return new C(U);if(!(U instanceof(Me.constructor=C))){if((ce=typeof U)=="number"){if(U===0)return Me.s=1/U<0?-1:1,Me.e=0,void(Me.d=[0]);if(U<0?(U=-U,Me.s=-1):Me.s=1,U===~~U&&U<1e7){for(G=0,Y=U;10<=Y;Y/=10)G++;return void(K?C.maxE<G?(Me.e=NaN,Me.d=null):G<C.minE?(Me.e=0,Me.d=[0]):(Me.e=G,Me.d=[U]):(Me.e=G,Me.d=[U]))}return 0*U!=0?(U||(Me.s=NaN),Me.e=NaN,void(Me.d=null)):et(Me,U.toString())}if(ce!="string")throw Error(ve+U);return(Y=U.charCodeAt(0))===45?(U=U.slice(1),Me.s=-1):(Y===43&&(U=U.slice(1)),Me.s=1),(ut.test(U)?et:function(dt,_t){var $t,i,S,A,W,ke,Fe,ft;if(_t==="Infinity"||_t==="NaN")return+_t||(dt.s=NaN),dt.e=NaN,dt.d=null,dt;if(ze.test(_t))$t=16,_t=_t.toLowerCase();else if(Te.test(_t))$t=2;else{if(!Oe.test(_t))throw Error(ve+_t);$t=8}for(W=0<=(A=(_t=0<(A=_t.search(/p/i))?(Fe=+_t.slice(A+1),_t.substring(2,A)):_t.slice(2)).indexOf(".")),i=dt.constructor,W&&(A=(ke=(_t=_t.replace(".","")).length)-A,S=Ve(i,new i($t),A,2*A)),A=_t=(ft=q(_t,$t,at)).length-1;ft[A]===0;--A)ft.pop();return A<0?new i(0*dt.s):(dt.e=it(ft,_t),dt.d=ft,K=!1,W&&(dt=V(dt,S,4*ke)),Fe&&(dt=dt.times(Math.abs(Fe)<54?ee(2,Fe):e.pow(2,Fe))),K=!0,dt)})(Me,U)}Me.s=U.s,K?!U.d||U.e>C.maxE?(Me.e=NaN,Me.d=null):U.e<C.minE?(Me.e=0,Me.d=[0]):(Me.e=U.e,Me.d=U.d.slice()):(Me.e=U.e,Me.d=U.d&&U.d.slice())}if(C.prototype=u,C.ROUND_UP=0,C.ROUND_DOWN=1,C.ROUND_CEIL=2,C.ROUND_FLOOR=3,C.ROUND_HALF_UP=4,C.ROUND_HALF_DOWN=5,C.ROUND_HALF_EVEN=6,C.ROUND_HALF_CEIL=7,C.ROUND_HALF_FLOOR=8,C.EUCLID=9,C.config=C.set=Ke,C.clone=g,C.isDecimal=Je,C.abs=pe,C.acos=ue,C.acosh=st,C.add=se,C.asin=te,C.asinh=D,C.atan=re,C.atanh=J,C.atan2=Ee,C.cbrt=xe,C.ceil=Ce,C.cos=Ne,C.cosh=We,C.div=ae,C.exp=Ge,C.floor=He,C.hypot=ge,C.ln=gt,C.log=ne,C.log10=qe,C.log2=Se,C.max=Be,C.min=ct,C.mod=wt,C.mul=Mt,C.pow=qt,C.random=Ft,C.round=Tt,C.sign=Ze,C.sin=ht,C.sinh=Et,C.sqrt=Pt,C.sub=Ye,C.tan=nt,C.tanh=O,C.trunc=Z,(E=E===void 0?{}:E)&&E.defaults!==!0)for(x=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],T=0;T<x.length;)E.hasOwnProperty(s=x[T++])||(E[s]=this[s]);return C.config(E),C}(ie)).default=e.Decimal=e,_=new e(_),R=new e(R),typeof define=="function"&&define.amd?define(function(){return e}):typeof ti!="undefined"&&ti.exports?(typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"&&(u[Symbol.for("nodejs.util.inspect.custom")]=u.toString,u[Symbol.toStringTag]="Decimal"),ti.exports=e):(t=t||(typeof self!="undefined"&&self&&self.self==self?self:window),a=t.Decimal,e.noConflict=function(){return t.Decimal=a,e},t.Decimal=e),e}(P7)});typeof ti!="undefined"&&(ti.exports=fr),typeof ti!="undefined"&&(fr=N0(),V0()),function(){"use strict";var t=fr.getCore(),e=t.PARSER,r=t.groups.N,a=t.groups.P,l=t.groups.S,h=t.groups.EX,L=t.groups.FN,M=t.groups.PL,_=t.groups.CP,R=t.groups.CB,ie=t.Utils.keys,K=t.Utils.even,de=t.Utils.variables,ve=t.Utils.format,De=t.Utils.round,Ie=t.Frac,Qe=t.Utils.isInt,ee=t.Symbol,Te=t.Settings.CONST_HASH,ze=t.Utils.importFunctions();t.Utils.evaluate;function Oe(d,c,u){if(t.Utils.isSymbol(d))this.parse(d),this.variable=this.variable||c;else if(isNaN(d))typeof d=="string"&&this.parse(e.parse(d));else{if(u=u||0,c===void 0)throw new t.exceptions.InvalidVariableNameError("Polynomial expects a variable name when creating using order");this.coeffs=[],this.coeffs[u]=d,this.fill(d)}}function ut(){this.factors={},this.length=0}function at(d,c,u){this.terms=c||[],this.coeff=d,this.map=u,this.sum=new t.Frac(0),this.image=void 0}Oe.fromArray=function(d,c){if(c===void 0)throw new t.exceptions.InvalidVariableNameError("A variable name must be specified when creating polynomial from array");var u=new Oe;return u.coeffs=d,u.variable=c,u},Oe.fit=function(d,c,u,f,v,I){var q=new Array(v+1),V=u-c;q[0]=c,V-=(q[v]=d)*Math.pow(f,v);for(var Q=v-1;0<Q;Q--){var le=Math.pow(f,Q),ye=V/le,ye=Math.sign(ye)*Math.floor(Math.abs(ye));V-=ye*le,q[Q]=ye}if(V!==0)return null;for(Q=0;Q<q.length;Q++)q[Q]=new Ie(q[Q]);return Oe.fromArray(q,I)},Oe.prototype={parse:function(d,c){if(this.variable=de(d)[0],!d.isPoly())throw t.exceptions.NerdamerTypeError("Polynomial Expected! Received "+t.Utils.text(d));if(c=c||[],(d=d.power.absEquals(1)?d:e.expand(d)).group===t.groups.N)c[0]=d.multiplier;else if(d.group===t.groups.S)c[d.power.toDecimal()]=d.multiplier;else for(var u in d.symbols){var u=d.symbols[u],f=u.power;if(t.Utils.isSymbol(f))throw new t.exceptions.NerdamerTypeError("power cannot be a Symbol");f=u.group===r?0:f.toDecimal(),u.symbols?this.parse(u,c):c[f]=u.multiplier}this.coeffs=c,this.fill()},fill:function(d){d=Number(d)||0;for(var c=this.coeffs.length,u=0;u<c;u++)this.coeffs[u]===void 0&&(this.coeffs[u]=new Ie(d));return this},trim:function(){for(var d=this.coeffs.length;d--;){var c=this.coeffs[d],u=c.equals(0);if(!c||!u||d===0)break;this.coeffs.pop()}return this},modP:function(d){for(var c=this.coeffs.length,u=0;u<c;u++){var Q=this.coeffs[u];if(Q<0){for(var f,v=u;v<c;v++)if(0<this.coeffs[v]){f=this.coeffs[v];break}if(f){for(;u<v;v--)this.coeffs[v]=this.coeffs[v].subtract(new Ie(1)),this.coeffs[v-1]=this.coeffs[v-1].add(new Ie(d));Q=this.coeffs[u]}}var I,q,V=Q.mod(d),Q=Q.subtract(V).divide(d);Q.equals(0)||(q=(q=this.coeffs[I=u+1]||new Ie(0)).add(Q),this.coeffs[I]=new Ie(q),this.coeffs[u]=new Ie(V))}return this},add:function(d){for(var c=Math.max(this.coeffs.length,d.coeffs.length),u=0;u<c;u++){var f=this.coeffs[u]||new Ie(0),v=d.coeffs[u]||new Ie(0);this.coeffs[u]=f.add(v)}return this},subtract:function(d){for(var c=Math.max(this.coeffs.length,d.coeffs.length),u=0;u<c;u++){var f=this.coeffs[u]||new Ie(0),v=d.coeffs[u]||new Ie(0);this.coeffs[u]=f.subtract(v)}return this},divide:function(d){for(var c=this.variable,u=t.Utils.arrayClone(this.coeffs),f=t.Utils.arrayClone(d.coeffs),v=u.length,I=f.length-1,q=[],V=0;V<v;V++){var Q=v-(V+1),le=Q-I,ye=u[Q].divide(f[I]);if(le<0)break;q[le]=ye;for(var Ae=0;Ae<=I;Ae++)u[Ae+le]=u[Ae+le].subtract(f[Ae].multiply(ye))}return d=Oe.fromArray(u,c||"x").trim(),[Oe.fromArray(q,c||"x"),d]},multiply:function(d){for(var c=this.coeffs.length,u=d.coeffs.length,f=[],v=0;v<c;v++)for(var I=this.coeffs[v],q=0;q<u;q++){var V=v+q,Q=d.coeffs[q],le=f[V]||new Ie(0);f[V]=le.add(I.multiply(Q))}return this.coeffs=f,this},isZero:function(){for(var d=this.coeffs.length,c=0;c<d;c++)if(!this.coeffs[c].equals(0))return!1;return!0},sub:function(d){for(var c=new Ie(0),u=this.coeffs.length,f=0;f<u;f++){var v=this.coeffs[f];v.equals(0)||(c=c.add(v.multiply(new Ie(Math.pow(d,f)))))}return c},clone:function(){var d=new Oe;return d.coeffs=this.coeffs,d.variable=this.variable,d},deg:function(){return this.trim(),this.coeffs.length-1},lc:function(){return this.coeffs[this.deg()].clone()},monic:function(){for(var d=this.lc(),c=this.coeffs.length,u=0;u<c;u++)this.coeffs[u]=this.coeffs[u].divide(d);return this},gcd:function(d){if(this.coeffs.length-1<d.coeffs.length-1)return d.gcd(this);for(var c=this;!d.isZero();){var u=d.clone();d=(c=c.clone()).divide(u)[1],c=u}var f=t.Math2.QGCD.apply(null,c.coeffs);if(!f.equals(1))for(var v=c.coeffs.length,I=0;I<v;I++)c.coeffs[I]=c.coeffs[I].divide(f);return c},diff:function(){for(var d=[],c=this.coeffs.length,u=1;u<c;u++)d.push(this.coeffs[u].multiply(new Ie(u)));return this.coeffs=d,this},integrate:function(){for(var d=[0],c=this.coeffs.length,u=0;u<c;u++){var f=new Ie(u+1);d[f]=this.coeffs[u].divide(f)}return this.coeffs=d,this},gcf:function(d){for(var c=[],u=0;u<this.coeffs.length;u++){var f=this.coeffs[u];f.equals(0)||c.indexOf(f)!==-1||c.push(f)}var v=[t.Math2.QGCD.apply(void 0,c),function(I){for(var q=0;q<I.length;q++)if(!I[q].equals(0))return q}(this.coeffs)].toDecimal();return d&&((d=[])[v[1]-1]=v[0],v=Oe.fromArray(d,this.variable).fill()),v},quad:function(d){var c=[];if(3<this.coeffs.length)throw new Error("Cannot calculate quadratic order of "+(this.coeffs.length-1));if(this.coeffs.length===0)throw new Error("Polynomial array has no terms");var u=this.coeffs[2]||0,f=this.coeffs[1]||0,v=f*f-4*u*this.coeffs[0];return v<0&&!d||(c[0]=(-f+Math.sqrt(v))/(2*u),c[1]=(-f-Math.sqrt(v))/(2*u)),c},squareFree:function(){for(var d=this.clone(),c=1,u=d.clone().diff(),f=d.clone().gcd(u),v=d.divide(f)[0],I=Oe.fromArray([new Ie(1)],d.variable);!f.equalsNumber(1);){var q=v.gcd(f),V=v.divide(q)[0];if(!V.equalsNumber(1)&&1<c){for(var Q=V.clone(),le=1;le<c;le++)Q.multiply(V.clone());V=Q}I=I.multiply(V),c++,f=f.divide(v=q)[0]}return[I,v,c]},toSymbol:function(){var d=this.coeffs.length,c=this.variable;if(d===0)return new t.Symbol(0);for(var u=d-1,f="",v=0;v<d;v++){var I=v===u?"":"+",q=this.coeffs[v];q.equals(0)||(f+=q+"*"+c+"^"+v+I)}return e.parse(f)},equalsNumber:function(d){return this.trim(),this.coeffs.length===1&&this.coeffs[0].toDecimal()===String(d)},toString:function(){return this.toSymbol().toString()}},ee.prototype.coeffs=function(d,c){c&&!this.isPoly(!0)&&e.error("Polynomial expected when requesting coefficients with order"),d=d||[];var u,f=this.clone().distributeMultiplier();if(f.isComposite())for(var v in f.symbols)v=f.symbols[v],v.isComposite()?v.clone().distributeMultiplier().coeffs(d,c):c?d[v.isConstant()?0:v.power.toDecimal()]=v.multiplier:d.push(v.multiplier);else c?d[f.isConstant(!0)?0:f.power.toDecimal()]=f.multiplier:f.group===R&&f.isImaginary()?(u=new ee(f.multiplier),f.each(function(q){(q.isConstant(!0)||q.imaginary)&&(u=e.multiply(u,q))}),d.push(u)):d.push(f.multiplier);if(c)for(var I=0;I<d.length;I++)d[I]===void 0&&(d[I]=new ee(0));return d},ee.prototype.tBase=function(d){if(d===void 0)throw new Error("Symbol.tBase requires a map object!");for(var c=[],u=this.collectSymbols(null,null,null,!0),f=u.length,v=0;v<f;v++){var I=u[v],q=I.group,V=new at(I.multiplier,[],d);if(q===R)for(var Q in I.symbols){var le=I.symbols[Q];V.terms[d[Q]]=le.power}else V.terms[d[I.value]]=I.power;c.push(V.fill()),V.updateCount()}return c},ee.prototype.altVar=function(d){var c=this.multiplier.toString(),u=this.power.toString();return(c==="1"?"":c+"*")+d+(u==="1"?"":"^"+u)},ee.prototype.sameVars=function(d){if(!this.symbols&&this.group!==d.group)return!1;for(var c in this.symbols){var u=this.symbols[c],c=d.symbols[c];if(!c||u.value!==c.value)return!1}return!0},ee.prototype.groupTerms=function(d){d=String(d);var c,u,f,v=[];return this.each(function(I){if(I.group===M){f=I.groupTerms(d);for(var q=0;q<f.length;q++){var V=f[q];V&&(v[q]=V)}}else c=t.Utils.decompose_fn(I,d,!0),u=c.x.value===d?Number(c.x.power):0,v[u]=e.add(v[u]||new ee(0),c.a)}),v},ee.prototype.collectFactors=function(){var d=[];return this.group===R?this.each(function(c){d.push(c.clone())}):d.push(this.clone()),d},ut.prototype.getNumberSymbolics=function(){var d=0;return this.each(function(c){c.isConstant(!0)||d++}),d},ut.prototype.add=function(d){if(!d.equals(0))if(d.equals(-1)&&0<this.length)u=t.Utils.firstObject(this.factors,null,!0),this.add(e.symfunction(t.Settings.PARENTHESIS,[u.obj]).negate()),delete this.factors[u.key],this.length--;else if(d.group===R){var c=this;d.multiplier.equals(1)||c.add(new ee(d.multiplier)),d.each(function(f){c.add(f)})}else{this.preAdd&&(d=this.preAdd(d));var u=(d=this.pFactor?e.pow(d,new ee(this.pFactor)):d).isConstant();if(u&&d.equals(1))return this;u=u?d.value:d.text(),u in this.factors?(this.factors[u]=e.multiply(this.factors[u],d),this.factors[u].equals(1)&&(delete this.factors[u],this.length--)):(this.factors[u]=d,this.length++)}return this},ut.prototype.toSymbol=function(){for(var v=new ee(1),d=Object.values(this.factors).sort(function(I,q){return I.group>q.group}),c=0,u=d.length;c<u;c++)var f=d[c],f=f.power.equals(1)&&f.fname!==""?e.symfunction(t.PARENTHESIS,[f]):f,v=e.multiply(v,f);return v=v.fname===""?ee.unwrapPARENS(v):v},ut.prototype.merge=function(d){for(var c in d)c in this.factors?this.factors[c]=e.multiply(this.factors[c],d[c]):this.factors[c]=d[c];return this},ut.prototype.each=function(d){for(var c in this.factors){var u=this.factors[c];u.fname===t.PARENTHESIS&&u.isLinear()&&(u=u.args[0]),d.call(this,u,c)}return this},ut.prototype.count=function(){return ie(this.factors).length},ut.prototype.clean=function(){try{var d=t.Settings.CONST_HASH;this.factors[d].lessThan(0)&&(this.factors[d].equals(-1)?delete this.factors[d]:this.factors[d].negate(),this.each(function(c){c.negate()}))}catch(c){}},ut.prototype.toString=function(){return this.toSymbol().toString()},at.prototype.updateCount=function(){this.count=this.count||0;for(var d=0;d<this.terms.length;d++)this.terms[d].equals(0)||this.count++;return this},at.prototype.getVars=function(){for(var d=[],c=0;c<this.terms.length;c++){var u=this.terms[c];this.getRevMap(),u.equals(0)||d.push(this.rev_map[c])}return d.join(" ")},at.prototype.len=function(){return this.count===void 0&&this.updateCount(),this.count},at.prototype.toSymbol=function(d){d=d||this.getRevMap();for(var c=new ee(this.coeff),u=0;u<this.terms.length;u++){var f=d[u],v=this.terms[u];v.equals(0)||f===Te||((f=new ee(f)).power=v,c=e.multiply(c,f))}return c},at.prototype.getRevMap=function(){if(this.rev_map)return this.rev_map;var d,c={};for(d in this.map)c[this.map[d]]=d;return this.rev_map=c},at.prototype.generateImage=function(){return this.image=this.terms.join(" "),this},at.prototype.getImg=function(){return this.image||this.generateImage(),this.image},at.prototype.fill=function(){for(var d=this.map.length,c=0;c<d;c++)this.terms[c]===void 0?this.terms[c]=new t.Frac(0):this.sum=this.sum.add(this.terms[c]);return this},at.prototype.divide=function(d){for(var c=this.coeff.divide(d.coeff),u=this.terms.length,f=new at(c,[],this.map),v=0;v<u;v++)f.terms[v]=this.terms[v].subtract(d.terms[v]),f.sum=f.sum.add(f.terms[v]);return f},at.prototype.multiply=function(d){for(var c=this.coeff.multiply(d.coeff),u=this.terms.length,f=new at(c,[],this.map),v=0;v<u;v++)f.terms[v]=this.terms[v].add(d.terms[v]),f.sum=f.sum.add(f.terms[v]);return f},at.prototype.isZero=function(){return this.coeff.equals(0)},at.prototype.toString=function(){return"{ coeff: "+this.coeff.toString()+", terms: ["+this.terms.join(",")+"]: sum: "+this.sum.toString()+", count: "+this.count+"}"},t.Utils.toMapObj=function(d){for(var c=0,u={},f=0;f<d.length;f++){var v=d[f];u[v]===void 0&&(u[v]=c,c++)}return u.length=c,u},t.Utils.filledArray=function(d,c,u){for(var f=[];c--;)f[c]=u?new u(d):d;return f},t.Utils.arrSum=function(d){for(var c=0,u=d.length,f=0;f<u;f++)c+=d[f];return c},t.Utils.haveIntersection=function(d,c){var u;return c.length>d.length&&(u=c,c=d,d=u),d.some(function(f){return-1<c.indexOf(f)})},t.Utils.subFunctions=function(d,c){c=c||{};var u=[];return d.each(function(f){var v,I;f.group===L||f.previousGroup===L?(v=t.Utils.text(f,"hash"),(I=c[v])||(I=f.fname+ie(c).length,c[v]=I),u.push(f.altVar(I))):f.group===R||f.group===M||f.group===_?u.push(t.Utils.subFunctions(f,c)):u.push(f.text())}),d.group===_||d.group===M?d.altVar(t.Utils.inBrackets(u.join("+"))):d.group===R?d.altVar(t.Utils.inBrackets(u.join("*"))):d.text()},t.Utils.getFunctionsSubs=function(d){var c,u={};for(c in d)u[d[c]]=e.parse(c);return u};var j=t.Algebra={version:"1.4.6",proots:function(d,c){c=c||7;function u(Ve,lt,Nt){for(var Ct=function(P,et){var Lt=P.slice(0);if(P.unshift(et),100<et)throw new t.exceptions.ValueLimitExceededError("This utility accepts polynomials of degree up to 100. ");var H=[],P={};for(P.Degree=et,ye=0;ye<et;ye++)H.push(0);var B=H.slice(0);function fe(xe,Ce,Ke,Ne,We,ae){We[0]=ae.b=Ne[0],We[1]=ae.a=-(Ce*ae.b)+Ne[1];for(var Ge=2;Ge<xe;Ge++)We[Ge]=-(Ce*ae.a+Ke*ae.b)+Ne[Ge],ae.b=ae.a,ae.a=We[Ge]}function pe(xe,Ce,Ke,Ne,We,ae,Ge,He,ge){var Je=new Object,gt=3;return Je.b=Je.a=0,fe(Ce,Ge,He,ae,ge,Je),We.c=Je.a,We.d=Je.b,Math.abs(We.c)<=100*xe*Math.abs(ae[Ce-1])&&Math.abs(We.d)<=100*xe*Math.abs(ae[Ce-2])||(We.h=He*Ne,Math.abs(We.d)>=Math.abs(We.c)?(gt=2,We.e=Ke/We.d,We.f=We.c/We.d,We.g=Ge*Ne,We.a3=We.e*(We.g+Ke)+We.h*(Ne/We.d),We.a1=-Ke+We.f*Ne,We.a7=We.h+(We.f+Ge)*Ke):(gt=1,We.e=Ke/We.c,We.f=We.d/We.c,We.g=We.e*Ge,We.a3=We.e*Ke+(We.g+We.h/We.c)*Ne,We.a1=-(Ke*(We.d/We.c))+Ne,We.a7=We.g*We.d+We.h*We.f+Ke)),gt}function ue(xe,Ce,Ke,Ne,We,ae,Ge,He,ge){if(Ke==3){Ge[1]=Ge[0]=0;for(var Je=2;Je<Ce;Je++)Ge[Je]=He[Je-2]}else if(Ke=Ke==1?We:Ne,Math.abs(ae.a1)>10*xe*Math.abs(Ke))for(ae.a7/=ae.a1,ae.a3/=ae.a1,Ge[0]=ge[0],Ge[1]=-(ge[0]*ae.a7)+ge[1],Je=2;Je<Ce;Je++)Ge[Je]=-(ge[Je-1]*ae.a7)+He[Je-2]*ae.a3+ge[Je];else for(Ge[0]=0,Ge[1]=-(ge[0]*ae.a7),Je=2;Je<Ce;Je++)Ge[Je]=-(ge[Je-1]*ae.a7)+He[Je-2]*ae.a3}function st(xe,Ce,Ke,Ne,We,ae,Ge,He,ge,Je,gt,ne,Se,qe,Be,ct,wt){var Mt;Ce.b=Ce.a=0,xe!=3&&(xe=xe!=2?(Mt=Ke+Se*Ge+ne*Je,He+(Se+qe*Je)*ge):(Mt=(Ke+gt)*Je+ne,(Je+Se)*He+qe*ge),Ge=-(Be[ct-1]/wt[ct]),(He=-(Je=qe*(Ke=-(Be[ct-2]+Ge*wt[ct-1])/wt[ct])*Ne-((gt=Ge*ae)+(ne=Ge*Ge*We)))+xe+Ge*Mt)!=0&&(Ce.a=-(Se*(ne+gt)+qe*(Ge*Ne+Ke*ae))/He+Se,Ce.b=qe*(1+Je/He)))}function se(xe,Ce,Ke,Ne){var We,ae;(Ne.sr=Ne.si=Ne.lr=Ne.li=0)==xe?Ne.sr=Ce!=0?-Ke/Ce:Ne.sr:Ke==0?Ne.lr=-Ce/xe:(Ce=Ce/2,We=Math.abs(Ce)<Math.abs(Ke)?(ae=-(ae=0<=Ke?xe:-xe)+Ce*(Ce/Math.abs(Ke)),Math.sqrt(Math.abs(ae))*Math.sqrt(Math.abs(Ke))):(ae=-xe/Ce*(Ke/Ce)+1,Math.sqrt(Math.abs(ae))*Math.abs(Ce)),0<=ae?(Ne.lr=(-Ce+(We=0<=Ce?-We:We))/xe,Ne.sr=Ne.lr!=0?Ke/Ne.lr/xe:Ne.sr):(Ne.lr=Ne.sr=-Ce/xe,Ne.si=Math.abs(We/xe),Ne.li=-Ne.si))}function te(xe,Ce,Ke,Ne,We,ae,Ge,He,ge,Je,gt,ne){var Se,qe,Be,ct,wt,Mt,qt,Ft,Tt,Ze,ht,Et,Pt,Ye,nt,O,Z,g,E,T,s,x,C,U,G,Y=new Object,ce=new Object,Me=new Array(Ce),dt=new Array(Ce),_t=1;for(ne.NZ=0,ct=Be=.25,wt=Ne,Ft=We,Y.b=Y.a=0,fe(ge,gt,We,He,Je,Y),Se=Y.a,qe=Y.b,ce.h=ce.g=ce.f=ce.e=ce.d=ce.c=ce.a7=ce.a3=ce.a1=0,C=pe(xe,Ge,Se,qe,ce,ae,gt,We,Me),T=0;T<Ke;T++){if(g=1,ue(xe,Ge,C,Se,qe,ce,ae,Me,Je),st(C=pe(xe,Ge,Se,qe,ce,ae,gt,We,Me),Y,Se,ce.a1,ce.a3,ce.a7,qe,ce.c,ce.d,ce.f,ce.g,ce.h,gt,We,ae,Ge,He),nt=Y.a,Z=O=Y.b,Ze=ae[Ge-1]!=0?-(He[Ge]/ae[Ge-1]):0,ht=Pt=1,T!=0&&C!=3&&(U=(Ye=(Pt=Z!=0?Math.abs((Z-Ft)/Z):Pt)<qt?Pt*qt:1)<ct?1:0,(s=(Et=(ht=Ze!=0?Math.abs((Ze-wt)/Ze):ht)<Mt?ht*Mt:1)<Be?1:0)||U)){for(E=0;E<Ge;E++)dt[E]=ae[E];for(Tt=Ze,x=G=0;;){if(!g||(g=0)!=0||!s||U&&!(Et<Ye)){o=un=St=ft=Fe=ke=W=A=W=S=i=Fe=$t=nn=cn=Jt=Kt=Gt=At=xt=kt=Ot=$=oe=zt=Vt=void 0;var $t,i,S,A,W,ke,Fe,ft,St,Vt=xe,zt=Ge,oe=ne,$=nt,Ot=O,kt=Je,xt=ge,At=Y,Gt=He,Kt=Me,Jt=ce,cn=ae,nn=new Object,un=0,o=0;oe.NZ=0,A=$,ke=Ot;do{if(nn.li=nn.lr=nn.si=nn.sr=0,se(1,A,ke,nn),oe.szr=nn.sr,oe.szi=nn.si,oe.lzr=nn.lr,oe.lzi=nn.li,Math.abs(Math.abs(oe.szr)-Math.abs(oe.lzr))>.01*Math.abs(oe.lzr))break;for(fe(xt,A,ke,Gt,kt,At),Fe=Math.abs(-(oe.szr*At.b)+At.a)+Math.abs(oe.szi*At.b),ft=Math.sqrt(Math.abs(ke)),$t=2*Math.abs(kt[0]),W=-(oe.szr*At.b),St=1;St<zt;St++)$t=$t*ft+Math.abs(kt[St]);if(Fe<=20*($t=(9*($t=$t*ft+Math.abs(W+At.a))+2*Math.abs(W)-7*(Math.abs(At.a+W)+ft*Math.abs(At.b)))*Vt)){oe.NZ=2;break}if(20<++un)break;if(2<=un&&S<=.01&&i<=Fe&&!o){for(fe(xt,A-=A*(S=S<Vt?Math.sqrt(Vt):Math.sqrt(S)),ke+=ke*S,Gt,kt,At),St=0;St<5;St++)ue(Vt,zt,pe(Vt,zt,At.a,At.b,Jt,cn,A,ke,Kt),At.a,At.b,Jt,cn,Kt,kt);o=1,un=0}}while(i=Fe,ue(Vt,zt,pe(Vt,zt,At.a,At.b,Jt,cn,A,ke,Kt),At.a,At.b,Jt,cn,Kt,kt),st(pe(Vt,zt,At.a,At.b,Jt,cn,A,ke,Kt),At,At.a,Jt.a1,Jt.a3,Jt.a7,At.b,Jt.c,Jt.d,Jt.f,Jt.g,Jt.h,A,ke,cn,zt,Gt),W=At.a,(Fe=At.b)!=0&&(S=Math.abs((-ke+Fe)/Fe),A=W,ke=Fe),Fe!=0);if(Se=Y.a,qe=Y.b,0<ne.NZ)return;if(_t=G=1,ct*=.25,x||!s)_t=0;else for(E=0;E<Ge;E++)ae[E]=dt[E]}if(_t!=0){if(Y.a=Tt,_t=function(y,F,X,w,b,z,_e,tt,be){var $e,pt,vt,p,N,we,Re,rt,mt,It,Bt,Rt=w-1;for(F.NZ=Bt=mt=0,Re=X.a;;){for(we=b[0],_e[0]=we,It=1;It<z;It++)_e[It]=we=we*Re+b[It];for(vt=Math.abs(we),p=Math.abs(Re),$e=.5*Math.abs(_e[0]),It=1;It<z;It++)$e=$e*p+Math.abs(_e[It]);if(vt<=20*y*(2*$e-vt)){F.NZ=1,F.szr=Re,F.szi=0;break}if(10<++Bt)break;if(2<=Bt&&Math.abs(rt)<=.001*Math.abs(-rt+Re)&&N<vt){mt=1,F.a=Re;break}for(N=vt,be[0]=pt=tt[0],It=1;It<w;It++)be[It]=pt=pt*Re+tt[It];if(Math.abs(pt)>10*Math.abs(tt[Rt])*y)for(rt=-we/pt,tt[0]=_e[0],It=1;It<w;It++)tt[It]=rt*be[It-1]+_e[It];else for(tt[0]=0,It=1;It<w;It++)tt[It]=be[It-1];for(pt=tt[0],It=1;It<w;It++)pt=pt*Re+tt[It];Re+=rt=Math.abs(pt)>10*Math.abs(tt[Rt])*y?-we/pt:0}return mt}(xe,ne,Y,Ge,He,ge,Je,ae,Me),Tt=Y.a,0<ne.NZ)return;if(x=1,Be*=.25,_t!=0){nt=-(Tt+Tt),O=Tt*Tt;continue}}for(E=0;E<Ge;E++)ae[E]=dt[E];if(!U||G)break}fe(ge,gt,We,He,Je,Y),C=pe(xe,Ge,Se=Y.a,qe=Y.b,ce,ae,gt,We,Me)}Ft=Z,wt=Ze,qt=Pt,Mt=ht}}(function(xe,Ce,Ke,Ne){for(var We,ae,Ge,He,ge,Je,gt,ne,Se,qe,Be,ct,wt,Mt,qt=xe.Degree,Ft=.017453292519943295,Tt=Math.LN2,Ze=xe.Degree+1,ht=new Array(Ze),Et=new Array(Ze),Pt=new Array(Ze),Ye=new Array(Ze),nt=new Object,O=new Object,Z=1;We=Z,1<(Je=1+(Z/=2)););var g=Number.MIN_VALUE/We,E=Math.cos(94*Ft),T=Math.sin(94*Ft),s=Math.sqrt(.5),x=-s;for(O.NZ=Se=0,O.szr=O.szi=O.lzr=O.lzi=0;Ce[qt]==0;)Ke[Se]=Ne[Se]=0,qt--,Se++;for(wt=qt+1;1<=qt;){if(qt<=2){qt<2?(Ke[xe.Degree-1]=-(Ce[1]/Ce[0]),Ne[xe.Degree-1]=0):(se(Ce[nt.li=nt.lr=nt.si=nt.sr=0],Ce[1],Ce[2],nt),Ke[xe.Degree-2]=nt.sr,Ne[xe.Degree-2]=nt.si,Ke[xe.Degree-1]=nt.lr,Ne[xe.Degree-1]=nt.li);break}for(He=0,ge=Number.MAX_VALUE,C=0;C<wt;C++)He<(U=Math.abs(Ce[C]))&&(He=U),U!=0&&U<ge&&(ge=U);if(((Be=g/ge)<=1&&10<=He||1<Be&&Number.MAX_VALUE/Be>=He)&&(Be=Be==0?Number.MIN_VALUE:Be,Be=Math.floor(Math.log(Be)/Tt+.5),(Ge=Math.pow(2,Be))!=1))for(C=0;C<wt;C++)Ce[C]*=Ge;for(var C=0;C<wt;C++)Et[C]=Math.abs(Ce[C]);Et[qt]=-Et[qt],ct=qt-1,U=Math.exp((Math.log(-Et[qt])-Math.log(Et[0]))/qt),G=U=Et[ct]!=0&&(G=-Et[qt]/Et[ct])<U?G:U;do for(var U,G=.1*(U=G),Y=Et[0],C=1;C<wt;C++)Y=Y*G+Et[C];while(0<Y);do for(var ce=Y=Et[0],C=1;C<qt;C++)ce=U*ce+(Y=U*Y+Et[C]);while(U-=ae=(Y=U*Y+Et[qt])/ce,.005<Math.abs(ae/U));for(var Me=U,C=1;C<qt;C++)ht[C]=(qt-C)*Ce[C]/qt;for(ht[0]=Ce[0],Z=Ce[qt],Je=Ce[ct],Mt=ht[ct]==0?1:0,qe=0;qe<5;qe++)if(gt=ht[ct],Mt){for(C=0;C<ct;C++)ht[Se=ct-C]=ht[Se-1];Mt=(ht[0]=0)==ht[ct]?1:0}else{for(var dt=-Z/gt,C=0;C<ct;C++)ht[Se=ct-C]=dt*ht[Se-1]+Ce[Se];ht[0]=Ce[0],Mt=Math.abs(ht[ct])<=Math.abs(Je)*We*10?1:0}for(C=0;C<qt;C++)Ye[C]=ht[C];for(qe=1;qe<=20;qe++){if(ne=-T*x+E*s,x=T*s+E*x,te(We,Ze,20*qe,ne=Me*(s=ne),Me,ht,qt,Ce,wt,Pt,-2*ne,O),O.NZ!=0){for(Ke[Se=xe.Degree-qt]=O.szr,Ne[Se]=O.szi,qt=(wt-=O.NZ)-1,C=0;C<wt;C++)Ce[C]=Pt[C];O.NZ!=1&&(Ke[Se+1]=O.lzr,Ne[Se+1]=O.lzi);break}for(C=0;C<qt;C++)ht[C]=Ye[C]}if(20<qe){xe.Degree-=qt;break}}})(P,Lt,B,H);var D=H.length;for(ye=0;ye<D;ye++){var re=De(H[ye],c+8),J=De(B[ye],c+8),Ee=(J=2<c-String(J).length?J:B[ye],re<0?"-":""),Ee=(J===0&&(J=""),re===0&&(re=""),re=Math.abs(re)===1?Ee+"i":re?re+"*i":"",J&&re?J+"+"+re:J+re);B[ye]=Ee.replace(/\+\-/g,"-")}return B}(Ve,Nt).concat(f),Xe=0;Xe<0;Xe++)Ct.unshift(0);return Ct}var f=[];if(d instanceof ee&&d.isPoly()){if(d.distributeMultiplier(),d.group===M&&(v=t.Utils.arrayMin(ie(d.symbols)),v=d.symbols[v].clone().toUnitMultiplier(),d=e.expand(e.divide(d,v)),f.push(0)),d.group===t.groups.S)return[0];d.group===t.groups.PL&&(V=ie(d.symbols),v=t.Utils.arrayMin(V),d=t.PARSER.divide(d,t.PARSER.parse(d.value+"^"+v)));for(var v=ie(d.symbols).sort().pop(),I=d.group===t.groups.PL?d.symbols:d.symbols[v],q=I.group,V=q===l?[I.power.toDecimal()]:ie(I.symbols),Q=[],le=t.Utils.arrayMax(V),ye=1;ye<=le;ye++){var Ae=0;V.indexOf(ye+"")!==-1&&(Ae=(q===l?I:I.symbols[ye]).multiplier),Q.unshift(Ae)}return Q.push(d.symbols[Te].multiplier),I.group===l&&(Q[0]=I.multiplier),u(Q,0,le)}if(t.Utils.isArray(d)){for(var je=d,Q=[],V=[],it=0,ye=0;ye<je.length;ye++){for(var yt=je[ye][0],me=je[ye][1],Ue=me-it-1,Le=0;Le<Ue;Le++)Q.unshift(0);Q.unshift(yt),me!==0&&V.push(me),it=me}return u(Q,0,le=Math.max.apply(void 0,V))}throw new t.exceptions.NerdamerTypeError("Cannot calculate roots. Symbol must be a polynomial!")},roots:function(d){return d.isConstant(!0,!0)?t.Utils.nroots(d):(d=j.proots(d).map(function(c){return e.parse(c)}),t.Vector.fromArray(d))},froot:function(d,c,u){for(var f=Number(c),v=u||t.Utils.build(t.Calculus.diff(d.clone())),I=d instanceof Function?d:t.Utils.build(d),q=!1,V=0;!q;){var Q=f-I(f)/v(f),le=Math.abs(Q)-Math.abs(f);f=Q,Math.abs(le)<1e-12?q=!0:1e4<V&&(q=!(f=null)),V++}return f},quad:function(d,c,u){function f(v,I,q,V){return e.parse("-("+I+"+"+V+"*sqrt(("+I+")^2-4*("+v+")*("+q+")))/(2*"+v+")")}return[f(d,c,u,1),f(d,c,u,-1)]},sumProd:function(d,c){return j.quad(-c,d,-1).map(function(u){return u.invert()})},coeffs:function(d,c,u){c=String(c),d=e.expand(d),u=u||[new ee(0)],d.group===h&&d.contains(c,!0)&&e.error("Unable to get coefficients using expression "+d.toString());var f,v=de(d);if(v.length!==1||v[0]!==c||d.isImaginary())c||e.error("Polynomial contains more than one variable. Please specify which variable is to be used!"),v.indexOf(c)===-1?u[0]=e.add(d,u[0]):(u=u||[new ee(0)],d.group===R?((v=d.symbols[c])||e.error("Expression is not a polynomial!"),f=Number(v.power),((le=e.divide(d.clone(),v.clone())).contains(c,!0)||f<0||!Qe(f))&&e.error("Expression is not a polynomial!"),(Q=u[f])&&(le=e.add(Q,le)),u[f]=le):d.group===_&&d.each(function(ye){j.coeffs(ye.clone(),c,u)},!0));else for(var I=new Oe(d).coeffs.map(function(ye){return new ee(ye)}),q=0,V=I.length;q<V;q++){var Q,le=I[q];(Q=u[q])&&(le=e.add(Q,le)),u[q]=le}for(q=0,V=u.length;q<V;q++)u[q]===void 0&&(u[q]=new ee(0));return u},polyPowers:function(d,c,u){if(u=u||[],(v=d.group)===M&&c===d.value)u=u.concat(ie(d.symbols));else if(v===_)for(var f in d.symbols){var f=d.symbols[f],v=f.group,I=f.value;v===l&&c===I?u.push(f.power):v===M||v===_?u=j.polyPowers(f,c,u):v===R&&f.contains(c)?(f=f.symbols[c])&&u.push(f.power):v!==r&&c===I||u.push(0)}else v===R&&d.contains(c)&&u.push(t.Utils.decompose_fn(d,c,!0).x.power);return t.Utils.arrayUnique(u).sort()},Factor:{split:function(d){var c=new ee(1),u=new ee(1);return j.Factor.factor(d,new ut).each(function(f){var v=e.parse(f);f.isConstant(!0)?c=e.multiply(c,v):u=e.multiply(u,v)}),[c,u]},mix:function(d,c){for(var u=ie(d),f=u.length,v=[],I=0;I<f;I++){for(var q=u[I],V=d[q],Q=v.length,le=0;le<Q;le++){var ye=v[le]*q;v.push(ye),c&&v.push(-ye)}for(le=1;le<=V;le++)v.push(Math.pow(q,le))}return v},common:function(d,c){try{if(d.group===_){for(var u=e.expand(d.clone(),!0).collectSymbols(null,null,function(ye,Ae){return(Ae.length||1)-(ye.length||1)}),f={},v=[],I=0;I<u.length;I++){var q=u[I];v.push(q.multiplier.clone()),q.each(function(ye){var Ae=Number(ye.power);if(isNaN(Ae))throw new Error("exiting");ye.value in f?(Ae<f[ye.value][0]&&(f[ye.value][0]=Ae),f[ye.value][1].push(ye)):f[ye.value]=[Ae,[ye]]})}var V,Q=new ee(1);for(V in f)f[V][1].length===u.length&&(Q=e.multiply(Q,e.pow(new ee(V),new ee(f[V][0]))));var le=t.Math2.QGCD.apply(null,v);if(!le.equals(1))for(c.add(new ee(le)),I=0;I<u.length;I++)u[I].multiplier=u[I].multiplier.divide(le);if(!Q.equals(1))for(c.add(Q),d=new ee(0),I=0;I<u.length;I++)d=e.add(d,e.divide(u[I],Q.clone()))}}catch(ye){}return d},zeroes:function(d,c){function u(){throw new t.exceptions.ValueLimitExceededError("Exiting")}try{q=(d=e.expand(d.clone())).toString(),f=de(d),v=new ee(0);for(var f,v,I,q,V,Q,le=[],ye=[],Ae=0,je=f.length;Ae<f.length;Ae++){for(var it={},yt=0;yt<je;yt++)Ae!==yt&&(it[f[yt]]=0);var me,Ue=(me=e.parse(q,it)).power;Qe(Ue)||u(),le.push(me),ye.push(me.power)}for(t.Utils.allSame(ye)?(V=d.length,(Q=le.length)===2&&(I=new Ie(ye[0]/(V-1))),Q===3&&(I=new Ie(ye[0]/Math.round((Math.sqrt(8*V-1)-3)/2)))):I=t.Math2.QGCD.apply(null,ye),Qe(I)||u(),Ae=0;Ae<le.length;Ae++){var Le=le[Ae],Ve=Le.power.clone().divide(I);Le.multiplier=new Ie(Math.pow(Le.multiplier,1/Ve)),Le.power=I.clone(),v=e.add(v,Le)}if(v.group!==_)return d;for(;;){var lt=j.div(d.clone(),v.clone());if(!lt[1].equals(0)||(d=lt[0],c.add(v.clone()),d.equals(1)))break}}catch(Nt){}return d},factor:function(d,c){var u,f,v;return d.isConstant()?t.Math2.factor(d):(u=e.parse(d),(u=j.Factor._factor(u,c)).equals(d)||u.group===R&&(f=new ee(1),c=e.parse(u.power),v=e.parse(u.multiplier),u.toUnitMultiplier(),u.multiplier.lessThan(0)&&(f.negate(),u.negate()),u.each(function(I){I=e.parse(j.Factor._factor(I)),I.group===R?(v=e.multiply(v,ee.create(I.multiplier)),I.each(function(q){q=e.parse(j.Factor._factor(q)),f=e.multiply(f,q),q.group===R&&(v=e.multiply(v,ee.create(q.multiplier)))})):f=e.multiply(f,I)}),u=e.pow(e.multiply(v,f),c)),u)},quadFactor:function(d,c){if(d.isPoly()&&j.degree(d.equals(2))){var u=t.Utils.variables(d)[0],f=j.coeffs(d,u),v=j.Factor._factor(f[2].clone());if(v.group===R){if(v=v.collectSymbols(),2<v.length)return d;var I=e.multiply(e.parse(f[0]),e.parse(v[0])),q=e.parse(f[1]).negate(),V=e.parse(v[1]),V=j.quad(V,q,I).filter(function(Q){if(t.Utils.isInt(Q))return Q});V.length===1&&(q=V[0],I=e.divide(f[0],e.parse(q)),t.Utils.isInt(I)&&(c.add(e.parse(ve("({0})*({1})+({2})",v[1],u,I))),c.add(e.parse(ve("({0})*({1})+({2})",v[0],u,q))),d=new ee(1)))}}return d},cubeFactor:function(d,c){var u,f,v,I,q,V;return d.isComposite()&&(v=d.collectSymbols()).length===2&&(u=v[0].sign(),q=v[0].clone().abs(),f=v[1].sign(),v=v[1].clone().abs(),q.isCube()&&v.isCube()&&(u<f&&([u,f]=[f,u],[q,v]=[v,q]),V=e.parse(q.getNth(3)),I=e.parse(v.getNth(3)),q=e.multiply(e.expand(e.pow(q.clone().toUnitMultiplier(),e.parse("1/3"))),V),V=e.multiply(e.expand(e.pow(v.clone().toUnitMultiplier(),e.parse("1/3"))),I),u===1&&f===-1?(c.add(e.parse(ve("(({0})-({1}))",q,V))),c.add(e.parse(ve("(({0})^2+({0})*({1})+({1})^2)",q,V))),d=ee(1)):u===1&&f===1&&(c.add(e.parse(ve("(({0})+({1}))",q,V))),c.add(e.parse(ve("(({0})^2-({0})*({1})+({1})^2)",q,V))),d=ee(1)))),d},_factor:function(d,c){var u;if(d.group,d.group===L){var Ae=d.args[0];if(Ae.group===l&&Ae.isSimple())return d}else if(d.group===l&&d.isSimple())return d;d.group===_&&(d.distributeMultiplier(!0),u=new ee(0),d.each(function(B){(B.group===_&&B.power.greaterThan(1)||B.group===R)&&(B=e.expand(B)),u=e.add(u,B)}),u.power=d.power,d=u);var f,v,I,q,V,Q,le,ye,Ae=(d=d.group===L&&d.fname!=="sqrt"?t.Utils.evaluate(d):d).clone();try{if(d.group===R)return je=e.parse(d.power),f=j.Simplify.strip(d.getDenom()),v=j.Simplify.strip(d.getNum()),I=f.pop(),(q=v.pop()).equals(d)?d:(V=j.Factor.factor(q),Q=j.Factor.factor(I),le=j.Simplify.unstrip(v,V),ye=j.Simplify.unstrip(f,Q),P=e.divide(le,ye));if(d.group===l)return d;if(d.isConstant())return d.equals(1)?d.clone():t.Math2.factor(d);var je=d.power.clone();if(!Qe(je)||je.lessThan(0)&&d.group===L)return d;var it=je.sign(),yt=(d.toLinear(),c=c||new ut,{}),me=(d=e.parse(t.Utils.subFunctions(d,yt)),0<ie(yt).length&&(c.preAdd=function(B){return e.parse(B,t.Utils.getFunctionsSubs(yt))}),d.isLinear()||(c.pFactor=d.power.toString(),d.toLinear()),de(d)),Ue=(d.isImaginary()&&me.push(t.Settings.IMAGINARY),1<me.length);if(Ue){var Le=!0,Ve=!0;if(d.each(function(B){B.group!==l&&(Le=!1),B.multiplier.equals(1)||(Ve=!1)}),Le&&Ve)return e.pow(e.parse(d,t.Utils.getFunctionsSubs(yt)),e.parse(je))}var lt=new ut,Nt=(d=j.Factor.coeffFactor(d,lt),lt.each(function(B){K(je)&&B.lessThan(0)&&B.negate(),it<0&&B.invert(),c.add(B)}),new ut);if(d=j.Factor.powerFactor(d,Nt),Nt.each(function(B){it<0&&B.invert(),c.add(B)}),Ue)d=j.Factor.cubeFactor(d,c),d=j.Factor.mfactor(d,c),c.each(function(B){it<0&&B.power.negate()});else{var Ct,Xe=me[0],he=(d=j.Factor.squareFree(d,c,Xe),new ut),et=(d=j.Factor.trialAndError(d,he,Xe),he.toSymbol());if(et.equals(Ae))return et;for(Ct in he.factors){var Lt=he.factors[Ct];c.add(e.pow(Lt,e.parse(je)))}d.equals(Ae)&&(d=j.Factor.quadFactor(d,c))}d=e.parse(d,t.Utils.getFunctionsSubs(yt));var H=c.length===1,P=(c.add(e.pow(d,e.parse(je))),c.toSymbol());return P=H&&d.equals(1)&&P.isLinear()?e.pow(P,e.parse(je)):P}catch(B){return Ae}},reduce:function(d,c){if(d.group===_&&d.length===2){var u=d.collectSymbols().sort(function(Ae,je){return je.multiplier-Ae.multiplier});if(u[0].power.equals(u[1].power)){for(var f=e.parse(u[0].power),v=u[0].clone().toLinear(),I=u[1].clone().toLinear(),q=(c.add(e.add(v.clone(),I.clone())),I.negate(),Number(f)),ye=new ee(0),V=1;V<=q;V++)var Q=e.pow(v.clone(),e.subtract(f.clone(),new ee(V))),le=e.pow(I.clone(),e.subtract(new ee(V),new ee(1))),ye=e.add(ye,e.multiply(Q,le));return ye}}return d},squareFree:function(d,c,u){var f,v;return!d.isConstant()&&d.group!==l&&(f=(u=new Oe(d,u).squareFree())[2])!==1?((v=u[1].toSymbol()).power=v.power.multiply(new Ie(f)),c.add(j.Factor.factor(v)),j.Factor.squareFree(u[0].toSymbol(),c)):d},powerFactor:function(d,c){var u,f,v;return d.group===M&&d.previousGroup!==h&&(u=ie(d.symbols),t.Utils.allNumeric(u))?(u=t.Utils.arrayMin(u),f=new ee(0),v=e.parse(d.value+"^"+u),d.each(function(I){I=e.divide(I,v.clone()),f=e.add(f,I)}),c.add(v),f):d},coeffFactor:function(d,c){var u,f,v,I;return d.isComposite()&&((u=t.Math2.QGCD.apply(null,d.coeffs())).equals(1)?((f=function(q){var V;return q.group===R?(V=0,q.each(function(Q){V+=Q.power})):V=Number(q.power),V})(I=(v=d.collectSymbols(null,null,null,!0).sort(function(q,V){return q.isConstant(!0)?1:V.power-q.power}))[0])>f(v[1])||v[1].isConstant(!0))&&I.multiplier.lessThan(0)&&(c.add(new ee(-1)),d.each(function(q){q.negate()},!0)):(d.each(function(q){q.isComposite()?q.each(function(V){V.multiplier=V.multiplier.divide(u)}):q.multiplier=q.multiplier.divide(u)}),d.updateHash()),c&&c.add(new ee(u))),d},trialAndError:function(d,c,u){var f=d.clone();try{var v=[];if(d.isConstant()||d.group===l)return d;for(var I=new Oe(d,u),q=I.coeffs[0],V=t.Math2.ifactor(q),Q=j.proots(d),le=0;le<Q.length;le++){var ye=Q[le],Ae=1;if(!isNaN(ye)){for(var je in V){var it=t.Utils.round(Math.log(je)/Math.log(Math.abs(ye)),8);if(Qe(it)){ye=je,Ae=it;break}}var yt=new Ie(ye),me=[new Ie(yt.num).negate()],Ue=(me[Ae]=new Ie(yt.den),Oe.fromArray(me,I.variable).fill()),Le=I.divide(Ue);Le[1].equalsNumber(0)&&(I=Le[0],v.push(Ue.toSymbol()))}}return I.equalsNumber(1)||(I=j.Factor.search(I,c)),v.forEach(function(Ve){c.add(Ve)}),I.toSymbol()}catch(Ve){return f}},search:function(d,c,u){u=u||10;function f(lt,Nt,Ct,Xe){return(lt=Oe.fit(lt,Nt,Ct,u,Xe,v))&&1<lt.coeffs.length&&(Nt=d.divide(lt),Nt[1].equalsNumber(0))?(c.add(lt.toSymbol()),[Nt[0],lt]):null}var v=d.variable,I=d.coeffs[0],q=t.Math2.ifactor(I),V=d.lc(),Q=t.Math2.ifactor(V),le=d.sub(u),ye=t.Math2.ifactor(le),Ae=j.Factor.mix(ye,le<0),je=Math.ceil(d.coeffs.length/2),it=V.lessThan(0),yt=I.lessThan(0);for(q[Q[1]=1]=1;je--;)for(var me in Q)for(var Ue in q)for(var Le=0;Le<Ae.length;Le++){var Ve=f(me,Ue,Ae[Le],je);if(Ve)return d=Ve[0],d=t.Utils.isPrime(d.sub(u))?d:j.Factor.search(d,c);it&&yt?Ve=f(-me,-Ue,Ae[Le],je):it?Ve=f(-me,Ue,Ae[Le],je):yt&&(Ve=f(me,-Ue,Ae[Le],je))}return d},mSqfrFactor:function(d,c){if(d.group!==L)for(var u=de(d).reverse(),f=0;f<u.length;f++)do if(u[f]===d.value)c.add(d),d=new ee(1);else{var v=t.Calculus.diff(d,u[f]),I=j.Factor.coeffFactor(v);if(I.equals(0))break;var q=!0;if(I.isConstant()&&d.isComposite()&&d.each(function(le){le.multiplier%I!=0&&(q=!1)},!0),q){var V=j.div(d,I.clone()),Q=V[1].equals(0);if(d.equals(V[0])&&V[1].equals(0))break;if(V[0].isConstant()){c.add(V[0]);break}}else Q=!1;Q&&(c.add(V[0]),d=I)}while(Q);return d},sqdiff:function(d,c){if(!d.isConstant("all"))try{var u,f,v,I,q,V=function(ye){return t.Utils.block("POSITIVE_MULTIPLIERS",function(){return ee.unwrapPARENS(ze.sqrt(ze.abs(ye)))},!0)},Q=t.Utils.separate(d.clone()),le=[];for(u in Q)u!=="constants"&&le.push(Q[u]);if(le.sort(function(ye,Ae){return Ae.power-ye.power}),le.length===2){if(q=le.pop(),f=le.pop(),K(q.power)&&K(f.power)&&q.sign()===f.sign()&&q.group===l&&f.group===l)throw new Error("Unable to factor");q.isComposite()&&f.power.equals(2)?(f=V(f),(v=j.Factor.factor(e.add(q,Q.constants))).power.equals(2)&&(v.toLinear(),c.add(e.subtract(v.clone(),f.clone())),c.add(e.add(v,f)),d=new ee(1))):(q=q.powSimp(),f=f.powSimp(),q.group!==l&&q.fname!==""||!q.power.equals(2)||f.group!==l&&f.fname!==""||!f.power.equals(2)||Q.constants||(q.multiplier.lessThan(0)&&(I=f,f=q,q=I),q.multiplier.greaterThan(0)&&(q=V(q),f=V(f)),c.add(e.subtract(q.clone(),f.clone())),c.add(e.add(q,f)),d=new ee(1)))}}catch(ye){}return d},mfactor:function(d,c){if(d.group===L){var u,f;d.fname==="sqrt"?(u=new ut,f=j.Factor.common(d.args[0].clone(),u),f=j.Factor.coeffFactor(f,u),d=e.multiply(e.symfunction("sqrt",[f]),e.parse(d.multiplier)),u.each(function(Nt){d=e.multiply(d,e.parse(t.Utils.format("sqrt({0})",Nt)))})):c.add(d)}else{d=j.Factor.mSqfrFactor(d,c);for(var v,I=de(d),q=d.collectSymbols().map(function(Nt){return ee.unwrapSQRT(Nt)}),V={},Q={},le=I.length,ye=q.length,Ae=0;Ae<le;Ae++){var je=I[Ae];V[je]=new ee(0);for(var it=0;it<ye;it++){var yt,me=q[it];me.contains(je)&&(yt=(me.value===je?me:me.symbols[je]).power.toDecimal(),(!Q[je]||yt<Q[je])&&(Q[je]=yt),V[je]=e.add(V[je],me.clone()))}}for(v in V){var Ue=e.parse(v+"^"+Q[v]),lt=e.divide(V[v],Ue),lt=e.expand(lt);if(lt.equals(1))break;var Le=j.div(d.clone(),lt);if(Le[0].equals(0))break;if(Le[1].equals(0)){var Ve=!1;if(Le[0].each(function(Nt){Qe(Nt.multiplier)||(Ve=!0)}),Ve){Le[1]=e.expand(e.multiply(Le[1],lt));break}}var lt=Qe(lt)&<.lessThan(0);if(Le[1].equals(0)&&!lt)return(Ue=(lt=j.div(d.clone(),Le[0].clone()))[0]).equals(0)||(d=lt[1],Ue.equals(-1)&&!d.equals(0))?d:(lt=Le[0],d.equals(lt)?(Le=j.Factor.reduce(lt,c),d.equals(Le)?Le:j.Factor.mfactor(Le,c)):(c.add(lt),d.equals(0)?Ue:Ue.isConstant("all")?(c.add(Ue),Ue):j.Factor.mfactor(Ue,c)))}}return d=j.Factor.sqdiff(d,c),d=j.Factor.zeroes(d,c)}},allLinear:function(d){for(var c=d.length,u=0;u<c;u++)if(!j.isLinear(d[u]))return!1;return!0},isLinear:function(d){var c=!1,u=d.group;if(u===M||u===_)for(var f in c=!0,d.symbols){var f=d.symbols[f],v=f.group;if(v!==L&&v!==h||(c=!1),v===R)c=de(f).length===1;else if(v===M||v===_)c=j.isLinear(f);else if(f.group!==r&&f.power.toString()!=="1"){c=!1;break}}else u===l&&d.power===1&&(c=!0);return c},gcd:function(){var d=arguments.length===1&&arguments[0]instanceof t.Vector?arguments[0].elements:t.Utils.arguments2Array(arguments);if(d.length===0)return new ee(1);if(d.length===1)return d[0];for(var c=[],u=!1,f=0;f<d.length;f++)if(d[f].group===L&&d[f].fname==="gcd")(d=d.concat(arguments[f].args)).splice(f,1);else{var v=de(d[f]);if(t.Utils.haveIntersection(v,c)){u=!0;break}c=c.concat(v)}if(u||c.length===0){if(d.every(function(q){return q.getDenom().equals(1)})){for(var I=d[0],f=1;f<d.length;f++)I=j.gcd_(d[f],I);return I}return e.divide(j.gcd.apply(null,d.map(function(q){return q.getNum()})),j.lcm.apply(null,d.map(function(q){return q.getDenom()})))}return e.symfunction("gcd",d)},gcd_:function(d,c){if(d.group!==L&&d.group!==a||(d=t.Utils.block("PARSE2NUMBER",function(){return e.parse(d)})),c.group===L&&(c=t.Utils.block("PARSE2NUMBER",function(){return e.parse(c)})),d.isConstant()&&c.isConstant())return new ee(t.Math2.QGCD(new Ie(+d),new Ie(+c)));var u,f=e.multiply(d.getDenom()||new ee(1),c.getDenom()||new ee(1)).invert();if(d=e.multiply(d.clone(),f.clone()),c=e.multiply(c.clone(),f.clone()),d=e.expand(d),c=e.expand(c),d.group===R||c.group===R){var v=e.divide(d.clone(),c.clone());if(!(Q=e.multiply(c.clone(),v.getDenom().invert())).equals(1))return Q}if(d.group===h||c.group===h)return v=new ee(t.Math2.GCD(d.multiplier,c.multiplier)),I=j.gcd_(d.value===Te?new ee(1):e.parse(d.value),c.value===Te?new ee(1):e.parse(c.value)),u=j.gcd_(e.parse(d.power),e.parse(c.power)),e.multiply(v,e.pow(I,u));d.length<c.length&&(Q=d,d=c,c=Q);var v=de(d),I=de(c);if(v.length===I.length&&v.length===1&&v[0]===I[0]||v.length===1&&I.length===0||v.length===0&&I.length===1)return d=new Oe(d),c=new Oe(c),e.divide(d.gcd(c).toSymbol(),f);var q,V=[];for(d.each(function(ye){V.push(ye.multiplier)}),c.each(function(ye){V.push(ye.multiplier)});!c.equals(0);){var Q=c.clone();if(d=d.clone(),q=j.div(d,Q),c=q[1],q[0].equals(0))return e.divide(new ee(t.Math2.QGCD(d.multiplier,c.multiplier)),f);d=Q}var le=t.Math2.QGCD.apply(void 0,V);return le.equals(1)||d.each(function(ye){ye.multiplier=ye.multiplier.divide(le)}),!d.equals(1)||d.isConstant()||c.isConstant()?e.divide(d,f):e.divide(e.symfunction("gcd",arguments),f)},lcm:function(){arguments.length===1?arguments[0]instanceof t.Vector?u=arguments[0].elements:e.error("lcm expects either 1 vector or 2 or more arguments"):u=t.Utils.arguments2Array(arguments);var d=u.reduce(function(f,v){return e.multiply(f,v.clone())},new ee(1)),c=function(f,v){v=Number(v);for(var I,q,V=[],Q=Math.pow(2,f.length),le=v;le<Q;le++){for(I=[],q=f.length-1;(le&1<<q)!=0&&I.push(f[q]),q--;);I.length===v&&V.push(I)}return V}(arguments,arguments.length-1).map(function(f){return f.reduce(function(v,I){return e.multiply(v,I.clone())},new ee(1))}),u=u.every(function(f){return t.Utils.isVariableSymbol(f)})?e.symfunction("gcd",t.Utils.arrayUnique(c)):j.gcd.apply(null,c);return e.divide(d,u)},divide:function(d,c){var u=t.Algebra.Factor.factor(d.clone()),f=u.getDenom();return f.isConstant("all")?f=new ee(1):d=e.expand(ee.unwrapPARENS(e.multiply(u,f.clone()))),u=j.div(d,c),d=e.divide(u[1],c),e.divide(e.add(u[0],d),f)},div:function(d,c){var u,f,v,I=[new ee(0),d.clone()];try{if(c.isConstant("all"))return d.each(function(We){We.multiplier=We.multiplier.divide(c.multiplier)}),[d,new ee(0)];if(d=e.expand(d),c=e.expand(c),d.group===l&&c.group===_){var q,V=d.value,Q=t.Utils.decompose_fn(c.clone(),V,!0);if(d.isLinear()&&Q.x&&Q.x.isLinear()&&c.isLinear())return q=ee.create(d.multiplier),[e.divide(q.clone(),Q.a.clone()),e.divide(e.multiply(q,Q.b),Q.a).negate()]}if(d.group===l&&c.group===l)return(u=e.divide(d.clone(),c.clone())).isConstant()?[u,new ee(0)]:[new ee(0),d.clone()];var le,ye,Ae=d.hasFunc(),je=c.hasFunc(),it=!1,yt=((Ae||je)&&(it=!0,le={},d=e.parse(t.Utils.subFunctions(d,le)),c=e.parse(t.Utils.subFunctions(c,le)),ye=t.Utils.getFunctionsSubs(le)),t.Utils.arrayUnique(de(d).concat(de(c))));if((d.isImaginary()||c.isImaginary())&&yt.push(t.Settings.IMAGINARY),yt.length===1)var me=(xe=new Oe(d).divide(new Oe(c)))[0].toSymbol(),Ue=xe[1].toSymbol();else{yt.push(Te);var Le=function(We){for(var He=new ee(0),ae=0;ae<We.length;ae++)var Ge=We[ae].toSymbol(),He=e.add(He,Ge);return He},Ve=function(We,ae){var Ge,He=Math.max.apply(null,We.terms),ge=0;if(!ae){for(var Je=0;Je<We.terms.length;Je++)if(We.terms[Je].equals(He)&&(Ge=Je,ge++),1<ge)return}if(ae){for(Je=0;Je<We.terms.length;Je++)if(We.terms[Je].equals(He)){Ge=Je;break}}return[He,Ge,We]},lt=function(We,ae){var Ge=We[ae=ae||0],He=We.length;if(Ge){for(var ge,Je=Ve(Ge),gt=ae+1;gt<He;gt++){var ne=We[gt],Se=Ge.sum.equals(ne.sum);if(!Se&&Je)break;if(Se){for(var qe,Be,ct,wt,Mt=Ge.terms.length,qt=0;qt<Mt;qt++){var Ft=Ge.terms[qt],Tt=ne.terms[qt];qe!==void 0&&!Ft.greaterThan(qe)||(qe=Ft,ct=qt),Be!==void 0&&!Tt.greaterThan(Be)||(Be=Tt,wt=qt)}var Se=qe.subtract(ne.terms[ct]),Ze=Be.subtract(Ge.terms[wt]);if(Se<Ze){Je=[Be,wt,ne];break}if(Ze<Se){Je=[qe,ct,Ge];break}}else if(Je=Ve(ne))break;Je=Ve(ne)}if(!Je)return Ve(We[0],!0);for(gt=0;gt<et.length;gt++){var ht,Et=et[gt].terms;if((ht=Je[1])===Et.length-1)return;if(!(ge=Et[ht]).equals(0))break}return ge.equals(0)?lt(We,++ae):Je}},Nt=t.Utils.toMapObj(yt),Ct=function(We,ae){return ae.sum.subtract(We.sum)},Xe=function(We,ae){if(!We||!ae)return!1;for(var Ge=0;Ge<We.terms.length;Ge++)if(We.terms[Ge].lessThan(ae.terms[Ge]))return!1;return!0},he=d.tBase(Nt).sort(Ct),et=c.tBase(Nt).sort(Ct),Lt=Xe(he[0],et[0])&&he[0].count>et[0].count?et:he,H=lt(Lt),P=[];if(H){var fe=H[1],B=function(Je,ge){var Ge=Je.len(),He=ge.len(),ge=ge.terms[fe],Je=Je.terms[fe];return Ge<He&&ge.greaterThan(Je)?He-Ge:ge.subtract(Je)},fe=function(We,ae){for(var Ge=[],He=0;He<We.length;He++)for(var ge=We[He],Je=0;Je<ge.terms.length;Je++){var gt=Ge[Je],ne=ge.terms[Je];He===0?Ge[Je]=ne:gt&&!gt.equals(ne)&&(Ge[Je]=void 0)}for(He=0;He<Ge.length;He++)if((ge=Ge[He])&&!ge.equals(0))return He;return ae}(he,fe),pe=(he.sort(B),et.sort(B),et[0]),ue=he[0],st=new at(new Ie(1),[],ue.map);if(pe.sum.greaterThan(ue.sum)&&1<ue.len())for(var se=0;se<ue.terms.length;se++){var te=pe.terms[se].subtract(ue.terms[se]);if(te.equals(0))st.terms[se]=new Ie(0);else{var D=te.add(new Ie(1));st.terms[se]=te;for(var re=0;re<he.length;re++)he[re].terms[se]=he[re].terms[se].add(D)}}for(var J=Xe(he[0],et[0]),Ee=0;J&&(v=et,!(f=he)[0].sum.equals(v[0].sum)||f.length>=v.length);){if(200<Ee++)throw new t.exceptions.InfiniteLoopError("Unable to compute!");var xe=he[0].divide(et[0]);for(P.push(xe),he.shift(),se=1;se<et.length;se++){var Ce=et[se].multiply(xe).generateImage(),Ke=he.length;for(Ke===0&&(Ce.coeff=Ce.coeff.neg(),he.push(Ce),he.sort(B)),re=0;re<Ke;re++){var Ne=he[re];if(Ne.getImg()===Ce.getImg()){Ne.coeff=Ne.coeff.subtract(Ce.coeff),Ne.coeff.equals(0)&&(t.Utils.remove(he,re),re--);break}re===Ke-1&&(Ce.coeff=Ce.coeff.neg(),he.push(Ce),he.sort(B))}}if(!(J=Xe(he[0],et[0]))&&he.length>=et.length){for(se=1;se<he.length;se++)if(J=Xe(he[se],et[0])){he.unshift(t.Utils.remove(he,se));break}}}}me=Le(P),Ue=Le(he),st!==void 0&&(st=st.toSymbol(),me=e.divide(me,st.clone()),Ue=e.divide(Ue,st))}return it&&(me=e.parse(me.text(),ye),Ue=e.parse(Ue.text(),ye)),[me,Ue]}catch(We){return I}},line:function(d,f,I){t.Utils.isArray(d)&&(d=t.Utils.convertToVector(d)),t.Utils.isArray(f)&&(f=t.Utils.convertToVector(f)),I=e.parse(I||"x"),t.Utils.isVector(d)&&t.Utils.isVector(f)||e.error('Line expects a vector! Received "'+d+'" & "'+f+'"');var v=e.subtract(f.e(1).clone(),d.e(1).clone()),f=e.subtract(f.e(2).clone(),d.e(2).clone()),f=e.divide(f,v),v=e.multiply(I,f.clone()),I=e.multiply(d.e(1).clone(),f);return e.add(e.subtract(v,I),d.e(2).clone())},PartFrac:{createTemplate:function(d,c,u,f){(d=j.Factor.factor(d)).each(function(Ue,Le){var Ve;Ue.group===L&&Ue.fname===""&&Ue.args[0].group===l&&(Ve=Ue.args[0],this.symbols?(delete this.symbols[Le],this.symbols[Ve.value]=Ve):d=Ue.args[0])});for(var v=c.collectFactors(),I=[],q=[],V=new ee(1),Q=0;Q<v.length;Q++){var le=ee.unwrapPARENS(v[Q]);if(le.power.greaterThan(1))for(var ye=Number(le.power),Ae=le.clone().toLinear(),je=Number(j.degree(Ae,f)),it=0;it<ye;it++){var yt=e.pow(Ae.clone(),new ee(it+1)),me=(u.push(yt.clone()),e.divide(d.clone(),yt.clone()));q.push(je),I.push(me)}else je=Number(j.degree(le,f)),u.push(le),me=e.divide(d.clone(),le.clone()),me=e.expand(ee.unwrapPARENS(me)),q.push(je),I.push(me)}return[u=u.map(function(Ue){return e.multiply(Ue,V.clone())}),I,q]},partfrac:function(d,c,u){var f=de(d);c=c||e.parse(f[0]);try{var v,I,q,V,Q,le,ye,Ae,je,it,yt,me,Ue,Le,Ve,lt=e.expand(d.getNum()),Nt=e.expand(d.getDenom().toUnitMultiplier());if(lt.multiplier=d.multiplier,q=lt.groupTerms(c),Number(j.degree(lt,c))>=Number(j.degree(Nt,c))?(Ae=(ye=j.div(lt.clone(),e.expand(Nt.clone())))[0],q=(lt=ye[1]).groupTerms(c)):Ae=new ee(0),Number(j.degree(Nt,c))===1)return Ue=e.divide(lt,Nt),u?[Ae,Ue]:e.add(Ae,Ue);I=j.Factor.factor(Nt),yt=j.PartFrac.createTemplate(Nt.clone(),I,[],c),me=yt[0],je=yt[1],V=yt[2],le=[q.length],Q=[],v=[],it=[],je.map(function(pe,ue){Le=me[ue],Ve=V[ue];for(var st=0;st<Ve;st++){v.push(Le.clone());var se=ee.create(c,st),te=e.expand(e.multiply(pe,se.clone())).groupTerms(c),D=te.length;le.push(D),Q.push(te),it.push(se.clone())}});for(var Ct=t.Utils.arrayMax(le),Xe=new t.Matrix(t.Utils.fillHoles(q,Ct)).transpose(),he=new t.Matrix,et=0;et<Q.length;et++)he.elements.push(t.Utils.fillHoles(Q[et],Ct));var Lt=e.multiply(he.transpose().invert(),Xe),H=u?[Ae]:Ae;return Lt.each(function(pe,ue){pe=e.multiply(it[ue],e.divide(pe,v[ue])),u?H.push(pe):H=e.add(H,pe)}),H}catch(pe){try{if(d.isComposite()){var P,B={},fe=(d.each(function(se){var st=se.getDenom(),se=se.getNum(),te=B[st];B[st]=te?e.add(te,se):se}),new ee(0));for(P in B)fe=e.add(fe,e.divide(B[P],e.parse(P)));d=fe}}catch(ue){}}return d}},degree:function(d,c,u){if(u=u||{nd:[],sd:[],depth:0},!c){var f=de(d);if(1<f.length)throw new Error("You must specify the variable for multivariate polynomials!");if(f.length===0)return new ee(0);c=e.parse(f[0])}return f=d.group,d.isComposite()?((d=d.clone()).distributeExponent(),d.each(function(v){u.depth++,j.degree(v,c,u),u.depth--})):d.group===R?d.each(function(v){u.depth++,j.degree(v,c,u),u.depth++}):f===h&&d.value===c.value?u.sd.push(d.power.clone()):f===l&&d.value===c.value?u.nd.push(e.parse(d.power)):u.nd.push(new ee(0)),f=0<u.nd.length?t.Utils.arrayMax(u.nd):void 0,u.depth===0&&0<u.sd.length?(f!==void 0&&u.sd.unshift(f),e.symfunction("max",u.sd)):t.Utils.isSymbol(f)?f:e.parse(f)},sqComplete:function(d,c,u){t.Utils.isSymbol(c)||(c=e.parse(c));function f(ye){throw new t.exceptions.ValueLimitExceededError(ye=ye||"Stopping")}var v,I,q,V,Q,le;return d.isPoly(!0)||f("Must be a polynomial!"),le=t.Utils.inBrackets,d=d.clone(),(V=t.Algebra.degree(d,c)).equals(2)||f("Cannot complete square for degree "+V),d=(V=t.Algebra.coeffs(d,c))[2],Q=V[1].sign(),q=e.divide(V[1],new ee(2)),v=e.pow(q.clone(),new ee(2)),u?[d,q,I]:(u=ze.sqrt(d),q=e.divide(ze.sqrt(v),u.clone()),I=e.subtract(V[0],e.pow(q.clone(),new ee(2))),{a:d=e.parse(le(u.clone()+"*"+c+(Q<0?"-":"+")+q)),c:I,f:e.add(e.pow(d.clone(),new ee(2)),I.clone())})},Simplify:{strip:function(d){var c=e.parse(d.multiplier),u=(d.toUnitMultiplier(),e.parse(d.power));return d.toLinear(),[c,u,d]},unstrip:function(f,c){var u=f[0],f=f[1];return e.multiply(u,e.pow(c,f))},complexSimp:function(I,u){var q=I.realpart(),I=I.imagpart(),V=u.realpart(),u=u.imagpart(),f=e.multiply(q.clone(),V.clone()),v=e.multiply(I.clone(),u.clone()),I=e.multiply(V.clone(),I),q=e.multiply(q,u.clone()),V=e.add(e.pow(V,new ee(2)),e.pow(u,new ee(2)));return e.divide(e.add(e.add(f,v),e.multiply(e.subtract(I,q),ee.imaginary())),V)},trigSimp:function(d){var c,u,f,v,I,q;return d.containsFunction(["cos","sin","tan"])&&(d=d.clone(),u=(d=(c=j.Simplify.strip(d)).pop()).clone(),d.group===_?(f=new ee(0),d.each(function(V){V=j.Simplify.trigSimp(V.fnTransform()),f=e.add(f,V)},!0),u=e.pow(e.multiply(new ee(d.multiplier),f),new ee(d.power))):d.group===R&&(v=d.getNum(),I=d.getDenom(),(u=v.fname==="sin"&&I.fname==="cos"&&v.args[0].equals(I.args[0])&&v.power.equals(I.power)?e.parse(t.Utils.format("({0})*({1})*tan({2})^({3})",I.multiplier,v.multiplier,v.args[0],v.power)):u).group===R&&(q=new ee(1),u.each(function(V){V.fname==="tan"&&(V=e.parse(t.Utils.format("({0})*sin({1})^({2})/cos({1})^({2})",V.multiplier,j.Simplify.simplify(V.args[0]),V.power))),q=e.multiply(q,V)}),u=q)),d=u=j.Simplify.unstrip(c,u).distributeMultiplier()),d},fracSimp:function(d){var c=d.getDenom();if((d=(V=d.getNum()).isImaginary()&&c.isImaginary()?j.Simplify.complexSimp(V,c):d).isComposite()){for(var u,f,v,I,q,V,Q=(d=1<d.power?e.expand(d):d).collectSymbols(),le=Q.pop();Q.length;)f=Q.pop(),u=e.parse(le.getDenom()),I=e.parse(f.getDenom()),v=le.getNum(),f=f.getNum(),q=e.multiply(u.clone(),I.clone()),v=e.multiply(v,I),I=e.multiply(f,u),f=e.add(v,I),le=e.divide(f,q);return c=e.expand(le.getDenom()),(V=(V=e.expand(le.getNum())).isImaginary()&&c.isImaginary()?j.Simplify.complexSimp(V,c):e.divide(V,c)).equals(d)?d:j.Simplify.simplify(V)}return d},ratSimp:function(d){var c,u;return d.group===R&&(c=d.getDenom(),u=d.getNum().distributeMultiplier(),c=j.Simplify.fracSimp(c),u=j.Simplify.fracSimp(u),d=e.divide(u,c)),d},sqrtSimp:function(d,c){if(d.isSQRT()){var u,f,v=j.Factor.factor(d.args[0].clone()),I=e.parse(v.multiplier),q=I.sign(),V=e.sqrt(I.abs());if(Qe(V))return v.group===R?(u=new ee(1),v.each(function(Q){var le;Q.group===r&&(le=e.sqrt(Q.clone()),Qe(le))?V=e.multiply(V,le):u=e.multiply(u,Q)}),I=e.multiply(u,e.parse(q)),(f=e.sqrt(I.clone())).isImaginary&&(f=e.sqrt(e.expand(I.clone())))):f=e.sqrt(v.clone().toUnitMultiplier()),e.multiply(V,f)}else d.isComposite()&&d.isLinear()?(V=new ee(0),d.each(function(Q){V=e.add(V,j.Simplify.sqrtSimp(Q))},!0),V=e.multiply(V,e.parse(d.multiplier))):d.group===R&&(V=e.parse(d.multiplier),d.each(function(Q){Q=j.Simplify.sqrtSimp(Q),V=e.multiply(V,Q)},!0),V=e.pow(V,e.parse(d.power)));return V||e.parse(d)},patternSub:function(d){function c(v){v.each(function(I){var q;!I.symbols&&I.group!==L||(f(I)?c(I):u[I.value]||(q=t.Utils.getU(d),u[I.value]=q,d=d.sub(I.value,q)))},!0)}var u={},f=function(v){var I=!1;return v.each(function(q){q.group===_?I=!0:q.symbols&&(I=f(q))}),I};return c(d),[d,u]},simplify:function(d){var c,u,f=j.Simplify.strip(d);return d=f.pop(),(d=j.Simplify.fracSimp(d)).isConstant()||d.group===t.groups.S?f.push(d):(d=d.clone(),d=j.Simplify.trigSimp(d),d=j.Simplify.ratSimp(d),(d=j.Factor.factor(d)).group===t.groups.CP&&d.isLinear()&&(c=d.multiplier.clone(),d.toUnitMultiplier(),u=new ee(0),d.each(function(v){v=j.Simplify.simplify(v),u=e.add(u,v)}),(d=u).multiplier=u.multiplier.multiply(c))),j.Simplify.unstrip(f,d)}},Classes:{Polynomial:Oe,Factors:ut,MVTerm:at}};t.Expression.prototype.simplify=function(){return j.Simplify.simplify(this.symbol)},fr.useAlgebraDiv=function(){var d=j.divideFn=e.divide,c=0;e.divide=function(u,f){return u=++c===1?t.Algebra.divide(u,f):d(u,f),c=0,u}},fr.useParserDiv=function(){j.divideFn&&(e.divide=j.divideFn),delete j.divideFn},fr.register([{name:"factor",visible:!0,numargs:1,build:function(){return j.Factor.factor}},{name:"simplify",visible:!0,numargs:1,build:function(){return j.Simplify.simplify}},{name:"gcd",visible:!0,numargs:[1],build:function(){return j.gcd}},{name:"lcm",visible:!0,numargs:[1],build:function(){return j.lcm}},{name:"roots",visible:!0,numargs:-1,build:function(){return j.roots}},{name:"divide",visible:!0,numargs:2,build:function(){return j.divide}},{name:"div",visible:!0,numargs:2,build:function(){return j.div}},{name:"partfrac",visible:!0,numargs:[1,2],build:function(){return j.PartFrac.partfrac}},{name:"deg",visible:!0,numargs:[1,2],build:function(){return j.degree}},{name:"coeffs",visible:!0,numargs:[1,2],build:function(){return function(){var d=j.coeffs.apply(j,arguments);return new t.Vector(d)}}},{name:"line",visible:!0,numargs:[2,3],build:function(){return j.line}},{name:"sqcomp",visible:!0,numargs:[1,2],build:function(){return function(d,c){try{return c=c||de(d)[0],j.sqComplete(d.clone(),c).f}catch(u){return d}}}}]),fr.updateAPI()}(),typeof ti!="undefined"&&fr===void 0&&(fr=N0(),z0()),function(){"use strict";var t=fr.getCore(),e=t.PARSER,r=t.Frac,a=t.Settings,l=t.Utils.isSymbol,h=(t.groups.FN,t.Symbol),L=t.Utils.text,M=t.Utils.inBrackets,_=t.Utils.isInt,R=t.Utils.format,ie=t.Utils.even,K=t.Utils.evaluate,de=t.groups.N,ve=t.groups.S,De=t.groups.FN,Ie=t.groups.PL,Qe=t.groups.CP,ee=t.groups.CB,Te=t.groups.EX,ze=t.groups.P,Oe=a.LOG,ut="sqrt",at="sin",j="cos",d="tan",c="sec",u="csc",f="cot",v="asin",I="atan",q="sinh",V="cosh",Q="tanh";function le(Ue){this.message=Ue||""}le.prototype=new Error,h.prototype.hasIntegral=function(){return this.containsFunction("integrate")},h.prototype.fnTransform=function(){if(this.group!==De)return this;var Ue,Le,Ve,lt=this.args[0],Nt=new h(this.multiplier),Ct=this.clone().toUnitMultiplier();if(this.isLinear())switch(this.fname){case q:Ve=e.parse(R("(e^({0})-e^(-({0})))/2",lt));break;case V:Ve=e.parse(R("(e^({0})+e^(-({0})))/2",lt));break;case Q:Ve=e.parse(R("(e^({0})-e^(-({0})))/(e^({0})+e^(-({0})))",lt));break;case d:Ve=e.parse(R("sin({0})/cos({0})",lt));break;case u:Ve=e.parse(R("1/sin({0})",lt));break;case c:Ve=e.parse(R("1/cos({0})",lt));break;default:Ve=Ct}else if(this.power.equals(2))switch(this.fname){case at:Ve=e.parse(R("1/2-cos(2*({0}))/2",lt));break;case j:Ve=e.parse(R("1/2+cos(2*({0}))/2",lt));break;case d:Ve=e.parse(R("sin({0})^2/cos({0})^2",lt));break;case V:Ve=e.parse(R("1/2+cosh(2*({0}))/2",lt));break;case q:Ve=e.parse(R("-1/2+cosh(2*({0}))/2",lt));break;case Q:Ve=e.parse(R("(1+cosh(2*({0})))/(-1+cosh(2*({0})))",lt));break;case c:Ve=e.parse(R("(1-cos(2*({0})))/(1+cos(2*({0})))+1",lt));break;default:Ve=Ct}else this.fname===c?Ve=e.parse(R("1/cos({0})^({1})",this.args[0],this.power)):this.fname===u?Ve=e.parse(R("1/sin({0})^({1})",this.args[0],this.power)):this.fname===d?Ve=this.power.lessThan(0)?e.parse(R("cos({0})^(-({1}))/sin({0})^({1})",this.args[0],this.power.negate())):e.parse(R("sin({0})^({1})/cos({0})^({1})",this.args[0],this.power)):this.fname===at&&this.power.lessThan(0)?Ve=e.parse(R("csc({0})^(-({1}))",this.args[0],this.power.negate())):this.fname===j&&this.power.lessThan(0)?Ve=e.parse(R("sec({0})^(-({1}))",this.args[0],this.power.negate())):this.fname===at&&this.power.equals(3)?Ve=e.parse(R("(3*sin({0})-sin(3*({0})))/4",this.args[0])):this.fname===j&&this.power.equals(3)?Ve=e.parse(R("(cos(3*({0}))+3*cos({0}))/4",this.args[0])):this.fname!==j&&this.fname!==at||!ie(this.power)?Ve=Ct:(Ue=this.power/2,Le=e.pow(this.clone().toLinear(),e.parse(2)).fnTransform(),Le=e.expand(e.pow(Le,e.parse(Ue))),Ve=new h(0),Le.each(function(Xe){Xe=Xe.fnTransform(),Ve=e.add(Ve,Xe)},!0));return e.multiply(Ve,Nt)},h.prototype.hasTrig=function(){if(!this.isConstant(!0)&&this.group!==ve){if(this.fname&&(t.Utils.in_trig(this.fname)||t.Utils.in_inverse_trig(this.fname)))return!0;if(this.symbols){for(var Ue in this.symbols)if(this.symbols[Ue].hasTrig())return!0}}return!1},t.Expression.prototype.hasIntegral=function(){return this.symbol.hasIntegral()},t.Utils.toCommonDenominator=function(Ue){var Le,Ve,lt;return Ue.isComposite()&&Ue.isLinear()?(Le=new h(Ue.multiplier),Ve=new h(1),lt=new h(0),Ue.each(function(Nt){Ve=e.multiply(Ve,Nt.getDenom())},!0),Ue.each(function(Ct){var Xe=Ct.getNum(),Ct=Ct.getDenom(),Xe=e.multiply(Xe,e.divide(Ve.clone(),Ct));lt=e.add(lt,Xe)}),e.multiply(Le,t.Algebra.divide(e.expand(lt),e.expand(Ve)))):Ue},t.Utils.in_inverse_trig=function(Ue){return[v,"acos",I,"acsc","asec","acot"].indexOf(Ue)!==-1},t.Utils.in_trig=function(Ue){return[j,at,d,c,u,f].indexOf(Ue)!==-1},t.Utils.in_htrig=function(Ue){return[q,V,Q,"acsch","asech","acoth"].indexOf(Ue)!==-1},t.Matrix.jacobian=function(Ue,Le){var Ve=new t.Matrix;return(Le=Le||t.Utils.arrayGetVariables(Ue)).forEach(function(lt,Nt){Ue.forEach(function(Ct,Xe){Ct=t.Calculus.diff(Ct.clone(),lt),Ve.set(Xe,Nt,Ct)})}),Ve},t.Matrix.prototype.max=function(){var Ue=new h(0);return this.each(function(Le){Le=Le.abs(),Le.gt(Ue)&&(Ue=Le)}),Ue},t.Matrix.cMatrix=function(Ue,Le){var Ve=new t.Matrix;return Le.forEach(function(lt,Nt){Ve.set(Nt,0,e.parse(Ue))}),Ve};var ye=t.Utils.all_functions=function(Ue){for(var Le=0,Ve=Ue.length;Le<Ve;Le++)if(Ue[Le].group!==De)return!1;return!0},Ae=t.Utils.cosAsinBtranform=function(Ue,Le){return Ue=Ue.args[0],Le=Le.args[0],e.parse(R("(sin(({0})+({1}))-sin(({0})-({1})))/2",Ue,Le))},je=t.Utils.cosAsinAtranform=function(Ue,Le){return Number(Le.power)!==1?e.multiply(Ue,Le):(Le=Ue.args[0],e.parse(R("(sin(2*({0})))/2",Le)))},it=t.Utils.cosAsinBtranform=function(Ue,Le){return Ue=Ue.args[0],Le=Le.args[0],e.parse(R("(cos(({0})+({1}))-cos(({0})-({1})))/2",Ue,Le))},yt=t.Utils.trigTransform=function(Ue){for(var Le,Ve,lt,Nt,Ct={},Xe=new h(1),he=0,et=Ue.length;he<et;he++)(lt=Ue[he]).group===De?(Ve=lt.fname)===j&&Ct.sin?(Le=(Ct.sin.args[0].toString()!==lt.args[0].toString()?Ae:je)(lt,Ct.sin),delete Ct.sin,Xe=e.multiply(Xe,Le)):Ve===at&&Ct.cos?(Le=(Ct.cos.args[0].toString()!==lt.args[0].toString()?Ae:je)(lt,Ct.cos),delete Ct.cos,Xe=e.multiply(Xe,Le)):Ve===at&&Ct.sin?(Le=Ct.sin.args[0].toString()!==lt.args[0].toString()?it(lt,Ct.sin):e.multiply(lt,Ct.sin),delete Ct.sin,Xe=Le):Ct[Ve]=lt:Xe=e.multiply(Xe,lt);for(Nt in Ct)Xe=e.multiply(Xe,Ct[Nt]);return Xe},me=(t.Settings.integration_depth=10,t.Settings.max_lim_depth=10,t.Calculus={version:"1.4.6",sum:function(Ue,Le,Ve,lt){if(Le.group!==t.groups.S)throw new t.exceptions.NerdamerTypeError("Index must be symbol. "+L(Le)+" provided");var Nt;return Le=Le.value,t.Utils.isNumericSymbol(Ve)&&t.Utils.isNumericSymbol(lt)?(Nt=lt-Ve<200?"":"PARSE2NUMBER",Ve=Number(Ve),lt=Number(lt),t.Utils.block(Nt,function(){for(var Ct=Ue.text(),Xe={"~":!0},he=new t.Symbol(0),et=Ve;et<=lt;et++){Xe[Le]=new h(et);var Lt=e.parse(Ct,Xe),he=e.add(he,Lt)}return he})):e.symfunction("sum",arguments)},product:function(Ue,Le,Ve,lt){if(Le.group!==t.groups.S)throw new t.exceptions.NerdamerTypeError("Index must be symbol. "+L(Le)+" provided");var Nt;return Le=Le.value,t.Utils.isNumericSymbol(Ve)&&t.Utils.isNumericSymbol(lt)?(Nt=lt-Ve<200?"":"PARSE2NUMBER",t.Utils.block(Nt,function(){Ve=Number(Ve),lt=Number(lt.multiplier);for(var Ct=Ue.text(),Xe={},he=new t.Symbol(1),et=Ve;et<=lt;et++)Xe[Le]=new h(et),he=e.multiply(he,e.parse(Ct,Xe));return he})):e.symfunction("product",arguments)},diff:function(Ue,Le,Ve){var lt,Nt,Ct,Xe,he;return t.Utils.isVector(Ue)?(lt=new t.Vector([]),Ue.each(function(P){lt.elements.push(me.diff(P,Le,Ve))}),lt):t.Utils.isMatrix(Ue)?(Nt=new t.Matrix,Ue.each(function(P,B,fe){Nt.set(B,fe,me.diff(P,Le,Ve))}),Nt):(Ct=l(Le)?Le.text():Le,Ve=l(Ve)?Ve.multiplier:Ve||1,Ct===void 0&&(Ct=t.Utils.variables(Ue)[0]),Ue.group===De&&Ue.fname===ut&&(he=Ue.args[0],Xe=Ue.power.clone(),he.group===de&&he.group===ze||(he.power=l(he.power)?e.multiply(he.power,e.multiply(new h(.5)),Xe):he.power.multiply(new r(.5)).multiply(Xe),he.multiplier=he.multiplier.multiply(Ue.multiplier)),Ue=he),Ue=Ue.group!==De||l(Ue.power)?Lt(Ue):(Xe=Lt(e.parse(Ue)),he=me.diff(Ue.args[0].clone(),Ct),e.multiply(Xe,he)),1<Ve&&(Ve--,Ue=me.diff(Ue,Le,Ve)),Ue);function et(P){return P.value!==Ct&&!P.contains(Ct,!0)||(P.multiplier=P.multiplier.multiply(P.power),P.power=P.power.subtract(new r(1)),P.power.equals(0)&&(P=h(P.multiplier))),P}function Lt(P){var B,fe=P.group;if(fe===de||fe===ve&&P.value!==Ct||fe===ze)P=h(0);else if(fe===ve)P=et(P);else{if(fe===ee)return B=P.multiplier.clone(),P.toUnitMultiplier(),(st=e.multiply(function(re){for(var J=re.collectSymbols(),Ee=new h(0),xe=J.length,Ce=0;Ce<xe;Ce++){for(var Ke=me.diff(J[Ce].clone(),Ct),Ne=0;Ne<xe;Ne++)Ce!==Ne&&(Ke=e.multiply(Ke,J[Ne].clone()));Ee=e.add(Ee,Ke)}return Ee}(P),et(P))).multiplier=st.multiplier.multiply(B),st;if(fe===De&&P.power.equals(1))switch(P.fname){case Oe:pe=P.clone(),(P=P.args[0].clone()).power=P.power.negate(),P.multiplier=pe.multiplier.divide(P.multiplier);break;case j:P.fname=at,P.multiplier.negate();break;case at:P.fname=j;break;case d:P.fname=c,P.power=new r(2);break;case c:P=H(P,d);break;case u:P=H(P,"-cot");break;case f:P.fname=u,P.multiplier.negate(),P.power=new r(2);break;case v:P=e.parse("(sqrt(1-("+L(P.args[0])+")^2))^(-1)");break;case"acos":P=e.parse("-(sqrt(1-("+L(P.args[0])+")^2))^(-1)");break;case I:P=e.parse("(1+("+L(P.args[0])+")^2)^(-1)");break;case"abs":B=P.multiplier.clone(),P.toUnitMultiplier(),(se=P.args[0].clone()).toUnitMultiplier(),(P=e.parse(M(L(P.args[0]))+"/abs"+M(L(se)))).multiplier=B;break;case"parens":P=h(1);break;case"cosh":P.fname="sinh";break;case"sinh":P.fname="cosh";break;case Q:P.fname="sech",P.power=new r(2);break;case"sech":P=H(P,"-tanh");break;case"csch":var ue=String(P.args[0]);return e.parse("-coth("+ue+")*csch("+ue+")");case"coth":return ue=String(P.args[0]),e.parse("-csch("+ue+")^2");case"asinh":P=e.parse("(sqrt(1+("+L(P.args[0])+")^2))^(-1)");break;case"acosh":P=e.parse("(sqrt(-1+("+L(P.args[0])+")^2))^(-1)");break;case"atanh":P=e.parse("(1-("+L(P.args[0])+")^2)^(-1)");break;case"asech":ue=String(P.args[0]),P=e.parse("-1/(sqrt(1/("+ue+")^2-1)*("+ue+")^2)");break;case"acoth":P=e.parse("-1/(("+P.args[0]+")^2-1)");break;case"acsch":ue=String(P.args[0]),P=e.parse("-1/(sqrt(1/("+ue+")^2+1)*("+ue+")^2)");break;case"asec":ue=String(P.args[0]),P=e.parse("1/(sqrt(1-1/("+ue+")^2)*("+ue+")^2)");break;case"acsc":ue=String(P.args[0]),P=e.parse("-1/(sqrt(1-1/("+ue+")^2)*("+ue+")^2)");break;case"acot":P=e.parse("-1/(("+P.args[0]+")^2+1)");break;case"S":ue=String(P.args[0]),P=e.parse("sin((pi*("+ue+")^2)/2)");break;case"C":ue=String(P.args[0]),P=e.parse("cos((pi*("+ue+")^2)/2)");break;case"Si":ue=P.args[0],P=e.parse("sin("+ue+")/("+ue+")");break;case"Shi":ue=P.args[0],P=e.parse("sinh("+ue+")/("+ue+")");break;case"Ci":ue=P.args[0],P=e.parse("cos("+ue+")/("+ue+")");break;case"Chi":ue=P.args[0],P=e.parse("cosh("+ue+")/("+ue+")");break;case"Ei":ue=P.args[0],P=e.parse("e^("+ue+")/("+ue+")");break;case"Li":ue=P.args[0],P=e.parse("1/"+a.LOG+"("+ue+")");break;case"erf":P=e.parse("(2*e^(-("+P.args[0]+")^2))/sqrt(pi)");break;case"atan2":var pe=String(P.args[0]),ue=String(P.args[1]);P=e.parse("("+ue+")/(("+ue+")^2+("+pe+")^2)");break;case"sign":P=new h(0);break;case"sinc":P=e.parse(R("(({0})*cos({0})-sin({0}))*({0})^(-2)",P.args[0]));break;case a.LOG10:P=e.parse("1/(("+P.args[0]+")*"+a.LOG+"(10))");break;default:P=e.symfunction("diff",[P,Le])}else if(fe===Te||fe===De&&l(P.power)){var st=fe===Te?P.value:fe===De&&P.contains(Ct)?P.fname+M(L(P.args[0])):P.value+M(L(P.args[0])),se=(e.multiply(e.parse(Oe+M(st)),P.power.clone()),me.diff(e.multiply(e.parse(Oe+M(st)),P.power.clone()),Ct));P=e.multiply(P,se)}else if(fe!==De||P.power.equals(1)){if(fe===Qe||fe===Ie){var te,st=P.clone(),D=new h(0);for(te in P.symbols)D=e.add(D,me.diff(P.symbols[te].clone(),Ct));P=e.multiply(et(st),D)}}else(se=P.clone()).toLinear(),se.toUnitMultiplier(),P=e.multiply(et(P.clone()),Lt(se))}return P.updateHash(),P}function H(P,B,fe){return e.multiply(P,e.parse(B+M(fe||L(P.args[0]))))}},integration:{u_substitution:function(he,Le){function Ve(fe,pe,se){var st=me.diff(pe,Le),se=se?se(fe,pe):e.divide(fe.clone(),st);return se.contains(Le,!0)?null:se}function lt(fe,pe){return fe=me.integrate(e.symfunction(fe,[new h(H)]),H,0),(fe=fe.sub(new h(H),pe)).updateHash(),fe}var Nt,Ct,Xe=he[0].clone(),he=he[1].clone(),et=Xe.group,Lt=he.group,H="__u__";if(et===De&&Lt!==De)return(Nt=Ve(he,(P=Xe.args[0]).clone()))?e.multiply(Nt,lt(Xe.fname,P)):(Nt=Ve(he,Xe))?me.integration.poly_integrate(Xe):void 0;if(Lt===De&&et!==De)return(Nt=Ve(Xe,(P=he.args[0]).clone()))?e.multiply(Nt,lt(he.fname,P)):void 0;if(et===De&&Lt===De)return(Nt=Ve(Xe.clone(),he.clone()))||(Nt=Ve(he.clone(),Xe.clone()))?e.multiply(me.integration.poly_integrate(he),Nt):void 0;if(et!==Te||Lt===Te)return Lt===Te&&et!==Te?(Nt=Ve(Xe,(Ct=he.power).clone()),B=me.integrate(he.sub(Ct,new h(H)),H,0),e.multiply(B.sub(new h(H),Ct),Nt)):Xe.isComposite()||he.isComposite()?(P=function(fe,pe){return pe=me.diff(pe,Le),fe=t.Algebra.Factor.factor(fe),pe=t.Algebra.Factor.factor(pe),e.divide(fe,pe)},Lt=Xe.isComposite()?Xe.clone().toLinear():Xe.clone(),et=he.isComposite()?he.clone().toLinear():he.clone(),(Nt=Ve(Lt.clone(),et.clone(),P))?e.multiply(me.integration.poly_integrate(he),Nt):(Nt=Ve(et.clone(),Lt.clone(),P))?e.multiply(me.integration.poly_integrate(Xe),Nt):void 0):void 0;if(!(Nt=Ve(he,(Ct=Xe.power).clone()))){var et=me.integration.decompose_arg(Ct.clone(),Le),Lt=me.diff(et[2].clone(),Le),P=me.integration.decompose_arg(Lt.clone(),Le);if(e.multiply(et[1],P[1]).power.equals(he.power))return Lt=e.divide(et[0].clone(),P[0].clone()),he=e.multiply(Lt.clone(),e.pow(new h(Xe.value),e.multiply(et[0],new h(H)))),he=e.multiply(he,new h(H)),me.integration.by_parts(he,H,0,{}).sub(H,et[1].clone())}var B=me.integrate(Xe.sub(Ct.clone(),new h(H)),H,0);return e.multiply(B.sub(new h(H),Ct),Nt)},poly_integrate:function(lt){var Le=lt.power.toString(),Ve=lt.multiplier.toDecimal(),lt=lt.toUnitMultiplier().toLinear();return Number(Le)===-1?e.multiply(new h(Ve),e.symfunction(Oe,[lt])):e.parse(R("({0})*({1})^(({2})+1)/(({2})+1)",Ve,lt,Le))},stop:function(Ue){throw t.Utils.warn(Ue=Ue||"Unable to compute integral!"),new le(Ue)},partial_fraction:function(Ue,Le,Ve,lt){var Nt;return l(Le)||(Le=e.parse(Le)),Nt=new h(0),(Ue=t.Algebra.PartFrac.partfrac(Ue,Le)).group===ee&&Ue.isLinear()?(Ue.each(function(Ct){Ct.isLinear()||me.integration.stop()}),Ue.each(function(Ct){Nt=e.add(Nt,me.integrate(Ct,Le,Ve,lt))})):Nt=e.add(Nt,me.integrate(Ue,Le,Ve,lt)),Nt},get_udv:function(Ue){function Le(H){var P,B=H.group;B===De?(P=H.fname,t.Utils.in_trig(P)||t.Utils.in_htrig(P)?Ve[3].push(H):t.Utils.in_inverse_trig(P)?Ve[1].push(H):P===Oe?Ve[0].push(H):me.integration.stop()):B===ve||H.isComposite()&&H.isLinear()||B===ee&&H.isLinear()?Ve[2].push(H):B===Te||H.isComposite()&&!H.isLinear()?Ve[4].push(H):me.integration.stop()}var Ve=[[],[],[],[],[]];Ue.group===ee?Ue.each(function(H){Le(h.unwrapSQRT(H,!0))}):Le(Ue);for(var lt,Nt=new h(1),Ct=0;Ct<5;Ct++){var Xe=Ve[Ct],he=Xe.length;if(0<he){if(1<he)for(var et=new h(1),Lt=0;Lt<he;Lt++)et=e.multiply(et,Xe[Lt].clone());else et=Xe[0].clone();lt?Nt=e.multiply(Nt,et):(lt=et).multiplier=lt.multiplier.multiply(Ue.multiplier)}}return[lt,Nt]},trig_sub:function(Ue,et,Ve,lt,Lt,Ct){(Lt=Lt||me.integration.decompose_arg(Ue.clone().toLinear(),et))[3],Lt[2];var Xe,he,et=Lt[0],Lt=Lt[1];if(Lt.power.equals(2)&&et.greaterThan(0))return et=t.Utils.getU(Ue),Xe=e.parse(d+M(et)),he=e.parse(c+M(et)+"^2"),Ue=e.multiply(Ue.sub(Lt,Xe),he),he=me.integrate(Ue,et,Ve,lt).sub(Xe,Lt),t.Utils.clearU(Xe),he},by_parts:function(Ue,Le,Ve,lt){var Nt,Ct,Xe,he,et,Lt;return lt.previous=lt.previous||[],Ct=(Ue=me.integration.get_udv(Ue))[0],Ue=Ue[1],Xe=(Nt=h.unwrapSQRT(e.expand(me.diff(Ct.clone(),Le)),!0)).clone().stripVar(Le),Nt=e.divide(Nt,Xe.clone()),et=me.integrate(Ue.clone(),Le,Ve||0),he=(Nt=e.multiply(et.clone(),Nt)).toString(),lt.previous.indexOf(he)!==-1&&t.Utils.in_trig(Ct.fname)&&Ue.isE()?(lt.is_cyclic=!0,new h(1)):(lt.previous.push(he),Ue=e.multiply(Ct,et),he=Nt.multiplier.clone(),Nt.toUnitMultiplier(),(Ct=e.multiply(me.integrate(Nt.clone(),Le,Ve,lt),Xe)).multiplier=Ct.multiplier.multiply(he),et=e.subtract(Ue,Ct),lt.is_cyclic&&(lt.previous.pop(),lt.previous.length===0&&(et=e.expand(et),Lt=new h(0),et.each(function(H){H.contains(Le)||(Lt=e.add(Lt,H.clone()))}),et=e.divide(e.subtract(et,Lt.clone()),e.subtract(new h(1),Lt)))),et)},decompose_arg:t.Utils.decompose_fn},integrate:function(Ue,Le,Ve,lt){var Nt,Ct;return Le||(Nt=t.Utils.variables(Ue),Le=(Le=Nt.length===1?Nt[0]:Le)||"x"),t.Utils.isVector(Ue)?(Ct=new t.Vector([]),Ue.each(function(Xe){Ct.elements.push(me.integrate(Xe,Le))}),Ct):(isNaN(Le)||e.error("variable expected but received "+Le),Ue.isConstant(!0)?e.multiply(Ue.clone(),e.parse(Le)):(lt=lt||{},t.Utils.block("PARSE2NUMBER",function(){Ve=Ve||0;var Xe,he=l(Le)?Le.toString():Le,et=(A=h.unwrapSQRT(Ue.clone(),!0)).group;try{if(++Ve>t.Settings.integration_depth&&me.integration.stop("Maximum depth reached. Exiting!"),A.contains(he,!0)){if(et===ve)Xe=me.integration.poly_integrate(A,he,Ve);else if(et===Te)if(A.previousGroup===De&&A.fname!=="sqrt"&&A.fname!==a.PARENTHESIS&&me.integration.stop(),A.contains(he)&&A.previousGroup!==De)A.power.contains(he)?me.integration.stop():((dn=me.diff(A.clone().toLinear(),he)).contains(he)&&me.integration.stop(),Xe=me.integration.poly_integrate(A,he,Ve));else{if((Ce=me.diff(A.power.clone(),he)).contains(he)){var Lt=Ce.stripVar(he);if((Ke=e.divide(Ce.clone(),Lt.clone())).group===ve&&Ke.isLinear())return Lt.multiplier=Lt.multiplier.divide(new r(2)),e.parse(R("({2})*(sqrt(pi)*erf(sqrt(-{0})*{1}))/(2*sqrt(-{0}))",Lt,he,A.multiplier));me.integration.stop()}A.isE()?Ce.isLinear()?Xe=A:Ce.isE()&&Ce.power.group===ve&&Ce.power.power.equals(1)?Xe=e.multiply(e.symfunction("Ei",[A.power.clone()]),A.power):me.integration.stop():(We=e.symfunction(Oe,[e.parse(A.value)]),Xe=e.divide(A,We)),Xe=e.divide(Xe,Ce)}else if(A.isComposite()&&A.isLinear()){var H=e.parse(A.multiplier);A.toUnitMultiplier(),Xe=new h(0),A.each(function(Dt){Xe=e.add(Xe,me.integrate(Dt,he,Ve))}),Xe=e.multiply(H,Xe)}else if(et===Qe)if((A=A.power.greaterThan(1)?e.expand(A):A).power.equals(1))Xe=new h(0),A.each(function(Dt){Xe=e.add(Xe,me.integrate(Dt,he,Ve))},!0);else{var P,B,fe,pe,ue,st,se,te,D,re=Number(A.power),H=A.multiplier.clone(),J=(A.toUnitMultiplier(),A.clone().toLinear()),Ee=(N=me.integration.decompose_arg(J,he))[3],xe=N[2],Ce=N[0],Ke=N[1];if(re===-1&&Ke.group!==Ie&&Ke.power.equals(2)){var Ne,We,ae,Ge,He,ge,Je,gt,ne,Se,qe,Be=!_(Ee)||0<Ee;Xe=Ke.group===ve&&Ke.power.equals(2)&&Be?(Ne=function(tn){var hn=new h(1);return tn.each(function(pn){hn=e.multiply(hn,pn.fname==="abs"?pn.args[0]:pn)}),hn},ae=Ce.clone(),Ge=Ee.clone(),ae=e.pow(ae,new h(.5)),Ge=e.pow(Ge,new h(.5)),We=e.multiply(Ne(Ge),Ne(ae)),ct=e.symfunction(I,[e.divide(e.multiply(Ce,Ke.toLinear()),We.clone())]),e.divide(ct,We)):Ke.group===ve&&Ke.isLinear()?e.divide(me.integration.poly_integrate(A),Ce):Ke.power.equals(4)?(qe=M,ae=e.parse(ut+qe(Ce)+"*"+he+"^2"),Ge=e.parse(ut+qe(2)+"*"+qe(Ce)+"^"+qe("1/4")+"*"+qe(Ee)+"^"+qe("1/4")+"*"+he),He=e.parse(ut+qe(Ee)),Mt=e.add(e.add(ae.clone(),Ge.clone()),He.clone()),nt=e.add(e.subtract(ae,Ge),He),ge=e.parse(ut+qe(2)+"*"+qe(Ee)+"^"+qe("3/4")),Je=e.parse(ut+qe(Ee)+"*"+qe(Ee)+"^"+qe("1/4")+"*"+he),gt=e.parse("2*"+qe(Ee)+"*"+ut+qe(2)+"*"+qe(Ee)+"^"+qe("1/4")),ne=e.divide(e.subtract(ge.clone(),Je.clone()),e.multiply(gt.clone(),nt)),Se=e.divide(e.add(ge,Je),e.multiply(gt,Mt.clone())),e.add(me.integrate(ne,he,Ve,lt),me.integrate(Se,he,Ve,lt))):me.integration.partial_fraction(A,he,Ve)}else if(re===-.5)Ke.group===ve&&Ke.power.equals(2)&&xe.multiplier.lessThan(0)&&!Ee.multiplier.lessThan(0)?(Ce.negate(),Xe=Ee.isConstant()&&Ce.isConstant()?(We=e.symfunction(ut,[Ce.clone()]),P=e.symfunction(ut,[e.multiply(Ce.clone(),Ee)]),e.divide(e.symfunction(v,[e.divide(xe.toLinear(),P)]),We)):(B=e.symfunction(ut,[Ce]),fe=e.multiply(B.clone(),Ke.clone().toLinear()),e.divide(e.symfunction(I,[e.divide(fe,e.symfunction(ut,[J.clone()]))]),B))):me.integration.stop();else if(re===.5&&Ke.power.equals(2)&&Ce.greaterThan(0))me.integration.stop();else if(Ke.isLinear()&&Ke.group!==Ie)Xe=e.divide(me.integration.poly_integrate(A),Ce);else{if(Ke.power.equals(2)&&Ce.greaterThan(0))return pe=e.parse(ut+M(Ce)),ue=e.parse(ut+M(Ee)),st=e.multiply(pe.clone(),ue.clone()).invert(),se=e.pow(Ee,new h(A.power)),te=t.Utils.getU(A),Bt=e.multiply(st,Ke.clone().toLinear()),D=e.parse(I+M(Bt)),rt=2*(Math.abs(A.power)-1),Jt=me.integrate(e.parse(j+M(te)+"^"+rt)),t.Utils.clearU(te),e.multiply(Jt.sub(te,D),se);if(A.group===ee||A.power.lessThan(0)){var ct=A.clone().toLinear(),wt=t.Algebra.Factor.factor(ct).toString()!==ct.toString();if(t.Algebra.degree(ct,e.parse(he)).equals(2)&&!wt)try{var Mt,qt,Ft=t.Algebra.sqComplete(ct,he);Bt=t.Utils.getU(ct),Mt=Ft.f.sub(Ft.a,Bt),qt=e.pow(Mt,e.parse(A.power)),Xe=me.integrate(qt,Bt).sub(Bt,Ft.a)}catch(tn){me.integration.stop()}else Xe=me.integration.partial_fraction(A,he,Ve,lt)}else Xe=me.integration.by_parts(A,he,Ve,lt)}Xe.multiplier=Xe.multiplier.multiply(H)}else if(et===De){var Tt=A.args[0],H=A.multiplier.clone();A.toUnitMultiplier();var Ze,ht,Et,Pt,Ye,nt,O,Z,g,Ce=(N=me.integration.decompose_arg(Tt,he))[0],Ke=N[1],E=A.fname;if(E===Oe||E===v||E==="acos"||E===I&&Ke.isLinear()){var T,re=A.power.toString();_(re)&&(Ve-=re),Xe=Tt.isComposite()?(Bt=t.Utils.getU(A),ct=e.pow(e.parse(Oe+M(Bt)),new h(re)),un=me.diff(Tt,he),T=e.multiply(ct,un),Jt=me.integrate(T,Bt,Ve,lt),e.multiply(e.parse(H),Jt.sub(Bt,Tt))):e.multiply(e.parse(H),me.integration.by_parts(A,he,Ve,lt))}else{if(E===d&&A.power.lessThan(0))return(en=A.clone()).power.negate(),en.fname=f,e.multiply(e.parse(H),me.integrate(en,he,Ve));if(!Ce.contains(he,!0)&&A.isLinear())if(E==="abs")(Ke=e.divide(Tt.clone(),Ce.clone())).group!==ve||Ke.power.lessThan(0)?me.integration.stop():Xe=t.Utils.even(Ke.power)?me.integrate(Tt,he,Ve):((g=me.integrate(Ke,he,Ve)).power=g.power.subtract(new r(1)),e.multiply(e.multiply(e.symfunction("abs",[Ke.toLinear()]),g),Ce));else{var s=A.args[0].group,x=me.integration.decompose_arg(Tt,he);switch((s!==Qe&&s!==ve&&s!==ee||!x[1].power.equals(1)||Tt.hasFunc())&&me.integration.stop(),E){case j:Xe=e.symfunction(at,[Tt]);break;case at:(Xe=e.symfunction(j,[Tt])).negate();break;case d:Xe=e.parse(R(a.LOG+"(sec({0}))",Tt));break;case c:Xe=e.parse(R(a.LOG+"(tan({0})+sec({0}))",Tt));break;case u:Xe=e.parse(R("-"+a.LOG+"(csc({0})+cot({0}))",Tt));break;case f:Xe=e.parse(R(a.LOG+"(sin({0}))",Tt));break;case q:Xe=e.symfunction(V,[Tt]);break;case V:Xe=e.symfunction(q,[Tt]);break;case Q:Xe=e.parse(R(a.LOG+"(cosh({0}))",Tt));break;case"asec":case"acsc":case"acot":case"asech":case"acsch":case"acoth":Xe=me.integration.by_parts(A,he,Ve,lt);break;case"sech":Xe=e.parse(R("atan(sinh({0}))",Tt));break;case"csch":Xe=e.parse(R(a.LOG+"(tanh(({0})/2))",Tt));break;case"coth":Xe=e.parse(R(a.LOG+"(sinh({0}))",Tt));break;case"exp":Xe=me.integrate(e.parse(R("e^({0})",Tt)),he,Ve);break;case"S":var Tt=A.args[0].clone(),C=(kt=me.integration.decompose_arg(Tt,he))[1],U=kt[0],G=kt[3];Xe=e.parse(R("(cos((1/2)*pi*(({1})+({0})*({2}))^2)+pi*(({1})+({0})*({2}))*S(({1})+({0})*({2})))/(({0})*pi)",U,G,Ke));break;case"C":Tt=A.args[0].clone(),C=(kt=me.integration.decompose_arg(Tt,he))[1],U=kt[0],G=kt[3],Xe=e.parse(R("(pi*(({1})+({0})*({2}))*C(({1})+({0})*({2}))-sin((1/2)*pi*(({1})+({0})*({2}))^2))/(({0})*pi)",U,G,C));break;case"erf":Tt=A.args[0].clone(),C=(kt=me.integration.decompose_arg(Tt,he))[1],U=kt[0],Xe=e.parse(R("e^(-(({2}))^2)/(({0})*sqrt(pi))+(1/({0})+({1}))*erf(({2}))",U,C,Tt));break;case"sign":Xe=e.multiply(A.clone(),Tt.clone());break;default:me.integration.stop()}Xe=e.divide(Xe,Ce)}else Ke.isLinear()?E===j||E===at?(re=Number(A.power),Xe=re<0?(A.fname=E===at?u:c,A.invert().updateHash(),me.integrate(A,he,Ve)):(Tt=A.args[0],Ze=A.clone(),ht=A.clone(),y=new h((re-1)/re),Et=e.multiply(Ce.clone(),new h(re)).invert(),Ze.power=Ze.power.subtract(new r(1)),ht.power=ht.power.subtract(new r(2)),dn=e.symfunction(E===j?at:j,[Tt.clone()]),E===at&&dn.negate(),e.add(e.multiply(e.multiply(Et,Ze),dn),e.multiply(y,me.integrate(e.parse(ht),he,Ve))))):E===d||E===f?A.args[0].isLinear(he)&&(rt=A.power.subtract(new r(1)).toString(),sn=A.clone().toUnitMultiplier(),Z=e.parse(R((E===f?"-":"")+"1/({2}*{0})*{3}({1})^({0})",rt,Tt,Ce,E)),sn.power=sn.power.subtract(new r(2)),sn.power.equals(0)&&(sn=e.parse(sn)),Xe=e.subtract(Z,me.integrate(sn,he,Ve))):E===c||E===u?(Pt=A.power.subtract(new r(1)).toString(),Ye=A.power.subtract(new r(2)).toString(),nt=E===c?d:f,sn=A.clone().toUnitMultiplier(),O=R((E===u?"-":"")+"1/({0}*{1})*{4}({3})^({2})*{5}({3})",Ce,Pt,Ye,Tt,E,nt),Z=e.parse(O),sn.power=sn.power.subtract(new r(2)),sn.power.equals(0)&&(sn=e.parse(sn)),Xe=e.add(Z,e.multiply(new h(Ye/Pt),me.integrate(sn,he,Ve)))):E!==V&&E!==q||!A.power.equals(2)?me.integration.stop():Xe=me.integrate(A.fnTransform(),he,Ve):me.integration.stop();Xe.multiplier=Xe.multiplier.multiply(H)}}else if(et===Ie)Xe=me.integration.partial_fraction(A,he,Ve);else if(et===ee){var Y=(A=A.getDenom().group===ve?e.expand(A):A).stripVar(he),ce=e.divide(A.clone(),Y.clone());if(Y.contains(he)&&(ce=e.multiply(ce,Y),Y=new h(1)),ce.group!==ee){if(ce.equals(1))return me.integrate(e.expand(A),he,Ve);ce.clone().toLinear().isPoly(!0)&&1<t.Utils.variables(ce).length&&(ce=t.Algebra.Factor.factor(ce)),Xe=me.integrate(ce,he,Ve)}else{var Me=ce.collectSymbols().sort(function(Dt,tn){return Dt.group===tn.group?Number(Dt.power)===Number(tn.power)?Dt<tn?1:-1:tn.power-Dt.power:tn.group-Dt.group}).map(function(Dt){return Dt=h.unwrapSQRT(Dt,!0),Dt.fname==="exp"?e.parse(R("({1})*e^({0})",Dt.args[0],Dt.multiplier)):Dt}),dt=Me.length;if(A.power<0){if(dt===2)return me.integrate(e.expand(A),he,Ve,lt)}else if(dt===2){try{Xe=me.integration.u_substitution(Me,he)}catch(Dt){}if(!Xe){var _t,$t,i,S,A,W,ke,Fe,ft,St,Vt,zt,oe,$,Ot,kt,xt,At,Gt,Kt,Jt,cn,nn,un,o,y,F,X,w,b,z,_e=Me[0].group,tt=Me[1].group,be=Me[0],$e=Me[1],pt=be.fname,vt=$e.fname;if(A=e.multiply(be.clone(),$e.clone()),_e===De&&tt===De)if(pt===Oe||vt===Oe)Xe=me.integration.by_parts(A.clone(),he,Ve,lt);else{Me.sort(function(Dt,tn){return tn.fname>Dt.fname});var p=be.args[0];p.isLinear()&&(p.group===Qe||p.group===ee||p.group===ve)||me.integration.stop(),Ke=(N=me.integration.decompose_arg(p,he))[1],Ce=N[0],Ke.isLinear()||me.integration.stop();var N,we,Re=$e.args[0];if(p.equals(Re))if(pt===at&&vt===j||pt===j&&vt===at)if(be.power.lessThan(0)&&me.integration.stop(),pt===at&&be.power.add($e.power).equals(0))be.fname=d,be.updateHash(),Xe=me.integrate(be,he,Ve);else if(ie(be.power)&&vt===j&&$e.power.lessThan(0)){var rt=Number(be.power)/2,mt=e.parse(R("(1-cos({0})^2)^({1})",be.args[0],rt));Xe=me.integrate(e.expand(e.multiply(mt,$e.clone())),he,Ve,lt)}else if(ie(be.power)&&vt===at&&$e.power.lessThan(0))rt=Number(be.power)/2,mt=e.parse(R("(1-sin({0})^2)^({1})",be.args[0],rt)),Xe=me.integrate(e.expand(e.multiply(mt,$e.clone())),he,Ve,lt);else{var It,Bt,Rt,jt,Ut,en,Wt=t.Utils.even(be.power),Qt=t.Utils.even($e.power);if(Xe=new h(0),Wt&&Qt)return Ce=(It=function(hn){var tn=hn.power/2,hn=hn.fname===j?"((1/2)+(cos(2*("+hn.args[0]+"))/2))^"+tn:"((1/2)-(cos(2*("+hn.args[0]+"))/2))^"+tn;return e.parse(hn)})(be),Ee=It($e),dn=e.multiply(Ce,Ee),(en=e.expand(dn)).each(function(Dt){Xe=e.add(Xe,me.integrate(Dt,he,Ve))}),e.multiply(Xe,Y);sn=Wt?(Bt=be,$e):(Bt=$e,be),Rt=Bt.fname===j?-1:1,jt=((rt=sn.power)-1)/2,Ut=e.parse("(1-"+Bt.fname+t.Utils.inBrackets(p)+"^2)^"+jt),(en=e.expand(e.multiply(new h(Rt),e.multiply(Bt.clone(),Ut)))).each(function(Dt){Xe=e.add(Xe,me.integration.poly_integrate(Dt.clone()))})}else pt===c&&vt===d&&Ke.isLinear()&&$e.isLinear()?Xe=e.parse(R("sec({0})^({1})/({1})",be.args[0],be.power)):pt===d&&vt===c&&Ke.isLinear()?be.isLinear()&&$e.isLinear()?Xe=e.divide(e.symfunction(c,[p.clone()]),Ce):ie(be.power)?(re=Number(be.power)/2,dn=e.parse(R("(sec({0})^2-1)^({1})",be.args[0],re)),Xe=me.integrate(e.expand(e.multiply(dn,$e)),he,Ve)):me.integration.stop():Xe=pt===c&&vt===j?(be.fname=j,be.invert().updateHash(),me.integrate(e.multiply(be,$e),he,Ve)):pt===at&&vt===u?($e.fname=at,$e.invert().updateHash(),me.integrate(e.multiply(be,$e),he,Ve)):(dn=pt!==d||vt!==j&&vt!==at||!$e.power.lessThan(0)?e.multiply(be.fnTransform(),$e.fnTransform()):e.multiply(be.fnTransform(),$e),me.integrate(e.expand(dn),he,Ve));else pt!==at&&pt!==j||vt!==at&&vt!==j?me.integration.stop():be.isLinear()&&$e.isLinear()?Xe=be.args[0].isLinear()&&$e.args[0].isLinear()?(vt===at?(xe=be.args[0],we=$e.args[0]):(we=be.args[0],xe=$e.args[0]),ct=e.parse(R("(sin(({1})+({0}))+sin(({1})-({0})))/2",xe.toString(),we.toString())),me.integrate(ct,he,Ve)):(vn=yt(Me),me.integrate(e.expand(vn),he,Ve)):(vn=new h(1),Me.map(function(Dt){Dt=Dt.fnTransform(),vn=e.multiply(vn,Dt)}),dn=e.expand(vn),(Xe=me.integrate(dn,he,Ve)).hasIntegral()&&(Xe=me.integrate(yt(vn.collectSymbols()),he,Ve)))}else _e===De&&tt===ve?(_t=be.isLinear(),be.fname===j&&_t&&$e.power.equals(-1)?Xe=e.symfunction("Ci",[be.args[0]]):be.fname===j&&$e.power.equals(-1)?Xe=me.integrate(e.multiply(be.fnTransform(),$e.clone()),he,Ve):be.fname===V&&_t&&$e.power.equals(-1)?Xe=e.symfunction("Chi",[be.args[0]]):be.fname===V&&$e.power.equals(-1)?Xe=me.integrate(e.multiply(be.fnTransform(),$e.clone()),he,Ve):be.fname===at&&_t&&$e.power.equals(-1)?Xe=e.symfunction("Si",[be.args[0]]):be.fname===at&&$e.power.equals(-1)?Xe=me.integrate(e.multiply(be.fnTransform(),$e.clone()),he,Ve):be.fname===q&&_t&&$e.power.equals(-1)?Xe=e.symfunction("Shi",[be.args[0]]):be.fname===q&&$e.power.equals(-1)?Xe=me.integrate(e.multiply(be.fnTransform(),$e.clone()),he,Ve):be.fname===Oe&&$e.power.equals(-1)?Xe=me.integration.poly_integrate(be,he,Ve):be.fname==="erf"?$e.power.equals(1)&&(U=(kt=me.integration.decompose_arg(be.args[0],he))[0],C=kt[1],Tt=be.args[0].toString(),Xe=e.parse(R("(e^(-(({2}))^2)*(sqrt(pi)*e^((({2}))^2)*(2*({0})^2*({1})^2-3)*erf(({2}))+2*({0})*({1})-2))/(4*sqrt(pi)*({0})^2)",U,C,Tt))):Xe=me.integration.by_parts(A,he,Ve,lt)):_e===Te&&tt===ve?(Ke=pt===Oe?me.integration.decompose_arg(be.args[0],he)[1]:null,Xe=be.isE()&&(be.power.group===ve||be.power.group===ee)&&$e.power.equals(-1)?e.symfunction("Ei",[be.power.clone()]):pt===Oe&&Ke.value===$e.value?me.integration.poly_integrate(be,he,Ve):me.integration.by_parts(A,he,Ve,lt)):_e===Ie&&tt===ve?(A=$e.value===be.value&&be.power.equals(-1)?($t=Math.min.apply(null,t.Utils.keys(be.symbols)),i=Math.min($t,$e.power),(S=$e.clone()).power=new r(i),$e=e.divide($e,S.clone()),dn=new h(0),be.each(function(Dt){dn=e.add(dn,e.divide(Dt.clone(),S.clone()))}),dn.multiplier=be.multiplier,e.divide($e,dn)):e.expand(A),Xe=me.integration.partial_fraction(A,he,Ve)):_e===Qe&&tt===ve?(ct=be.clone().toLinear(),W=t.Algebra.degree(ct,e.parse(he)).equals(1),be.power.equals(-.5)?(Ce=(N=me.integration.decompose_arg(be.clone().toLinear(),he))[0].negate(),Ke=N[1],Ee=N[3],cn=Number(be.power),nn=Number($e.power),_(nn)&&t.Utils.even(nn)&&Ke.power.equals(2)?(xt=e.divide(e.multiply(e.pow(Ee.clone(),new h(2)),e.symfunction(ut,[e.divide(Ee.clone(),Ce.clone())])),e.pow(Ce.clone(),new h(2))),xt=e.multiply(xt,e.symfunction(ut,[Ee]).invert()),(ke=e.parse("sin(u)")).power=ke.power.multiply($e.power),Jt=me.integrate(ke,"u",Ve),Fe=e.parse("asin(sqrt("+Ce+"/"+Ee+")*"+he+")"),Xe=e.multiply(xt,Jt.sub(new h("u"),Fe))):cn===-.5&&(ft=function(Dt,tn){if(Dt=e.parse(me.integrate(Dt,he,Ve,lt).sub(he,R(tn,he))),!Dt.hasIntegral())return Dt},nn===-1?Xe=ft(e.expand(e.expand(e.pow(e.multiply(be.invert(),$e.invert()),new h(2)))).invert(),"sqrt(1-1/({0})^2)"):nn===-2&&(Xe=ft(e.sqrt(e.expand(e.divide(e.pow(A,new h(2)).invert(),e.pow(new h(he),new h(2))).negate())).invert(),"sqrt(1-1/({0})^2)")))):be.power.equals(-1)&&$e.isLinear()&&W?Xe=me.integration.partial_fraction(A,he,Ve):!be.power.lessThan(0)&&_(be.power)?(St=e.expand(be),Xe=new h(0),St.each(function(Dt){Dt.group===Ie?Dt.each(function(tn){Xe=e.add(Xe,me.integrate(e.multiply($e.clone(),tn),he,Ve))}):Xe=e.add(Xe,me.integrate(e.multiply($e.clone(),Dt),he,Ve))})):be.power.lessThan(-2)?Xe=me.integration.by_parts(A,he,Ve,lt):be.power.lessThan(0)&&$e.power.greaterThan(1)?(Ce=(N=me.integration.decompose_arg(be.clone().toLinear(),he))[0].negate(),Ke=N[1],Ee=N[3],J=be.clone().toLinear(),Xe=Ke.group!==Ie&&Ke.isLinear()?(re=Number($e.power),Bt=new h(un="_u_"),Vt=e.expand(e.divide(e.pow(e.subtract(Bt.clone(),Ee.clone()),new h(re)),Bt.clone())),(zt={})[un]=J,oe=e.parse(Vt,zt),me.integrate(oe,he,0)):$e.power.greaterThan(Ke.power)||$e.power.equals(Ke.power)?($=new t.Algebra.Classes.Factors,be=t.Algebra.Factor.coeffFactor(be.invert(),$),(Ot=t.Algebra.divide($e,be)).group!==ee?(Xe=new h(0),Ot.each(function(Dt){Xe=e.add(Xe,me.integrate(Dt,he,Ve))}),$.each(function(Dt){Xe=e.divide(Xe,Dt)}),e.expand(Xe)):me.integration.by_parts(A,he,Ve,lt)):me.integration.partial_fraction(A,he,Ve)):be.power.den.equals(2)?(Ce=(kt=me.integration.decompose_arg(be.clone().toLinear(),he))[3],Ke=kt[1],Ee=kt[0],we=kt[2],Xe=Ke.power.equals(2)&&Ee.lessThan(0)?(Ce.equals(1)||(Y=e.multiply(Y,e.pow(Ce,new h(2)))),Bt=he,xt=e.divide(e.pow(Ee.clone().negate(),new h(.5)),e.pow(Ce,new h(.5))),un=e.symfunction(j,[new h(Bt)]),At=e.pow(e.symfunction(j,[new h(Bt)]),new h(be.power.num)),Gt=e.pow(e.symfunction(at,[new h(Bt)]),new h($e.power)),Kt=e.multiply(e.multiply(At,un),Gt),(Jt=me.integrate(Kt,Bt,Ve)).sub(Bt,e.symfunction(v,[e.multiply(new h(he),xt)]))):me.integration.partial_fraction(A,he,Ve,lt)):W&&(Xe=me.integration.partial_fraction(A,he,Ve))):be.isComposite()&&$e.isComposite()?(Xe=new h(0),be.power.greaterThan(0)&&$e.power.greaterThan(0)?(en=e.expand(A)).each(function(Dt){Xe=e.add(Xe,me.integrate(Dt,he,Ve))},!0):(cn=Number(be.power),nn=Number($e.power),cn<0&&0<nn&&(dn=be,be=$e,$e=dn),cn===-1&&nn===-1?Xe=me.integration.partial_fraction(A,he):be.each(function(Dt){Dt=e.multiply(Dt,$e.clone()),Dt=me.integrate(Dt,he,Ve),Xe=e.add(Xe,Dt)}))):_e===Qe&&Me[0].power.greaterThan(0)?(be=e.expand(be),Xe=new h(0),be.each(function(Dt){Xe=e.add(Xe,me.integrate(e.multiply(Dt,$e.clone()),he,Ve))},!0)):_e===De&&tt===Te&&t.Utils.in_htrig(be.fname)?(be=be.fnTransform(),Xe=me.integrate(e.expand(e.multiply(be,$e)),he,Ve)):_e===De&&tt===Qe||tt===De&&_e===Qe?(tt===De&&_e===Qe&&(dn=be,be=$e,$e=dn),un=h.unwrapSQRT(me.diff(be.clone(),he),!0),o=h.unwrapSQRT($e,!0),un.power.equals(o.power)?(re=new h($e.power),F=un.clone().toLinear(),X=$e.clone().toLinear(),(y=t.Algebra.divide(F.toLinear(),X)).isConstant()&&(w=e.pow(y,re.negate()),Xe=e.multiply(w,me.integration.poly_integrate(be.clone())))):Xe=me.integration.by_parts(A,he,Ve,lt)):(b=be.clone().toLinear(),z=$e.clone().toLinear(),Xe=_e===Te&&tt===Te&&be.power.contains(he)&&$e.power.contains(he)&&!b.contains(he)&&!z.contains(he)?e.parse(R("(({0})^(({2})*({4}))*({1})^(({3})*({4})))/(log(({0})^({2}))+log(({1})^({3})))",b.toString(),z.toString(),be.power.multiplier.toString(),$e.power.multiplier.toString(),he)):me.integration.by_parts(A,he,Ve,lt))}}else if(dt===3&&(Me[2].group===ve&&Me[2].power.lessThan(2)||Me[0].group===Qe)){var sn,ln=Me[0];ln.group===Qe?(ln.power.greaterThan(1)&&(ln=e.expand(ln)),sn=e.multiply(Me[1],Me[2]),Xe=new h(0),ln.each(function(Dt){Dt=e.multiply(Dt,sn.clone()),Dt=me.integrate(Dt,he,Ve),Xe=e.add(Xe,Dt)},!0)):Xe=me.integration.by_parts(A,he,Ve,lt)}else if(ye(Me)){for(var dn=new h(1),En=0,dt=Me.length;En<dt;En++)dn=e.multiply(dn,Me[En].fnTransform());dn=e.expand(dn),Xe=me.integrate(dn,he,Ve)}else{var vn=yt(Me);Xe=me.integrate(e.expand(vn),he,Ve)}}Xe=e.multiply(Xe,Y)}}else Xe=e.multiply(A.clone(),e.parse(he));if(Xe)return Xe}catch(Dt){if(!(Dt instanceof le||Dt instanceof t.exceptions.DivisionByZero))throw Dt}return e.symfunction("integrate",[Ue,Le])},!1)))},defint:function(Ue,Le,Ve,lt){lt=lt||"x";function Nt(et,Lt,H){try{return e.parse(et,Lt)}catch(P){return me.Limit.limit(et,lt,H)}}var Ct,Xe=t.Utils.variables(Ue),he=Ue.hasTrig();return Xe.length!==1||lt||(lt=Xe[0]),he||(Ct=me.integrate(Ue,lt)),he||Ct.hasIntegral()?Xe.length===1&&Le.isConstant()&&Ve.isConstant()?(he=t.Utils.build(Ue),new h(t.Math2.num_integrate(he,Number(Le),Number(Ve)))):e.symfunction("defint",[Ue,Le,Ve,lt]):(Xe={},(he={})[lt]=Ve,Xe[lt]=Le,Ue=Nt(Ct,he,Ve),he=Nt(Ct,Xe,Le),e.subtract(Ue,he))},Limit:{interval:function(Ue,Le){return e.parse(R("[{0}, {1}]",Ue,Le))},diverges:function(){return me.Limit.interval("-Infinity","Infinity")},divide:function(Ue,Le,Ve,lt,Nt){if(!(Nt++>a.max_lim_depth)){Ue.clone();var Ct=Le.clone();if(Le.fname==="abs"){var Xe=Ue.sign(),he=lt.sign();if(lt.isInfinity)return e.multiply(new h(Xe),new h(he));if(lt.equals(0))return Xe=e.parse(Ue.multiplier),he=e.parse(Le.multiplier),e.divide(e.multiply(Xe,me.Limit.interval("-1","1")),he);me.Limit.diverges()}var et=function(ue){if(t.Utils.isVector(ue)){for(var st=0;st<ue.elements.length;st++)if(!ue.elements[st].isInfinity)return!1;return!0}return ue.isInfinity},Lt=function(ue,st){return!t.Utils.isVector(ue)&&ue.equals(st)};do var H,P,B=K(me.Limit.limit(Ue.clone(),Ve,lt,Nt)),fe=K(me.Limit.limit(Le.clone(),Ve,lt,Nt)),pe=et(B)&&et(fe)||Lt(B,0)&&Lt(fe,0);while(pe&&(P=me.diff(Ue.clone(),Ve),H=me.diff(Le.clone(),Ve),Ue=(P=e.expand(e.divide(P,H))).getNum(),Le=P.getDenom()),pe);return Xe=fe.equals(0),he=Number(Ct.power),lt.isConstant(!0)&&Xe?h.infinity(t.Utils.even(he)&&B.lessThan(0)?-1:void 0):Xe?me.Limit.diverges():e.divide(B,fe)}},rewriteToLog:function(Ue){var Le=Ue.power.clone();return Ue.toLinear(),e.pow(new h("e"),e.multiply(Le,e.symfunction(a.LOG+"",[Ue])))},getSubbed:function(Ue,Le,Ve){var lt;Ue.group===Te&&(Ue=me.rewriteToLog(Ue));try{lt=Ue.sub(Le,Ve)}catch(Nt){lt=Ue}return lt},isInterval:function(Ue){return t.Utils.isVector(Ue)},isConvergent:function(Ue){return!(me.Limit.isInterval(Ue)&&Ue.elements[0].isInfinity&&Ue.elements[1].isInfinity||Ue.containsFunction("limit"))},limit:function(Ue,Le,Ve,lt){var Nt;if(Ue.isLinear()&&Ue.isComposite())return Nt=new h(0),Ue.each(function(Be){Nt=e.add(Nt,me.Limit.limit(Be,Le,Ve,lt))},!0),Nt;if(Ue=t.Algebra.Simplify.simplify(Ue),lt=lt||1,!(lt++>a.max_lim_depth)){var Ct=e.parse(Ue.multiplier);Ue.toUnitMultiplier();try{if(Ue.isConstant(!0))ue=Ue;else{var Xe={};Xe[Le]=Ve;try{var he=e.parse(Ue.sub(Le,Ve),Xe);(he.isConstant(!0)||he.isInfinity)&&(ue=he)}catch(Be){}if(!ue){var et=Ue.getNum(),Lt=Ue.getDenom();if(Lt.isConstant(!0)){if(Ue.group===Te){var H,P,B,fe,pe,ue,st=Ue.clone().toLinear(),se=(Ue.power.clone(),st.getNum()),te=st.getDenom(),D=t.Utils.decompose_fn(te,Le,!0);ue=se.group===ve&&se.multiplier.isOne()&&D.ax.group===ve&&D.b.isConstant(!0)&&D.a.isOne()&&D.b.isConstant(!0)?e.parse(R("(1/e^({0}))",D.b)):(P=(H=me.Limit.rewriteToLog(Ue.clone())).power.clone(),B=H.clone().toLinear(),fe=me.Limit.limit(B,Le,Ve,lt),pe=me.Limit.limit(P,Le,Ve,lt),e.pow(fe,pe))}else if(Ue.group===De&&Ue.args.length===1){var re,J=me.Limit.limit(Ue.args[0],Le,Ve,lt);if(t.Utils.isVector(J))return ue=J.map(function(Be){return Ue.clone().args[0]=Be,me.Limit.limit(e.symfunction(Ue.fname,[Be]),Le,Ve,lt)}),e.multiply(Ct,ue);if(J.isConstant(!0)){var Ee=e.symfunction(Ue.fname,[J]);try{K(Ee),re=!0}catch(Be){re=!1}}if(re)ue=Ee;else if(me.Limit.isConvergent(J))if(Ue.fname===Oe)switch(J.toString()){case"0":ue=h.infinity().negate();break;case"Infinity":case"-Infinity":ue=h.infinity()}else if(Ue.fname!==j&&Ue.fname!==at||!Ve.isInfinity){if(Ue.fname===d){var xe=Ue.args[0],Ce=xe.getNum(),Ke=xe.getDenom(),Ne=Ce.toUnitMultiplier();(Ve.isInfinity||Ne.equals("pi")&&Ke.equals(2))&&(ue=divergent())}else if(Ue.fname===a.FACTORIAL&&J.isInfinity)return h.infinity()}else ue=me.Limit.interval(-1,1)}else if(Ue.group===ve){if(0<Ue.power)return e.parse(Ue,Xe);ue=t.Utils.even(Ue.power)?h.infinity():me.Limit.diverges()}else if(Ue.group===ee){for(var st=(ge=Ue.collectSymbols().sort(function(ct,wt){return ct.group-wt.group})).pop(),We=K(me.Limit.limit(st,Le,Ve,lt));ge.length;){var ae=ge.pop(),Ge=K(me.Limit.limit(ae,Le,Ve,lt));We.isInfinity||!me.Limit.isConvergent(We)&&Ge.equals(0)||We.equals(0)&&me.Limit.isConvergent(Ge)?((ae=ae.containsFunction(Oe)?[st,st=ae][0]:ae).invert(),We=We.isInfinity&&Ge.isInfinity?h.infinity():me.Limit.divide(st,ae,Le,Ve,lt)):(We=e.multiply(We,Ge),st=e.multiply(st,ae))}ue=We}else if(Ue.isComposite()){Ue.isLinear()||(Ue=e.expand(Ue)),ue=new h(0);for(var He,ge=Ue.collectSymbols().sort(function(Be,ct){return ct.group-Be.group}),Je=[],gt=new h(0),ne=0,Se=ge.length;ne<Se;ne++)(qe=ge[ne].clone()).group===De||qe.group===ee&&qe.hasFunc()?gt=e.add(gt,qe):Je.push(qe);for(Je.unshift(gt),Je.length!==1&&(ge=Je),ne=0,Se=ge.length;ne<Se;ne++){var qe=ge[ne];try{He=me.Limit.limit(qe,Le,Ve,lt)}catch(Be){He=me.Limit.diverges()}try{ue=e.add(ue,He)}catch(Be){if(lt++>a.max_lim_depth)return;ue=me.Limit.limit(me.diff(Ue,Le),Le,Ve,lt)}}}}else ue=me.Limit.divide(et,Lt,Le,Ve,lt)}}ue=ue||e.symfunction("limit",[Ue,Le,Ve])}catch(Be){ue=e.symfunction("limit",[Ue,Le,Ve])}return e.multiply(Ct,ue)}}},Fresnel:{S:function(Ue){return Ue.isConstant(!0)?me.defint(e.parse("sin(pi*x^2/2)"),h(0),Ue,"x"):e.symfunction("S",arguments)},C:function(Ue){return Ue.isConstant(!0)?me.defint(e.parse("cos(pi*x^2/2)"),h(0),Ue,"x"):e.symfunction("C",arguments)}}});fr.register([{name:"diff",visible:!0,numargs:[1,3],build:function(){return me.diff}},{name:"sum",visible:!0,numargs:4,build:function(){return me.sum}},{name:"product",visible:!0,numargs:4,build:function(){return me.product}},{name:"integrate",visible:!0,numargs:[1,2],build:function(){return me.integrate}},{name:"defint",visible:!0,numargs:[3,4],build:function(){return me.defint}},{name:"S",visible:!0,numargs:1,build:function(){return me.Fresnel.S}},{name:"C",visible:!0,numargs:1,build:function(){return me.Fresnel.C}},{name:"limit",visible:!0,numargs:[3,4],build:function(){return me.Limit.limit}}]),fr.updateAPI()}(),typeof ti!="undefined"&&(fr=N0(),V0(),z0()),function(){var t,e=fr.getCore(),r=e.PARSER,a=e.Algebra,l=e.Calculus,h=l.integration.decompose_arg,L=e.Utils.evaluate,M=e.Utils.remove,_=e.Utils.format,R=e.Utils.build,ie=e.Utils.knownVariable,K=e.Symbol,de=e.Utils.isSymbol,ve=e.Utils.variables,De=e.groups.S,Ie=e.groups.PL,Qe=e.groups.CB,ee=e.groups.CP,Te=e.groups.FN,ze=e.Settings,Oe=e.Utils.range,ut=e.Utils.isArray;function at(f,v){if(v.isConstant()&&f.isConstant()&&!f.equals(v)||f.equals(e.Settings.IMAGINARY)&&v.isConstant(!0)||v.equals(e.Settings.IMAGINARY)&&f.isConstant(!0))throw new e.exceptions.NerdamerValueError(f.toString()+" does not equal "+v.toString());this.LHS=f,this.RHS=v}e.Settings.SOLVE_RADIUS=1e3,e.Settings.ROOTS_PER_SIDE=10,e.Settings.make_pi_conversions=!1,e.Settings.STEP_SIZE=.1,e.Settings.EPSILON=1e-13,e.Settings.MAX_NEWTON_ITERATIONS=200,e.Settings.MAX_NON_LINEAR_TRIES=12,e.Settings.NON_LINEAR_JUMP_AT=50,e.Settings.NON_LINEAR_JUMP_SIZE=100,e.Settings.NON_LINEAR_START=.01,e.Settings.NEWTON_SLICES=200,e.Settings.NEWTON_EPSILON=2*Number.EPSILON,e.Settings.SOLUTION_PROXIMITY=1e-14,e.Settings.FILTER_SOLUTIONS=!0,e.Settings.MAX_SOLVE_DEPTH=10,e.Settings.ZERO_EPSILON=1e-9,e.Settings.MAX_BISECTION_ITER=2e3,e.Settings.BI_SECTION_EPSILON=1e-12,e.Symbol.prototype.hasTrig=function(){return this.containsFunction(["cos","sin","tan","cot","csc","sec"])},e.Symbol.prototype.hasNegativeTerms=function(){if(this.isComposite())for(var f in this.symbols){var v=this.symbols[f];if(v.group===Ie&&v.hasNegativeTerms()||this.symbols[f].power.lessThan(0))return!0}return!1},at.prototype={toString:function(){return this.LHS.toString()+"="+this.RHS.toString()},text:function(f){return this.LHS.text(f)+"="+this.RHS.text(f)},toLHS:function(f){var I=(v=(f=f===void 0)?this.removeDenom():this.clone()).LHS,v=v.RHS,I=(I.isConstant(!0)&&!v.isConstant(!0)&&([I,v]=[v,I]),r.subtract(I,v));return new at(f?r.expand(I):I,new K(0)).removeDenom().LHS},removeDenom:function(){var f=this.LHS.clone(),v=this.RHS.clone(),I=r.multiply(f.getDenom(),v.getDenom());if(f=r.expand(r.multiply(f,I.clone())),(v=r.expand(r.multiply(v,I))).group===ee&&v.group!==ee&&(q=f,f=v,v=q),f.group===Qe){var q=new K(f.multiplier),V=v.clone();f.each(function(Ae){Ae.power.lessThan(0)?V=r.divide(V,Ae):q=r.multiply(q,Ae)}),f=q,v=V}else if(f.group===ee)for(var Q in f.symbols){var le=f.symbols[Q];if(le.group===Qe){for(var ye in le.symbols)if(ye=le.symbols[ye],ye.power.lessThan(0))return new at(r.expand(r.multiply(ye.clone().toLinear(),f)),r.expand(r.multiply(ye.clone().toLinear(),v)))}}return new at(f,v)},clone:function(){return new at(this.LHS.clone(),this.RHS.clone())},sub:function(f,v){var I=this.clone();return I.LHS=I.LHS.sub(f.clone(),v.clone()),I.RHS=I.RHS.sub(f.clone(),v.clone()),I},isZero:function(){return e.Utils.evaluate(this.toLHS()).equals(0)},latex:function(f){return[this.LHS.latex(f),this.RHS.latex(f)].join("=")}},r.equals=function(f,v){return new at(f,v)},t=r.functions.simplify[0],r.functions.simplify[0]=function(f){return f instanceof at?(f.LHS=t(f.LHS),f.RHS=t(f.RHS),f):t(f)},e.Expression.prototype.equals=function(f){return f instanceof e.Expression&&(f=f.symbol),new at(this.symbol,f)},e.Expression.prototype.solveFor=function(f){var v;if(this.symbol instanceof at){if(this.symbol.LHS.isConstant()&&this.symbol.RHS.equals(f))return new e.Expression(this.symbol.LHS);if(this.symbol.RHS.isConstant()&&this.symbol.LHS.equals(f))return new e.Expression(this.symbol.RHS);v=this.symbol.toLHS()}else v=this.symbol;return u(v,f).map(function(I){return new e.Expression(I)})},e.Expression.prototype.expand=function(){var f;return this.symbol instanceof at?((f=this.symbol.clone()).RHS=r.expand(f.RHS),f.LHS=r.expand(f.LHS),new e.Expression(f)):new e.Expression(r.expand(this.symbol))},e.Expression.prototype.variables=function(){return this.symbol instanceof at?e.Utils.arrayUnique(ve(this.symbol.LHS).concat(ve(this.symbol.RHS))):ve(this.symbol)};function j(f,v){return r.equals(f,v)}e.Equation=at;var d=e.Utils.checkAll=function(f,v){for(var I=0;I<f.length;I++)if(v(f[I]))return!1;return!0},c=e.Solve={version:"2.0.3",solutions:[],solve:function(f,v){return f=u(f,String(v)),new e.Vector(f)},toLHS:function(f,v){var I;return de(f)?f:(f instanceof at||((I=f.split("="))[1]=I[1]||"0",f=new at(r.parse(I[0]),r.parse(I[1]))),f.toLHS(v))},solveCircle:function(f,v){for(var I=v.map(function(me){return r.parse(me)}),q=[],V=[],Q=0;Q<f.length;Q++){for(var le=[],ye=0;ye<I.length;ye++)le.push(Number(e.Algebra.degree(f[Q],I[ye])));le.push(e.Utils.arraySum(le,!0)),q.push(le)}var Ae,je,it=f[0],yt=f[1];return q[0][2]>q[1][2]&&([yt,it]=[it,yt],[q[1],q[0]]=[q[0],q[1]]),q[0][0]===1&&q[0][2]===2&&q[1][0]===2&&q[1][2]===4&&(Ae=v[0],v=v[1],yt=u(r.parse(yt,ie(Ae,u(r.parse(it),Ae)[0])),v).map(function(me){return me.toString()}),je=[u(r.parse(it,ie(v,yt[0])))[0].toString()],yt[1]&&je.push(u(r.parse(it,ie(v,yt[1])))[0].toString()),ze.SOLUTIONS_AS_OBJECT?((V={})[Ae]=je,V[v]=yt):(yt.unshift(v),je.unshift(Ae),V=[je,yt])),V},solveNonLinearSystem:function(f,v,I){if(v<0)return[];I=I===void 0?e.Settings.NON_LINEAR_START:I;var q,V,Q,le,ye,yt=e.Settings.MAX_NON_LINEAR_TRIES,Ae=Math.floor(yt/2),je=(v=v===void 0?yt:v,e.Settings.NON_LINEAR_JUMP_AT),it=e.Settings.NON_LINEAR_JUMP_SIZE,yt=!0,me=e.Utils.arrayGetVariables(f),Ue=e.Matrix.jacobian(f,me,function(et){return R(et,me)},!0),Le=e.Settings.MAX_NEWTON_ITERATIONS,Ve=f.map(function(et){return R(et,me)}),lt=Ue.map(function(et){return R(et,me)},!0),Nt=e.Matrix.cMatrix(0,me),Ct=e.Matrix.cMatrix(I,me),Xe=0;do{if(Le<Xe)break;q=function(et,Lt){return et.map(function(H,P){return Number(Lt.get(P,0))})}(me,Ct),le=Ct.clone(),Ve.forEach(function(et,Lt){Ct.set(Lt,0,et.apply(null,q))});var he=new e.Matrix;if(lt.each(function(et,Lt,H){et=et.apply(null,q),he.set(Lt,H,et)}),he=he.invert(),ye=(V=r.multiply(he,Ct).negate()).subtract(Nt,function(et){return r.parse(Number(et))}),Nt=le.add(V,function(et){return r.parse(Number(et))}),Ct=Nt,je<=Xe&&1<Q)return v===Ae&&(I=0),I+=(Ae<v?1:-1)*(n=v%Math.floor(Ae)+1)*it,c.solveNonLinearSystem(f,--v,I)}while(le=Q,Xe++,Q=ye.max(),Number(Q)!==Number(le)&&Number(Q)>=Number.EPSILON);return yt?c.systemSolutions(Ct,me,!0,function(et){return e.Utils.round(Number(et),14)}):[]},systemSolutions:function(f,v,I,q){var V=e.Settings.SOLUTIONS_AS_OBJECT?{}:[];return f.each(function(Ae,le){var ye=(I?r.expand(Ae):Ae).valueOf(),Ae=(q&&(ye=q.call(Ae,ye)),v[le]);e.Settings.SOLUTIONS_AS_OBJECT?V[Ae]=ye:V.push([Ae,ye])}),V},solveSystemBySubstitution:function(f){var v=ve(f[0]),I=ve(f[1]);return f.length===2&&v.length===2&&e.Utils.arrayEqual(v,I)?c.solveCircle(f,v):[]},solveSystem:function(f,v){for(var I=0;I<f.length;I++)f[I]=c.toLHS(f[I]);var q,V=f.length,Q=new e.Matrix,le=new e.Matrix,ye=!1;if(v===void 0){if(!a.allLinear(f))try{return c.solveNonLinearSystem(f)}catch(B){if(B instanceof e.exceptions.DivisionByZero)return c.solveSystemBySubstitution(f)}if((q=e.Utils.arrayGetVariables(f)).length===1){var Ae,je=0;do var it=f[je].clone();while(0<je&&(it=it.sub(q[0],Ae[0])),Ae=u(it,q[0]),++je<f.length);return ze.SOLUTIONS_AS_OBJECT?(Ue={})[q[0]]=Ae:Ue=Ae.length===0?Ae:[q[0],Ae],Ue}if(q.length<f.length){for(var yt=[],je=f.length,I=0;I<je-1;I++)yt.push(r.parse(f[I]));for(var me={},Ue=c.solveSystem(yt,q),Le=(Array.isArray(Ue)?Ue.forEach(function(fe){me[fe[0]]=fe[1]}):me=Ue,!0),I=je-1;I<je;I++)r.parse(f[I],me).equals(0)||(Le=!1);if(Le)return Ue}for(I=0;I<q.length;I++)fr.setVar(q[I],"delete");for(I=0;I<V;I++){for(var it=f[I],Ve=0;Ve<q.length;Ve++){var lt=q[Ve],Nt=[],Ct=(it.each(function(fe){fe.contains(lt)&&(Nt=Nt.concat(fe.coeffs()))}),e.Utils.arraySum(Nt));Q.set(I,Ve,Ct)}var Xe=it.clone();q.map(function(B){Xe=Xe.stripVar(B,!0)}),le.set(I,0,Xe.negate())}}else for(q=v,ye=!0,I=0;I<V;I++){for(le.set(I,0,new K(0)),it=r.expand(f[I]).collectSymbols(),Ve=0;Ve<v.length;Ve++){Q.set(I,Ve,new K(0));for(var lt=v[Ve],he=0;he<it.length;he++){for(var et,Lt=it[he],H=!1,P=0;P<v.length;P++)Lt.contains(v[P])&&(H&&e.err("Multiple variables found for term "+Lt),H=!0);Lt.contains(lt)&&(et=h(M(it,he),lt),Q.set(I,Ve,r.add(Q.get(I,Ve),et[0])))}}for(he=0;he<it.length;he++)le.set(I,0,r.add(le.get(I,0),it[he]))}if(q.length!==f.length||Q.determinant().equals(0))throw new e.exceptions.SolveError("System does not have a distinct solution");return Ue=(Q=Q.invert()).multiply(le),e.Utils.isArray(v)&&Ue.each(function(B){return B.negate()}),c.systemSolutions(Ue,q,ye)},quad:function(f,v,I){return f=r.subtract(r.pow(v.clone(),K(2)),r.multiply(r.multiply(I.clone(),f.clone()),K(4))),f=r.expand(f),f=r.pow(f,K(.5)),I=r.parse(r.multiply(new K(2),I.clone())),[r.parse(_("(-({0})+({1}))/({2})",v,f,I)),r.parse(_("(-({0})-({1}))/({2})",v,f,I))]},cubic:function(f,v,I,q){return q=q.text(),I=I.text(),v=v.text(),f=`(-(${I})^3/(27*(${q})^3)+(${I})*(${v})/(6*(${q})^2)-(${f.text()})/(2*(${q})))`,v=`((${v})/(3*(${q}))-(${I})^2/(9*(${q})^2))`,f=`((${f})+sqrt((${f})^2+(${v})^3))^(1/3)+((${f})-sqrt((${f})^2+(${v})^3))^(1/3)-(${`(${I})/(3*(${q}))`})`,v="1/2+sqrt(3)/2*i",[r.parse(f),r.parse(`(${f})(${v})`),r.parse(`(${f})(${v})^2`)]},quartic:function(f,v,I,q,V){var Q,le,ye,Ae={};return e.Utils.arrayUnique(ve(V).concat(ve(q)).concat(ve(I)).concat(ve(v)).concat(ve(f))).map(function(je){Ae[je]=1}),V=V.toString(),q=q.toString(),I=I.toString(),v=v.toString(),f=f.toString(),Q=r.parse(_("(8*({0})*({2})-3*({1})^2)/(8*({0})^2)",V,q,I)).toString(),le=r.parse(_("(({1})^3-4*({0})*({1})*({2})+8*({0})^2*({3}))/(8*({0})^3)",V,q,I,v)).toString(),ye=r.parse(_("12*({0})*({4})-3*({1})*({3})+({2})^2",V,q,I,v,f)).toString(),I=r.parse(_("2*({2})^3-9*({1})*({2})*({3})+27*({1})^2*({4})+27*({0})*({3})^2-72*({0})*({2})*({4})",V,q,I,v,f)).toString(),v=r.parse(_("((({1})+(({1})^2-4*({0})^3)^(1/2))/2)^(1/3)",ye,I)).toString(),De=r.parse(_("(1/2)*(-(2/3)*({1})+(1/(3*({0}))*(({2})+(({3})/({2})))))^(1/2)",V,Q,v,ye)).toString(),[r.parse(_("-(({1})/(4*({0})))-({4})+(1/2)*sqrt(-4*({4})^2-2*({2})+(({3})/({4})))",V,q,Q,le,De)),r.parse(_("-(({1})/(4*({0})))-({4})-(1/2)*sqrt(-4*({4})^2-2*({2})+(({3})/({4})))",V,q,Q,le,De)),r.parse(_("-(({1})/(4*({0})))+({4})+(1/2)*sqrt(-4*({4})^2-2*({2})-(({3})/({4})))",V,q,Q,le,De)),r.parse(_("-(({1})/(4*({0})))+({4})-(1/2)*sqrt(-4*({4})^2-2*({2})-(({3})/({4})))",V,q,Q,le,De))]},divideAndConquer:function(q,v){var I=[],q=e.Algebra.Factor.factor(q);return q.group===Qe&&q.each(function(V){V=K.unwrapPARENS(V),I=I.concat(u(V,v))}),I},csolve:function(f,v){return e.Utils.block("IGNORE_E",function(){var I=[],q=e.Utils.decompose_fn(f,v,!0);if(q.x.group===De)for(var V,Q=r.parse(q.x.power),le=Number(Q),q=r.pow(r.divide(q.b.negate(),q.a),Q.invert()),ye=(q=K.toPolarFormArray(q))[0],Ae=(q[1],ye.toString()),je=(Q.toString(),0);je<le;je++)V=_("({0})*e^(2*{1}*pi*{2}*{3})",Ae,je,Q,e.Settings.IMAGINARY),V=r.parse(V),I.push(V);return I},!0)},getPoints:function(Ae,v,I){v=v||.01,I=I||[];function q(it,yt){for(var me,Ue,Le,Ve=[],lt=0,Nt=it.length;lt<Nt;lt++)me=it[lt],Le=(Ue=V(me))/Math.abs(Ue),isNaN(Ue)||!isFinite(Ue)||Ve.length>yt||(Le!==Q&&Ve.push(me),Q=Le);I=I.concat(Ve)}var V=R(Ae),je=Math.round(0),le=V(je),Q=le/Math.abs(le),le=e.Settings.ROOTS_PER_SIDE,ye=le,Ae=(I.push(Math.floor(je/2)),I.push(Math.abs(je)),I.push(je),Ae.each(function(it){it.containsFunction(e.Settings.LOG)&&I.push(.1)}),Oe(-e.Settings.SOLVE_RADIUS,je,v)),je=Oe(je,e.Settings.SOLVE_RADIUS,v);return q(Ae,ye),q(je,le),I},bisection:function(f,v){var I=f-1,q=f+1;if(Math.sign(v(I))!==Math.sign(v(q))){var V,Q,le=0;do if(V=Math.abs(q-I),le++>e.Settings.MAX_BISECTION_ITER||isNaN(V))return;while(Q=(I+q)/2,0<v(I)*v(Q)?I=Q:q=Q,V>=ze.EPSILON);var f=(I+q)/2,ye=v(f);if(!isNaN(ye)&&Math.abs(ye)<=e.Settings.BI_SECTION_EPSILON)return e.Utils.round(f,13)}},Newton:function(f,v,I){var q=e.Settings.MAX_NEWTON_ITERATIONS,V=0,Q=f;do{var ye=v(Q);if(Q===0&&ye===0){le=0;break}if(q<++V)return;var le=Q-ye/I(Q),ye=Math.abs(le-Q),Q=le}while(ye>ze.NEWTON_EPSILON);if(Math.abs(v(le))<=ze.EPSILON)return le},rewrite:function(f,v,I){v=v||new K(0),f.isComposite()&&f.isLinear()?(q=[],V=[],f.each(function(Ae){((Ae=Ae.clone()).fname==="sqrt"&&Ae.contains(I)?q:V).push(Ae)},!0),q.length===1&&(v=r.expand(r.pow(r.subtract(v,e.Utils.arraySum(V)),new K(2))),f=r.expand(r.pow(K.unwrapSQRT(q[0]),new K(2))))):f=K.unwrapSQRT(r.expand(f));var q,V,Q,le=0,ye=f.length;return f.group===ee&&f.contains(I)&&f.isLinear()?(f.distributeMultiplier(),Q=new K(0),f.each(function(Ae){Ae.contains(I)?(le++,Q=r.add(Q,Ae.clone())):v=r.subtract(v,Ae.clone())}),f=Q,le!==ye?c.rewrite(f,v,I):[f,v]):f.group===Qe&&f.contains(I)&&f.isLinear()?(f.multiplier.lessThan(0)&&(f.multiplier=f.multiplier.multiply(new e.Frac(-1)),v.multiplier=v.multiplier.multiply(new e.Frac(-1))),v.equals(0)?new K(0):(Q=new K(1),f.each(function(Ae){Ae.contains(I)?Q=r.multiply(Q,Ae.clone()):v=r.divide(v,Ae.clone())}),f=Q,c.rewrite(f,v,I))):!f.isLinear()&&f.contains(I)?(ye=r.parse(f.power.clone().invert()),f=r.pow(f,ye.clone()),v=r.pow(r.expand(v),ye.clone()),c.rewrite(f,v,I)):f.group===Te||f.group===De||f.group===Ie?[f,v]:void 0},sqrtSolve:function(f,v){var I,q=new K(0),V=new K(0);if(f.isComposite()&&(f.each(function(Q){Q.fname==="sqrt"&&Q.contains(v)?q=r.add(q,Q.clone()):V=r.add(V,Q.clone())}),!q.equals(0)))return I=r.expand(r.multiply(r.parse(f.multiplier),r.subtract(r.pow(V,new K(2)),r.pow(q,new K(2))))),u(I,v).filter(function(Q){var le;return Q.isImaginary()||((le={})[v]=Q,L(f,le).equals(0))?Q:void 0})}},u=function(f,v,I,q,V){if(q=q||0,!(q++>ze.MAX_SOLVE_DEPTH)){if(f instanceof at){if(f.isZero())return[new K(0)];if(f.LHS.equals(v)&&!f.RHS.contains(v))return[f.RHS];if(f.RHS.equals(v)&&!f.LHS.contains(v))return[f.LHS]}if(f instanceof e.Vector&&(f=f.elements),v=v||"x",ut(f))return c.solveSystem.apply(void 0,arguments);I=I||[];var Q={},le={};if(le[v]=0,!de(f)||L(f.getDenom(),le).equals(0)!==!0){let He=function(ge,Je){var gt,ne=de(ge);ge===void 0||typeof ge=="number"&&isNaN(ge)||(ut(ge)?ge.forEach(function(Se){He(Se)}):ge.valueOf()!=="null"&&(typeof e.Settings.PRE_ADD_SOLUTION=="function"&&(ge=e.Settings.PRE_ADD_SOLUTION(ge)),ne||(ge=r.parse(ge)),e.Settings.make_pi_conversions&&Je&&(Je=(ne=r.divide(ge.clone(),new K(Math.PI))).multiplier,gt=Math.abs(Je.num),Je=Math.abs(Je.den),gt<10&&Je<10&&(ge=r.multiply(ne,new K("pi")))),gt=ge.toString(),Q[gt]||I.push(ge),Q[gt]=!0))};var We=He,ye;if(f.group===De&&f.contains(v))try{var Ae={};Ae[v]=0,L(V,Ae,"numer"),He(new K(0))}catch(ge){}else{let gt=function(Se){var qe=(Se=r.expand(Se,{expand_denominator:!0,expand_functions:!0})).clone();if(Se.symbols)for(var Be in Se.symbols){var ct,Be=Se.symbols[Be],wt=Be.getDenom();if(!wt.isConstant(!0)&&Se.isComposite())return ct=new K(0),Se.each(function(Pt){ct=r.add(ct,r.multiply(Pt,wt.clone()))}),gt(r.multiply(r.parse(Se.multiplier),ct));var Mt=h(Be,v),qt=Mt[1].fname===e.Settings.SQRT,Ft=K.unwrapSQRT(Mt[1]),Tt=Ft.power.clone();if(!de(Tt)&&!Tt.equals(.5))if(Tt.den.gt(1)){if(qt)return Se=r.subtract(Se,Be.clone()),Se=r.add(Se,r.multiply(Mt[0].clone(),Ft)),gt(Se);qt=yt[Tt.den],yt[Tt.den]=qt?+qt:1}else{if(Tt.sign()===-1)return Ze=r.parse(v+"^"+Math.abs(Tt)),Se.each(function(Pt,Ye){Pt.contains(v)&&(Se.symbols[Ye]=r.multiply(Pt,Ze.clone()))}),yt={},gt(r.parse(Se));if(Be.group===Ie){var Ze,ht,Mt=e.Utils.arrayMin(e.Utils.keys(Be.symbols));if(Mt<0)return Ze=r.parse(v+"^"+Math.abs(Mt)),ht=new K(0),qe.each(function(Ye){ht=r.add(ht,r.multiply(Ye.clone(),Ze.clone()))},!0),ht}}}return Se},ne=function(Se){var qe=new K(0),Be=new K(0);return Se.each(function(ct){ct.contains(v,!0)?qe=r.add(qe,ct.clone()):Be=r.subtract(Be,ct.clone())}),[qe,Be]};var ae=gt,Ge=ne;if(f.group===Qe)return(le=f.getNum()).group===Qe?(ye=String(v),le.each(function(Se){Se.contains(ye)&&u(Se,v,I,q,f)}),I):u(le,v,I,q,V);f.group===Te&&f.fname==="sqrt"&&(f=r.pow(K.unwrapSQRT(f),new K(2)));var je=(e.Utils.isSymbol(f)?f:c.toLHS(f,!1)).getNum(),Ae=e.Utils.variables(je),le=Ae.length;if((je=e.Utils.isInt(je.power)&&0<je.power?r.parse(je).toLinear():je).group===De||je.group===Qe&&je.contains(v))return[new K(0)];var it,yt={};if(c.inverseFunctionSolve=function(Se,qe,Be){var ct=h(qe.args[0],v);if(ct[1].group===De)return r.divide(r.symfunction(Se,[r.divide(Be,r.parse(qe.multiplier))]),ct[0])},(je=gt(je)).equals(0))return[je];var me,Ue,Le=e.Utils.keys(yt);if(Le.length===1&&(it=Le[0],je.each(function(Se,qe){var Be,ct;Se.contains(v)&&(ct=(Be=(Se=h(Se,v))[1]).power).den.gt(1)&&(Be.power=ct.multiply(new e.Frac(it)),je.symbols[qe]=r.multiply(Be,Se[0]))}),je=r.parse(je)),He(c.sqrtSolve(je,v)),le===1)if(je.isPoly(!0)){var Ve=new e.Algebra.Classes.Factors;if(e.Algebra.Factor.factor(je,Ve),1<Ve.getNumberSymbolics())for(var lt in Ve.factors)He(u(Ve.factors[lt],v));else{var Nt,Ct,Xe=(Nt=e.Utils.getCoeffs(je,v)).length-1,Le=!1;Ae[0]===v&&(d(Nt,function(qe){return qe.group!==e.groups.N})&&(le=e.Algebra.proots(je),d(le,function(qe){return!e.Utils.isInt(qe)})&&(Le=!0,le.map(function(qe){He(new K(qe))}))),Le||((f=r.parse(f))instanceof e.Equation&&(f=f.toLHS()),Xe===1?He(r.divide(Nt[0],Nt[1].negate())):Xe===2?He(r.expand(c.quad.apply(void 0,Nt))):Xe===3?(I=[],Ct=e.Algebra.Factor.factor(f),0<(I=[]).length?He(I):He(c.cubic.apply(void 0,Nt))):a.proots(je).map(He)))}}else try{for(var he,et,Lt=je.hasTrig(),H=c.getPoints(je,.1),P=c.getPoints(je,.05),B=c.getPoints(je,.01),st=e.Utils.arrayUnique(H.concat(P).concat(B)).sort(function(qe,Be){return qe-Be}),fe=R(je.clone()),pe=[],ue=0;ue<st.length;ue++)he=st[ue],(et=c.bisection(he,fe))===void 0?pe.push(he):He(et,Lt);var st=pe,se=l.diff(je.clone()),te=R(se);for(ue=0;ue<st.length;ue++)he=st[ue],He(c.Newton(he,fe,te),Lt);I.sort()}catch(Se){console.log(Se)}else if(!je.hasFunc(v)&&je.isComposite())try{if((Ct=e.Algebra.Factor.factor(je.clone())).group===Qe)Ct.each(function(Se){He(u(Se,v))});else{switch(Xe=(Nt=e.Utils.getCoeffs(je,v)).length-1){case 0:var D,re,J,Ee=(D=ne(je))[0],xe=D[1];Ee.group===e.groups.EX&&(J=`${re=e.Settings.LOG}((${xe})/(${Ee.multiplier}))/${re}(${Ee.value})/`+Ee.power.multiplier,He(r.parse(J)));break;case 1:He(r.divide(Nt[0],Nt[1].negate()));break;case 2:He(c.quad.apply(void 0,Nt));break;case 3:He(c.cubic.apply(void 0,Nt));break;case 4:He(c.quartic.apply(void 0,Nt));break;default:He(c.csolve(je,v)),I.length===0&&He(c.divideAndConquer(je,v))}I.length===0&&He(u(Ct,v,I,q))}}catch(Se){}else try{var Ce,Ke=c.rewrite(je,null,v),Ee=Ke[0],xe=Ke[1];if(Ee.group===Te)Ee.fname==="abs"?He([xe.clone(),xe.negate()]):Ee.fname==="sin"?He(c.inverseFunctionSolve("asin",Ee,xe)):Ee.fname==="cos"?He(c.inverseFunctionSolve("acos",Ee,xe)):Ee.fname==="tan"?He(c.inverseFunctionSolve("atan",Ee,xe)):Ee.fname===e.Settings.LOG?(lt=(Ce=h(Ee.args[0],v))[1]).group===De&&(je=new at(lt,xe=r.divide(r.subtract(r.pow(1<Ee.args.length?Ee.args[1]:new K("e"),r.divide(xe,r.parse(Ee.multiplier))),Ce[3]),Ce[0])).toLHS(),He(u(je,v))):He(r.subtract(Ee,xe));else{var Ne=new at(Ee,xe).toLHS();if(Ne.equals(je))throw new Error("Stopping. No stop condition exists");He(u(Ne,v))}}catch(Se){try{je.group===Qe?He(0):je.group===ee&&(Ee=(D=ne(je))[0],xe=D[1],Ee.group===e.groups.EX&&Ee.value===v&&(me=Ee.power.clone().invert(),He(r.pow(xe,me))))}catch(qe){}}it&&(I=I.map(function(Se){return r.pow(Se,new K(it))})),de(f)&&(Ue={},I=I.filter(function(Se){try{Ue[v]=Se;var qe=Number(L(f,Ue));return isNaN(qe),!0}catch(Be){return!1}}))}}}return I};fr.register([{name:"solveEquations",parent:"nerdamer",numargs:-1,visible:!0,build:function(){return u}},{name:"solve",parent:"Solve",numargs:2,visible:!0,build:function(){return e.Solve.solve}},{name:"setEquation",parent:"Solve",visible:!0,build:function(){return j}}]),fr.updateAPI()}(),typeof ti!="undefined"&&(fr=N0(),V0(),z0()),function(){"use strict";var t=fr.getCore(),e=t.PARSER,r=t.Symbol,a=t.Utils.format,l=t.Utils.isVector,h=t.Utils.isArray,L=(t.Vector,t.groups.S),M=(t.groups.EX,t.groups.CP),_=t.groups.CB,R=t.groups.FN,ie=(t.Settings.Laplace_integration_depth=40,r.prototype.findFunction=function(K){if(this.group===R&&this.fname===K)return this.clone();var de;if(this.symbols){for(var ve in this.symbols)if(de=this.symbols[ve].findFunction(K))break}return de},t.Extra={version:"1.4.2",LaPlace:{transform:function(K,de,ve){K=K.clone(),de=de.toString();var De=(K=r.unwrapSQRT(K,!0)).stripVar(de),Ie=K.group;if((K=e.divide(K,De.clone())).isConstant()||!K.contains(de,!0))Qe=e.parse(a("({0})/({1})",K,ve));else if(Ie===L&&t.Utils.isInt(K.power))var Ie=String(K.power),Qe=e.parse(a("factorial({0})/({1})^({0}+1)",Ie,ve));else if(K.group===L&&K.power.equals(.5))Qe=e.parse(a("sqrt(pi)/(2*({0})^(3/2))",ve));else if(K.isComposite())Qe=new r(0),K.each(function(ze){Qe=e.add(Qe,ie.LaPlace.transform(ze,de,ve))},!0);else if(!K.isE()||K.power.group!==L&&K.power.group!==_)if(K.group!==R||["sin","cos","sinh","cosh"].indexOf(K.fname)===-1||K.args[0].group!==L&&K.args[0].group!==_){var ee,Ie=t.Settings.integration_depth<t.Settings.Laplace_integration_depth;Ie&&(ee=t.Settings.integration_depth,t.Settings.integration_depth=t.Settings.Laplace_integration_depth),t.Utils.block("PARSE2NUMBER",function(){var Oe=de,ut=K.sub(de,Oe),ut=e.parse("e^(-"+ve+"*"+Oe+")*"+ut);if((Qe=t.Calculus.integrate(ut,Oe)).hasIntegral())return e.symfunction("laplace",arguments);Qe=Qe.sub(de,0),Qe=(Qe=e.expand(e.multiply(Qe,new r(-1)))).sub(Oe,de)},!1),Qe=t.Utils.block("PARSE2NUMBER",function(){return e.parse(Qe)},!0),Ie&&(t.Settings.integration_depth=ee)}else switch(Te=K.args[0].stripVar(de),K.fname){case"sin":Qe=e.parse(a("({0})/(({1})^2+({0})^2)",Te,ve));break;case"cos":Qe=e.parse(a("({1})/(({1})^2+({0})^2)",Te,ve));break;case"sinh":Qe=e.parse(a("({0})/(({1})^2-({0})^2)",Te,ve));break;case"cosh":Qe=e.parse(a("({1})/(({1})^2-({0})^2)",Te,ve))}else{var Te=K.power.stripVar(de);Qe=e.parse(a("1/(({1})-({0}))",Te,ve))}return e.multiply(Qe,De)},inverse:function(K,de,ve){var De=K.clone();return t.Utils.block("POSITIVE_MULTIPLIERS",function(){if((K=K.group===_?t.Algebra.PartFrac.partfrac(e.expand(K),de):K).group===L||K.group===_||K.isComposite()){var Ie,Qe,ee,Te,ze,Oe,ut,at,j,d,c,u,f,v,I=function(){(ze=e.multiply(ze,Ie)).multiplier=ze.multiplier.multiply(K.multiplier),ze=e.divide(ze,ee.a)},q=K.multiplier.clone();if(K.toUnitMultiplier(),Ie=K.getNum(),(at=K.getDenom().toUnitMultiplier()).group===M?(Te=at.power.clone(),at.toLinear()):Te=new t.Frac(1),Qe=de.toString(),ee=t.Utils.decompose_fn(at,Qe,!0),t.Utils.decompose_fn(e.expand(Ie.clone()),Qe,!0),Ie.multiplier=Ie.multiplier.multiply(q),(at.group===L||at.group===_)&&ee.x.value===Qe&&ee.b.equals(0)&&t.Utils.isInt(ee.x.power))d=ee.x.power-1,c=t.Math2.factorial(d),ze=e.divide(e.pow(ve,new r(d)),new r(c)),I();else if(at.group===M&&Te.equals(1))ee.x.group===t.groups.PL&&t.Algebra.degree(at).equals(2)?(j=t.Algebra.sqComplete(at,Qe),at=t.Utils.getU(at),f=t.Utils.decompose_fn(j.a,Qe,!0).b,j=ie.LaPlace.inverse(e.parse(`1/((${at})^2+(${j.c}))`),at,ve),ze=e.multiply(j,e.parse(`(${q})*e^(-(${f})*(${ve}))`))):ee.x.isLinear()&&!Ie.contains(Qe)?(ve=e.divide(ve,ee.a.clone()),c=(d=Te-1)===0||d===1?"1":`(${Te}-1)!`,ze=e.parse(a("(({0})^({3}-1)*e^(-(({2})*({0}))/({1})))/(({4})*({1})^({3}))",ve,ee.a,ee.b,Te,c)),I()):ee.x.group===L&&ee.x.power.equals(2)&&(Ie.contains(Qe)?(f=new r(1),Ie.group===_&&(Oe=new r(1),Ie.each(function(je){je.contains(Qe)?Oe=e.multiply(Oe,je):f=e.multiply(f,je)}),Ie=Oe),at=(ut=t.Utils.decompose_fn(Ie,Qe,!0)).a,j=ut.b,d=at.containsFunction("sin"),c=at.containsFunction("cos"),I=j.containsFunction("cos"),u=j.containsFunction("sin"),ut.x.value===Qe&&ut.x.isLinear()&&!(d&&I||c||u)?ze=e.parse(a("(({1})*cos((sqrt(({2})*({3}))*({0}))/({2})))/({2})",ve,ut.a,ee.a,ee.b)):d&&I&&(c=at.findFunction("sin"),u=j.findFunction("cos"),c.args[0].equals(u.args[0])&&!c.args[0].contains(Qe)&&(V=e.divide(j,u.toUnitMultiplier()).toString(),d=c.args[0].toString(),v=ee.b,I=e.divide(at,c.toUnitMultiplier()),ze=e.parse(a("(({1})*({2})*cos({3})*sin(sqrt({4})*({0})))/sqrt({4})+({1})*sin({3})*({5})*cos(sqrt({4})*({0}))",ve,f,V,d,v,I))))):ze=e.parse(a("(({1})*sin((sqrt(({2})*({3}))*({0}))/({2})))/sqrt(({2})*({3}))",ve,Ie,ee.a,ee.b)));else if(ee.x.power.num&&ee.x.power.num.equals(3)&&ee.x.power.den.equals(2)&&Ie.contains("sqrt(pi)")&&!Ie.contains(Qe)&&Ie.isLinear()){var V=e.divide(Ie.clone(),e.parse("sqrt(pi)"));ze=e.parse(a("(2*({2})*sqrt({0}))/({1})",ve,ee.a,V,Ie))}else if(Te.equals(2)&&ee.x.power.equals(2))if(Ie.contains(Qe))if((ut=t.Utils.decompose_fn(e.expand(Ie.clone()),Qe,!0)).x.isComposite()){var Q=[],le=Ie.collectSymbols(function(je){je=r.unwrapPARENS(je);var it=t.Utils.decompose_fn(je,Qe,!0);return it.symbol=je,it}).sort(function(je,it){return je=je.x.value!==Qe?0:je.x.power,(it.x.value!==Qe?0:it.x.power)-je});f=new r(-1);for(var ye=0;ye<le.length;ye++){var Ae=le[ye];Ae.x.value===Qe?Q.push(Ae):f=e.multiply(f,Ae.symbol)}Q[0].x.power.equals(2)&&Q[1].x.power.equals(1)&&Q[1].b.equals(0)&&!Q[0].b.equals(0)&&(V=Q[0].a.negate(),ze=e.parse(a("-(({1})*({2})*({5})*({0})*sin((sqrt(({4})*({5}))*({0}))/({4})))/(2*({4})^2*sqrt(({4})*({5})))-(({1})*({3})*({0})*sin((sqrt(({4})*({5}))*({0}))/({4})))/(2*({4})*sqrt(({4})*({5})))+(({1})*({2})*cos((sqrt(({4})*({5}))*({0}))/({4})))/({4})^2",ve,f,V,Q[0].b,ee.a,ee.b)))}else ut.x.isLinear()?(f=e.divide(ut.a,new r(2)),ze=e.parse(a("(({1})*({0})*sin((sqrt(({2})*({3}))*({0}))/({2})))/(({2})*sqrt(({2})*({3})))",ve,f,ee.a,ee.b))):ut.x.power.equals(2)&&(ze=ut.b.equals(0)?(f=e.divide(ut.a,new r(2)),e.parse(a("(({1})*sin((sqrt(({2})*({3}))*({0}))/({2})))/(({2})*sqrt(({2})*({3})))+(({1})*({0})*cos((sqrt(({2})*({3}))*({0}))/({2})))/({2})^2",ve,f,ee.a,ee.b))):(f=e.divide(ut.a,new r(2)),v=ut.b.negate(),e.parse(a("-((({2})*({4})-2*({1})*({3}))*sin((sqrt(({2})*({3}))*({0}))/({2})))/(2*({2})*({3})*sqrt(({2})*({3})))+(({4})*({0})*cos((sqrt(({2})*({3}))*({0}))/({2})))/(2*({2})*({3}))+(({1})*({0})*cos((sqrt(({2})*({3}))*({0}))/({2})))/({2})^2",ve,f,ee.a,ee.b,v))));else f=e.divide(Ie,new r(2)),ze=e.parse(a("(({1})*sin((sqrt(({2})*({3}))*({0}))/({2})))/(({3})*sqrt(({2})*({3})))-(({1})*({0})*cos((sqrt(({2})*({3}))*({0}))/({2})))/(({2})*({3}))",ve,f,ee.a,ee.b));else K.isComposite()&&(Te.equals(2)&&ee.x.group===L?ze=e.parse(`(${q})*(${ve})*e^(-(${ee.b})*(${ve}))`):(ze=new r(0),K.each(function(je){ze=e.add(ze,ie.LaPlace.inverse(je,de,ve))},!0)))}return ze=ze||e.symfunction("ilt",[De,de,ve])},!0)}},Statistics:{frequencyMap:function(K){for(var de={},ve=0,De=K.length;ve<De;ve++){var Ie=K[ve].toString();de[Ie]||(de[Ie]=0),de[Ie]++}return de},sort:function(K){return K.sort(function(de,ve){return de.isConstant()&&ve.isConstant()||e.error("Unable to sort! All values must be numeric"),de.multiplier.subtract(ve.multiplier)})},count:function(K){return new r(K.length)},sum:function(K,de){for(var Qe=new r(0),ve=0,De=K.length;ve<De;ve++)var Ie=K[ve].clone(),Qe=de?e.add(e.pow(e.subtract(Ie,de.clone()),new r(2)),Qe):e.add(Ie,Qe);return Qe},mean:function(){var K=[].slice.call(arguments);return l(K[0])?ie.Statistics.mean.apply(this,K[0].elements):e.divide(ie.Statistics.sum(K),ie.Statistics.count(K))},median:function(){var K=[].slice.call(arguments);if(l(K[0]))return ie.Statistics.median.apply(this,K[0].elements);try{var de,ve,De=ie.Statistics.sort(K),Ie=K.length;ve=t.Utils.even(Ie)?(de=Ie/2,ie.Statistics.mean(De[de-1],De[de])):De[Math.floor(Ie/2)]}catch(Qe){ve=e.symfunction("median",K)}return ve},mode:function(){var K=[].slice.call(arguments);if(l(K[0]))return ie.Statistics.mode.apply(this,K[0].elements);var de=ie.Statistics.frequencyMap(K);if(t.Utils.keys(de).length===1)ee=K[0];else{var ve,De={};for(ve in de){var Ie,Qe=de[ve];Qe in De?(Ie=De[Qe],h(Ie)?Ie.push(ve):De[Qe]=[ve,De[Qe]]):De[Qe]=ve}var K=De[Math.max.apply(null,t.Utils.keys(De))],ee=h(K)?e.symfunction("mode",K.sort()):e.parse(K)}return ee},gVariance:function(K,De){var ve=ie.Statistics.mean.apply(ie.Statistics,De),De=ie.Statistics.sum(De,ve);return e.multiply(K,De)},variance:function(){var K,de=[].slice.call(arguments);return l(de[0])?ie.Statistics.variance.apply(this,de[0].elements):(K=e.divide(new r(1),ie.Statistics.count(de)),ie.Statistics.gVariance(K,de))},sampleVariance:function(){var K,de=[].slice.call(arguments);return l(de[0])?ie.Statistics.sampleVariance.apply(this,de[0].elements):(K=e.divide(new r(1),e.subtract(ie.Statistics.count(de),new r(1))),ie.Statistics.gVariance(K,de))},standardDeviation:function(){var K=[].slice.call(arguments);return l(K[0])?ie.Statistics.standardDeviation.apply(this,K[0].elements):e.pow(ie.Statistics.variance.apply(ie.Statistics,K),new r(.5))},sampleStandardDeviation:function(){var K=[].slice.call(arguments);return l(K[0])?ie.Statistics.sampleStandardDeviation.apply(this,K[0].elements):e.pow(ie.Statistics.sampleVariance.apply(ie.Statistics,K),new r(.5))},zScore:function(K,de,ve){return e.divide(e.subtract(K,de),ve)}},Units:{table:{foot:"12 inch",meter:"100 cm",decimeter:"10 cm"}}});fr.register([{name:"laplace",visible:!0,numargs:3,build:function(){return ie.LaPlace.transform}},{name:"ilt",visible:!0,numargs:3,build:function(){return ie.LaPlace.inverse}},{name:"mean",visible:!0,numargs:-1,build:function(){return ie.Statistics.mean}},{name:"median",visible:!0,numargs:-1,build:function(){return ie.Statistics.median}},{name:"mode",visible:!0,numargs:-1,build:function(){return ie.Statistics.mode}},{name:"smpvar",visible:!0,numargs:-1,build:function(){return ie.Statistics.sampleVariance}},{name:"variance",visible:!0,numargs:-1,build:function(){return ie.Statistics.variance}},{name:"smpstdev",visible:!0,numargs:-1,build:function(){return ie.Statistics.sampleStandardDeviation}},{name:"stdev",visible:!0,numargs:-1,build:function(){return ie.Statistics.standardDeviation}},{name:"zscore",visible:!0,numargs:3,build:function(){return ie.Statistics.zScore}}]),fr.updateAPI()}(),typeof ti!="undefined"&&(ti.exports=fr)});var R7=an((qS,Mo)=>{typeof Mo!="undefined"&&(Q2=N0(),V0(),z0());var Q2;(function(){"use strict";var t=Q2.getCore(),e=t.PARSER,r=t.Symbol,a=t.Utils.format,l=t.Utils.isVector,h=t.Utils.isArray,L=t.Vector,M=t.groups.S,_=t.groups.EX,R=t.groups.CP,ie=t.groups.CB,K=t.groups.FN;t.Settings.Laplace_integration_depth=40,r.prototype.findFunction=function(ve){if(this.group===K&&this.fname===ve)return this.clone();var De;if(this.symbols){for(var Ie in this.symbols)if(De=this.symbols[Ie].findFunction(ve),De)break}return De};var de=t.Extra={version:"1.4.2",LaPlace:{transform:function(ve,De,Ie){ve=ve.clone(),De=De.toString(),ve=r.unwrapSQRT(ve,!0);var Qe,ee=ve.stripVar(De),Te=ve.group;if(ve=e.divide(ve,ee.clone()),ve.isConstant()||!ve.contains(De,!0))Qe=e.parse(a("({0})/({1})",ve,Ie));else if(Te===M&&t.Utils.isInt(ve.power)){var ze=String(ve.power);Qe=e.parse(a("factorial({0})/({1})^({0}+1)",ze,Ie))}else if(ve.group===M&&ve.power.equals(1/2))Qe=e.parse(a("sqrt(pi)/(2*({0})^(3/2))",Ie));else if(ve.isComposite())Qe=new r(0),ve.each(function(d){Qe=e.add(Qe,de.LaPlace.transform(d,De,Ie))},!0);else if(ve.isE()&&(ve.power.group===M||ve.power.group===ie)){var Oe=ve.power.stripVar(De);Qe=e.parse(a("1/(({1})-({0}))",Oe,Ie))}else{var ut=["sin","cos","sinh","cosh"];if(ve.group===K&&ut.indexOf(ve.fname)!==-1&&(ve.args[0].group===M||ve.args[0].group===ie)){var Oe=ve.args[0].stripVar(De);switch(ve.fname){case"sin":Qe=e.parse(a("({0})/(({1})^2+({0})^2)",Oe,Ie));break;case"cos":Qe=e.parse(a("({1})/(({1})^2+({0})^2)",Oe,Ie));break;case"sinh":Qe=e.parse(a("({0})/(({1})^2-({0})^2)",Oe,Ie));break;case"cosh":Qe=e.parse(a("({1})/(({1})^2-({0})^2)",Oe,Ie));break}}else{var at=t.Settings.integration_depth<t.Settings.Laplace_integration_depth;if(at){var j=t.Settings.integration_depth;t.Settings.integration_depth=t.Settings.Laplace_integration_depth}t.Utils.block("PARSE2NUMBER",function(){var d=De,c=ve.sub(De,d),u=e.parse("e^(-"+Ie+"*"+d+")*"+c);if(Qe=t.Calculus.integrate(u,d),Qe.hasIntegral())return e.symfunction("laplace",arguments);Qe=Qe.sub(De,0),Qe=e.expand(e.multiply(Qe,new r(-1))),Qe=Qe.sub(d,De)},!1),Qe=t.Utils.block("PARSE2NUMBER",function(){return e.parse(Qe)},!0),at&&(t.Settings.integration_depth=j)}}return e.multiply(Qe,ee)},inverse:function(ve,De,Ie){var Qe=ve.clone();return t.Utils.block("POSITIVE_MULTIPLIERS",function(){if(ve.group===ie&&(ve=t.Algebra.PartFrac.partfrac(e.expand(ve),De)),ve.group===M||ve.group===ie||ve.isComposite()){var ee=function(){ut=e.multiply(ut,Te),ut.multiplier=ut.multiplier.multiply(ve.multiplier),ut=e.divide(ut,at.a)},Te,ze,Oe,ut,at,j,d,c,u;if(d=ve.multiplier.clone(),ve.toUnitMultiplier(),Te=ve.getNum(),ze=ve.getDenom().toUnitMultiplier(),ze.group===R?(c=ze.power.clone(),ze.toLinear()):c=new t.Frac(1),Oe=De.toString(),at=t.Utils.decompose_fn(ze,Oe,!0),u=t.Utils.decompose_fn(e.expand(Te.clone()),Oe,!0),Te.multiplier=Te.multiplier.multiply(d),(ze.group===M||ze.group===ie)&&at.x.value===Oe&&at.b.equals(0)&&t.Utils.isInt(at.x.power)){var f,j;j=at.x.power-1,f=t.Math2.factorial(j),ut=e.divide(e.pow(Ie,new r(j)),new r(f)),ee()}else if(ze.group===R&&c.equals(1)){if(at.x.group===t.groups.PL&&t.Algebra.degree(ze).equals(2)){var v=t.Algebra.sqComplete(ze,Oe),I=t.Utils.getU(ze),q=t.Utils.decompose_fn(v.a,Oe,!0).b,V=de.LaPlace.inverse(e.parse(`1/((${I})^2+(${v.c}))`),I,Ie);ut=e.multiply(V,e.parse(`(${d})*e^(-(${q})*(${Ie}))`))}else if(at.x.isLinear()&&!Te.contains(Oe)){Ie=e.divide(Ie,at.a.clone());var j=c-1,f=j===0||j===1?"1":`(${c}-1)!`;ut=e.parse(a("(({0})^({3}-1)*e^(-(({2})*({0}))/({1})))/(({4})*({1})^({3}))",Ie,at.a,at.b,c,f)),ee()}else if(at.x.group===M&&at.x.power.equals(2))if(!Te.contains(Oe))ut=e.parse(a("(({1})*sin((sqrt(({2})*({3}))*({0}))/({2})))/sqrt(({2})*({3}))",Ie,Te,at.a,at.b));else{var q=new r(1);if(Te.group===ie){var Q=new r(1);Te.each(function(B){B.contains(Oe)?Q=e.multiply(Q,B):q=e.multiply(q,B)}),Te=Q}var le=t.Utils.decompose_fn(Te,Oe,!0),ye,Ae,je,it,yt,me;if(ye=le.a,Ae=le.b,je=ye.containsFunction("sin"),yt=ye.containsFunction("cos"),it=Ae.containsFunction("cos"),me=Ae.containsFunction("sin"),le.x.value===Oe&&le.x.isLinear()&&!(je&&it||yt||me))ut=e.parse(a("(({1})*cos((sqrt(({2})*({3}))*({0}))/({2})))/({2})",Ie,le.a,at.a,at.b));else if(je&&it){var Ue,Le;if(Ue=ye.findFunction("sin"),Le=Ae.findFunction("cos"),Ue.args[0].equals(Le.args[0])&&!Ue.args[0].contains(Oe)){var Ve,lt,Nt,Ct;Ve=e.divide(Ae,Le.toUnitMultiplier()).toString(),lt=Ue.args[0].toString(),Nt=at.b,Ct=e.divide(ye,Ue.toUnitMultiplier()),Xe="(({1})*({2})*cos({3})*sin(sqrt({4})*({0})))/sqrt({4})+({1})*sin({3})*({5})*cos(sqrt({4})*({0}))",ut=e.parse(a(Xe,Ie,q,Ve,lt,Nt,Ct))}}}}else if(at.x.power.num&&at.x.power.num.equals(3)&&at.x.power.den.equals(2)&&Te.contains("sqrt(pi)")&&!Te.contains(Oe)&&Te.isLinear()){var Ve=e.divide(Te.clone(),e.parse("sqrt(pi)"));ut=e.parse(a("(2*({2})*sqrt({0}))/({1})",Ie,at.a,Ve,Te))}else if(c.equals(2)&&at.x.power.equals(2)){var q,Nt,Xe;if(!Te.contains(Oe))q=e.divide(Te,new r(2)),Xe="(({1})*sin((sqrt(({2})*({3}))*({0}))/({2})))/(({3})*sqrt(({2})*({3})))-(({1})*({0})*cos((sqrt(({2})*({3}))*({0}))/({2})))/(({2})*({3}))",ut=e.parse(a(Xe,Ie,q,at.a,at.b));else if(le=t.Utils.decompose_fn(e.expand(Te.clone()),Oe,!0),le.x.isComposite()){var he=[],et=Te.collectSymbols(function(fe){fe=r.unwrapPARENS(fe);var pe=t.Utils.decompose_fn(fe,Oe,!0);return pe.symbol=fe,pe}).sort(function(fe,pe){var ue,st;return ue=fe.x.value!==Oe?0:fe.x.power,st=pe.x.value!==Oe?0:pe.x.power,st-ue});q=new r(-1);for(var Lt=0;Lt<et.length;Lt++){var H=et[Lt];H.x.value===Oe?he.push(H):q=e.multiply(q,H.symbol)}he[0].x.power.equals(2)&&he[1].x.power.equals(1)&&he[1].b.equals(0)&&!he[0].b.equals(0)&&(Ve=he[0].a.negate(),Xe="-(({1})*({2})*({5})*({0})*sin((sqrt(({4})*({5}))*({0}))/({4})))/(2*({4})^2*sqrt(({4})*({5})))-(({1})*({3})*({0})*sin((sqrt(({4})*({5}))*({0}))/({4})))/(2*({4})*sqrt(({4})*({5})))+(({1})*({2})*cos((sqrt(({4})*({5}))*({0}))/({4})))/({4})^2",ut=e.parse(a(Xe,Ie,q,Ve,he[0].b,at.a,at.b)))}else le.x.isLinear()?(q=e.divide(le.a,new r(2)),Xe="(({1})*({0})*sin((sqrt(({2})*({3}))*({0}))/({2})))/(({2})*sqrt(({2})*({3})))",ut=e.parse(a(Xe,Ie,q,at.a,at.b))):le.x.power.equals(2)&&(le.b.equals(0)?(q=e.divide(le.a,new r(2)),Xe="(({1})*sin((sqrt(({2})*({3}))*({0}))/({2})))/(({2})*sqrt(({2})*({3})))+(({1})*({0})*cos((sqrt(({2})*({3}))*({0}))/({2})))/({2})^2",ut=e.parse(a(Xe,Ie,q,at.a,at.b))):(q=e.divide(le.a,new r(2)),Nt=le.b.negate(),Xe="-((({2})*({4})-2*({1})*({3}))*sin((sqrt(({2})*({3}))*({0}))/({2})))/(2*({2})*({3})*sqrt(({2})*({3})))+(({4})*({0})*cos((sqrt(({2})*({3}))*({0}))/({2})))/(2*({2})*({3}))+(({1})*({0})*cos((sqrt(({2})*({3}))*({0}))/({2})))/({2})^2",ut=e.parse(a(Xe,Ie,q,at.a,at.b,Nt))))}else ve.isComposite()&&(c.equals(2)&&at.x.group===M?ut=e.parse(`(${d})*(${Ie})*e^(-(${at.b})*(${Ie}))`):(ut=new r(0),ve.each(function(P){ut=e.add(ut,de.LaPlace.inverse(P,De,Ie))},!0)))}return ut||(ut=e.symfunction("ilt",[Qe,De,Ie])),ut},!0)}},Statistics:{frequencyMap:function(ve){for(var De={},Ie=0,Qe=ve.length;Ie<Qe;Ie++){var ee=ve[Ie],Te=ee.toString();De[Te]||(De[Te]=0),De[Te]++}return De},sort:function(ve){return ve.sort(function(De,Ie){return(!De.isConstant()||!Ie.isConstant())&&e.error("Unable to sort! All values must be numeric"),De.multiplier.subtract(Ie.multiplier)})},count:function(ve){return new r(ve.length)},sum:function(ve,De){for(var Ie=new r(0),Qe=0,ee=ve.length;Qe<ee;Qe++){var Te=ve[Qe].clone();De?Ie=e.add(e.pow(e.subtract(Te,De.clone()),new r(2)),Ie):Ie=e.add(Te,Ie)}return Ie},mean:function(){var ve=[].slice.call(arguments);return l(ve[0])?de.Statistics.mean.apply(this,ve[0].elements):e.divide(de.Statistics.sum(ve),de.Statistics.count(ve))},median:function(){var ve=[].slice.call(arguments),De;if(l(ve[0]))return de.Statistics.median.apply(this,ve[0].elements);try{var Ie=de.Statistics.sort(ve),Qe=ve.length;if(t.Utils.even(Qe)){var ee=Qe/2;De=de.Statistics.mean(Ie[ee-1],Ie[ee])}else De=Ie[Math.floor(Qe/2)]}catch(Te){De=e.symfunction("median",ve)}return De},mode:function(){var ve=[].slice.call(arguments),De;if(l(ve[0]))return de.Statistics.mode.apply(this,ve[0].elements);var Ie=de.Statistics.frequencyMap(ve);if(t.Utils.keys(Ie).length===1)De=ve[0];else{var Qe={};for(var ee in Ie){var Te=Ie[ee];if(!(Te in Qe))Qe[Te]=ee;else{var ze=Qe[Te];h(ze)?ze.push(ee):Qe[Te]=[ee,Qe[Te]]}}var Oe=Qe[Math.max.apply(null,t.Utils.keys(Qe))];h(Oe)?De=e.symfunction("mode",Oe.sort()):De=e.parse(Oe)}return De},gVariance:function(ve,De){var Ie=de.Statistics.mean.apply(de.Statistics,De),Qe=de.Statistics.sum(De,Ie);return e.multiply(ve,Qe)},variance:function(){var ve=[].slice.call(arguments);if(l(ve[0]))return de.Statistics.variance.apply(this,ve[0].elements);var De=e.divide(new r(1),de.Statistics.count(ve));return de.Statistics.gVariance(De,ve)},sampleVariance:function(){var ve=[].slice.call(arguments);if(l(ve[0]))return de.Statistics.sampleVariance.apply(this,ve[0].elements);var De=e.divide(new r(1),e.subtract(de.Statistics.count(ve),new r(1)));return de.Statistics.gVariance(De,ve)},standardDeviation:function(){var ve=[].slice.call(arguments);return l(ve[0])?de.Statistics.standardDeviation.apply(this,ve[0].elements):e.pow(de.Statistics.variance.apply(de.Statistics,ve),new r(1/2))},sampleStandardDeviation:function(){var ve=[].slice.call(arguments);return l(ve[0])?de.Statistics.sampleStandardDeviation.apply(this,ve[0].elements):e.pow(de.Statistics.sampleVariance.apply(de.Statistics,ve),new r(1/2))},zScore:function(ve,De,Ie){return e.divide(e.subtract(ve,De),Ie)}},Units:{table:{foot:"12 inch",meter:"100 cm",decimeter:"10 cm"}}};Q2.register([{name:"laplace",visible:!0,numargs:3,build:function(){return de.LaPlace.transform}},{name:"ilt",visible:!0,numargs:3,build:function(){return de.LaPlace.inverse}},{name:"mean",visible:!0,numargs:-1,build:function(){return de.Statistics.mean}},{name:"median",visible:!0,numargs:-1,build:function(){return de.Statistics.median}},{name:"mode",visible:!0,numargs:-1,build:function(){return de.Statistics.mode}},{name:"smpvar",visible:!0,numargs:-1,build:function(){return de.Statistics.sampleVariance}},{name:"variance",visible:!0,numargs:-1,build:function(){return de.Statistics.variance}},{name:"smpstdev",visible:!0,numargs:-1,build:function(){return de.Statistics.sampleStandardDeviation}},{name:"stdev",visible:!0,numargs:-1,build:function(){return de.Statistics.standardDeviation}},{name:"zscore",visible:!0,numargs:3,build:function(){return de.Statistics.zScore}}]),Q2.updateAPI()})();typeof Mo!="undefined"&&(Mo.exports=Q2)});var U7=an((US,q7)=>{typeof q7!="undefined"&&(J2=N0(),V0(),z0());var J2;(function(){var t=J2.getCore(),e=t.PARSER,r=t.Algebra,a=t.Calculus,l=a.integration.decompose_arg,h=t.Utils.evaluate,L=t.Utils.remove,M=t.Utils.format,_=t.Utils.build,R=t.Utils.knownVariable,ie=t.Symbol,K=t.Utils.isSymbol,de=t.Utils.variables,ve=t.groups.S,De=t.groups.PL,Ie=t.groups.CB,Qe=t.groups.CP,ee=t.groups.FN,Te=t.Settings,ze=t.Utils.range,Oe=t.Utils.isArray;t.Settings.SOLVE_RADIUS=1e3,t.Settings.ROOTS_PER_SIDE=10,t.Settings.make_pi_conversions=!1,t.Settings.STEP_SIZE=.1,t.Settings.EPSILON=1e-13,t.Settings.MAX_NEWTON_ITERATIONS=200,t.Settings.MAX_NON_LINEAR_TRIES=12,t.Settings.NON_LINEAR_JUMP_AT=50,t.Settings.NON_LINEAR_JUMP_SIZE=100,t.Settings.NON_LINEAR_START=.01,t.Settings.NEWTON_SLICES=200,t.Settings.NEWTON_EPSILON=Number.EPSILON*2,t.Settings.SOLUTION_PROXIMITY=1e-14,t.Settings.FILTER_SOLUTIONS=!0,t.Settings.MAX_SOLVE_DEPTH=10,t.Settings.ZERO_EPSILON=1e-9,t.Settings.MAX_BISECTION_ITER=2e3,t.Settings.BI_SECTION_EPSILON=1e-12,t.Symbol.prototype.hasTrig=function(){return this.containsFunction(["cos","sin","tan","cot","csc","sec"])},t.Symbol.prototype.hasNegativeTerms=function(){if(this.isComposite())for(var u in this.symbols){var f=this.symbols[u];if(f.group===De&&f.hasNegativeTerms()||this.symbols[u].power.lessThan(0))return!0}return!1};function ut(u,f){if(f.isConstant()&&u.isConstant()&&!u.equals(f)||u.equals(t.Settings.IMAGINARY)&&f.isConstant(!0)||f.equals(t.Settings.IMAGINARY)&&u.isConstant(!0))throw new t.exceptions.NerdamerValueError(u.toString()+" does not equal "+f.toString());this.LHS=u,this.RHS=f}ut.prototype={toString:function(){return this.LHS.toString()+"="+this.RHS.toString()},text:function(u){return this.LHS.text(u)+"="+this.RHS.text(u)},toLHS:function(u){u=typeof u=="undefined";var f;u?f=this.removeDenom():f=this.clone();var v=f.LHS,I=f.RHS;v.isConstant(!0)&&!I.isConstant(!0)&&([v,I]=[I,v]);var q=e.subtract(v,I),V=u?e.expand(q):q;return V=new ut(V,new ie(0)).removeDenom().LHS,V},removeDenom:function(){var u=this.LHS.clone(),f=this.RHS.clone(),v=e.multiply(u.getDenom(),f.getDenom());if(u=e.expand(e.multiply(u,v.clone())),f=e.expand(e.multiply(f,v)),f.group===Qe&&f.group!==Qe){var I=u;u=f,f=I}if(u.group===Ie){var I=new ie(u.multiplier),q=f.clone();u.each(function(je){je.power.lessThan(0)?q=e.divide(q,je):I=e.multiply(I,je)}),u=I,f=q}else if(u.group===Qe)for(var V in u.symbols){var Q=u.symbols[V];if(Q.group===Ie)for(var le in Q.symbols){var ye=Q.symbols[le];if(ye.power.lessThan(0))return new ut(e.expand(e.multiply(ye.clone().toLinear(),u)),e.expand(e.multiply(ye.clone().toLinear(),f)))}}return new ut(u,f)},clone:function(){return new ut(this.LHS.clone(),this.RHS.clone())},sub:function(u,f){var v=this.clone();return v.LHS=v.LHS.sub(u.clone(),f.clone()),v.RHS=v.RHS.sub(u.clone(),f.clone()),v},isZero:function(){return t.Utils.evaluate(this.toLHS()).equals(0)},latex:function(u){return[this.LHS.latex(u),this.RHS.latex(u)].join("=")}},e.equals=function(u,f){return new ut(u,f)},function(){var u=e.functions.simplify[0];e.functions.simplify[0]=function(f){return f instanceof ut?(f.LHS=u(f.LHS),f.RHS=u(f.RHS),f):u(f)}}(),t.Expression.prototype.equals=function(u){u instanceof t.Expression&&(u=u.symbol);var f=new ut(this.symbol,u);return f},t.Expression.prototype.solveFor=function(u){var f;if(this.symbol instanceof ut){if(this.symbol.LHS.isConstant()&&this.symbol.RHS.equals(u))return new t.Expression(this.symbol.LHS);if(this.symbol.RHS.isConstant()&&this.symbol.LHS.equals(u))return new t.Expression(this.symbol.RHS);f=this.symbol.toLHS()}else f=this.symbol;return c(f,u).map(function(v){return new t.Expression(v)})},t.Expression.prototype.expand=function(){if(this.symbol instanceof ut){var u=this.symbol.clone();return u.RHS=e.expand(u.RHS),u.LHS=e.expand(u.LHS),new t.Expression(u)}return new t.Expression(e.expand(this.symbol))},t.Expression.prototype.variables=function(){return this.symbol instanceof ut?t.Utils.arrayUnique(de(this.symbol.LHS).concat(de(this.symbol.RHS))):de(this.symbol)};var at=function(u,f){return e.equals(u,f)};t.Equation=ut;var j=t.Utils.checkAll=function(u,f){for(var v=0;v<u.length;v++)if(f(u[v]))return!1;return!0},d=t.Solve={version:"2.0.3",solutions:[],solve:function(u,f){var v=c(u,String(f));return new t.Vector(v)},toLHS:function(u,f){if(K(u))return u;if(!(u instanceof ut)){var v=u.split("=");v[1]=v[1]||"0",u=new ut(e.parse(v[0]),e.parse(v[1]))}return u.toLHS(f)},solveCircle:function(u,f){for(var v=f.map(function(Ue){return e.parse(Ue)}),I=[],q=[],V=0;V<u.length;V++){for(var Q=[],le=0;le<v.length;le++)Q.push(Number(t.Algebra.degree(u[V],v[le])));Q.push(t.Utils.arraySum(Q,!0)),I.push(Q)}var ye=u[0],Ae=u[1];if(I[0][2]>I[1][2]&&([Ae,ye]=[ye,Ae],[I[1],I[0]]=[I[0],I[1]]),I[0][0]===1&&I[0][2]===2&&I[1][0]===2&&I[1][2]===4){var je=f[0],it=f[1],yt=c(e.parse(Ae,R(je,c(e.parse(ye),je)[0])),it).map(function(Ue){return Ue.toString()}),me=[c(e.parse(ye,R(it,yt[0])))[0].toString()];if(yt[1]&&me.push(c(e.parse(ye,R(it,yt[1])))[0].toString()),Te.SOLUTIONS_AS_OBJECT){var q={};q[je]=me,q[it]=yt}else yt.unshift(it),me.unshift(je),q=[me,yt]}return q},solveNonLinearSystem:function(u,f,v){if(f<0)return[];v=typeof v=="undefined"?t.Settings.NON_LINEAR_START:v;var I=t.Settings.MAX_NON_LINEAR_TRIES,q=Math.floor(I/2);f=typeof f=="undefined"?I:f;var V=t.Settings.NON_LINEAR_JUMP_AT,Q=t.Settings.NON_LINEAR_JUMP_SIZE,le=!0,ye=function(P,B){return P.map(function(fe,pe){return Number(B.get(pe,0))})},Ae=t.Utils.arrayGetVariables(u),je=t.Matrix.jacobian(u,Ae,function(P){return _(P,Ae)},!0),it=t.Settings.MAX_NEWTON_ITERATIONS,yt,me,Ue,Le,Ve,lt,Nt,Ct,Xe=u.map(function(P){return _(P,Ae)}),he=je.map(function(P){return _(P,Ae)},!0);Le=t.Matrix.cMatrix(0,Ae);var et=t.Matrix.cMatrix(v,Ae);Ue=0;do{if(Ue>it)break;yt=ye(Ae,et),Nt=et.clone(),Xe.forEach(function(P,B){et.set(B,0,P.apply(null,yt))});var Lt=new t.Matrix;if(he.each(function(P,B,fe){var pe=P.apply(null,yt);Lt.set(B,fe,pe)}),Lt=Lt.invert(),me=e.multiply(Lt,et).negate(),Ct=me.subtract(Le,function(P){return e.parse(Number(P))}),Le=Nt.add(me,function(P){return e.parse(Number(P))}),et=Le,Ue>=V&&Ve>1){f===q&&(v=0);var H=f>q?1:-1;return n=f%Math.floor(q)+1,v+=H*n*Q,d.solveNonLinearSystem(u,--f,v)}if(lt=Ve,Ue++,Ve=Ct.max(),Number(Ve)===Number(lt))break}while(Number(Ve)>=Number.EPSILON);return le?d.systemSolutions(et,Ae,!0,function(P){return t.Utils.round(Number(P),14)}):[]},systemSolutions:function(u,f,v,I){var q=t.Settings.SOLUTIONS_AS_OBJECT?{}:[];return u.each(function(V,Q){var le=(v?e.expand(V):V).valueOf();I&&(le=I.call(V,le));var ye=f[Q];t.Settings.SOLUTIONS_AS_OBJECT?q[ye]=le:q.push([ye,le])}),q},solveSystemBySubstitution:function(u){var f=de(u[0]),v=de(u[1]);return u.length===2&&f.length===2&&t.Utils.arrayEqual(f,v)?d.solveCircle(u,f):[]},solveSystem:function(u,f){for(var v=0;v<u.length;v++)u[v]=d.toLHS(u[v]);var I=u.length,q=new t.Matrix,V=new t.Matrix,Q=!1,le;if(typeof f=="undefined"){if(!r.allLinear(u))try{return d.solveNonLinearSystem(u)}catch(B){if(B instanceof t.exceptions.DivisionByZero)return d.solveSystemBySubstitution(u)}if(le=t.Utils.arrayGetVariables(u),le.length===1){var ye=0,Ae,je;do{var je=u[ye].clone();ye>0&&(je=je.sub(le[0],Ae[0])),Ae=c(je,le[0])}while(++ye<u.length);var it;return Te.SOLUTIONS_AS_OBJECT?(it={},it[le[0]]=Ae):Ae.length===0?it=Ae:it=[le[0],Ae],it}if(le.length<u.length){for(var yt=[],ye=u.length,v=0;v<ye-1;v++)yt.push(e.parse(u[v]));var me={},it=d.solveSystem(yt,le);Array.isArray(it)?it.forEach(function(pe){me[pe[0]]=pe[1]}):me=it;for(var Ue=!0,v=ye-1;v<ye;v++)e.parse(u[v],me).equals(0)||(Ue=!1);if(Ue)return it}for(var v=0;v<le.length;v++)J2.setVar(le[v],"delete");for(var v=0;v<I;v++){for(var je=u[v],Le=0;Le<le.length;Le++){var Ve=le[Le],lt=[];je.each(function(pe){pe.contains(Ve)&&(lt=lt.concat(pe.coeffs()))});var Nt=t.Utils.arraySum(lt);q.set(v,Le,Nt)}var Ct=je.clone();le.map(function(pe){Ct=Ct.stripVar(pe,!0)}),V.set(v,0,Ct.negate())}}else for(le=f,Q=!0,v=0;v<I;v++){V.set(v,0,new ie(0));for(var je=e.expand(u[v]).collectSymbols(),Le=0;Le<f.length;Le++){q.set(v,Le,new ie(0));for(var Ve=f[Le],Xe=0;Xe<je.length;Xe++){for(var he=je[Xe],et=!1,Lt=0;Lt<f.length;Lt++)he.contains(f[Lt])&&(et&&t.err("Multiple variables found for term "+he),et=!0);if(he.contains(Ve)){var H=l(L(je,Xe),Ve);q.set(v,Le,e.add(q.get(v,Le),H[0]))}}}for(Xe=0;Xe<je.length;Xe++)V.set(v,0,e.add(V.get(v,0),je[Xe]))}if(le.length!==u.length||q.determinant().equals(0))throw new t.exceptions.SolveError("System does not have a distinct solution");q=q.invert();var P=q.multiply(V);return t.Utils.isArray(f)&&P.each(function(B){return B.negate()}),d.systemSolutions(P,le,Q)},quad:function(u,f,v){var I=e.subtract(e.pow(f.clone(),ie(2)),e.multiply(e.multiply(v.clone(),u.clone()),ie(4)));I=e.expand(I);var q=e.pow(I,ie(.5)),V=e.parse(e.multiply(new ie(2),v.clone())),Q=[e.parse(M("(-({0})+({1}))/({2})",f,q,V)),e.parse(M("(-({0})-({1}))/({2})",f,q,V))];return Q},cubic:function(u,f,v,I){var q=I.text(),V=v.text(),Q=f.text(),le=u.text(),ye=`(-(${V})^3/(27*(${q})^3)+(${V})*(${Q})/(6*(${q})^2)-(${le})/(2*(${q})))`,Ae=`((${Q})/(3*(${q}))-(${V})^2/(9*(${q})^2))`,je=`(${V})/(3*(${q}))`,it=`((${ye})+sqrt((${ye})^2+(${Ae})^3))^(1/3)+((${ye})-sqrt((${ye})^2+(${Ae})^3))^(1/3)-(${je})`,yt="1/2+sqrt(3)/2*i";return[e.parse(it),e.parse(`(${it})(${yt})`),e.parse(`(${it})(${yt})^2`)]},quartic:function(u,f,v,I,q){var V={};t.Utils.arrayUnique(de(q).concat(de(I)).concat(de(v)).concat(de(f)).concat(de(u))).map(function(Ve){V[Ve]=1}),q=q.toString(),I=I.toString(),v=v.toString(),f=f.toString(),u=u.toString();var Q,le,ye,Ae,je,it,yt,me,Ue,Le;return Q=e.parse(M("(8*({0})*({2})-3*({1})^2)/(8*({0})^2)",q,I,v)).toString(),le=e.parse(M("(({1})^3-4*({0})*({1})*({2})+8*({0})^2*({3}))/(8*({0})^3)",q,I,v,f)).toString(),Ae=e.parse(M("12*({0})*({4})-3*({1})*({3})+({2})^2",q,I,v,f,u)).toString(),je=e.parse(M("2*({2})^3-9*({1})*({2})*({3})+27*({1})^2*({4})+27*({0})*({3})^2-72*({0})*({2})*({4})",q,I,v,f,u)).toString(),it=e.parse(M("((({1})+(({1})^2-4*({0})^3)^(1/2))/2)^(1/3)",Ae,je)).toString(),ve=e.parse(M("(1/2)*(-(2/3)*({1})+(1/(3*({0}))*(({2})+(({3})/({2})))))^(1/2)",q,Q,it,Ae)).toString(),yt=e.parse(M("-(({1})/(4*({0})))-({4})+(1/2)*sqrt(-4*({4})^2-2*({2})+(({3})/({4})))",q,I,Q,le,ve)),me=e.parse(M("-(({1})/(4*({0})))-({4})-(1/2)*sqrt(-4*({4})^2-2*({2})+(({3})/({4})))",q,I,Q,le,ve)),Ue=e.parse(M("-(({1})/(4*({0})))+({4})+(1/2)*sqrt(-4*({4})^2-2*({2})-(({3})/({4})))",q,I,Q,le,ve)),Le=e.parse(M("-(({1})/(4*({0})))+({4})-(1/2)*sqrt(-4*({4})^2-2*({2})-(({3})/({4})))",q,I,Q,le,ve)),[yt,me,Ue,Le]},divideAndConquer:function(u,f){var v=[],I=t.Algebra.Factor.factor(u);return I.group===Ie&&I.each(function(q){q=ie.unwrapPARENS(q),v=v.concat(c(q,f))}),v},csolve:function(u,f){return t.Utils.block("IGNORE_E",function(){var v,I,q,V,Q,le,ye,Ae,je,it;if(it=[],v=t.Utils.decompose_fn(u,f,!0),v.x.group===ve){I=e.parse(v.x.power),q=Number(I),V=e.pow(e.divide(v.b.negate(),v.a),I.invert()),Q=ie.toPolarFormArray(V),le=Q[0],ye=Q[1],Ae=le.toString(),je=I.toString();for(var yt,me,Ue,Le=0;Le<q;Le++)yt=Le,Ue=M("({0})*e^(2*{1}*pi*{2}*{3})",Ae,yt,I,t.Settings.IMAGINARY),me=e.parse(Ue),it.push(me)}return it},!0)},getPoints:function(u,f,v){f=f||.01,v=v||[];var I=_(u),q=0,V=Math.round(q),Q=I(V),le=Q/Math.abs(Q),ye=t.Settings.ROOTS_PER_SIDE,Ae=ye;v.push(Math.floor(V/2)),v.push(Math.abs(V)),v.push(V),u.each(function(me){me.containsFunction(t.Settings.LOG)&&v.push(.1)});var je=ze(-t.Settings.SOLVE_RADIUS,V,f),it=ze(V,t.Settings.SOLVE_RADIUS,f),yt=function(me,Ue){for(var Le,Ve,lt,Nt=[],Ct=0,Xe=me.length;Ct<Xe;Ct++)Le=me[Ct],Ve=I(Le),lt=Ve/Math.abs(Ve),!(isNaN(Ve)||!isFinite(Ve)||Nt.length>Ue)&&(lt!==le&&Nt.push(Le),le=lt);v=v.concat(Nt)};return yt(je,Ae),yt(it,ye),v},bisection:function(u,f){var v=u-1,I=u+1;if(Math.sign(f(v))!==Math.sign(f(I))){var q=0,V,Q;do{if(V=Math.abs(I-v),q++>t.Settings.MAX_BISECTION_ITER||isNaN(V))return;Q=(v+I)/2,f(v)*f(Q)>0?v=Q:I=Q}while(V>=Te.EPSILON);var le=(v+I)/2,ye=f(le);if(!isNaN(ye)&&Math.abs(ye)<=t.Settings.BI_SECTION_EPSILON)return t.Utils.round(le,13)}},Newton:function(u,f,v){var I=t.Settings.MAX_NEWTON_ITERATIONS,q=0,V=u,Q;do{var le=f(V);if(V===0&&le===0){Q=0;break}if(q++,q>I)return;Q=V-le/v(V);var ye=Math.abs(Q-V);V=Q}while(ye>Te.NEWTON_EPSILON);if(Math.abs(f(Q))<=Te.EPSILON)return Q},rewrite:function(u,f,v){if(f=f||new ie(0),u.isComposite()&&u.isLinear()){var I=[],q=[];u.each(function(Ae){Ae=Ae.clone(),Ae.fname==="sqrt"&&Ae.contains(v)?I.push(Ae):q.push(Ae)},!0),I.length===1&&(f=e.expand(e.pow(e.subtract(f,t.Utils.arraySum(q)),new ie(2))),u=e.expand(e.pow(ie.unwrapSQRT(I[0]),new ie(2))))}else u=ie.unwrapSQRT(e.expand(u));var V=0,Q=u.length;if(u.group===Qe&&u.contains(v)&&u.isLinear()){u.distributeMultiplier();var le=new ie(0);return u.each(function(Ae){Ae.contains(v)?(V++,le=e.add(le,Ae.clone())):f=e.subtract(f,Ae.clone())}),u=le,V!==Q?d.rewrite(u,f,v):[u,f]}else if(u.group===Ie&&u.contains(v)&&u.isLinear()){if(u.multiplier.lessThan(0)&&(u.multiplier=u.multiplier.multiply(new t.Frac(-1)),f.multiplier=f.multiplier.multiply(new t.Frac(-1))),f.equals(0))return new ie(0);var le=new ie(1);return u.each(function(je){je.contains(v)?le=e.multiply(le,je.clone()):f=e.divide(f,je.clone())}),u=le,d.rewrite(u,f,v)}else if(!u.isLinear()&&u.contains(v)){var ye=e.parse(u.power.clone().invert());return u=e.pow(u,ye.clone()),f=e.pow(e.expand(f),ye.clone()),d.rewrite(u,f,v)}else if(u.group===ee||u.group===ve||u.group===De)return[u,f]},sqrtSolve:function(u,f){var v=new ie(0),I=new ie(0);if(u.isComposite()&&(u.each(function(Q){Q.fname==="sqrt"&&Q.contains(f)?v=e.add(v,Q.clone()):I=e.add(I,Q.clone())}),!v.equals(0))){var q=e.expand(e.multiply(e.parse(u.multiplier),e.subtract(e.pow(I,new ie(2)),e.pow(v,new ie(2))))),V=c(q,f);return V=V.filter(function(Q){if(Q.isImaginary())return Q;var le={};le[f]=Q;var ye=h(u,le);if(ye.equals(0))return Q}),V}}},c=function(u,f,v,I,q){if(I=I||0,I++>Te.MAX_SOLVE_DEPTH)return v;if(u instanceof ut){if(u.isZero())return[new ie(0)];if(u.LHS.equals(f)&&!u.RHS.contains(f))return[u.RHS];if(u.RHS.equals(f)&&!u.LHS.contains(f))return[u.LHS]}if(u instanceof t.Vector&&(u=u.elements),f=f||"x",Oe(u))return d.solveSystem.apply(void 0,arguments);v=v||[];var V={},Q={};if(Q[f]=0,K(u)&&h(u.getDenom(),Q).equals(0)===!0)return v;var le=function(Se,qe){var Be=K(Se);if(!(Se===void 0||typeof Se=="number"&&isNaN(Se))){if(Oe(Se))Se.forEach(function(Tt){le(Tt)});else if(Se.valueOf()!=="null"){if(typeof t.Settings.PRE_ADD_SOLUTION=="function"&&(Se=t.Settings.PRE_ADD_SOLUTION(Se)),Be||(Se=e.parse(Se)),t.Settings.make_pi_conversions&&qe){var ct=e.divide(Se.clone(),new ie(Math.PI)),wt=ct.multiplier,Mt=Math.abs(wt.num),qt=Math.abs(wt.den);Mt<10&&qt<10&&(Se=e.multiply(ct,new ie("pi")))}var Ft=Se.toString();V[Ft]||v.push(Se),V[Ft]=!0}}};if(u.group===ve&&u.contains(f)){try{var ye={};ye[f]=0,h(q,ye,"numer"),le(new ie(0))}catch(Se){}return v}if(u.group===Ie){var Ae=u.getNum();if(Ae.group===Ie){var je=String(f);return Ae.each(function(Se){Se.contains(je)&&c(Se,f,v,I,u)}),v}return c(Ae,f,v,I,q)}u.group===ee&&u.fname==="sqrt"&&(u=e.pow(ie.unwrapSQRT(u),new ie(2)));var it=(t.Utils.isSymbol(u)?u:d.toLHS(u,!1)).getNum(),yt=t.Utils.variables(it),me=yt.length;if(t.Utils.isInt(it.power)&&it.power>0&&(it=e.parse(it).toLinear()),it.group===ve||it.group===Ie&&it.contains(f))return[new ie(0)];var Ue={},Le,Ve=function(Se){Se=e.expand(Se,{expand_denominator:!0,expand_functions:!0});var qe=Se.clone();if(Se.symbols)for(var Be in Se.symbols){var ct=Se.symbols[Be],wt=ct.getDenom();if(!wt.isConstant(!0)&&Se.isComposite()){var Mt=new ie(0);return Se.each(function(nt){Mt=e.add(Mt,e.multiply(nt,wt.clone()))}),Ve(e.multiply(e.parse(Se.multiplier),Mt))}var qt=l(ct,f),Ft=qt[1].fname===t.Settings.SQRT,Tt=ie.unwrapSQRT(qt[1]),Ze=Tt.power.clone();if(!K(Ze)&&!Ze.equals(1/2)){if(Ze.den.gt(1)){if(Ft)return Se=e.subtract(Se,ct.clone()),Se=e.add(Se,e.multiply(qt[0].clone(),Tt)),Ve(Se);var ht=Ue[Ze.den];Ue[Ze.den]=ht?ht++:1}else if(Ze.sign()===-1){var Et=e.parse(f+"^"+Math.abs(Ze));return Se.each(function(nt,O){nt.contains(f)&&(Se.symbols[O]=e.multiply(nt,Et.clone()))}),Ue={},Ve(e.parse(Se))}else if(ct.group===De){var Pt=t.Utils.arrayMin(t.Utils.keys(ct.symbols));if(Pt<0){var Et=e.parse(f+"^"+Math.abs(Pt)),Ye=new ie(0);return qe.each(function(O){Ye=e.add(Ye,e.multiply(O.clone(),Et.clone()))},!0),Ye}}}}return Se},lt=function(Se){var qe=new ie(0),Be=new ie(0);return Se.each(function(ct){ct.contains(f,!0)?qe=e.add(qe,ct.clone()):Be=e.subtract(Be,ct.clone())}),[qe,Be]};if(d.inverseFunctionSolve=function(Se,qe,Be){var ct=l(qe.args[0],f),wt=ct[1];if(wt.group===ve)return e.divide(e.symfunction(Se,[e.divide(Be,e.parse(qe.multiplier))]),ct[0])},it=Ve(it),it.equals(0))return[it];var Nt=t.Utils.keys(Ue);if(Nt.length===1&&(Le=Nt[0],it.each(function(Se,qe){if(Se.contains(f)){var Be=l(Se,f),ct=Be[1],wt=ct.power;wt.den.gt(1)&&(ct.power=wt.multiply(new t.Frac(Le)),it.symbols[qe]=e.multiply(ct,Be[0]))}}),it=e.parse(it)),le(d.sqrtSolve(it,f)),me===1)if(it.isPoly(!0)){var Ct=new t.Algebra.Classes.Factors;if(t.Algebra.Factor.factor(it,Ct),Ct.getNumberSymbolics()>1)for(var Xe in Ct.factors)le(c(Ct.factors[Xe],f));else{var he=t.Utils.getCoeffs(it,f),et=he.length-1,Lt=!1;if(yt[0]===f){if(j(he,function(Se){return Se.group!==t.groups.N})){var H=t.Algebra.proots(it);j(H,function(Se){return!t.Utils.isInt(Se)})&&(Lt=!0,H.map(function(Se){le(new ie(Se))}))}if(!Lt)if(u=e.parse(u),u instanceof t.Equation&&(u=u.toLHS()),et===1)le(e.divide(he[0],he[1].negate()));else if(et===2)le(e.expand(d.quad.apply(void 0,he)));else if(et===3){var v=[],P=t.Algebra.Factor.factor(u),v=[];v.length>0?le(v):le(d.cubic.apply(void 0,he))}else r.proots(it).map(le)}}}else try{var B=it.hasTrig(),fe=d.getPoints(it,.1),pe=d.getPoints(it,.05),ue=d.getPoints(it,.01),st=t.Utils.arrayUnique(fe.concat(pe).concat(ue)).sort(function(Se,qe){return Se-qe}),se,te,D,re=_(it.clone()),J=[];for(se=0;se<st.length;se++){if(te=st[se],D=d.bisection(te,re),typeof D=="undefined"){J.push(te);continue}le(D,B)}st=J;var Ee=a.diff(it.clone()),xe=_(Ee);for(se=0;se<st.length;se++)te=st[se],le(d.Newton(te,re,xe),B);v.sort()}catch(Se){console.log(Se)}else if(!it.hasFunc(f)&&it.isComposite())try{var P=t.Algebra.Factor.factor(it.clone());if(P.group===Ie)P.each(function(qe){le(c(qe,f))});else{var he=t.Utils.getCoeffs(it,f),Ce=he.length,et=Ce-1;switch(et){case 0:var Ke=lt(it),Ne=Ke[0],We=Ke[1];if(Ne.group===t.groups.EX){var ae=t.Settings.LOG,Ge=`${ae}((${We})/(${Ne.multiplier}))/${ae}(${Ne.value})/${Ne.power.multiplier}`;le(e.parse(Ge))}break;case 1:le(e.divide(he[0],he[1].negate()));break;case 2:le(d.quad.apply(void 0,he));break;case 3:le(d.cubic.apply(void 0,he));break;case 4:le(d.quartic.apply(void 0,he));break;default:le(d.csolve(it,f)),v.length===0&&le(d.divideAndConquer(it,f))}v.length===0&&le(c(P,f,v,I))}}catch(Se){}else try{var He=d.rewrite(it,null,f),Ne=He[0],We=He[1];if(Ne.group===ee)if(Ne.fname==="abs")le([We.clone(),We.negate()]);else if(Ne.fname==="sin")le(d.inverseFunctionSolve("asin",Ne,We));else if(Ne.fname==="cos")le(d.inverseFunctionSolve("acos",Ne,We));else if(Ne.fname==="tan")le(d.inverseFunctionSolve("atan",Ne,We));else if(Ne.fname===t.Settings.LOG){var ge=l(Ne.args[0],f),Xe=ge[1];if(Xe.group===ve){We=e.divide(e.subtract(e.pow(Ne.args.length>1?Ne.args[1]:new ie("e"),e.divide(We,e.parse(Ne.multiplier))),ge[3]),ge[0]);var it=new ut(Xe,We).toLHS();le(c(it,f))}}else le(e.subtract(Ne,We));else{var Je=new ut(Ne,We).toLHS();if(Je.equals(it))throw new Error("Stopping. No stop condition exists");le(c(Je,f))}}catch(Se){try{if(it.group===Ie)le(0);else if(it.group===Qe){var Ke=lt(it),Ne=Ke[0],We=Ke[1];if(Ne.group===t.groups.EX&&Ne.value===f){var gt=Ne.power.clone().invert();le(e.pow(We,gt))}}}catch(qe){}}if(Le&&(v=v.map(function(Se){return e.pow(Se,new ie(Le))})),K(u)){var ne={};v=v.filter(function(Se){try{ne[f]=Se;var qe=Number(h(u,ne));return isNaN(qe),!0}catch(Be){return!1}})}return v};J2.register([{name:"solveEquations",parent:"nerdamer",numargs:-1,visible:!0,build:function(){return c}},{name:"solve",parent:"Solve",numargs:2,visible:!0,build:function(){return t.Solve.solve}},{name:"setEquation",parent:"Solve",visible:!0,build:function(){return at}}]),J2.updateAPI()})()});var W7=an(Un=>{"use strict";var t3=Symbol.for("react.element"),Cd=Symbol.for("react.portal"),Td=Symbol.for("react.fragment"),Ad=Symbol.for("react.strict_mode"),Id=Symbol.for("react.profiler"),kd=Symbol.for("react.provider"),bd=Symbol.for("react.context"),Ld=Symbol.for("react.forward_ref"),Od=Symbol.for("react.suspense"),Pd=Symbol.for("react.memo"),Rd=Symbol.for("react.lazy"),F7=Symbol.iterator;function qd(t){return t===null||typeof t!="object"?null:(t=F7&&t[F7]||t["@@iterator"],typeof t=="function"?t:null)}var z7={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},V7=Object.assign,G7={};function Q1(t,e,r){this.props=t,this.context=e,this.refs=G7,this.updater=r||z7}Q1.prototype.isReactComponent={};Q1.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};Q1.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function $7(){}$7.prototype=Q1.prototype;function Q6(t,e,r){this.props=t,this.context=e,this.refs=G7,this.updater=r||z7}var J6=Q6.prototype=new $7;J6.constructor=Q6;V7(J6,Q1.prototype);J6.isPureReactComponent=!0;var H7=Array.isArray,X7=Object.prototype.hasOwnProperty,K6={current:null},j7={key:!0,ref:!0,__self:!0,__source:!0};function Y7(t,e,r){var a,l={},h=null,L=null;if(e!=null)for(a in e.ref!==void 0&&(L=e.ref),e.key!==void 0&&(h=""+e.key),e)X7.call(e,a)&&!j7.hasOwnProperty(a)&&(l[a]=e[a]);var M=arguments.length-2;if(M===1)l.children=r;else if(1<M){for(var _=Array(M),R=0;R<M;R++)_[R]=arguments[R+2];l.children=_}if(t&&t.defaultProps)for(a in M=t.defaultProps,M)l[a]===void 0&&(l[a]=M[a]);return{$$typeof:t3,type:t,key:h,ref:L,props:l,_owner:K6.current}}function Ud(t,e){return{$$typeof:t3,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}function e4(t){return typeof t=="object"&&t!==null&&t.$$typeof===t3}function Dd(t){var e={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(r){return e[r]})}var B7=/\/+/g;function Z6(t,e){return typeof t=="object"&&t!==null&&t.key!=null?Dd(""+t.key):e.toString(36)}function xo(t,e,r,a,l){var h=typeof t;(h==="undefined"||h==="boolean")&&(t=null);var L=!1;if(t===null)L=!0;else switch(h){case"string":case"number":L=!0;break;case"object":switch(t.$$typeof){case t3:case Cd:L=!0}}if(L)return L=t,l=l(L),t=a===""?"."+Z6(L,0):a,H7(l)?(r="",t!=null&&(r=t.replace(B7,"$&/")+"/"),xo(l,e,r,"",function(R){return R})):l!=null&&(e4(l)&&(l=Ud(l,r+(!l.key||L&&L.key===l.key?"":(""+l.key).replace(B7,"$&/")+"/")+t)),e.push(l)),1;if(L=0,a=a===""?".":a+":",H7(t))for(var M=0;M<t.length;M++){h=t[M];var _=a+Z6(h,M);L+=xo(h,e,r,_,l)}else if(_=qd(t),typeof _=="function")for(t=_.call(t),M=0;!(h=t.next()).done;)h=h.value,_=a+Z6(h,M++),L+=xo(h,e,r,_,l);else if(h==="object")throw e=String(t),Error("Objects are not valid as a React child (found: "+(e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)+"). If you meant to render a collection of children, use an array instead.");return L}function No(t,e,r){if(t==null)return t;var a=[],l=0;return xo(t,a,"","",function(h){return e.call(r,h,l++)}),a}function Fd(t){if(t._status===-1){var e=t._result;e=e(),e.then(function(r){(t._status===0||t._status===-1)&&(t._status=1,t._result=r)},function(r){(t._status===0||t._status===-1)&&(t._status=2,t._result=r)}),t._status===-1&&(t._status=0,t._result=e)}if(t._status===1)return t._result.default;throw t._result}var ni={current:null},Co={transition:null},Hd={ReactCurrentDispatcher:ni,ReactCurrentBatchConfig:Co,ReactCurrentOwner:K6};Un.Children={map:No,forEach:function(t,e,r){No(t,function(){e.apply(this,arguments)},r)},count:function(t){var e=0;return No(t,function(){e++}),e},toArray:function(t){return No(t,function(e){return e})||[]},only:function(t){if(!e4(t))throw Error("React.Children.only expected to receive a single React element child.");return t}};Un.Component=Q1;Un.Fragment=Td;Un.Profiler=Id;Un.PureComponent=Q6;Un.StrictMode=Ad;Un.Suspense=Od;Un.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Hd;Un.cloneElement=function(t,e,r){if(t==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var a=V7({},t.props),l=t.key,h=t.ref,L=t._owner;if(e!=null){if(e.ref!==void 0&&(h=e.ref,L=K6.current),e.key!==void 0&&(l=""+e.key),t.type&&t.type.defaultProps)var M=t.type.defaultProps;for(_ in e)X7.call(e,_)&&!j7.hasOwnProperty(_)&&(a[_]=e[_]===void 0&&M!==void 0?M[_]:e[_])}var _=arguments.length-2;if(_===1)a.children=r;else if(1<_){M=Array(_);for(var R=0;R<_;R++)M[R]=arguments[R+2];a.children=M}return{$$typeof:t3,type:t.type,key:l,ref:h,props:a,_owner:L}};Un.createContext=function(t){return t={$$typeof:bd,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},t.Provider={$$typeof:kd,_context:t},t.Consumer=t};Un.createElement=Y7;Un.createFactory=function(t){var e=Y7.bind(null,t);return e.type=t,e};Un.createRef=function(){return{current:null}};Un.forwardRef=function(t){return{$$typeof:Ld,render:t}};Un.isValidElement=e4;Un.lazy=function(t){return{$$typeof:Rd,_payload:{_status:-1,_result:t},_init:Fd}};Un.memo=function(t,e){return{$$typeof:Pd,type:t,compare:e===void 0?null:e}};Un.startTransition=function(t){var e=Co.transition;Co.transition={};try{t()}finally{Co.transition=e}};Un.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")};Un.useCallback=function(t,e){return ni.current.useCallback(t,e)};Un.useContext=function(t){return ni.current.useContext(t)};Un.useDebugValue=function(){};Un.useDeferredValue=function(t){return ni.current.useDeferredValue(t)};Un.useEffect=function(t,e){return ni.current.useEffect(t,e)};Un.useId=function(){return ni.current.useId()};Un.useImperativeHandle=function(t,e,r){return ni.current.useImperativeHandle(t,e,r)};Un.useInsertionEffect=function(t,e){return ni.current.useInsertionEffect(t,e)};Un.useLayoutEffect=function(t,e){return ni.current.useLayoutEffect(t,e)};Un.useMemo=function(t,e){return ni.current.useMemo(t,e)};Un.useReducer=function(t,e,r){return ni.current.useReducer(t,e,r)};Un.useRef=function(t){return ni.current.useRef(t)};Un.useState=function(t){return ni.current.useState(t)};Un.useSyncExternalStore=function(t,e,r){return ni.current.useSyncExternalStore(t,e,r)};Un.useTransition=function(){return ni.current.useTransition()};Un.version="18.2.0"});var Mr=an((HS,Z7)=>{"use strict";Z7.exports=W7()});var J7=an((To,Q7)=>{(function(t,e){typeof To=="object"&&typeof Q7!="undefined"?e(To):typeof define=="function"&&define.amd?define(["exports"],e):(t=t||self,e(t.d3=t.d3||{}))})(To,function(t){"use strict";let e=Math.PI,r=2*e,a=1e-6,l=r-a;function h(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function L(){return new h}h.prototype=L.prototype={constructor:h,moveTo:function(M,_){this._+="M"+(this._x0=this._x1=+M)+","+(this._y0=this._y1=+_)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(M,_){this._+="L"+(this._x1=+M)+","+(this._y1=+_)},quadraticCurveTo:function(M,_,R,ie){this._+="Q"+ +M+","+ +_+","+(this._x1=+R)+","+(this._y1=+ie)},bezierCurveTo:function(M,_,R,ie,K,de){this._+="C"+ +M+","+ +_+","+ +R+","+ +ie+","+(this._x1=+K)+","+(this._y1=+de)},arcTo:function(M,_,R,ie,K){M=+M,_=+_,R=+R,ie=+ie,K=+K;var de=this._x1,ve=this._y1,De=R-M,Ie=ie-_,Qe=de-M,ee=ve-_,Te=Qe*Qe+ee*ee;if(K<0)throw new Error("negative radius: "+K);if(this._x1===null)this._+="M"+(this._x1=M)+","+(this._y1=_);else if(Te>a)if(!(Math.abs(ee*De-Ie*Qe)>a)||!K)this._+="L"+(this._x1=M)+","+(this._y1=_);else{var ze=R-de,Oe=ie-ve,ut=De*De+Ie*Ie,at=ze*ze+Oe*Oe,j=Math.sqrt(ut),d=Math.sqrt(Te),c=K*Math.tan((e-Math.acos((ut+Te-at)/(2*j*d)))/2),u=c/d,f=c/j;Math.abs(u-1)>a&&(this._+="L"+(M+u*Qe)+","+(_+u*ee)),this._+="A"+K+","+K+",0,0,"+ +(ee*ze>Qe*Oe)+","+(this._x1=M+f*De)+","+(this._y1=_+f*Ie)}},arc:function(M,_,R,ie,K,de){M=+M,_=+_,R=+R,de=!!de;var ve=R*Math.cos(ie),De=R*Math.sin(ie),Ie=M+ve,Qe=_+De,ee=1^de,Te=de?ie-K:K-ie;if(R<0)throw new Error("negative radius: "+R);this._x1===null?this._+="M"+Ie+","+Qe:(Math.abs(this._x1-Ie)>a||Math.abs(this._y1-Qe)>a)&&(this._+="L"+Ie+","+Qe),R&&(Te<0&&(Te=Te%r+r),Te>l?this._+="A"+R+","+R+",0,1,"+ee+","+(M-ve)+","+(_-De)+"A"+R+","+R+",0,1,"+ee+","+(this._x1=Ie)+","+(this._y1=Qe):Te>a&&(this._+="A"+R+","+R+",0,"+ +(Te>=e)+","+ee+","+(this._x1=M+R*Math.cos(K))+","+(this._y1=_+R*Math.sin(K))))},rect:function(M,_,R,ie){this._+="M"+(this._x0=this._x1=+M)+","+(this._y0=this._y1=+_)+"h"+ +R+"v"+ +ie+"h"+-R+"Z"},toString:function(){return this._}},t.path=L,Object.defineProperty(t,"__esModule",{value:!0})})});var n3=an((Ao,K7)=>{(function(t,e){typeof Ao=="object"&&typeof K7!="undefined"?e(Ao,J7()):typeof define=="function"&&define.amd?define(["exports","d3-path"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t.d3=t.d3||{},t.d3))})(Ao,function(t,e){"use strict";function r(w){return function(){return w}}var a=Math.abs,l=Math.atan2,h=Math.cos,L=Math.max,M=Math.min,_=Math.sin,R=Math.sqrt,ie=1e-12,K=Math.PI,de=K/2,ve=2*K;function De(w){return w>1?0:w<-1?K:Math.acos(w)}function Ie(w){return w>=1?de:w<=-1?-de:Math.asin(w)}function Qe(w){return w.innerRadius}function ee(w){return w.outerRadius}function Te(w){return w.startAngle}function ze(w){return w.endAngle}function Oe(w){return w&&w.padAngle}function ut(w,b,z,_e,tt,be,$e,pt){var vt=z-w,p=_e-b,N=$e-tt,we=pt-be,Re=we*vt-N*p;if(!(Re*Re<ie))return Re=(N*(b-be)-we*(w-tt))/Re,[w+Re*vt,b+Re*p]}function at(w,b,z,_e,tt,be,$e){var pt=w-z,vt=b-_e,p=($e?be:-be)/R(pt*pt+vt*vt),N=p*vt,we=-p*pt,Re=w+N,rt=b+we,mt=z+N,It=_e+we,Bt=(Re+mt)/2,Rt=(rt+It)/2,jt=mt-Re,Ut=It-rt,en=jt*jt+Ut*Ut,Wt=tt-be,Qt=Re*It-mt*rt,sn=(Ut<0?-1:1)*R(L(0,Wt*Wt*en-Qt*Qt)),ln=(Qt*Ut-jt*sn)/en,dn=(-Qt*jt-Ut*sn)/en,En=(Qt*Ut+jt*sn)/en,vn=(-Qt*jt+Ut*sn)/en,Dt=ln-Bt,tn=dn-Rt,hn=En-Bt,pn=vn-Rt;return Dt*Dt+tn*tn>hn*hn+pn*pn&&(ln=En,dn=vn),{cx:ln,cy:dn,x01:-N,y01:-we,x11:ln*(tt/Wt-1),y11:dn*(tt/Wt-1)}}function j(){var w=Qe,b=ee,z=r(0),_e=null,tt=Te,be=ze,$e=Oe,pt=null;function vt(){var p,N,we=+w.apply(this,arguments),Re=+b.apply(this,arguments),rt=tt.apply(this,arguments)-de,mt=be.apply(this,arguments)-de,It=a(mt-rt),Bt=mt>rt;if(pt||(pt=p=e.path()),Re<we&&(N=Re,Re=we,we=N),!(Re>ie))pt.moveTo(0,0);else if(It>ve-ie)pt.moveTo(Re*h(rt),Re*_(rt)),pt.arc(0,0,Re,rt,mt,!Bt),we>ie&&(pt.moveTo(we*h(mt),we*_(mt)),pt.arc(0,0,we,mt,rt,Bt));else{var Rt=rt,jt=mt,Ut=rt,en=mt,Wt=It,Qt=It,sn=$e.apply(this,arguments)/2,ln=sn>ie&&(_e?+_e.apply(this,arguments):R(we*we+Re*Re)),dn=M(a(Re-we)/2,+z.apply(this,arguments)),En=dn,vn=dn,Dt,tn;if(ln>ie){var hn=Ie(ln/we*_(sn)),pn=Ie(ln/Re*_(sn));(Wt-=hn*2)>ie?(hn*=Bt?1:-1,Ut+=hn,en-=hn):(Wt=0,Ut=en=(rt+mt)/2),(Qt-=pn*2)>ie?(pn*=Bt?1:-1,Rt+=pn,jt-=pn):(Qt=0,Rt=jt=(rt+mt)/2)}var Nn=Re*h(Rt),wn=Re*_(Rt),Mn=we*h(en),xn=we*_(en);if(dn>ie){var An=Re*h(jt),Jn=Re*_(jt),ei=we*h(Ut),Xr=we*_(Ut),$n;if(It<K&&($n=ut(Nn,wn,ei,Xr,An,Jn,Mn,xn))){var Ri=Nn-$n[0],yi=wn-$n[1],Fr=An-$n[0],Rn=Jn-$n[1],Yn=1/_(De((Ri*Fr+yi*Rn)/(R(Ri*Ri+yi*yi)*R(Fr*Fr+Rn*Rn)))/2),Hr=R($n[0]*$n[0]+$n[1]*$n[1]);En=M(dn,(we-Hr)/(Yn-1)),vn=M(dn,(Re-Hr)/(Yn+1))}}Qt>ie?vn>ie?(Dt=at(ei,Xr,Nn,wn,Re,vn,Bt),tn=at(An,Jn,Mn,xn,Re,vn,Bt),pt.moveTo(Dt.cx+Dt.x01,Dt.cy+Dt.y01),vn<dn?pt.arc(Dt.cx,Dt.cy,vn,l(Dt.y01,Dt.x01),l(tn.y01,tn.x01),!Bt):(pt.arc(Dt.cx,Dt.cy,vn,l(Dt.y01,Dt.x01),l(Dt.y11,Dt.x11),!Bt),pt.arc(0,0,Re,l(Dt.cy+Dt.y11,Dt.cx+Dt.x11),l(tn.cy+tn.y11,tn.cx+tn.x11),!Bt),pt.arc(tn.cx,tn.cy,vn,l(tn.y11,tn.x11),l(tn.y01,tn.x01),!Bt))):(pt.moveTo(Nn,wn),pt.arc(0,0,Re,Rt,jt,!Bt)):pt.moveTo(Nn,wn),!(we>ie)||!(Wt>ie)?pt.lineTo(Mn,xn):En>ie?(Dt=at(Mn,xn,An,Jn,we,-En,Bt),tn=at(Nn,wn,ei,Xr,we,-En,Bt),pt.lineTo(Dt.cx+Dt.x01,Dt.cy+Dt.y01),En<dn?pt.arc(Dt.cx,Dt.cy,En,l(Dt.y01,Dt.x01),l(tn.y01,tn.x01),!Bt):(pt.arc(Dt.cx,Dt.cy,En,l(Dt.y01,Dt.x01),l(Dt.y11,Dt.x11),!Bt),pt.arc(0,0,we,l(Dt.cy+Dt.y11,Dt.cx+Dt.x11),l(tn.cy+tn.y11,tn.cx+tn.x11),Bt),pt.arc(tn.cx,tn.cy,En,l(tn.y11,tn.x11),l(tn.y01,tn.x01),!Bt))):pt.arc(0,0,we,en,Ut,Bt)}if(pt.closePath(),p)return pt=null,p+""||null}return vt.centroid=function(){var p=(+w.apply(this,arguments)+ +b.apply(this,arguments))/2,N=(+tt.apply(this,arguments)+ +be.apply(this,arguments))/2-K/2;return[h(N)*p,_(N)*p]},vt.innerRadius=function(p){return arguments.length?(w=typeof p=="function"?p:r(+p),vt):w},vt.outerRadius=function(p){return arguments.length?(b=typeof p=="function"?p:r(+p),vt):b},vt.cornerRadius=function(p){return arguments.length?(z=typeof p=="function"?p:r(+p),vt):z},vt.padRadius=function(p){return arguments.length?(_e=p==null?null:typeof p=="function"?p:r(+p),vt):_e},vt.startAngle=function(p){return arguments.length?(tt=typeof p=="function"?p:r(+p),vt):tt},vt.endAngle=function(p){return arguments.length?(be=typeof p=="function"?p:r(+p),vt):be},vt.padAngle=function(p){return arguments.length?($e=typeof p=="function"?p:r(+p),vt):$e},vt.context=function(p){return arguments.length?(pt=p==null?null:p,vt):pt},vt}var d=Array.prototype.slice;function c(w){return typeof w=="object"&&"length"in w?w:Array.from(w)}function u(w){this._context=w}u.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(w,b){switch(w=+w,b=+b,this._point){case 0:this._point=1,this._line?this._context.lineTo(w,b):this._context.moveTo(w,b);break;case 1:this._point=2;default:this._context.lineTo(w,b);break}}};function f(w){return new u(w)}function v(w){return w[0]}function I(w){return w[1]}function q(w,b){var z=r(!0),_e=null,tt=f,be=null;w=typeof w=="function"?w:w===void 0?v:r(w),b=typeof b=="function"?b:b===void 0?I:r(b);function $e(pt){var vt,p=(pt=c(pt)).length,N,we=!1,Re;for(_e==null&&(be=tt(Re=e.path())),vt=0;vt<=p;++vt)!(vt<p&&z(N=pt[vt],vt,pt))===we&&((we=!we)?be.lineStart():be.lineEnd()),we&&be.point(+w(N,vt,pt),+b(N,vt,pt));if(Re)return be=null,Re+""||null}return $e.x=function(pt){return arguments.length?(w=typeof pt=="function"?pt:r(+pt),$e):w},$e.y=function(pt){return arguments.length?(b=typeof pt=="function"?pt:r(+pt),$e):b},$e.defined=function(pt){return arguments.length?(z=typeof pt=="function"?pt:r(!!pt),$e):z},$e.curve=function(pt){return arguments.length?(tt=pt,_e!=null&&(be=tt(_e)),$e):tt},$e.context=function(pt){return arguments.length?(pt==null?_e=be=null:be=tt(_e=pt),$e):_e},$e}function V(w,b,z){var _e=null,tt=r(!0),be=null,$e=f,pt=null;w=typeof w=="function"?w:w===void 0?v:r(+w),b=typeof b=="function"?b:r(b===void 0?0:+b),z=typeof z=="function"?z:z===void 0?I:r(+z);function vt(N){var we,Re,rt,mt=(N=c(N)).length,It,Bt=!1,Rt,jt=new Array(mt),Ut=new Array(mt);for(be==null&&(pt=$e(Rt=e.path())),we=0;we<=mt;++we){if(!(we<mt&&tt(It=N[we],we,N))===Bt)if(Bt=!Bt)Re=we,pt.areaStart(),pt.lineStart();else{for(pt.lineEnd(),pt.lineStart(),rt=we-1;rt>=Re;--rt)pt.point(jt[rt],Ut[rt]);pt.lineEnd(),pt.areaEnd()}Bt&&(jt[we]=+w(It,we,N),Ut[we]=+b(It,we,N),pt.point(_e?+_e(It,we,N):jt[we],z?+z(It,we,N):Ut[we]))}if(Rt)return pt=null,Rt+""||null}function p(){return q().defined(tt).curve($e).context(be)}return vt.x=function(N){return arguments.length?(w=typeof N=="function"?N:r(+N),_e=null,vt):w},vt.x0=function(N){return arguments.length?(w=typeof N=="function"?N:r(+N),vt):w},vt.x1=function(N){return arguments.length?(_e=N==null?null:typeof N=="function"?N:r(+N),vt):_e},vt.y=function(N){return arguments.length?(b=typeof N=="function"?N:r(+N),z=null,vt):b},vt.y0=function(N){return arguments.length?(b=typeof N=="function"?N:r(+N),vt):b},vt.y1=function(N){return arguments.length?(z=N==null?null:typeof N=="function"?N:r(+N),vt):z},vt.lineX0=vt.lineY0=function(){return p().x(w).y(b)},vt.lineY1=function(){return p().x(w).y(z)},vt.lineX1=function(){return p().x(_e).y(b)},vt.defined=function(N){return arguments.length?(tt=typeof N=="function"?N:r(!!N),vt):tt},vt.curve=function(N){return arguments.length?($e=N,be!=null&&(pt=$e(be)),vt):$e},vt.context=function(N){return arguments.length?(N==null?be=pt=null:pt=$e(be=N),vt):be},vt}function Q(w,b){return b<w?-1:b>w?1:b>=w?0:NaN}function le(w){return w}function ye(){var w=le,b=Q,z=null,_e=r(0),tt=r(ve),be=r(0);function $e(pt){var vt,p=(pt=c(pt)).length,N,we,Re=0,rt=new Array(p),mt=new Array(p),It=+_e.apply(this,arguments),Bt=Math.min(ve,Math.max(-ve,tt.apply(this,arguments)-It)),Rt,jt=Math.min(Math.abs(Bt)/p,be.apply(this,arguments)),Ut=jt*(Bt<0?-1:1),en;for(vt=0;vt<p;++vt)(en=mt[rt[vt]=vt]=+w(pt[vt],vt,pt))>0&&(Re+=en);for(b!=null?rt.sort(function(Wt,Qt){return b(mt[Wt],mt[Qt])}):z!=null&&rt.sort(function(Wt,Qt){return z(pt[Wt],pt[Qt])}),vt=0,we=Re?(Bt-p*Ut)/Re:0;vt<p;++vt,It=Rt)N=rt[vt],en=mt[N],Rt=It+(en>0?en*we:0)+Ut,mt[N]={data:pt[N],index:vt,value:en,startAngle:It,endAngle:Rt,padAngle:jt};return mt}return $e.value=function(pt){return arguments.length?(w=typeof pt=="function"?pt:r(+pt),$e):w},$e.sortValues=function(pt){return arguments.length?(b=pt,z=null,$e):b},$e.sort=function(pt){return arguments.length?(z=pt,b=null,$e):z},$e.startAngle=function(pt){return arguments.length?(_e=typeof pt=="function"?pt:r(+pt),$e):_e},$e.endAngle=function(pt){return arguments.length?(tt=typeof pt=="function"?pt:r(+pt),$e):tt},$e.padAngle=function(pt){return arguments.length?(be=typeof pt=="function"?pt:r(+pt),$e):be},$e}var Ae=it(f);function je(w){this._curve=w}je.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(w,b){this._curve.point(b*Math.sin(w),b*-Math.cos(w))}};function it(w){function b(z){return new je(w(z))}return b._curve=w,b}function yt(w){var b=w.curve;return w.angle=w.x,delete w.x,w.radius=w.y,delete w.y,w.curve=function(z){return arguments.length?b(it(z)):b()._curve},w}function me(){return yt(q().curve(Ae))}function Ue(){var w=V().curve(Ae),b=w.curve,z=w.lineX0,_e=w.lineX1,tt=w.lineY0,be=w.lineY1;return w.angle=w.x,delete w.x,w.startAngle=w.x0,delete w.x0,w.endAngle=w.x1,delete w.x1,w.radius=w.y,delete w.y,w.innerRadius=w.y0,delete w.y0,w.outerRadius=w.y1,delete w.y1,w.lineStartAngle=function(){return yt(z())},delete w.lineX0,w.lineEndAngle=function(){return yt(_e())},delete w.lineX1,w.lineInnerRadius=function(){return yt(tt())},delete w.lineY0,w.lineOuterRadius=function(){return yt(be())},delete w.lineY1,w.curve=function($e){return arguments.length?b(it($e)):b()._curve},w}function Le(w,b){return[(b=+b)*Math.cos(w-=Math.PI/2),b*Math.sin(w)]}function Ve(w){return w.source}function lt(w){return w.target}function Nt(w){var b=Ve,z=lt,_e=v,tt=I,be=null;function $e(){var pt,vt=d.call(arguments),p=b.apply(this,vt),N=z.apply(this,vt);if(be||(be=pt=e.path()),w(be,+_e.apply(this,(vt[0]=p,vt)),+tt.apply(this,vt),+_e.apply(this,(vt[0]=N,vt)),+tt.apply(this,vt)),pt)return be=null,pt+""||null}return $e.source=function(pt){return arguments.length?(b=pt,$e):b},$e.target=function(pt){return arguments.length?(z=pt,$e):z},$e.x=function(pt){return arguments.length?(_e=typeof pt=="function"?pt:r(+pt),$e):_e},$e.y=function(pt){return arguments.length?(tt=typeof pt=="function"?pt:r(+pt),$e):tt},$e.context=function(pt){return arguments.length?(be=pt==null?null:pt,$e):be},$e}function Ct(w,b,z,_e,tt){w.moveTo(b,z),w.bezierCurveTo(b=(b+_e)/2,z,b,tt,_e,tt)}function Xe(w,b,z,_e,tt){w.moveTo(b,z),w.bezierCurveTo(b,z=(z+tt)/2,_e,z,_e,tt)}function he(w,b,z,_e,tt){var be=Le(b,z),$e=Le(b,z=(z+tt)/2),pt=Le(_e,z),vt=Le(_e,tt);w.moveTo(be[0],be[1]),w.bezierCurveTo($e[0],$e[1],pt[0],pt[1],vt[0],vt[1])}function et(){return Nt(Ct)}function Lt(){return Nt(Xe)}function H(){var w=Nt(he);return w.angle=w.x,delete w.x,w.radius=w.y,delete w.y,w}var P={draw:function(w,b){var z=Math.sqrt(b/K);w.moveTo(z,0),w.arc(0,0,z,0,ve)}},B={draw:function(w,b){var z=Math.sqrt(b/5)/2;w.moveTo(-3*z,-z),w.lineTo(-z,-z),w.lineTo(-z,-3*z),w.lineTo(z,-3*z),w.lineTo(z,-z),w.lineTo(3*z,-z),w.lineTo(3*z,z),w.lineTo(z,z),w.lineTo(z,3*z),w.lineTo(-z,3*z),w.lineTo(-z,z),w.lineTo(-3*z,z),w.closePath()}},fe=Math.sqrt(1/3),pe=fe*2,ue={draw:function(w,b){var z=Math.sqrt(b/pe),_e=z*fe;w.moveTo(0,-z),w.lineTo(_e,0),w.lineTo(0,z),w.lineTo(-_e,0),w.closePath()}},st=.8908130915292852,se=Math.sin(K/10)/Math.sin(7*K/10),te=Math.sin(ve/10)*se,D=-Math.cos(ve/10)*se,re={draw:function(w,b){var z=Math.sqrt(b*st),_e=te*z,tt=D*z;w.moveTo(0,-z),w.lineTo(_e,tt);for(var be=1;be<5;++be){var $e=ve*be/5,pt=Math.cos($e),vt=Math.sin($e);w.lineTo(vt*z,-pt*z),w.lineTo(pt*_e-vt*tt,vt*_e+pt*tt)}w.closePath()}},J={draw:function(w,b){var z=Math.sqrt(b),_e=-z/2;w.rect(_e,_e,z,z)}},Ee=Math.sqrt(3),xe={draw:function(w,b){var z=-Math.sqrt(b/(Ee*3));w.moveTo(0,z*2),w.lineTo(-Ee*z,-z),w.lineTo(Ee*z,-z),w.closePath()}},Ce=-.5,Ke=Math.sqrt(3)/2,Ne=1/Math.sqrt(12),We=(Ne/2+1)*3,ae={draw:function(w,b){var z=Math.sqrt(b/We),_e=z/2,tt=z*Ne,be=_e,$e=z*Ne+z,pt=-be,vt=$e;w.moveTo(_e,tt),w.lineTo(be,$e),w.lineTo(pt,vt),w.lineTo(Ce*_e-Ke*tt,Ke*_e+Ce*tt),w.lineTo(Ce*be-Ke*$e,Ke*be+Ce*$e),w.lineTo(Ce*pt-Ke*vt,Ke*pt+Ce*vt),w.lineTo(Ce*_e+Ke*tt,Ce*tt-Ke*_e),w.lineTo(Ce*be+Ke*$e,Ce*$e-Ke*be),w.lineTo(Ce*pt+Ke*vt,Ce*vt-Ke*pt),w.closePath()}},Ge=[P,B,ue,J,re,xe,ae];function He(w,b){var z=null;w=typeof w=="function"?w:r(w||P),b=typeof b=="function"?b:r(b===void 0?64:+b);function _e(){var tt;if(z||(z=tt=e.path()),w.apply(this,arguments).draw(z,+b.apply(this,arguments)),tt)return z=null,tt+""||null}return _e.type=function(tt){return arguments.length?(w=typeof tt=="function"?tt:r(tt),_e):w},_e.size=function(tt){return arguments.length?(b=typeof tt=="function"?tt:r(+tt),_e):b},_e.context=function(tt){return arguments.length?(z=tt==null?null:tt,_e):z},_e}function ge(){}function Je(w,b,z){w._context.bezierCurveTo((2*w._x0+w._x1)/3,(2*w._y0+w._y1)/3,(w._x0+2*w._x1)/3,(w._y0+2*w._y1)/3,(w._x0+4*w._x1+b)/6,(w._y0+4*w._y1+z)/6)}function gt(w){this._context=w}gt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Je(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(w,b){switch(w=+w,b=+b,this._point){case 0:this._point=1,this._line?this._context.lineTo(w,b):this._context.moveTo(w,b);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Je(this,w,b);break}this._x0=this._x1,this._x1=w,this._y0=this._y1,this._y1=b}};function ne(w){return new gt(w)}function Se(w){this._context=w}Se.prototype={areaStart:ge,areaEnd:ge,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(w,b){switch(w=+w,b=+b,this._point){case 0:this._point=1,this._x2=w,this._y2=b;break;case 1:this._point=2,this._x3=w,this._y3=b;break;case 2:this._point=3,this._x4=w,this._y4=b,this._context.moveTo((this._x0+4*this._x1+w)/6,(this._y0+4*this._y1+b)/6);break;default:Je(this,w,b);break}this._x0=this._x1,this._x1=w,this._y0=this._y1,this._y1=b}};function qe(w){return new Se(w)}function Be(w){this._context=w}Be.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(w,b){switch(w=+w,b=+b,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var z=(this._x0+4*this._x1+w)/6,_e=(this._y0+4*this._y1+b)/6;this._line?this._context.lineTo(z,_e):this._context.moveTo(z,_e);break;case 3:this._point=4;default:Je(this,w,b);break}this._x0=this._x1,this._x1=w,this._y0=this._y1,this._y1=b}};function ct(w){return new Be(w)}class wt{constructor(b,z){this._context=b,this._x=z}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(b,z){switch(b=+b,z=+z,this._point){case 0:{this._point=1,this._line?this._context.lineTo(b,z):this._context.moveTo(b,z);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+b)/2,this._y0,this._x0,z,b,z):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+z)/2,b,this._y0,b,z);break}}this._x0=b,this._y0=z}}function Mt(w){return new wt(w,!0)}function qt(w){return new wt(w,!1)}function Ft(w,b){this._basis=new gt(w),this._beta=b}Ft.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var w=this._x,b=this._y,z=w.length-1;if(z>0)for(var _e=w[0],tt=b[0],be=w[z]-_e,$e=b[z]-tt,pt=-1,vt;++pt<=z;)vt=pt/z,this._basis.point(this._beta*w[pt]+(1-this._beta)*(_e+vt*be),this._beta*b[pt]+(1-this._beta)*(tt+vt*$e));this._x=this._y=null,this._basis.lineEnd()},point:function(w,b){this._x.push(+w),this._y.push(+b)}};var Tt=function w(b){function z(_e){return b===1?new gt(_e):new Ft(_e,b)}return z.beta=function(_e){return w(+_e)},z}(.85);function Ze(w,b,z){w._context.bezierCurveTo(w._x1+w._k*(w._x2-w._x0),w._y1+w._k*(w._y2-w._y0),w._x2+w._k*(w._x1-b),w._y2+w._k*(w._y1-z),w._x2,w._y2)}function ht(w,b){this._context=w,this._k=(1-b)/6}ht.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Ze(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(w,b){switch(w=+w,b=+b,this._point){case 0:this._point=1,this._line?this._context.lineTo(w,b):this._context.moveTo(w,b);break;case 1:this._point=2,this._x1=w,this._y1=b;break;case 2:this._point=3;default:Ze(this,w,b);break}this._x0=this._x1,this._x1=this._x2,this._x2=w,this._y0=this._y1,this._y1=this._y2,this._y2=b}};var Et=function w(b){function z(_e){return new ht(_e,b)}return z.tension=function(_e){return w(+_e)},z}(0);function Pt(w,b){this._context=w,this._k=(1-b)/6}Pt.prototype={areaStart:ge,areaEnd:ge,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(w,b){switch(w=+w,b=+b,this._point){case 0:this._point=1,this._x3=w,this._y3=b;break;case 1:this._point=2,this._context.moveTo(this._x4=w,this._y4=b);break;case 2:this._point=3,this._x5=w,this._y5=b;break;default:Ze(this,w,b);break}this._x0=this._x1,this._x1=this._x2,this._x2=w,this._y0=this._y1,this._y1=this._y2,this._y2=b}};var Ye=function w(b){function z(_e){return new Pt(_e,b)}return z.tension=function(_e){return w(+_e)},z}(0);function nt(w,b){this._context=w,this._k=(1-b)/6}nt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(w,b){switch(w=+w,b=+b,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ze(this,w,b);break}this._x0=this._x1,this._x1=this._x2,this._x2=w,this._y0=this._y1,this._y1=this._y2,this._y2=b}};var O=function w(b){function z(_e){return new nt(_e,b)}return z.tension=function(_e){return w(+_e)},z}(0);function Z(w,b,z){var _e=w._x1,tt=w._y1,be=w._x2,$e=w._y2;if(w._l01_a>ie){var pt=2*w._l01_2a+3*w._l01_a*w._l12_a+w._l12_2a,vt=3*w._l01_a*(w._l01_a+w._l12_a);_e=(_e*pt-w._x0*w._l12_2a+w._x2*w._l01_2a)/vt,tt=(tt*pt-w._y0*w._l12_2a+w._y2*w._l01_2a)/vt}if(w._l23_a>ie){var p=2*w._l23_2a+3*w._l23_a*w._l12_a+w._l12_2a,N=3*w._l23_a*(w._l23_a+w._l12_a);be=(be*p+w._x1*w._l23_2a-b*w._l12_2a)/N,$e=($e*p+w._y1*w._l23_2a-z*w._l12_2a)/N}w._context.bezierCurveTo(_e,tt,be,$e,w._x2,w._y2)}function g(w,b){this._context=w,this._alpha=b}g.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(w,b){if(w=+w,b=+b,this._point){var z=this._x2-w,_e=this._y2-b;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(z*z+_e*_e,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(w,b):this._context.moveTo(w,b);break;case 1:this._point=2;break;case 2:this._point=3;default:Z(this,w,b);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=w,this._y0=this._y1,this._y1=this._y2,this._y2=b}};var E=function w(b){function z(_e){return b?new g(_e,b):new ht(_e,0)}return z.alpha=function(_e){return w(+_e)},z}(.5);function T(w,b){this._context=w,this._alpha=b}T.prototype={areaStart:ge,areaEnd:ge,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(w,b){if(w=+w,b=+b,this._point){var z=this._x2-w,_e=this._y2-b;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(z*z+_e*_e,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=w,this._y3=b;break;case 1:this._point=2,this._context.moveTo(this._x4=w,this._y4=b);break;case 2:this._point=3,this._x5=w,this._y5=b;break;default:Z(this,w,b);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=w,this._y0=this._y1,this._y1=this._y2,this._y2=b}};var s=function w(b){function z(_e){return b?new T(_e,b):new Pt(_e,0)}return z.alpha=function(_e){return w(+_e)},z}(.5);function x(w,b){this._context=w,this._alpha=b}x.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(w,b){if(w=+w,b=+b,this._point){var z=this._x2-w,_e=this._y2-b;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(z*z+_e*_e,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Z(this,w,b);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=w,this._y0=this._y1,this._y1=this._y2,this._y2=b}};var C=function w(b){function z(_e){return b?new x(_e,b):new nt(_e,0)}return z.alpha=function(_e){return w(+_e)},z}(.5);function U(w){this._context=w}U.prototype={areaStart:ge,areaEnd:ge,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(w,b){w=+w,b=+b,this._point?this._context.lineTo(w,b):(this._point=1,this._context.moveTo(w,b))}};function G(w){return new U(w)}function Y(w){return w<0?-1:1}function ce(w,b,z){var _e=w._x1-w._x0,tt=b-w._x1,be=(w._y1-w._y0)/(_e||tt<0&&-0),$e=(z-w._y1)/(tt||_e<0&&-0),pt=(be*tt+$e*_e)/(_e+tt);return(Y(be)+Y($e))*Math.min(Math.abs(be),Math.abs($e),.5*Math.abs(pt))||0}function Me(w,b){var z=w._x1-w._x0;return z?(3*(w._y1-w._y0)/z-b)/2:b}function dt(w,b,z){var _e=w._x0,tt=w._y0,be=w._x1,$e=w._y1,pt=(be-_e)/3;w._context.bezierCurveTo(_e+pt,tt+pt*b,be-pt,$e-pt*z,be,$e)}function _t(w){this._context=w}_t.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:dt(this,this._t0,Me(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(w,b){var z=NaN;if(w=+w,b=+b,!(w===this._x1&&b===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(w,b):this._context.moveTo(w,b);break;case 1:this._point=2;break;case 2:this._point=3,dt(this,Me(this,z=ce(this,w,b)),z);break;default:dt(this,this._t0,z=ce(this,w,b));break}this._x0=this._x1,this._x1=w,this._y0=this._y1,this._y1=b,this._t0=z}}};function $t(w){this._context=new i(w)}($t.prototype=Object.create(_t.prototype)).point=function(w,b){_t.prototype.point.call(this,b,w)};function i(w){this._context=w}i.prototype={moveTo:function(w,b){this._context.moveTo(b,w)},closePath:function(){this._context.closePath()},lineTo:function(w,b){this._context.lineTo(b,w)},bezierCurveTo:function(w,b,z,_e,tt,be){this._context.bezierCurveTo(b,w,_e,z,be,tt)}};function S(w){return new _t(w)}function A(w){return new $t(w)}function W(w){this._context=w}W.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var w=this._x,b=this._y,z=w.length;if(z)if(this._line?this._context.lineTo(w[0],b[0]):this._context.moveTo(w[0],b[0]),z===2)this._context.lineTo(w[1],b[1]);else for(var _e=ke(w),tt=ke(b),be=0,$e=1;$e<z;++be,++$e)this._context.bezierCurveTo(_e[0][be],tt[0][be],_e[1][be],tt[1][be],w[$e],b[$e]);(this._line||this._line!==0&&z===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(w,b){this._x.push(+w),this._y.push(+b)}};function ke(w){var b,z=w.length-1,_e,tt=new Array(z),be=new Array(z),$e=new Array(z);for(tt[0]=0,be[0]=2,$e[0]=w[0]+2*w[1],b=1;b<z-1;++b)tt[b]=1,be[b]=4,$e[b]=4*w[b]+2*w[b+1];for(tt[z-1]=2,be[z-1]=7,$e[z-1]=8*w[z-1]+w[z],b=1;b<z;++b)_e=tt[b]/be[b-1],be[b]-=_e,$e[b]-=_e*$e[b-1];for(tt[z-1]=$e[z-1]/be[z-1],b=z-2;b>=0;--b)tt[b]=($e[b]-tt[b+1])/be[b];for(be[z-1]=(w[z]+tt[z-1])/2,b=0;b<z-1;++b)be[b]=2*w[b+1]-tt[b+1];return[tt,be]}function Fe(w){return new W(w)}function ft(w,b){this._context=w,this._t=b}ft.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(w,b){switch(w=+w,b=+b,this._point){case 0:this._point=1,this._line?this._context.lineTo(w,b):this._context.moveTo(w,b);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,b),this._context.lineTo(w,b);else{var z=this._x*(1-this._t)+w*this._t;this._context.lineTo(z,this._y),this._context.lineTo(z,b)}break}}this._x=w,this._y=b}};function St(w){return new ft(w,.5)}function Vt(w){return new ft(w,0)}function zt(w){return new ft(w,1)}function oe(w,b){if(($e=w.length)>1)for(var z=1,_e,tt,be=w[b[0]],$e,pt=be.length;z<$e;++z)for(tt=be,be=w[b[z]],_e=0;_e<pt;++_e)be[_e][1]+=be[_e][0]=isNaN(tt[_e][1])?tt[_e][0]:tt[_e][1]}function $(w){for(var b=w.length,z=new Array(b);--b>=0;)z[b]=b;return z}function Ot(w,b){return w[b]}function kt(w){let b=[];return b.key=w,b}function xt(){var w=r([]),b=$,z=oe,_e=Ot;function tt(be){var $e=Array.from(w.apply(this,arguments),kt),pt,vt=$e.length,p=-1,N;for(let we of be)for(pt=0,++p;pt<vt;++pt)($e[pt][p]=[0,+_e(we,$e[pt].key,p,be)]).data=we;for(pt=0,N=c(b($e));pt<vt;++pt)$e[N[pt]].index=pt;return z($e,N),$e}return tt.keys=function(be){return arguments.length?(w=typeof be=="function"?be:r(Array.from(be)),tt):w},tt.value=function(be){return arguments.length?(_e=typeof be=="function"?be:r(+be),tt):_e},tt.order=function(be){return arguments.length?(b=be==null?$:typeof be=="function"?be:r(Array.from(be)),tt):b},tt.offset=function(be){return arguments.length?(z=be==null?oe:be,tt):z},tt}function At(w,b){if((_e=w.length)>0){for(var z,_e,tt=0,be=w[0].length,$e;tt<be;++tt){for($e=z=0;z<_e;++z)$e+=w[z][tt][1]||0;if($e)for(z=0;z<_e;++z)w[z][tt][1]/=$e}oe(w,b)}}function Gt(w,b){if((vt=w.length)>0)for(var z,_e=0,tt,be,$e,pt,vt,p=w[b[0]].length;_e<p;++_e)for($e=pt=0,z=0;z<vt;++z)(be=(tt=w[b[z]][_e])[1]-tt[0])>0?(tt[0]=$e,tt[1]=$e+=be):be<0?(tt[1]=pt,tt[0]=pt+=be):(tt[0]=0,tt[1]=be)}function Kt(w,b){if((tt=w.length)>0){for(var z=0,_e=w[b[0]],tt,be=_e.length;z<be;++z){for(var $e=0,pt=0;$e<tt;++$e)pt+=w[$e][z][1]||0;_e[z][1]+=_e[z][0]=-pt/2}oe(w,b)}}function Jt(w,b){if(!(!(($e=w.length)>0)||!((be=(tt=w[b[0]]).length)>0))){for(var z=0,_e=1,tt,be,$e;_e<be;++_e){for(var pt=0,vt=0,p=0;pt<$e;++pt){for(var N=w[b[pt]],we=N[_e][1]||0,Re=N[_e-1][1]||0,rt=(we-Re)/2,mt=0;mt<pt;++mt){var It=w[b[mt]],Bt=It[_e][1]||0,Rt=It[_e-1][1]||0;rt+=Bt-Rt}vt+=we,p+=rt*we}tt[_e-1][1]+=tt[_e-1][0]=z,vt&&(z-=p/vt)}tt[_e-1][1]+=tt[_e-1][0]=z,oe(w,b)}}function cn(w){var b=w.map(nn);return $(w).sort(function(z,_e){return b[z]-b[_e]})}function nn(w){for(var b=-1,z=0,_e=w.length,tt,be=-1/0;++b<_e;)(tt=+w[b][1])>be&&(be=tt,z=b);return z}function un(w){var b=w.map(o);return $(w).sort(function(z,_e){return b[z]-b[_e]})}function o(w){for(var b=0,z=-1,_e=w.length,tt;++z<_e;)(tt=+w[z][1])&&(b+=tt);return b}function y(w){return un(w).reverse()}function F(w){var b=w.length,z,_e,tt=w.map(o),be=cn(w),$e=0,pt=0,vt=[],p=[];for(z=0;z<b;++z)_e=be[z],$e<pt?($e+=tt[_e],vt.push(_e)):(pt+=tt[_e],p.push(_e));return p.reverse().concat(vt)}function X(w){return $(w).reverse()}t.arc=j,t.area=V,t.areaRadial=Ue,t.curveBasis=ne,t.curveBasisClosed=qe,t.curveBasisOpen=ct,t.curveBumpX=Mt,t.curveBumpY=qt,t.curveBundle=Tt,t.curveCardinal=Et,t.curveCardinalClosed=Ye,t.curveCardinalOpen=O,t.curveCatmullRom=E,t.curveCatmullRomClosed=s,t.curveCatmullRomOpen=C,t.curveLinear=f,t.curveLinearClosed=G,t.curveMonotoneX=S,t.curveMonotoneY=A,t.curveNatural=Fe,t.curveStep=St,t.curveStepAfter=zt,t.curveStepBefore=Vt,t.line=q,t.lineRadial=me,t.linkHorizontal=et,t.linkRadial=H,t.linkVertical=Lt,t.pie=ye,t.pointRadial=Le,t.radialArea=Ue,t.radialLine=me,t.stack=xt,t.stackOffsetDiverging=Gt,t.stackOffsetExpand=At,t.stackOffsetNone=oe,t.stackOffsetSilhouette=Kt,t.stackOffsetWiggle=Jt,t.stackOrderAppearance=cn,t.stackOrderAscending=un,t.stackOrderDescending=y,t.stackOrderInsideOut=F,t.stackOrderNone=$,t.stackOrderReverse=X,t.symbol=He,t.symbolCircle=P,t.symbolCross=B,t.symbolDiamond=ue,t.symbolSquare=J,t.symbolStar=re,t.symbolTriangle=xe,t.symbolWye=ae,t.symbols=Ge,Object.defineProperty(t,"__esModule",{value:!0})})});var t4=an((Io,e9)=>{(function(t,e){typeof Io=="object"&&typeof e9!="undefined"?e(Io):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t.d3=t.d3||{}))})(Io,function(t){"use strict";function e(j){return Math.abs(j=Math.round(j))>=1e21?j.toLocaleString("en").replace(/,/g,""):j.toString(10)}function r(j,d){if((c=(j=d?j.toExponential(d-1):j.toExponential()).indexOf("e"))<0)return null;var c,u=j.slice(0,c);return[u.length>1?u[0]+u.slice(2):u,+j.slice(c+1)]}function a(j){return j=r(Math.abs(j)),j?j[1]:NaN}function l(j,d){return function(c,u){for(var f=c.length,v=[],I=0,q=j[0],V=0;f>0&&q>0&&(V+q+1>u&&(q=Math.max(1,u-V)),v.push(c.substring(f-=q,f+q)),!((V+=q+1)>u));)q=j[I=(I+1)%j.length];return v.reverse().join(d)}}function h(j){return function(d){return d.replace(/[0-9]/g,function(c){return j[+c]})}}var L=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function M(j){if(!(d=L.exec(j)))throw new Error("invalid format: "+j);var d;return new _({fill:d[1],align:d[2],sign:d[3],symbol:d[4],zero:d[5],width:d[6],comma:d[7],precision:d[8]&&d[8].slice(1),trim:d[9],type:d[10]})}M.prototype=_.prototype;function _(j){this.fill=j.fill===void 0?" ":j.fill+"",this.align=j.align===void 0?">":j.align+"",this.sign=j.sign===void 0?"-":j.sign+"",this.symbol=j.symbol===void 0?"":j.symbol+"",this.zero=!!j.zero,this.width=j.width===void 0?void 0:+j.width,this.comma=!!j.comma,this.precision=j.precision===void 0?void 0:+j.precision,this.trim=!!j.trim,this.type=j.type===void 0?"":j.type+""}_.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function R(j){e:for(var d=j.length,c=1,u=-1,f;c<d;++c)switch(j[c]){case".":u=f=c;break;case"0":u===0&&(u=c),f=c;break;default:if(!+j[c])break e;u>0&&(u=0);break}return u>0?j.slice(0,u)+j.slice(f+1):j}var ie;function K(j,d){var c=r(j,d);if(!c)return j+"";var u=c[0],f=c[1],v=f-(ie=Math.max(-8,Math.min(8,Math.floor(f/3)))*3)+1,I=u.length;return v===I?u:v>I?u+new Array(v-I+1).join("0"):v>0?u.slice(0,v)+"."+u.slice(v):"0."+new Array(1-v).join("0")+r(j,Math.max(0,d+v-1))[0]}function de(j,d){var c=r(j,d);if(!c)return j+"";var u=c[0],f=c[1];return f<0?"0."+new Array(-f).join("0")+u:u.length>f+1?u.slice(0,f+1)+"."+u.slice(f+1):u+new Array(f-u.length+2).join("0")}var ve={"%":(j,d)=>(j*100).toFixed(d),b:j=>Math.round(j).toString(2),c:j=>j+"",d:e,e:(j,d)=>j.toExponential(d),f:(j,d)=>j.toFixed(d),g:(j,d)=>j.toPrecision(d),o:j=>Math.round(j).toString(8),p:(j,d)=>de(j*100,d),r:de,s:K,X:j=>Math.round(j).toString(16).toUpperCase(),x:j=>Math.round(j).toString(16)};function De(j){return j}var Ie=Array.prototype.map,Qe=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function ee(j){var d=j.grouping===void 0||j.thousands===void 0?De:l(Ie.call(j.grouping,Number),j.thousands+""),c=j.currency===void 0?"":j.currency[0]+"",u=j.currency===void 0?"":j.currency[1]+"",f=j.decimal===void 0?".":j.decimal+"",v=j.numerals===void 0?De:h(Ie.call(j.numerals,String)),I=j.percent===void 0?"%":j.percent+"",q=j.minus===void 0?"\u2212":j.minus+"",V=j.nan===void 0?"NaN":j.nan+"";function Q(ye){ye=M(ye);var Ae=ye.fill,je=ye.align,it=ye.sign,yt=ye.symbol,me=ye.zero,Ue=ye.width,Le=ye.comma,Ve=ye.precision,lt=ye.trim,Nt=ye.type;Nt==="n"?(Le=!0,Nt="g"):ve[Nt]||(Ve===void 0&&(Ve=12),lt=!0,Nt="g"),(me||Ae==="0"&&je==="=")&&(me=!0,Ae="0",je="=");var Ct=yt==="$"?c:yt==="#"&&/[boxX]/.test(Nt)?"0"+Nt.toLowerCase():"",Xe=yt==="$"?u:/[%p]/.test(Nt)?I:"",he=ve[Nt],et=/[defgprs%]/.test(Nt);Ve=Ve===void 0?6:/[gprs]/.test(Nt)?Math.max(1,Math.min(21,Ve)):Math.max(0,Math.min(20,Ve));function Lt(H){var P=Ct,B=Xe,fe,pe,ue;if(Nt==="c")B=he(H)+B,H="";else{H=+H;var st=H<0||1/H<0;if(H=isNaN(H)?V:he(Math.abs(H),Ve),lt&&(H=R(H)),st&&+H==0&&it!=="+"&&(st=!1),P=(st?it==="("?it:q:it==="-"||it==="("?"":it)+P,B=(Nt==="s"?Qe[8+ie/3]:"")+B+(st&&it==="("?")":""),et){for(fe=-1,pe=H.length;++fe<pe;)if(ue=H.charCodeAt(fe),48>ue||ue>57){B=(ue===46?f+H.slice(fe+1):H.slice(fe))+B,H=H.slice(0,fe);break}}}Le&&!me&&(H=d(H,1/0));var se=P.length+H.length+B.length,te=se<Ue?new Array(Ue-se+1).join(Ae):"";switch(Le&&me&&(H=d(te+H,te.length?Ue-B.length:1/0),te=""),je){case"<":H=P+H+B+te;break;case"=":H=P+te+H+B;break;case"^":H=te.slice(0,se=te.length>>1)+P+H+B+te.slice(se);break;default:H=te+P+H+B;break}return v(H)}return Lt.toString=function(){return ye+""},Lt}function le(ye,Ae){var je=Q((ye=M(ye),ye.type="f",ye)),it=Math.max(-8,Math.min(8,Math.floor(a(Ae)/3)))*3,yt=Math.pow(10,-it),me=Qe[8+it/3];return function(Ue){return je(yt*Ue)+me}}return{format:Q,formatPrefix:le}}var Te;ze({thousands:",",grouping:[3],currency:["$",""]});function ze(j){return Te=ee(j),t.format=Te.format,t.formatPrefix=Te.formatPrefix,Te}function Oe(j){return Math.max(0,-a(Math.abs(j)))}function ut(j,d){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(a(d)/3)))*3-a(Math.abs(j)))}function at(j,d){return j=Math.abs(j),d=Math.abs(d)-j,Math.max(0,a(d)-a(j))+1}t.FormatSpecifier=_,t.formatDefaultLocale=ze,t.formatLocale=ee,t.formatSpecifier=M,t.precisionFixed=Oe,t.precisionPrefix=ut,t.precisionRound=at,Object.defineProperty(t,"__esModule",{value:!0})})});var n4=an((ko,t9)=>{(function(t,e){typeof ko=="object"&&typeof t9!="undefined"?e(ko):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t.d3=t.d3||{}))})(ko,function(t){"use strict";function e(s,x){return s<x?-1:s>x?1:s>=x?0:NaN}function r(s){let x=s,C=s;s.length===1&&(x=(ce,Me)=>s(ce)-Me,C=a(s));function U(ce,Me,dt,_t){for(dt==null&&(dt=0),_t==null&&(_t=ce.length);dt<_t;){let $t=dt+_t>>>1;C(ce[$t],Me)<0?dt=$t+1:_t=$t}return dt}function G(ce,Me,dt,_t){for(dt==null&&(dt=0),_t==null&&(_t=ce.length);dt<_t;){let $t=dt+_t>>>1;C(ce[$t],Me)>0?_t=$t:dt=$t+1}return dt}function Y(ce,Me,dt,_t){dt==null&&(dt=0),_t==null&&(_t=ce.length);let $t=U(ce,Me,dt,_t-1);return $t>dt&&x(ce[$t-1],Me)>-x(ce[$t],Me)?$t-1:$t}return{left:U,center:Y,right:G}}function a(s){return(x,C)=>e(s(x),C)}function l(s){return s===null?NaN:+s}function*h(s,x){if(x===void 0)for(let C of s)C!=null&&(C=+C)>=C&&(yield C);else{let C=-1;for(let U of s)(U=x(U,++C,s))!=null&&(U=+U)>=U&&(yield U)}}let L=r(e),M=L.right,_=L.left,R=r(l).center;function ie(s,x){let C=0;if(x===void 0)for(let U of s)U!=null&&(U=+U)>=U&&++C;else{let U=-1;for(let G of s)(G=x(G,++U,s))!=null&&(G=+G)>=G&&++C}return C}function K(s){return s.length|0}function de(s){return!(s>0)}function ve(s){return typeof s!="object"||"length"in s?s:Array.from(s)}function De(s){return x=>s(...x)}function Ie(...s){let x=typeof s[s.length-1]=="function"&&De(s.pop());s=s.map(ve);let C=s.map(K),U=s.length-1,G=new Array(U+1).fill(0),Y=[];if(U<0||C.some(de))return Y;for(;;){Y.push(G.map((Me,dt)=>s[dt][Me]));let ce=U;for(;++G[ce]===C[ce];){if(ce===0)return x?Y.map(x):Y;G[ce--]=0}}}function Qe(s,x){var C=0,U=0;return Float64Array.from(s,x===void 0?G=>C+=+G||0:G=>C+=+x(G,U++,s)||0)}function ee(s,x){return x<s?-1:x>s?1:x>=s?0:NaN}function Te(s,x){let C=0,U,G=0,Y=0;if(x===void 0)for(let ce of s)ce!=null&&(ce=+ce)>=ce&&(U=ce-G,G+=U/++C,Y+=U*(ce-G));else{let ce=-1;for(let Me of s)(Me=x(Me,++ce,s))!=null&&(Me=+Me)>=Me&&(U=Me-G,G+=U/++C,Y+=U*(Me-G))}if(C>1)return Y/(C-1)}function ze(s,x){let C=Te(s,x);return C&&Math.sqrt(C)}function Oe(s,x){let C,U;if(x===void 0)for(let G of s)G!=null&&(C===void 0?G>=G&&(C=U=G):(C>G&&(C=G),U<G&&(U=G)));else{let G=-1;for(let Y of s)(Y=x(Y,++G,s))!=null&&(C===void 0?Y>=Y&&(C=U=Y):(C>Y&&(C=Y),U<Y&&(U=Y)))}return[C,U]}class ut{constructor(){this._partials=new Float64Array(32),this._n=0}add(x){let C=this._partials,U=0;for(let G=0;G<this._n&&G<32;G++){let Y=C[G],ce=x+Y,Me=Math.abs(x)<Math.abs(Y)?x-(ce-Y):Y-(ce-x);Me&&(C[U++]=Me),x=ce}return C[U]=x,this._n=U+1,this}valueOf(){let x=this._partials,C=this._n,U,G,Y,ce=0;if(C>0){for(ce=x[--C];C>0&&(U=ce,G=x[--C],ce=U+G,Y=G-(ce-U),!Y););C>0&&(Y<0&&x[C-1]<0||Y>0&&x[C-1]>0)&&(G=Y*2,U=ce+G,G==U-ce&&(ce=U))}return ce}}function at(s,x){let C=new ut;if(x===void 0)for(let U of s)(U=+U)&&C.add(U);else{let U=-1;for(let G of s)(G=+x(G,++U,s))&&C.add(G)}return+C}function j(s,x){let C=new ut,U=-1;return Float64Array.from(s,x===void 0?G=>C.add(+G||0):G=>C.add(+x(G,++U,s)||0))}class d extends Map{constructor(x,C=I){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:C}}),x!=null)for(let[U,G]of x)this.set(U,G)}get(x){return super.get(u(this,x))}has(x){return super.has(u(this,x))}set(x,C){return super.set(f(this,x),C)}delete(x){return super.delete(v(this,x))}}class c extends Set{constructor(x,C=I){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:C}}),x!=null)for(let U of x)this.add(U)}has(x){return super.has(u(this,x))}add(x){return super.add(f(this,x))}delete(x){return super.delete(v(this,x))}}function u({_intern:s,_key:x},C){let U=x(C);return s.has(U)?s.get(U):C}function f({_intern:s,_key:x},C){let U=x(C);return s.has(U)?s.get(U):(s.set(U,C),C)}function v({_intern:s,_key:x},C){let U=x(C);return s.has(U)&&(C=s.get(C),s.delete(U)),C}function I(s){return s!==null&&typeof s=="object"?s.valueOf():s}function q(s){return s}function V(s,...x){return yt(s,q,q,x)}function Q(s,...x){return yt(s,Array.from,q,x)}function le(s,x,...C){return yt(s,q,x,C)}function ye(s,x,...C){return yt(s,Array.from,x,C)}function Ae(s,...x){return yt(s,q,it,x)}function je(s,...x){return yt(s,Array.from,it,x)}function it(s){if(s.length!==1)throw new Error("duplicate key");return s[0]}function yt(s,x,C,U){return function G(Y,ce){if(ce>=U.length)return C(Y);let Me=new d,dt=U[ce++],_t=-1;for(let $t of Y){let i=dt($t,++_t,Y),S=Me.get(i);S?S.push($t):Me.set(i,[$t])}for(let[$t,i]of Me)Me.set($t,G(i,ce));return x(Me)}(s,0)}function me(s,x){return Array.from(x,C=>s[C])}function Ue(s,...x){if(typeof s[Symbol.iterator]!="function")throw new TypeError("values is not iterable");s=Array.from(s);let[C=e]=x;if(C.length===1||x.length>1){let U=Uint32Array.from(s,(G,Y)=>Y);return x.length>1?(x=x.map(G=>s.map(G)),U.sort((G,Y)=>{for(let ce of x){let Me=e(ce[G],ce[Y]);if(Me)return Me}})):(C=s.map(C),U.sort((G,Y)=>e(C[G],C[Y]))),me(s,U)}return s.sort(C)}function Le(s,x,C){return(x.length===1?Ue(le(s,x,C),([U,G],[Y,ce])=>e(G,ce)||e(U,Y)):Ue(V(s,C),([U,G],[Y,ce])=>x(G,ce)||e(U,Y))).map(([U])=>U)}var Ve=Array.prototype,lt=Ve.slice;function Nt(s){return function(){return s}}var Ct=Math.sqrt(50),Xe=Math.sqrt(10),he=Math.sqrt(2);function et(s,x,C){var U,G=-1,Y,ce,Me;if(x=+x,s=+s,C=+C,s===x&&C>0)return[s];if((U=x<s)&&(Y=s,s=x,x=Y),(Me=Lt(s,x,C))===0||!isFinite(Me))return[];if(Me>0){let dt=Math.round(s/Me),_t=Math.round(x/Me);for(dt*Me<s&&++dt,_t*Me>x&&--_t,ce=new Array(Y=_t-dt+1);++G<Y;)ce[G]=(dt+G)*Me}else{Me=-Me;let dt=Math.round(s*Me),_t=Math.round(x*Me);for(dt/Me<s&&++dt,_t/Me>x&&--_t,ce=new Array(Y=_t-dt+1);++G<Y;)ce[G]=(dt+G)/Me}return U&&ce.reverse(),ce}function Lt(s,x,C){var U=(x-s)/Math.max(0,C),G=Math.floor(Math.log(U)/Math.LN10),Y=U/Math.pow(10,G);return G>=0?(Y>=Ct?10:Y>=Xe?5:Y>=he?2:1)*Math.pow(10,G):-Math.pow(10,-G)/(Y>=Ct?10:Y>=Xe?5:Y>=he?2:1)}function H(s,x,C){var U=Math.abs(x-s)/Math.max(0,C),G=Math.pow(10,Math.floor(Math.log(U)/Math.LN10)),Y=U/G;return Y>=Ct?G*=10:Y>=Xe?G*=5:Y>=he&&(G*=2),x<s?-G:G}function P(s,x,C){let U;for(;;){let G=Lt(s,x,C);if(G===U||G===0||!isFinite(G))return[s,x];G>0?(s=Math.floor(s/G)*G,x=Math.ceil(x/G)*G):G<0&&(s=Math.ceil(s*G)/G,x=Math.floor(x*G)/G),U=G}}function B(s){return Math.ceil(Math.log(ie(s))/Math.LN2)+1}function fe(){var s=q,x=Oe,C=B;function U(G){Array.isArray(G)||(G=Array.from(G));var Y,ce=G.length,Me,dt=new Array(ce);for(Y=0;Y<ce;++Y)dt[Y]=s(G[Y],Y,G);var _t=x(dt),$t=_t[0],i=_t[1],S=C(dt,$t,i);if(!Array.isArray(S)){let Fe=i,ft=+S;if(x===Oe&&([$t,i]=P($t,i,ft)),S=et($t,i,ft),S[S.length-1]>=i)if(Fe>=i&&x===Oe){let St=Lt($t,i,ft);isFinite(St)&&(St>0?i=(Math.floor(i/St)+1)*St:St<0&&(i=(Math.ceil(i*-St)+1)/-St))}else S.pop()}for(var A=S.length;S[0]<=$t;)S.shift(),--A;for(;S[A-1]>i;)S.pop(),--A;var W=new Array(A+1),ke;for(Y=0;Y<=A;++Y)ke=W[Y]=[],ke.x0=Y>0?S[Y-1]:$t,ke.x1=Y<A?S[Y]:i;for(Y=0;Y<ce;++Y)Me=dt[Y],$t<=Me&&Me<=i&&W[M(S,Me,0,A)].push(G[Y]);return W}return U.value=function(G){return arguments.length?(s=typeof G=="function"?G:Nt(G),U):s},U.domain=function(G){return arguments.length?(x=typeof G=="function"?G:Nt([G[0],G[1]]),U):x},U.thresholds=function(G){return arguments.length?(C=typeof G=="function"?G:Array.isArray(G)?Nt(lt.call(G)):Nt(G),U):C},U}function pe(s,x){let C;if(x===void 0)for(let U of s)U!=null&&(C<U||C===void 0&&U>=U)&&(C=U);else{let U=-1;for(let G of s)(G=x(G,++U,s))!=null&&(C<G||C===void 0&&G>=G)&&(C=G)}return C}function ue(s,x){let C;if(x===void 0)for(let U of s)U!=null&&(C>U||C===void 0&&U>=U)&&(C=U);else{let U=-1;for(let G of s)(G=x(G,++U,s))!=null&&(C>G||C===void 0&&G>=G)&&(C=G)}return C}function st(s,x,C=0,U=s.length-1,G=e){for(;U>C;){if(U-C>600){let dt=U-C+1,_t=x-C+1,$t=Math.log(dt),i=.5*Math.exp(2*$t/3),S=.5*Math.sqrt($t*i*(dt-i)/dt)*(_t-dt/2<0?-1:1),A=Math.max(C,Math.floor(x-_t*i/dt+S)),W=Math.min(U,Math.floor(x+(dt-_t)*i/dt+S));st(s,x,A,W,G)}let Y=s[x],ce=C,Me=U;for(se(s,C,x),G(s[U],Y)>0&&se(s,C,U);ce<Me;){for(se(s,ce,Me),++ce,--Me;G(s[ce],Y)<0;)++ce;for(;G(s[Me],Y)>0;)--Me}G(s[C],Y)===0?se(s,C,Me):(++Me,se(s,Me,U)),Me<=x&&(C=Me+1),x<=Me&&(U=Me-1)}return s}function se(s,x,C){let U=s[x];s[x]=s[C],s[C]=U}function te(s,x,C){if(s=Float64Array.from(h(s,C)),!!(U=s.length)){if((x=+x)<=0||U<2)return ue(s);if(x>=1)return pe(s);var U,G=(U-1)*x,Y=Math.floor(G),ce=pe(st(s,Y).subarray(0,Y+1)),Me=ue(s.subarray(Y+1));return ce+(Me-ce)*(G-Y)}}function D(s,x,C=l){if(!!(U=s.length)){if((x=+x)<=0||U<2)return+C(s[0],0,s);if(x>=1)return+C(s[U-1],U-1,s);var U,G=(U-1)*x,Y=Math.floor(G),ce=+C(s[Y],Y,s),Me=+C(s[Y+1],Y+1,s);return ce+(Me-ce)*(G-Y)}}function re(s,x,C){return Math.ceil((C-x)/(2*(te(s,.75)-te(s,.25))*Math.pow(ie(s),-1/3)))}function J(s,x,C){return Math.ceil((C-x)/(3.5*ze(s)*Math.pow(ie(s),-1/3)))}function Ee(s,x){let C,U=-1,G=-1;if(x===void 0)for(let Y of s)++G,Y!=null&&(C<Y||C===void 0&&Y>=Y)&&(C=Y,U=G);else for(let Y of s)(Y=x(Y,++G,s))!=null&&(C<Y||C===void 0&&Y>=Y)&&(C=Y,U=G);return U}function xe(s,x){let C=0,U=0;if(x===void 0)for(let G of s)G!=null&&(G=+G)>=G&&(++C,U+=G);else{let G=-1;for(let Y of s)(Y=x(Y,++G,s))!=null&&(Y=+Y)>=Y&&(++C,U+=Y)}if(C)return U/C}function Ce(s,x){return te(s,.5,x)}function*Ke(s){for(let x of s)yield*x}function Ne(s){return Array.from(Ke(s))}function We(s,x){let C,U=-1,G=-1;if(x===void 0)for(let Y of s)++G,Y!=null&&(C>Y||C===void 0&&Y>=Y)&&(C=Y,U=G);else for(let Y of s)(Y=x(Y,++G,s))!=null&&(C>Y||C===void 0&&Y>=Y)&&(C=Y,U=G);return U}function ae(s,x=Ge){let C=[],U,G=!1;for(let Y of s)G&&C.push(x(U,Y)),U=Y,G=!0;return C}function Ge(s,x){return[s,x]}function He(s,x,C){s=+s,x=+x,C=(G=arguments.length)<2?(x=s,s=0,1):G<3?1:+C;for(var U=-1,G=Math.max(0,Math.ceil((x-s)/C))|0,Y=new Array(G);++U<G;)Y[U]=s+U*C;return Y}function ge(s,x=e){let C,U=!1;if(x.length===1){let G;for(let Y of s){let ce=x(Y);(U?e(ce,G)<0:e(ce,ce)===0)&&(C=Y,G=ce,U=!0)}}else for(let G of s)(U?x(G,C)<0:x(G,G)===0)&&(C=G,U=!0);return C}function Je(s,x=e){if(x.length===1)return We(s,x);let C,U=-1,G=-1;for(let Y of s)++G,(U<0?x(Y,Y)===0:x(Y,C)<0)&&(C=Y,U=G);return U}function gt(s,x=e){let C,U=!1;if(x.length===1){let G;for(let Y of s){let ce=x(Y);(U?e(ce,G)>0:e(ce,ce)===0)&&(C=Y,G=ce,U=!0)}}else for(let G of s)(U?x(G,C)>0:x(G,G)===0)&&(C=G,U=!0);return C}function ne(s,x=e){if(x.length===1)return Ee(s,x);let C,U=-1,G=-1;for(let Y of s)++G,(U<0?x(Y,Y)===0:x(Y,C)>0)&&(C=Y,U=G);return U}function Se(s,x){let C=Je(s,x);return C<0?void 0:C}var qe=Be(Math.random);function Be(s){return function(C,U=0,G=C.length){let Y=G-(U=+U);for(;Y;){let ce=s()*Y--|0,Me=C[Y+U];C[Y+U]=C[ce+U],C[ce+U]=Me}return C}}function ct(s,x){let C=0;if(x===void 0)for(let U of s)(U=+U)&&(C+=U);else{let U=-1;for(let G of s)(G=+x(G,++U,s))&&(C+=G)}return C}function wt(s){if(!(Y=s.length))return[];for(var x=-1,C=ue(s,Mt),U=new Array(C);++x<C;)for(var G=-1,Y,ce=U[x]=new Array(Y);++G<Y;)ce[G]=s[G][x];return U}function Mt(s){return s.length}function qt(){return wt(arguments)}function Ft(s,x){if(typeof x!="function")throw new TypeError("test is not a function");let C=-1;for(let U of s)if(!x(U,++C,s))return!1;return!0}function Tt(s,x){if(typeof x!="function")throw new TypeError("test is not a function");let C=-1;for(let U of s)if(x(U,++C,s))return!0;return!1}function Ze(s,x){if(typeof x!="function")throw new TypeError("test is not a function");let C=[],U=-1;for(let G of s)x(G,++U,s)&&C.push(G);return C}function ht(s,x){if(typeof s[Symbol.iterator]!="function")throw new TypeError("values is not iterable");if(typeof x!="function")throw new TypeError("mapper is not a function");return Array.from(s,(C,U)=>x(C,U,s))}function Et(s,x,C){if(typeof x!="function")throw new TypeError("reducer is not a function");let U=s[Symbol.iterator](),G,Y,ce=-1;if(arguments.length<3){if({done:G,value:C}=U.next(),G)return;++ce}for(;{done:G,value:Y}=U.next(),!G;)C=x(C,Y,++ce,s);return C}function Pt(s){if(typeof s[Symbol.iterator]!="function")throw new TypeError("values is not iterable");return Array.from(s).reverse()}function Ye(s,...x){s=new Set(s);for(let C of x)for(let U of C)s.delete(U);return s}function nt(s,x){let C=x[Symbol.iterator](),U=new Set;for(let G of s){if(U.has(G))return!1;let Y,ce;for(;({value:Y,done:ce}=C.next())&&!ce;){if(Object.is(G,Y))return!1;U.add(Y)}}return!0}function O(s){return s instanceof Set?s:new Set(s)}function Z(s,...x){s=new Set(s),x=x.map(O);e:for(let C of s)for(let U of x)if(!U.has(C)){s.delete(C);continue e}return s}function g(s,x){let C=s[Symbol.iterator](),U=new Set;for(let G of x){if(U.has(G))continue;let Y,ce;for(;{value:Y,done:ce}=C.next();){if(ce)return!1;if(U.add(Y),Object.is(G,Y))break}}return!0}function E(s,x){return g(x,s)}function T(...s){let x=new Set;for(let C of s)for(let U of C)x.add(U);return x}t.Adder=ut,t.InternMap=d,t.InternSet=c,t.ascending=e,t.bin=fe,t.bisect=M,t.bisectCenter=R,t.bisectLeft=_,t.bisectRight=M,t.bisector=r,t.count=ie,t.cross=Ie,t.cumsum=Qe,t.descending=ee,t.deviation=ze,t.difference=Ye,t.disjoint=nt,t.every=Ft,t.extent=Oe,t.fcumsum=j,t.filter=Ze,t.fsum=at,t.greatest=gt,t.greatestIndex=ne,t.group=V,t.groupSort=Le,t.groups=Q,t.histogram=fe,t.index=Ae,t.indexes=je,t.intersection=Z,t.least=ge,t.leastIndex=Je,t.map=ht,t.max=pe,t.maxIndex=Ee,t.mean=xe,t.median=Ce,t.merge=Ne,t.min=ue,t.minIndex=We,t.nice=P,t.pairs=ae,t.permute=me,t.quantile=te,t.quantileSorted=D,t.quickselect=st,t.range=He,t.reduce=Et,t.reverse=Pt,t.rollup=le,t.rollups=ye,t.scan=Se,t.shuffle=qe,t.shuffler=Be,t.some=Tt,t.sort=Ue,t.subset=E,t.sum=ct,t.superset=g,t.thresholdFreedmanDiaconis=re,t.thresholdScott=J,t.thresholdSturges=B,t.tickIncrement=Lt,t.tickStep=H,t.ticks=et,t.transpose=wt,t.union=T,t.variance=Te,t.zip=qt,Object.defineProperty(t,"__esModule",{value:!0})})});var r3=an((bo,n9)=>{(function(t,e){typeof bo=="object"&&typeof n9!="undefined"?e(bo):typeof define=="function"&&define.amd?define(["exports"],e):(t=t||self,e(t.d3=t.d3||{}))})(bo,function(t){"use strict";function e(ae,Ge,He){ae.prototype=Ge.prototype=He,He.constructor=ae}function r(ae,Ge){var He=Object.create(ae.prototype);for(var ge in Ge)He[ge]=Ge[ge];return He}function a(){}var l=.7,h=1/l,L="\\s*([+-]?\\d+)\\s*",M="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",_="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",R=/^#([0-9a-f]{3,8})$/,ie=new RegExp("^rgb\\("+[L,L,L]+"\\)$"),K=new RegExp("^rgb\\("+[_,_,_]+"\\)$"),de=new RegExp("^rgba\\("+[L,L,L,M]+"\\)$"),ve=new RegExp("^rgba\\("+[_,_,_,M]+"\\)$"),De=new RegExp("^hsl\\("+[M,_,_]+"\\)$"),Ie=new RegExp("^hsla\\("+[M,_,_,M]+"\\)$"),Qe={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};e(a,Oe,{copy:function(ae){return Object.assign(new this.constructor,this,ae)},displayable:function(){return this.rgb().displayable()},hex:ee,formatHex:ee,formatHsl:Te,formatRgb:ze,toString:ze});function ee(){return this.rgb().formatHex()}function Te(){return q(this).formatHsl()}function ze(){return this.rgb().formatRgb()}function Oe(ae){var Ge,He;return ae=(ae+"").trim().toLowerCase(),(Ge=R.exec(ae))?(He=Ge[1].length,Ge=parseInt(Ge[1],16),He===6?ut(Ge):He===3?new c(Ge>>8&15|Ge>>4&240,Ge>>4&15|Ge&240,(Ge&15)<<4|Ge&15,1):He===8?at(Ge>>24&255,Ge>>16&255,Ge>>8&255,(Ge&255)/255):He===4?at(Ge>>12&15|Ge>>8&240,Ge>>8&15|Ge>>4&240,Ge>>4&15|Ge&240,((Ge&15)<<4|Ge&15)/255):null):(Ge=ie.exec(ae))?new c(Ge[1],Ge[2],Ge[3],1):(Ge=K.exec(ae))?new c(Ge[1]*255/100,Ge[2]*255/100,Ge[3]*255/100,1):(Ge=de.exec(ae))?at(Ge[1],Ge[2],Ge[3],Ge[4]):(Ge=ve.exec(ae))?at(Ge[1]*255/100,Ge[2]*255/100,Ge[3]*255/100,Ge[4]):(Ge=De.exec(ae))?I(Ge[1],Ge[2]/100,Ge[3]/100,1):(Ge=Ie.exec(ae))?I(Ge[1],Ge[2]/100,Ge[3]/100,Ge[4]):Qe.hasOwnProperty(ae)?ut(Qe[ae]):ae==="transparent"?new c(NaN,NaN,NaN,0):null}function ut(ae){return new c(ae>>16&255,ae>>8&255,ae&255,1)}function at(ae,Ge,He,ge){return ge<=0&&(ae=Ge=He=NaN),new c(ae,Ge,He,ge)}function j(ae){return ae instanceof a||(ae=Oe(ae)),ae?(ae=ae.rgb(),new c(ae.r,ae.g,ae.b,ae.opacity)):new c}function d(ae,Ge,He,ge){return arguments.length===1?j(ae):new c(ae,Ge,He,ge==null?1:ge)}function c(ae,Ge,He,ge){this.r=+ae,this.g=+Ge,this.b=+He,this.opacity=+ge}e(c,d,r(a,{brighter:function(ae){return ae=ae==null?h:Math.pow(h,ae),new c(this.r*ae,this.g*ae,this.b*ae,this.opacity)},darker:function(ae){return ae=ae==null?l:Math.pow(l,ae),new c(this.r*ae,this.g*ae,this.b*ae,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:u,formatHex:u,formatRgb:f,toString:f}));function u(){return"#"+v(this.r)+v(this.g)+v(this.b)}function f(){var ae=this.opacity;return ae=isNaN(ae)?1:Math.max(0,Math.min(1,ae)),(ae===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(ae===1?")":", "+ae+")")}function v(ae){return ae=Math.max(0,Math.min(255,Math.round(ae)||0)),(ae<16?"0":"")+ae.toString(16)}function I(ae,Ge,He,ge){return ge<=0?ae=Ge=He=NaN:He<=0||He>=1?ae=Ge=NaN:Ge<=0&&(ae=NaN),new Q(ae,Ge,He,ge)}function q(ae){if(ae instanceof Q)return new Q(ae.h,ae.s,ae.l,ae.opacity);if(ae instanceof a||(ae=Oe(ae)),!ae)return new Q;if(ae instanceof Q)return ae;ae=ae.rgb();var Ge=ae.r/255,He=ae.g/255,ge=ae.b/255,Je=Math.min(Ge,He,ge),gt=Math.max(Ge,He,ge),ne=NaN,Se=gt-Je,qe=(gt+Je)/2;return Se?(Ge===gt?ne=(He-ge)/Se+(He<ge)*6:He===gt?ne=(ge-Ge)/Se+2:ne=(Ge-He)/Se+4,Se/=qe<.5?gt+Je:2-gt-Je,ne*=60):Se=qe>0&&qe<1?0:ne,new Q(ne,Se,qe,ae.opacity)}function V(ae,Ge,He,ge){return arguments.length===1?q(ae):new Q(ae,Ge,He,ge==null?1:ge)}function Q(ae,Ge,He,ge){this.h=+ae,this.s=+Ge,this.l=+He,this.opacity=+ge}e(Q,V,r(a,{brighter:function(ae){return ae=ae==null?h:Math.pow(h,ae),new Q(this.h,this.s,this.l*ae,this.opacity)},darker:function(ae){return ae=ae==null?l:Math.pow(l,ae),new Q(this.h,this.s,this.l*ae,this.opacity)},rgb:function(){var ae=this.h%360+(this.h<0)*360,Ge=isNaN(ae)||isNaN(this.s)?0:this.s,He=this.l,ge=He+(He<.5?He:1-He)*Ge,Je=2*He-ge;return new c(le(ae>=240?ae-240:ae+120,Je,ge),le(ae,Je,ge),le(ae<120?ae+240:ae-120,Je,ge),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var ae=this.opacity;return ae=isNaN(ae)?1:Math.max(0,Math.min(1,ae)),(ae===1?"hsl(":"hsla(")+(this.h||0)+", "+(this.s||0)*100+"%, "+(this.l||0)*100+"%"+(ae===1?")":", "+ae+")")}}));function le(ae,Ge,He){return(ae<60?Ge+(He-Ge)*ae/60:ae<180?He:ae<240?Ge+(He-Ge)*(240-ae)/60:Ge)*255}let ye=Math.PI/180,Ae=180/Math.PI,je=18,it=.96422,yt=1,me=.82521,Ue=4/29,Le=6/29,Ve=3*Le*Le,lt=Le*Le*Le;function Nt(ae){if(ae instanceof he)return new he(ae.l,ae.a,ae.b,ae.opacity);if(ae instanceof ue)return st(ae);ae instanceof c||(ae=j(ae));var Ge=P(ae.r),He=P(ae.g),ge=P(ae.b),Je=et((.2225045*Ge+.7168786*He+.0606169*ge)/yt),gt,ne;return Ge===He&&He===ge?gt=ne=Je:(gt=et((.4360747*Ge+.3850649*He+.1430804*ge)/it),ne=et((.0139322*Ge+.0971045*He+.7141733*ge)/me)),new he(116*Je-16,500*(gt-Je),200*(Je-ne),ae.opacity)}function Ct(ae,Ge){return new he(ae,0,0,Ge==null?1:Ge)}function Xe(ae,Ge,He,ge){return arguments.length===1?Nt(ae):new he(ae,Ge,He,ge==null?1:ge)}function he(ae,Ge,He,ge){this.l=+ae,this.a=+Ge,this.b=+He,this.opacity=+ge}e(he,Xe,r(a,{brighter:function(ae){return new he(this.l+je*(ae==null?1:ae),this.a,this.b,this.opacity)},darker:function(ae){return new he(this.l-je*(ae==null?1:ae),this.a,this.b,this.opacity)},rgb:function(){var ae=(this.l+16)/116,Ge=isNaN(this.a)?ae:ae+this.a/500,He=isNaN(this.b)?ae:ae-this.b/200;return Ge=it*Lt(Ge),ae=yt*Lt(ae),He=me*Lt(He),new c(H(3.1338561*Ge-1.6168667*ae-.4906146*He),H(-.9787684*Ge+1.9161415*ae+.033454*He),H(.0719453*Ge-.2289914*ae+1.4052427*He),this.opacity)}}));function et(ae){return ae>lt?Math.pow(ae,1/3):ae/Ve+Ue}function Lt(ae){return ae>Le?ae*ae*ae:Ve*(ae-Ue)}function H(ae){return 255*(ae<=.0031308?12.92*ae:1.055*Math.pow(ae,1/2.4)-.055)}function P(ae){return(ae/=255)<=.04045?ae/12.92:Math.pow((ae+.055)/1.055,2.4)}function B(ae){if(ae instanceof ue)return new ue(ae.h,ae.c,ae.l,ae.opacity);if(ae instanceof he||(ae=Nt(ae)),ae.a===0&&ae.b===0)return new ue(NaN,0<ae.l&&ae.l<100?0:NaN,ae.l,ae.opacity);var Ge=Math.atan2(ae.b,ae.a)*Ae;return new ue(Ge<0?Ge+360:Ge,Math.sqrt(ae.a*ae.a+ae.b*ae.b),ae.l,ae.opacity)}function fe(ae,Ge,He,ge){return arguments.length===1?B(ae):new ue(He,Ge,ae,ge==null?1:ge)}function pe(ae,Ge,He,ge){return arguments.length===1?B(ae):new ue(ae,Ge,He,ge==null?1:ge)}function ue(ae,Ge,He,ge){this.h=+ae,this.c=+Ge,this.l=+He,this.opacity=+ge}function st(ae){if(isNaN(ae.h))return new he(ae.l,0,0,ae.opacity);var Ge=ae.h*ye;return new he(ae.l,Math.cos(Ge)*ae.c,Math.sin(Ge)*ae.c,ae.opacity)}e(ue,pe,r(a,{brighter:function(ae){return new ue(this.h,this.c,this.l+je*(ae==null?1:ae),this.opacity)},darker:function(ae){return new ue(this.h,this.c,this.l-je*(ae==null?1:ae),this.opacity)},rgb:function(){return st(this).rgb()}}));var se=-.14861,te=1.78277,D=-.29227,re=-.90649,J=1.97294,Ee=J*re,xe=J*te,Ce=te*D-re*se;function Ke(ae){if(ae instanceof We)return new We(ae.h,ae.s,ae.l,ae.opacity);ae instanceof c||(ae=j(ae));var Ge=ae.r/255,He=ae.g/255,ge=ae.b/255,Je=(Ce*ge+Ee*Ge-xe*He)/(Ce+Ee-xe),gt=ge-Je,ne=(J*(He-Je)-D*gt)/re,Se=Math.sqrt(ne*ne+gt*gt)/(J*Je*(1-Je)),qe=Se?Math.atan2(ne,gt)*Ae-120:NaN;return new We(qe<0?qe+360:qe,Se,Je,ae.opacity)}function Ne(ae,Ge,He,ge){return arguments.length===1?Ke(ae):new We(ae,Ge,He,ge==null?1:ge)}function We(ae,Ge,He,ge){this.h=+ae,this.s=+Ge,this.l=+He,this.opacity=+ge}e(We,Ne,r(a,{brighter:function(ae){return ae=ae==null?h:Math.pow(h,ae),new We(this.h,this.s,this.l*ae,this.opacity)},darker:function(ae){return ae=ae==null?l:Math.pow(l,ae),new We(this.h,this.s,this.l*ae,this.opacity)},rgb:function(){var ae=isNaN(this.h)?0:(this.h+120)*ye,Ge=+this.l,He=isNaN(this.s)?0:this.s*Ge*(1-Ge),ge=Math.cos(ae),Je=Math.sin(ae);return new c(255*(Ge+He*(se*ge+te*Je)),255*(Ge+He*(D*ge+re*Je)),255*(Ge+He*(J*ge)),this.opacity)}})),t.color=Oe,t.cubehelix=Ne,t.gray=Ct,t.hcl=pe,t.hsl=V,t.lab=Xe,t.lch=fe,t.rgb=d,Object.defineProperty(t,"__esModule",{value:!0})})});var i3=an((Lo,r9)=>{(function(t,e){typeof Lo=="object"&&typeof r9!="undefined"?e(Lo,r3()):typeof define=="function"&&define.amd?define(["exports","d3-color"],e):(t=t||self,e(t.d3=t.d3||{},t.d3))})(Lo,function(t,e){"use strict";function r(se,te,D,re,J){var Ee=se*se,xe=Ee*se;return((1-3*se+3*Ee-xe)*te+(4-6*Ee+3*xe)*D+(1+3*se+3*Ee-3*xe)*re+xe*J)/6}function a(se){var te=se.length-1;return function(D){var re=D<=0?D=0:D>=1?(D=1,te-1):Math.floor(D*te),J=se[re],Ee=se[re+1],xe=re>0?se[re-1]:2*J-Ee,Ce=re<te-1?se[re+2]:2*Ee-J;return r((D-re/te)*te,xe,J,Ee,Ce)}}function l(se){var te=se.length;return function(D){var re=Math.floor(((D%=1)<0?++D:D)*te),J=se[(re+te-1)%te],Ee=se[re%te],xe=se[(re+1)%te],Ce=se[(re+2)%te];return r((D-re/te)*te,J,Ee,xe,Ce)}}var h=se=>()=>se;function L(se,te){return function(D){return se+D*te}}function M(se,te,D){return se=Math.pow(se,D),te=Math.pow(te,D)-se,D=1/D,function(re){return Math.pow(se+re*te,D)}}function _(se,te){var D=te-se;return D?L(se,D>180||D<-180?D-360*Math.round(D/360):D):h(isNaN(se)?te:se)}function R(se){return(se=+se)==1?ie:function(te,D){return D-te?M(te,D,se):h(isNaN(te)?D:te)}}function ie(se,te){var D=te-se;return D?L(se,D):h(isNaN(se)?te:se)}var K=function se(te){var D=R(te);function re(J,Ee){var xe=D((J=e.rgb(J)).r,(Ee=e.rgb(Ee)).r),Ce=D(J.g,Ee.g),Ke=D(J.b,Ee.b),Ne=ie(J.opacity,Ee.opacity);return function(We){return J.r=xe(We),J.g=Ce(We),J.b=Ke(We),J.opacity=Ne(We),J+""}}return re.gamma=se,re}(1);function de(se){return function(te){var D=te.length,re=new Array(D),J=new Array(D),Ee=new Array(D),xe,Ce;for(xe=0;xe<D;++xe)Ce=e.rgb(te[xe]),re[xe]=Ce.r||0,J[xe]=Ce.g||0,Ee[xe]=Ce.b||0;return re=se(re),J=se(J),Ee=se(Ee),Ce.opacity=1,function(Ke){return Ce.r=re(Ke),Ce.g=J(Ke),Ce.b=Ee(Ke),Ce+""}}}var ve=de(a),De=de(l);function Ie(se,te){te||(te=[]);var D=se?Math.min(te.length,se.length):0,re=te.slice(),J;return function(Ee){for(J=0;J<D;++J)re[J]=se[J]*(1-Ee)+te[J]*Ee;return re}}function Qe(se){return ArrayBuffer.isView(se)&&!(se instanceof DataView)}function ee(se,te){return(Qe(te)?Ie:Te)(se,te)}function Te(se,te){var D=te?te.length:0,re=se?Math.min(D,se.length):0,J=new Array(re),Ee=new Array(D),xe;for(xe=0;xe<re;++xe)J[xe]=f(se[xe],te[xe]);for(;xe<D;++xe)Ee[xe]=te[xe];return function(Ce){for(xe=0;xe<re;++xe)Ee[xe]=J[xe](Ce);return Ee}}function ze(se,te){var D=new Date;return se=+se,te=+te,function(re){return D.setTime(se*(1-re)+te*re),D}}function Oe(se,te){return se=+se,te=+te,function(D){return se*(1-D)+te*D}}function ut(se,te){var D={},re={},J;(se===null||typeof se!="object")&&(se={}),(te===null||typeof te!="object")&&(te={});for(J in te)J in se?D[J]=f(se[J],te[J]):re[J]=te[J];return function(Ee){for(J in D)re[J]=D[J](Ee);return re}}var at=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,j=new RegExp(at.source,"g");function d(se){return function(){return se}}function c(se){return function(te){return se(te)+""}}function u(se,te){var D=at.lastIndex=j.lastIndex=0,re,J,Ee,xe=-1,Ce=[],Ke=[];for(se=se+"",te=te+"";(re=at.exec(se))&&(J=j.exec(te));)(Ee=J.index)>D&&(Ee=te.slice(D,Ee),Ce[xe]?Ce[xe]+=Ee:Ce[++xe]=Ee),(re=re[0])===(J=J[0])?Ce[xe]?Ce[xe]+=J:Ce[++xe]=J:(Ce[++xe]=null,Ke.push({i:xe,x:Oe(re,J)})),D=j.lastIndex;return D<te.length&&(Ee=te.slice(D),Ce[xe]?Ce[xe]+=Ee:Ce[++xe]=Ee),Ce.length<2?Ke[0]?c(Ke[0].x):d(te):(te=Ke.length,function(Ne){for(var We=0,ae;We<te;++We)Ce[(ae=Ke[We]).i]=ae.x(Ne);return Ce.join("")})}function f(se,te){var D=typeof te,re;return te==null||D==="boolean"?h(te):(D==="number"?Oe:D==="string"?(re=e.color(te))?(te=re,K):u:te instanceof e.color?K:te instanceof Date?ze:Qe(te)?Ie:Array.isArray(te)?Te:typeof te.valueOf!="function"&&typeof te.toString!="function"||isNaN(te)?ut:Oe)(se,te)}function v(se){var te=se.length;return function(D){return se[Math.max(0,Math.min(te-1,Math.floor(D*te)))]}}function I(se,te){var D=_(+se,+te);return function(re){var J=D(re);return J-360*Math.floor(J/360)}}function q(se,te){return se=+se,te=+te,function(D){return Math.round(se*(1-D)+te*D)}}var V=180/Math.PI,Q={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function le(se,te,D,re,J,Ee){var xe,Ce,Ke;return(xe=Math.sqrt(se*se+te*te))&&(se/=xe,te/=xe),(Ke=se*D+te*re)&&(D-=se*Ke,re-=te*Ke),(Ce=Math.sqrt(D*D+re*re))&&(D/=Ce,re/=Ce,Ke/=Ce),se*re<te*D&&(se=-se,te=-te,Ke=-Ke,xe=-xe),{translateX:J,translateY:Ee,rotate:Math.atan2(te,se)*V,skewX:Math.atan(Ke)*V,scaleX:xe,scaleY:Ce}}var ye;function Ae(se){let te=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(se+"");return te.isIdentity?Q:le(te.a,te.b,te.c,te.d,te.e,te.f)}function je(se){return se==null||(ye||(ye=document.createElementNS("http://www.w3.org/2000/svg","g")),ye.setAttribute("transform",se),!(se=ye.transform.baseVal.consolidate()))?Q:(se=se.matrix,le(se.a,se.b,se.c,se.d,se.e,se.f))}function it(se,te,D,re){function J(Ne){return Ne.length?Ne.pop()+" ":""}function Ee(Ne,We,ae,Ge,He,ge){if(Ne!==ae||We!==Ge){var Je=He.push("translate(",null,te,null,D);ge.push({i:Je-4,x:Oe(Ne,ae)},{i:Je-2,x:Oe(We,Ge)})}else(ae||Ge)&&He.push("translate("+ae+te+Ge+D)}function xe(Ne,We,ae,Ge){Ne!==We?(Ne-We>180?We+=360:We-Ne>180&&(Ne+=360),Ge.push({i:ae.push(J(ae)+"rotate(",null,re)-2,x:Oe(Ne,We)})):We&&ae.push(J(ae)+"rotate("+We+re)}function Ce(Ne,We,ae,Ge){Ne!==We?Ge.push({i:ae.push(J(ae)+"skewX(",null,re)-2,x:Oe(Ne,We)}):We&&ae.push(J(ae)+"skewX("+We+re)}function Ke(Ne,We,ae,Ge,He,ge){if(Ne!==ae||We!==Ge){var Je=He.push(J(He)+"scale(",null,",",null,")");ge.push({i:Je-4,x:Oe(Ne,ae)},{i:Je-2,x:Oe(We,Ge)})}else(ae!==1||Ge!==1)&&He.push(J(He)+"scale("+ae+","+Ge+")")}return function(Ne,We){var ae=[],Ge=[];return Ne=se(Ne),We=se(We),Ee(Ne.translateX,Ne.translateY,We.translateX,We.translateY,ae,Ge),xe(Ne.rotate,We.rotate,ae,Ge),Ce(Ne.skewX,We.skewX,ae,Ge),Ke(Ne.scaleX,Ne.scaleY,We.scaleX,We.scaleY,ae,Ge),Ne=We=null,function(He){for(var ge=-1,Je=Ge.length,gt;++ge<Je;)ae[(gt=Ge[ge]).i]=gt.x(He);return ae.join("")}}}var yt=it(Ae,"px, ","px)","deg)"),me=it(je,", ",")",")"),Ue=1e-12;function Le(se){return((se=Math.exp(se))+1/se)/2}function Ve(se){return((se=Math.exp(se))-1/se)/2}function lt(se){return((se=Math.exp(2*se))-1)/(se+1)}var Nt=function se(te,D,re){function J(Ee,xe){var Ce=Ee[0],Ke=Ee[1],Ne=Ee[2],We=xe[0],ae=xe[1],Ge=xe[2],He=We-Ce,ge=ae-Ke,Je=He*He+ge*ge,gt,ne;if(Je<Ue)ne=Math.log(Ge/Ne)/te,gt=function(Mt){return[Ce+Mt*He,Ke+Mt*ge,Ne*Math.exp(te*Mt*ne)]};else{var Se=Math.sqrt(Je),qe=(Ge*Ge-Ne*Ne+re*Je)/(2*Ne*D*Se),Be=(Ge*Ge-Ne*Ne-re*Je)/(2*Ge*D*Se),ct=Math.log(Math.sqrt(qe*qe+1)-qe),wt=Math.log(Math.sqrt(Be*Be+1)-Be);ne=(wt-ct)/te,gt=function(Mt){var qt=Mt*ne,Ft=Le(ct),Tt=Ne/(D*Se)*(Ft*lt(te*qt+ct)-Ve(ct));return[Ce+Tt*He,Ke+Tt*ge,Ne*Ft/Le(te*qt+ct)]}}return gt.duration=ne*1e3*te/Math.SQRT2,gt}return J.rho=function(Ee){var xe=Math.max(.001,+Ee),Ce=xe*xe,Ke=Ce*Ce;return se(xe,Ce,Ke)},J}(Math.SQRT2,2,4);function Ct(se){return function(te,D){var re=se((te=e.hsl(te)).h,(D=e.hsl(D)).h),J=ie(te.s,D.s),Ee=ie(te.l,D.l),xe=ie(te.opacity,D.opacity);return function(Ce){return te.h=re(Ce),te.s=J(Ce),te.l=Ee(Ce),te.opacity=xe(Ce),te+""}}}var Xe=Ct(_),he=Ct(ie);function et(se,te){var D=ie((se=e.lab(se)).l,(te=e.lab(te)).l),re=ie(se.a,te.a),J=ie(se.b,te.b),Ee=ie(se.opacity,te.opacity);return function(xe){return se.l=D(xe),se.a=re(xe),se.b=J(xe),se.opacity=Ee(xe),se+""}}function Lt(se){return function(te,D){var re=se((te=e.hcl(te)).h,(D=e.hcl(D)).h),J=ie(te.c,D.c),Ee=ie(te.l,D.l),xe=ie(te.opacity,D.opacity);return function(Ce){return te.h=re(Ce),te.c=J(Ce),te.l=Ee(Ce),te.opacity=xe(Ce),te+""}}}var H=Lt(_),P=Lt(ie);function B(se){return function te(D){D=+D;function re(J,Ee){var xe=se((J=e.cubehelix(J)).h,(Ee=e.cubehelix(Ee)).h),Ce=ie(J.s,Ee.s),Ke=ie(J.l,Ee.l),Ne=ie(J.opacity,Ee.opacity);return function(We){return J.h=xe(We),J.s=Ce(We),J.l=Ke(Math.pow(We,D)),J.opacity=Ne(We),J+""}}return re.gamma=te,re}(1)}var fe=B(_),pe=B(ie);function ue(se,te){te===void 0&&(te=se,se=f);for(var D=0,re=te.length-1,J=te[0],Ee=new Array(re<0?0:re);D<re;)Ee[D]=se(J,J=te[++D]);return function(xe){var Ce=Math.max(0,Math.min(re-1,Math.floor(xe*=re)));return Ee[Ce](xe-Ce)}}function st(se,te){for(var D=new Array(te),re=0;re<te;++re)D[re]=se(re/(te-1));return D}t.interpolate=f,t.interpolateArray=ee,t.interpolateBasis=a,t.interpolateBasisClosed=l,t.interpolateCubehelix=fe,t.interpolateCubehelixLong=pe,t.interpolateDate=ze,t.interpolateDiscrete=v,t.interpolateHcl=H,t.interpolateHclLong=P,t.interpolateHsl=Xe,t.interpolateHslLong=he,t.interpolateHue=I,t.interpolateLab=et,t.interpolateNumber=Oe,t.interpolateNumberArray=Ie,t.interpolateObject=ut,t.interpolateRgb=K,t.interpolateRgbBasis=ve,t.interpolateRgbBasisClosed=De,t.interpolateRound=q,t.interpolateString=u,t.interpolateTransformCss=yt,t.interpolateTransformSvg=me,t.interpolateZoom=Nt,t.piecewise=ue,t.quantize=st,Object.defineProperty(t,"__esModule",{value:!0})})});var r4=an((Oo,i9)=>{(function(t,e){typeof Oo=="object"&&typeof i9!="undefined"?e(Oo,n4()):typeof define=="function"&&define.amd?define(["exports","d3-array"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t.d3=t.d3||{},t.d3))})(Oo,function(t,e){"use strict";var r=new Date,a=new Date;function l(ge,Je,gt,ne){function Se(qe){return ge(qe=arguments.length===0?new Date:new Date(+qe)),qe}return Se.floor=function(qe){return ge(qe=new Date(+qe)),qe},Se.ceil=function(qe){return ge(qe=new Date(qe-1)),Je(qe,1),ge(qe),qe},Se.round=function(qe){var Be=Se(qe),ct=Se.ceil(qe);return qe-Be<ct-qe?Be:ct},Se.offset=function(qe,Be){return Je(qe=new Date(+qe),Be==null?1:Math.floor(Be)),qe},Se.range=function(qe,Be,ct){var wt=[],Mt;if(qe=Se.ceil(qe),ct=ct==null?1:Math.floor(ct),!(qe<Be)||!(ct>0))return wt;do wt.push(Mt=new Date(+qe)),Je(qe,ct),ge(qe);while(Mt<qe&&qe<Be);return wt},Se.filter=function(qe){return l(function(Be){if(Be>=Be)for(;ge(Be),!qe(Be);)Be.setTime(Be-1)},function(Be,ct){if(Be>=Be)if(ct<0)for(;++ct<=0;)for(;Je(Be,-1),!qe(Be););else for(;--ct>=0;)for(;Je(Be,1),!qe(Be););})},gt&&(Se.count=function(qe,Be){return r.setTime(+qe),a.setTime(+Be),ge(r),ge(a),Math.floor(gt(r,a))},Se.every=function(qe){return qe=Math.floor(qe),!isFinite(qe)||!(qe>0)?null:qe>1?Se.filter(ne?function(Be){return ne(Be)%qe===0}:function(Be){return Se.count(0,Be)%qe===0}):Se}),Se}var h=l(function(){},function(ge,Je){ge.setTime(+ge+Je)},function(ge,Je){return Je-ge});h.every=function(ge){return ge=Math.floor(ge),!isFinite(ge)||!(ge>0)?null:ge>1?l(function(Je){Je.setTime(Math.floor(Je/ge)*ge)},function(Je,gt){Je.setTime(+Je+gt*ge)},function(Je,gt){return(gt-Je)/ge}):h};var L=h.range;let M=1e3,_=M*60,R=_*60,ie=R*24,K=ie*7,de=ie*30,ve=ie*365;var De=l(function(ge){ge.setTime(ge-ge.getMilliseconds())},function(ge,Je){ge.setTime(+ge+Je*M)},function(ge,Je){return(Je-ge)/M},function(ge){return ge.getUTCSeconds()}),Ie=De.range,Qe=l(function(ge){ge.setTime(ge-ge.getMilliseconds()-ge.getSeconds()*M)},function(ge,Je){ge.setTime(+ge+Je*_)},function(ge,Je){return(Je-ge)/_},function(ge){return ge.getMinutes()}),ee=Qe.range,Te=l(function(ge){ge.setTime(ge-ge.getMilliseconds()-ge.getSeconds()*M-ge.getMinutes()*_)},function(ge,Je){ge.setTime(+ge+Je*R)},function(ge,Je){return(Je-ge)/R},function(ge){return ge.getHours()}),ze=Te.range,Oe=l(ge=>ge.setHours(0,0,0,0),(ge,Je)=>ge.setDate(ge.getDate()+Je),(ge,Je)=>(Je-ge-(Je.getTimezoneOffset()-ge.getTimezoneOffset())*_)/ie,ge=>ge.getDate()-1),ut=Oe.range;function at(ge){return l(function(Je){Je.setDate(Je.getDate()-(Je.getDay()+7-ge)%7),Je.setHours(0,0,0,0)},function(Je,gt){Je.setDate(Je.getDate()+gt*7)},function(Je,gt){return(gt-Je-(gt.getTimezoneOffset()-Je.getTimezoneOffset())*_)/K})}var j=at(0),d=at(1),c=at(2),u=at(3),f=at(4),v=at(5),I=at(6),q=j.range,V=d.range,Q=c.range,le=u.range,ye=f.range,Ae=v.range,je=I.range,it=l(function(ge){ge.setDate(1),ge.setHours(0,0,0,0)},function(ge,Je){ge.setMonth(ge.getMonth()+Je)},function(ge,Je){return Je.getMonth()-ge.getMonth()+(Je.getFullYear()-ge.getFullYear())*12},function(ge){return ge.getMonth()}),yt=it.range,me=l(function(ge){ge.setMonth(0,1),ge.setHours(0,0,0,0)},function(ge,Je){ge.setFullYear(ge.getFullYear()+Je)},function(ge,Je){return Je.getFullYear()-ge.getFullYear()},function(ge){return ge.getFullYear()});me.every=function(ge){return!isFinite(ge=Math.floor(ge))||!(ge>0)?null:l(function(Je){Je.setFullYear(Math.floor(Je.getFullYear()/ge)*ge),Je.setMonth(0,1),Je.setHours(0,0,0,0)},function(Je,gt){Je.setFullYear(Je.getFullYear()+gt*ge)})};var Ue=me.range,Le=l(function(ge){ge.setUTCSeconds(0,0)},function(ge,Je){ge.setTime(+ge+Je*_)},function(ge,Je){return(Je-ge)/_},function(ge){return ge.getUTCMinutes()}),Ve=Le.range,lt=l(function(ge){ge.setUTCMinutes(0,0,0)},function(ge,Je){ge.setTime(+ge+Je*R)},function(ge,Je){return(Je-ge)/R},function(ge){return ge.getUTCHours()}),Nt=lt.range,Ct=l(function(ge){ge.setUTCHours(0,0,0,0)},function(ge,Je){ge.setUTCDate(ge.getUTCDate()+Je)},function(ge,Je){return(Je-ge)/ie},function(ge){return ge.getUTCDate()-1}),Xe=Ct.range;function he(ge){return l(function(Je){Je.setUTCDate(Je.getUTCDate()-(Je.getUTCDay()+7-ge)%7),Je.setUTCHours(0,0,0,0)},function(Je,gt){Je.setUTCDate(Je.getUTCDate()+gt*7)},function(Je,gt){return(gt-Je)/K})}var et=he(0),Lt=he(1),H=he(2),P=he(3),B=he(4),fe=he(5),pe=he(6),ue=et.range,st=Lt.range,se=H.range,te=P.range,D=B.range,re=fe.range,J=pe.range,Ee=l(function(ge){ge.setUTCDate(1),ge.setUTCHours(0,0,0,0)},function(ge,Je){ge.setUTCMonth(ge.getUTCMonth()+Je)},function(ge,Je){return Je.getUTCMonth()-ge.getUTCMonth()+(Je.getUTCFullYear()-ge.getUTCFullYear())*12},function(ge){return ge.getUTCMonth()}),xe=Ee.range,Ce=l(function(ge){ge.setUTCMonth(0,1),ge.setUTCHours(0,0,0,0)},function(ge,Je){ge.setUTCFullYear(ge.getUTCFullYear()+Je)},function(ge,Je){return Je.getUTCFullYear()-ge.getUTCFullYear()},function(ge){return ge.getUTCFullYear()});Ce.every=function(ge){return!isFinite(ge=Math.floor(ge))||!(ge>0)?null:l(function(Je){Je.setUTCFullYear(Math.floor(Je.getUTCFullYear()/ge)*ge),Je.setUTCMonth(0,1),Je.setUTCHours(0,0,0,0)},function(Je,gt){Je.setUTCFullYear(Je.getUTCFullYear()+gt*ge)})};var Ke=Ce.range;function Ne(ge,Je,gt,ne,Se,qe){let Be=[[De,1,M],[De,5,5*M],[De,15,15*M],[De,30,30*M],[qe,1,_],[qe,5,5*_],[qe,15,15*_],[qe,30,30*_],[Se,1,R],[Se,3,3*R],[Se,6,6*R],[Se,12,12*R],[ne,1,ie],[ne,2,2*ie],[gt,1,K],[Je,1,de],[Je,3,3*de],[ge,1,ve]];function ct(Mt,qt,Ft){let Tt=qt<Mt;Tt&&([Mt,qt]=[qt,Mt]);let Ze=Ft&&typeof Ft.range=="function"?Ft:wt(Mt,qt,Ft),ht=Ze?Ze.range(Mt,+qt+1):[];return Tt?ht.reverse():ht}function wt(Mt,qt,Ft){let Tt=Math.abs(qt-Mt)/Ft,Ze=e.bisector(([,,Pt])=>Pt).right(Be,Tt);if(Ze===Be.length)return ge.every(e.tickStep(Mt/ve,qt/ve,Ft));if(Ze===0)return h.every(Math.max(e.tickStep(Mt,qt,Ft),1));let[ht,Et]=Be[Tt/Be[Ze-1][2]<Be[Ze][2]/Tt?Ze-1:Ze];return ht.every(Et)}return[ct,wt]}let[We,ae]=Ne(Ce,Ee,et,Ct,lt,Le),[Ge,He]=Ne(me,it,j,Oe,Te,Qe);t.timeDay=Oe,t.timeDays=ut,t.timeFriday=v,t.timeFridays=Ae,t.timeHour=Te,t.timeHours=ze,t.timeInterval=l,t.timeMillisecond=h,t.timeMilliseconds=L,t.timeMinute=Qe,t.timeMinutes=ee,t.timeMonday=d,t.timeMondays=V,t.timeMonth=it,t.timeMonths=yt,t.timeSaturday=I,t.timeSaturdays=je,t.timeSecond=De,t.timeSeconds=Ie,t.timeSunday=j,t.timeSundays=q,t.timeThursday=f,t.timeThursdays=ye,t.timeTickInterval=He,t.timeTicks=Ge,t.timeTuesday=c,t.timeTuesdays=Q,t.timeWednesday=u,t.timeWednesdays=le,t.timeWeek=j,t.timeWeeks=q,t.timeYear=me,t.timeYears=Ue,t.utcDay=Ct,t.utcDays=Xe,t.utcFriday=fe,t.utcFridays=re,t.utcHour=lt,t.utcHours=Nt,t.utcMillisecond=h,t.utcMilliseconds=L,t.utcMinute=Le,t.utcMinutes=Ve,t.utcMonday=Lt,t.utcMondays=st,t.utcMonth=Ee,t.utcMonths=xe,t.utcSaturday=pe,t.utcSaturdays=J,t.utcSecond=De,t.utcSeconds=Ie,t.utcSunday=et,t.utcSundays=ue,t.utcThursday=B,t.utcThursdays=D,t.utcTickInterval=ae,t.utcTicks=We,t.utcTuesday=H,t.utcTuesdays=se,t.utcWednesday=P,t.utcWednesdays=te,t.utcWeek=et,t.utcWeeks=ue,t.utcYear=Ce,t.utcYears=Ke,Object.defineProperty(t,"__esModule",{value:!0})})});var a9=an((Po,o9)=>{(function(t,e){typeof Po=="object"&&typeof o9!="undefined"?e(Po,r4()):typeof define=="function"&&define.amd?define(["exports","d3-time"],e):(t=t||self,e(t.d3=t.d3||{},t.d3))})(Po,function(t,e){"use strict";function r(Ze){if(0<=Ze.y&&Ze.y<100){var ht=new Date(-1,Ze.m,Ze.d,Ze.H,Ze.M,Ze.S,Ze.L);return ht.setFullYear(Ze.y),ht}return new Date(Ze.y,Ze.m,Ze.d,Ze.H,Ze.M,Ze.S,Ze.L)}function a(Ze){if(0<=Ze.y&&Ze.y<100){var ht=new Date(Date.UTC(-1,Ze.m,Ze.d,Ze.H,Ze.M,Ze.S,Ze.L));return ht.setUTCFullYear(Ze.y),ht}return new Date(Date.UTC(Ze.y,Ze.m,Ze.d,Ze.H,Ze.M,Ze.S,Ze.L))}function l(Ze,ht,Et){return{y:Ze,m:ht,d:Et,H:0,M:0,S:0,L:0}}function h(Ze){var ht=Ze.dateTime,Et=Ze.date,Pt=Ze.time,Ye=Ze.periods,nt=Ze.days,O=Ze.shortDays,Z=Ze.months,g=Ze.shortMonths,E=de(Ye),T=ve(Ye),s=de(nt),x=ve(nt),C=de(O),U=ve(O),G=de(Z),Y=ve(Z),ce=de(g),Me=ve(g),dt={a:$,A:Ot,b:kt,B:xt,c:null,d:ye,e:ye,f:me,g:H,G:B,H:Ae,I:je,j:it,L:yt,m:Ue,M:Le,p:At,q:Gt,Q:Se,s:qe,S:Ve,u:lt,U:Nt,V:Xe,w:he,W:et,x:null,X:null,y:Lt,Y:P,Z:fe,"%":ne},_t={a:Kt,A:Jt,b:cn,B:nn,c:null,d:pe,e:pe,f:D,g:He,G:Je,H:ue,I:st,j:se,L:te,m:re,M:J,p:un,q:o,Q:Se,s:qe,S:Ee,u:xe,U:Ce,V:Ne,w:We,W:ae,x:null,X:null,y:Ge,Y:ge,Z:gt,"%":ne},$t={a:ke,A:Fe,b:ft,B:St,c:Vt,d,e:d,f:q,g:Oe,G:ze,H:u,I:u,j:c,L:I,m:j,M:f,p:W,q:at,Q,s:le,S:v,u:Ie,U:Qe,V:ee,w:De,W:Te,x:zt,X:oe,y:Oe,Y:ze,Z:ut,"%":V};dt.x=i(Et,dt),dt.X=i(Pt,dt),dt.c=i(ht,dt),_t.x=i(Et,_t),_t.X=i(Pt,_t),_t.c=i(ht,_t);function i(y,F){return function(X){var w=[],b=-1,z=0,_e=y.length,tt,be,$e;for(X instanceof Date||(X=new Date(+X));++b<_e;)y.charCodeAt(b)===37&&(w.push(y.slice(z,b)),(be=L[tt=y.charAt(++b)])!=null?tt=y.charAt(++b):be=tt==="e"?" ":"0",($e=F[tt])&&(tt=$e(X,be)),w.push(tt),z=b+1);return w.push(y.slice(z,b)),w.join("")}}function S(y,F){return function(X){var w=l(1900,void 0,1),b=A(w,y,X+="",0),z,_e;if(b!=X.length)return null;if("Q"in w)return new Date(w.Q);if("s"in w)return new Date(w.s*1e3+("L"in w?w.L:0));if(F&&!("Z"in w)&&(w.Z=0),"p"in w&&(w.H=w.H%12+w.p*12),w.m===void 0&&(w.m="q"in w?w.q:0),"V"in w){if(w.V<1||w.V>53)return null;"w"in w||(w.w=1),"Z"in w?(z=a(l(w.y,0,1)),_e=z.getUTCDay(),z=_e>4||_e===0?e.utcMonday.ceil(z):e.utcMonday(z),z=e.utcDay.offset(z,(w.V-1)*7),w.y=z.getUTCFullYear(),w.m=z.getUTCMonth(),w.d=z.getUTCDate()+(w.w+6)%7):(z=r(l(w.y,0,1)),_e=z.getDay(),z=_e>4||_e===0?e.timeMonday.ceil(z):e.timeMonday(z),z=e.timeDay.offset(z,(w.V-1)*7),w.y=z.getFullYear(),w.m=z.getMonth(),w.d=z.getDate()+(w.w+6)%7)}else("W"in w||"U"in w)&&("w"in w||(w.w="u"in w?w.u%7:"W"in w?1:0),_e="Z"in w?a(l(w.y,0,1)).getUTCDay():r(l(w.y,0,1)).getDay(),w.m=0,w.d="W"in w?(w.w+6)%7+w.W*7-(_e+5)%7:w.w+w.U*7-(_e+6)%7);return"Z"in w?(w.H+=w.Z/100|0,w.M+=w.Z%100,a(w)):r(w)}}function A(y,F,X,w){for(var b=0,z=F.length,_e=X.length,tt,be;b<z;){if(w>=_e)return-1;if(tt=F.charCodeAt(b++),tt===37){if(tt=F.charAt(b++),be=$t[tt in L?F.charAt(b++):tt],!be||(w=be(y,X,w))<0)return-1}else if(tt!=X.charCodeAt(w++))return-1}return w}function W(y,F,X){var w=E.exec(F.slice(X));return w?(y.p=T.get(w[0].toLowerCase()),X+w[0].length):-1}function ke(y,F,X){var w=C.exec(F.slice(X));return w?(y.w=U.get(w[0].toLowerCase()),X+w[0].length):-1}function Fe(y,F,X){var w=s.exec(F.slice(X));return w?(y.w=x.get(w[0].toLowerCase()),X+w[0].length):-1}function ft(y,F,X){var w=ce.exec(F.slice(X));return w?(y.m=Me.get(w[0].toLowerCase()),X+w[0].length):-1}function St(y,F,X){var w=G.exec(F.slice(X));return w?(y.m=Y.get(w[0].toLowerCase()),X+w[0].length):-1}function Vt(y,F,X){return A(y,ht,F,X)}function zt(y,F,X){return A(y,Et,F,X)}function oe(y,F,X){return A(y,Pt,F,X)}function $(y){return O[y.getDay()]}function Ot(y){return nt[y.getDay()]}function kt(y){return g[y.getMonth()]}function xt(y){return Z[y.getMonth()]}function At(y){return Ye[+(y.getHours()>=12)]}function Gt(y){return 1+~~(y.getMonth()/3)}function Kt(y){return O[y.getUTCDay()]}function Jt(y){return nt[y.getUTCDay()]}function cn(y){return g[y.getUTCMonth()]}function nn(y){return Z[y.getUTCMonth()]}function un(y){return Ye[+(y.getUTCHours()>=12)]}function o(y){return 1+~~(y.getUTCMonth()/3)}return{format:function(y){var F=i(y+="",dt);return F.toString=function(){return y},F},parse:function(y){var F=S(y+="",!1);return F.toString=function(){return y},F},utcFormat:function(y){var F=i(y+="",_t);return F.toString=function(){return y},F},utcParse:function(y){var F=S(y+="",!0);return F.toString=function(){return y},F}}}var L={"-":"",_:" ",0:"0"},M=/^\s*\d+/,_=/^%/,R=/[\\^$*+?|[\]().{}]/g;function ie(Ze,ht,Et){var Pt=Ze<0?"-":"",Ye=(Pt?-Ze:Ze)+"",nt=Ye.length;return Pt+(nt<Et?new Array(Et-nt+1).join(ht)+Ye:Ye)}function K(Ze){return Ze.replace(R,"\\$&")}function de(Ze){return new RegExp("^(?:"+Ze.map(K).join("|")+")","i")}function ve(Ze){return new Map(Ze.map((ht,Et)=>[ht.toLowerCase(),Et]))}function De(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+1));return Pt?(Ze.w=+Pt[0],Et+Pt[0].length):-1}function Ie(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+1));return Pt?(Ze.u=+Pt[0],Et+Pt[0].length):-1}function Qe(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+2));return Pt?(Ze.U=+Pt[0],Et+Pt[0].length):-1}function ee(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+2));return Pt?(Ze.V=+Pt[0],Et+Pt[0].length):-1}function Te(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+2));return Pt?(Ze.W=+Pt[0],Et+Pt[0].length):-1}function ze(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+4));return Pt?(Ze.y=+Pt[0],Et+Pt[0].length):-1}function Oe(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+2));return Pt?(Ze.y=+Pt[0]+(+Pt[0]>68?1900:2e3),Et+Pt[0].length):-1}function ut(Ze,ht,Et){var Pt=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(ht.slice(Et,Et+6));return Pt?(Ze.Z=Pt[1]?0:-(Pt[2]+(Pt[3]||"00")),Et+Pt[0].length):-1}function at(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+1));return Pt?(Ze.q=Pt[0]*3-3,Et+Pt[0].length):-1}function j(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+2));return Pt?(Ze.m=Pt[0]-1,Et+Pt[0].length):-1}function d(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+2));return Pt?(Ze.d=+Pt[0],Et+Pt[0].length):-1}function c(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+3));return Pt?(Ze.m=0,Ze.d=+Pt[0],Et+Pt[0].length):-1}function u(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+2));return Pt?(Ze.H=+Pt[0],Et+Pt[0].length):-1}function f(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+2));return Pt?(Ze.M=+Pt[0],Et+Pt[0].length):-1}function v(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+2));return Pt?(Ze.S=+Pt[0],Et+Pt[0].length):-1}function I(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+3));return Pt?(Ze.L=+Pt[0],Et+Pt[0].length):-1}function q(Ze,ht,Et){var Pt=M.exec(ht.slice(Et,Et+6));return Pt?(Ze.L=Math.floor(Pt[0]/1e3),Et+Pt[0].length):-1}function V(Ze,ht,Et){var Pt=_.exec(ht.slice(Et,Et+1));return Pt?Et+Pt[0].length:-1}function Q(Ze,ht,Et){var Pt=M.exec(ht.slice(Et));return Pt?(Ze.Q=+Pt[0],Et+Pt[0].length):-1}function le(Ze,ht,Et){var Pt=M.exec(ht.slice(Et));return Pt?(Ze.s=+Pt[0],Et+Pt[0].length):-1}function ye(Ze,ht){return ie(Ze.getDate(),ht,2)}function Ae(Ze,ht){return ie(Ze.getHours(),ht,2)}function je(Ze,ht){return ie(Ze.getHours()%12||12,ht,2)}function it(Ze,ht){return ie(1+e.timeDay.count(e.timeYear(Ze),Ze),ht,3)}function yt(Ze,ht){return ie(Ze.getMilliseconds(),ht,3)}function me(Ze,ht){return yt(Ze,ht)+"000"}function Ue(Ze,ht){return ie(Ze.getMonth()+1,ht,2)}function Le(Ze,ht){return ie(Ze.getMinutes(),ht,2)}function Ve(Ze,ht){return ie(Ze.getSeconds(),ht,2)}function lt(Ze){var ht=Ze.getDay();return ht===0?7:ht}function Nt(Ze,ht){return ie(e.timeSunday.count(e.timeYear(Ze)-1,Ze),ht,2)}function Ct(Ze){var ht=Ze.getDay();return ht>=4||ht===0?e.timeThursday(Ze):e.timeThursday.ceil(Ze)}function Xe(Ze,ht){return Ze=Ct(Ze),ie(e.timeThursday.count(e.timeYear(Ze),Ze)+(e.timeYear(Ze).getDay()===4),ht,2)}function he(Ze){return Ze.getDay()}function et(Ze,ht){return ie(e.timeMonday.count(e.timeYear(Ze)-1,Ze),ht,2)}function Lt(Ze,ht){return ie(Ze.getFullYear()%100,ht,2)}function H(Ze,ht){return Ze=Ct(Ze),ie(Ze.getFullYear()%100,ht,2)}function P(Ze,ht){return ie(Ze.getFullYear()%1e4,ht,4)}function B(Ze,ht){var Et=Ze.getDay();return Ze=Et>=4||Et===0?e.timeThursday(Ze):e.timeThursday.ceil(Ze),ie(Ze.getFullYear()%1e4,ht,4)}function fe(Ze){var ht=Ze.getTimezoneOffset();return(ht>0?"-":(ht*=-1,"+"))+ie(ht/60|0,"0",2)+ie(ht%60,"0",2)}function pe(Ze,ht){return ie(Ze.getUTCDate(),ht,2)}function ue(Ze,ht){return ie(Ze.getUTCHours(),ht,2)}function st(Ze,ht){return ie(Ze.getUTCHours()%12||12,ht,2)}function se(Ze,ht){return ie(1+e.utcDay.count(e.utcYear(Ze),Ze),ht,3)}function te(Ze,ht){return ie(Ze.getUTCMilliseconds(),ht,3)}function D(Ze,ht){return te(Ze,ht)+"000"}function re(Ze,ht){return ie(Ze.getUTCMonth()+1,ht,2)}function J(Ze,ht){return ie(Ze.getUTCMinutes(),ht,2)}function Ee(Ze,ht){return ie(Ze.getUTCSeconds(),ht,2)}function xe(Ze){var ht=Ze.getUTCDay();return ht===0?7:ht}function Ce(Ze,ht){return ie(e.utcSunday.count(e.utcYear(Ze)-1,Ze),ht,2)}function Ke(Ze){var ht=Ze.getUTCDay();return ht>=4||ht===0?e.utcThursday(Ze):e.utcThursday.ceil(Ze)}function Ne(Ze,ht){return Ze=Ke(Ze),ie(e.utcThursday.count(e.utcYear(Ze),Ze)+(e.utcYear(Ze).getUTCDay()===4),ht,2)}function We(Ze){return Ze.getUTCDay()}function ae(Ze,ht){return ie(e.utcMonday.count(e.utcYear(Ze)-1,Ze),ht,2)}function Ge(Ze,ht){return ie(Ze.getUTCFullYear()%100,ht,2)}function He(Ze,ht){return Ze=Ke(Ze),ie(Ze.getUTCFullYear()%100,ht,2)}function ge(Ze,ht){return ie(Ze.getUTCFullYear()%1e4,ht,4)}function Je(Ze,ht){var Et=Ze.getUTCDay();return Ze=Et>=4||Et===0?e.utcThursday(Ze):e.utcThursday.ceil(Ze),ie(Ze.getUTCFullYear()%1e4,ht,4)}function gt(){return"+0000"}function ne(){return"%"}function Se(Ze){return+Ze}function qe(Ze){return Math.floor(+Ze/1e3)}var Be;ct({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function ct(Ze){return Be=h(Ze),t.timeFormat=Be.format,t.timeParse=Be.parse,t.utcFormat=Be.utcFormat,t.utcParse=Be.utcParse,Be}var wt="%Y-%m-%dT%H:%M:%S.%LZ";function Mt(Ze){return Ze.toISOString()}var qt=Date.prototype.toISOString?Mt:t.utcFormat(wt);function Ft(Ze){var ht=new Date(Ze);return isNaN(ht)?null:ht}var Tt=+new Date("2000-01-01T00:00:00.000Z")?Ft:t.utcParse(wt);t.isoFormat=qt,t.isoParse=Tt,t.timeFormatDefaultLocale=ct,t.timeFormatLocale=h,Object.defineProperty(t,"__esModule",{value:!0})})});var u9=an((Ro,s9)=>{(function(t,e){typeof Ro=="object"&&typeof s9!="undefined"?e(Ro,n4(),i3(),t4(),r4(),a9()):typeof define=="function"&&define.amd?define(["exports","d3-array","d3-interpolate","d3-format","d3-time","d3-time-format"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t.d3=t.d3||{},t.d3,t.d3,t.d3,t.d3,t.d3))})(Ro,function(t,e,r,a,l,h){"use strict";function L(ne,Se){switch(arguments.length){case 0:break;case 1:this.range(ne);break;default:this.range(Se).domain(ne);break}return this}function M(ne,Se){switch(arguments.length){case 0:break;case 1:{typeof ne=="function"?this.interpolator(ne):this.range(ne);break}default:{this.domain(ne),typeof Se=="function"?this.interpolator(Se):this.range(Se);break}}return this}let _=Symbol("implicit");function R(){var ne=new Map,Se=[],qe=[],Be=_;function ct(wt){var Mt=wt+"",qt=ne.get(Mt);if(!qt){if(Be!==_)return Be;ne.set(Mt,qt=Se.push(wt))}return qe[(qt-1)%qe.length]}return ct.domain=function(wt){if(!arguments.length)return Se.slice();Se=[],ne=new Map;for(let Mt of wt){let qt=Mt+"";ne.has(qt)||ne.set(qt,Se.push(Mt))}return ct},ct.range=function(wt){return arguments.length?(qe=Array.from(wt),ct):qe.slice()},ct.unknown=function(wt){return arguments.length?(Be=wt,ct):Be},ct.copy=function(){return R(Se,qe).unknown(Be)},L.apply(ct,arguments),ct}function ie(){var ne=R().unknown(void 0),Se=ne.domain,qe=ne.range,Be=0,ct=1,wt,Mt,qt=!1,Ft=0,Tt=0,Ze=.5;delete ne.unknown;function ht(){var Et=Se().length,Pt=ct<Be,Ye=Pt?ct:Be,nt=Pt?Be:ct;wt=(nt-Ye)/Math.max(1,Et-Ft+Tt*2),qt&&(wt=Math.floor(wt)),Ye+=(nt-Ye-wt*(Et-Ft))*Ze,Mt=wt*(1-Ft),qt&&(Ye=Math.round(Ye),Mt=Math.round(Mt));var O=e.range(Et).map(function(Z){return Ye+wt*Z});return qe(Pt?O.reverse():O)}return ne.domain=function(Et){return arguments.length?(Se(Et),ht()):Se()},ne.range=function(Et){return arguments.length?([Be,ct]=Et,Be=+Be,ct=+ct,ht()):[Be,ct]},ne.rangeRound=function(Et){return[Be,ct]=Et,Be=+Be,ct=+ct,qt=!0,ht()},ne.bandwidth=function(){return Mt},ne.step=function(){return wt},ne.round=function(Et){return arguments.length?(qt=!!Et,ht()):qt},ne.padding=function(Et){return arguments.length?(Ft=Math.min(1,Tt=+Et),ht()):Ft},ne.paddingInner=function(Et){return arguments.length?(Ft=Math.min(1,Et),ht()):Ft},ne.paddingOuter=function(Et){return arguments.length?(Tt=+Et,ht()):Tt},ne.align=function(Et){return arguments.length?(Ze=Math.max(0,Math.min(1,Et)),ht()):Ze},ne.copy=function(){return ie(Se(),[Be,ct]).round(qt).paddingInner(Ft).paddingOuter(Tt).align(Ze)},L.apply(ht(),arguments)}function K(ne){var Se=ne.copy;return ne.padding=ne.paddingOuter,delete ne.paddingInner,delete ne.paddingOuter,ne.copy=function(){return K(Se())},ne}function de(){return K(ie.apply(null,arguments).paddingInner(1))}function ve(ne){return function(){return ne}}function De(ne){return+ne}var Ie=[0,1];function Qe(ne){return ne}function ee(ne,Se){return(Se-=ne=+ne)?function(qe){return(qe-ne)/Se}:ve(isNaN(Se)?NaN:.5)}function Te(ne,Se){var qe;return ne>Se&&(qe=ne,ne=Se,Se=qe),function(Be){return Math.max(ne,Math.min(Se,Be))}}function ze(ne,Se,qe){var Be=ne[0],ct=ne[1],wt=Se[0],Mt=Se[1];return ct<Be?(Be=ee(ct,Be),wt=qe(Mt,wt)):(Be=ee(Be,ct),wt=qe(wt,Mt)),function(qt){return wt(Be(qt))}}function Oe(ne,Se,qe){var Be=Math.min(ne.length,Se.length)-1,ct=new Array(Be),wt=new Array(Be),Mt=-1;for(ne[Be]<ne[0]&&(ne=ne.slice().reverse(),Se=Se.slice().reverse());++Mt<Be;)ct[Mt]=ee(ne[Mt],ne[Mt+1]),wt[Mt]=qe(Se[Mt],Se[Mt+1]);return function(qt){var Ft=e.bisect(ne,qt,1,Be)-1;return wt[Ft](ct[Ft](qt))}}function ut(ne,Se){return Se.domain(ne.domain()).range(ne.range()).interpolate(ne.interpolate()).clamp(ne.clamp()).unknown(ne.unknown())}function at(){var ne=Ie,Se=Ie,qe=r.interpolate,Be,ct,wt,Mt=Qe,qt,Ft,Tt;function Ze(){var Et=Math.min(ne.length,Se.length);return Mt!==Qe&&(Mt=Te(ne[0],ne[Et-1])),qt=Et>2?Oe:ze,Ft=Tt=null,ht}function ht(Et){return Et==null||isNaN(Et=+Et)?wt:(Ft||(Ft=qt(ne.map(Be),Se,qe)))(Be(Mt(Et)))}return ht.invert=function(Et){return Mt(ct((Tt||(Tt=qt(Se,ne.map(Be),r.interpolateNumber)))(Et)))},ht.domain=function(Et){return arguments.length?(ne=Array.from(Et,De),Ze()):ne.slice()},ht.range=function(Et){return arguments.length?(Se=Array.from(Et),Ze()):Se.slice()},ht.rangeRound=function(Et){return Se=Array.from(Et),qe=r.interpolateRound,Ze()},ht.clamp=function(Et){return arguments.length?(Mt=Et?!0:Qe,Ze()):Mt!==Qe},ht.interpolate=function(Et){return arguments.length?(qe=Et,Ze()):qe},ht.unknown=function(Et){return arguments.length?(wt=Et,ht):wt},function(Et,Pt){return Be=Et,ct=Pt,Ze()}}function j(){return at()(Qe,Qe)}function d(ne,Se,qe,Be){var ct=e.tickStep(ne,Se,qe),wt;switch(Be=a.formatSpecifier(Be==null?",f":Be),Be.type){case"s":{var Mt=Math.max(Math.abs(ne),Math.abs(Se));return Be.precision==null&&!isNaN(wt=a.precisionPrefix(ct,Mt))&&(Be.precision=wt),a.formatPrefix(Be,Mt)}case"":case"e":case"g":case"p":case"r":{Be.precision==null&&!isNaN(wt=a.precisionRound(ct,Math.max(Math.abs(ne),Math.abs(Se))))&&(Be.precision=wt-(Be.type==="e"));break}case"f":case"%":{Be.precision==null&&!isNaN(wt=a.precisionFixed(ct))&&(Be.precision=wt-(Be.type==="%")*2);break}}return a.format(Be)}function c(ne){var Se=ne.domain;return ne.ticks=function(qe){var Be=Se();return e.ticks(Be[0],Be[Be.length-1],qe==null?10:qe)},ne.tickFormat=function(qe,Be){var ct=Se();return d(ct[0],ct[ct.length-1],qe==null?10:qe,Be)},ne.nice=function(qe){qe==null&&(qe=10);var Be=Se(),ct=0,wt=Be.length-1,Mt=Be[ct],qt=Be[wt],Ft,Tt,Ze=10;for(qt<Mt&&(Tt=Mt,Mt=qt,qt=Tt,Tt=ct,ct=wt,wt=Tt);Ze-- >0;){if(Tt=e.tickIncrement(Mt,qt,qe),Tt===Ft)return Be[ct]=Mt,Be[wt]=qt,Se(Be);if(Tt>0)Mt=Math.floor(Mt/Tt)*Tt,qt=Math.ceil(qt/Tt)*Tt;else if(Tt<0)Mt=Math.ceil(Mt*Tt)/Tt,qt=Math.floor(qt*Tt)/Tt;else break;Ft=Tt}return ne},ne}function u(){var ne=j();return ne.copy=function(){return ut(ne,u())},L.apply(ne,arguments),c(ne)}function f(ne){var Se;function qe(Be){return Be==null||isNaN(Be=+Be)?Se:Be}return qe.invert=qe,qe.domain=qe.range=function(Be){return arguments.length?(ne=Array.from(Be,De),qe):ne.slice()},qe.unknown=function(Be){return arguments.length?(Se=Be,qe):Se},qe.copy=function(){return f(ne).unknown(Se)},ne=arguments.length?Array.from(ne,De):[0,1],c(qe)}function v(ne,Se){ne=ne.slice();var qe=0,Be=ne.length-1,ct=ne[qe],wt=ne[Be],Mt;return wt<ct&&(Mt=qe,qe=Be,Be=Mt,Mt=ct,ct=wt,wt=Mt),ne[qe]=Se.floor(ct),ne[Be]=Se.ceil(wt),ne}function I(ne){return Math.log(ne)}function q(ne){return Math.exp(ne)}function V(ne){return-Math.log(-ne)}function Q(ne){return-Math.exp(-ne)}function le(ne){return isFinite(ne)?+("1e"+ne):ne<0?0:ne}function ye(ne){return ne===10?le:ne===Math.E?Math.exp:function(Se){return Math.pow(ne,Se)}}function Ae(ne){return ne===Math.E?Math.log:ne===10&&Math.log10||ne===2&&Math.log2||(ne=Math.log(ne),function(Se){return Math.log(Se)/ne})}function je(ne){return function(Se){return-ne(-Se)}}function it(ne){var Se=ne(I,q),qe=Se.domain,Be=10,ct,wt;function Mt(){return ct=Ae(Be),wt=ye(Be),qe()[0]<0?(ct=je(ct),wt=je(wt),ne(V,Q)):ne(I,q),Se}return Se.base=function(qt){return arguments.length?(Be=+qt,Mt()):Be},Se.domain=function(qt){return arguments.length?(qe(qt),Mt()):qe()},Se.ticks=function(qt){var Ft=qe(),Tt=Ft[0],Ze=Ft[Ft.length-1],ht;(ht=Ze<Tt)&&(Et=Tt,Tt=Ze,Ze=Et);var Et=ct(Tt),Pt=ct(Ze),Ye,nt,O,Z=qt==null?10:+qt,g=[];if(!(Be%1)&&Pt-Et<Z){if(Et=Math.floor(Et),Pt=Math.ceil(Pt),Tt>0){for(;Et<=Pt;++Et)for(nt=1,Ye=wt(Et);nt<Be;++nt)if(O=Ye*nt,!(O<Tt)){if(O>Ze)break;g.push(O)}}else for(;Et<=Pt;++Et)for(nt=Be-1,Ye=wt(Et);nt>=1;--nt)if(O=Ye*nt,!(O<Tt)){if(O>Ze)break;g.push(O)}g.length*2<Z&&(g=e.ticks(Tt,Ze,Z))}else g=e.ticks(Et,Pt,Math.min(Pt-Et,Z)).map(wt);return ht?g.reverse():g},Se.tickFormat=function(qt,Ft){if(Ft==null&&(Ft=Be===10?".0e":","),typeof Ft!="function"&&(Ft=a.format(Ft)),qt===1/0)return Ft;qt==null&&(qt=10);var Tt=Math.max(1,Be*qt/Se.ticks().length);return function(Ze){var ht=Ze/wt(Math.round(ct(Ze)));return ht*Be<Be-.5&&(ht*=Be),ht<=Tt?Ft(Ze):""}},Se.nice=function(){return qe(v(qe(),{floor:function(qt){return wt(Math.floor(ct(qt)))},ceil:function(qt){return wt(Math.ceil(ct(qt)))}}))},Se}function yt(){var ne=it(at()).domain([1,10]);return ne.copy=function(){return ut(ne,yt()).base(ne.base())},L.apply(ne,arguments),ne}function me(ne){return function(Se){return Math.sign(Se)*Math.log1p(Math.abs(Se/ne))}}function Ue(ne){return function(Se){return Math.sign(Se)*Math.expm1(Math.abs(Se))*ne}}function Le(ne){var Se=1,qe=ne(me(Se),Ue(Se));return qe.constant=function(Be){return arguments.length?ne(me(Se=+Be),Ue(Se)):Se},c(qe)}function Ve(){var ne=Le(at());return ne.copy=function(){return ut(ne,Ve()).constant(ne.constant())},L.apply(ne,arguments)}function lt(ne){return function(Se){return Se<0?-Math.pow(-Se,ne):Math.pow(Se,ne)}}function Nt(ne){return ne<0?-Math.sqrt(-ne):Math.sqrt(ne)}function Ct(ne){return ne<0?-ne*ne:ne*ne}function Xe(ne){var Se=ne(Qe,Qe),qe=1;function Be(){return qe===1?ne(Qe,Qe):qe===.5?ne(Nt,Ct):ne(lt(qe),lt(1/qe))}return Se.exponent=function(ct){return arguments.length?(qe=+ct,Be()):qe},c(Se)}function he(){var ne=Xe(at());return ne.copy=function(){return ut(ne,he()).exponent(ne.exponent())},L.apply(ne,arguments),ne}function et(){return he.apply(null,arguments).exponent(.5)}function Lt(ne){return Math.sign(ne)*ne*ne}function H(ne){return Math.sign(ne)*Math.sqrt(Math.abs(ne))}function P(){var ne=j(),Se=[0,1],qe=!1,Be;function ct(wt){var Mt=H(ne(wt));return isNaN(Mt)?Be:qe?Math.round(Mt):Mt}return ct.invert=function(wt){return ne.invert(Lt(wt))},ct.domain=function(wt){return arguments.length?(ne.domain(wt),ct):ne.domain()},ct.range=function(wt){return arguments.length?(ne.range((Se=Array.from(wt,De)).map(Lt)),ct):Se.slice()},ct.rangeRound=function(wt){return ct.range(wt).round(!0)},ct.round=function(wt){return arguments.length?(qe=!!wt,ct):qe},ct.clamp=function(wt){return arguments.length?(ne.clamp(wt),ct):ne.clamp()},ct.unknown=function(wt){return arguments.length?(Be=wt,ct):Be},ct.copy=function(){return P(ne.domain(),Se).round(qe).clamp(ne.clamp()).unknown(Be)},L.apply(ct,arguments),c(ct)}function B(){var ne=[],Se=[],qe=[],Be;function ct(){var Mt=0,qt=Math.max(1,Se.length);for(qe=new Array(qt-1);++Mt<qt;)qe[Mt-1]=e.quantileSorted(ne,Mt/qt);return wt}function wt(Mt){return Mt==null||isNaN(Mt=+Mt)?Be:Se[e.bisect(qe,Mt)]}return wt.invertExtent=function(Mt){var qt=Se.indexOf(Mt);return qt<0?[NaN,NaN]:[qt>0?qe[qt-1]:ne[0],qt<qe.length?qe[qt]:ne[ne.length-1]]},wt.domain=function(Mt){if(!arguments.length)return ne.slice();ne=[];for(let qt of Mt)qt!=null&&!isNaN(qt=+qt)&&ne.push(qt);return ne.sort(e.ascending),ct()},wt.range=function(Mt){return arguments.length?(Se=Array.from(Mt),ct()):Se.slice()},wt.unknown=function(Mt){return arguments.length?(Be=Mt,wt):Be},wt.quantiles=function(){return qe.slice()},wt.copy=function(){return B().domain(ne).range(Se).unknown(Be)},L.apply(wt,arguments)}function fe(){var ne=0,Se=1,qe=1,Be=[.5],ct=[0,1],wt;function Mt(Ft){return Ft!=null&&Ft<=Ft?ct[e.bisect(Be,Ft,0,qe)]:wt}function qt(){var Ft=-1;for(Be=new Array(qe);++Ft<qe;)Be[Ft]=((Ft+1)*Se-(Ft-qe)*ne)/(qe+1);return Mt}return Mt.domain=function(Ft){return arguments.length?([ne,Se]=Ft,ne=+ne,Se=+Se,qt()):[ne,Se]},Mt.range=function(Ft){return arguments.length?(qe=(ct=Array.from(Ft)).length-1,qt()):ct.slice()},Mt.invertExtent=function(Ft){var Tt=ct.indexOf(Ft);return Tt<0?[NaN,NaN]:Tt<1?[ne,Be[0]]:Tt>=qe?[Be[qe-1],Se]:[Be[Tt-1],Be[Tt]]},Mt.unknown=function(Ft){return arguments.length&&(wt=Ft),Mt},Mt.thresholds=function(){return Be.slice()},Mt.copy=function(){return fe().domain([ne,Se]).range(ct).unknown(wt)},L.apply(c(Mt),arguments)}function pe(){var ne=[.5],Se=[0,1],qe,Be=1;function ct(wt){return wt!=null&&wt<=wt?Se[e.bisect(ne,wt,0,Be)]:qe}return ct.domain=function(wt){return arguments.length?(ne=Array.from(wt),Be=Math.min(ne.length,Se.length-1),ct):ne.slice()},ct.range=function(wt){return arguments.length?(Se=Array.from(wt),Be=Math.min(ne.length,Se.length-1),ct):Se.slice()},ct.invertExtent=function(wt){var Mt=Se.indexOf(wt);return[ne[Mt-1],ne[Mt]]},ct.unknown=function(wt){return arguments.length?(qe=wt,ct):qe},ct.copy=function(){return pe().domain(ne).range(Se).unknown(qe)},L.apply(ct,arguments)}function ue(ne){return new Date(ne)}function st(ne){return ne instanceof Date?+ne:+new Date(+ne)}function se(ne,Se,qe,Be,ct,wt,Mt,qt,Ft,Tt){var Ze=j(),ht=Ze.invert,Et=Ze.domain,Pt=Tt(".%L"),Ye=Tt(":%S"),nt=Tt("%I:%M"),O=Tt("%I %p"),Z=Tt("%a %d"),g=Tt("%b %d"),E=Tt("%B"),T=Tt("%Y");function s(x){return(Ft(x)<x?Pt:qt(x)<x?Ye:Mt(x)<x?nt:wt(x)<x?O:Be(x)<x?ct(x)<x?Z:g:qe(x)<x?E:T)(x)}return Ze.invert=function(x){return new Date(ht(x))},Ze.domain=function(x){return arguments.length?Et(Array.from(x,st)):Et().map(ue)},Ze.ticks=function(x){var C=Et();return ne(C[0],C[C.length-1],x==null?10:x)},Ze.tickFormat=function(x,C){return C==null?s:Tt(C)},Ze.nice=function(x){var C=Et();return(!x||typeof x.range!="function")&&(x=Se(C[0],C[C.length-1],x==null?10:x)),x?Et(v(C,x)):Ze},Ze.copy=function(){return ut(Ze,se(ne,Se,qe,Be,ct,wt,Mt,qt,Ft,Tt))},Ze}function te(){return L.apply(se(l.timeTicks,l.timeTickInterval,l.timeYear,l.timeMonth,l.timeWeek,l.timeDay,l.timeHour,l.timeMinute,l.timeSecond,h.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function D(){return L.apply(se(l.utcTicks,l.utcTickInterval,l.utcYear,l.utcMonth,l.utcWeek,l.utcDay,l.utcHour,l.utcMinute,l.utcSecond,h.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function re(){var ne=0,Se=1,qe,Be,ct,wt,Mt=Qe,qt=!1,Ft;function Tt(ht){return ht==null||isNaN(ht=+ht)?Ft:Mt(ct===0?.5:(ht=(wt(ht)-qe)*ct,qt?Math.max(0,Math.min(1,ht)):ht))}Tt.domain=function(ht){return arguments.length?([ne,Se]=ht,qe=wt(ne=+ne),Be=wt(Se=+Se),ct=qe===Be?0:1/(Be-qe),Tt):[ne,Se]},Tt.clamp=function(ht){return arguments.length?(qt=!!ht,Tt):qt},Tt.interpolator=function(ht){return arguments.length?(Mt=ht,Tt):Mt};function Ze(ht){return function(Et){var Pt,Ye;return arguments.length?([Pt,Ye]=Et,Mt=ht(Pt,Ye),Tt):[Mt(0),Mt(1)]}}return Tt.range=Ze(r.interpolate),Tt.rangeRound=Ze(r.interpolateRound),Tt.unknown=function(ht){return arguments.length?(Ft=ht,Tt):Ft},function(ht){return wt=ht,qe=ht(ne),Be=ht(Se),ct=qe===Be?0:1/(Be-qe),Tt}}function J(ne,Se){return Se.domain(ne.domain()).interpolator(ne.interpolator()).clamp(ne.clamp()).unknown(ne.unknown())}function Ee(){var ne=c(re()(Qe));return ne.copy=function(){return J(ne,Ee())},M.apply(ne,arguments)}function xe(){var ne=it(re()).domain([1,10]);return ne.copy=function(){return J(ne,xe()).base(ne.base())},M.apply(ne,arguments)}function Ce(){var ne=Le(re());return ne.copy=function(){return J(ne,Ce()).constant(ne.constant())},M.apply(ne,arguments)}function Ke(){var ne=Xe(re());return ne.copy=function(){return J(ne,Ke()).exponent(ne.exponent())},M.apply(ne,arguments)}function Ne(){return Ke.apply(null,arguments).exponent(.5)}function We(){var ne=[],Se=Qe;function qe(Be){if(Be!=null&&!isNaN(Be=+Be))return Se((e.bisect(ne,Be,1)-1)/(ne.length-1))}return qe.domain=function(Be){if(!arguments.length)return ne.slice();ne=[];for(let ct of Be)ct!=null&&!isNaN(ct=+ct)&&ne.push(ct);return ne.sort(e.ascending),qe},qe.interpolator=function(Be){return arguments.length?(Se=Be,qe):Se},qe.range=function(){return ne.map((Be,ct)=>Se(ct/(ne.length-1)))},qe.quantiles=function(Be){return Array.from({length:Be+1},(ct,wt)=>e.quantile(ne,wt/Be))},qe.copy=function(){return We(Se).domain(ne)},M.apply(qe,arguments)}function ae(){var ne=0,Se=.5,qe=1,Be=1,ct,wt,Mt,qt,Ft,Tt=Qe,Ze,ht=!1,Et;function Pt(nt){return isNaN(nt=+nt)?Et:(nt=.5+((nt=+Ze(nt))-wt)*(Be*nt<Be*wt?qt:Ft),Tt(ht?Math.max(0,Math.min(1,nt)):nt))}Pt.domain=function(nt){return arguments.length?([ne,Se,qe]=nt,ct=Ze(ne=+ne),wt=Ze(Se=+Se),Mt=Ze(qe=+qe),qt=ct===wt?0:.5/(wt-ct),Ft=wt===Mt?0:.5/(Mt-wt),Be=wt<ct?-1:1,Pt):[ne,Se,qe]},Pt.clamp=function(nt){return arguments.length?(ht=!!nt,Pt):ht},Pt.interpolator=function(nt){return arguments.length?(Tt=nt,Pt):Tt};function Ye(nt){return function(O){var Z,g,E;return arguments.length?([Z,g,E]=O,Tt=r.piecewise(nt,[Z,g,E]),Pt):[Tt(0),Tt(.5),Tt(1)]}}return Pt.range=Ye(r.interpolate),Pt.rangeRound=Ye(r.interpolateRound),Pt.unknown=function(nt){return arguments.length?(Et=nt,Pt):Et},function(nt){return Ze=nt,ct=nt(ne),wt=nt(Se),Mt=nt(qe),qt=ct===wt?0:.5/(wt-ct),Ft=wt===Mt?0:.5/(Mt-wt),Be=wt<ct?-1:1,Pt}}function Ge(){var ne=c(ae()(Qe));return ne.copy=function(){return J(ne,Ge())},M.apply(ne,arguments)}function He(){var ne=it(ae()).domain([.1,1,10]);return ne.copy=function(){return J(ne,He()).base(ne.base())},M.apply(ne,arguments)}function ge(){var ne=Le(ae());return ne.copy=function(){return J(ne,ge()).constant(ne.constant())},M.apply(ne,arguments)}function Je(){var ne=Xe(ae());return ne.copy=function(){return J(ne,Je()).exponent(ne.exponent())},M.apply(ne,arguments)}function gt(){return Je.apply(null,arguments).exponent(.5)}t.scaleBand=ie,t.scaleDiverging=Ge,t.scaleDivergingLog=He,t.scaleDivergingPow=Je,t.scaleDivergingSqrt=gt,t.scaleDivergingSymlog=ge,t.scaleIdentity=f,t.scaleImplicit=_,t.scaleLinear=u,t.scaleLog=yt,t.scaleOrdinal=R,t.scalePoint=de,t.scalePow=he,t.scaleQuantile=B,t.scaleQuantize=fe,t.scaleRadial=P,t.scaleSequential=Ee,t.scaleSequentialLog=xe,t.scaleSequentialPow=Ke,t.scaleSequentialQuantile=We,t.scaleSequentialSqrt=Ne,t.scaleSequentialSymlog=Ce,t.scaleSqrt=et,t.scaleSymlog=Ve,t.scaleThreshold=pe,t.scaleTime=te,t.scaleUtc=D,t.tickFormat=d,Object.defineProperty(t,"__esModule",{value:!0})})});var c9=an((qo,l9)=>{(function(t,e){typeof qo=="object"&&typeof l9!="undefined"?e(qo):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t.d3=t.d3||{}))})(qo,function(t){"use strict";var e=Array.prototype.slice;function r(Te){return Te}var a=1,l=2,h=3,L=4,M=1e-6;function _(Te){return"translate("+Te+",0)"}function R(Te){return"translate(0,"+Te+")"}function ie(Te){return ze=>+Te(ze)}function K(Te,ze){return ze=Math.max(0,Te.bandwidth()-ze*2)/2,Te.round()&&(ze=Math.round(ze)),Oe=>+Te(Oe)+ze}function de(){return!this.__axis}function ve(Te,ze){var Oe=[],ut=null,at=null,j=6,d=6,c=3,u=typeof window!="undefined"&&window.devicePixelRatio>1?0:.5,f=Te===a||Te===L?-1:1,v=Te===L||Te===l?"x":"y",I=Te===a||Te===h?_:R;function q(V){var Q=ut==null?ze.ticks?ze.ticks.apply(ze,Oe):ze.domain():ut,le=at==null?ze.tickFormat?ze.tickFormat.apply(ze,Oe):r:at,ye=Math.max(j,0)+c,Ae=ze.range(),je=+Ae[0]+u,it=+Ae[Ae.length-1]+u,yt=(ze.bandwidth?K:ie)(ze.copy(),u),me=V.selection?V.selection():V,Ue=me.selectAll(".domain").data([null]),Le=me.selectAll(".tick").data(Q,ze).order(),Ve=Le.exit(),lt=Le.enter().append("g").attr("class","tick"),Nt=Le.select("line"),Ct=Le.select("text");Ue=Ue.merge(Ue.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),Le=Le.merge(lt),Nt=Nt.merge(lt.append("line").attr("stroke","currentColor").attr(v+"2",f*j)),Ct=Ct.merge(lt.append("text").attr("fill","currentColor").attr(v,f*ye).attr("dy",Te===a?"0em":Te===h?"0.71em":"0.32em")),V!==me&&(Ue=Ue.transition(V),Le=Le.transition(V),Nt=Nt.transition(V),Ct=Ct.transition(V),Ve=Ve.transition(V).attr("opacity",M).attr("transform",function(Xe){return isFinite(Xe=yt(Xe))?I(Xe+u):this.getAttribute("transform")}),lt.attr("opacity",M).attr("transform",function(Xe){var he=this.parentNode.__axis;return I((he&&isFinite(he=he(Xe))?he:yt(Xe))+u)})),Ve.remove(),Ue.attr("d",Te===L||Te===l?d?"M"+f*d+","+je+"H"+u+"V"+it+"H"+f*d:"M"+u+","+je+"V"+it:d?"M"+je+","+f*d+"V"+u+"H"+it+"V"+f*d:"M"+je+","+u+"H"+it),Le.attr("opacity",1).attr("transform",function(Xe){return I(yt(Xe)+u)}),Nt.attr(v+"2",f*j),Ct.attr(v,f*ye).text(le),me.filter(de).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",Te===l?"start":Te===L?"end":"middle"),me.each(function(){this.__axis=yt})}return q.scale=function(V){return arguments.length?(ze=V,q):ze},q.ticks=function(){return Oe=e.call(arguments),q},q.tickArguments=function(V){return arguments.length?(Oe=V==null?[]:e.call(V),q):Oe.slice()},q.tickValues=function(V){return arguments.length?(ut=V==null?null:e.call(V),q):ut&&ut.slice()},q.tickFormat=function(V){return arguments.length?(at=V,q):at},q.tickSize=function(V){return arguments.length?(j=d=+V,q):j},q.tickSizeInner=function(V){return arguments.length?(j=+V,q):j},q.tickSizeOuter=function(V){return arguments.length?(d=+V,q):d},q.tickPadding=function(V){return arguments.length?(c=+V,q):c},q.offset=function(V){return arguments.length?(u=+V,q):u},q}function De(Te){return ve(a,Te)}function Ie(Te){return ve(l,Te)}function Qe(Te){return ve(h,Te)}function ee(Te){return ve(L,Te)}t.axisBottom=Qe,t.axisLeft=ee,t.axisRight=Ie,t.axisTop=De,Object.defineProperty(t,"__esModule",{value:!0})})});var Do=an((Uo,f9)=>{(function(t,e){typeof Uo=="object"&&typeof f9!="undefined"?e(Uo):typeof define=="function"&&define.amd?define(["exports"],e):(t=t||self,e(t.d3=t.d3||{}))})(Uo,function(t){"use strict";var e={value:()=>{}};function r(){for(var M=0,_=arguments.length,R={},ie;M<_;++M){if(!(ie=arguments[M]+"")||ie in R||/[\s.]/.test(ie))throw new Error("illegal type: "+ie);R[ie]=[]}return new a(R)}function a(M){this._=M}function l(M,_){return M.trim().split(/^|\s+/).map(function(R){var ie="",K=R.indexOf(".");if(K>=0&&(ie=R.slice(K+1),R=R.slice(0,K)),R&&!_.hasOwnProperty(R))throw new Error("unknown type: "+R);return{type:R,name:ie}})}a.prototype=r.prototype={constructor:a,on:function(M,_){var R=this._,ie=l(M+"",R),K,de=-1,ve=ie.length;if(arguments.length<2){for(;++de<ve;)if((K=(M=ie[de]).type)&&(K=h(R[K],M.name)))return K;return}if(_!=null&&typeof _!="function")throw new Error("invalid callback: "+_);for(;++de<ve;)if(K=(M=ie[de]).type)R[K]=L(R[K],M.name,_);else if(_==null)for(K in R)R[K]=L(R[K],M.name,null);return this},copy:function(){var M={},_=this._;for(var R in _)M[R]=_[R].slice();return new a(M)},call:function(M,_){if((K=arguments.length-2)>0)for(var R=new Array(K),ie=0,K,de;ie<K;++ie)R[ie]=arguments[ie+2];if(!this._.hasOwnProperty(M))throw new Error("unknown type: "+M);for(de=this._[M],ie=0,K=de.length;ie<K;++ie)de[ie].value.apply(_,R)},apply:function(M,_,R){if(!this._.hasOwnProperty(M))throw new Error("unknown type: "+M);for(var ie=this._[M],K=0,de=ie.length;K<de;++K)ie[K].value.apply(_,R)}};function h(M,_){for(var R=0,ie=M.length,K;R<ie;++R)if((K=M[R]).name===_)return K.value}function L(M,_,R){for(var ie=0,K=M.length;ie<K;++ie)if(M[ie].name===_){M[ie]=e,M=M.slice(0,ie).concat(M.slice(ie+1));break}return R!=null&&M.push({name:_,value:R}),M}t.dispatch=r,Object.defineProperty(t,"__esModule",{value:!0})})});var _i=an((Fo,p9)=>{(function(t,e){typeof Fo=="object"&&typeof p9!="undefined"?e(Fo):typeof define=="function"&&define.amd?define(["exports"],e):(t=t||self,e(t.d3=t.d3||{}))})(Fo,function(t){"use strict";var e="http://www.w3.org/1999/xhtml",r={svg:"http://www.w3.org/2000/svg",xhtml:e,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function a(oe){var $=oe+="",Ot=$.indexOf(":");return Ot>=0&&($=oe.slice(0,Ot))!=="xmlns"&&(oe=oe.slice(Ot+1)),r.hasOwnProperty($)?{space:r[$],local:oe}:oe}function l(oe){return function(){var $=this.ownerDocument,Ot=this.namespaceURI;return Ot===e&&$.documentElement.namespaceURI===e?$.createElement(oe):$.createElementNS(Ot,oe)}}function h(oe){return function(){return this.ownerDocument.createElementNS(oe.space,oe.local)}}function L(oe){var $=a(oe);return($.local?h:l)($)}function M(){}function _(oe){return oe==null?M:function(){return this.querySelector(oe)}}function R(oe){typeof oe!="function"&&(oe=_(oe));for(var $=this._groups,Ot=$.length,kt=new Array(Ot),xt=0;xt<Ot;++xt)for(var At=$[xt],Gt=At.length,Kt=kt[xt]=new Array(Gt),Jt,cn,nn=0;nn<Gt;++nn)(Jt=At[nn])&&(cn=oe.call(Jt,Jt.__data__,nn,At))&&("__data__"in Jt&&(cn.__data__=Jt.__data__),Kt[nn]=cn);return new _t(kt,this._parents)}function ie(oe){return typeof oe=="object"&&"length"in oe?oe:Array.from(oe)}function K(){return[]}function de(oe){return oe==null?K:function(){return this.querySelectorAll(oe)}}function ve(oe){return function(){var $=oe.apply(this,arguments);return $==null?[]:ie($)}}function De(oe){typeof oe=="function"?oe=ve(oe):oe=de(oe);for(var $=this._groups,Ot=$.length,kt=[],xt=[],At=0;At<Ot;++At)for(var Gt=$[At],Kt=Gt.length,Jt,cn=0;cn<Kt;++cn)(Jt=Gt[cn])&&(kt.push(oe.call(Jt,Jt.__data__,cn,Gt)),xt.push(Jt));return new _t(kt,xt)}function Ie(oe){return function(){return this.matches(oe)}}function Qe(oe){return function($){return $.matches(oe)}}var ee=Array.prototype.find;function Te(oe){return function(){return ee.call(this.children,oe)}}function ze(){return this.firstElementChild}function Oe(oe){return this.select(oe==null?ze:Te(typeof oe=="function"?oe:Qe(oe)))}var ut=Array.prototype.filter;function at(){return this.children}function j(oe){return function(){return ut.call(this.children,oe)}}function d(oe){return this.selectAll(oe==null?at:j(typeof oe=="function"?oe:Qe(oe)))}function c(oe){typeof oe!="function"&&(oe=Ie(oe));for(var $=this._groups,Ot=$.length,kt=new Array(Ot),xt=0;xt<Ot;++xt)for(var At=$[xt],Gt=At.length,Kt=kt[xt]=[],Jt,cn=0;cn<Gt;++cn)(Jt=At[cn])&&oe.call(Jt,Jt.__data__,cn,At)&&Kt.push(Jt);return new _t(kt,this._parents)}function u(oe){return new Array(oe.length)}function f(){return new _t(this._enter||this._groups.map(u),this._parents)}function v(oe,$){this.ownerDocument=oe.ownerDocument,this.namespaceURI=oe.namespaceURI,this._next=null,this._parent=oe,this.__data__=$}v.prototype={constructor:v,appendChild:function(oe){return this._parent.insertBefore(oe,this._next)},insertBefore:function(oe,$){return this._parent.insertBefore(oe,$)},querySelector:function(oe){return this._parent.querySelector(oe)},querySelectorAll:function(oe){return this._parent.querySelectorAll(oe)}};function I(oe){return function(){return oe}}function q(oe,$,Ot,kt,xt,At){for(var Gt=0,Kt,Jt=$.length,cn=At.length;Gt<cn;++Gt)(Kt=$[Gt])?(Kt.__data__=At[Gt],kt[Gt]=Kt):Ot[Gt]=new v(oe,At[Gt]);for(;Gt<Jt;++Gt)(Kt=$[Gt])&&(xt[Gt]=Kt)}function V(oe,$,Ot,kt,xt,At,Gt){var Kt,Jt,cn=new Map,nn=$.length,un=At.length,o=new Array(nn),y;for(Kt=0;Kt<nn;++Kt)(Jt=$[Kt])&&(o[Kt]=y=Gt.call(Jt,Jt.__data__,Kt,$)+"",cn.has(y)?xt[Kt]=Jt:cn.set(y,Jt));for(Kt=0;Kt<un;++Kt)y=Gt.call(oe,At[Kt],Kt,At)+"",(Jt=cn.get(y))?(kt[Kt]=Jt,Jt.__data__=At[Kt],cn.delete(y)):Ot[Kt]=new v(oe,At[Kt]);for(Kt=0;Kt<nn;++Kt)(Jt=$[Kt])&&cn.get(o[Kt])===Jt&&(xt[Kt]=Jt)}function Q(oe){return oe.__data__}function le(oe,$){if(!arguments.length)return Array.from(this,Q);var Ot=$?V:q,kt=this._parents,xt=this._groups;typeof oe!="function"&&(oe=I(oe));for(var At=xt.length,Gt=new Array(At),Kt=new Array(At),Jt=new Array(At),cn=0;cn<At;++cn){var nn=kt[cn],un=xt[cn],o=un.length,y=ie(oe.call(nn,nn&&nn.__data__,cn,kt)),F=y.length,X=Kt[cn]=new Array(F),w=Gt[cn]=new Array(F),b=Jt[cn]=new Array(o);Ot(nn,un,X,w,b,y,$);for(var z=0,_e=0,tt,be;z<F;++z)if(tt=X[z]){for(z>=_e&&(_e=z+1);!(be=w[_e])&&++_e<F;);tt._next=be||null}}return Gt=new _t(Gt,kt),Gt._enter=Kt,Gt._exit=Jt,Gt}function ye(){return new _t(this._exit||this._groups.map(u),this._parents)}function Ae(oe,$,Ot){var kt=this.enter(),xt=this,At=this.exit();return kt=typeof oe=="function"?oe(kt):kt.append(oe+""),$!=null&&(xt=$(xt)),Ot==null?At.remove():Ot(At),kt&&xt?kt.merge(xt).order():xt}function je(oe){if(!(oe instanceof _t))throw new Error("invalid merge");for(var $=this._groups,Ot=oe._groups,kt=$.length,xt=Ot.length,At=Math.min(kt,xt),Gt=new Array(kt),Kt=0;Kt<At;++Kt)for(var Jt=$[Kt],cn=Ot[Kt],nn=Jt.length,un=Gt[Kt]=new Array(nn),o,y=0;y<nn;++y)(o=Jt[y]||cn[y])&&(un[y]=o);for(;Kt<kt;++Kt)Gt[Kt]=$[Kt];return new _t(Gt,this._parents)}function it(){for(var oe=this._groups,$=-1,Ot=oe.length;++$<Ot;)for(var kt=oe[$],xt=kt.length-1,At=kt[xt],Gt;--xt>=0;)(Gt=kt[xt])&&(At&&Gt.compareDocumentPosition(At)^4&&At.parentNode.insertBefore(Gt,At),At=Gt);return this}function yt(oe){oe||(oe=me);function $(un,o){return un&&o?oe(un.__data__,o.__data__):!un-!o}for(var Ot=this._groups,kt=Ot.length,xt=new Array(kt),At=0;At<kt;++At){for(var Gt=Ot[At],Kt=Gt.length,Jt=xt[At]=new Array(Kt),cn,nn=0;nn<Kt;++nn)(cn=Gt[nn])&&(Jt[nn]=cn);Jt.sort($)}return new _t(xt,this._parents).order()}function me(oe,$){return oe<$?-1:oe>$?1:oe>=$?0:NaN}function Ue(){var oe=arguments[0];return arguments[0]=this,oe.apply(null,arguments),this}function Le(){return Array.from(this)}function Ve(){for(var oe=this._groups,$=0,Ot=oe.length;$<Ot;++$)for(var kt=oe[$],xt=0,At=kt.length;xt<At;++xt){var Gt=kt[xt];if(Gt)return Gt}return null}function lt(){let oe=0;for(let $ of this)++oe;return oe}function Nt(){return!this.node()}function Ct(oe){for(var $=this._groups,Ot=0,kt=$.length;Ot<kt;++Ot)for(var xt=$[Ot],At=0,Gt=xt.length,Kt;At<Gt;++At)(Kt=xt[At])&&oe.call(Kt,Kt.__data__,At,xt);return this}function Xe(oe){return function(){this.removeAttribute(oe)}}function he(oe){return function(){this.removeAttributeNS(oe.space,oe.local)}}function et(oe,$){return function(){this.setAttribute(oe,$)}}function Lt(oe,$){return function(){this.setAttributeNS(oe.space,oe.local,$)}}function H(oe,$){return function(){var Ot=$.apply(this,arguments);Ot==null?this.removeAttribute(oe):this.setAttribute(oe,Ot)}}function P(oe,$){return function(){var Ot=$.apply(this,arguments);Ot==null?this.removeAttributeNS(oe.space,oe.local):this.setAttributeNS(oe.space,oe.local,Ot)}}function B(oe,$){var Ot=a(oe);if(arguments.length<2){var kt=this.node();return Ot.local?kt.getAttributeNS(Ot.space,Ot.local):kt.getAttribute(Ot)}return this.each(($==null?Ot.local?he:Xe:typeof $=="function"?Ot.local?P:H:Ot.local?Lt:et)(Ot,$))}function fe(oe){return oe.ownerDocument&&oe.ownerDocument.defaultView||oe.document&&oe||oe.defaultView}function pe(oe){return function(){this.style.removeProperty(oe)}}function ue(oe,$,Ot){return function(){this.style.setProperty(oe,$,Ot)}}function st(oe,$,Ot){return function(){var kt=$.apply(this,arguments);kt==null?this.style.removeProperty(oe):this.style.setProperty(oe,kt,Ot)}}function se(oe,$,Ot){return arguments.length>1?this.each(($==null?pe:typeof $=="function"?st:ue)(oe,$,Ot==null?"":Ot)):te(this.node(),oe)}function te(oe,$){return oe.style.getPropertyValue($)||fe(oe).getComputedStyle(oe,null).getPropertyValue($)}function D(oe){return function(){delete this[oe]}}function re(oe,$){return function(){this[oe]=$}}function J(oe,$){return function(){var Ot=$.apply(this,arguments);Ot==null?delete this[oe]:this[oe]=Ot}}function Ee(oe,$){return arguments.length>1?this.each(($==null?D:typeof $=="function"?J:re)(oe,$)):this.node()[oe]}function xe(oe){return oe.trim().split(/^|\s+/)}function Ce(oe){return oe.classList||new Ke(oe)}function Ke(oe){this._node=oe,this._names=xe(oe.getAttribute("class")||"")}Ke.prototype={add:function(oe){var $=this._names.indexOf(oe);$<0&&(this._names.push(oe),this._node.setAttribute("class",this._names.join(" ")))},remove:function(oe){var $=this._names.indexOf(oe);$>=0&&(this._names.splice($,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(oe){return this._names.indexOf(oe)>=0}};function Ne(oe,$){for(var Ot=Ce(oe),kt=-1,xt=$.length;++kt<xt;)Ot.add($[kt])}function We(oe,$){for(var Ot=Ce(oe),kt=-1,xt=$.length;++kt<xt;)Ot.remove($[kt])}function ae(oe){return function(){Ne(this,oe)}}function Ge(oe){return function(){We(this,oe)}}function He(oe,$){return function(){($.apply(this,arguments)?Ne:We)(this,oe)}}function ge(oe,$){var Ot=xe(oe+"");if(arguments.length<2){for(var kt=Ce(this.node()),xt=-1,At=Ot.length;++xt<At;)if(!kt.contains(Ot[xt]))return!1;return!0}return this.each((typeof $=="function"?He:$?ae:Ge)(Ot,$))}function Je(){this.textContent=""}function gt(oe){return function(){this.textContent=oe}}function ne(oe){return function(){var $=oe.apply(this,arguments);this.textContent=$==null?"":$}}function Se(oe){return arguments.length?this.each(oe==null?Je:(typeof oe=="function"?ne:gt)(oe)):this.node().textContent}function qe(){this.innerHTML=""}function Be(oe){return function(){this.innerHTML=oe}}function ct(oe){return function(){var $=oe.apply(this,arguments);this.innerHTML=$==null?"":$}}function wt(oe){return arguments.length?this.each(oe==null?qe:(typeof oe=="function"?ct:Be)(oe)):this.node().innerHTML}function Mt(){this.nextSibling&&this.parentNode.appendChild(this)}function qt(){return this.each(Mt)}function Ft(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Tt(){return this.each(Ft)}function Ze(oe){var $=typeof oe=="function"?oe:L(oe);return this.select(function(){return this.appendChild($.apply(this,arguments))})}function ht(){return null}function Et(oe,$){var Ot=typeof oe=="function"?oe:L(oe),kt=$==null?ht:typeof $=="function"?$:_($);return this.select(function(){return this.insertBefore(Ot.apply(this,arguments),kt.apply(this,arguments)||null)})}function Pt(){var oe=this.parentNode;oe&&oe.removeChild(this)}function Ye(){return this.each(Pt)}function nt(){var oe=this.cloneNode(!1),$=this.parentNode;return $?$.insertBefore(oe,this.nextSibling):oe}function O(){var oe=this.cloneNode(!0),$=this.parentNode;return $?$.insertBefore(oe,this.nextSibling):oe}function Z(oe){return this.select(oe?O:nt)}function g(oe){return arguments.length?this.property("__data__",oe):this.node().__data__}function E(oe){return function($){oe.call(this,$,this.__data__)}}function T(oe){return oe.trim().split(/^|\s+/).map(function($){var Ot="",kt=$.indexOf(".");return kt>=0&&(Ot=$.slice(kt+1),$=$.slice(0,kt)),{type:$,name:Ot}})}function s(oe){return function(){var $=this.__on;if(!!$){for(var Ot=0,kt=-1,xt=$.length,At;Ot<xt;++Ot)At=$[Ot],(!oe.type||At.type===oe.type)&&At.name===oe.name?this.removeEventListener(At.type,At.listener,At.options):$[++kt]=At;++kt?$.length=kt:delete this.__on}}}function x(oe,$,Ot){return function(){var kt=this.__on,xt,At=E($);if(kt){for(var Gt=0,Kt=kt.length;Gt<Kt;++Gt)if((xt=kt[Gt]).type===oe.type&&xt.name===oe.name){this.removeEventListener(xt.type,xt.listener,xt.options),this.addEventListener(xt.type,xt.listener=At,xt.options=Ot),xt.value=$;return}}this.addEventListener(oe.type,At,Ot),xt={type:oe.type,name:oe.name,value:$,listener:At,options:Ot},kt?kt.push(xt):this.__on=[xt]}}function C(oe,$,Ot){var kt=T(oe+""),xt,At=kt.length,Gt;if(arguments.length<2){var Kt=this.node().__on;if(Kt){for(var Jt=0,cn=Kt.length,nn;Jt<cn;++Jt)for(xt=0,nn=Kt[Jt];xt<At;++xt)if((Gt=kt[xt]).type===nn.type&&Gt.name===nn.name)return nn.value}return}for(Kt=$?x:s,xt=0;xt<At;++xt)this.each(Kt(kt[xt],$,Ot));return this}function U(oe,$,Ot){var kt=fe(oe),xt=kt.CustomEvent;typeof xt=="function"?xt=new xt($,Ot):(xt=kt.document.createEvent("Event"),Ot?(xt.initEvent($,Ot.bubbles,Ot.cancelable),xt.detail=Ot.detail):xt.initEvent($,!1,!1)),oe.dispatchEvent(xt)}function G(oe,$){return function(){return U(this,oe,$)}}function Y(oe,$){return function(){return U(this,oe,$.apply(this,arguments))}}function ce(oe,$){return this.each((typeof $=="function"?Y:G)(oe,$))}function*Me(){for(var oe=this._groups,$=0,Ot=oe.length;$<Ot;++$)for(var kt=oe[$],xt=0,At=kt.length,Gt;xt<At;++xt)(Gt=kt[xt])&&(yield Gt)}var dt=[null];function _t(oe,$){this._groups=oe,this._parents=$}function $t(){return new _t([[document.documentElement]],dt)}function i(){return this}_t.prototype=$t.prototype={constructor:_t,select:R,selectAll:De,selectChild:Oe,selectChildren:d,filter:c,data:le,enter:f,exit:ye,join:Ae,merge:je,selection:i,order:it,sort:yt,call:Ue,nodes:Le,node:Ve,size:lt,empty:Nt,each:Ct,attr:B,style:se,property:Ee,classed:ge,text:Se,html:wt,raise:qt,lower:Tt,append:Ze,insert:Et,remove:Ye,clone:Z,datum:g,on:C,dispatch:ce,[Symbol.iterator]:Me};function S(oe){return typeof oe=="string"?new _t([[document.querySelector(oe)]],[document.documentElement]):new _t([[oe]],dt)}function A(oe){return S(L(oe).call(document.documentElement))}var W=0;function ke(){return new Fe}function Fe(){this._="@"+(++W).toString(36)}Fe.prototype=ke.prototype={constructor:Fe,get:function(oe){for(var $=this._;!($ in oe);)if(!(oe=oe.parentNode))return;return oe[$]},set:function(oe,$){return oe[this._]=$},remove:function(oe){return this._ in oe&&delete oe[this._]},toString:function(){return this._}};function ft(oe){let $;for(;$=oe.sourceEvent;)oe=$;return oe}function St(oe,$){if(oe=ft(oe),$===void 0&&($=oe.currentTarget),$){var Ot=$.ownerSVGElement||$;if(Ot.createSVGPoint){var kt=Ot.createSVGPoint();return kt.x=oe.clientX,kt.y=oe.clientY,kt=kt.matrixTransform($.getScreenCTM().inverse()),[kt.x,kt.y]}if($.getBoundingClientRect){var xt=$.getBoundingClientRect();return[oe.clientX-xt.left-$.clientLeft,oe.clientY-xt.top-$.clientTop]}}return[oe.pageX,oe.pageY]}function Vt(oe,$){return oe.target&&(oe=ft(oe),$===void 0&&($=oe.currentTarget),oe=oe.touches||[oe]),Array.from(oe,Ot=>St(Ot,$))}function zt(oe){return typeof oe=="string"?new _t([document.querySelectorAll(oe)],[document.documentElement]):new _t([oe==null?[]:ie(oe)],dt)}t.create=A,t.creator=L,t.local=ke,t.matcher=Ie,t.namespace=a,t.namespaces=r,t.pointer=St,t.pointers=Vt,t.select=S,t.selectAll=zt,t.selection=$t,t.selector=_,t.selectorAll=de,t.style=te,t.window=fe,Object.defineProperty(t,"__esModule",{value:!0})})});var d9=an((Ho,h9)=>{(function(t,e){typeof Ho=="object"&&typeof h9!="undefined"?e(Ho,Do(),_i()):typeof define=="function"&&define.amd?define(["exports","d3-dispatch","d3-selection"],e):(t=t||self,e(t.d3=t.d3||{},t.d3,t.d3))})(Ho,function(t,e,r){"use strict";function a(De){De.stopImmediatePropagation()}function l(De){De.preventDefault(),De.stopImmediatePropagation()}function h(De){var Ie=De.document.documentElement,Qe=r.select(De).on("dragstart.drag",l,!0);"onselectstart"in Ie?Qe.on("selectstart.drag",l,!0):(Ie.__noselect=Ie.style.MozUserSelect,Ie.style.MozUserSelect="none")}function L(De,Ie){var Qe=De.document.documentElement,ee=r.select(De).on("dragstart.drag",null);Ie&&(ee.on("click.drag",l,!0),setTimeout(function(){ee.on("click.drag",null)},0)),"onselectstart"in Qe?ee.on("selectstart.drag",null):(Qe.style.MozUserSelect=Qe.__noselect,delete Qe.__noselect)}var M=De=>()=>De;function _(De,{sourceEvent:Ie,subject:Qe,target:ee,identifier:Te,active:ze,x:Oe,y:ut,dx:at,dy:j,dispatch:d}){Object.defineProperties(this,{type:{value:De,enumerable:!0,configurable:!0},sourceEvent:{value:Ie,enumerable:!0,configurable:!0},subject:{value:Qe,enumerable:!0,configurable:!0},target:{value:ee,enumerable:!0,configurable:!0},identifier:{value:Te,enumerable:!0,configurable:!0},active:{value:ze,enumerable:!0,configurable:!0},x:{value:Oe,enumerable:!0,configurable:!0},y:{value:ut,enumerable:!0,configurable:!0},dx:{value:at,enumerable:!0,configurable:!0},dy:{value:j,enumerable:!0,configurable:!0},_:{value:d}})}_.prototype.on=function(){var De=this._.on.apply(this._,arguments);return De===this._?this:De};function R(De){return!De.ctrlKey&&!De.button}function ie(){return this.parentNode}function K(De,Ie){return Ie==null?{x:De.x,y:De.y}:Ie}function de(){return navigator.maxTouchPoints||"ontouchstart"in this}function ve(){var De=R,Ie=ie,Qe=K,ee=de,Te={},ze=e.dispatch("start","drag","end"),Oe=0,ut,at,j,d,c=0;function u(ye){ye.on("mousedown.drag",f).filter(ee).on("touchstart.drag",q).on("touchmove.drag",V).on("touchend.drag touchcancel.drag",Q).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(ye,Ae){if(!(d||!De.call(this,ye,Ae))){var je=le(this,Ie.call(this,ye,Ae),ye,Ae,"mouse");!je||(r.select(ye.view).on("mousemove.drag",v,!0).on("mouseup.drag",I,!0),h(ye.view),a(ye),j=!1,ut=ye.clientX,at=ye.clientY,je("start",ye))}}function v(ye){if(l(ye),!j){var Ae=ye.clientX-ut,je=ye.clientY-at;j=Ae*Ae+je*je>c}Te.mouse("drag",ye)}function I(ye){r.select(ye.view).on("mousemove.drag mouseup.drag",null),L(ye.view,j),l(ye),Te.mouse("end",ye)}function q(ye,Ae){if(!!De.call(this,ye,Ae)){var je=ye.changedTouches,it=Ie.call(this,ye,Ae),yt=je.length,me,Ue;for(me=0;me<yt;++me)(Ue=le(this,it,ye,Ae,je[me].identifier,je[me]))&&(a(ye),Ue("start",ye,je[me]))}}function V(ye){var Ae=ye.changedTouches,je=Ae.length,it,yt;for(it=0;it<je;++it)(yt=Te[Ae[it].identifier])&&(l(ye),yt("drag",ye,Ae[it]))}function Q(ye){var Ae=ye.changedTouches,je=Ae.length,it,yt;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),it=0;it<je;++it)(yt=Te[Ae[it].identifier])&&(a(ye),yt("end",ye,Ae[it]))}function le(ye,Ae,je,it,yt,me){var Ue=ze.copy(),Le=r.pointer(me||je,Ae),Ve,lt,Nt;if((Nt=Qe.call(ye,new _("beforestart",{sourceEvent:je,target:u,identifier:yt,active:Oe,x:Le[0],y:Le[1],dx:0,dy:0,dispatch:Ue}),it))!=null)return Ve=Nt.x-Le[0]||0,lt=Nt.y-Le[1]||0,function Ct(Xe,he,et){var Lt=Le,H;switch(Xe){case"start":Te[yt]=Ct,H=Oe++;break;case"end":delete Te[yt],--Oe;case"drag":Le=r.pointer(et||he,Ae),H=Oe;break}Ue.call(Xe,ye,new _(Xe,{sourceEvent:he,subject:Nt,target:u,identifier:yt,active:H,x:Le[0]+Ve,y:Le[1]+lt,dx:Le[0]-Lt[0],dy:Le[1]-Lt[1],dispatch:Ue}),it)}}return u.filter=function(ye){return arguments.length?(De=typeof ye=="function"?ye:M(!!ye),u):De},u.container=function(ye){return arguments.length?(Ie=typeof ye=="function"?ye:M(ye),u):Ie},u.subject=function(ye){return arguments.length?(Qe=typeof ye=="function"?ye:M(ye),u):Qe},u.touchable=function(ye){return arguments.length?(ee=typeof ye=="function"?ye:M(!!ye),u):ee},u.on=function(){var ye=ze.on.apply(ze,arguments);return ye===ze?u:ye},u.clickDistance=function(ye){return arguments.length?(c=(ye=+ye)*ye,u):Math.sqrt(c)},u}t.drag=ve,t.dragDisable=h,t.dragEnable=L,Object.defineProperty(t,"__esModule",{value:!0})})});var g9=an((Bo,m9)=>{(function(t,e){typeof Bo=="object"&&typeof m9!="undefined"?e(Bo):typeof define=="function"&&define.amd?define(["exports"],e):(t=t||self,e(t.d3=t.d3||{}))})(Bo,function(t){"use strict";var e=0,r=0,a=0,l=1e3,h,L,M=0,_=0,R=0,ie=typeof performance=="object"&&performance.now?performance:Date,K=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(j){setTimeout(j,17)};function de(){return _||(K(ve),_=ie.now()+R)}function ve(){_=0}function De(){this._call=this._time=this._next=null}De.prototype=Ie.prototype={constructor:De,restart:function(j,d,c){if(typeof j!="function")throw new TypeError("callback is not a function");c=(c==null?de():+c)+(d==null?0:+d),!this._next&&L!==this&&(L?L._next=this:h=this,L=this),this._call=j,this._time=c,Oe()},stop:function(){this._call&&(this._call=null,this._time=1/0,Oe())}};function Ie(j,d,c){var u=new De;return u.restart(j,d,c),u}function Qe(){de(),++e;for(var j=h,d;j;)(d=_-j._time)>=0&&j._call.call(null,d),j=j._next;--e}function ee(){_=(M=ie.now())+R,e=r=0;try{Qe()}finally{e=0,ze(),_=0}}function Te(){var j=ie.now(),d=j-M;d>l&&(R-=d,M=j)}function ze(){for(var j,d=h,c,u=1/0;d;)d._call?(u>d._time&&(u=d._time),j=d,d=d._next):(c=d._next,d._next=null,d=j?j._next=c:h=c);L=j,Oe(u)}function Oe(j){if(!e){r&&(r=clearTimeout(r));var d=j-_;d>24?(j<1/0&&(r=setTimeout(ee,j-ie.now()-R)),a&&(a=clearInterval(a))):(a||(M=ie.now(),a=setInterval(Te,l)),e=1,K(ee))}}function ut(j,d,c){var u=new De;return d=d==null?0:+d,u.restart(f=>{u.stop(),j(f+d)},d,c),u}function at(j,d,c){var u=new De,f=d;return d==null?(u.restart(j,d,c),u):(u._restart=u.restart,u.restart=function(v,I,q){I=+I,q=q==null?de():+q,u._restart(function V(Q){Q+=f,u._restart(V,f+=I,q),v(Q)},I,q)},u.restart(j,d,c),u)}t.interval=at,t.now=de,t.timeout=ut,t.timer=Ie,t.timerFlush=Qe,Object.defineProperty(t,"__esModule",{value:!0})})});var w9=an((zo,v9)=>{(function(t,e){typeof zo=="object"&&typeof v9!="undefined"?e(zo):typeof define=="function"&&define.amd?define(["exports"],e):(t=t||self,e(t.d3=t.d3||{}))})(zo,function(t){"use strict";let e=he=>+he;function r(he){return he*he}function a(he){return he*(2-he)}function l(he){return((he*=2)<=1?he*he:--he*(2-he)+1)/2}function h(he){return he*he*he}function L(he){return--he*he*he+1}function M(he){return((he*=2)<=1?he*he*he:(he-=2)*he*he+2)/2}var _=3,R=function he(et){et=+et;function Lt(H){return Math.pow(H,et)}return Lt.exponent=he,Lt}(_),ie=function he(et){et=+et;function Lt(H){return 1-Math.pow(1-H,et)}return Lt.exponent=he,Lt}(_),K=function he(et){et=+et;function Lt(H){return((H*=2)<=1?Math.pow(H,et):2-Math.pow(2-H,et))/2}return Lt.exponent=he,Lt}(_),de=Math.PI,ve=de/2;function De(he){return+he==1?1:1-Math.cos(he*ve)}function Ie(he){return Math.sin(he*ve)}function Qe(he){return(1-Math.cos(de*he))/2}function ee(he){return(Math.pow(2,-10*he)-.0009765625)*1.0009775171065494}function Te(he){return ee(1-+he)}function ze(he){return 1-ee(he)}function Oe(he){return((he*=2)<=1?ee(1-he):2-ee(he-1))/2}function ut(he){return 1-Math.sqrt(1-he*he)}function at(he){return Math.sqrt(1- --he*he)}function j(he){return((he*=2)<=1?1-Math.sqrt(1-he*he):Math.sqrt(1-(he-=2)*he)+1)/2}var d=4/11,c=6/11,u=8/11,f=3/4,v=9/11,I=10/11,q=15/16,V=21/22,Q=63/64,le=1/d/d;function ye(he){return 1-Ae(1-he)}function Ae(he){return(he=+he)<d?le*he*he:he<u?le*(he-=c)*he+f:he<I?le*(he-=v)*he+q:le*(he-=V)*he+Q}function je(he){return((he*=2)<=1?1-Ae(1-he):Ae(he-1)+1)/2}var it=1.70158,yt=function he(et){et=+et;function Lt(H){return(H=+H)*H*(et*(H-1)+H)}return Lt.overshoot=he,Lt}(it),me=function he(et){et=+et;function Lt(H){return--H*H*((H+1)*et+H)+1}return Lt.overshoot=he,Lt}(it),Ue=function he(et){et=+et;function Lt(H){return((H*=2)<1?H*H*((et+1)*H-et):(H-=2)*H*((et+1)*H+et)+2)/2}return Lt.overshoot=he,Lt}(it),Le=2*Math.PI,Ve=1,lt=.3,Nt=function he(et,Lt){var H=Math.asin(1/(et=Math.max(1,et)))*(Lt/=Le);function P(B){return et*ee(- --B)*Math.sin((H-B)/Lt)}return P.amplitude=function(B){return he(B,Lt*Le)},P.period=function(B){return he(et,B)},P}(Ve,lt),Ct=function he(et,Lt){var H=Math.asin(1/(et=Math.max(1,et)))*(Lt/=Le);function P(B){return 1-et*ee(B=+B)*Math.sin((B+H)/Lt)}return P.amplitude=function(B){return he(B,Lt*Le)},P.period=function(B){return he(et,B)},P}(Ve,lt),Xe=function he(et,Lt){var H=Math.asin(1/(et=Math.max(1,et)))*(Lt/=Le);function P(B){return((B=B*2-1)<0?et*ee(-B)*Math.sin((H-B)/Lt):2-et*ee(B)*Math.sin((H+B)/Lt))/2}return P.amplitude=function(B){return he(B,Lt*Le)},P.period=function(B){return he(et,B)},P}(Ve,lt);t.easeBack=Ue,t.easeBackIn=yt,t.easeBackInOut=Ue,t.easeBackOut=me,t.easeBounce=Ae,t.easeBounceIn=ye,t.easeBounceInOut=je,t.easeBounceOut=Ae,t.easeCircle=j,t.easeCircleIn=ut,t.easeCircleInOut=j,t.easeCircleOut=at,t.easeCubic=M,t.easeCubicIn=h,t.easeCubicInOut=M,t.easeCubicOut=L,t.easeElastic=Ct,t.easeElasticIn=Nt,t.easeElasticInOut=Xe,t.easeElasticOut=Ct,t.easeExp=Oe,t.easeExpIn=Te,t.easeExpInOut=Oe,t.easeExpOut=ze,t.easeLinear=e,t.easePoly=K,t.easePolyIn=R,t.easePolyInOut=K,t.easePolyOut=ie,t.easeQuad=l,t.easeQuadIn=r,t.easeQuadInOut=l,t.easeQuadOut=a,t.easeSin=Qe,t.easeSinIn=De,t.easeSinInOut=Qe,t.easeSinOut=Ie,Object.defineProperty(t,"__esModule",{value:!0})})});var S9=an((Vo,y9)=>{(function(t,e){typeof Vo=="object"&&typeof y9!="undefined"?e(Vo,_i(),Do(),g9(),i3(),r3(),w9()):typeof define=="function"&&define.amd?define(["exports","d3-selection","d3-dispatch","d3-timer","d3-interpolate","d3-color","d3-ease"],e):(t=t||self,e(t.d3=t.d3||{},t.d3,t.d3,t.d3,t.d3,t.d3,t.d3))})(Vo,function(t,e,r,a,l,h,L){"use strict";var M=r.dispatch("start","end","cancel","interrupt"),_=[],R=0,ie=1,K=2,de=3,ve=4,De=5,Ie=6;function Qe(Ye,nt,O,Z,g,E){var T=Ye.__transition;if(!T)Ye.__transition={};else if(O in T)return;Oe(Ye,O,{name:nt,index:Z,group:g,on:M,tween:_,time:E.time,delay:E.delay,duration:E.duration,ease:E.ease,timer:null,state:R})}function ee(Ye,nt){var O=ze(Ye,nt);if(O.state>R)throw new Error("too late; already scheduled");return O}function Te(Ye,nt){var O=ze(Ye,nt);if(O.state>de)throw new Error("too late; already running");return O}function ze(Ye,nt){var O=Ye.__transition;if(!O||!(O=O[nt]))throw new Error("transition not found");return O}function Oe(Ye,nt,O){var Z=Ye.__transition,g;Z[nt]=O,O.timer=a.timer(E,0,O.time);function E(C){O.state=ie,O.timer.restart(T,O.delay,O.time),O.delay<=C&&T(C-O.delay)}function T(C){var U,G,Y,ce;if(O.state!==ie)return x();for(U in Z)if(ce=Z[U],ce.name===O.name){if(ce.state===de)return a.timeout(T);ce.state===ve?(ce.state=Ie,ce.timer.stop(),ce.on.call("interrupt",Ye,Ye.__data__,ce.index,ce.group),delete Z[U]):+U<nt&&(ce.state=Ie,ce.timer.stop(),ce.on.call("cancel",Ye,Ye.__data__,ce.index,ce.group),delete Z[U])}if(a.timeout(function(){O.state===de&&(O.state=ve,O.timer.restart(s,O.delay,O.time),s(C))}),O.state=K,O.on.call("start",Ye,Ye.__data__,O.index,O.group),O.state===K){for(O.state=de,g=new Array(Y=O.tween.length),U=0,G=-1;U<Y;++U)(ce=O.tween[U].value.call(Ye,Ye.__data__,O.index,O.group))&&(g[++G]=ce);g.length=G+1}}function s(C){for(var U=C<O.duration?O.ease.call(null,C/O.duration):(O.timer.restart(x),O.state=De,1),G=-1,Y=g.length;++G<Y;)g[G].call(Ye,U);O.state===De&&(O.on.call("end",Ye,Ye.__data__,O.index,O.group),x())}function x(){O.state=Ie,O.timer.stop(),delete Z[nt];for(var C in Z)return;delete Ye.__transition}}function ut(Ye,nt){var O=Ye.__transition,Z,g,E=!0,T;if(!!O){nt=nt==null?null:nt+"";for(T in O){if((Z=O[T]).name!==nt){E=!1;continue}g=Z.state>K&&Z.state<De,Z.state=Ie,Z.timer.stop(),Z.on.call(g?"interrupt":"cancel",Ye,Ye.__data__,Z.index,Z.group),delete O[T]}E&&delete Ye.__transition}}function at(Ye){return this.each(function(){ut(this,Ye)})}function j(Ye,nt){var O,Z;return function(){var g=Te(this,Ye),E=g.tween;if(E!==O){Z=O=E;for(var T=0,s=Z.length;T<s;++T)if(Z[T].name===nt){Z=Z.slice(),Z.splice(T,1);break}}g.tween=Z}}function d(Ye,nt,O){var Z,g;if(typeof O!="function")throw new Error;return function(){var E=Te(this,Ye),T=E.tween;if(T!==Z){g=(Z=T).slice();for(var s={name:nt,value:O},x=0,C=g.length;x<C;++x)if(g[x].name===nt){g[x]=s;break}x===C&&g.push(s)}E.tween=g}}function c(Ye,nt){var O=this._id;if(Ye+="",arguments.length<2){for(var Z=ze(this.node(),O).tween,g=0,E=Z.length,T;g<E;++g)if((T=Z[g]).name===Ye)return T.value;return null}return this.each((nt==null?j:d)(O,Ye,nt))}function u(Ye,nt,O){var Z=Ye._id;return Ye.each(function(){var g=Te(this,Z);(g.value||(g.value={}))[nt]=O.apply(this,arguments)}),function(g){return ze(g,Z).value[nt]}}function f(Ye,nt){var O;return(typeof nt=="number"?l.interpolateNumber:nt instanceof h.color?l.interpolateRgb:(O=h.color(nt))?(nt=O,l.interpolateRgb):l.interpolateString)(Ye,nt)}function v(Ye){return function(){this.removeAttribute(Ye)}}function I(Ye){return function(){this.removeAttributeNS(Ye.space,Ye.local)}}function q(Ye,nt,O){var Z,g=O+"",E;return function(){var T=this.getAttribute(Ye);return T===g?null:T===Z?E:E=nt(Z=T,O)}}function V(Ye,nt,O){var Z,g=O+"",E;return function(){var T=this.getAttributeNS(Ye.space,Ye.local);return T===g?null:T===Z?E:E=nt(Z=T,O)}}function Q(Ye,nt,O){var Z,g,E;return function(){var T,s=O(this),x;return s==null?void this.removeAttribute(Ye):(T=this.getAttribute(Ye),x=s+"",T===x?null:T===Z&&x===g?E:(g=x,E=nt(Z=T,s)))}}function le(Ye,nt,O){var Z,g,E;return function(){var T,s=O(this),x;return s==null?void this.removeAttributeNS(Ye.space,Ye.local):(T=this.getAttributeNS(Ye.space,Ye.local),x=s+"",T===x?null:T===Z&&x===g?E:(g=x,E=nt(Z=T,s)))}}function ye(Ye,nt){var O=e.namespace(Ye),Z=O==="transform"?l.interpolateTransformSvg:f;return this.attrTween(Ye,typeof nt=="function"?(O.local?le:Q)(O,Z,u(this,"attr."+Ye,nt)):nt==null?(O.local?I:v)(O):(O.local?V:q)(O,Z,nt))}function Ae(Ye,nt){return function(O){this.setAttribute(Ye,nt.call(this,O))}}function je(Ye,nt){return function(O){this.setAttributeNS(Ye.space,Ye.local,nt.call(this,O))}}function it(Ye,nt){var O,Z;function g(){var E=nt.apply(this,arguments);return E!==Z&&(O=(Z=E)&&je(Ye,E)),O}return g._value=nt,g}function yt(Ye,nt){var O,Z;function g(){var E=nt.apply(this,arguments);return E!==Z&&(O=(Z=E)&&Ae(Ye,E)),O}return g._value=nt,g}function me(Ye,nt){var O="attr."+Ye;if(arguments.length<2)return(O=this.tween(O))&&O._value;if(nt==null)return this.tween(O,null);if(typeof nt!="function")throw new Error;var Z=e.namespace(Ye);return this.tween(O,(Z.local?it:yt)(Z,nt))}function Ue(Ye,nt){return function(){ee(this,Ye).delay=+nt.apply(this,arguments)}}function Le(Ye,nt){return nt=+nt,function(){ee(this,Ye).delay=nt}}function Ve(Ye){var nt=this._id;return arguments.length?this.each((typeof Ye=="function"?Ue:Le)(nt,Ye)):ze(this.node(),nt).delay}function lt(Ye,nt){return function(){Te(this,Ye).duration=+nt.apply(this,arguments)}}function Nt(Ye,nt){return nt=+nt,function(){Te(this,Ye).duration=nt}}function Ct(Ye){var nt=this._id;return arguments.length?this.each((typeof Ye=="function"?lt:Nt)(nt,Ye)):ze(this.node(),nt).duration}function Xe(Ye,nt){if(typeof nt!="function")throw new Error;return function(){Te(this,Ye).ease=nt}}function he(Ye){var nt=this._id;return arguments.length?this.each(Xe(nt,Ye)):ze(this.node(),nt).ease}function et(Ye,nt){return function(){var O=nt.apply(this,arguments);if(typeof O!="function")throw new Error;Te(this,Ye).ease=O}}function Lt(Ye){if(typeof Ye!="function")throw new Error;return this.each(et(this._id,Ye))}function H(Ye){typeof Ye!="function"&&(Ye=e.matcher(Ye));for(var nt=this._groups,O=nt.length,Z=new Array(O),g=0;g<O;++g)for(var E=nt[g],T=E.length,s=Z[g]=[],x,C=0;C<T;++C)(x=E[C])&&Ye.call(x,x.__data__,C,E)&&s.push(x);return new wt(Z,this._parents,this._name,this._id)}function P(Ye){if(Ye._id!==this._id)throw new Error;for(var nt=this._groups,O=Ye._groups,Z=nt.length,g=O.length,E=Math.min(Z,g),T=new Array(Z),s=0;s<E;++s)for(var x=nt[s],C=O[s],U=x.length,G=T[s]=new Array(U),Y,ce=0;ce<U;++ce)(Y=x[ce]||C[ce])&&(G[ce]=Y);for(;s<Z;++s)T[s]=nt[s];return new wt(T,this._parents,this._name,this._id)}function B(Ye){return(Ye+"").trim().split(/^|\s+/).every(function(nt){var O=nt.indexOf(".");return O>=0&&(nt=nt.slice(0,O)),!nt||nt==="start"})}function fe(Ye,nt,O){var Z,g,E=B(nt)?ee:Te;return function(){var T=E(this,Ye),s=T.on;s!==Z&&(g=(Z=s).copy()).on(nt,O),T.on=g}}function pe(Ye,nt){var O=this._id;return arguments.length<2?ze(this.node(),O).on.on(Ye):this.each(fe(O,Ye,nt))}function ue(Ye){return function(){var nt=this.parentNode;for(var O in this.__transition)if(+O!==Ye)return;nt&&nt.removeChild(this)}}function st(){return this.on("end.remove",ue(this._id))}function se(Ye){var nt=this._name,O=this._id;typeof Ye!="function"&&(Ye=e.selector(Ye));for(var Z=this._groups,g=Z.length,E=new Array(g),T=0;T<g;++T)for(var s=Z[T],x=s.length,C=E[T]=new Array(x),U,G,Y=0;Y<x;++Y)(U=s[Y])&&(G=Ye.call(U,U.__data__,Y,s))&&("__data__"in U&&(G.__data__=U.__data__),C[Y]=G,Qe(C[Y],nt,O,Y,C,ze(U,O)));return new wt(E,this._parents,nt,O)}function te(Ye){var nt=this._name,O=this._id;typeof Ye!="function"&&(Ye=e.selectorAll(Ye));for(var Z=this._groups,g=Z.length,E=[],T=[],s=0;s<g;++s)for(var x=Z[s],C=x.length,U,G=0;G<C;++G)if(U=x[G]){for(var Y=Ye.call(U,U.__data__,G,x),ce,Me=ze(U,O),dt=0,_t=Y.length;dt<_t;++dt)(ce=Y[dt])&&Qe(ce,nt,O,dt,Y,Me);E.push(Y),T.push(U)}return new wt(E,T,nt,O)}var D=e.selection.prototype.constructor;function re(){return new D(this._groups,this._parents)}function J(Ye,nt){var O,Z,g;return function(){var E=e.style(this,Ye),T=(this.style.removeProperty(Ye),e.style(this,Ye));return E===T?null:E===O&&T===Z?g:g=nt(O=E,Z=T)}}function Ee(Ye){return function(){this.style.removeProperty(Ye)}}function xe(Ye,nt,O){var Z,g=O+"",E;return function(){var T=e.style(this,Ye);return T===g?null:T===Z?E:E=nt(Z=T,O)}}function Ce(Ye,nt,O){var Z,g,E;return function(){var T=e.style(this,Ye),s=O(this),x=s+"";return s==null&&(x=s=(this.style.removeProperty(Ye),e.style(this,Ye))),T===x?null:T===Z&&x===g?E:(g=x,E=nt(Z=T,s))}}function Ke(Ye,nt){var O,Z,g,E="style."+nt,T="end."+E,s;return function(){var x=Te(this,Ye),C=x.on,U=x.value[E]==null?s||(s=Ee(nt)):void 0;(C!==O||g!==U)&&(Z=(O=C).copy()).on(T,g=U),x.on=Z}}function Ne(Ye,nt,O){var Z=(Ye+="")=="transform"?l.interpolateTransformCss:f;return nt==null?this.styleTween(Ye,J(Ye,Z)).on("end.style."+Ye,Ee(Ye)):typeof nt=="function"?this.styleTween(Ye,Ce(Ye,Z,u(this,"style."+Ye,nt))).each(Ke(this._id,Ye)):this.styleTween(Ye,xe(Ye,Z,nt),O).on("end.style."+Ye,null)}function We(Ye,nt,O){return function(Z){this.style.setProperty(Ye,nt.call(this,Z),O)}}function ae(Ye,nt,O){var Z,g;function E(){var T=nt.apply(this,arguments);return T!==g&&(Z=(g=T)&&We(Ye,T,O)),Z}return E._value=nt,E}function Ge(Ye,nt,O){var Z="style."+(Ye+="");if(arguments.length<2)return(Z=this.tween(Z))&&Z._value;if(nt==null)return this.tween(Z,null);if(typeof nt!="function")throw new Error;return this.tween(Z,ae(Ye,nt,O==null?"":O))}function He(Ye){return function(){this.textContent=Ye}}function ge(Ye){return function(){var nt=Ye(this);this.textContent=nt==null?"":nt}}function Je(Ye){return this.tween("text",typeof Ye=="function"?ge(u(this,"text",Ye)):He(Ye==null?"":Ye+""))}function gt(Ye){return function(nt){this.textContent=Ye.call(this,nt)}}function ne(Ye){var nt,O;function Z(){var g=Ye.apply(this,arguments);return g!==O&&(nt=(O=g)&>(g)),nt}return Z._value=Ye,Z}function Se(Ye){var nt="text";if(arguments.length<1)return(nt=this.tween(nt))&&nt._value;if(Ye==null)return this.tween(nt,null);if(typeof Ye!="function")throw new Error;return this.tween(nt,ne(Ye))}function qe(){for(var Ye=this._name,nt=this._id,O=qt(),Z=this._groups,g=Z.length,E=0;E<g;++E)for(var T=Z[E],s=T.length,x,C=0;C<s;++C)if(x=T[C]){var U=ze(x,nt);Qe(x,Ye,O,C,T,{time:U.time+U.delay+U.duration,delay:0,duration:U.duration,ease:U.ease})}return new wt(Z,this._parents,Ye,O)}function Be(){var Ye,nt,O=this,Z=O._id,g=O.size();return new Promise(function(E,T){var s={value:T},x={value:function(){--g===0&&E()}};O.each(function(){var C=Te(this,Z),U=C.on;U!==Ye&&(nt=(Ye=U).copy(),nt._.cancel.push(s),nt._.interrupt.push(s),nt._.end.push(x)),C.on=nt}),g===0&&E()})}var ct=0;function wt(Ye,nt,O,Z){this._groups=Ye,this._parents=nt,this._name=O,this._id=Z}function Mt(Ye){return e.selection().transition(Ye)}function qt(){return++ct}var Ft=e.selection.prototype;wt.prototype=Mt.prototype={constructor:wt,select:se,selectAll:te,filter:H,merge:P,selection:re,transition:qe,call:Ft.call,nodes:Ft.nodes,node:Ft.node,size:Ft.size,empty:Ft.empty,each:Ft.each,on:pe,attr:ye,attrTween:me,style:Ne,styleTween:Ge,text:Je,textTween:Se,remove:st,tween:c,delay:Ve,duration:Ct,ease:he,easeVarying:Lt,end:Be,[Symbol.iterator]:Ft[Symbol.iterator]};var Tt={time:null,delay:0,duration:250,ease:L.easeCubicInOut};function Ze(Ye,nt){for(var O;!(O=Ye.__transition)||!(O=O[nt]);)if(!(Ye=Ye.parentNode))throw new Error(`transition ${nt} not found`);return O}function ht(Ye){var nt,O;Ye instanceof wt?(nt=Ye._id,Ye=Ye._name):(nt=qt(),(O=Tt).time=a.now(),Ye=Ye==null?null:Ye+"");for(var Z=this._groups,g=Z.length,E=0;E<g;++E)for(var T=Z[E],s=T.length,x,C=0;C<s;++C)(x=T[C])&&Qe(x,Ye,nt,C,T,O||Ze(x,nt));return new wt(Z,this._parents,Ye,nt)}e.selection.prototype.interrupt=at,e.selection.prototype.transition=ht;var Et=[null];function Pt(Ye,nt){var O=Ye.__transition,Z,g;if(O){nt=nt==null?null:nt+"";for(g in O)if((Z=O[g]).state>ie&&Z.name===nt)return new wt([[Ye]],Et,nt,+g)}return null}t.active=Pt,t.interrupt=ut,t.transition=Mt,Object.defineProperty(t,"__esModule",{value:!0})})});var M9=an((Go,_9)=>{(function(t,e){typeof Go=="object"&&typeof _9!="undefined"?e(Go,Do(),d9(),i3(),_i(),S9()):typeof define=="function"&&define.amd?define(["exports","d3-dispatch","d3-drag","d3-interpolate","d3-selection","d3-transition"],e):(t=t||self,e(t.d3=t.d3||{},t.d3,t.d3,t.d3,t.d3,t.d3))})(Go,function(t,e,r,a,l,h){"use strict";var L=Oe=>()=>Oe;function M(Oe,{sourceEvent:ut,target:at,transform:j,dispatch:d}){Object.defineProperties(this,{type:{value:Oe,enumerable:!0,configurable:!0},sourceEvent:{value:ut,enumerable:!0,configurable:!0},target:{value:at,enumerable:!0,configurable:!0},transform:{value:j,enumerable:!0,configurable:!0},_:{value:d}})}function _(Oe,ut,at){this.k=Oe,this.x=ut,this.y=at}_.prototype={constructor:_,scale:function(Oe){return Oe===1?this:new _(this.k*Oe,this.x,this.y)},translate:function(Oe,ut){return Oe===0&ut===0?this:new _(this.k,this.x+this.k*Oe,this.y+this.k*ut)},apply:function(Oe){return[Oe[0]*this.k+this.x,Oe[1]*this.k+this.y]},applyX:function(Oe){return Oe*this.k+this.x},applyY:function(Oe){return Oe*this.k+this.y},invert:function(Oe){return[(Oe[0]-this.x)/this.k,(Oe[1]-this.y)/this.k]},invertX:function(Oe){return(Oe-this.x)/this.k},invertY:function(Oe){return(Oe-this.y)/this.k},rescaleX:function(Oe){return Oe.copy().domain(Oe.range().map(this.invertX,this).map(Oe.invert,Oe))},rescaleY:function(Oe){return Oe.copy().domain(Oe.range().map(this.invertY,this).map(Oe.invert,Oe))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var R=new _(1,0,0);ie.prototype=_.prototype;function ie(Oe){for(;!Oe.__zoom;)if(!(Oe=Oe.parentNode))return R;return Oe.__zoom}function K(Oe){Oe.stopImmediatePropagation()}function de(Oe){Oe.preventDefault(),Oe.stopImmediatePropagation()}function ve(Oe){return(!Oe.ctrlKey||Oe.type==="wheel")&&!Oe.button}function De(){var Oe=this;return Oe instanceof SVGElement?(Oe=Oe.ownerSVGElement||Oe,Oe.hasAttribute("viewBox")?(Oe=Oe.viewBox.baseVal,[[Oe.x,Oe.y],[Oe.x+Oe.width,Oe.y+Oe.height]]):[[0,0],[Oe.width.baseVal.value,Oe.height.baseVal.value]]):[[0,0],[Oe.clientWidth,Oe.clientHeight]]}function Ie(){return this.__zoom||R}function Qe(Oe){return-Oe.deltaY*(Oe.deltaMode===1?.05:Oe.deltaMode?1:.002)*(Oe.ctrlKey?10:1)}function ee(){return navigator.maxTouchPoints||"ontouchstart"in this}function Te(Oe,ut,at){var j=Oe.invertX(ut[0][0])-at[0][0],d=Oe.invertX(ut[1][0])-at[1][0],c=Oe.invertY(ut[0][1])-at[0][1],u=Oe.invertY(ut[1][1])-at[1][1];return Oe.translate(d>j?(j+d)/2:Math.min(0,j)||Math.max(0,d),u>c?(c+u)/2:Math.min(0,c)||Math.max(0,u))}function ze(){var Oe=ve,ut=De,at=Te,j=Qe,d=ee,c=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],f=250,v=a.interpolateZoom,I=e.dispatch("start","zoom","end"),q,V,Q,le=500,ye=150,Ae=0,je=10;function it(H){H.property("__zoom",Ie).on("wheel.zoom",Nt).on("mousedown.zoom",Ct).on("dblclick.zoom",Xe).filter(d).on("touchstart.zoom",he).on("touchmove.zoom",et).on("touchend.zoom touchcancel.zoom",Lt).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}it.transform=function(H,P,B,fe){var pe=H.selection?H.selection():H;pe.property("__zoom",Ie),H!==pe?Le(H,P,B,fe):pe.interrupt().each(function(){Ve(this,arguments).event(fe).start().zoom(null,typeof P=="function"?P.apply(this,arguments):P).end()})},it.scaleBy=function(H,P,B,fe){it.scaleTo(H,function(){var pe=this.__zoom.k,ue=typeof P=="function"?P.apply(this,arguments):P;return pe*ue},B,fe)},it.scaleTo=function(H,P,B,fe){it.transform(H,function(){var pe=ut.apply(this,arguments),ue=this.__zoom,st=B==null?Ue(pe):typeof B=="function"?B.apply(this,arguments):B,se=ue.invert(st),te=typeof P=="function"?P.apply(this,arguments):P;return at(me(yt(ue,te),st,se),pe,u)},B,fe)},it.translateBy=function(H,P,B,fe){it.transform(H,function(){return at(this.__zoom.translate(typeof P=="function"?P.apply(this,arguments):P,typeof B=="function"?B.apply(this,arguments):B),ut.apply(this,arguments),u)},null,fe)},it.translateTo=function(H,P,B,fe,pe){it.transform(H,function(){var ue=ut.apply(this,arguments),st=this.__zoom,se=fe==null?Ue(ue):typeof fe=="function"?fe.apply(this,arguments):fe;return at(R.translate(se[0],se[1]).scale(st.k).translate(typeof P=="function"?-P.apply(this,arguments):-P,typeof B=="function"?-B.apply(this,arguments):-B),ue,u)},fe,pe)};function yt(H,P){return P=Math.max(c[0],Math.min(c[1],P)),P===H.k?H:new _(P,H.x,H.y)}function me(H,P,B){var fe=P[0]-B[0]*H.k,pe=P[1]-B[1]*H.k;return fe===H.x&&pe===H.y?H:new _(H.k,fe,pe)}function Ue(H){return[(+H[0][0]+ +H[1][0])/2,(+H[0][1]+ +H[1][1])/2]}function Le(H,P,B,fe){H.on("start.zoom",function(){Ve(this,arguments).event(fe).start()}).on("interrupt.zoom end.zoom",function(){Ve(this,arguments).event(fe).end()}).tween("zoom",function(){var pe=this,ue=arguments,st=Ve(pe,ue).event(fe),se=ut.apply(pe,ue),te=B==null?Ue(se):typeof B=="function"?B.apply(pe,ue):B,D=Math.max(se[1][0]-se[0][0],se[1][1]-se[0][1]),re=pe.__zoom,J=typeof P=="function"?P.apply(pe,ue):P,Ee=v(re.invert(te).concat(D/re.k),J.invert(te).concat(D/J.k));return function(xe){if(xe===1)xe=J;else{var Ce=Ee(xe),Ke=D/Ce[2];xe=new _(Ke,te[0]-Ce[0]*Ke,te[1]-Ce[1]*Ke)}st.zoom(null,xe)}})}function Ve(H,P,B){return!B&&H.__zooming||new lt(H,P)}function lt(H,P){this.that=H,this.args=P,this.active=0,this.sourceEvent=null,this.extent=ut.apply(H,P),this.taps=0}lt.prototype={event:function(H){return H&&(this.sourceEvent=H),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(H,P){return this.mouse&&H!=="mouse"&&(this.mouse[1]=P.invert(this.mouse[0])),this.touch0&&H!=="touch"&&(this.touch0[1]=P.invert(this.touch0[0])),this.touch1&&H!=="touch"&&(this.touch1[1]=P.invert(this.touch1[0])),this.that.__zoom=P,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(H){var P=l.select(this.that).datum();I.call(H,this.that,new M(H,{sourceEvent:this.sourceEvent,target:it,type:H,transform:this.that.__zoom,dispatch:I}),P)}};function Nt(H,...P){if(!Oe.apply(this,arguments))return;var B=Ve(this,P).event(H),fe=this.__zoom,pe=Math.max(c[0],Math.min(c[1],fe.k*Math.pow(2,j.apply(this,arguments)))),ue=l.pointer(H);if(B.wheel)(B.mouse[0][0]!==ue[0]||B.mouse[0][1]!==ue[1])&&(B.mouse[1]=fe.invert(B.mouse[0]=ue)),clearTimeout(B.wheel);else{if(fe.k===pe)return;B.mouse=[ue,fe.invert(ue)],h.interrupt(this),B.start()}de(H),B.wheel=setTimeout(st,ye),B.zoom("mouse",at(me(yt(fe,pe),B.mouse[0],B.mouse[1]),B.extent,u));function st(){B.wheel=null,B.end()}}function Ct(H,...P){if(Q||!Oe.apply(this,arguments))return;var B=Ve(this,P,!0).event(H),fe=l.select(H.view).on("mousemove.zoom",te,!0).on("mouseup.zoom",D,!0),pe=l.pointer(H,ue),ue=H.currentTarget,st=H.clientX,se=H.clientY;r.dragDisable(H.view),K(H),B.mouse=[pe,this.__zoom.invert(pe)],h.interrupt(this),B.start();function te(re){if(de(re),!B.moved){var J=re.clientX-st,Ee=re.clientY-se;B.moved=J*J+Ee*Ee>Ae}B.event(re).zoom("mouse",at(me(B.that.__zoom,B.mouse[0]=l.pointer(re,ue),B.mouse[1]),B.extent,u))}function D(re){fe.on("mousemove.zoom mouseup.zoom",null),r.dragEnable(re.view,B.moved),de(re),B.event(re).end()}}function Xe(H,...P){if(!!Oe.apply(this,arguments)){var B=this.__zoom,fe=l.pointer(H.changedTouches?H.changedTouches[0]:H,this),pe=B.invert(fe),ue=B.k*(H.shiftKey?.5:2),st=at(me(yt(B,ue),fe,pe),ut.apply(this,P),u);de(H),f>0?l.select(this).transition().duration(f).call(Le,st,fe,H):l.select(this).call(it.transform,st,fe,H)}}function he(H,...P){if(!!Oe.apply(this,arguments)){var B=H.touches,fe=B.length,pe=Ve(this,P,H.changedTouches.length===fe).event(H),ue,st,se,te;for(K(H),st=0;st<fe;++st)se=B[st],te=l.pointer(se,this),te=[te,this.__zoom.invert(te),se.identifier],pe.touch0?!pe.touch1&&pe.touch0[2]!==te[2]&&(pe.touch1=te,pe.taps=0):(pe.touch0=te,ue=!0,pe.taps=1+!!q);q&&(q=clearTimeout(q)),ue&&(pe.taps<2&&(V=te[0],q=setTimeout(function(){q=null},le)),h.interrupt(this),pe.start())}}function et(H,...P){if(!!this.__zooming){var B=Ve(this,P).event(H),fe=H.changedTouches,pe=fe.length,ue,st,se,te;for(de(H),ue=0;ue<pe;++ue)st=fe[ue],se=l.pointer(st,this),B.touch0&&B.touch0[2]===st.identifier?B.touch0[0]=se:B.touch1&&B.touch1[2]===st.identifier&&(B.touch1[0]=se);if(st=B.that.__zoom,B.touch1){var D=B.touch0[0],re=B.touch0[1],J=B.touch1[0],Ee=B.touch1[1],xe=(xe=J[0]-D[0])*xe+(xe=J[1]-D[1])*xe,Ce=(Ce=Ee[0]-re[0])*Ce+(Ce=Ee[1]-re[1])*Ce;st=yt(st,Math.sqrt(xe/Ce)),se=[(D[0]+J[0])/2,(D[1]+J[1])/2],te=[(re[0]+Ee[0])/2,(re[1]+Ee[1])/2]}else if(B.touch0)se=B.touch0[0],te=B.touch0[1];else return;B.zoom("touch",at(me(st,se,te),B.extent,u))}}function Lt(H,...P){if(!!this.__zooming){var B=Ve(this,P).event(H),fe=H.changedTouches,pe=fe.length,ue,st;for(K(H),Q&&clearTimeout(Q),Q=setTimeout(function(){Q=null},le),ue=0;ue<pe;++ue)st=fe[ue],B.touch0&&B.touch0[2]===st.identifier?delete B.touch0:B.touch1&&B.touch1[2]===st.identifier&&delete B.touch1;if(B.touch1&&!B.touch0&&(B.touch0=B.touch1,delete B.touch1),B.touch0)B.touch0[1]=this.__zoom.invert(B.touch0[0]);else if(B.end(),B.taps===2&&(st=l.pointer(st,this),Math.hypot(V[0]-st[0],V[1]-st[1])<je)){var se=l.select(this).on("dblclick.zoom");se&&se.apply(this,arguments)}}}return it.wheelDelta=function(H){return arguments.length?(j=typeof H=="function"?H:L(+H),it):j},it.filter=function(H){return arguments.length?(Oe=typeof H=="function"?H:L(!!H),it):Oe},it.touchable=function(H){return arguments.length?(d=typeof H=="function"?H:L(!!H),it):d},it.extent=function(H){return arguments.length?(ut=typeof H=="function"?H:L([[+H[0][0],+H[0][1]],[+H[1][0],+H[1][1]]]),it):ut},it.scaleExtent=function(H){return arguments.length?(c[0]=+H[0],c[1]=+H[1],it):[c[0],c[1]]},it.translateExtent=function(H){return arguments.length?(u[0][0]=+H[0][0],u[1][0]=+H[1][0],u[0][1]=+H[0][1],u[1][1]=+H[1][1],it):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},it.constrain=function(H){return arguments.length?(at=H,it):at},it.duration=function(H){return arguments.length?(f=+H,it):f},it.interpolate=function(H){return arguments.length?(v=H,it):v},it.on=function(){var H=I.on.apply(I,arguments);return H===I?it:H},it.clickDistance=function(H){return arguments.length?(Ae=(H=+H)*H,it):Math.sqrt(Ae)},it.tapDistance=function(H){return arguments.length?(je=+H,it):je},it}t.zoom=ze,t.zoomIdentity=R,t.zoomTransform=ie,Object.defineProperty(t,"__esModule",{value:!0})})});var E9=an(i4=>{"use strict";Object.defineProperty(i4,"__esModule",{value:!0});var Bd=n3(),zd=_i();function Vd(t){let e=t.owner.meta.xScale,r=t.owner.meta.yScale,a=(0,Bd.line)().x(function(l){return l[0]}).y(function(l){return l[1]});return function(l){l.each(function(){let L=(0,zd.select)(this).selectAll("g.annotations").data(function(de){return de.annotations||[]}),M=L.enter().append("g").attr("class","annotations"),_=r.range(),R=e.range(),ie=L.merge(M).selectAll("path").data(function(de){return"x"in de?[[[0,_[0]],[0,_[1]]]]:[[[R[0],0],[R[1],0]]]});ie.enter().append("path").attr("stroke","#eee").attr("d",a),ie.exit().remove();let K=L.merge(M).selectAll("text").data(function(de){return[{text:de.text||"",hasX:"x"in de}]});K.enter().append("text").attr("y",function(de){return de.hasX?3:0}).attr("x",function(de){return de.hasX?0:3}).attr("dy",function(de){return de.hasX?5:-5}).attr("text-anchor",function(de){return de.hasX?"end":""}).attr("transform",function(de){return de.hasX?"rotate(-90)":""}).text(function(de){return de.text}),K.exit().remove(),L.merge(M).attr("transform",function(de){return"x"in de?"translate("+e(de.x)+", 0)":"translate(0, "+r(de.y)+")"}),L.exit().remove()})}}i4.default=Vd});var $o=an((zS,N9)=>{N9.exports=Gd;function Gd(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}});var o3=an(o4=>{"use strict";Object.defineProperty(o4,"__esModule",{value:!0});var $d=r3(),Xo={COLORS:["steelblue","red","#05b378","orange","#4040e8","yellow","brown","magenta","cyan"].map(function(t){return(0,$d.hsl)(t)}),DEFAULT_WIDTH:550,DEFAULT_HEIGHT:350,TIP_X_EPS:1,DEFAULT_ITERATIONS:1/0,MAX_ITERATIONS:0};Xo.DEFAULT_ITERATIONS=null;Xo.MAX_ITERATIONS=Xo.DEFAULT_WIDTH*10;o4.default=Xo});var M1=an(a3=>{"use strict";var Xd=a3&&a3.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(a3,"__esModule",{value:!0});var jd=Xd(o3()),Yd={linspace:function(t,e,r){let a=(e-t)/(r-1);return Array.from({length:r},(l,h)=>t+a*h)},logspace:function(t,e,r){return this.linspace(t,e,r).map(a=>Math.pow(10,a))},isValidNumber:function(t){return typeof t=="number"&&!isNaN(t)},space:function(t,e,r){let a=e[0],l=e[1];return t.options.xAxis.type==="log"?this.logspace(Math.log10(a),Math.log10(l),r):this.linspace(a,l,r)},getterSetter:function(t,e){let r=this;this[e]=function(a){return arguments.length?(t[e]=a,r):t[e]}},sgn:function(t){return t<0?-1:t>0?1:0},color:function(t,e){return t.color||jd.default.COLORS[e].hex()}};a3.default=Yd});var a4=an(($S,x9)=>{x9.exports={EOF:0,DELIMITER:1,NUMBER:2,STRING:3,SYMBOL:4}});var u4=an((XS,T9)=>{var E1=a4(),Wd={n:`
|
||
`,f:"\f",r:"\r",t:" ",v:"\v","'":"'",'"':'"'},Zd={",":!0,"(":!0,")":!0,"[":!0,"]":!0,";":!0,"~":!0,"!":!0,"+":!0,"-":!0,"*":!0,"/":!0,"%":!0,"^":!0,"**":!0,"|":!0,"&":!0,"^|":!0,"=":!0,":":!0,"?":!0,"||":!0,"&&":!0,xor:!0,"==":!0,"!=":!0,"===":!0,"!==":!0,"<":!0,">":!0,">=":!0,"<=":!0,">>>":!0,"<<":!0,">>":!0};function x0(t){return t>="0"&&t<="9"}function C9(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"}function Qd(t){return t===" "||t==="\r"||t===" "||t===`
|
||
`||t==="\v"||t==="\xA0"}function s4(t){return Zd[t]}function Jd(t){return t==="'"||t==='"'}function G0(){}G0.prototype.throwError=function(t,e){e=typeof e=="undefined"?this.index:e;var r=new Error(t+" at index "+e);throw r.index=e,r.description=t,r};G0.prototype.lex=function(t){for(this.text=t,this.index=0,this.tokens=[];this.index<this.text.length;){for(;Qd(this.peek());)this.consume();var e=this.peek(),r=e+this.peek(1),a=r+this.peek(2);s4(a)?(this.tokens.push({type:E1.DELIMITER,value:a}),this.consume(),this.consume(),this.consume()):s4(r)?(this.tokens.push({type:E1.DELIMITER,value:r}),this.consume(),this.consume()):s4(e)?(this.tokens.push({type:E1.DELIMITER,value:e}),this.consume()):x0(e)||e==="."&&x0(this.peek(1))?this.tokens.push({type:E1.NUMBER,value:this.readNumber()}):Jd(e)?this.tokens.push({type:E1.STRING,value:this.readString()}):C9(e)?this.tokens.push({type:E1.SYMBOL,value:this.readIdentifier()}):this.throwError("unexpected character "+e)}return this.tokens.push({type:E1.EOF}),this.tokens};G0.prototype.peek=function(t){if(t=t||0,!(this.index+t>=this.text.length))return this.text.charAt(this.index+t)};G0.prototype.consume=function(){var t=this.peek();return this.index+=1,t};G0.prototype.readNumber=function(){var t="";if(this.peek()===".")t+=this.consume(),x0(this.peek())||this.throwError("number expected");else{for(;x0(this.peek());)t+=this.consume();this.peek()==="."&&(t+=this.consume())}for(;x0(this.peek());)t+=this.consume();if(this.peek()==="e"||this.peek()==="E")for(t+=this.consume(),x0(this.peek())||this.peek()==="+"||this.peek()==="-"||this.throwError(),(this.peek()==="+"||this.peek()==="-")&&(t+=this.consume()),x0(this.peek())||this.throwError("number expected");x0(this.peek());)t+=this.consume();return t};G0.prototype.readIdentifier=function(){for(var t="";C9(this.peek())||x0(this.peek());)t+=this.consume();return t};G0.prototype.readString=function(){for(var t=this.consume(),e="",r;;){var a=this.consume();if(a||this.throwError("string is not closed"),r){if(a==="u"){var l=this.text.substring(this.index+1,this.index+5);l.match(/[\da-f]{4}/i)||this.throwError("invalid unicode escape"),this.index+=4,e+=String.fromCharCode(parseInt(l,16))}else{var h=Wd[a];h?e+=h:e+=a}r=!1}else{if(a===t)break;a==="\\"?r=!0:e+=a}}return e};T9.exports=G0});var Zi=an((jS,I9)=>{function A9(){}A9.prototype.type="Node";I9.exports=A9});var c4=an((YS,k9)=>{var Kd=Zi(),em={number:!0,string:!0,boolean:!0,undefined:!0,null:!0};function l4(t,e){if(!em[e])throw Error("unsupported type '"+e+"'");this.value=t,this.valueType=e}l4.prototype=Object.create(Kd.prototype);l4.prototype.type="ConstantNode";k9.exports=l4});var p4=an((WS,b9)=>{var tm=Zi();function f4(t,e){this.op=t,this.args=e||[]}f4.prototype=Object.create(tm.prototype);f4.prototype.type="OperatorNode";b9.exports=f4});var d4=an((ZS,L9)=>{var nm=Zi();function h4(t,e){this.op=t,this.argument=e}h4.prototype=Object.create(nm.prototype);h4.prototype.type="UnaryNode";L9.exports=h4});var g4=an((QS,O9)=>{var rm=Zi();function m4(t){this.name=t}m4.prototype=Object.create(rm.prototype);m4.prototype.type="SymbolNode";O9.exports=m4});var w4=an((JS,P9)=>{var im=Zi();function v4(t,e){this.name=t,this.args=e}v4.prototype=Object.create(im.prototype);v4.prototype.type="FunctionNode";P9.exports=v4});var S4=an((KS,R9)=>{var om=Zi();function y4(t){this.nodes=t}y4.prototype=Object.create(om.prototype);y4.prototype.type="ArrayNode";R9.exports=y4});var M4=an((e_,q9)=>{var am=Zi();function _4(t,e,r){this.condition=t,this.trueExpr=e,this.falseExpr=r}_4.prototype=Object.create(am.prototype);_4.prototype.type="ConditionalNode";q9.exports=_4});var N4=an((t_,U9)=>{var sm=Zi();function E4(t,e){this.name=t,this.expr=e}E4.prototype=Object.create(sm.prototype);E4.prototype.type="AssignmentNode";U9.exports=E4});var C4=an((n_,D9)=>{var um=Zi();function x4(t){this.blocks=t}x4.prototype=Object.create(um.prototype);x4.prototype.type="BlockNode";D9.exports=x4});var B9=an((r_,H9)=>{var N1=a4(),lm=u4(),T4=c4(),Mi=p4(),cm=d4(),F9=g4(),fm=w4(),pm=S4(),hm=M4(),dm=N4(),mm=C4();function Vn(){this.lexer=new lm,this.tokens=null}Vn.prototype.current=function(){return this.tokens[0]};Vn.prototype.next=function(){return this.tokens[1]};Vn.prototype.peek=function(){if(this.tokens.length){for(var t=this.tokens[0],e=0;e<arguments.length;e+=1)if(t.value===arguments[e])return!0}};Vn.prototype.consume=function(t){return this.tokens.shift()};Vn.prototype.expect=function(t){if(!this.peek(t))throw Error("expected "+t);return this.consume()};Vn.prototype.isEOF=function(){return this.current().type===N1.EOF};Vn.prototype.parse=function(t){return this.tokens=this.lexer.lex(t),this.program()};Vn.prototype.program=function(){for(var t=[];!this.isEOF();)t.push(this.assignment()),this.peek(";")&&this.consume();return this.end(),new mm(t)};Vn.prototype.assignment=function(){var t=this.ternary();return t instanceof F9&&this.peek("=")?(this.consume(),new dm(t.name,this.assignment())):t};Vn.prototype.ternary=function(){var t=this.logicalOR();if(this.peek("?")){this.consume();var e=this.ternary();this.expect(":");var r=this.ternary();return new hm(t,e,r)}return t};Vn.prototype.logicalOR=function(){var t=this.logicalXOR();if(this.peek("||")){var e=this.consume(),r=this.logicalOR();return new Mi(e.value,[t,r])}return t};Vn.prototype.logicalXOR=function(){var t=this.logicalAND();if(this.current().value==="xor"){var e=this.consume(),r=this.logicalXOR();return new Mi(e.value,[t,r])}return t};Vn.prototype.logicalAND=function(){var t=this.bitwiseOR();if(this.peek("&&")){var e=this.consume(),r=this.logicalAND();return new Mi(e.value,[t,r])}return t};Vn.prototype.bitwiseOR=function(){var t=this.bitwiseXOR();if(this.peek("|")){var e=this.consume(),r=this.bitwiseOR();return new Mi(e.value,[t,r])}return t};Vn.prototype.bitwiseXOR=function(){var t=this.bitwiseAND();if(this.peek("^|")){var e=this.consume(),r=this.bitwiseXOR();return new Mi(e.value,[t,r])}return t};Vn.prototype.bitwiseAND=function(){var t=this.relational();if(this.peek("&")){var e=this.consume(),r=this.bitwiseAND();return new Mi(e.value,[t,r])}return t};Vn.prototype.relational=function(){var t=this.shift();if(this.peek("==","===","!=","!==",">=","<=",">","<")){var e=this.consume(),r=this.shift();return new Mi(e.value,[t,r])}return t};Vn.prototype.shift=function(){var t=this.additive();if(this.peek(">>","<<",">>>")){var e=this.consume(),r=this.shift();return new Mi(e.value,[t,r])}return t};Vn.prototype.additive=function(){for(var t=this.multiplicative();this.peek("+","-");){var e=this.consume();t=new Mi(e.value,[t,this.multiplicative()])}return t};Vn.prototype.multiplicative=function(){for(var t,e,r=this.unary();this.peek("*","/","%");)t=this.consume(),r=new Mi(t.value,[r,this.unary()]);return this.current().type===N1.SYMBOL||this.peek("(")||!(r.type instanceof T4)&&this.current().type===N1.NUMBER?(e=this.multiplicative(),new Mi("*",[r,e])):r};Vn.prototype.unary=function(){if(this.peek("-","+","~")){var t=this.consume(),e=this.unary();return new cm(t.value,e)}return this.pow()};Vn.prototype.pow=function(){var t=this.factorial();if(this.peek("^","**")){var e=this.consume(),r=this.unary();return new Mi(e.value,[t,r])}return t};Vn.prototype.factorial=function(){var t=this.symbol();if(this.peek("!")){var e=this.consume();return new Mi(e.value,[t])}return t};Vn.prototype.symbol=function(){var t=this.current();if(t.type===N1.SYMBOL){var e=this.consume(),r=this.functionCall(e);return r}return this.string()};Vn.prototype.functionCall=function(t){var e=t.value;if(this.peek("(")){this.consume();for(var r=[];!this.peek(")")&&!this.isEOF();)r.push(this.assignment()),this.peek(",")&&this.consume();return this.expect(")"),new fm(e,r)}return new F9(e)};Vn.prototype.string=function(){return this.current().type===N1.STRING?new T4(this.consume().value,"string"):this.array()};Vn.prototype.array=function(){if(this.peek("[")){this.consume();for(var t=[];!this.peek("]")&&!this.isEOF();)t.push(this.assignment()),this.peek(",")&&this.consume();return this.expect("]"),new pm(t)}return this.number()};Vn.prototype.number=function(){var t=this.current();return t.type===N1.NUMBER?new T4(this.consume().value,"number"):this.parentheses()};Vn.prototype.parentheses=function(){var t=this.current();if(t.value==="("){this.consume();var e=this.assignment();return this.expect(")"),e}return this.end()};Vn.prototype.end=function(){var t=this.current();if(t.type!==N1.EOF)throw Error("unexpected end of expression")};H9.exports=Vn});var V9=an((i_,z9)=>{z9.exports={ArrayNode:S4(),AssignmentNode:N4(),BlockNode:C4(),ConditionalNode:M4(),ConstantNode:c4(),FunctionNode:w4(),Node:Zi(),OperatorNode:p4(),SymbolNode:g4(),UnaryNode:d4()}});var s3=an((o_,jo)=>{"use strict";jo.exports.Lexer=u4();jo.exports.Parser=B9();jo.exports.nodeTypes=V9()});var A4=an((a_,Q9)=>{"use strict";var Yo=Object.prototype.hasOwnProperty,Z9=Object.prototype.toString,G9=Object.defineProperty,$9=Object.getOwnPropertyDescriptor,X9=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Z9.call(e)==="[object Array]"},j9=function(e){if(!e||Z9.call(e)!=="[object Object]")return!1;var r=Yo.call(e,"constructor"),a=e.constructor&&e.constructor.prototype&&Yo.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!a)return!1;var l;for(l in e);return typeof l=="undefined"||Yo.call(e,l)},Y9=function(e,r){G9&&r.name==="__proto__"?G9(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},W9=function(e,r){if(r==="__proto__")if(Yo.call(e,r)){if($9)return $9(e,r).value}else return;return e[r]};Q9.exports=function t(){var e,r,a,l,h,L,M=arguments[0],_=1,R=arguments.length,ie=!1;for(typeof M=="boolean"&&(ie=M,M=arguments[1]||{},_=2),(M==null||typeof M!="object"&&typeof M!="function")&&(M={});_<R;++_)if(e=arguments[_],e!=null)for(r in e)a=W9(M,r),l=W9(e,r),M!==l&&(ie&&l&&(j9(l)||(h=X9(l)))?(h?(h=!1,L=a&&X9(a)?a:[]):L=a&&j9(a)?a:{},Y9(M,{name:r,newValue:t(ie,L,l)})):typeof l!="undefined"&&Y9(M,{name:r,newValue:l}));return M}});var K9=an((s_,J9)=>{"use strict";J9.exports=function(t){var e=this,r=[];this.rawify(this.options.rawArrayExpressionElements,function(){r=t.nodes.map(function(l){return e.next(l)})});var a="["+r.join(",")+"]";return this.options.raw?a:this.options.factory+"("+a+")"}});var ts=an((u_,es)=>{"use strict";es.exports=function(t){return'scope["'+t.name+'"] = '+this.next(t.expr)}});var rs=an((l_,ns)=>{"use strict";ns.exports=function(t){var e="!!("+this.next(t.condition)+")",r=this.next(t.trueExpr),a=this.next(t.falseExpr);return"("+e+" ? ("+r+") : ("+a+") )"}});var os=an((c_,is)=>{"use strict";is.exports=function(t){return this.options.raw?t.value:this.options.factory+"("+t.value+")"}});var ss=an((f_,I4)=>{"use strict";var gm=s3().nodeTypes.SymbolNode,as=function(t){return"$$mathCodegen.functionProxy("+this.next(new gm(t.name))+', "'+t.name+'")'};I4.exports=function(t){var e=this,r=as.call(this,t),a=[];return this.rawify(this.options.rawCallExpressionElements,function(){a=t.args.map(function(l){return e.next(l)})}),r+"("+a.join(", ")+")"};I4.exports.functionProxy=as});var ls=an((p_,us)=>{"use strict";us.exports={"+":"add","-":"sub","*":"mul","/":"div","^":"pow","%":"mod","!":"factorial","|":"bitwiseOR","^|":"bitwiseXOR","&":"bitwiseAND","||":"logicalOR",xor:"logicalXOR","&&":"logicalAND","<":"lessThan",">":"greaterThan","<=":"lessEqualThan",">=":"greaterEqualThan","===":"strictlyEqual","==":"equal","!==":"strictlyNotEqual","!=":"notEqual",">>":"shiftRight","<<":"shiftLeft",">>>":"unsignedRightShift"}});var fs=an((h_,cs)=>{"use strict";var vm=ls();cs.exports=function(t){if(this.options.raw)return["("+this.next(t.args[0]),t.op,this.next(t.args[1])+")"].join(" ");var e=vm[t.op];if(!e)throw TypeError("unidentified operator");return this.FunctionNode({name:e,args:t.args})}});var hs=an((d_,ps)=>{"use strict";ps.exports=function(t){var e=t.name;return'$$mathCodegen.getProperty("'+e+'", scope, ns)'}});var ms=an((m_,ds)=>{"use strict";ds.exports={"+":"positive","-":"negative","~":"oneComplement"}});var ws=an((g_,vs)=>{"use strict";var gs=ms();vs.exports=function(t){if(this.options.raw)return t.op+this.next(t.argument);if(!(t.op in gs))throw new SyntaxError(t.op+" not implemented");var e=gs[t.op];return this.FunctionNode({name:e,args:[t.argument]})}});var _s=an((v_,Ss)=>{"use strict";var ys=A4(),wm={ArrayNode:K9(),AssignmentNode:ts(),ConditionalNode:rs(),ConstantNode:os(),FunctionNode:ss(),OperatorNode:fs(),SymbolNode:hs(),UnaryNode:ws()},Wo=function(t,e){this.owner=t,this.options=ys({factory:"ns.factory",raw:!1,rawArrayExpressionElements:!0,rawCallExpressionElements:!1},e)};ys(Wo.prototype,wm);Wo.prototype.next=function(t){if(!(t.type in this))throw new TypeError("the node type "+t.type+" is not implemented");return this[t.type](t)};Wo.prototype.rawify=function(t,e){var r=this.options.raw;t&&(this.options.raw=!0),e(),t&&(this.options.raw=r)};Ss.exports=Wo});var Es=an((w_,Ms)=>{"use strict";var ym=s3().Parser,Sm=_s(),_m=A4();function Zo(t,e){this.statements=[],this.defs=e||{},this.interpreter=new Sm(this,t)}Zo.prototype.setDefs=function(t){return this.defs=_m(this.defs,t),this};Zo.prototype.compile=function(t){if(!t||!(typeof t=="object"||typeof t=="function"))throw TypeError("namespace must be an object");if(typeof t.factory!="function")throw TypeError("namespace.factory must be a function");this.defs.ns=t,this.defs.$$mathCodegen={getProperty:function(h,L,M){if(h in L)return L[h];if(h in M)return M[h];throw SyntaxError('symbol "'+h+'" is undefined')},functionProxy:function(h,L){if(typeof h!="function")throw SyntaxError('symbol "'+L+'" must be a function');return h}},this.defs.$$processScope=this.defs.$$processScope||function(){};var e=Object.keys(this.defs).map(function(h){return"var "+h+' = defs["'+h+'"]'});if(!this.statements.length)throw Error("there are no statements saved in this generator, make sure you parse an expression before compiling it");this.statements[this.statements.length-1]="return "+this.statements[this.statements.length-1];var r=this.statements.join(";"),a=e.join(`
|
||
`)+`
|
||
`+["return {"," eval: function (scope) {"," scope = scope || {}"," $$processScope(scope)"," "+r," },"," code: '"+r+"'","}"].join(`
|
||
`),l=new Function("defs",a);return l(this.defs)};Zo.prototype.parse=function(t){var e=this,r=new ym().parse(t);return this.statements=r.blocks.map(function(a){return e.interpreter.next(a)}),this};Ms.exports=Zo});var xs=an((y_,Ns)=>{"use strict";Ns.exports=Es()});var Ts=an((S_,Cs)=>{"use strict";Cs.exports=function(){var t=Object.create(Math);return t.factory=function(e){if(typeof e!="number")throw new TypeError("built-in math factory only accepts numbers");return Number(e)},t.add=function(e,r){return e+r},t.sub=function(e,r){return e-r},t.mul=function(e,r){return e*r},t.div=function(e,r){return e/r},t.mod=function(e,r){return e%r},t.factorial=function(e){for(var r=1,a=2;a<=e;a+=1)r*=a;return r},t.nthRoot=function(e,r){var a=r<0;if(a&&(r=-r),r===0)throw new Error("Root must be non-zero");if(e<0&&Math.abs(r)%2!==1)throw new Error("Root must be odd when a is negative.");if(e===0)return 0;if(!isFinite(e))return a?0:e;var l=Math.pow(Math.abs(e),1/r);return l=e<0?-l:l,a?1/l:l},t.logicalOR=function(e,r){return e||r},t.logicalXOR=function(e,r){return e!=r},t.logicalAND=function(e,r){return e&&r},t.bitwiseOR=function(e,r){return e|r},t.bitwiseXOR=function(e,r){return e^r},t.bitwiseAND=function(e,r){return e&r},t.lessThan=function(e,r){return e<r},t.lessEqualThan=function(e,r){return e<=r},t.greaterThan=function(e,r){return e>r},t.greaterEqualThan=function(e,r){return e>=r},t.equal=function(e,r){return e==r},t.strictlyEqual=function(e,r){return e===r},t.notEqual=function(e,r){return e!=r},t.strictlyNotEqual=function(e,r){return e!==r},t.shiftRight=function(e,r){return e>>r},t.shiftLeft=function(e,r){return e<<r},t.unsignedRightShift=function(e,r){return e>>>r},t.negative=function(e){return-e},t.positive=function(e){return e},t}});var As=an((__,b4)=>{"use strict";var Mm=xs(),k4=Ts()();function Em(t){Object.keys(t).forEach(function(e){var r=t[e];t[e]=k4.factory(r)})}b4.exports=function(t){return new Mm().setDefs({$$processScope:Em}).parse(t).compile(k4)};b4.exports.math=k4});var ks=an((M_,Is)=>{"use strict";Is.exports=As()});var O4=an((E_,Ps)=>{"use strict";var L4=Object.prototype.hasOwnProperty,Os=Object.prototype.toString,bs=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Os.call(e)==="[object Array]"},Ls=function(e){if(!e||Os.call(e)!=="[object Object]")return!1;var r=L4.call(e,"constructor"),a=e.constructor&&e.constructor.prototype&&L4.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!a)return!1;var l;for(l in e);return typeof l=="undefined"||L4.call(e,l)};Ps.exports=function t(){var e,r,a,l,h,L,M=arguments[0],_=1,R=arguments.length,ie=!1;for(typeof M=="boolean"?(ie=M,M=arguments[1]||{},_=2):(typeof M!="object"&&typeof M!="function"||M==null)&&(M={});_<R;++_)if(e=arguments[_],e!=null)for(r in e)a=M[r],l=e[r],M!==l&&(ie&&l&&(Ls(l)||(h=bs(l)))?(h?(h=!1,L=a&&bs(a)?a:[]):L=a&&Ls(a)?a:{},M[r]=t(ie,L,l)):typeof l!="undefined"&&(M[r]=l));return M}});var qs=an((N_,Rs)=>{"use strict";Rs.exports=function(t){var e=this,r=[];this.rawify(this.options.rawArrayExpressionElements,function(){r=t.nodes.map(function(l){return e.next(l)})});var a="["+r.join(",")+"]";return this.options.raw?a:this.options.factory+"("+a+")"}});var Ds=an((x_,Us)=>{"use strict";Us.exports=function(t){return'scope["'+t.name+'"] = '+this.next(t.expr)}});var Hs=an((C_,Fs)=>{"use strict";Fs.exports=function(t){var e="!!("+this.next(t.condition)+")",r=this.next(t.trueExpr),a=this.next(t.falseExpr);return"("+e+" ? ("+r+") : ("+a+") )"}});var zs=an((T_,Bs)=>{"use strict";Bs.exports=function(t){return this.options.raw?t.value:this.options.factory+"("+t.value+")"}});var Gs=an((A_,P4)=>{"use strict";var Nm=s3().nodeTypes.SymbolNode,Vs=function(t){return"$$mathCodegen.functionProxy("+this.next(new Nm(t.name))+', "'+t.name+'")'};P4.exports=function(t){var e=this,r=Vs.call(this,t),a=[];return this.rawify(this.options.rawCallExpressionElements,function(){a=t.args.map(function(l){return e.next(l)})}),r+"("+a.join(", ")+")"};P4.exports.functionProxy=Vs});var Xs=an((I_,$s)=>{"use strict";$s.exports={"+":"add","-":"sub","*":"mul","/":"div","^":"pow","%":"mod","!":"factorial","|":"bitwiseOR","^|":"bitwiseXOR","&":"bitwiseAND","||":"logicalOR",xor:"logicalXOR","&&":"logicalAND","<":"lessThan",">":"greaterThan","<=":"lessEqualThan",">=":"greaterEqualThan","===":"strictlyEqual","==":"equal","!==":"strictlyNotEqual","!=":"notEqual",">>":"shiftRight","<<":"shiftLeft",">>>":"unsignedRightShift"}});var Ys=an((k_,js)=>{"use strict";var xm=Xs();js.exports=function(t){if(this.options.raw)return["("+this.next(t.args[0]),t.op,this.next(t.args[1])+")"].join(" ");var e=xm[t.op];if(!e)throw TypeError("unidentified operator");return this.FunctionNode({name:e,args:t.args})}});var Zs=an((b_,Ws)=>{"use strict";Ws.exports=function(t){var e=t.name;return'$$mathCodegen.getProperty("'+e+'", scope, ns)'}});var Js=an((L_,Qs)=>{"use strict";Qs.exports={"+":"positive","-":"negative","~":"oneComplement"}});var tu=an((O_,eu)=>{"use strict";var Ks=Js();eu.exports=function(t){if(this.options.raw)return t.op+this.next(t.argument);if(!(t.op in Ks))throw new SyntaxError(t.op+" not implemented");var e=Ks[t.op];return this.FunctionNode({name:e,args:[t.argument]})}});var iu=an((P_,ru)=>{"use strict";var nu=O4(),Cm={ArrayNode:qs(),AssignmentNode:Ds(),ConditionalNode:Hs(),ConstantNode:zs(),FunctionNode:Gs(),OperatorNode:Ys(),SymbolNode:Zs(),UnaryNode:tu()},Qo=function(t,e){this.owner=t,this.options=nu({factory:"ns.factory",raw:!1,rawArrayExpressionElements:!0,rawCallExpressionElements:!1,applyFactoryToScope:!1},e)};nu(Qo.prototype,Cm);Qo.prototype.next=function(t){if(!(t.type in this))throw new TypeError("the node type "+t.type+" is not implemented");return this[t.type](t)};Qo.prototype.rawify=function(t,e){var r=this.options.raw;t&&(this.options.raw=!0),e(),t&&(this.options.raw=r)};ru.exports=Qo});var au=an((R_,ou)=>{"use strict";var Tm=s3().Parser,Am=iu(),Im=O4();function Jo(t,e){this.statements=[],this.defs=e||{},this.interpreter=new Am(this,t)}Jo.prototype.setDefs=function(t){return this.defs=Im(this.defs,t),this};Jo.prototype.compile=function(t){var e=this;if(!t||!(typeof t=="object"||typeof t=="function"))throw TypeError("namespace must be an object");if(typeof t.factory!="function")throw TypeError("namespace.factory must be a function");this.defs.ns=t,this.defs.$$mathCodegen={getProperty:function(L,M,_){function R(ie){return e.interpreter.options.applyFactoryToScope&&typeof ie!="function"?_.factory(ie):ie}if(L in M)return R(M[L]);if(L in _)return R(_[L]);throw SyntaxError('symbol "'+L+'" is undefined')},functionProxy:function(L,M){if(typeof L!="function")throw SyntaxError('symbol "'+M+'" must be a function');return L}},this.defs.$$processScope=this.defs.$$processScope||function(){};var r=Object.keys(this.defs).map(function(L){return"var "+L+' = defs["'+L+'"]'});if(!this.statements.length)throw Error("there are no statements saved in this generator, make sure you parse an expression before compiling it");this.statements[this.statements.length-1]="return "+this.statements[this.statements.length-1];var a=this.statements.join(";"),l=r.join(`
|
||
`)+`
|
||
`+["return {"," eval: function (scope) {"," scope = scope || {}"," $$processScope(scope)"," "+a," },"," code: '"+a+"'","}"].join(`
|
||
`),h=new Function("defs",l);return h(this.defs)};Jo.prototype.parse=function(t){var e=this,r=new Tm().parse(t);return this.statements=r.blocks.map(function(a){return e.interpreter.next(a)}),this};ou.exports=Jo});var uu=an((q_,su)=>{"use strict";su.exports=au()});var p0=an(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.intervalsOverlap=Rr.hasInterval=Rr.hasValue=Rr.zeroIn=Rr.isSingleton=Rr.isWhole=Rr.isEmpty=Rr.isInterval=void 0;function km(t){return typeof t=="object"&&typeof t.lo=="number"&&typeof t.hi=="number"}Rr.isInterval=km;function J1(t){return t.lo>t.hi}Rr.isEmpty=J1;function bm(t){return t.lo===-1/0&&t.hi===1/0}Rr.isWhole=bm;function Lm(t){return t.lo===t.hi}Rr.isSingleton=Lm;function Om(t){return lu(t,0)}Rr.zeroIn=Om;function lu(t,e){return J1(t)?!1:t.lo<=e&&e<=t.hi}Rr.hasValue=lu;function Pm(t,e){return J1(t)?!0:!J1(e)&&e.lo<=t.lo&&t.hi<=e.hi}Rr.hasInterval=Pm;function Rm(t,e){return J1(t)||J1(e)?!1:t.lo<=e.lo&&e.lo<=t.hi||e.lo<=t.lo&&t.lo<=e.hi}Rr.intervalsOverlap=Rm});var cu=an((j_,wr)=>{var R4=!1;if(typeof Float64Array!="undefined")if(Qi=new Float64Array(1),ri=new Uint32Array(Qi.buffer),Qi[0]=1,R4=!0,ri[1]===1072693248){let t=function(a,l){return ri[0]=a,ri[1]=l,Qi[0]},e=function(a){return Qi[0]=a,ri[0]},r=function(a){return Qi[0]=a,ri[1]};D_=t,F_=e,H_=r,wr.exports=function(l){return Qi[0]=l,[ri[0],ri[1]]},wr.exports.pack=t,wr.exports.lo=e,wr.exports.hi=r}else if(ri[0]===1072693248){let t=function(a,l){return ri[1]=a,ri[0]=l,Qi[0]},e=function(a){return Qi[0]=a,ri[1]},r=function(a){return Qi[0]=a,ri[0]};B_=t,z_=e,V_=r,wr.exports=function(l){return Qi[0]=l,[ri[1],ri[0]]},wr.exports.pack=t,wr.exports.lo=e,wr.exports.hi=r}else R4=!1;var Qi,ri,D_,F_,H_,B_,z_,V_;if(!R4){let t=function(a,l){return Ji.writeUInt32LE(a,0,!0),Ji.writeUInt32LE(l,4,!0),Ji.readDoubleLE(0,!0)},e=function(a){return Ji.writeDoubleLE(a,0,!0),Ji.readUInt32LE(0,!0)},r=function(a){return Ji.writeDoubleLE(a,0,!0),Ji.readUInt32LE(4,!0)};X_=t,G_=e,$_=r,Ji=new Buffer(8),wr.exports=function(l){return Ji.writeDoubleLE(l,0,!0),[Ji.readUInt32LE(0,!0),Ji.readUInt32LE(4,!0)]},wr.exports.pack=t,wr.exports.lo=e,wr.exports.hi=r}var Ji,X_,G_,$_;wr.exports.sign=function(t){return wr.exports.hi(t)>>>31};wr.exports.exponent=function(t){var e=wr.exports.hi(t);return(e<<1>>>21)-1023};wr.exports.fraction=function(t){var e=wr.exports.lo(t),r=wr.exports.hi(t),a=r&(1<<20)-1;return r&2146435072&&(a+=1<<20),[e,a]};wr.exports.denormalized=function(t){var e=wr.exports.hi(t);return!(e&2146435072)}});var du=an((Y_,hu)=>{"use strict";var q4=cu(),fu=Math.pow(2,-1074),pu=-1>>>0;hu.exports=qm;function qm(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(t===0)return e<0?-fu:fu;var r=q4.hi(t),a=q4.lo(t);return e>t==t>0?a===pu?(r+=1,a=0):a+=1:a===0?(a=pu,r-=1):a-=1,q4.pack(a,r)}});var C0=an(u3=>{"use strict";var Um=u3&&u3.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(u3,"__esModule",{value:!0});var gu=Um(du());function Dm(t){return t}function U4(t){return t===1/0?t:(0,gu.default)(t,-1/0)}function D4(t){return t===-1/0?t:(0,gu.default)(t,1/0)}function mu(t){return t<0?Math.ceil(t):Math.floor(t)}var K1={prev:U4,next:D4},On={safePrev:U4,safeNext:D4,prev(t){return K1.prev(t)},next(t){return K1.next(t)},addLo(t,e){return On.prev(t+e)},addHi(t,e){return On.next(t+e)},subLo(t,e){return On.prev(t-e)},subHi(t,e){return On.next(t-e)},mulLo(t,e){return On.prev(t*e)},mulHi(t,e){return On.next(t*e)},divLo(t,e){return On.prev(t/e)},divHi(t,e){return On.next(t/e)},intLo(t){return mu(On.prev(t))},intHi(t){return mu(On.next(t))},logLo(t){return On.prev(Math.log(t))},logHi(t){return On.next(Math.log(t))},expLo(t){return On.prev(Math.exp(t))},expHi(t){return On.next(Math.exp(t))},sinLo(t){return On.prev(Math.sin(t))},sinHi(t){return On.next(Math.sin(t))},cosLo(t){return On.prev(Math.cos(t))},cosHi(t){return On.next(Math.cos(t))},tanLo(t){return On.prev(Math.tan(t))},tanHi(t){return On.next(Math.tan(t))},asinLo(t){return On.prev(Math.asin(t))},asinHi(t){return On.next(Math.asin(t))},acosLo(t){return On.prev(Math.acos(t))},acosHi(t){return On.next(Math.acos(t))},atanLo(t){return On.prev(Math.atan(t))},atanHi(t){return On.next(Math.atan(t))},sinhLo(t){return On.prev(Math.sinh(t))},sinhHi(t){return On.next(Math.sinh(t))},coshLo(t){return On.prev(Math.cosh(t))},coshHi(t){return On.next(Math.cosh(t))},tanhLo(t){return On.prev(Math.tanh(t))},tanhHi(t){return On.next(Math.tanh(t))},powLo(t,e){if(e%1!==0)return On.prev(Math.pow(t,e));let r=(e&1)===1?t:1;for(e>>=1;e>0;)t=On.mulLo(t,t),(e&1)===1&&(r=On.mulLo(t,r)),e>>=1;return r},powHi(t,e){if(e%1!==0)return On.next(Math.pow(t,e));let r=(e&1)===1?t:1;for(e>>=1;e>0;)t=On.mulHi(t,t),(e&1)===1&&(r=On.mulHi(t,r)),e>>=1;return r},sqrtLo(t){return On.prev(Math.sqrt(t))},sqrtHi(t){return On.next(Math.sqrt(t))},disable(){K1.next=K1.prev=Dm},enable(){K1.next=D4,K1.prev=U4}};u3.default=On});var $0=an(ci=>{"use strict";var Fm=ci&&ci.__createBinding||(Object.create?function(t,e,r,a){a===void 0&&(a=r);var l=Object.getOwnPropertyDescriptor(e,r);(!l||("get"in l?!e.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,a,l)}:function(t,e,r,a){a===void 0&&(a=r),t[a]=e[r]}),Hm=ci&&ci.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Bm=ci&&ci.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Fm(e,t,r);return Hm(e,t),e},zm=ci&&ci.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ci,"__esModule",{value:!0});ci.Interval=ci._Interval=void 0;var Ko=Bm(p0()),e2=zm(C0()),x1=class{constructor(e,r){if(this.lo=0,this.hi=0,!(this instanceof x1))return console.log("calling with new"),console.log(e,r),new x1(e,r);if(typeof e!="undefined"&&typeof r!="undefined"){if(Ko.isInterval(e)){if(!Ko.isSingleton(e))throw new TypeError("Interval: interval `lo` must be a singleton");e=e.lo}if(Ko.isInterval(r)){if(!Ko.isSingleton(r))throw TypeError("Interval: interval `hi` must be a singleton");r=r.hi}}else{if(typeof e!="undefined")return Array.isArray(e)?new t2(e[0],e[1]):new t2(e,e);e=r=0}this.assign(e,r)}singleton(e){return this.set(e,e)}bounded(e,r){return this.set(e2.default.prev(e),e2.default.next(r))}boundedSingleton(e){return this.bounded(e,e)}set(e,r){return this.lo=e,this.hi=r,this}assign(e,r){if(typeof e!="number"||typeof r!="number")throw TypeError("Interval#assign: arguments must be numbers");return isNaN(e)||isNaN(r)||e>r?this.setEmpty():this.set(e,r)}setEmpty(){return this.set(Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY)}setWhole(){return this.set(Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY)}open(e,r){return this.assign(e2.default.safeNext(e),e2.default.safePrev(r))}halfOpenLeft(e,r){return this.assign(e2.default.safeNext(e),r)}halfOpenRight(e,r){return this.assign(e,e2.default.safePrev(r))}toArray(){return[this.lo,this.hi]}clone(){return new t2().set(this.lo,this.hi)}};ci._Interval=x1;function Vm(t){function e(){for(var r=arguments.length,a=Array(r),l=0;l<r;l++)a[l]=arguments[l];return new(Function.prototype.bind.apply(t,[null].concat(a)))}return e.prototype=t.prototype,e}var t2=Vm(x1);ci.Interval=t2;t2.factory=t2});var T1=an(F4=>{"use strict";Object.defineProperty(F4,"__esModule",{value:!0});var C1=$0(),ea=(3373259426+273688/(1<<21))/(1<<30),ta=(3373259426+273689/(1<<21))/(1<<30),l3={PI_LOW:ea,PI_HIGH:ta,PI_HALF_LOW:ea/2,PI_HALF_HIGH:ta/2,PI_TWICE_LOW:ea*2,PI_TWICE_HIGH:ta*2,get PI(){return new C1.Interval(ea,ta)},get PI_HALF(){return new C1.Interval(l3.PI_HALF_LOW,l3.PI_HALF_HIGH)},get PI_TWICE(){return new C1.Interval(l3.PI_TWICE_LOW,l3.PI_TWICE_HIGH)},get ZERO(){return new C1.Interval(0)},get ONE(){return new C1.Interval(1)},get WHOLE(){return new C1.Interval().setWhole()},get EMPTY(){return new C1.Interval().setEmpty()}};F4.default=l3});var H4=an(Bn=>{"use strict";var Gm=Bn&&Bn.__createBinding||(Object.create?function(t,e,r,a){a===void 0&&(a=r);var l=Object.getOwnPropertyDescriptor(e,r);(!l||("get"in l?!e.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,a,l)}:function(t,e,r,a){a===void 0&&(a=r),t[a]=e[r]}),$m=Bn&&Bn.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Xm=Bn&&Bn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Gm(e,t,r);return $m(e,t),e};Object.defineProperty(Bn,"__esModule",{value:!0});Bn.geq=Bn.greaterEqualThan=Bn.leq=Bn.lessEqualThan=Bn.gt=Bn.greaterThan=Bn.lt=Bn.lessThan=Bn.notEqual=Bn.assertIncludes=Bn.almostEqual=Bn.equal=void 0;var fi=Xm(p0());function jm(t,e){return fi.isEmpty(t)?fi.isEmpty(e):!fi.isEmpty(e)&&t.lo===e.lo&&t.hi===e.hi}Bn.equal=jm;var Ym=1e-7;function na(t,e){if(!t)throw new Error(e||"assertion failed")}function vu(t,e){if(!isFinite(t))return na(t===e,`[Infinity] expected ${t} to be ${e}`);na(Math.abs(t-e)<Ym,`expected ${t} to be close to ${e}`)}function wu(t,e){t=Array.isArray(t)?t:t.toArray(),e=Array.isArray(e)?e:e.toArray(),vu(t[0],e[0]),vu(t[1],e[1])}Bn.almostEqual=wu;function Wm(t,e){wu(t,e),t=Array.isArray(t)?t:t.toArray(),e=Array.isArray(e)?e:e.toArray(),na(t[0]<=e[0],`${t[0]} should be less/equal than ${e[0]}`),na(e[1]<=t[1],`${e[1]} should be less/equal than ${t[1]}`)}Bn.assertIncludes=Wm;function Zm(t,e){return fi.isEmpty(t)?!fi.isEmpty(e):fi.isEmpty(e)||t.hi<e.lo||t.lo>e.hi}Bn.notEqual=Zm;function yu(t,e){return fi.isEmpty(t)||fi.isEmpty(e)?!1:t.hi<e.lo}Bn.lessThan=yu;Bn.lt=yu;function Su(t,e){return fi.isEmpty(t)||fi.isEmpty(e)?!1:t.lo>e.hi}Bn.greaterThan=Su;Bn.gt=Su;function _u(t,e){return fi.isEmpty(t)||fi.isEmpty(e)?!1:t.hi<=e.lo}Bn.lessEqualThan=_u;Bn.leq=_u;function Mu(t,e){return fi.isEmpty(t)||fi.isEmpty(e)?!1:t.lo>=e.hi}Bn.greaterEqualThan=Mu;Bn.geq=Mu});var xu=an(qr=>{"use strict";var Qm=qr&&qr.__createBinding||(Object.create?function(t,e,r,a){a===void 0&&(a=r);var l=Object.getOwnPropertyDescriptor(e,r);(!l||("get"in l?!e.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,a,l)}:function(t,e,r,a){a===void 0&&(a=r),t[a]=e[r]}),Jm=qr&&qr.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Km=qr&&qr.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Qm(e,t,r);return Jm(e,t),e},Eu=qr&&qr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(qr,"__esModule",{value:!0});qr.zero=qr.negative=qr.positive=qr.nonZero=void 0;var c3=$0(),Yr=Eu(C0()),Nu=Km(p0()),B4=Eu(T1());function eg(t,e){let r=t.lo,a=t.hi,l=e.lo,h=e.hi,L=new c3.Interval;return a<0?h<0?(L.lo=Yr.default.divLo(a,l),L.hi=Yr.default.divHi(r,h)):(L.lo=Yr.default.divLo(r,l),L.hi=Yr.default.divHi(a,h)):r<0?h<0?(L.lo=Yr.default.divLo(a,h),L.hi=Yr.default.divHi(r,h)):(L.lo=Yr.default.divLo(r,l),L.hi=Yr.default.divHi(a,l)):h<0?(L.lo=Yr.default.divLo(a,h),L.hi=Yr.default.divHi(r,l)):(L.lo=Yr.default.divLo(r,h),L.hi=Yr.default.divHi(a,l)),L}qr.nonZero=eg;function tg(t,e){return t.lo===0&&t.hi===0?t:Nu.zeroIn(t)?B4.default.WHOLE:t.hi<0?new c3.Interval(Number.NEGATIVE_INFINITY,Yr.default.divHi(t.hi,e)):new c3.Interval(Yr.default.divLo(t.lo,e),Number.POSITIVE_INFINITY)}qr.positive=tg;function ng(t,e){return t.lo===0&&t.hi===0?t:Nu.zeroIn(t)?B4.default.WHOLE:t.hi<0?new c3.Interval(Yr.default.divLo(t.hi,e),Number.POSITIVE_INFINITY):new c3.Interval(Number.NEGATIVE_INFINITY,Yr.default.divHi(t.lo,e))}qr.negative=ng;function rg(t){return t.lo===0&&t.hi===0?t:B4.default.WHOLE}qr.zero=rg});var n2=an(Zn=>{"use strict";var ig=Zn&&Zn.__createBinding||(Object.create?function(t,e,r,a){a===void 0&&(a=r);var l=Object.getOwnPropertyDescriptor(e,r);(!l||("get"in l?!e.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,a,l)}:function(t,e,r,a){a===void 0&&(a=r),t[a]=e[r]}),og=Zn&&Zn.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Cu=Zn&&Zn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&ig(e,t,r);return og(e,t),e},Tu=Zn&&Zn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Zn,"__esModule",{value:!0});Zn.negative=Zn.positive=Zn.div=Zn.divide=Zn.mul=Zn.multiply=Zn.sub=Zn.subtract=Zn.add=void 0;var p3=$0(),lr=Tu(C0()),z4=Tu(T1()),f3=Cu(p0()),ra=Cu(xu());function ag(t,e){return new p3.Interval(lr.default.addLo(t.lo,e.lo),lr.default.addHi(t.hi,e.hi))}Zn.add=ag;function Au(t,e){return new p3.Interval(lr.default.subLo(t.lo,e.hi),lr.default.subHi(t.hi,e.lo))}Zn.subtract=Au;Zn.sub=Au;function Iu(t,e){if(f3.isEmpty(t)||f3.isEmpty(e))return z4.default.EMPTY;let r=t.lo,a=t.hi,l=e.lo,h=e.hi,L=new p3.Interval;return r<0?a>0?l<0?h>0?(L.lo=Math.min(lr.default.mulLo(r,h),lr.default.mulLo(a,l)),L.hi=Math.max(lr.default.mulHi(r,l),lr.default.mulHi(a,h))):(L.lo=lr.default.mulLo(a,l),L.hi=lr.default.mulHi(r,l)):h>0?(L.lo=lr.default.mulLo(r,h),L.hi=lr.default.mulHi(a,h)):(L.lo=0,L.hi=0):l<0?h>0?(L.lo=lr.default.mulLo(r,h),L.hi=lr.default.mulHi(r,l)):(L.lo=lr.default.mulLo(a,h),L.hi=lr.default.mulHi(r,l)):h>0?(L.lo=lr.default.mulLo(r,h),L.hi=lr.default.mulHi(a,l)):(L.lo=0,L.hi=0):a>0?l<0?h>0?(L.lo=lr.default.mulLo(a,l),L.hi=lr.default.mulHi(a,h)):(L.lo=lr.default.mulLo(a,l),L.hi=lr.default.mulHi(r,h)):h>0?(L.lo=lr.default.mulLo(r,l),L.hi=lr.default.mulHi(a,h)):(L.lo=0,L.hi=0):(L.lo=0,L.hi=0),L}Zn.multiply=Iu;Zn.mul=Iu;function ku(t,e){return f3.isEmpty(t)||f3.isEmpty(e)?z4.default.EMPTY:f3.zeroIn(e)?e.lo!==0?e.hi!==0?ra.zero(t):ra.negative(t,e.lo):e.hi!==0?ra.positive(t,e.hi):z4.default.EMPTY:ra.nonZero(t,e)}Zn.divide=ku;Zn.div=ku;function sg(t){return new p3.Interval(t.lo,t.hi)}Zn.positive=sg;function ug(t){return new p3.Interval(-t.hi,-t.lo)}Zn.negative=ug});var ia=an(Cr=>{"use strict";var lg=Cr&&Cr.__createBinding||(Object.create?function(t,e,r,a){a===void 0&&(a=r);var l=Object.getOwnPropertyDescriptor(e,r);(!l||("get"in l?!e.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,a,l)}:function(t,e,r,a){a===void 0&&(a=r),t[a]=e[r]}),cg=Cr&&Cr.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Lu=Cr&&Cr.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&lg(e,t,r);return cg(e,t),e},Ou=Cr&&Cr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Cr,"__esModule",{value:!0});Cr.nthRoot=Cr.sqrt=Cr.pow=Cr.multiplicativeInverse=Cr.fmod=void 0;var Ei=$0(),zr=Ou(C0()),Ui=Ou(T1()),X0=Lu(p0()),bu=Lu(n2());function fg(t,e){if(X0.isEmpty(t)||X0.isEmpty(e))return Ui.default.EMPTY;let r=t.lo<0?e.lo:e.hi,a=t.lo/r;return a<0?a=Math.ceil(a):a=Math.floor(a),bu.sub(t,bu.mul(e,new Ei.Interval(a)))}Cr.fmod=fg;function Pu(t){return X0.isEmpty(t)?Ui.default.EMPTY:X0.zeroIn(t)?t.lo!==0?t.hi!==0?Ui.default.WHOLE:new Ei.Interval(Number.NEGATIVE_INFINITY,zr.default.divHi(1,t.lo)):t.hi!==0?new Ei.Interval(zr.default.divLo(1,t.hi),Number.POSITIVE_INFINITY):Ui.default.EMPTY:new Ei.Interval(zr.default.divLo(1,t.hi),zr.default.divHi(1,t.lo))}Cr.multiplicativeInverse=Pu;function Ru(t,e){if(X0.isEmpty(t))return Ui.default.EMPTY;if(typeof e=="object"){if(!X0.isSingleton(e))return Ui.default.EMPTY;e=e.lo}if(e===0)return t.lo===0&&t.hi===0?Ui.default.EMPTY:Ui.default.ONE;if(e<0)return Ru(Pu(t),-e);if(Number.isSafeInteger(e))if(t.hi<0){let r=zr.default.powLo(-t.hi,e),a=zr.default.powHi(-t.lo,e);return(e&1)===1?new Ei.Interval(-a,-r):new Ei.Interval(r,a)}else return t.lo<0?(e&1)===1?new Ei.Interval(-zr.default.powLo(-t.lo,e),zr.default.powHi(t.hi,e)):new Ei.Interval(0,zr.default.powHi(Math.max(-t.lo,t.hi),e)):new Ei.Interval(zr.default.powLo(t.lo,e),zr.default.powHi(t.hi,e));else return console.warn("power is not an integer, you should use nth-root instead, returning an empty interval"),Ui.default.EMPTY}Cr.pow=Ru;function pg(t){return qu(t,2)}Cr.sqrt=pg;function qu(t,e){if(X0.isEmpty(t)||e<0)return Ui.default.EMPTY;if(typeof e=="object"){if(!X0.isSingleton(e))return Ui.default.EMPTY;e=e.lo}let r=1/e;if(t.hi<0){if(Number.isSafeInteger(e)&&(e&1)===1){let a=zr.default.powHi(-t.lo,r),l=zr.default.powLo(-t.hi,r);return new Ei.Interval(-a,-l)}return Ui.default.EMPTY}else if(t.lo<0){let a=zr.default.powHi(t.hi,r);if(Number.isSafeInteger(e)&&(e&1)===1){let l=-zr.default.powHi(-t.lo,r);return new Ei.Interval(l,a)}return new Ei.Interval(0,a)}else return new Ei.Interval(zr.default.powLo(t.lo,r),zr.default.powHi(t.hi,r))}Cr.nthRoot=qu});var oa=an(kn=>{"use strict";var hg=kn&&kn.__createBinding||(Object.create?function(t,e,r,a){a===void 0&&(a=r);var l=Object.getOwnPropertyDescriptor(e,r);(!l||("get"in l?!e.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,a,l)}:function(t,e,r,a){a===void 0&&(a=r),t[a]=e[r]}),dg=kn&&kn.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Uu=kn&&kn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&hg(e,t,r);return dg(e,t),e},Du=kn&&kn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kn,"__esModule",{value:!0});kn.clone=kn.min=kn.max=kn.abs=kn.wid=kn.width=kn.difference=kn.union=kn.intersection=kn.hull=kn.log2=kn.LOG_EXP_2=kn.log10=kn.LOG_EXP_10=kn.ln=kn.log=kn.exp=void 0;var Ni=$0(),h3=Du(C0()),Di=Du(T1()),kr=Uu(p0()),V4=Uu(n2());function mg(t){return kr.isEmpty(t)?Di.default.EMPTY:new Ni.Interval(h3.default.expLo(t.lo),h3.default.expHi(t.hi))}kn.exp=mg;function r2(t){if(kr.isEmpty(t))return Di.default.EMPTY;let e=t.lo<=0?Number.NEGATIVE_INFINITY:h3.default.logLo(t.lo);return new Ni.Interval(e,h3.default.logHi(t.hi))}kn.log=r2;kn.ln=r2;kn.LOG_EXP_10=r2(new Ni.Interval(10,10));function gg(t){return kr.isEmpty(t)?Di.default.EMPTY:V4.div(r2(t),kn.LOG_EXP_10)}kn.log10=gg;kn.LOG_EXP_2=r2(new Ni.Interval(2,2));function vg(t){return kr.isEmpty(t)?Di.default.EMPTY:V4.div(r2(t),kn.LOG_EXP_2)}kn.log2=vg;function wg(t,e){let r=kr.isEmpty(t),a=kr.isEmpty(e);return r&&a?Di.default.EMPTY:r?e.clone():a?t.clone():new Ni.Interval(Math.min(t.lo,e.lo),Math.max(t.hi,e.hi))}kn.hull=wg;function yg(t,e){if(kr.isEmpty(t)||kr.isEmpty(e))return Di.default.EMPTY;let r=Math.max(t.lo,e.lo),a=Math.min(t.hi,e.hi);return r<=a?new Ni.Interval(r,a):Di.default.EMPTY}kn.intersection=yg;function Sg(t,e){if(!kr.intervalsOverlap(t,e))throw Error("Interval#union: intervals do not overlap");return new Ni.Interval(Math.min(t.lo,e.lo),Math.max(t.hi,e.hi))}kn.union=Sg;function _g(t,e){if(kr.isEmpty(t)||kr.isWhole(e))return Di.default.EMPTY;if(kr.intervalsOverlap(t,e)){if(t.lo<e.lo&&e.hi<t.hi)throw Error("Interval.difference: difference creates multiple intervals");return e.lo<=t.lo&&e.hi===1/0||e.hi>=t.hi&&e.lo===-1/0?Di.default.EMPTY:e.lo<=t.lo?new Ni.Interval().halfOpenLeft(e.hi,t.hi):new Ni.Interval().halfOpenRight(t.lo,e.lo)}return t.clone()}kn.difference=_g;function Fu(t){return kr.isEmpty(t)?0:h3.default.subHi(t.hi,t.lo)}kn.width=Fu;kn.wid=Fu;function Mg(t){return kr.isEmpty(t)||kr.isWhole(t)?Di.default.EMPTY:t.lo>=0?t.clone():t.hi<=0?V4.negative(t):new Ni.Interval(0,Math.max(-t.lo,t.hi))}kn.abs=Mg;function Eg(t,e){let r=kr.isEmpty(t),a=kr.isEmpty(e);return r&&a?Di.default.EMPTY:r?e.clone():a?t.clone():new Ni.Interval(Math.max(t.lo,e.lo),Math.max(t.hi,e.hi))}kn.max=Eg;function Ng(t,e){let r=kr.isEmpty(t),a=kr.isEmpty(e);return r&&a?Di.default.EMPTY:r?e.clone():a?t.clone():new Ni.Interval(Math.min(t.lo,e.lo),Math.min(t.hi,e.hi))}kn.min=Ng;function xg(t){return new Ni.Interval().set(t.lo,t.hi)}kn.clone=xg});var X4=an(Qn=>{"use strict";var Cg=Qn&&Qn.__createBinding||(Object.create?function(t,e,r,a){a===void 0&&(a=r);var l=Object.getOwnPropertyDescriptor(e,r);(!l||("get"in l?!e.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,a,l)}:function(t,e,r,a){a===void 0&&(a=r),t[a]=e[r]}),Tg=Qn&&Qn.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),sa=Qn&&Qn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Cg(e,t,r);return Tg(e,t),e},Hu=Qn&&Qn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Qn,"__esModule",{value:!0});Qn.tanh=Qn.cosh=Qn.sinh=Qn.atan=Qn.acos=Qn.asin=Qn.tan=Qn.sin=Qn.cos=void 0;var ii=$0(),br=Hu(C0()),or=Hu(T1()),T0=sa(p0()),aa=sa(n2()),Bu=sa(ia()),Ag=sa(oa());function G4(t){return!isFinite(t.lo)&&t.lo===t.hi}function zu(t){if(t.lo<0)if(t.lo===-1/0)t.lo=0,t.hi=1/0;else{let e=Math.ceil(-t.lo/or.default.PI_TWICE_LOW);t.lo+=or.default.PI_TWICE_LOW*e,t.hi+=or.default.PI_TWICE_LOW*e}return t}function $4(t){if(T0.isEmpty(t)||G4(t))return or.default.EMPTY;let e=new ii.Interval().set(t.lo,t.hi);zu(e);let r=or.default.PI_TWICE,a=Bu.fmod(e,r);if(Ag.width(a)>=r.lo)return new ii.Interval(-1,1);if(a.lo>=or.default.PI_HIGH){let _=$4(aa.sub(a,or.default.PI));return aa.negative(_)}let l=a.lo,h=a.hi,L=br.default.cosLo(h),M=br.default.cosHi(l);return h<=or.default.PI_LOW?new ii.Interval(L,M):h<=r.lo?new ii.Interval(-1,Math.max(L,M)):new ii.Interval(-1,1)}Qn.cos=$4;function Ig(t){return T0.isEmpty(t)||G4(t)?or.default.EMPTY:$4(aa.sub(t,or.default.PI_HALF))}Qn.sin=Ig;function kg(t){if(T0.isEmpty(t)||G4(t))return or.default.EMPTY;let e=new ii.Interval().set(t.lo,t.hi);zu(e);let r=or.default.PI,a=Bu.fmod(e,r);return a.lo>=or.default.PI_HALF_LOW&&(a=aa.sub(a,r)),a.lo<=-or.default.PI_HALF_LOW||a.hi>=or.default.PI_HALF_LOW?or.default.WHOLE:new ii.Interval(br.default.tanLo(a.lo),br.default.tanHi(a.hi))}Qn.tan=kg;function bg(t){if(T0.isEmpty(t)||t.hi<-1||t.lo>1)return or.default.EMPTY;let e=t.lo<=-1?-or.default.PI_HALF_HIGH:br.default.asinLo(t.lo),r=t.hi>=1?or.default.PI_HALF_HIGH:br.default.asinHi(t.hi);return new ii.Interval(e,r)}Qn.asin=bg;function Lg(t){if(T0.isEmpty(t)||t.hi<-1||t.lo>1)return or.default.EMPTY;let e=t.hi>=1?0:br.default.acosLo(t.hi),r=t.lo<=-1?or.default.PI_HIGH:br.default.acosHi(t.lo);return new ii.Interval(e,r)}Qn.acos=Lg;function Og(t){return T0.isEmpty(t)?or.default.EMPTY:new ii.Interval(br.default.atanLo(t.lo),br.default.atanHi(t.hi))}Qn.atan=Og;function Pg(t){return T0.isEmpty(t)?or.default.EMPTY:new ii.Interval(br.default.sinhLo(t.lo),br.default.sinhHi(t.hi))}Qn.sinh=Pg;function Rg(t){return T0.isEmpty(t)?or.default.EMPTY:t.hi<0?new ii.Interval(br.default.coshLo(t.hi),br.default.coshHi(t.lo)):t.lo>=0?new ii.Interval(br.default.coshLo(t.lo),br.default.coshHi(t.hi)):new ii.Interval(1,br.default.coshHi(-t.lo>t.hi?t.lo:t.hi))}Qn.cosh=Rg;function qg(t){return T0.isEmpty(t)?or.default.EMPTY:new ii.Interval(br.default.tanhLo(t.lo),br.default.tanhHi(t.hi))}Qn.tanh=qg});var ju=an(yr=>{"use strict";var Gu=yr&&yr.__createBinding||(Object.create?function(t,e,r,a){a===void 0&&(a=r);var l=Object.getOwnPropertyDescriptor(e,r);(!l||("get"in l?!e.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,a,l)}:function(t,e,r,a){a===void 0&&(a=r),t[a]=e[r]}),Ug=yr&&yr.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i2=yr&&yr.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Gu(e,t,r);return Ug(e,t),e},A1=yr&&yr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Gu(e,t,r)},$u=yr&&yr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(yr,"__esModule",{value:!0});yr.Interval=void 0;var Dg=$0(),Vu=$u(C0()),Fg=$u(T1()),Hg=i2(H4()),Bg=i2(n2()),zg=i2(ia()),Vg=i2(X4()),Gg=i2(oa()),$g=i2(p0()),Xu=Object.assign(Dg.Interval,Fg.default,Vu.default,Gg,$g,Hg,Bg,zg,Vg,{round:Vu.default});yr.Interval=Xu;yr.default=Xu;A1(H4(),yr);A1(n2(),yr);A1(ia(),yr);A1(X4(),yr);A1(oa(),yr);A1(p0(),yr);A1(C0(),yr)});var Wu=an((oM,Yu)=>{"use strict";Yu.exports=function(t){t.mod=t.fmod,t.lessThan=t.lt,t.lessEqualThan=t.leq,t.greaterThan=t.gt,t.greaterEqualThan=t.geq,t.strictlyEqual=t.equal,t.strictlyNotEqual=t.notEqual,t.logicalAND=function(e,r){return e&&r},t.logicalXOR=function(e,r){return e^r},t.logicalOR=function(e,r){return e||r}}});var Qu=an((aM,Zu)=>{"use strict";Zu.exports=function(t){return{disableRounding:function(){t.round.disable()},enableRounding:function(){t.round.enable()}}}});var Ju=an((sM,ua)=>{"use strict";var Xg=uu(),o2=ju().default;Wu()(o2);function jg(t){Object.keys(t).forEach(function(e){let r=t[e];typeof r=="number"||Array.isArray(r)?t[e]=o2.factory(r):typeof r=="object"&&"lo"in r&&"hi"in r&&(t[e]=o2.factory(r.lo,r.hi))})}ua.exports=function(t){return new Xg().setDefs({$$processScope:jg}).parse(t).compile(o2)};ua.exports.policies=Qu()(o2);ua.exports.Interval=o2});var j4=an((uM,Ku)=>{"use strict";Ku.exports=Ju()});var I1=an(j0=>{"use strict";var el=j0&&j0.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(j0,"__esModule",{value:!0});j0.interval=j0.builtIn=void 0;var Yg=el(ks()),Wg=el(j4()),tl={interval:Wg.default,builtIn:Yg.default};global.math&&(tl.builtIn=global.math.compile);function nl(t){function e(h){if(typeof h=="string"){let L=tl[t](h);return global.math&&t==="builtIn"?{eval:L.evaluate||L.eval}:L}else{if(typeof h=="function")return{eval:h};throw Error("expression must be a string or a function")}}function r(h,L){let M=h[L],_=t+"_Expression_"+L,R=t+"_Compiled_"+L;M!==h[_]&&(h[_]=M,h[R]=e(M))}function a(h,L){return h[t+"_Compiled_"+L]}function l(h,L,M){return r(h,L),a(h,L).eval(Object.assign({},h.scope||{},M))}return l}var Zg=nl("builtIn");j0.builtIn=Zg;var Qg=nl("interval");j0.interval=Qg});var al=an(d3=>{"use strict";var W4=d3&&d3.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(d3,"__esModule",{value:!0});var Jg=n3(),Kg=_i(),rl=W4($o()),Y4=W4(M1()),il=W4(o3()),ol=I1();function ev(t){t=Object.assign({xLine:!1,yLine:!1,renderer:function(M,_){return"("+M.toFixed(3)+", "+_.toFixed(3)+")"},owner:null},t);let e=20,r=(0,Jg.line)().x(function(M){return M[0]}).y(function(M){return M[1]});function a(M,_){return M.append("path").datum(_).attr("stroke","grey").attr("stroke-dasharray","5,5").attr("opacity",.5).attr("d",r)}let l,h;function L(M){let _=M.selectAll("g.tip").data(function(ie){return[ie]}),R=_.enter().append("g").attr("class","tip").attr("clip-path","url(#function-plot-clip-"+t.owner.id+")");l=_.merge(R).selectAll("g.inner-tip").data(function(ie){return[ie]}),h=l.enter().append("g").attr("class","inner-tip").style("display","none").each(function(){let ie=(0,Kg.select)(this);a(ie,[[0,-t.owner.meta.height-e],[0,t.owner.meta.height+e]]).attr("class","tip-x-line").style("display","none"),a(ie,[[-t.owner.meta.width-e,0],[t.owner.meta.width+e,0]]).attr("class","tip-y-line").style("display","none"),ie.append("circle").attr("r",3),ie.append("text").attr("transform","translate(5,-5)")}),l.merge(h).selectAll(".tip-x-line").style("display",t.xLine?null:"none"),l.merge(h).selectAll(".tip-y-line").style("display",t.yLine?null:"none")}return L.move=function(M){let _,R=1/0,ie=-1,K,de,ve=l.merge(h),De=1e8,Ie=t.owner.meta,Qe=ve.datum().data,ee=Ie.xScale,Te=Ie.yScale,ze=Ie.width,Oe=Ie.height,ut=M.x,at=M.y;for(_=0;_<Qe.length;_+=1){if(Qe[_].skipTip||Qe[_].fnType!=="linear")continue;let j=Qe[_].range||[-De,De],d;if(ut>j[0]-il.default.TIP_X_EPS&&ut<j[1]+il.default.TIP_X_EPS){try{d=(0,ol.builtIn)(Qe[_],"fn",{x:ut})}catch(c){}if(Y4.default.isValidNumber(d)){let c=Math.abs(d-at);c<R&&(R=c,ie=_)}}}if(ie!==-1){K=ut,Qe[ie].range&&(K=Math.max(K,Qe[ie].range[0]),K=Math.min(K,Qe[ie].range[1])),de=(0,ol.builtIn)(Qe[ie],"fn",{x:K}),L.show(),t.owner.emit("tip:update",{x:K,y:de,index:ie});let j=(0,rl.default)(K,ee.invert(-e),ee.invert(ze+e)),d=(0,rl.default)(de,Te.invert(Oe+e),Te.invert(-e)),c=Y4.default.color(Qe[ie],ie);ve.style("color","red"),ve.attr("transform","translate("+ee(j)+","+Te(d)+")"),ve.select("circle").attr("fill",c),ve.select("text").attr("fill",c).text(t.renderer(K,de,ie))}else L.hide()},L.show=function(){l.merge(h).style("display",null)},L.hide=function(){l.merge(h).style("display","none")},Object.keys(t).forEach(function(M){Y4.default.getterSetter.call(L,t,M)}),L}d3.default=ev});var ll=an(g3=>{"use strict";var sl=g3&&g3.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(g3,"__esModule",{value:!0});var tv=sl($o()),A0=sl(M1()),m3=I1();function ul(t,e,r,a,l){if(!l)return{asymptote:!0,d0:t,d1:e};let h=10,L=t[0],M=e[0],_=A0.default.linspace(L,M,h),R,ie;for(let K=0;K<h;K+=1){let de=_[K],ve=(0,m3.builtIn)(r,"fn",{x:de});if(K&&R){let De=ve-R;if(A0.default.sgn(De)===a)return ul([ie,R],[de,ve],r,a,l-1)}R=ve,ie=de}return{asymptote:!1,d0:t,d1:e}}function nv(t,e,r){let a,l,h,L=[],M=[],_=t.meta.yScale.domain(),R=_[0],ie=_[1];r[0]&&(L.push(r[0]),h=r[1][0]-r[0][0],l=A0.default.sgn(r[1][1]-r[0][1]));function K(de){return de[1]=Math.min(de[1],ie),de[1]=Math.max(de[1],R),de}for(a=1;a<r.length;){let de=r[a-1][1],De=r[a][1]-de,Ie=A0.default.sgn(De);if(l!==Ie&&Math.abs(De/h)>1/1){let Qe=ul(r[a-1],r[a],e,Ie,3);Qe.asymptote&&(L.push(K(Qe.d0)),M.push(L),L=[K(Qe.d1)])}l=Ie,L.push(r[a]),++a}return L.length&&M.push(L),M}function rv(t,e,r,a){let l=A0.default.space(t,r,a),h=t.meta.yScale.domain(),L=h[1]-h[0],M=h[0]-L*1e5,_=h[1]+L*1e5,R=[];for(let ie=0;ie<l.length;ie+=1){let K=l[ie],de=(0,m3.builtIn)(e,"fn",{x:K});A0.default.isValidNumber(K)&&A0.default.isValidNumber(de)&&R.push([K,(0,tv.default)(de,M,_)])}return R=nv(t,e,R),R}function iv(t,e,r,a){let l=e.range||[0,2*Math.PI],h=A0.default.space(t,l,a),L=[];for(let M=0;M<h.length;M+=1){let _=h[M],R=(0,m3.builtIn)(e,"x",{t:_}),ie=(0,m3.builtIn)(e,"y",{t:_});L.push([R,ie])}return[L]}function ov(t,e,r,a){let l=e.range||[-Math.PI,Math.PI],h=A0.default.space(t,l,a),L=[];for(let M=0;M<h.length;M+=1){let _=h[M],R=(0,m3.builtIn)(e,"r",{theta:_}),ie=R*Math.cos(_),K=R*Math.sin(_);L.push([ie,K])}return[L]}function av(t,e,r,a){return[e.points]}function sv(t,e,r,a){return e.offset=e.offset||[0,0],[[e.offset,[e.vector[0]+e.offset[0],e.vector[1]+e.offset[1]]]]}var uv=function(t,e,r,a){let l={parametric:iv,polar:ov,points:av,vector:sv,linear:rv};if(!(e.fnType in l))throw Error(e.fnType+" is not supported in the `builtIn` sampler");return l[e.fnType].apply(null,arguments)};g3.default=uv});var pl=an(Ki=>{"use strict";var lv=Ki&&Ki.__createBinding||(Object.create?function(t,e,r,a){a===void 0&&(a=r);var l=Object.getOwnPropertyDescriptor(e,r);(!l||("get"in l?!e.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,a,l)}:function(t,e,r,a){a===void 0&&(a=r),t[a]=e[r]}),cv=Ki&&Ki.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),fv=Ki&&Ki.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&lv(e,t,r);return cv(e,t),e},pv=Ki&&Ki.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ki,"__esModule",{value:!0});var k1=fv(j4()),cl=I1(),hv=pv(M1());k1.default.policies.disableRounding();function dv(t,e,r,a){let l=hv.default.space(t,r,a),h=t.meta.xScale,L=t.meta.yScale,M=L.domain()[0],_=L.domain()[1],R=[],ie;for(ie=0;ie<l.length-1;ie+=1){let K={lo:l[ie],hi:l[ie+1]},de=(0,cl.interval)(e,"fn",{x:K});!k1.Interval.isEmpty(de)&&!k1.Interval.isWhole(de)&&R.push([K,de]),k1.Interval.isWhole(de)&&R.push(null)}for(ie=1;ie<R.length-1;ie+=1)if(!R[ie]){let K=R[ie-1],de=R[ie+1];K&&de&&!k1.Interval.intervalsOverlap(K[1],de[1])&&(K[1].lo>de[1].hi&&(K[1].hi=Math.max(_,K[1].hi),de[1].lo=Math.min(M,de[1].lo)),K[1].hi<de[1].lo&&(K[1].lo=Math.min(M,K[1].lo),de[1].hi=Math.max(_,de[1].hi)))}return R.scaledDx=h(l[1])-h(l[0]),[R]}var fl;function mv(t,e){return k1.Interval.width(t)<fl}function v3(t,e,r){let a=(0,cl.interval)(r,"fn",{x:t,y:e});if(!k1.Interval.zeroIn(a))return this;if(mv(t,e))return this.push([t,e]),this;let h=t.lo+(t.hi-t.lo)/2,L=e.lo+(e.hi-e.lo)/2,M={lo:h,hi:t.hi},_={lo:t.lo,hi:h},R={lo:L,hi:e.hi},ie={lo:e.lo,hi:L};v3.call(this,M,R,r),v3.call(this,M,ie,r),v3.call(this,_,R,r),v3.call(this,_,ie,r)}function gv(t,e){let r=t.meta.xScale,a=t.meta.xScale.domain(),l=t.meta.yScale.domain(),h={lo:a[0],hi:a[1]},L={lo:l[0],hi:l[1]},M=[];return fl=r.invert(1)-r.invert(0),v3.call(M,h,L,e),M.scaledDx=1,[M]}var vv=function(t,e,r,a){let l={implicit:gv,linear:dv};if(!l.hasOwnProperty(e.fnType))throw Error(e.fnType+" is not supported in the `interval` sampler");return l[e.fnType].apply(null,arguments)};Ki.default=vv});var dl=an(Y0=>{"use strict";var hl=Y0&&Y0.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Y0,"__esModule",{value:!0});Y0.interval=Y0.builtIn=void 0;var wv=hl(ll());Y0.builtIn=wv.default;var yv=hl(pl());Y0.interval=yv.default});var la=an(w3=>{"use strict";var Sv=w3&&w3.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(w3,"__esModule",{value:!0});var ml=Sv(o3()),gl=dl(),_v={interval:gl.interval,builtIn:gl.builtIn};function Mv(t,e){let r=e.range||[-1/0,1/0],a=Math.max(t.domain()[0],r[0]),l=Math.min(t.domain()[1],r[1]);return[a,l]}function Ev(t,e){let r=Mv(t.meta.xScale,e),a=_v[e.sampler],l=e.nSamples||Math.min(ml.default.MAX_ITERATIONS,ml.default.DEFAULT_ITERATIONS||t.meta.width*2),h=a(t,e,r,l);return t.emit("eval",h,e.index,e.isHelper),h}w3.default=Ev});var wl=an(y3=>{"use strict";var Q4=y3&&y3.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(y3,"__esModule",{value:!0});var vl=_i(),Z4=n3(),Nv=Q4($o()),xv=Q4(M1()),Cv=Q4(la());function Tv(t){function e(r){r.each(function(a){let l=e.el=(0,vl.select)(this),h=a.index,L=(0,Cv.default)(t,a),M=xv.default.color(a,h),_=l.selectAll(":scope > path.line").data(L),R=t.meta.yScale.range(),ie=R[0],K=R[1],de=ie-K;ie+=de*1e6,K-=de*1e6,a.skipBoundsCheck&&(ie=1/0,K=-1/0);function ve(ee){return(0,Nv.default)(t.meta.yScale(ee[1]),K,ie)}let De=(0,Z4.line)().curve(Z4.curveLinear).x(function(ee){return t.meta.xScale(ee[0])}).y(ve),Ie=(0,Z4.area)().x(function(ee){return t.meta.yScale(ee[0])}).y0(t.meta.yScale(0)).y1(ve),Qe=_.enter().append("path").attr("class","line line-"+h).attr("stroke-width",1).attr("stroke-linecap","round");_.merge(Qe).each(function(){let ee=(0,vl.select)(this),Te;if(a.closed?(ee.attr("fill",M),ee.attr("fill-opacity",.3),Te=Ie):(ee.attr("fill","none"),Te=De),ee.attr("stroke",M).attr("marker-end",function(){return a.fnType==="vector"?"url(#"+t.markerId+")":null}).attr("d",Te),a.attr)for(let ze in a.attr)a.attr.hasOwnProperty(ze)&&ee.attr(ze,a.attr[ze])}),_.exit().remove()})}return e}y3.default=Tv});var Sl=an(S3=>{"use strict";var yl=S3&&S3.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(S3,"__esModule",{value:!0});var Av=_i(),Iv=yl(la()),kv=yl(M1());function bv(t){let e,r=t.meta.xScale,a=t.meta.yScale;function l(M,_,R,ie){if(R>ie){let ve=R;R=ie,ie=ve}let K=Math.min(_,ie),de=Math.max(M,R);return de>K?[-e,0]:[de,K]}let h=function(M,_){let R="",ie=a.range(),K=Math.min.apply(Math,ie),de=Math.max.apply(Math,ie);for(let ve=0,De=M.length;ve<De;ve+=1)if(M[ve]){let Ie=M[ve][0],Qe=M[ve][1],ee=Qe.lo,Te=Qe.hi;_&&(ee=Math.min(ee,0),Te=Math.max(Te,0));let ze=r(Ie.lo)+M.scaledDx/2,Oe=l(K,de,isFinite(Te)?a(Te):-1/0,isFinite(ee)?a(ee):1/0),ut=Oe[0],at=Oe[1];R+=" M "+ze+" "+ut,R+=" v "+Math.max(at-ut,e)}return R};function L(M){M.each(function(_){let R=L.el=(0,Av.select)(this),ie=_.index,K=_.closed,de=(0,Iv.default)(t,_),ve=R.selectAll(":scope > path.line").data(de);e=Math.max(de[0].scaledDx,1);let De=ve.enter().append("path").attr("class","line line-"+ie).attr("fill","none"),Ie=ve.merge(De).attr("stroke-width",e).attr("stroke",kv.default.color(_,ie)).attr("opacity",K?.5:1).attr("d",function(Qe){return h(Qe,K)});if(_.attr)for(let Qe in _.attr)_.attr.hasOwnProperty(Qe)&&Ie.attr(Qe,_.attr[Qe]);ve.exit().remove()})}return L}S3.default=bv});var Ml=an(_3=>{"use strict";var _l=_3&&_3.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_3,"__esModule",{value:!0});var Lv=_i(),Ov=r3(),Pv=_l(M1()),Rv=_l(la());function qv(t){let e=t.meta.xScale,r=t.meta.yScale;function a(l){l.each(function(h){let L,M,_=h.index,R=Pv.default.color(h,_),ie=(0,Rv.default)(t,h),K=[];for(L=0;L<ie.length;L+=1)for(M=0;M<ie[L].length;M+=1)K.push(ie[L][M]);let de=(0,Lv.select)(this).selectAll(":scope > circle").data(K),ve=de.enter().append("circle"),De=de.merge(ve).attr("fill",(0,Ov.hsl)(R.toString()).brighter(1.5).hex()).attr("stroke",R).attr("opacity",.7).attr("r",1).attr("cx",function(Ie){return e(Ie[0])}).attr("cy",function(Ie){return r(Ie[1])});if(h.attr)for(let Ie in h.attr)h.attr.hasOwnProperty(Ie)&&De.attr(Ie,h.attr[Ie]);de.exit().remove()})}return a}_3.default=qv});var ca=an(h0=>{"use strict";var J4=h0&&h0.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(h0,"__esModule",{value:!0});h0.scatter=h0.interval=h0.polyline=void 0;var Uv=J4(wl());h0.polyline=Uv.default;var Dv=J4(Sl());h0.interval=Dv.default;var Fv=J4(Ml());h0.scatter=Fv.default});var fa=an(K4=>{"use strict";Object.defineProperty(K4,"__esModule",{value:!0});function Hv(t){return"graphType"in t||(t.graphType="interval"),"sampler"in t||(t.sampler=t.graphType!=="interval"?"builtIn":"interval"),"fnType"in t||(t.fnType="linear"),t}K4.default=Hv});var Nl=an(M3=>{"use strict";var Bv=M3&&M3.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(M3,"__esModule",{value:!0});var zv=_i(),Vv=ca(),El=I1(),Gv=Bv(fa());function $v(t){let e=(0,Gv.default)({isHelper:!0,skipTip:!0,skipBoundsCheck:!0,nSamples:2,graphType:"polyline"});function r(h){if(!h.derivative)return[];let L=typeof h.derivative.x0=="number"?h.derivative.x0:1/0;return e.index=h.index,e.scope={m:(0,El.builtIn)(h.derivative,"fn",{x:L}),x0:L,y0:(0,El.builtIn)(h,"fn",{x:L})},e.fn="m * (x - x0) + y0",[e]}function a(h){let L=this;!h.derivative||h.derivative.updateOnMouseMove&&!h.derivative.$$mouseListener&&(h.derivative.$$mouseListener=function({x:M}){h.derivative&&(h.derivative.x0=M),l(L)},t.on("tip:update",h.derivative.$$mouseListener))}let l=function(h){h.each(function(L){let M=(0,zv.select)(this),_=r.call(h,L);a.call(h,L);let R=M.selectAll("g.derivative").data(_),ie=R.enter().append("g").attr("class","derivative");R.merge(ie).call((0,Vv.polyline)(t)),R.merge(ie).selectAll("path").attr("opacity",.5),R.exit().remove()})};return l}M3.default=$v});var Cl=an(E3=>{"use strict";var Xv=E3&&E3.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(E3,"__esModule",{value:!0});var jv=_i(),xl=I1(),Yv=Xv(fa()),Wv=ca();function Zv(t){let e=(0,Yv.default)({isHelper:!0,skipTip:!0,skipBoundsCheck:!0,nSamples:2,graphType:"polyline"});function r(_){_.m=(_.y1-_.y0)/(_.x1-_.x0)}function a(_,R){if(!("x0"in R))throw Error("secant must have the property `x0` defined");R.scope=R.scope||{};let ie=R.x0,K=typeof R.x1=="number"?R.x1:1/0;Object.assign(R.scope,{x0:ie,x1:K,y0:(0,xl.builtIn)(_,"fn",{x:ie}),y1:(0,xl.builtIn)(_,"fn",{x:K})}),r(R.scope)}function l(_,R){a(_,R),R.fn="m * (x - x0) + y0"}function h(_,R){let ie=this;R.updateOnMouseMove&&!R.$$mouseListener&&(R.$$mouseListener=function({x:K}){R.x1=K,a(_,R),M(ie)},t.on("tip:update",R.$$mouseListener))}function L(_){let R=this,ie=[];_.secants=_.secants||[];for(let K=0;K<_.secants.length;K+=1){let de=_.secants[K]=Object.assign({},e,_.secants[K]);de.index=_.index,de.fn||(l.call(R,_,de),h.call(R,_,de)),ie.push(de)}return ie}let M=function(_){_.each(function(R){let ie=(0,jv.select)(this),K=L.call(_,R),de=ie.selectAll("g.secant").data(K),ve=de.enter().append("g").attr("class","secant");de.merge(ve).call((0,Wv.polyline)(t)),de.merge(ve).selectAll("path").attr("opacity",.5),de.exit().remove()})};return M}E3.default=Zv});var Al=an(N3=>{"use strict";var Tl=N3&&N3.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(N3,"__esModule",{value:!0});var Qv=_i(),Jv=Tl(Nl()),Kv=Tl(Cl());function ew(t){function e(r){r.each(function(){let a=(0,Qv.select)(this);a.call((0,Jv.default)(t)),a.call((0,Kv.default)(t))})}return e}N3.default=ew});var Il=an(()=>{typeof window!="undefined"&&function(t,e){try{t.querySelector(":scope body")}catch(r){["querySelector","querySelectorAll"].forEach(function(a){let l=e[a];e[a]=function(h){if(/(^|,)\s*:scope/.test(h)){let L=this.id;this.id="ID_"+Date.now(),h=h.replace(/((^|,)\s*):scope/g,"$1#"+this.id);let M=t[a](h);return this.id=L,M}else return l.call(this,h)}})}}(window.document,Element.prototype)});var ma=an(xi=>{"use strict";var tw=xi&&xi.__createBinding||(Object.create?function(t,e,r,a){a===void 0&&(a=r);var l=Object.getOwnPropertyDescriptor(e,r);(!l||("get"in l?!e.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,a,l)}:function(t,e,r,a){a===void 0&&(a=r),t[a]=e[r]}),nw=xi&&xi.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Rl=xi&&xi.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&tw(e,t,r);return nw(e,t),e},a2=xi&&xi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(xi,"__esModule",{value:!0});xi.Chart=void 0;var rw=n3(),kl=t4(),bl=u9(),Ll=c9(),iw=M9(),pa=_i(),Ol=i3(),ow=a2(require("events")),aw=a2(E9()),sw=a2(al()),uw=a2(Al()),lw=a2(fa()),ha=a2(o3()),ql=Rl(ca()),cw=Rl(I1());Il();var Pl={linear:bl.scaleLinear,log:bl.scaleLog},W0=class extends ow.default.EventEmitter{constructor(e){super();let r=Math.random(),a=String.fromCharCode(Math.floor(r*26)+97);this.options=e,this.id=a+r.toString(16).substr(2),this.options.id=this.id,this.markerId=this.id+"-marker",W0.cache[this.id]=this,this.linkedGraphs=[this],this.meta={},this.setUpEventListeners()}build(){return this.internalVars(),this.drawGraphWrapper(),this}getDraggableNode(){return(0,pa.select)(this.options.target).select(".zoom-and-drag").node()}getEmitInstance(){let e=this,r=this.getDraggableNode();return r&&(e=r.instance),e}internalVars(){let e=this,r=this.meta.margin={left:40,right:20,top:20,bottom:20};this.options.title&&(this.meta.margin.top=40),this.meta.width=(this.options.width||ha.default.DEFAULT_WIDTH)-r.left-r.right,this.meta.height=(this.options.height||ha.default.DEFAULT_HEIGHT)-r.top-r.bottom,this.initializeAxes()}initializeAxes(){let e=this,r=(0,kl.format)("~s"),a=(0,kl.format)("~e");function l(_){return Math.abs(_)-Math.floor(Math.abs(_))>0?_.toString():r(_)}function h(_){let R=_[1]-_[0];return e.meta.height*R/e.meta.width}this.options.xAxis=this.options.xAxis||{},this.options.xAxis.type=this.options.xAxis.type||"linear",this.options.yAxis=this.options.yAxis||{},this.options.yAxis.type=this.options.yAxis.type||"linear";let L=this.meta.xDomain=function(_){if(_.domain)return _.domain;if(_.type==="linear")return[-12/2,12/2];if(_.type==="log")return[1,10];throw Error("axis type "+_.type+" unsupported")}(this.options.xAxis),M=this.meta.yDomain=function(_){if(_.domain)return _.domain;let R=h(L);if(_.type==="linear")return[-R/2,R/2];if(_.type==="log")return[1,10];throw Error("axis type "+_.type+" unsupported")}(this.options.yAxis);this.meta.xScale||(this.meta.xScale=Pl[this.options.xAxis.type]()),this.meta.xScale.domain(L).range(this.options.xAxis.invert?[this.meta.width,0]:[0,this.meta.width]),this.meta.yScale||(this.meta.yScale=Pl[this.options.yAxis.type]()),this.meta.yScale.domain(M).range(this.options.yAxis.invert?[0,this.meta.height]:[this.meta.height,0]),this.meta.xAxis||(this.meta.xAxis=(0,Ll.axisBottom)(this.meta.xScale)),this.meta.xAxis.tickSize(this.options.grid?-this.meta.height:0).tickFormat(l),this.meta.yAxis||(this.meta.yAxis=(0,Ll.axisLeft)(this.meta.yScale)),this.meta.yAxis.tickSize(this.options.grid?-this.meta.width:0).tickFormat(l),this.line=(0,rw.line)().x(function(_){return e.meta.xScale(_[0])}).y(function(_){return e.meta.yScale(_[1])})}drawGraphWrapper(){let e=this.root=(0,pa.select)(this.options.target).selectAll("svg").data([this.options]);this.root.enter=e.enter().append("svg").attr("class","function-plot").attr("font-size",this.getFontSize()),e.merge(this.root.enter).attr("width",this.meta.width+this.meta.margin.left+this.meta.margin.right).attr("height",this.meta.height+this.meta.margin.top+this.meta.margin.bottom),this.buildTitle(),this.buildLegend(),this.buildCanvas(),this.buildClip(),this.buildAxis(),this.buildAxisLabel(),this.draw();let r=this.tip=(0,sw.default)(Object.assign(this.options.tip||{},{owner:this}));this.canvas.merge(this.canvas.enter).call(r),this.buildZoomHelper(),this.setUpPlugins()}buildTitle(){let e=this.root.merge(this.root.enter).selectAll("text.title").data(function(a){return[a.title].filter(Boolean)});e.enter().append("text").merge(e).attr("class","title").attr("y",this.meta.margin.top/2).attr("x",this.meta.margin.left+this.meta.width/2).attr("font-size",25).attr("text-anchor","middle").attr("alignment-baseline","middle").text(this.options.title),e.exit().remove()}buildLegend(){this.root.enter.append("text").attr("class","top-right-legend").attr("text-anchor","end"),this.root.merge(this.root.enter).select(".top-right-legend").attr("y",this.meta.margin.top/2).attr("x",this.meta.width+this.meta.margin.left)}buildCanvas(){let e=this.canvas=this.root.merge(this.root.enter).selectAll(".canvas").data(function(r){return[r]});this.canvas.enter=e.enter().append("g").attr("class","canvas")}buildClip(){let e=this.id,r=this.canvas.enter.append("defs");r.append("clipPath").attr("id","function-plot-clip-"+e).append("rect").attr("class","clip static-clip"),this.canvas.merge(this.canvas.enter).selectAll(".clip").attr("width",this.meta.width).attr("height",this.meta.height),r.append("clipPath").append("marker").attr("id",this.markerId).attr("viewBox","0 -5 10 10").attr("refX",10).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("svg:path").attr("d","M0,-5L10,0L0,5L0,0").attr("stroke-width","0px").attr("fill-opacity",1).attr("fill","#777")}buildAxis(){let e=this.canvas.enter;e.append("g").attr("class","x axis"),e.append("g").attr("class","y axis"),this.canvas.merge(this.canvas.enter).select(".x.axis").attr("transform","translate(0,"+this.meta.height+")").call(this.meta.xAxis),this.canvas.merge(this.canvas.enter).select(".y.axis").call(this.meta.yAxis)}buildAxisLabel(){let e=this.canvas,r=e.merge(e.enter).selectAll("text.x.axis-label").data(function(L){return[L.xAxis.label].filter(Boolean)}),a=r.enter().append("text").attr("class","x axis-label").attr("text-anchor","end");r.merge(a).attr("x",this.meta.width).attr("y",this.meta.height-6).text(function(L){return L}),r.exit().remove();let l=e.merge(e.enter).selectAll("text.y.axis-label").data(function(L){return[L.yAxis.label].filter(Boolean)}),h=l.enter().append("text").attr("class","y axis-label").attr("y",6).attr("dy",".75em").attr("text-anchor","end").attr("transform","rotate(-90)");l.merge(h).text(function(L){return L}),l.exit().remove()}buildContent(){let e=this,r=this.canvas;r.merge(r.enter).attr("transform","translate("+this.meta.margin.left+","+this.meta.margin.top+")");let a=this.content=r.merge(r.enter).selectAll(":scope > g.content").data(function(M){return[M]}),l=a.enter().append("g").attr("clip-path","url(#function-plot-clip-"+this.id+")").attr("class","content");if(this.options.xAxis.type==="linear"){let M=a.merge(l).selectAll(":scope > path.y.origin").data([[[0,this.meta.yScale.domain()[0]],[0,this.meta.yScale.domain()[1]]]]),_=M.enter().append("path").attr("class","y origin").attr("stroke","black").attr("opacity",.2);M.merge(_).attr("d",this.line)}if(this.options.yAxis.type==="linear"){let M=a.merge(l).selectAll(":scope > path.x.origin").data([[[this.meta.xScale.domain()[0],0],[this.meta.xScale.domain()[1],0]]]),_=M.enter().append("path").attr("class","x origin").attr("stroke","black").attr("opacity",.2);M.merge(_).attr("d",this.line)}a.merge(l).call((0,aw.default)({owner:e}));let h=a.merge(l).selectAll(":scope > g.graph").data(M=>M.data.map(lw.default)),L=h.enter().append("g").attr("class","graph");h.merge(L).each(function(M,_){M.index=_;let R=(0,pa.select)(this);R.call(ql[M.graphType](e)),R.call((0,uw.default)(e))})}buildZoomHelper(){let e=this;this.meta.zoomBehavior||(this.meta.zoomBehavior=(0,iw.zoom)().on("zoom",function(a){e.getEmitInstance().emit("all:zoom",a)}),e.meta.zoomBehavior.xScale=e.meta.xScale.copy(),e.meta.zoomBehavior.yScale=e.meta.yScale.copy()),e.meta.zoomBehavior.xScale.range(e.meta.xScale.range()),e.meta.zoomBehavior.yScale.range(e.meta.yScale.range()),this.canvas.enter.append("rect").call(this.meta.zoomBehavior).attr("class","zoom-and-drag").style("fill","none").style("pointer-events","all").on("mouseover",function(r){e.getEmitInstance().emit("all:mouseover",r)}).on("mouseout",function(r){e.getEmitInstance().emit("all:mouseout",r)}).on("mousemove",function(r){e.getEmitInstance().emit("all:mousemove",r)}),this.draggable=this.canvas.merge(this.canvas.enter).select(".zoom-and-drag").call(r=>{r.node()&&(r.node().instance=e)}).attr("width",this.meta.width).attr("height",this.meta.height)}setUpPlugins(){let e=this.options.plugins||[],r=this;e.forEach(function(a){a(r)})}addLink(){for(let e=0;e<arguments.length;e+=1)this.linkedGraphs.push(arguments[e])}updateAxes(){let e=this,r=e.canvas.merge(e.canvas.enter);r.select(".x.axis").call(e.meta.xAxis),r.select(".y.axis").call(e.meta.yAxis),r.selectAll(".axis path, .axis line").attr("fill","none").attr("stroke","black").attr("shape-rendering","crispedges").attr("opacity",.1)}syncOptions(){this.options.xAxis.domain=this.meta.xScale.domain(),this.options.yAxis.domain=this.meta.yScale.domain()}getFontSize(){return Math.max(Math.max(this.meta.width,this.meta.height)/50,8)}draw(){let e=this;e.emit("before:draw"),e.syncOptions(),e.updateAxes(),e.buildContent(),e.emit("after:draw")}setUpEventListeners(){let e=this,r=this.getEmitInstance();r&&r.removeAllListeners();let a={mousemove:function(h){e.tip.move(h)},mouseover:function(){e.tip.show()},mouseout:function(){e.tip.hide()},zoom:function({transform:L}){if(e.options.disableZoom)return;let M=L.rescaleX(e.meta.zoomBehavior.xScale).interpolate(Ol.interpolateRound),_=L.rescaleY(e.meta.zoomBehavior.yScale).interpolate(Ol.interpolateRound);e.meta.xScale.domain(M.domain()).range(M.range()),e.meta.yScale.domain(_.domain()).range(_.range())},"tip:update":function({x:h,y:L,index:M}){let _=e.root.merge(e.root.enter).datum().data[M],R=_.title||"",ie=_.renderer||function(de,ve){return de.toFixed(3)+", "+ve.toFixed(3)},K=[];R&&K.push(R),K.push(ie(h,L)),e.root.select(".top-right-legend").attr("fill",ha.default.COLORS[M]).text(K.join(" "))}},l={mousemove:function(h){let L=(0,pa.pointer)(h,e.draggable.node()),M={x:e.meta.xScale.invert(L[0]),y:e.meta.yScale.invert(L[1])};e.linkedGraphs.forEach(function(_){_.emit("before:mousemove",M),_.emit("mousemove",M)})},zoom:function(h){e.linkedGraphs.forEach(function(L){L.draggable.node().__zoom=e.draggable.node().__zoom,L.emit("zoom",h),L.draw()}),e.emit("all:mousemove",h)}};Object.keys(a).forEach(function(h){!l[h]&&e.on("all:"+h,function(){let L=Array.prototype.slice.call(arguments);e.linkedGraphs.forEach(function(M){let _=L.slice();_.unshift(h),M.emit.apply(M,_)})}),e.on(h,a[h])}),Object.keys(l).forEach(function(h){e.on("all:"+h,l[h])})}};xi.Chart=W0;W0.cache={};function da(t={target:null}){t.data=t.data||[];let e=W0.cache[t.id];return e||(e=new W0(t)),e.build()}da.globals=ha.default;da.$eval=cw;da.graphTypes=ql;xi.default=da});var ic=an(nr=>{"use strict";function s8(t,e){var r=t.length;t.push(e);e:for(;0<r;){var a=r-1>>>1,l=t[a];if(0<ya(l,e))t[a]=e,t[r]=l,r=a;else break e}}function t0(t){return t.length===0?null:t[0]}function _a(t){if(t.length===0)return null;var e=t[0],r=t.pop();if(r!==e){t[0]=r;e:for(var a=0,l=t.length,h=l>>>1;a<h;){var L=2*(a+1)-1,M=t[L],_=L+1,R=t[_];if(0>ya(M,r))_<l&&0>ya(R,M)?(t[a]=R,t[_]=r,a=_):(t[a]=M,t[L]=r,a=L);else if(_<l&&0>ya(R,r))t[a]=R,t[_]=r,a=_;else break e}}return e}function ya(t,e){var r=t.sortIndex-e.sortIndex;return r!==0?r:t.id-e.id}typeof performance=="object"&&typeof performance.now=="function"?(Wl=performance,nr.unstable_now=function(){return Wl.now()}):(i8=Date,Zl=i8.now(),nr.unstable_now=function(){return i8.now()-Zl});var Wl,i8,Zl,d0=[],Q0=[],hw=1,Fi=null,Wr=3,Ma=!1,b1=!1,A3=!1,Kl=typeof setTimeout=="function"?setTimeout:null,ec=typeof clearTimeout=="function"?clearTimeout:null,Ql=typeof setImmediate!="undefined"?setImmediate:null;typeof navigator!="undefined"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function u8(t){for(var e=t0(Q0);e!==null;){if(e.callback===null)_a(Q0);else if(e.startTime<=t)_a(Q0),e.sortIndex=e.expirationTime,s8(d0,e);else break;e=t0(Q0)}}function l8(t){if(A3=!1,u8(t),!b1)if(t0(d0)!==null)b1=!0,f8(c8);else{var e=t0(Q0);e!==null&&p8(l8,e.startTime-t)}}function c8(t,e){b1=!1,A3&&(A3=!1,ec(I3),I3=-1),Ma=!0;var r=Wr;try{for(u8(e),Fi=t0(d0);Fi!==null&&(!(Fi.expirationTime>e)||t&&!rc());){var a=Fi.callback;if(typeof a=="function"){Fi.callback=null,Wr=Fi.priorityLevel;var l=a(Fi.expirationTime<=e);e=nr.unstable_now(),typeof l=="function"?Fi.callback=l:Fi===t0(d0)&&_a(d0),u8(e)}else _a(d0);Fi=t0(d0)}if(Fi!==null)var h=!0;else{var L=t0(Q0);L!==null&&p8(l8,L.startTime-e),h=!1}return h}finally{Fi=null,Wr=r,Ma=!1}}var Ea=!1,Sa=null,I3=-1,tc=5,nc=-1;function rc(){return!(nr.unstable_now()-nc<tc)}function o8(){if(Sa!==null){var t=nr.unstable_now();nc=t;var e=!0;try{e=Sa(!0,t)}finally{e?T3():(Ea=!1,Sa=null)}}else Ea=!1}var T3;typeof Ql=="function"?T3=function(){Ql(o8)}:typeof MessageChannel!="undefined"?(a8=new MessageChannel,Jl=a8.port2,a8.port1.onmessage=o8,T3=function(){Jl.postMessage(null)}):T3=function(){Kl(o8,0)};var a8,Jl;function f8(t){Sa=t,Ea||(Ea=!0,T3())}function p8(t,e){I3=Kl(function(){t(nr.unstable_now())},e)}nr.unstable_IdlePriority=5;nr.unstable_ImmediatePriority=1;nr.unstable_LowPriority=4;nr.unstable_NormalPriority=3;nr.unstable_Profiling=null;nr.unstable_UserBlockingPriority=2;nr.unstable_cancelCallback=function(t){t.callback=null};nr.unstable_continueExecution=function(){b1||Ma||(b1=!0,f8(c8))};nr.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):tc=0<t?Math.floor(1e3/t):5};nr.unstable_getCurrentPriorityLevel=function(){return Wr};nr.unstable_getFirstCallbackNode=function(){return t0(d0)};nr.unstable_next=function(t){switch(Wr){case 1:case 2:case 3:var e=3;break;default:e=Wr}var r=Wr;Wr=e;try{return t()}finally{Wr=r}};nr.unstable_pauseExecution=function(){};nr.unstable_requestPaint=function(){};nr.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var r=Wr;Wr=t;try{return e()}finally{Wr=r}};nr.unstable_scheduleCallback=function(t,e,r){var a=nr.unstable_now();switch(typeof r=="object"&&r!==null?(r=r.delay,r=typeof r=="number"&&0<r?a+r:a):r=a,t){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return l=r+l,t={id:hw++,callback:e,priorityLevel:t,startTime:r,expirationTime:l,sortIndex:-1},r>a?(t.sortIndex=r,s8(Q0,t),t0(d0)===null&&t===t0(Q0)&&(A3?(ec(I3),I3=-1):A3=!0,p8(l8,r-a))):(t.sortIndex=l,s8(d0,t),b1||Ma||(b1=!0,f8(c8))),t};nr.unstable_shouldYield=rc;nr.unstable_wrapCallback=function(t){var e=Wr;return function(){var r=Wr;Wr=e;try{return t.apply(this,arguments)}finally{Wr=r}}}});var ac=an((QM,oc)=>{"use strict";oc.exports=ic()});var hh=an(Li=>{"use strict";var df=Mr(),ki=ac();function fn(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r<arguments.length;r++)e+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var mf=new Set,Q3={};function G1(t,e){A2(t,e),A2(t+"Capture",e)}function A2(t,e){for(Q3[t]=e,t=0;t<e.length;t++)mf.add(e[t])}var P0=!(typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"),R8=Object.prototype.hasOwnProperty,dw=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,sc={},uc={};function mw(t){return R8.call(uc,t)?!0:R8.call(sc,t)?!1:dw.test(t)?uc[t]=!0:(sc[t]=!0,!1)}function gw(t,e,r,a){if(r!==null&&r.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return a?!1:r!==null?!r.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function vw(t,e,r,a){if(e===null||typeof e=="undefined"||gw(t,e,r,a))return!0;if(a)return!1;if(r!==null)switch(r.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function si(t,e,r,a,l,h,L){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=a,this.attributeNamespace=l,this.mustUseProperty=r,this.propertyName=t,this.type=e,this.sanitizeURL=h,this.removeEmptyString=L}var $r={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){$r[t]=new si(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];$r[e]=new si(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){$r[t]=new si(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){$r[t]=new si(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){$r[t]=new si(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){$r[t]=new si(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){$r[t]=new si(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){$r[t]=new si(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){$r[t]=new si(t,5,!1,t.toLowerCase(),null,!1,!1)});var T5=/[\-:]([a-z])/g;function A5(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(T5,A5);$r[e]=new si(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(T5,A5);$r[e]=new si(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(T5,A5);$r[e]=new si(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){$r[t]=new si(t,1,!1,t.toLowerCase(),null,!1,!1)});$r.xlinkHref=new si("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){$r[t]=new si(t,1,!1,t.toLowerCase(),null,!0,!0)});function I5(t,e,r,a){var l=$r.hasOwnProperty(e)?$r[e]:null;(l!==null?l.type!==0:a||!(2<e.length)||e[0]!=="o"&&e[0]!=="O"||e[1]!=="n"&&e[1]!=="N")&&(vw(e,r,l,a)&&(r=null),a||l===null?mw(e)&&(r===null?t.removeAttribute(e):t.setAttribute(e,""+r)):l.mustUseProperty?t[l.propertyName]=r===null?l.type===3?!1:"":r:(e=l.attributeName,a=l.attributeNamespace,r===null?t.removeAttribute(e):(l=l.type,r=l===3||l===4&&r===!0?"":""+r,a?t.setAttributeNS(a,e,r):t.setAttribute(e,r))))}var D0=df.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Na=Symbol.for("react.element"),c2=Symbol.for("react.portal"),f2=Symbol.for("react.fragment"),k5=Symbol.for("react.strict_mode"),q8=Symbol.for("react.profiler"),gf=Symbol.for("react.provider"),vf=Symbol.for("react.context"),b5=Symbol.for("react.forward_ref"),U8=Symbol.for("react.suspense"),D8=Symbol.for("react.suspense_list"),L5=Symbol.for("react.memo"),K0=Symbol.for("react.lazy");Symbol.for("react.scope");Symbol.for("react.debug_trace_mode");var wf=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden");Symbol.for("react.cache");Symbol.for("react.tracing_marker");var lc=Symbol.iterator;function k3(t){return t===null||typeof t!="object"?null:(t=lc&&t[lc]||t["@@iterator"],typeof t=="function"?t:null)}var dr=Object.assign,h8;function D3(t){if(h8===void 0)try{throw Error()}catch(r){var e=r.stack.trim().match(/\n( *(at )?)/);h8=e&&e[1]||""}return`
|
||
`+h8+t}var d8=!1;function m8(t,e){if(!t||d8)return"";d8=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(e)if(e=function(){throw Error()},Object.defineProperty(e.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(e,[])}catch(R){var a=R}Reflect.construct(t,[],e)}else{try{e.call()}catch(R){a=R}t.call(e.prototype)}else{try{throw Error()}catch(R){a=R}t()}}catch(R){if(R&&a&&typeof R.stack=="string"){for(var l=R.stack.split(`
|
||
`),h=a.stack.split(`
|
||
`),L=l.length-1,M=h.length-1;1<=L&&0<=M&&l[L]!==h[M];)M--;for(;1<=L&&0<=M;L--,M--)if(l[L]!==h[M]){if(L!==1||M!==1)do if(L--,M--,0>M||l[L]!==h[M]){var _=`
|
||
`+l[L].replace(" at new "," at ");return t.displayName&&_.includes("<anonymous>")&&(_=_.replace("<anonymous>",t.displayName)),_}while(1<=L&&0<=M);break}}}finally{d8=!1,Error.prepareStackTrace=r}return(t=t?t.displayName||t.name:"")?D3(t):""}function ww(t){switch(t.tag){case 5:return D3(t.type);case 16:return D3("Lazy");case 13:return D3("Suspense");case 19:return D3("SuspenseList");case 0:case 2:case 15:return t=m8(t.type,!1),t;case 11:return t=m8(t.type.render,!1),t;case 1:return t=m8(t.type,!0),t;default:return""}}function F8(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case f2:return"Fragment";case c2:return"Portal";case q8:return"Profiler";case k5:return"StrictMode";case U8:return"Suspense";case D8:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case vf:return(t.displayName||"Context")+".Consumer";case gf:return(t._context.displayName||"Context")+".Provider";case b5:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case L5:return e=t.displayName||null,e!==null?e:F8(t.type)||"Memo";case K0:e=t._payload,t=t._init;try{return F8(t(e))}catch(r){}}return null}function yw(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return F8(e);case 8:return e===k5?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function h1(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function yf(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Sw(t){var e=yf(t)?"checked":"value",r=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),a=""+t[e];if(!t.hasOwnProperty(e)&&typeof r!="undefined"&&typeof r.get=="function"&&typeof r.set=="function"){var l=r.get,h=r.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return l.call(this)},set:function(L){a=""+L,h.call(this,L)}}),Object.defineProperty(t,e,{enumerable:r.enumerable}),{getValue:function(){return a},setValue:function(L){a=""+L},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function xa(t){t._valueTracker||(t._valueTracker=Sw(t))}function Sf(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var r=e.getValue(),a="";return t&&(a=yf(t)?t.checked?"true":"false":t.value),t=a,t!==r?(e.setValue(t),!0):!1}function Ka(t){if(t=t||(typeof document!="undefined"?document:void 0),typeof t=="undefined")return null;try{return t.activeElement||t.body}catch(e){return t.body}}function H8(t,e){var r=e.checked;return dr({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r!=null?r:t._wrapperState.initialChecked})}function cc(t,e){var r=e.defaultValue==null?"":e.defaultValue,a=e.checked!=null?e.checked:e.defaultChecked;r=h1(e.value!=null?e.value:r),t._wrapperState={initialChecked:a,initialValue:r,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function _f(t,e){e=e.checked,e!=null&&I5(t,"checked",e,!1)}function B8(t,e){_f(t,e);var r=h1(e.value),a=e.type;if(r!=null)a==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+r):t.value!==""+r&&(t.value=""+r);else if(a==="submit"||a==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?z8(t,e.type,r):e.hasOwnProperty("defaultValue")&&z8(t,e.type,h1(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function fc(t,e,r){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var a=e.type;if(!(a!=="submit"&&a!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,r||e===t.value||(t.value=e),t.defaultValue=e}r=t.name,r!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,r!==""&&(t.name=r)}function z8(t,e,r){(e!=="number"||Ka(t.ownerDocument)!==t)&&(r==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+r&&(t.defaultValue=""+r))}var F3=Array.isArray;function M2(t,e,r,a){if(t=t.options,e){e={};for(var l=0;l<r.length;l++)e["$"+r[l]]=!0;for(r=0;r<t.length;r++)l=e.hasOwnProperty("$"+t[r].value),t[r].selected!==l&&(t[r].selected=l),l&&a&&(t[r].defaultSelected=!0)}else{for(r=""+h1(r),e=null,l=0;l<t.length;l++){if(t[l].value===r){t[l].selected=!0,a&&(t[l].defaultSelected=!0);return}e!==null||t[l].disabled||(e=t[l])}e!==null&&(e.selected=!0)}}function V8(t,e){if(e.dangerouslySetInnerHTML!=null)throw Error(fn(91));return dr({},e,{value:void 0,defaultValue:void 0,children:""+t._wrapperState.initialValue})}function pc(t,e){var r=e.value;if(r==null){if(r=e.children,e=e.defaultValue,r!=null){if(e!=null)throw Error(fn(92));if(F3(r)){if(1<r.length)throw Error(fn(93));r=r[0]}e=r}e==null&&(e=""),r=e}t._wrapperState={initialValue:h1(r)}}function Mf(t,e){var r=h1(e.value),a=h1(e.defaultValue);r!=null&&(r=""+r,r!==t.value&&(t.value=r),e.defaultValue==null&&t.defaultValue!==r&&(t.defaultValue=r)),a!=null&&(t.defaultValue=""+a)}function hc(t){var e=t.textContent;e===t._wrapperState.initialValue&&e!==""&&e!==null&&(t.value=e)}function Ef(t){switch(t){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function G8(t,e){return t==null||t==="http://www.w3.org/1999/xhtml"?Ef(e):t==="http://www.w3.org/2000/svg"&&e==="foreignObject"?"http://www.w3.org/1999/xhtml":t}var Ca,Nf=function(t){return typeof MSApp!="undefined"&&MSApp.execUnsafeLocalFunction?function(e,r,a,l){MSApp.execUnsafeLocalFunction(function(){return t(e,r,a,l)})}:t}(function(t,e){if(t.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in t)t.innerHTML=e;else{for(Ca=Ca||document.createElement("div"),Ca.innerHTML="<svg>"+e.valueOf().toString()+"</svg>",e=Ca.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function J3(t,e){if(e){var r=t.firstChild;if(r&&r===t.lastChild&&r.nodeType===3){r.nodeValue=e;return}}t.textContent=e}var z3={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},_w=["Webkit","ms","Moz","O"];Object.keys(z3).forEach(function(t){_w.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),z3[e]=z3[t]})});function xf(t,e,r){return e==null||typeof e=="boolean"||e===""?"":r||typeof e!="number"||e===0||z3.hasOwnProperty(t)&&z3[t]?(""+e).trim():e+"px"}function Cf(t,e){t=t.style;for(var r in e)if(e.hasOwnProperty(r)){var a=r.indexOf("--")===0,l=xf(r,e[r],a);r==="float"&&(r="cssFloat"),a?t.setProperty(r,l):t[r]=l}}var Mw=dr({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function $8(t,e){if(e){if(Mw[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(fn(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(fn(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(fn(61))}if(e.style!=null&&typeof e.style!="object")throw Error(fn(62))}}function X8(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var j8=null;function O5(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Y8=null,E2=null,N2=null;function dc(t){if(t=vo(t)){if(typeof Y8!="function")throw Error(fn(280));var e=t.stateNode;e&&(e=T6(e),Y8(t.stateNode,t.type,e))}}function Tf(t){E2?N2?N2.push(t):N2=[t]:E2=t}function Af(){if(E2){var t=E2,e=N2;if(N2=E2=null,dc(t),e)for(t=0;t<e.length;t++)dc(e[t])}}function If(t,e){return t(e)}function kf(){}var g8=!1;function bf(t,e,r){if(g8)return t(e,r);g8=!0;try{return If(t,e,r)}finally{g8=!1,(E2!==null||N2!==null)&&(kf(),Af())}}function K3(t,e){var r=t.stateNode;if(r===null)return null;var a=T6(r);if(a===null)return null;r=a[e];e:switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(t=t.type,a=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!a;break e;default:t=!1}if(t)return null;if(r&&typeof r!="function")throw Error(fn(231,e,typeof r));return r}var W8=!1;if(P0)try{u2={},Object.defineProperty(u2,"passive",{get:function(){W8=!0}}),window.addEventListener("test",u2,u2),window.removeEventListener("test",u2,u2)}catch(t){W8=!1}var u2;function Ew(t,e,r,a,l,h,L,M,_){var R=Array.prototype.slice.call(arguments,3);try{e.apply(r,R)}catch(ie){this.onError(ie)}}var V3=!1,e6=null,t6=!1,Z8=null,Nw={onError:function(t){V3=!0,e6=t}};function xw(t,e,r,a,l,h,L,M,_){V3=!1,e6=null,Ew.apply(Nw,arguments)}function Cw(t,e,r,a,l,h,L,M,_){if(xw.apply(this,arguments),V3){if(V3){var R=e6;V3=!1,e6=null}else throw Error(fn(198));t6||(t6=!0,Z8=R)}}function $1(t){var e=t,r=t;if(t.alternate)for(;e.return;)e=e.return;else{t=e;do e=t,(e.flags&4098)!==0&&(r=e.return),t=e.return;while(t)}return e.tag===3?r:null}function Lf(t){if(t.tag===13){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function mc(t){if($1(t)!==t)throw Error(fn(188))}function Tw(t){var e=t.alternate;if(!e){if(e=$1(t),e===null)throw Error(fn(188));return e!==t?null:t}for(var r=t,a=e;;){var l=r.return;if(l===null)break;var h=l.alternate;if(h===null){if(a=l.return,a!==null){r=a;continue}break}if(l.child===h.child){for(h=l.child;h;){if(h===r)return mc(l),t;if(h===a)return mc(l),e;h=h.sibling}throw Error(fn(188))}if(r.return!==a.return)r=l,a=h;else{for(var L=!1,M=l.child;M;){if(M===r){L=!0,r=l,a=h;break}if(M===a){L=!0,a=l,r=h;break}M=M.sibling}if(!L){for(M=h.child;M;){if(M===r){L=!0,r=h,a=l;break}if(M===a){L=!0,a=h,r=l;break}M=M.sibling}if(!L)throw Error(fn(189))}}if(r.alternate!==a)throw Error(fn(190))}if(r.tag!==3)throw Error(fn(188));return r.stateNode.current===r?t:e}function Of(t){return t=Tw(t),t!==null?Pf(t):null}function Pf(t){if(t.tag===5||t.tag===6)return t;for(t=t.child;t!==null;){var e=Pf(t);if(e!==null)return e;t=t.sibling}return null}var Rf=ki.unstable_scheduleCallback,gc=ki.unstable_cancelCallback,Aw=ki.unstable_shouldYield,Iw=ki.unstable_requestPaint,Er=ki.unstable_now,kw=ki.unstable_getCurrentPriorityLevel,P5=ki.unstable_ImmediatePriority,qf=ki.unstable_UserBlockingPriority,n6=ki.unstable_NormalPriority,bw=ki.unstable_LowPriority,Uf=ki.unstable_IdlePriority,E6=null,w0=null;function Lw(t){if(w0&&typeof w0.onCommitFiberRoot=="function")try{w0.onCommitFiberRoot(E6,t,void 0,(t.current.flags&128)===128)}catch(e){}}var a0=Math.clz32?Math.clz32:Rw,Ow=Math.log,Pw=Math.LN2;function Rw(t){return t>>>=0,t===0?32:31-(Ow(t)/Pw|0)|0}var Ta=64,Aa=4194304;function H3(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function r6(t,e){var r=t.pendingLanes;if(r===0)return 0;var a=0,l=t.suspendedLanes,h=t.pingedLanes,L=r&268435455;if(L!==0){var M=L&~l;M!==0?a=H3(M):(h&=L,h!==0&&(a=H3(h)))}else L=r&~l,L!==0?a=H3(L):h!==0&&(a=H3(h));if(a===0)return 0;if(e!==0&&e!==a&&(e&l)===0&&(l=a&-a,h=e&-e,l>=h||l===16&&(h&4194240)!==0))return e;if((a&4)!==0&&(a|=r&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=a;0<e;)r=31-a0(e),l=1<<r,a|=t[r],e&=~l;return a}function qw(t,e){switch(t){case 1:case 2:case 4:return e+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Uw(t,e){for(var r=t.suspendedLanes,a=t.pingedLanes,l=t.expirationTimes,h=t.pendingLanes;0<h;){var L=31-a0(h),M=1<<L,_=l[L];_===-1?((M&r)===0||(M&a)!==0)&&(l[L]=qw(M,e)):_<=e&&(t.expiredLanes|=M),h&=~M}}function Q8(t){return t=t.pendingLanes&-1073741825,t!==0?t:t&1073741824?1073741824:0}function Df(){var t=Ta;return Ta<<=1,(Ta&4194240)===0&&(Ta=64),t}function v8(t){for(var e=[],r=0;31>r;r++)e.push(t);return e}function mo(t,e,r){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-a0(e),t[e]=r}function Dw(t,e){var r=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var a=t.eventTimes;for(t=t.expirationTimes;0<r;){var l=31-a0(r),h=1<<l;e[l]=0,a[l]=-1,t[l]=-1,r&=~h}}function R5(t,e){var r=t.entangledLanes|=e;for(t=t.entanglements;r;){var a=31-a0(r),l=1<<a;l&e|t[a]&e&&(t[a]|=e),r&=~l}}var jn=0;function Ff(t){return t&=-t,1<t?4<t?(t&268435455)!==0?16:536870912:4:1}var Hf,q5,Bf,zf,Vf,J8=!1,Ia=[],o1=null,a1=null,s1=null,eo=new Map,to=new Map,t1=[],Fw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function vc(t,e){switch(t){case"focusin":case"focusout":o1=null;break;case"dragenter":case"dragleave":a1=null;break;case"mouseover":case"mouseout":s1=null;break;case"pointerover":case"pointerout":eo.delete(e.pointerId);break;case"gotpointercapture":case"lostpointercapture":to.delete(e.pointerId)}}function b3(t,e,r,a,l,h){return t===null||t.nativeEvent!==h?(t={blockedOn:e,domEventName:r,eventSystemFlags:a,nativeEvent:h,targetContainers:[l]},e!==null&&(e=vo(e),e!==null&&q5(e)),t):(t.eventSystemFlags|=a,e=t.targetContainers,l!==null&&e.indexOf(l)===-1&&e.push(l),t)}function Hw(t,e,r,a,l){switch(e){case"focusin":return o1=b3(o1,t,e,r,a,l),!0;case"dragenter":return a1=b3(a1,t,e,r,a,l),!0;case"mouseover":return s1=b3(s1,t,e,r,a,l),!0;case"pointerover":var h=l.pointerId;return eo.set(h,b3(eo.get(h)||null,t,e,r,a,l)),!0;case"gotpointercapture":return h=l.pointerId,to.set(h,b3(to.get(h)||null,t,e,r,a,l)),!0}return!1}function Gf(t){var e=P1(t.target);if(e!==null){var r=$1(e);if(r!==null){if(e=r.tag,e===13){if(e=Lf(r),e!==null){t.blockedOn=e,Vf(t.priority,function(){Bf(r)});return}}else if(e===3&&r.stateNode.current.memoizedState.isDehydrated){t.blockedOn=r.tag===3?r.stateNode.containerInfo:null;return}}}t.blockedOn=null}function Va(t){if(t.blockedOn!==null)return!1;for(var e=t.targetContainers;0<e.length;){var r=K8(t.domEventName,t.eventSystemFlags,e[0],t.nativeEvent);if(r===null){r=t.nativeEvent;var a=new r.constructor(r.type,r);j8=a,r.target.dispatchEvent(a),j8=null}else return e=vo(r),e!==null&&q5(e),t.blockedOn=r,!1;e.shift()}return!0}function wc(t,e,r){Va(t)&&r.delete(e)}function Bw(){J8=!1,o1!==null&&Va(o1)&&(o1=null),a1!==null&&Va(a1)&&(a1=null),s1!==null&&Va(s1)&&(s1=null),eo.forEach(wc),to.forEach(wc)}function L3(t,e){t.blockedOn===e&&(t.blockedOn=null,J8||(J8=!0,ki.unstable_scheduleCallback(ki.unstable_NormalPriority,Bw)))}function no(t){function e(l){return L3(l,t)}if(0<Ia.length){L3(Ia[0],t);for(var r=1;r<Ia.length;r++){var a=Ia[r];a.blockedOn===t&&(a.blockedOn=null)}}for(o1!==null&&L3(o1,t),a1!==null&&L3(a1,t),s1!==null&&L3(s1,t),eo.forEach(e),to.forEach(e),r=0;r<t1.length;r++)a=t1[r],a.blockedOn===t&&(a.blockedOn=null);for(;0<t1.length&&(r=t1[0],r.blockedOn===null);)Gf(r),r.blockedOn===null&&t1.shift()}var x2=D0.ReactCurrentBatchConfig,i6=!0;function zw(t,e,r,a){var l=jn,h=x2.transition;x2.transition=null;try{jn=1,U5(t,e,r,a)}finally{jn=l,x2.transition=h}}function Vw(t,e,r,a){var l=jn,h=x2.transition;x2.transition=null;try{jn=4,U5(t,e,r,a)}finally{jn=l,x2.transition=h}}function U5(t,e,r,a){if(i6){var l=K8(t,e,r,a);if(l===null)N8(t,e,a,o6,r),vc(t,a);else if(Hw(l,t,e,r,a))a.stopPropagation();else if(vc(t,a),e&4&&-1<Fw.indexOf(t)){for(;l!==null;){var h=vo(l);if(h!==null&&Hf(h),h=K8(t,e,r,a),h===null&&N8(t,e,a,o6,r),h===l)break;l=h}l!==null&&a.stopPropagation()}else N8(t,e,a,null,r)}}var o6=null;function K8(t,e,r,a){if(o6=null,t=O5(a),t=P1(t),t!==null)if(e=$1(t),e===null)t=null;else if(r=e.tag,r===13){if(t=Lf(e),t!==null)return t;t=null}else if(r===3){if(e.stateNode.current.memoizedState.isDehydrated)return e.tag===3?e.stateNode.containerInfo:null;t=null}else e!==t&&(t=null);return o6=t,null}function $f(t){switch(t){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(kw()){case P5:return 1;case qf:return 4;case n6:case bw:return 16;case Uf:return 536870912;default:return 16}default:return 16}}var r1=null,D5=null,Ga=null;function Xf(){if(Ga)return Ga;var t,e=D5,r=e.length,a,l="value"in r1?r1.value:r1.textContent,h=l.length;for(t=0;t<r&&e[t]===l[t];t++);var L=r-t;for(a=1;a<=L&&e[r-a]===l[h-a];a++);return Ga=l.slice(t,1<a?1-a:void 0)}function $a(t){var e=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&e===13&&(t=13)):t=e,t===10&&(t=13),32<=t||t===13?t:0}function ka(){return!0}function yc(){return!1}function bi(t){function e(r,a,l,h,L){this._reactName=r,this._targetInst=l,this.type=a,this.nativeEvent=h,this.target=L,this.currentTarget=null;for(var M in t)t.hasOwnProperty(M)&&(r=t[M],this[M]=r?r(h):h[M]);return this.isDefaultPrevented=(h.defaultPrevented!=null?h.defaultPrevented:h.returnValue===!1)?ka:yc,this.isPropagationStopped=yc,this}return dr(e.prototype,{preventDefault:function(){this.defaultPrevented=!0;var r=this.nativeEvent;r&&(r.preventDefault?r.preventDefault():typeof r.returnValue!="unknown"&&(r.returnValue=!1),this.isDefaultPrevented=ka)},stopPropagation:function(){var r=this.nativeEvent;r&&(r.stopPropagation?r.stopPropagation():typeof r.cancelBubble!="unknown"&&(r.cancelBubble=!0),this.isPropagationStopped=ka)},persist:function(){},isPersistent:ka}),e}var R2={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},F5=bi(R2),go=dr({},R2,{view:0,detail:0}),Gw=bi(go),w8,y8,O3,N6=dr({},go,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:H5,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==O3&&(O3&&t.type==="mousemove"?(w8=t.screenX-O3.screenX,y8=t.screenY-O3.screenY):y8=w8=0,O3=t),w8)},movementY:function(t){return"movementY"in t?t.movementY:y8}}),Sc=bi(N6),$w=dr({},N6,{dataTransfer:0}),Xw=bi($w),jw=dr({},go,{relatedTarget:0}),S8=bi(jw),Yw=dr({},R2,{animationName:0,elapsedTime:0,pseudoElement:0}),Ww=bi(Yw),Zw=dr({},R2,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),Qw=bi(Zw),Jw=dr({},R2,{data:0}),_c=bi(Jw),Kw={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},ey={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},ty={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function ny(t){var e=this.nativeEvent;return e.getModifierState?e.getModifierState(t):(t=ty[t])?!!e[t]:!1}function H5(){return ny}var ry=dr({},go,{key:function(t){if(t.key){var e=Kw[t.key]||t.key;if(e!=="Unidentified")return e}return t.type==="keypress"?(t=$a(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?ey[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:H5,charCode:function(t){return t.type==="keypress"?$a(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?$a(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),iy=bi(ry),oy=dr({},N6,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Mc=bi(oy),ay=dr({},go,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:H5}),sy=bi(ay),uy=dr({},R2,{propertyName:0,elapsedTime:0,pseudoElement:0}),ly=bi(uy),cy=dr({},N6,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),fy=bi(cy),py=[9,13,27,32],B5=P0&&"CompositionEvent"in window,G3=null;P0&&"documentMode"in document&&(G3=document.documentMode);var hy=P0&&"TextEvent"in window&&!G3,jf=P0&&(!B5||G3&&8<G3&&11>=G3),Ec=String.fromCharCode(32),Nc=!1;function Yf(t,e){switch(t){case"keyup":return py.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Wf(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var p2=!1;function dy(t,e){switch(t){case"compositionend":return Wf(e);case"keypress":return e.which!==32?null:(Nc=!0,Ec);case"textInput":return t=e.data,t===Ec&&Nc?null:t;default:return null}}function my(t,e){if(p2)return t==="compositionend"||!B5&&Yf(t,e)?(t=Xf(),Ga=D5=r1=null,p2=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1<e.char.length)return e.char;if(e.which)return String.fromCharCode(e.which)}return null;case"compositionend":return jf&&e.locale!=="ko"?null:e.data;default:return null}}var gy={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function xc(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e==="input"?!!gy[t.type]:e==="textarea"}function Zf(t,e,r,a){Tf(a),e=a6(e,"onChange"),0<e.length&&(r=new F5("onChange","change",null,r,a),t.push({event:r,listeners:e}))}var $3=null,ro=null;function vy(t){sp(t,0)}function x6(t){var e=m2(t);if(Sf(e))return t}function wy(t,e){if(t==="change")return e}var Qf=!1;P0&&(P0?(La="oninput"in document,La||(_8=document.createElement("div"),_8.setAttribute("oninput","return;"),La=typeof _8.oninput=="function"),ba=La):ba=!1,Qf=ba&&(!document.documentMode||9<document.documentMode));var ba,La,_8;function Cc(){$3&&($3.detachEvent("onpropertychange",Jf),ro=$3=null)}function Jf(t){if(t.propertyName==="value"&&x6(ro)){var e=[];Zf(e,ro,t,O5(t)),bf(vy,e)}}function yy(t,e,r){t==="focusin"?(Cc(),$3=e,ro=r,$3.attachEvent("onpropertychange",Jf)):t==="focusout"&&Cc()}function Sy(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return x6(ro)}function _y(t,e){if(t==="click")return x6(e)}function My(t,e){if(t==="input"||t==="change")return x6(e)}function Ey(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var u0=typeof Object.is=="function"?Object.is:Ey;function io(t,e){if(u0(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;var r=Object.keys(t),a=Object.keys(e);if(r.length!==a.length)return!1;for(a=0;a<r.length;a++){var l=r[a];if(!R8.call(e,l)||!u0(t[l],e[l]))return!1}return!0}function Tc(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function Ac(t,e){var r=Tc(t);t=0;for(var a;r;){if(r.nodeType===3){if(a=t+r.textContent.length,t<=e&&a>=e)return{node:r,offset:e-t};t=a}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Tc(r)}}function Kf(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?Kf(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function ep(){for(var t=window,e=Ka();e instanceof t.HTMLIFrameElement;){try{var r=typeof e.contentWindow.location.href=="string"}catch(a){r=!1}if(r)t=e.contentWindow;else break;e=Ka(t.document)}return e}function z5(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function Ny(t){var e=ep(),r=t.focusedElem,a=t.selectionRange;if(e!==r&&r&&r.ownerDocument&&Kf(r.ownerDocument.documentElement,r)){if(a!==null&&z5(r)){if(e=a.start,t=a.end,t===void 0&&(t=e),"selectionStart"in r)r.selectionStart=e,r.selectionEnd=Math.min(t,r.value.length);else if(t=(e=r.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var l=r.textContent.length,h=Math.min(a.start,l);a=a.end===void 0?h:Math.min(a.end,l),!t.extend&&h>a&&(l=a,a=h,h=l),l=Ac(r,h);var L=Ac(r,a);l&&L&&(t.rangeCount!==1||t.anchorNode!==l.node||t.anchorOffset!==l.offset||t.focusNode!==L.node||t.focusOffset!==L.offset)&&(e=e.createRange(),e.setStart(l.node,l.offset),t.removeAllRanges(),h>a?(t.addRange(e),t.extend(L.node,L.offset)):(e.setEnd(L.node,L.offset),t.addRange(e)))}}for(e=[],t=r;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r<e.length;r++)t=e[r],t.element.scrollLeft=t.left,t.element.scrollTop=t.top}}var xy=P0&&"documentMode"in document&&11>=document.documentMode,h2=null,e5=null,X3=null,t5=!1;function Ic(t,e,r){var a=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;t5||h2==null||h2!==Ka(a)||(a=h2,"selectionStart"in a&&z5(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),X3&&io(X3,a)||(X3=a,a=a6(e5,"onSelect"),0<a.length&&(e=new F5("onSelect","select",null,e,r),t.push({event:e,listeners:a}),e.target=h2)))}function Oa(t,e){var r={};return r[t.toLowerCase()]=e.toLowerCase(),r["Webkit"+t]="webkit"+e,r["Moz"+t]="moz"+e,r}var d2={animationend:Oa("Animation","AnimationEnd"),animationiteration:Oa("Animation","AnimationIteration"),animationstart:Oa("Animation","AnimationStart"),transitionend:Oa("Transition","TransitionEnd")},M8={},tp={};P0&&(tp=document.createElement("div").style,"AnimationEvent"in window||(delete d2.animationend.animation,delete d2.animationiteration.animation,delete d2.animationstart.animation),"TransitionEvent"in window||delete d2.transitionend.transition);function C6(t){if(M8[t])return M8[t];if(!d2[t])return t;var e=d2[t],r;for(r in e)if(e.hasOwnProperty(r)&&r in tp)return M8[t]=e[r];return t}var np=C6("animationend"),rp=C6("animationiteration"),ip=C6("animationstart"),op=C6("transitionend"),ap=new Map,kc="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function m1(t,e){ap.set(t,e),G1(e,[t])}for(Pa=0;Pa<kc.length;Pa++)Ra=kc[Pa],bc=Ra.toLowerCase(),Lc=Ra[0].toUpperCase()+Ra.slice(1),m1(bc,"on"+Lc);var Ra,bc,Lc,Pa;m1(np,"onAnimationEnd");m1(rp,"onAnimationIteration");m1(ip,"onAnimationStart");m1("dblclick","onDoubleClick");m1("focusin","onFocus");m1("focusout","onBlur");m1(op,"onTransitionEnd");A2("onMouseEnter",["mouseout","mouseover"]);A2("onMouseLeave",["mouseout","mouseover"]);A2("onPointerEnter",["pointerout","pointerover"]);A2("onPointerLeave",["pointerout","pointerover"]);G1("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));G1("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));G1("onBeforeInput",["compositionend","keypress","textInput","paste"]);G1("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));G1("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));G1("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var B3="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Cy=new Set("cancel close invalid load scroll toggle".split(" ").concat(B3));function Oc(t,e,r){var a=t.type||"unknown-event";t.currentTarget=r,Cw(a,e,void 0,t),t.currentTarget=null}function sp(t,e){e=(e&4)!==0;for(var r=0;r<t.length;r++){var a=t[r],l=a.event;a=a.listeners;e:{var h=void 0;if(e)for(var L=a.length-1;0<=L;L--){var M=a[L],_=M.instance,R=M.currentTarget;if(M=M.listener,_!==h&&l.isPropagationStopped())break e;Oc(l,M,R),h=_}else for(L=0;L<a.length;L++){if(M=a[L],_=M.instance,R=M.currentTarget,M=M.listener,_!==h&&l.isPropagationStopped())break e;Oc(l,M,R),h=_}}}if(t6)throw t=Z8,t6=!1,Z8=null,t}function ar(t,e){var r=e[a5];r===void 0&&(r=e[a5]=new Set);var a=t+"__bubble";r.has(a)||(up(e,t,2,!1),r.add(a))}function E8(t,e,r){var a=0;e&&(a|=4),up(r,t,a,e)}var qa="_reactListening"+Math.random().toString(36).slice(2);function oo(t){if(!t[qa]){t[qa]=!0,mf.forEach(function(r){r!=="selectionchange"&&(Cy.has(r)||E8(r,!1,t),E8(r,!0,t))});var e=t.nodeType===9?t:t.ownerDocument;e===null||e[qa]||(e[qa]=!0,E8("selectionchange",!1,e))}}function up(t,e,r,a){switch($f(e)){case 1:var l=zw;break;case 4:l=Vw;break;default:l=U5}r=l.bind(null,e,r,t),l=void 0,!W8||e!=="touchstart"&&e!=="touchmove"&&e!=="wheel"||(l=!0),a?l!==void 0?t.addEventListener(e,r,{capture:!0,passive:l}):t.addEventListener(e,r,!0):l!==void 0?t.addEventListener(e,r,{passive:l}):t.addEventListener(e,r,!1)}function N8(t,e,r,a,l){var h=a;if((e&1)===0&&(e&2)===0&&a!==null)e:for(;;){if(a===null)return;var L=a.tag;if(L===3||L===4){var M=a.stateNode.containerInfo;if(M===l||M.nodeType===8&&M.parentNode===l)break;if(L===4)for(L=a.return;L!==null;){var _=L.tag;if((_===3||_===4)&&(_=L.stateNode.containerInfo,_===l||_.nodeType===8&&_.parentNode===l))return;L=L.return}for(;M!==null;){if(L=P1(M),L===null)return;if(_=L.tag,_===5||_===6){a=h=L;continue e}M=M.parentNode}}a=a.return}bf(function(){var R=h,ie=O5(r),K=[];e:{var de=ap.get(t);if(de!==void 0){var ve=F5,De=t;switch(t){case"keypress":if($a(r)===0)break e;case"keydown":case"keyup":ve=iy;break;case"focusin":De="focus",ve=S8;break;case"focusout":De="blur",ve=S8;break;case"beforeblur":case"afterblur":ve=S8;break;case"click":if(r.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ve=Sc;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ve=Xw;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ve=sy;break;case np:case rp:case ip:ve=Ww;break;case op:ve=ly;break;case"scroll":ve=Gw;break;case"wheel":ve=fy;break;case"copy":case"cut":case"paste":ve=Qw;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ve=Mc}var Ie=(e&4)!==0,Qe=!Ie&&t==="scroll",ee=Ie?de!==null?de+"Capture":null:de;Ie=[];for(var Te=R,ze;Te!==null;){ze=Te;var Oe=ze.stateNode;if(ze.tag===5&&Oe!==null&&(ze=Oe,ee!==null&&(Oe=K3(Te,ee),Oe!=null&&Ie.push(ao(Te,Oe,ze)))),Qe)break;Te=Te.return}0<Ie.length&&(de=new ve(de,De,null,r,ie),K.push({event:de,listeners:Ie}))}}if((e&7)===0){e:{if(de=t==="mouseover"||t==="pointerover",ve=t==="mouseout"||t==="pointerout",de&&r!==j8&&(De=r.relatedTarget||r.fromElement)&&(P1(De)||De[R0]))break e;if((ve||de)&&(de=ie.window===ie?ie:(de=ie.ownerDocument)?de.defaultView||de.parentWindow:window,ve?(De=r.relatedTarget||r.toElement,ve=R,De=De?P1(De):null,De!==null&&(Qe=$1(De),De!==Qe||De.tag!==5&&De.tag!==6)&&(De=null)):(ve=null,De=R),ve!==De)){if(Ie=Sc,Oe="onMouseLeave",ee="onMouseEnter",Te="mouse",(t==="pointerout"||t==="pointerover")&&(Ie=Mc,Oe="onPointerLeave",ee="onPointerEnter",Te="pointer"),Qe=ve==null?de:m2(ve),ze=De==null?de:m2(De),de=new Ie(Oe,Te+"leave",ve,r,ie),de.target=Qe,de.relatedTarget=ze,Oe=null,P1(ie)===R&&(Ie=new Ie(ee,Te+"enter",De,r,ie),Ie.target=ze,Ie.relatedTarget=Qe,Oe=Ie),Qe=Oe,ve&&De)t:{for(Ie=ve,ee=De,Te=0,ze=Ie;ze;ze=l2(ze))Te++;for(ze=0,Oe=ee;Oe;Oe=l2(Oe))ze++;for(;0<Te-ze;)Ie=l2(Ie),Te--;for(;0<ze-Te;)ee=l2(ee),ze--;for(;Te--;){if(Ie===ee||ee!==null&&Ie===ee.alternate)break t;Ie=l2(Ie),ee=l2(ee)}Ie=null}else Ie=null;ve!==null&&Pc(K,de,ve,Ie,!1),De!==null&&Qe!==null&&Pc(K,Qe,De,Ie,!0)}}e:{if(de=R?m2(R):window,ve=de.nodeName&&de.nodeName.toLowerCase(),ve==="select"||ve==="input"&&de.type==="file")var ut=wy;else if(xc(de))if(Qf)ut=My;else{ut=Sy;var at=yy}else(ve=de.nodeName)&&ve.toLowerCase()==="input"&&(de.type==="checkbox"||de.type==="radio")&&(ut=_y);if(ut&&(ut=ut(t,R))){Zf(K,ut,r,ie);break e}at&&at(t,de,R),t==="focusout"&&(at=de._wrapperState)&&at.controlled&&de.type==="number"&&z8(de,"number",de.value)}switch(at=R?m2(R):window,t){case"focusin":(xc(at)||at.contentEditable==="true")&&(h2=at,e5=R,X3=null);break;case"focusout":X3=e5=h2=null;break;case"mousedown":t5=!0;break;case"contextmenu":case"mouseup":case"dragend":t5=!1,Ic(K,r,ie);break;case"selectionchange":if(xy)break;case"keydown":case"keyup":Ic(K,r,ie)}var j;if(B5)e:{switch(t){case"compositionstart":var d="onCompositionStart";break e;case"compositionend":d="onCompositionEnd";break e;case"compositionupdate":d="onCompositionUpdate";break e}d=void 0}else p2?Yf(t,r)&&(d="onCompositionEnd"):t==="keydown"&&r.keyCode===229&&(d="onCompositionStart");d&&(jf&&r.locale!=="ko"&&(p2||d!=="onCompositionStart"?d==="onCompositionEnd"&&p2&&(j=Xf()):(r1=ie,D5="value"in r1?r1.value:r1.textContent,p2=!0)),at=a6(R,d),0<at.length&&(d=new _c(d,t,null,r,ie),K.push({event:d,listeners:at}),j?d.data=j:(j=Wf(r),j!==null&&(d.data=j)))),(j=hy?dy(t,r):my(t,r))&&(R=a6(R,"onBeforeInput"),0<R.length&&(ie=new _c("onBeforeInput","beforeinput",null,r,ie),K.push({event:ie,listeners:R}),ie.data=j))}sp(K,e)})}function ao(t,e,r){return{instance:t,listener:e,currentTarget:r}}function a6(t,e){for(var r=e+"Capture",a=[];t!==null;){var l=t,h=l.stateNode;l.tag===5&&h!==null&&(l=h,h=K3(t,r),h!=null&&a.unshift(ao(t,h,l)),h=K3(t,e),h!=null&&a.push(ao(t,h,l))),t=t.return}return a}function l2(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5);return t||null}function Pc(t,e,r,a,l){for(var h=e._reactName,L=[];r!==null&&r!==a;){var M=r,_=M.alternate,R=M.stateNode;if(_!==null&&_===a)break;M.tag===5&&R!==null&&(M=R,l?(_=K3(r,h),_!=null&&L.unshift(ao(r,_,M))):l||(_=K3(r,h),_!=null&&L.push(ao(r,_,M)))),r=r.return}L.length!==0&&t.push({event:e,listeners:L})}var Ty=/\r\n?/g,Ay=/\u0000|\uFFFD/g;function Rc(t){return(typeof t=="string"?t:""+t).replace(Ty,`
|
||
`).replace(Ay,"")}function Ua(t,e,r){if(e=Rc(e),Rc(t)!==e&&r)throw Error(fn(425))}function s6(){}var n5=null,r5=null;function i5(t,e){return t==="textarea"||t==="noscript"||typeof e.children=="string"||typeof e.children=="number"||typeof e.dangerouslySetInnerHTML=="object"&&e.dangerouslySetInnerHTML!==null&&e.dangerouslySetInnerHTML.__html!=null}var o5=typeof setTimeout=="function"?setTimeout:void 0,Iy=typeof clearTimeout=="function"?clearTimeout:void 0,qc=typeof Promise=="function"?Promise:void 0,ky=typeof queueMicrotask=="function"?queueMicrotask:typeof qc!="undefined"?function(t){return qc.resolve(null).then(t).catch(by)}:o5;function by(t){setTimeout(function(){throw t})}function x8(t,e){var r=e,a=0;do{var l=r.nextSibling;if(t.removeChild(r),l&&l.nodeType===8)if(r=l.data,r==="/$"){if(a===0){t.removeChild(l),no(e);return}a--}else r!=="$"&&r!=="$?"&&r!=="$!"||a++;r=l}while(r);no(e)}function u1(t){for(;t!=null;t=t.nextSibling){var e=t.nodeType;if(e===1||e===3)break;if(e===8){if(e=t.data,e==="$"||e==="$!"||e==="$?")break;if(e==="/$")return null}}return t}function Uc(t){t=t.previousSibling;for(var e=0;t;){if(t.nodeType===8){var r=t.data;if(r==="$"||r==="$!"||r==="$?"){if(e===0)return t;e--}else r==="/$"&&e++}t=t.previousSibling}return null}var q2=Math.random().toString(36).slice(2),v0="__reactFiber$"+q2,so="__reactProps$"+q2,R0="__reactContainer$"+q2,a5="__reactEvents$"+q2,Ly="__reactListeners$"+q2,Oy="__reactHandles$"+q2;function P1(t){var e=t[v0];if(e)return e;for(var r=t.parentNode;r;){if(e=r[R0]||r[v0]){if(r=e.alternate,e.child!==null||r!==null&&r.child!==null)for(t=Uc(t);t!==null;){if(r=t[v0])return r;t=Uc(t)}return e}t=r,r=t.parentNode}return null}function vo(t){return t=t[v0]||t[R0],!t||t.tag!==5&&t.tag!==6&&t.tag!==13&&t.tag!==3?null:t}function m2(t){if(t.tag===5||t.tag===6)return t.stateNode;throw Error(fn(33))}function T6(t){return t[so]||null}var s5=[],g2=-1;function g1(t){return{current:t}}function sr(t){0>g2||(t.current=s5[g2],s5[g2]=null,g2--)}function rr(t,e){g2++,s5[g2]=t.current,t.current=e}var d1={},Kr=g1(d1),di=g1(!1),F1=d1;function I2(t,e){var r=t.type.contextTypes;if(!r)return d1;var a=t.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===e)return a.__reactInternalMemoizedMaskedChildContext;var l={},h;for(h in r)l[h]=e[h];return a&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=l),l}function mi(t){return t=t.childContextTypes,t!=null}function u6(){sr(di),sr(Kr)}function Dc(t,e,r){if(Kr.current!==d1)throw Error(fn(168));rr(Kr,e),rr(di,r)}function lp(t,e,r){var a=t.stateNode;if(e=e.childContextTypes,typeof a.getChildContext!="function")return r;a=a.getChildContext();for(var l in a)if(!(l in e))throw Error(fn(108,yw(t)||"Unknown",l));return dr({},r,a)}function l6(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||d1,F1=Kr.current,rr(Kr,t),rr(di,di.current),!0}function Fc(t,e,r){var a=t.stateNode;if(!a)throw Error(fn(169));r?(t=lp(t,e,F1),a.__reactInternalMemoizedMergedChildContext=t,sr(di),sr(Kr),rr(Kr,t)):sr(di),rr(di,r)}var k0=null,A6=!1,C8=!1;function cp(t){k0===null?k0=[t]:k0.push(t)}function Py(t){A6=!0,cp(t)}function v1(){if(!C8&&k0!==null){C8=!0;var t=0,e=jn;try{var r=k0;for(jn=1;t<r.length;t++){var a=r[t];do a=a(!0);while(a!==null)}k0=null,A6=!1}catch(l){throw k0!==null&&(k0=k0.slice(t+1)),Rf(P5,v1),l}finally{jn=e,C8=!1}}return null}var v2=[],w2=0,c6=null,f6=0,Hi=[],Bi=0,H1=null,b0=1,L0="";function L1(t,e){v2[w2++]=f6,v2[w2++]=c6,c6=t,f6=e}function fp(t,e,r){Hi[Bi++]=b0,Hi[Bi++]=L0,Hi[Bi++]=H1,H1=t;var a=b0;t=L0;var l=32-a0(a)-1;a&=~(1<<l),r+=1;var h=32-a0(e)+l;if(30<h){var L=l-l%5;h=(a&(1<<L)-1).toString(32),a>>=L,l-=L,b0=1<<32-a0(e)+l|r<<l|a,L0=h+t}else b0=1<<h|r<<l|a,L0=t}function V5(t){t.return!==null&&(L1(t,1),fp(t,1,0))}function G5(t){for(;t===c6;)c6=v2[--w2],v2[w2]=null,f6=v2[--w2],v2[w2]=null;for(;t===H1;)H1=Hi[--Bi],Hi[Bi]=null,L0=Hi[--Bi],Hi[Bi]=null,b0=Hi[--Bi],Hi[Bi]=null}var Ii=null,Ai=null,cr=!1,o0=null;function pp(t,e){var r=zi(5,null,null,0);r.elementType="DELETED",r.stateNode=e,r.return=t,e=t.deletions,e===null?(t.deletions=[r],t.flags|=16):e.push(r)}function Hc(t,e){switch(t.tag){case 5:var r=t.type;return e=e.nodeType!==1||r.toLowerCase()!==e.nodeName.toLowerCase()?null:e,e!==null?(t.stateNode=e,Ii=t,Ai=u1(e.firstChild),!0):!1;case 6:return e=t.pendingProps===""||e.nodeType!==3?null:e,e!==null?(t.stateNode=e,Ii=t,Ai=null,!0):!1;case 13:return e=e.nodeType!==8?null:e,e!==null?(r=H1!==null?{id:b0,overflow:L0}:null,t.memoizedState={dehydrated:e,treeContext:r,retryLane:1073741824},r=zi(18,null,null,0),r.stateNode=e,r.return=t,t.child=r,Ii=t,Ai=null,!0):!1;default:return!1}}function u5(t){return(t.mode&1)!==0&&(t.flags&128)===0}function l5(t){if(cr){var e=Ai;if(e){var r=e;if(!Hc(t,e)){if(u5(t))throw Error(fn(418));e=u1(r.nextSibling);var a=Ii;e&&Hc(t,e)?pp(a,r):(t.flags=t.flags&-4097|2,cr=!1,Ii=t)}}else{if(u5(t))throw Error(fn(418));t.flags=t.flags&-4097|2,cr=!1,Ii=t}}}function Bc(t){for(t=t.return;t!==null&&t.tag!==5&&t.tag!==3&&t.tag!==13;)t=t.return;Ii=t}function Da(t){if(t!==Ii)return!1;if(!cr)return Bc(t),cr=!0,!1;var e;if((e=t.tag!==3)&&!(e=t.tag!==5)&&(e=t.type,e=e!=="head"&&e!=="body"&&!i5(t.type,t.memoizedProps)),e&&(e=Ai)){if(u5(t))throw hp(),Error(fn(418));for(;e;)pp(t,e),e=u1(e.nextSibling)}if(Bc(t),t.tag===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(fn(317));e:{for(t=t.nextSibling,e=0;t;){if(t.nodeType===8){var r=t.data;if(r==="/$"){if(e===0){Ai=u1(t.nextSibling);break e}e--}else r!=="$"&&r!=="$!"&&r!=="$?"||e++}t=t.nextSibling}Ai=null}}else Ai=Ii?u1(t.stateNode.nextSibling):null;return!0}function hp(){for(var t=Ai;t;)t=u1(t.nextSibling)}function k2(){Ai=Ii=null,cr=!1}function $5(t){o0===null?o0=[t]:o0.push(t)}var Ry=D0.ReactCurrentBatchConfig;function r0(t,e){if(t&&t.defaultProps){e=dr({},e),t=t.defaultProps;for(var r in t)e[r]===void 0&&(e[r]=t[r]);return e}return e}var p6=g1(null),h6=null,y2=null,X5=null;function j5(){X5=y2=h6=null}function Y5(t){var e=p6.current;sr(p6),t._currentValue=e}function c5(t,e,r){for(;t!==null;){var a=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,a!==null&&(a.childLanes|=e)):a!==null&&(a.childLanes&e)!==e&&(a.childLanes|=e),t===r)break;t=t.return}}function C2(t,e){h6=t,X5=y2=null,t=t.dependencies,t!==null&&t.firstContext!==null&&((t.lanes&e)!==0&&(hi=!0),t.firstContext=null)}function Gi(t){var e=t._currentValue;if(X5!==t)if(t={context:t,memoizedValue:e,next:null},y2===null){if(h6===null)throw Error(fn(308));y2=t,h6.dependencies={lanes:0,firstContext:t}}else y2=y2.next=t;return e}var R1=null;function W5(t){R1===null?R1=[t]:R1.push(t)}function dp(t,e,r,a){var l=e.interleaved;return l===null?(r.next=r,W5(e)):(r.next=l.next,l.next=r),e.interleaved=r,q0(t,a)}function q0(t,e){t.lanes|=e;var r=t.alternate;for(r!==null&&(r.lanes|=e),r=t,t=t.return;t!==null;)t.childLanes|=e,r=t.alternate,r!==null&&(r.childLanes|=e),r=t,t=t.return;return r.tag===3?r.stateNode:null}var e1=!1;function Z5(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function mp(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function O0(t,e){return{eventTime:t,lane:e,tag:0,payload:null,callback:null,next:null}}function l1(t,e,r){var a=t.updateQueue;if(a===null)return null;if(a=a.shared,(Hn&2)!==0){var l=a.pending;return l===null?e.next=e:(e.next=l.next,l.next=e),a.pending=e,q0(t,r)}return l=a.interleaved,l===null?(e.next=e,W5(a)):(e.next=l.next,l.next=e),a.interleaved=e,q0(t,r)}function Xa(t,e,r){if(e=e.updateQueue,e!==null&&(e=e.shared,(r&4194240)!==0)){var a=e.lanes;a&=t.pendingLanes,r|=a,e.lanes=r,R5(t,r)}}function zc(t,e){var r=t.updateQueue,a=t.alternate;if(a!==null&&(a=a.updateQueue,r===a)){var l=null,h=null;if(r=r.firstBaseUpdate,r!==null){do{var L={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};h===null?l=h=L:h=h.next=L,r=r.next}while(r!==null);h===null?l=h=e:h=h.next=e}else l=h=e;r={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:h,shared:a.shared,effects:a.effects},t.updateQueue=r;return}t=r.lastBaseUpdate,t===null?r.firstBaseUpdate=e:t.next=e,r.lastBaseUpdate=e}function d6(t,e,r,a){var l=t.updateQueue;e1=!1;var h=l.firstBaseUpdate,L=l.lastBaseUpdate,M=l.shared.pending;if(M!==null){l.shared.pending=null;var _=M,R=_.next;_.next=null,L===null?h=R:L.next=R,L=_;var ie=t.alternate;ie!==null&&(ie=ie.updateQueue,M=ie.lastBaseUpdate,M!==L&&(M===null?ie.firstBaseUpdate=R:M.next=R,ie.lastBaseUpdate=_))}if(h!==null){var K=l.baseState;L=0,ie=R=_=null,M=h;do{var de=M.lane,ve=M.eventTime;if((a&de)===de){ie!==null&&(ie=ie.next={eventTime:ve,lane:0,tag:M.tag,payload:M.payload,callback:M.callback,next:null});e:{var De=t,Ie=M;switch(de=e,ve=r,Ie.tag){case 1:if(De=Ie.payload,typeof De=="function"){K=De.call(ve,K,de);break e}K=De;break e;case 3:De.flags=De.flags&-65537|128;case 0:if(De=Ie.payload,de=typeof De=="function"?De.call(ve,K,de):De,de==null)break e;K=dr({},K,de);break e;case 2:e1=!0}}M.callback!==null&&M.lane!==0&&(t.flags|=64,de=l.effects,de===null?l.effects=[M]:de.push(M))}else ve={eventTime:ve,lane:de,tag:M.tag,payload:M.payload,callback:M.callback,next:null},ie===null?(R=ie=ve,_=K):ie=ie.next=ve,L|=de;if(M=M.next,M===null){if(M=l.shared.pending,M===null)break;de=M,M=de.next,de.next=null,l.lastBaseUpdate=de,l.shared.pending=null}}while(1);if(ie===null&&(_=K),l.baseState=_,l.firstBaseUpdate=R,l.lastBaseUpdate=ie,e=l.shared.interleaved,e!==null){l=e;do L|=l.lane,l=l.next;while(l!==e)}else h===null&&(l.shared.lanes=0);z1|=L,t.lanes=L,t.memoizedState=K}}function Vc(t,e,r){if(t=e.effects,e.effects=null,t!==null)for(e=0;e<t.length;e++){var a=t[e],l=a.callback;if(l!==null){if(a.callback=null,a=r,typeof l!="function")throw Error(fn(191,l));l.call(a)}}}var gp=new df.Component().refs;function f5(t,e,r,a){e=t.memoizedState,r=r(a,e),r=r==null?e:dr({},e,r),t.memoizedState=r,t.lanes===0&&(t.updateQueue.baseState=r)}var I6={isMounted:function(t){return(t=t._reactInternals)?$1(t)===t:!1},enqueueSetState:function(t,e,r){t=t._reactInternals;var a=ai(),l=f1(t),h=O0(a,l);h.payload=e,r!=null&&(h.callback=r),e=l1(t,h,l),e!==null&&(s0(e,t,l,a),Xa(e,t,l))},enqueueReplaceState:function(t,e,r){t=t._reactInternals;var a=ai(),l=f1(t),h=O0(a,l);h.tag=1,h.payload=e,r!=null&&(h.callback=r),e=l1(t,h,l),e!==null&&(s0(e,t,l,a),Xa(e,t,l))},enqueueForceUpdate:function(t,e){t=t._reactInternals;var r=ai(),a=f1(t),l=O0(r,a);l.tag=2,e!=null&&(l.callback=e),e=l1(t,l,a),e!==null&&(s0(e,t,a,r),Xa(e,t,a))}};function Gc(t,e,r,a,l,h,L){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(a,h,L):e.prototype&&e.prototype.isPureReactComponent?!io(r,a)||!io(l,h):!0}function vp(t,e,r){var a=!1,l=d1,h=e.contextType;return typeof h=="object"&&h!==null?h=Gi(h):(l=mi(e)?F1:Kr.current,a=e.contextTypes,h=(a=a!=null)?I2(t,l):d1),e=new e(r,h),t.memoizedState=e.state!==null&&e.state!==void 0?e.state:null,e.updater=I6,t.stateNode=e,e._reactInternals=t,a&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=l,t.__reactInternalMemoizedMaskedChildContext=h),e}function $c(t,e,r,a){t=e.state,typeof e.componentWillReceiveProps=="function"&&e.componentWillReceiveProps(r,a),typeof e.UNSAFE_componentWillReceiveProps=="function"&&e.UNSAFE_componentWillReceiveProps(r,a),e.state!==t&&I6.enqueueReplaceState(e,e.state,null)}function p5(t,e,r,a){var l=t.stateNode;l.props=r,l.state=t.memoizedState,l.refs=gp,Z5(t);var h=e.contextType;typeof h=="object"&&h!==null?l.context=Gi(h):(h=mi(e)?F1:Kr.current,l.context=I2(t,h)),l.state=t.memoizedState,h=e.getDerivedStateFromProps,typeof h=="function"&&(f5(t,e,h,r),l.state=t.memoizedState),typeof e.getDerivedStateFromProps=="function"||typeof l.getSnapshotBeforeUpdate=="function"||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(e=l.state,typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount(),e!==l.state&&I6.enqueueReplaceState(l,l.state,null),d6(t,r,l,a),l.state=t.memoizedState),typeof l.componentDidMount=="function"&&(t.flags|=4194308)}function P3(t,e,r){if(t=r.ref,t!==null&&typeof t!="function"&&typeof t!="object"){if(r._owner){if(r=r._owner,r){if(r.tag!==1)throw Error(fn(309));var a=r.stateNode}if(!a)throw Error(fn(147,t));var l=a,h=""+t;return e!==null&&e.ref!==null&&typeof e.ref=="function"&&e.ref._stringRef===h?e.ref:(e=function(L){var M=l.refs;M===gp&&(M=l.refs={}),L===null?delete M[h]:M[h]=L},e._stringRef=h,e)}if(typeof t!="string")throw Error(fn(284));if(!r._owner)throw Error(fn(290,t))}return t}function Fa(t,e){throw t=Object.prototype.toString.call(e),Error(fn(31,t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t))}function Xc(t){var e=t._init;return e(t._payload)}function wp(t){function e(ee,Te){if(t){var ze=ee.deletions;ze===null?(ee.deletions=[Te],ee.flags|=16):ze.push(Te)}}function r(ee,Te){if(!t)return null;for(;Te!==null;)e(ee,Te),Te=Te.sibling;return null}function a(ee,Te){for(ee=new Map;Te!==null;)Te.key!==null?ee.set(Te.key,Te):ee.set(Te.index,Te),Te=Te.sibling;return ee}function l(ee,Te){return ee=p1(ee,Te),ee.index=0,ee.sibling=null,ee}function h(ee,Te,ze){return ee.index=ze,t?(ze=ee.alternate,ze!==null?(ze=ze.index,ze<Te?(ee.flags|=2,Te):ze):(ee.flags|=2,Te)):(ee.flags|=1048576,Te)}function L(ee){return t&&ee.alternate===null&&(ee.flags|=2),ee}function M(ee,Te,ze,Oe){return Te===null||Te.tag!==6?(Te=O8(ze,ee.mode,Oe),Te.return=ee,Te):(Te=l(Te,ze),Te.return=ee,Te)}function _(ee,Te,ze,Oe){var ut=ze.type;return ut===f2?ie(ee,Te,ze.props.children,Oe,ze.key):Te!==null&&(Te.elementType===ut||typeof ut=="object"&&ut!==null&&ut.$$typeof===K0&&Xc(ut)===Te.type)?(Oe=l(Te,ze.props),Oe.ref=P3(ee,Te,ze),Oe.return=ee,Oe):(Oe=Ja(ze.type,ze.key,ze.props,null,ee.mode,Oe),Oe.ref=P3(ee,Te,ze),Oe.return=ee,Oe)}function R(ee,Te,ze,Oe){return Te===null||Te.tag!==4||Te.stateNode.containerInfo!==ze.containerInfo||Te.stateNode.implementation!==ze.implementation?(Te=P8(ze,ee.mode,Oe),Te.return=ee,Te):(Te=l(Te,ze.children||[]),Te.return=ee,Te)}function ie(ee,Te,ze,Oe,ut){return Te===null||Te.tag!==7?(Te=D1(ze,ee.mode,Oe,ut),Te.return=ee,Te):(Te=l(Te,ze),Te.return=ee,Te)}function K(ee,Te,ze){if(typeof Te=="string"&&Te!==""||typeof Te=="number")return Te=O8(""+Te,ee.mode,ze),Te.return=ee,Te;if(typeof Te=="object"&&Te!==null){switch(Te.$$typeof){case Na:return ze=Ja(Te.type,Te.key,Te.props,null,ee.mode,ze),ze.ref=P3(ee,null,Te),ze.return=ee,ze;case c2:return Te=P8(Te,ee.mode,ze),Te.return=ee,Te;case K0:var Oe=Te._init;return K(ee,Oe(Te._payload),ze)}if(F3(Te)||k3(Te))return Te=D1(Te,ee.mode,ze,null),Te.return=ee,Te;Fa(ee,Te)}return null}function de(ee,Te,ze,Oe){var ut=Te!==null?Te.key:null;if(typeof ze=="string"&&ze!==""||typeof ze=="number")return ut!==null?null:M(ee,Te,""+ze,Oe);if(typeof ze=="object"&&ze!==null){switch(ze.$$typeof){case Na:return ze.key===ut?_(ee,Te,ze,Oe):null;case c2:return ze.key===ut?R(ee,Te,ze,Oe):null;case K0:return ut=ze._init,de(ee,Te,ut(ze._payload),Oe)}if(F3(ze)||k3(ze))return ut!==null?null:ie(ee,Te,ze,Oe,null);Fa(ee,ze)}return null}function ve(ee,Te,ze,Oe,ut){if(typeof Oe=="string"&&Oe!==""||typeof Oe=="number")return ee=ee.get(ze)||null,M(Te,ee,""+Oe,ut);if(typeof Oe=="object"&&Oe!==null){switch(Oe.$$typeof){case Na:return ee=ee.get(Oe.key===null?ze:Oe.key)||null,_(Te,ee,Oe,ut);case c2:return ee=ee.get(Oe.key===null?ze:Oe.key)||null,R(Te,ee,Oe,ut);case K0:var at=Oe._init;return ve(ee,Te,ze,at(Oe._payload),ut)}if(F3(Oe)||k3(Oe))return ee=ee.get(ze)||null,ie(Te,ee,Oe,ut,null);Fa(Te,Oe)}return null}function De(ee,Te,ze,Oe){for(var ut=null,at=null,j=Te,d=Te=0,c=null;j!==null&&d<ze.length;d++){j.index>d?(c=j,j=null):c=j.sibling;var u=de(ee,j,ze[d],Oe);if(u===null){j===null&&(j=c);break}t&&j&&u.alternate===null&&e(ee,j),Te=h(u,Te,d),at===null?ut=u:at.sibling=u,at=u,j=c}if(d===ze.length)return r(ee,j),cr&&L1(ee,d),ut;if(j===null){for(;d<ze.length;d++)j=K(ee,ze[d],Oe),j!==null&&(Te=h(j,Te,d),at===null?ut=j:at.sibling=j,at=j);return cr&&L1(ee,d),ut}for(j=a(ee,j);d<ze.length;d++)c=ve(j,ee,d,ze[d],Oe),c!==null&&(t&&c.alternate!==null&&j.delete(c.key===null?d:c.key),Te=h(c,Te,d),at===null?ut=c:at.sibling=c,at=c);return t&&j.forEach(function(f){return e(ee,f)}),cr&&L1(ee,d),ut}function Ie(ee,Te,ze,Oe){var ut=k3(ze);if(typeof ut!="function")throw Error(fn(150));if(ze=ut.call(ze),ze==null)throw Error(fn(151));for(var at=ut=null,j=Te,d=Te=0,c=null,u=ze.next();j!==null&&!u.done;d++,u=ze.next()){j.index>d?(c=j,j=null):c=j.sibling;var f=de(ee,j,u.value,Oe);if(f===null){j===null&&(j=c);break}t&&j&&f.alternate===null&&e(ee,j),Te=h(f,Te,d),at===null?ut=f:at.sibling=f,at=f,j=c}if(u.done)return r(ee,j),cr&&L1(ee,d),ut;if(j===null){for(;!u.done;d++,u=ze.next())u=K(ee,u.value,Oe),u!==null&&(Te=h(u,Te,d),at===null?ut=u:at.sibling=u,at=u);return cr&&L1(ee,d),ut}for(j=a(ee,j);!u.done;d++,u=ze.next())u=ve(j,ee,d,u.value,Oe),u!==null&&(t&&u.alternate!==null&&j.delete(u.key===null?d:u.key),Te=h(u,Te,d),at===null?ut=u:at.sibling=u,at=u);return t&&j.forEach(function(v){return e(ee,v)}),cr&&L1(ee,d),ut}function Qe(ee,Te,ze,Oe){if(typeof ze=="object"&&ze!==null&&ze.type===f2&&ze.key===null&&(ze=ze.props.children),typeof ze=="object"&&ze!==null){switch(ze.$$typeof){case Na:e:{for(var ut=ze.key,at=Te;at!==null;){if(at.key===ut){if(ut=ze.type,ut===f2){if(at.tag===7){r(ee,at.sibling),Te=l(at,ze.props.children),Te.return=ee,ee=Te;break e}}else if(at.elementType===ut||typeof ut=="object"&&ut!==null&&ut.$$typeof===K0&&Xc(ut)===at.type){r(ee,at.sibling),Te=l(at,ze.props),Te.ref=P3(ee,at,ze),Te.return=ee,ee=Te;break e}r(ee,at);break}else e(ee,at);at=at.sibling}ze.type===f2?(Te=D1(ze.props.children,ee.mode,Oe,ze.key),Te.return=ee,ee=Te):(Oe=Ja(ze.type,ze.key,ze.props,null,ee.mode,Oe),Oe.ref=P3(ee,Te,ze),Oe.return=ee,ee=Oe)}return L(ee);case c2:e:{for(at=ze.key;Te!==null;){if(Te.key===at)if(Te.tag===4&&Te.stateNode.containerInfo===ze.containerInfo&&Te.stateNode.implementation===ze.implementation){r(ee,Te.sibling),Te=l(Te,ze.children||[]),Te.return=ee,ee=Te;break e}else{r(ee,Te);break}else e(ee,Te);Te=Te.sibling}Te=P8(ze,ee.mode,Oe),Te.return=ee,ee=Te}return L(ee);case K0:return at=ze._init,Qe(ee,Te,at(ze._payload),Oe)}if(F3(ze))return De(ee,Te,ze,Oe);if(k3(ze))return Ie(ee,Te,ze,Oe);Fa(ee,ze)}return typeof ze=="string"&&ze!==""||typeof ze=="number"?(ze=""+ze,Te!==null&&Te.tag===6?(r(ee,Te.sibling),Te=l(Te,ze),Te.return=ee,ee=Te):(r(ee,Te),Te=O8(ze,ee.mode,Oe),Te.return=ee,ee=Te),L(ee)):r(ee,Te)}return Qe}var b2=wp(!0),yp=wp(!1),wo={},y0=g1(wo),uo=g1(wo),lo=g1(wo);function q1(t){if(t===wo)throw Error(fn(174));return t}function Q5(t,e){switch(rr(lo,e),rr(uo,t),rr(y0,wo),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:G8(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=G8(e,t)}sr(y0),rr(y0,e)}function L2(){sr(y0),sr(uo),sr(lo)}function Sp(t){q1(lo.current);var e=q1(y0.current),r=G8(e,t.type);e!==r&&(rr(uo,t),rr(y0,r))}function J5(t){uo.current===t&&(sr(y0),sr(uo))}var pr=g1(0);function m6(t){for(var e=t;e!==null;){if(e.tag===13){var r=e.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if((e.flags&128)!==0)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var T8=[];function K5(){for(var t=0;t<T8.length;t++)T8[t]._workInProgressVersionPrimary=null;T8.length=0}var ja=D0.ReactCurrentDispatcher,A8=D0.ReactCurrentBatchConfig,B1=0,hr=null,Or=null,Ur=null,g6=!1,j3=!1,co=0,qy=0;function Zr(){throw Error(fn(321))}function e7(t,e){if(e===null)return!1;for(var r=0;r<e.length&&r<t.length;r++)if(!u0(t[r],e[r]))return!1;return!0}function t7(t,e,r,a,l,h){if(B1=h,hr=e,e.memoizedState=null,e.updateQueue=null,e.lanes=0,ja.current=t===null||t.memoizedState===null?Hy:By,t=r(a,l),j3){h=0;do{if(j3=!1,co=0,25<=h)throw Error(fn(301));h+=1,Ur=Or=null,e.updateQueue=null,ja.current=zy,t=r(a,l)}while(j3)}if(ja.current=v6,e=Or!==null&&Or.next!==null,B1=0,Ur=Or=hr=null,g6=!1,e)throw Error(fn(300));return t}function n7(){var t=co!==0;return co=0,t}function g0(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ur===null?hr.memoizedState=Ur=t:Ur=Ur.next=t,Ur}function $i(){if(Or===null){var t=hr.alternate;t=t!==null?t.memoizedState:null}else t=Or.next;var e=Ur===null?hr.memoizedState:Ur.next;if(e!==null)Ur=e,Or=t;else{if(t===null)throw Error(fn(310));Or=t,t={memoizedState:Or.memoizedState,baseState:Or.baseState,baseQueue:Or.baseQueue,queue:Or.queue,next:null},Ur===null?hr.memoizedState=Ur=t:Ur=Ur.next=t}return Ur}function fo(t,e){return typeof e=="function"?e(t):e}function I8(t){var e=$i(),r=e.queue;if(r===null)throw Error(fn(311));r.lastRenderedReducer=t;var a=Or,l=a.baseQueue,h=r.pending;if(h!==null){if(l!==null){var L=l.next;l.next=h.next,h.next=L}a.baseQueue=l=h,r.pending=null}if(l!==null){h=l.next,a=a.baseState;var M=L=null,_=null,R=h;do{var ie=R.lane;if((B1&ie)===ie)_!==null&&(_=_.next={lane:0,action:R.action,hasEagerState:R.hasEagerState,eagerState:R.eagerState,next:null}),a=R.hasEagerState?R.eagerState:t(a,R.action);else{var K={lane:ie,action:R.action,hasEagerState:R.hasEagerState,eagerState:R.eagerState,next:null};_===null?(M=_=K,L=a):_=_.next=K,hr.lanes|=ie,z1|=ie}R=R.next}while(R!==null&&R!==h);_===null?L=a:_.next=M,u0(a,e.memoizedState)||(hi=!0),e.memoizedState=a,e.baseState=L,e.baseQueue=_,r.lastRenderedState=a}if(t=r.interleaved,t!==null){l=t;do h=l.lane,hr.lanes|=h,z1|=h,l=l.next;while(l!==t)}else l===null&&(r.lanes=0);return[e.memoizedState,r.dispatch]}function k8(t){var e=$i(),r=e.queue;if(r===null)throw Error(fn(311));r.lastRenderedReducer=t;var a=r.dispatch,l=r.pending,h=e.memoizedState;if(l!==null){r.pending=null;var L=l=l.next;do h=t(h,L.action),L=L.next;while(L!==l);u0(h,e.memoizedState)||(hi=!0),e.memoizedState=h,e.baseQueue===null&&(e.baseState=h),r.lastRenderedState=h}return[h,a]}function _p(){}function Mp(t,e){var r=hr,a=$i(),l=e(),h=!u0(a.memoizedState,l);if(h&&(a.memoizedState=l,hi=!0),a=a.queue,r7(xp.bind(null,r,a,t),[t]),a.getSnapshot!==e||h||Ur!==null&&Ur.memoizedState.tag&1){if(r.flags|=2048,po(9,Np.bind(null,r,a,l,e),void 0,null),Dr===null)throw Error(fn(349));(B1&30)!==0||Ep(r,e,l)}return l}function Ep(t,e,r){t.flags|=16384,t={getSnapshot:e,value:r},e=hr.updateQueue,e===null?(e={lastEffect:null,stores:null},hr.updateQueue=e,e.stores=[t]):(r=e.stores,r===null?e.stores=[t]:r.push(t))}function Np(t,e,r,a){e.value=r,e.getSnapshot=a,Cp(e)&&Tp(t)}function xp(t,e,r){return r(function(){Cp(e)&&Tp(t)})}function Cp(t){var e=t.getSnapshot;t=t.value;try{var r=e();return!u0(t,r)}catch(a){return!0}}function Tp(t){var e=q0(t,1);e!==null&&s0(e,t,1,-1)}function jc(t){var e=g0();return typeof t=="function"&&(t=t()),e.memoizedState=e.baseState=t,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:fo,lastRenderedState:t},e.queue=t,t=t.dispatch=Fy.bind(null,hr,t),[e.memoizedState,t]}function po(t,e,r,a){return t={tag:t,create:e,destroy:r,deps:a,next:null},e=hr.updateQueue,e===null?(e={lastEffect:null,stores:null},hr.updateQueue=e,e.lastEffect=t.next=t):(r=e.lastEffect,r===null?e.lastEffect=t.next=t:(a=r.next,r.next=t,t.next=a,e.lastEffect=t)),t}function Ap(){return $i().memoizedState}function Ya(t,e,r,a){var l=g0();hr.flags|=t,l.memoizedState=po(1|e,r,void 0,a===void 0?null:a)}function k6(t,e,r,a){var l=$i();a=a===void 0?null:a;var h=void 0;if(Or!==null){var L=Or.memoizedState;if(h=L.destroy,a!==null&&e7(a,L.deps)){l.memoizedState=po(e,r,h,a);return}}hr.flags|=t,l.memoizedState=po(1|e,r,h,a)}function Yc(t,e){return Ya(8390656,8,t,e)}function r7(t,e){return k6(2048,8,t,e)}function Ip(t,e){return k6(4,2,t,e)}function kp(t,e){return k6(4,4,t,e)}function bp(t,e){if(typeof e=="function")return t=t(),e(t),function(){e(null)};if(e!=null)return t=t(),e.current=t,function(){e.current=null}}function Lp(t,e,r){return r=r!=null?r.concat([t]):null,k6(4,4,bp.bind(null,e,t),r)}function i7(){}function Op(t,e){var r=$i();e=e===void 0?null:e;var a=r.memoizedState;return a!==null&&e!==null&&e7(e,a[1])?a[0]:(r.memoizedState=[t,e],t)}function Pp(t,e){var r=$i();e=e===void 0?null:e;var a=r.memoizedState;return a!==null&&e!==null&&e7(e,a[1])?a[0]:(t=t(),r.memoizedState=[t,e],t)}function Rp(t,e,r){return(B1&21)===0?(t.baseState&&(t.baseState=!1,hi=!0),t.memoizedState=r):(u0(r,e)||(r=Df(),hr.lanes|=r,z1|=r,t.baseState=!0),e)}function Uy(t,e){var r=jn;jn=r!==0&&4>r?r:4,t(!0);var a=A8.transition;A8.transition={};try{t(!1),e()}finally{jn=r,A8.transition=a}}function qp(){return $i().memoizedState}function Dy(t,e,r){var a=f1(t);if(r={lane:a,action:r,hasEagerState:!1,eagerState:null,next:null},Up(t))Dp(e,r);else if(r=dp(t,e,r,a),r!==null){var l=ai();s0(r,t,a,l),Fp(r,e,a)}}function Fy(t,e,r){var a=f1(t),l={lane:a,action:r,hasEagerState:!1,eagerState:null,next:null};if(Up(t))Dp(e,l);else{var h=t.alternate;if(t.lanes===0&&(h===null||h.lanes===0)&&(h=e.lastRenderedReducer,h!==null))try{var L=e.lastRenderedState,M=h(L,r);if(l.hasEagerState=!0,l.eagerState=M,u0(M,L)){var _=e.interleaved;_===null?(l.next=l,W5(e)):(l.next=_.next,_.next=l),e.interleaved=l;return}}catch(R){}finally{}r=dp(t,e,l,a),r!==null&&(l=ai(),s0(r,t,a,l),Fp(r,e,a))}}function Up(t){var e=t.alternate;return t===hr||e!==null&&e===hr}function Dp(t,e){j3=g6=!0;var r=t.pending;r===null?e.next=e:(e.next=r.next,r.next=e),t.pending=e}function Fp(t,e,r){if((r&4194240)!==0){var a=e.lanes;a&=t.pendingLanes,r|=a,e.lanes=r,R5(t,r)}}var v6={readContext:Gi,useCallback:Zr,useContext:Zr,useEffect:Zr,useImperativeHandle:Zr,useInsertionEffect:Zr,useLayoutEffect:Zr,useMemo:Zr,useReducer:Zr,useRef:Zr,useState:Zr,useDebugValue:Zr,useDeferredValue:Zr,useTransition:Zr,useMutableSource:Zr,useSyncExternalStore:Zr,useId:Zr,unstable_isNewReconciler:!1},Hy={readContext:Gi,useCallback:function(t,e){return g0().memoizedState=[t,e===void 0?null:e],t},useContext:Gi,useEffect:Yc,useImperativeHandle:function(t,e,r){return r=r!=null?r.concat([t]):null,Ya(4194308,4,bp.bind(null,e,t),r)},useLayoutEffect:function(t,e){return Ya(4194308,4,t,e)},useInsertionEffect:function(t,e){return Ya(4,2,t,e)},useMemo:function(t,e){var r=g0();return e=e===void 0?null:e,t=t(),r.memoizedState=[t,e],t},useReducer:function(t,e,r){var a=g0();return e=r!==void 0?r(e):e,a.memoizedState=a.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},a.queue=t,t=t.dispatch=Dy.bind(null,hr,t),[a.memoizedState,t]},useRef:function(t){var e=g0();return t={current:t},e.memoizedState=t},useState:jc,useDebugValue:i7,useDeferredValue:function(t){return g0().memoizedState=t},useTransition:function(){var t=jc(!1),e=t[0];return t=Uy.bind(null,t[1]),g0().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,r){var a=hr,l=g0();if(cr){if(r===void 0)throw Error(fn(407));r=r()}else{if(r=e(),Dr===null)throw Error(fn(349));(B1&30)!==0||Ep(a,e,r)}l.memoizedState=r;var h={value:r,getSnapshot:e};return l.queue=h,Yc(xp.bind(null,a,h,t),[t]),a.flags|=2048,po(9,Np.bind(null,a,h,r,e),void 0,null),r},useId:function(){var t=g0(),e=Dr.identifierPrefix;if(cr){var r=L0,a=b0;r=(a&~(1<<32-a0(a)-1)).toString(32)+r,e=":"+e+"R"+r,r=co++,0<r&&(e+="H"+r.toString(32)),e+=":"}else r=qy++,e=":"+e+"r"+r.toString(32)+":";return t.memoizedState=e},unstable_isNewReconciler:!1},By={readContext:Gi,useCallback:Op,useContext:Gi,useEffect:r7,useImperativeHandle:Lp,useInsertionEffect:Ip,useLayoutEffect:kp,useMemo:Pp,useReducer:I8,useRef:Ap,useState:function(){return I8(fo)},useDebugValue:i7,useDeferredValue:function(t){var e=$i();return Rp(e,Or.memoizedState,t)},useTransition:function(){var t=I8(fo)[0],e=$i().memoizedState;return[t,e]},useMutableSource:_p,useSyncExternalStore:Mp,useId:qp,unstable_isNewReconciler:!1},zy={readContext:Gi,useCallback:Op,useContext:Gi,useEffect:r7,useImperativeHandle:Lp,useInsertionEffect:Ip,useLayoutEffect:kp,useMemo:Pp,useReducer:k8,useRef:Ap,useState:function(){return k8(fo)},useDebugValue:i7,useDeferredValue:function(t){var e=$i();return Or===null?e.memoizedState=t:Rp(e,Or.memoizedState,t)},useTransition:function(){var t=k8(fo)[0],e=$i().memoizedState;return[t,e]},useMutableSource:_p,useSyncExternalStore:Mp,useId:qp,unstable_isNewReconciler:!1};function O2(t,e){try{var r="",a=e;do r+=ww(a),a=a.return;while(a);var l=r}catch(h){l=`
|
||
Error generating stack: `+h.message+`
|
||
`+h.stack}return{value:t,source:e,stack:l,digest:null}}function b8(t,e,r){return{value:t,source:null,stack:r!=null?r:null,digest:e!=null?e:null}}function h5(t,e){try{console.error(e.value)}catch(r){setTimeout(function(){throw r})}}var Vy=typeof WeakMap=="function"?WeakMap:Map;function Hp(t,e,r){r=O0(-1,r),r.tag=3,r.payload={element:null};var a=e.value;return r.callback=function(){y6||(y6=!0,E5=a),h5(t,e)},r}function Bp(t,e,r){r=O0(-1,r),r.tag=3;var a=t.type.getDerivedStateFromError;if(typeof a=="function"){var l=e.value;r.payload=function(){return a(l)},r.callback=function(){h5(t,e)}}var h=t.stateNode;return h!==null&&typeof h.componentDidCatch=="function"&&(r.callback=function(){h5(t,e),typeof a!="function"&&(c1===null?c1=new Set([this]):c1.add(this));var L=e.stack;this.componentDidCatch(e.value,{componentStack:L!==null?L:""})}),r}function Wc(t,e,r){var a=t.pingCache;if(a===null){a=t.pingCache=new Vy;var l=new Set;a.set(e,l)}else l=a.get(e),l===void 0&&(l=new Set,a.set(e,l));l.has(r)||(l.add(r),t=rS.bind(null,t,e,r),e.then(t,t))}function Zc(t){do{var e;if((e=t.tag===13)&&(e=t.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return t;t=t.return}while(t!==null);return null}function Qc(t,e,r,a,l){return(t.mode&1)===0?(t===e?t.flags|=65536:(t.flags|=128,r.flags|=131072,r.flags&=-52805,r.tag===1&&(r.alternate===null?r.tag=17:(e=O0(-1,1),e.tag=2,l1(r,e,1))),r.lanes|=1),t):(t.flags|=65536,t.lanes=l,t)}var Gy=D0.ReactCurrentOwner,hi=!1;function oi(t,e,r,a){e.child=t===null?yp(e,null,r,a):b2(e,t.child,r,a)}function Jc(t,e,r,a,l){r=r.render;var h=e.ref;return C2(e,l),a=t7(t,e,r,a,h,l),r=n7(),t!==null&&!hi?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~l,U0(t,e,l)):(cr&&r&&V5(e),e.flags|=1,oi(t,e,a,l),e.child)}function Kc(t,e,r,a,l){if(t===null){var h=r.type;return typeof h=="function"&&!p7(h)&&h.defaultProps===void 0&&r.compare===null&&r.defaultProps===void 0?(e.tag=15,e.type=h,zp(t,e,h,a,l)):(t=Ja(r.type,null,a,e,e.mode,l),t.ref=e.ref,t.return=e,e.child=t)}if(h=t.child,(t.lanes&l)===0){var L=h.memoizedProps;if(r=r.compare,r=r!==null?r:io,r(L,a)&&t.ref===e.ref)return U0(t,e,l)}return e.flags|=1,t=p1(h,a),t.ref=e.ref,t.return=e,e.child=t}function zp(t,e,r,a,l){if(t!==null){var h=t.memoizedProps;if(io(h,a)&&t.ref===e.ref)if(hi=!1,e.pendingProps=a=h,(t.lanes&l)!==0)(t.flags&131072)!==0&&(hi=!0);else return e.lanes=t.lanes,U0(t,e,l)}return d5(t,e,r,a,l)}function Vp(t,e,r){var a=e.pendingProps,l=a.children,h=t!==null?t.memoizedState:null;if(a.mode==="hidden")if((e.mode&1)===0)e.memoizedState={baseLanes:0,cachePool:null,transitions:null},rr(_2,Ti),Ti|=r;else{if((r&1073741824)===0)return t=h!==null?h.baseLanes|r:r,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:t,cachePool:null,transitions:null},e.updateQueue=null,rr(_2,Ti),Ti|=t,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},a=h!==null?h.baseLanes:r,rr(_2,Ti),Ti|=a}else h!==null?(a=h.baseLanes|r,e.memoizedState=null):a=r,rr(_2,Ti),Ti|=a;return oi(t,e,l,r),e.child}function Gp(t,e){var r=e.ref;(t===null&&r!==null||t!==null&&t.ref!==r)&&(e.flags|=512,e.flags|=2097152)}function d5(t,e,r,a,l){var h=mi(r)?F1:Kr.current;return h=I2(e,h),C2(e,l),r=t7(t,e,r,a,h,l),a=n7(),t!==null&&!hi?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~l,U0(t,e,l)):(cr&&a&&V5(e),e.flags|=1,oi(t,e,r,l),e.child)}function ef(t,e,r,a,l){if(mi(r)){var h=!0;l6(e)}else h=!1;if(C2(e,l),e.stateNode===null)Wa(t,e),vp(e,r,a),p5(e,r,a,l),a=!0;else if(t===null){var L=e.stateNode,M=e.memoizedProps;L.props=M;var _=L.context,R=r.contextType;typeof R=="object"&&R!==null?R=Gi(R):(R=mi(r)?F1:Kr.current,R=I2(e,R));var ie=r.getDerivedStateFromProps,K=typeof ie=="function"||typeof L.getSnapshotBeforeUpdate=="function";K||typeof L.UNSAFE_componentWillReceiveProps!="function"&&typeof L.componentWillReceiveProps!="function"||(M!==a||_!==R)&&$c(e,L,a,R),e1=!1;var de=e.memoizedState;L.state=de,d6(e,a,L,l),_=e.memoizedState,M!==a||de!==_||di.current||e1?(typeof ie=="function"&&(f5(e,r,ie,a),_=e.memoizedState),(M=e1||Gc(e,r,M,a,de,_,R))?(K||typeof L.UNSAFE_componentWillMount!="function"&&typeof L.componentWillMount!="function"||(typeof L.componentWillMount=="function"&&L.componentWillMount(),typeof L.UNSAFE_componentWillMount=="function"&&L.UNSAFE_componentWillMount()),typeof L.componentDidMount=="function"&&(e.flags|=4194308)):(typeof L.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=a,e.memoizedState=_),L.props=a,L.state=_,L.context=R,a=M):(typeof L.componentDidMount=="function"&&(e.flags|=4194308),a=!1)}else{L=e.stateNode,mp(t,e),M=e.memoizedProps,R=e.type===e.elementType?M:r0(e.type,M),L.props=R,K=e.pendingProps,de=L.context,_=r.contextType,typeof _=="object"&&_!==null?_=Gi(_):(_=mi(r)?F1:Kr.current,_=I2(e,_));var ve=r.getDerivedStateFromProps;(ie=typeof ve=="function"||typeof L.getSnapshotBeforeUpdate=="function")||typeof L.UNSAFE_componentWillReceiveProps!="function"&&typeof L.componentWillReceiveProps!="function"||(M!==K||de!==_)&&$c(e,L,a,_),e1=!1,de=e.memoizedState,L.state=de,d6(e,a,L,l);var De=e.memoizedState;M!==K||de!==De||di.current||e1?(typeof ve=="function"&&(f5(e,r,ve,a),De=e.memoizedState),(R=e1||Gc(e,r,R,a,de,De,_)||!1)?(ie||typeof L.UNSAFE_componentWillUpdate!="function"&&typeof L.componentWillUpdate!="function"||(typeof L.componentWillUpdate=="function"&&L.componentWillUpdate(a,De,_),typeof L.UNSAFE_componentWillUpdate=="function"&&L.UNSAFE_componentWillUpdate(a,De,_)),typeof L.componentDidUpdate=="function"&&(e.flags|=4),typeof L.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof L.componentDidUpdate!="function"||M===t.memoizedProps&&de===t.memoizedState||(e.flags|=4),typeof L.getSnapshotBeforeUpdate!="function"||M===t.memoizedProps&&de===t.memoizedState||(e.flags|=1024),e.memoizedProps=a,e.memoizedState=De),L.props=a,L.state=De,L.context=_,a=R):(typeof L.componentDidUpdate!="function"||M===t.memoizedProps&&de===t.memoizedState||(e.flags|=4),typeof L.getSnapshotBeforeUpdate!="function"||M===t.memoizedProps&&de===t.memoizedState||(e.flags|=1024),a=!1)}return m5(t,e,r,a,h,l)}function m5(t,e,r,a,l,h){Gp(t,e);var L=(e.flags&128)!==0;if(!a&&!L)return l&&Fc(e,r,!1),U0(t,e,h);a=e.stateNode,Gy.current=e;var M=L&&typeof r.getDerivedStateFromError!="function"?null:a.render();return e.flags|=1,t!==null&&L?(e.child=b2(e,t.child,null,h),e.child=b2(e,null,M,h)):oi(t,e,M,h),e.memoizedState=a.state,l&&Fc(e,r,!0),e.child}function $p(t){var e=t.stateNode;e.pendingContext?Dc(t,e.pendingContext,e.pendingContext!==e.context):e.context&&Dc(t,e.context,!1),Q5(t,e.containerInfo)}function tf(t,e,r,a,l){return k2(),$5(l),e.flags|=256,oi(t,e,r,a),e.child}var g5={dehydrated:null,treeContext:null,retryLane:0};function v5(t){return{baseLanes:t,cachePool:null,transitions:null}}function Xp(t,e,r){var a=e.pendingProps,l=pr.current,h=!1,L=(e.flags&128)!==0,M;if((M=L)||(M=t!==null&&t.memoizedState===null?!1:(l&2)!==0),M?(h=!0,e.flags&=-129):(t===null||t.memoizedState!==null)&&(l|=1),rr(pr,l&1),t===null)return l5(e),t=e.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?((e.mode&1)===0?e.lanes=1:t.data==="$!"?e.lanes=8:e.lanes=1073741824,null):(L=a.children,t=a.fallback,h?(a=e.mode,h=e.child,L={mode:"hidden",children:L},(a&1)===0&&h!==null?(h.childLanes=0,h.pendingProps=L):h=O6(L,a,0,null),t=D1(t,a,r,null),h.return=e,t.return=e,h.sibling=t,e.child=h,e.child.memoizedState=v5(r),e.memoizedState=g5,t):o7(e,L));if(l=t.memoizedState,l!==null&&(M=l.dehydrated,M!==null))return $y(t,e,L,a,M,l,r);if(h){h=a.fallback,L=e.mode,l=t.child,M=l.sibling;var _={mode:"hidden",children:a.children};return(L&1)===0&&e.child!==l?(a=e.child,a.childLanes=0,a.pendingProps=_,e.deletions=null):(a=p1(l,_),a.subtreeFlags=l.subtreeFlags&14680064),M!==null?h=p1(M,h):(h=D1(h,L,r,null),h.flags|=2),h.return=e,a.return=e,a.sibling=h,e.child=a,a=h,h=e.child,L=t.child.memoizedState,L=L===null?v5(r):{baseLanes:L.baseLanes|r,cachePool:null,transitions:L.transitions},h.memoizedState=L,h.childLanes=t.childLanes&~r,e.memoizedState=g5,a}return h=t.child,t=h.sibling,a=p1(h,{mode:"visible",children:a.children}),(e.mode&1)===0&&(a.lanes=r),a.return=e,a.sibling=null,t!==null&&(r=e.deletions,r===null?(e.deletions=[t],e.flags|=16):r.push(t)),e.child=a,e.memoizedState=null,a}function o7(t,e){return e=O6({mode:"visible",children:e},t.mode,0,null),e.return=t,t.child=e}function Ha(t,e,r,a){return a!==null&&$5(a),b2(e,t.child,null,r),t=o7(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function $y(t,e,r,a,l,h,L){if(r)return e.flags&256?(e.flags&=-257,a=b8(Error(fn(422))),Ha(t,e,L,a)):e.memoizedState!==null?(e.child=t.child,e.flags|=128,null):(h=a.fallback,l=e.mode,a=O6({mode:"visible",children:a.children},l,0,null),h=D1(h,l,L,null),h.flags|=2,a.return=e,h.return=e,a.sibling=h,e.child=a,(e.mode&1)!==0&&b2(e,t.child,null,L),e.child.memoizedState=v5(L),e.memoizedState=g5,h);if((e.mode&1)===0)return Ha(t,e,L,null);if(l.data==="$!"){if(a=l.nextSibling&&l.nextSibling.dataset,a)var M=a.dgst;return a=M,h=Error(fn(419)),a=b8(h,a,void 0),Ha(t,e,L,a)}if(M=(L&t.childLanes)!==0,hi||M){if(a=Dr,a!==null){switch(L&-L){case 4:l=2;break;case 16:l=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:l=32;break;case 536870912:l=268435456;break;default:l=0}l=(l&(a.suspendedLanes|L))!==0?0:l,l!==0&&l!==h.retryLane&&(h.retryLane=l,q0(t,l),s0(a,t,l,-1))}return f7(),a=b8(Error(fn(421))),Ha(t,e,L,a)}return l.data==="$?"?(e.flags|=128,e.child=t.child,e=iS.bind(null,t),l._reactRetry=e,null):(t=h.treeContext,Ai=u1(l.nextSibling),Ii=e,cr=!0,o0=null,t!==null&&(Hi[Bi++]=b0,Hi[Bi++]=L0,Hi[Bi++]=H1,b0=t.id,L0=t.overflow,H1=e),e=o7(e,a.children),e.flags|=4096,e)}function nf(t,e,r){t.lanes|=e;var a=t.alternate;a!==null&&(a.lanes|=e),c5(t.return,e,r)}function L8(t,e,r,a,l){var h=t.memoizedState;h===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:a,tail:r,tailMode:l}:(h.isBackwards=e,h.rendering=null,h.renderingStartTime=0,h.last=a,h.tail=r,h.tailMode=l)}function jp(t,e,r){var a=e.pendingProps,l=a.revealOrder,h=a.tail;if(oi(t,e,a.children,r),a=pr.current,(a&2)!==0)a=a&1|2,e.flags|=128;else{if(t!==null&&(t.flags&128)!==0)e:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&nf(t,r,e);else if(t.tag===19)nf(t,r,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}a&=1}if(rr(pr,a),(e.mode&1)===0)e.memoizedState=null;else switch(l){case"forwards":for(r=e.child,l=null;r!==null;)t=r.alternate,t!==null&&m6(t)===null&&(l=r),r=r.sibling;r=l,r===null?(l=e.child,e.child=null):(l=r.sibling,r.sibling=null),L8(e,!1,l,r,h);break;case"backwards":for(r=null,l=e.child,e.child=null;l!==null;){if(t=l.alternate,t!==null&&m6(t)===null){e.child=l;break}t=l.sibling,l.sibling=r,r=l,l=t}L8(e,!0,r,null,h);break;case"together":L8(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function Wa(t,e){(e.mode&1)===0&&t!==null&&(t.alternate=null,e.alternate=null,e.flags|=2)}function U0(t,e,r){if(t!==null&&(e.dependencies=t.dependencies),z1|=e.lanes,(r&e.childLanes)===0)return null;if(t!==null&&e.child!==t.child)throw Error(fn(153));if(e.child!==null){for(t=e.child,r=p1(t,t.pendingProps),e.child=r,r.return=e;t.sibling!==null;)t=t.sibling,r=r.sibling=p1(t,t.pendingProps),r.return=e;r.sibling=null}return e.child}function Xy(t,e,r){switch(e.tag){case 3:$p(e),k2();break;case 5:Sp(e);break;case 1:mi(e.type)&&l6(e);break;case 4:Q5(e,e.stateNode.containerInfo);break;case 10:var a=e.type._context,l=e.memoizedProps.value;rr(p6,a._currentValue),a._currentValue=l;break;case 13:if(a=e.memoizedState,a!==null)return a.dehydrated!==null?(rr(pr,pr.current&1),e.flags|=128,null):(r&e.child.childLanes)!==0?Xp(t,e,r):(rr(pr,pr.current&1),t=U0(t,e,r),t!==null?t.sibling:null);rr(pr,pr.current&1);break;case 19:if(a=(r&e.childLanes)!==0,(t.flags&128)!==0){if(a)return jp(t,e,r);e.flags|=128}if(l=e.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),rr(pr,pr.current),a)break;return null;case 22:case 23:return e.lanes=0,Vp(t,e,r)}return U0(t,e,r)}var Yp,w5,Wp,Zp;Yp=function(t,e){for(var r=e.child;r!==null;){if(r.tag===5||r.tag===6)t.appendChild(r.stateNode);else if(r.tag!==4&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===e)break;for(;r.sibling===null;){if(r.return===null||r.return===e)return;r=r.return}r.sibling.return=r.return,r=r.sibling}};w5=function(){};Wp=function(t,e,r,a){var l=t.memoizedProps;if(l!==a){t=e.stateNode,q1(y0.current);var h=null;switch(r){case"input":l=H8(t,l),a=H8(t,a),h=[];break;case"select":l=dr({},l,{value:void 0}),a=dr({},a,{value:void 0}),h=[];break;case"textarea":l=V8(t,l),a=V8(t,a),h=[];break;default:typeof l.onClick!="function"&&typeof a.onClick=="function"&&(t.onclick=s6)}$8(r,a);var L;r=null;for(R in l)if(!a.hasOwnProperty(R)&&l.hasOwnProperty(R)&&l[R]!=null)if(R==="style"){var M=l[R];for(L in M)M.hasOwnProperty(L)&&(r||(r={}),r[L]="")}else R!=="dangerouslySetInnerHTML"&&R!=="children"&&R!=="suppressContentEditableWarning"&&R!=="suppressHydrationWarning"&&R!=="autoFocus"&&(Q3.hasOwnProperty(R)?h||(h=[]):(h=h||[]).push(R,null));for(R in a){var _=a[R];if(M=l!=null?l[R]:void 0,a.hasOwnProperty(R)&&_!==M&&(_!=null||M!=null))if(R==="style")if(M){for(L in M)!M.hasOwnProperty(L)||_&&_.hasOwnProperty(L)||(r||(r={}),r[L]="");for(L in _)_.hasOwnProperty(L)&&M[L]!==_[L]&&(r||(r={}),r[L]=_[L])}else r||(h||(h=[]),h.push(R,r)),r=_;else R==="dangerouslySetInnerHTML"?(_=_?_.__html:void 0,M=M?M.__html:void 0,_!=null&&M!==_&&(h=h||[]).push(R,_)):R==="children"?typeof _!="string"&&typeof _!="number"||(h=h||[]).push(R,""+_):R!=="suppressContentEditableWarning"&&R!=="suppressHydrationWarning"&&(Q3.hasOwnProperty(R)?(_!=null&&R==="onScroll"&&ar("scroll",t),h||M===_||(h=[])):(h=h||[]).push(R,_))}r&&(h=h||[]).push("style",r);var R=h;(e.updateQueue=R)&&(e.flags|=4)}};Zp=function(t,e,r,a){r!==a&&(e.flags|=4)};function R3(t,e){if(!cr)switch(t.tailMode){case"hidden":e=t.tail;for(var r=null;e!==null;)e.alternate!==null&&(r=e),e=e.sibling;r===null?t.tail=null:r.sibling=null;break;case"collapsed":r=t.tail;for(var a=null;r!==null;)r.alternate!==null&&(a=r),r=r.sibling;a===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:a.sibling=null}}function Qr(t){var e=t.alternate!==null&&t.alternate.child===t.child,r=0,a=0;if(e)for(var l=t.child;l!==null;)r|=l.lanes|l.childLanes,a|=l.subtreeFlags&14680064,a|=l.flags&14680064,l.return=t,l=l.sibling;else for(l=t.child;l!==null;)r|=l.lanes|l.childLanes,a|=l.subtreeFlags,a|=l.flags,l.return=t,l=l.sibling;return t.subtreeFlags|=a,t.childLanes=r,e}function jy(t,e,r){var a=e.pendingProps;switch(G5(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Qr(e),null;case 1:return mi(e.type)&&u6(),Qr(e),null;case 3:return a=e.stateNode,L2(),sr(di),sr(Kr),K5(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(t===null||t.child===null)&&(Da(e)?e.flags|=4:t===null||t.memoizedState.isDehydrated&&(e.flags&256)===0||(e.flags|=1024,o0!==null&&(C5(o0),o0=null))),w5(t,e),Qr(e),null;case 5:J5(e);var l=q1(lo.current);if(r=e.type,t!==null&&e.stateNode!=null)Wp(t,e,r,a,l),t.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!a){if(e.stateNode===null)throw Error(fn(166));return Qr(e),null}if(t=q1(y0.current),Da(e)){a=e.stateNode,r=e.type;var h=e.memoizedProps;switch(a[v0]=e,a[so]=h,t=(e.mode&1)!==0,r){case"dialog":ar("cancel",a),ar("close",a);break;case"iframe":case"object":case"embed":ar("load",a);break;case"video":case"audio":for(l=0;l<B3.length;l++)ar(B3[l],a);break;case"source":ar("error",a);break;case"img":case"image":case"link":ar("error",a),ar("load",a);break;case"details":ar("toggle",a);break;case"input":cc(a,h),ar("invalid",a);break;case"select":a._wrapperState={wasMultiple:!!h.multiple},ar("invalid",a);break;case"textarea":pc(a,h),ar("invalid",a)}$8(r,h),l=null;for(var L in h)if(h.hasOwnProperty(L)){var M=h[L];L==="children"?typeof M=="string"?a.textContent!==M&&(h.suppressHydrationWarning!==!0&&Ua(a.textContent,M,t),l=["children",M]):typeof M=="number"&&a.textContent!==""+M&&(h.suppressHydrationWarning!==!0&&Ua(a.textContent,M,t),l=["children",""+M]):Q3.hasOwnProperty(L)&&M!=null&&L==="onScroll"&&ar("scroll",a)}switch(r){case"input":xa(a),fc(a,h,!0);break;case"textarea":xa(a),hc(a);break;case"select":case"option":break;default:typeof h.onClick=="function"&&(a.onclick=s6)}a=l,e.updateQueue=a,a!==null&&(e.flags|=4)}else{L=l.nodeType===9?l:l.ownerDocument,t==="http://www.w3.org/1999/xhtml"&&(t=Ef(r)),t==="http://www.w3.org/1999/xhtml"?r==="script"?(t=L.createElement("div"),t.innerHTML="<script><\/script>",t=t.removeChild(t.firstChild)):typeof a.is=="string"?t=L.createElement(r,{is:a.is}):(t=L.createElement(r),r==="select"&&(L=t,a.multiple?L.multiple=!0:a.size&&(L.size=a.size))):t=L.createElementNS(t,r),t[v0]=e,t[so]=a,Yp(t,e,!1,!1),e.stateNode=t;e:{switch(L=X8(r,a),r){case"dialog":ar("cancel",t),ar("close",t),l=a;break;case"iframe":case"object":case"embed":ar("load",t),l=a;break;case"video":case"audio":for(l=0;l<B3.length;l++)ar(B3[l],t);l=a;break;case"source":ar("error",t),l=a;break;case"img":case"image":case"link":ar("error",t),ar("load",t),l=a;break;case"details":ar("toggle",t),l=a;break;case"input":cc(t,a),l=H8(t,a),ar("invalid",t);break;case"option":l=a;break;case"select":t._wrapperState={wasMultiple:!!a.multiple},l=dr({},a,{value:void 0}),ar("invalid",t);break;case"textarea":pc(t,a),l=V8(t,a),ar("invalid",t);break;default:l=a}$8(r,l),M=l;for(h in M)if(M.hasOwnProperty(h)){var _=M[h];h==="style"?Cf(t,_):h==="dangerouslySetInnerHTML"?(_=_?_.__html:void 0,_!=null&&Nf(t,_)):h==="children"?typeof _=="string"?(r!=="textarea"||_!=="")&&J3(t,_):typeof _=="number"&&J3(t,""+_):h!=="suppressContentEditableWarning"&&h!=="suppressHydrationWarning"&&h!=="autoFocus"&&(Q3.hasOwnProperty(h)?_!=null&&h==="onScroll"&&ar("scroll",t):_!=null&&I5(t,h,_,L))}switch(r){case"input":xa(t),fc(t,a,!1);break;case"textarea":xa(t),hc(t);break;case"option":a.value!=null&&t.setAttribute("value",""+h1(a.value));break;case"select":t.multiple=!!a.multiple,h=a.value,h!=null?M2(t,!!a.multiple,h,!1):a.defaultValue!=null&&M2(t,!!a.multiple,a.defaultValue,!0);break;default:typeof l.onClick=="function"&&(t.onclick=s6)}switch(r){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}}a&&(e.flags|=4)}e.ref!==null&&(e.flags|=512,e.flags|=2097152)}return Qr(e),null;case 6:if(t&&e.stateNode!=null)Zp(t,e,t.memoizedProps,a);else{if(typeof a!="string"&&e.stateNode===null)throw Error(fn(166));if(r=q1(lo.current),q1(y0.current),Da(e)){if(a=e.stateNode,r=e.memoizedProps,a[v0]=e,(h=a.nodeValue!==r)&&(t=Ii,t!==null))switch(t.tag){case 3:Ua(a.nodeValue,r,(t.mode&1)!==0);break;case 5:t.memoizedProps.suppressHydrationWarning!==!0&&Ua(a.nodeValue,r,(t.mode&1)!==0)}h&&(e.flags|=4)}else a=(r.nodeType===9?r:r.ownerDocument).createTextNode(a),a[v0]=e,e.stateNode=a}return Qr(e),null;case 13:if(sr(pr),a=e.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(cr&&Ai!==null&&(e.mode&1)!==0&&(e.flags&128)===0)hp(),k2(),e.flags|=98560,h=!1;else if(h=Da(e),a!==null&&a.dehydrated!==null){if(t===null){if(!h)throw Error(fn(318));if(h=e.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(fn(317));h[v0]=e}else k2(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;Qr(e),h=!1}else o0!==null&&(C5(o0),o0=null),h=!0;if(!h)return e.flags&65536?e:null}return(e.flags&128)!==0?(e.lanes=r,e):(a=a!==null,a!==(t!==null&&t.memoizedState!==null)&&a&&(e.child.flags|=8192,(e.mode&1)!==0&&(t===null||(pr.current&1)!==0?Pr===0&&(Pr=3):f7())),e.updateQueue!==null&&(e.flags|=4),Qr(e),null);case 4:return L2(),w5(t,e),t===null&&oo(e.stateNode.containerInfo),Qr(e),null;case 10:return Y5(e.type._context),Qr(e),null;case 17:return mi(e.type)&&u6(),Qr(e),null;case 19:if(sr(pr),h=e.memoizedState,h===null)return Qr(e),null;if(a=(e.flags&128)!==0,L=h.rendering,L===null)if(a)R3(h,!1);else{if(Pr!==0||t!==null&&(t.flags&128)!==0)for(t=e.child;t!==null;){if(L=m6(t),L!==null){for(e.flags|=128,R3(h,!1),a=L.updateQueue,a!==null&&(e.updateQueue=a,e.flags|=4),e.subtreeFlags=0,a=r,r=e.child;r!==null;)h=r,t=a,h.flags&=14680066,L=h.alternate,L===null?(h.childLanes=0,h.lanes=t,h.child=null,h.subtreeFlags=0,h.memoizedProps=null,h.memoizedState=null,h.updateQueue=null,h.dependencies=null,h.stateNode=null):(h.childLanes=L.childLanes,h.lanes=L.lanes,h.child=L.child,h.subtreeFlags=0,h.deletions=null,h.memoizedProps=L.memoizedProps,h.memoizedState=L.memoizedState,h.updateQueue=L.updateQueue,h.type=L.type,t=L.dependencies,h.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),r=r.sibling;return rr(pr,pr.current&1|2),e.child}t=t.sibling}h.tail!==null&&Er()>P2&&(e.flags|=128,a=!0,R3(h,!1),e.lanes=4194304)}else{if(!a)if(t=m6(L),t!==null){if(e.flags|=128,a=!0,r=t.updateQueue,r!==null&&(e.updateQueue=r,e.flags|=4),R3(h,!0),h.tail===null&&h.tailMode==="hidden"&&!L.alternate&&!cr)return Qr(e),null}else 2*Er()-h.renderingStartTime>P2&&r!==1073741824&&(e.flags|=128,a=!0,R3(h,!1),e.lanes=4194304);h.isBackwards?(L.sibling=e.child,e.child=L):(r=h.last,r!==null?r.sibling=L:e.child=L,h.last=L)}return h.tail!==null?(e=h.tail,h.rendering=e,h.tail=e.sibling,h.renderingStartTime=Er(),e.sibling=null,r=pr.current,rr(pr,a?r&1|2:r&1),e):(Qr(e),null);case 22:case 23:return c7(),a=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==a&&(e.flags|=8192),a&&(e.mode&1)!==0?(Ti&1073741824)!==0&&(Qr(e),e.subtreeFlags&6&&(e.flags|=8192)):Qr(e),null;case 24:return null;case 25:return null}throw Error(fn(156,e.tag))}function Yy(t,e){switch(G5(e),e.tag){case 1:return mi(e.type)&&u6(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return L2(),sr(di),sr(Kr),K5(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 5:return J5(e),null;case 13:if(sr(pr),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(fn(340));k2()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return sr(pr),null;case 4:return L2(),null;case 10:return Y5(e.type._context),null;case 22:case 23:return c7(),null;case 24:return null;default:return null}}var Ba=!1,Jr=!1,Wy=typeof WeakSet=="function"?WeakSet:Set,Sn=null;function S2(t,e){var r=t.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(a){Sr(t,e,a)}else r.current=null}function y5(t,e,r){try{r()}catch(a){Sr(t,e,a)}}var rf=!1;function Zy(t,e){if(n5=i6,t=ep(),z5(t)){if("selectionStart"in t)var r={start:t.selectionStart,end:t.selectionEnd};else e:{r=(r=t.ownerDocument)&&r.defaultView||window;var a=r.getSelection&&r.getSelection();if(a&&a.rangeCount!==0){r=a.anchorNode;var l=a.anchorOffset,h=a.focusNode;a=a.focusOffset;try{r.nodeType,h.nodeType}catch(Oe){r=null;break e}var L=0,M=-1,_=-1,R=0,ie=0,K=t,de=null;t:for(;;){for(var ve;K!==r||l!==0&&K.nodeType!==3||(M=L+l),K!==h||a!==0&&K.nodeType!==3||(_=L+a),K.nodeType===3&&(L+=K.nodeValue.length),(ve=K.firstChild)!==null;)de=K,K=ve;for(;;){if(K===t)break t;if(de===r&&++R===l&&(M=L),de===h&&++ie===a&&(_=L),(ve=K.nextSibling)!==null)break;K=de,de=K.parentNode}K=ve}r=M===-1||_===-1?null:{start:M,end:_}}else r=null}r=r||{start:0,end:0}}else r=null;for(r5={focusedElem:t,selectionRange:r},i6=!1,Sn=e;Sn!==null;)if(e=Sn,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Sn=t;else for(;Sn!==null;){e=Sn;try{var De=e.alternate;if((e.flags&1024)!==0)switch(e.tag){case 0:case 11:case 15:break;case 1:if(De!==null){var Ie=De.memoizedProps,Qe=De.memoizedState,ee=e.stateNode,Te=ee.getSnapshotBeforeUpdate(e.elementType===e.type?Ie:r0(e.type,Ie),Qe);ee.__reactInternalSnapshotBeforeUpdate=Te}break;case 3:var ze=e.stateNode.containerInfo;ze.nodeType===1?ze.textContent="":ze.nodeType===9&&ze.documentElement&&ze.removeChild(ze.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(fn(163))}}catch(Oe){Sr(e,e.return,Oe)}if(t=e.sibling,t!==null){t.return=e.return,Sn=t;break}Sn=e.return}return De=rf,rf=!1,De}function Y3(t,e,r){var a=e.updateQueue;if(a=a!==null?a.lastEffect:null,a!==null){var l=a=a.next;do{if((l.tag&t)===t){var h=l.destroy;l.destroy=void 0,h!==void 0&&y5(e,r,h)}l=l.next}while(l!==a)}}function b6(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var r=e=e.next;do{if((r.tag&t)===t){var a=r.create;r.destroy=a()}r=r.next}while(r!==e)}}function S5(t){var e=t.ref;if(e!==null){var r=t.stateNode;switch(t.tag){case 5:t=r;break;default:t=r}typeof e=="function"?e(t):e.current=t}}function Qp(t){var e=t.alternate;e!==null&&(t.alternate=null,Qp(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[v0],delete e[so],delete e[a5],delete e[Ly],delete e[Oy])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function Jp(t){return t.tag===5||t.tag===3||t.tag===4}function of(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Jp(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function _5(t,e,r){var a=t.tag;if(a===5||a===6)t=t.stateNode,e?r.nodeType===8?r.parentNode.insertBefore(t,e):r.insertBefore(t,e):(r.nodeType===8?(e=r.parentNode,e.insertBefore(t,r)):(e=r,e.appendChild(t)),r=r._reactRootContainer,r!=null||e.onclick!==null||(e.onclick=s6));else if(a!==4&&(t=t.child,t!==null))for(_5(t,e,r),t=t.sibling;t!==null;)_5(t,e,r),t=t.sibling}function M5(t,e,r){var a=t.tag;if(a===5||a===6)t=t.stateNode,e?r.insertBefore(t,e):r.appendChild(t);else if(a!==4&&(t=t.child,t!==null))for(M5(t,e,r),t=t.sibling;t!==null;)M5(t,e,r),t=t.sibling}var Vr=null,i0=!1;function J0(t,e,r){for(r=r.child;r!==null;)Kp(t,e,r),r=r.sibling}function Kp(t,e,r){if(w0&&typeof w0.onCommitFiberUnmount=="function")try{w0.onCommitFiberUnmount(E6,r)}catch(M){}switch(r.tag){case 5:Jr||S2(r,e);case 6:var a=Vr,l=i0;Vr=null,J0(t,e,r),Vr=a,i0=l,Vr!==null&&(i0?(t=Vr,r=r.stateNode,t.nodeType===8?t.parentNode.removeChild(r):t.removeChild(r)):Vr.removeChild(r.stateNode));break;case 18:Vr!==null&&(i0?(t=Vr,r=r.stateNode,t.nodeType===8?x8(t.parentNode,r):t.nodeType===1&&x8(t,r),no(t)):x8(Vr,r.stateNode));break;case 4:a=Vr,l=i0,Vr=r.stateNode.containerInfo,i0=!0,J0(t,e,r),Vr=a,i0=l;break;case 0:case 11:case 14:case 15:if(!Jr&&(a=r.updateQueue,a!==null&&(a=a.lastEffect,a!==null))){l=a=a.next;do{var h=l,L=h.destroy;h=h.tag,L!==void 0&&((h&2)!==0||(h&4)!==0)&&y5(r,e,L),l=l.next}while(l!==a)}J0(t,e,r);break;case 1:if(!Jr&&(S2(r,e),a=r.stateNode,typeof a.componentWillUnmount=="function"))try{a.props=r.memoizedProps,a.state=r.memoizedState,a.componentWillUnmount()}catch(M){Sr(r,e,M)}J0(t,e,r);break;case 21:J0(t,e,r);break;case 22:r.mode&1?(Jr=(a=Jr)||r.memoizedState!==null,J0(t,e,r),Jr=a):J0(t,e,r);break;default:J0(t,e,r)}}function af(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var r=t.stateNode;r===null&&(r=t.stateNode=new Wy),e.forEach(function(a){var l=oS.bind(null,t,a);r.has(a)||(r.add(a),a.then(l,l))})}}function n0(t,e){var r=e.deletions;if(r!==null)for(var a=0;a<r.length;a++){var l=r[a];try{var h=t,L=e,M=L;e:for(;M!==null;){switch(M.tag){case 5:Vr=M.stateNode,i0=!1;break e;case 3:Vr=M.stateNode.containerInfo,i0=!0;break e;case 4:Vr=M.stateNode.containerInfo,i0=!0;break e}M=M.return}if(Vr===null)throw Error(fn(160));Kp(h,L,l),Vr=null,i0=!1;var _=l.alternate;_!==null&&(_.return=null),l.return=null}catch(R){Sr(l,e,R)}}if(e.subtreeFlags&12854)for(e=e.child;e!==null;)eh(e,t),e=e.sibling}function eh(t,e){var r=t.alternate,a=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:if(n0(e,t),m0(t),a&4){try{Y3(3,t,t.return),b6(3,t)}catch(Ie){Sr(t,t.return,Ie)}try{Y3(5,t,t.return)}catch(Ie){Sr(t,t.return,Ie)}}break;case 1:n0(e,t),m0(t),a&512&&r!==null&&S2(r,r.return);break;case 5:if(n0(e,t),m0(t),a&512&&r!==null&&S2(r,r.return),t.flags&32){var l=t.stateNode;try{J3(l,"")}catch(Ie){Sr(t,t.return,Ie)}}if(a&4&&(l=t.stateNode,l!=null)){var h=t.memoizedProps,L=r!==null?r.memoizedProps:h,M=t.type,_=t.updateQueue;if(t.updateQueue=null,_!==null)try{M==="input"&&h.type==="radio"&&h.name!=null&&_f(l,h),X8(M,L);var R=X8(M,h);for(L=0;L<_.length;L+=2){var ie=_[L],K=_[L+1];ie==="style"?Cf(l,K):ie==="dangerouslySetInnerHTML"?Nf(l,K):ie==="children"?J3(l,K):I5(l,ie,K,R)}switch(M){case"input":B8(l,h);break;case"textarea":Mf(l,h);break;case"select":var de=l._wrapperState.wasMultiple;l._wrapperState.wasMultiple=!!h.multiple;var ve=h.value;ve!=null?M2(l,!!h.multiple,ve,!1):de!==!!h.multiple&&(h.defaultValue!=null?M2(l,!!h.multiple,h.defaultValue,!0):M2(l,!!h.multiple,h.multiple?[]:"",!1))}l[so]=h}catch(Ie){Sr(t,t.return,Ie)}}break;case 6:if(n0(e,t),m0(t),a&4){if(t.stateNode===null)throw Error(fn(162));l=t.stateNode,h=t.memoizedProps;try{l.nodeValue=h}catch(Ie){Sr(t,t.return,Ie)}}break;case 3:if(n0(e,t),m0(t),a&4&&r!==null&&r.memoizedState.isDehydrated)try{no(e.containerInfo)}catch(Ie){Sr(t,t.return,Ie)}break;case 4:n0(e,t),m0(t);break;case 13:n0(e,t),m0(t),l=t.child,l.flags&8192&&(h=l.memoizedState!==null,l.stateNode.isHidden=h,!h||l.alternate!==null&&l.alternate.memoizedState!==null||(u7=Er())),a&4&&af(t);break;case 22:if(ie=r!==null&&r.memoizedState!==null,t.mode&1?(Jr=(R=Jr)||ie,n0(e,t),Jr=R):n0(e,t),m0(t),a&8192){if(R=t.memoizedState!==null,(t.stateNode.isHidden=R)&&!ie&&(t.mode&1)!==0)for(Sn=t,ie=t.child;ie!==null;){for(K=Sn=ie;Sn!==null;){switch(de=Sn,ve=de.child,de.tag){case 0:case 11:case 14:case 15:Y3(4,de,de.return);break;case 1:S2(de,de.return);var De=de.stateNode;if(typeof De.componentWillUnmount=="function"){a=de,r=de.return;try{e=a,De.props=e.memoizedProps,De.state=e.memoizedState,De.componentWillUnmount()}catch(Ie){Sr(a,r,Ie)}}break;case 5:S2(de,de.return);break;case 22:if(de.memoizedState!==null){uf(K);continue}}ve!==null?(ve.return=de,Sn=ve):uf(K)}ie=ie.sibling}e:for(ie=null,K=t;;){if(K.tag===5){if(ie===null){ie=K;try{l=K.stateNode,R?(h=l.style,typeof h.setProperty=="function"?h.setProperty("display","none","important"):h.display="none"):(M=K.stateNode,_=K.memoizedProps.style,L=_!=null&&_.hasOwnProperty("display")?_.display:null,M.style.display=xf("display",L))}catch(Ie){Sr(t,t.return,Ie)}}}else if(K.tag===6){if(ie===null)try{K.stateNode.nodeValue=R?"":K.memoizedProps}catch(Ie){Sr(t,t.return,Ie)}}else if((K.tag!==22&&K.tag!==23||K.memoizedState===null||K===t)&&K.child!==null){K.child.return=K,K=K.child;continue}if(K===t)break e;for(;K.sibling===null;){if(K.return===null||K.return===t)break e;ie===K&&(ie=null),K=K.return}ie===K&&(ie=null),K.sibling.return=K.return,K=K.sibling}}break;case 19:n0(e,t),m0(t),a&4&&af(t);break;case 21:break;default:n0(e,t),m0(t)}}function m0(t){var e=t.flags;if(e&2){try{e:{for(var r=t.return;r!==null;){if(Jp(r)){var a=r;break e}r=r.return}throw Error(fn(160))}switch(a.tag){case 5:var l=a.stateNode;a.flags&32&&(J3(l,""),a.flags&=-33);var h=of(t);M5(t,h,l);break;case 3:case 4:var L=a.stateNode.containerInfo,M=of(t);_5(t,M,L);break;default:throw Error(fn(161))}}catch(_){Sr(t,t.return,_)}t.flags&=-3}e&4096&&(t.flags&=-4097)}function Qy(t,e,r){Sn=t,th(t,e,r)}function th(t,e,r){for(var a=(t.mode&1)!==0;Sn!==null;){var l=Sn,h=l.child;if(l.tag===22&&a){var L=l.memoizedState!==null||Ba;if(!L){var M=l.alternate,_=M!==null&&M.memoizedState!==null||Jr;M=Ba;var R=Jr;if(Ba=L,(Jr=_)&&!R)for(Sn=l;Sn!==null;)L=Sn,_=L.child,L.tag===22&&L.memoizedState!==null?lf(l):_!==null?(_.return=L,Sn=_):lf(l);for(;h!==null;)Sn=h,th(h,e,r),h=h.sibling;Sn=l,Ba=M,Jr=R}sf(t,e,r)}else(l.subtreeFlags&8772)!==0&&h!==null?(h.return=l,Sn=h):sf(t,e,r)}}function sf(t){for(;Sn!==null;){var e=Sn;if((e.flags&8772)!==0){var r=e.alternate;try{if((e.flags&8772)!==0)switch(e.tag){case 0:case 11:case 15:Jr||b6(5,e);break;case 1:var a=e.stateNode;if(e.flags&4&&!Jr)if(r===null)a.componentDidMount();else{var l=e.elementType===e.type?r.memoizedProps:r0(e.type,r.memoizedProps);a.componentDidUpdate(l,r.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}var h=e.updateQueue;h!==null&&Vc(e,h,a);break;case 3:var L=e.updateQueue;if(L!==null){if(r=null,e.child!==null)switch(e.child.tag){case 5:r=e.child.stateNode;break;case 1:r=e.child.stateNode}Vc(e,L,r)}break;case 5:var M=e.stateNode;if(r===null&&e.flags&4){r=M;var _=e.memoizedProps;switch(e.type){case"button":case"input":case"select":case"textarea":_.autoFocus&&r.focus();break;case"img":_.src&&(r.src=_.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(e.memoizedState===null){var R=e.alternate;if(R!==null){var ie=R.memoizedState;if(ie!==null){var K=ie.dehydrated;K!==null&&no(K)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(fn(163))}Jr||e.flags&512&&S5(e)}catch(de){Sr(e,e.return,de)}}if(e===t){Sn=null;break}if(r=e.sibling,r!==null){r.return=e.return,Sn=r;break}Sn=e.return}}function uf(t){for(;Sn!==null;){var e=Sn;if(e===t){Sn=null;break}var r=e.sibling;if(r!==null){r.return=e.return,Sn=r;break}Sn=e.return}}function lf(t){for(;Sn!==null;){var e=Sn;try{switch(e.tag){case 0:case 11:case 15:var r=e.return;try{b6(4,e)}catch(_){Sr(e,r,_)}break;case 1:var a=e.stateNode;if(typeof a.componentDidMount=="function"){var l=e.return;try{a.componentDidMount()}catch(_){Sr(e,l,_)}}var h=e.return;try{S5(e)}catch(_){Sr(e,h,_)}break;case 5:var L=e.return;try{S5(e)}catch(_){Sr(e,L,_)}}}catch(_){Sr(e,e.return,_)}if(e===t){Sn=null;break}var M=e.sibling;if(M!==null){M.return=e.return,Sn=M;break}Sn=e.return}}var Jy=Math.ceil,w6=D0.ReactCurrentDispatcher,a7=D0.ReactCurrentOwner,Vi=D0.ReactCurrentBatchConfig,Hn=0,Dr=null,Tr=null,Gr=0,Ti=0,_2=g1(0),Pr=0,ho=null,z1=0,L6=0,s7=0,W3=null,pi=null,u7=0,P2=1/0,I0=null,y6=!1,E5=null,c1=null,za=!1,i1=null,S6=0,Z3=0,N5=null,Za=-1,Qa=0;function ai(){return(Hn&6)!==0?Er():Za!==-1?Za:Za=Er()}function f1(t){return(t.mode&1)===0?1:(Hn&2)!==0&&Gr!==0?Gr&-Gr:Ry.transition!==null?(Qa===0&&(Qa=Df()),Qa):(t=jn,t!==0||(t=window.event,t=t===void 0?16:$f(t.type)),t)}function s0(t,e,r,a){if(50<Z3)throw Z3=0,N5=null,Error(fn(185));mo(t,r,a),((Hn&2)===0||t!==Dr)&&(t===Dr&&((Hn&2)===0&&(L6|=r),Pr===4&&n1(t,Gr)),gi(t,a),r===1&&Hn===0&&(e.mode&1)===0&&(P2=Er()+500,A6&&v1()))}function gi(t,e){var r=t.callbackNode;Uw(t,e);var a=r6(t,t===Dr?Gr:0);if(a===0)r!==null&&gc(r),t.callbackNode=null,t.callbackPriority=0;else if(e=a&-a,t.callbackPriority!==e){if(r!=null&&gc(r),e===1)t.tag===0?Py(cf.bind(null,t)):cp(cf.bind(null,t)),ky(function(){(Hn&6)===0&&v1()}),r=null;else{switch(Ff(a)){case 1:r=P5;break;case 4:r=qf;break;case 16:r=n6;break;case 536870912:r=Uf;break;default:r=n6}r=lh(r,nh.bind(null,t))}t.callbackPriority=e,t.callbackNode=r}}function nh(t,e){if(Za=-1,Qa=0,(Hn&6)!==0)throw Error(fn(327));var r=t.callbackNode;if(T2()&&t.callbackNode!==r)return null;var a=r6(t,t===Dr?Gr:0);if(a===0)return null;if((a&30)!==0||(a&t.expiredLanes)!==0||e)e=_6(t,a);else{e=a;var l=Hn;Hn|=2;var h=ih();(Dr!==t||Gr!==e)&&(I0=null,P2=Er()+500,U1(t,e));do try{tS();break}catch(M){rh(t,M)}while(1);j5(),w6.current=h,Hn=l,Tr!==null?e=0:(Dr=null,Gr=0,e=Pr)}if(e!==0){if(e===2&&(l=Q8(t),l!==0&&(a=l,e=x5(t,l))),e===1)throw r=ho,U1(t,0),n1(t,a),gi(t,Er()),r;if(e===6)n1(t,a);else{if(l=t.current.alternate,(a&30)===0&&!Ky(l)&&(e=_6(t,a),e===2&&(h=Q8(t),h!==0&&(a=h,e=x5(t,h))),e===1))throw r=ho,U1(t,0),n1(t,a),gi(t,Er()),r;switch(t.finishedWork=l,t.finishedLanes=a,e){case 0:case 1:throw Error(fn(345));case 2:O1(t,pi,I0);break;case 3:if(n1(t,a),(a&130023424)===a&&(e=u7+500-Er(),10<e)){if(r6(t,0)!==0)break;if(l=t.suspendedLanes,(l&a)!==a){ai(),t.pingedLanes|=t.suspendedLanes&l;break}t.timeoutHandle=o5(O1.bind(null,t,pi,I0),e);break}O1(t,pi,I0);break;case 4:if(n1(t,a),(a&4194240)===a)break;for(e=t.eventTimes,l=-1;0<a;){var L=31-a0(a);h=1<<L,L=e[L],L>l&&(l=L),a&=~h}if(a=l,a=Er()-a,a=(120>a?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*Jy(a/1960))-a,10<a){t.timeoutHandle=o5(O1.bind(null,t,pi,I0),a);break}O1(t,pi,I0);break;case 5:O1(t,pi,I0);break;default:throw Error(fn(329))}}}return gi(t,Er()),t.callbackNode===r?nh.bind(null,t):null}function x5(t,e){var r=W3;return t.current.memoizedState.isDehydrated&&(U1(t,e).flags|=256),t=_6(t,e),t!==2&&(e=pi,pi=r,e!==null&&C5(e)),t}function C5(t){pi===null?pi=t:pi.push.apply(pi,t)}function Ky(t){for(var e=t;;){if(e.flags&16384){var r=e.updateQueue;if(r!==null&&(r=r.stores,r!==null))for(var a=0;a<r.length;a++){var l=r[a],h=l.getSnapshot;l=l.value;try{if(!u0(h(),l))return!1}catch(L){return!1}}}if(r=e.child,e.subtreeFlags&16384&&r!==null)r.return=e,e=r;else{if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return!0;e=e.return}e.sibling.return=e.return,e=e.sibling}}return!0}function n1(t,e){for(e&=~s7,e&=~L6,t.suspendedLanes|=e,t.pingedLanes&=~e,t=t.expirationTimes;0<e;){var r=31-a0(e),a=1<<r;t[r]=-1,e&=~a}}function cf(t){if((Hn&6)!==0)throw Error(fn(327));T2();var e=r6(t,0);if((e&1)===0)return gi(t,Er()),null;var r=_6(t,e);if(t.tag!==0&&r===2){var a=Q8(t);a!==0&&(e=a,r=x5(t,a))}if(r===1)throw r=ho,U1(t,0),n1(t,e),gi(t,Er()),r;if(r===6)throw Error(fn(345));return t.finishedWork=t.current.alternate,t.finishedLanes=e,O1(t,pi,I0),gi(t,Er()),null}function l7(t,e){var r=Hn;Hn|=1;try{return t(e)}finally{Hn=r,Hn===0&&(P2=Er()+500,A6&&v1())}}function V1(t){i1!==null&&i1.tag===0&&(Hn&6)===0&&T2();var e=Hn;Hn|=1;var r=Vi.transition,a=jn;try{if(Vi.transition=null,jn=1,t)return t()}finally{jn=a,Vi.transition=r,Hn=e,(Hn&6)===0&&v1()}}function c7(){Ti=_2.current,sr(_2)}function U1(t,e){t.finishedWork=null,t.finishedLanes=0;var r=t.timeoutHandle;if(r!==-1&&(t.timeoutHandle=-1,Iy(r)),Tr!==null)for(r=Tr.return;r!==null;){var a=r;switch(G5(a),a.tag){case 1:a=a.type.childContextTypes,a!=null&&u6();break;case 3:L2(),sr(di),sr(Kr),K5();break;case 5:J5(a);break;case 4:L2();break;case 13:sr(pr);break;case 19:sr(pr);break;case 10:Y5(a.type._context);break;case 22:case 23:c7()}r=r.return}if(Dr=t,Tr=t=p1(t.current,null),Gr=Ti=e,Pr=0,ho=null,s7=L6=z1=0,pi=W3=null,R1!==null){for(e=0;e<R1.length;e++)if(r=R1[e],a=r.interleaved,a!==null){r.interleaved=null;var l=a.next,h=r.pending;if(h!==null){var L=h.next;h.next=l,a.next=L}r.pending=a}R1=null}return t}function rh(t,e){do{var r=Tr;try{if(j5(),ja.current=v6,g6){for(var a=hr.memoizedState;a!==null;){var l=a.queue;l!==null&&(l.pending=null),a=a.next}g6=!1}if(B1=0,Ur=Or=hr=null,j3=!1,co=0,a7.current=null,r===null||r.return===null){Pr=1,ho=e,Tr=null;break}e:{var h=t,L=r.return,M=r,_=e;if(e=Gr,M.flags|=32768,_!==null&&typeof _=="object"&&typeof _.then=="function"){var R=_,ie=M,K=ie.tag;if((ie.mode&1)===0&&(K===0||K===11||K===15)){var de=ie.alternate;de?(ie.updateQueue=de.updateQueue,ie.memoizedState=de.memoizedState,ie.lanes=de.lanes):(ie.updateQueue=null,ie.memoizedState=null)}var ve=Zc(L);if(ve!==null){ve.flags&=-257,Qc(ve,L,M,h,e),ve.mode&1&&Wc(h,R,e),e=ve,_=R;var De=e.updateQueue;if(De===null){var Ie=new Set;Ie.add(_),e.updateQueue=Ie}else De.add(_);break e}else{if((e&1)===0){Wc(h,R,e),f7();break e}_=Error(fn(426))}}else if(cr&&M.mode&1){var Qe=Zc(L);if(Qe!==null){(Qe.flags&65536)===0&&(Qe.flags|=256),Qc(Qe,L,M,h,e),$5(O2(_,M));break e}}h=_=O2(_,M),Pr!==4&&(Pr=2),W3===null?W3=[h]:W3.push(h),h=L;do{switch(h.tag){case 3:h.flags|=65536,e&=-e,h.lanes|=e;var ee=Hp(h,_,e);zc(h,ee);break e;case 1:M=_;var Te=h.type,ze=h.stateNode;if((h.flags&128)===0&&(typeof Te.getDerivedStateFromError=="function"||ze!==null&&typeof ze.componentDidCatch=="function"&&(c1===null||!c1.has(ze)))){h.flags|=65536,e&=-e,h.lanes|=e;var Oe=Bp(h,M,e);zc(h,Oe);break e}}h=h.return}while(h!==null)}ah(r)}catch(ut){e=ut,Tr===r&&r!==null&&(Tr=r=r.return);continue}break}while(1)}function ih(){var t=w6.current;return w6.current=v6,t===null?v6:t}function f7(){(Pr===0||Pr===3||Pr===2)&&(Pr=4),Dr===null||(z1&268435455)===0&&(L6&268435455)===0||n1(Dr,Gr)}function _6(t,e){var r=Hn;Hn|=2;var a=ih();(Dr!==t||Gr!==e)&&(I0=null,U1(t,e));do try{eS();break}catch(l){rh(t,l)}while(1);if(j5(),Hn=r,w6.current=a,Tr!==null)throw Error(fn(261));return Dr=null,Gr=0,Pr}function eS(){for(;Tr!==null;)oh(Tr)}function tS(){for(;Tr!==null&&!Aw();)oh(Tr)}function oh(t){var e=uh(t.alternate,t,Ti);t.memoizedProps=t.pendingProps,e===null?ah(t):Tr=e,a7.current=null}function ah(t){var e=t;do{var r=e.alternate;if(t=e.return,(e.flags&32768)===0){if(r=jy(r,e,Ti),r!==null){Tr=r;return}}else{if(r=Yy(r,e),r!==null){r.flags&=32767,Tr=r;return}if(t!==null)t.flags|=32768,t.subtreeFlags=0,t.deletions=null;else{Pr=6,Tr=null;return}}if(e=e.sibling,e!==null){Tr=e;return}Tr=e=t}while(e!==null);Pr===0&&(Pr=5)}function O1(t,e,r){var a=jn,l=Vi.transition;try{Vi.transition=null,jn=1,nS(t,e,r,a)}finally{Vi.transition=l,jn=a}return null}function nS(t,e,r,a){do T2();while(i1!==null);if((Hn&6)!==0)throw Error(fn(327));r=t.finishedWork;var l=t.finishedLanes;if(r===null)return null;if(t.finishedWork=null,t.finishedLanes=0,r===t.current)throw Error(fn(177));t.callbackNode=null,t.callbackPriority=0;var h=r.lanes|r.childLanes;if(Dw(t,h),t===Dr&&(Tr=Dr=null,Gr=0),(r.subtreeFlags&2064)===0&&(r.flags&2064)===0||za||(za=!0,lh(n6,function(){return T2(),null})),h=(r.flags&15990)!==0,(r.subtreeFlags&15990)!==0||h){h=Vi.transition,Vi.transition=null;var L=jn;jn=1;var M=Hn;Hn|=4,a7.current=null,Zy(t,r),eh(r,t),Ny(r5),i6=!!n5,r5=n5=null,t.current=r,Qy(r,t,l),Iw(),Hn=M,jn=L,Vi.transition=h}else t.current=r;if(za&&(za=!1,i1=t,S6=l),h=t.pendingLanes,h===0&&(c1=null),Lw(r.stateNode,a),gi(t,Er()),e!==null)for(a=t.onRecoverableError,r=0;r<e.length;r++)l=e[r],a(l.value,{componentStack:l.stack,digest:l.digest});if(y6)throw y6=!1,t=E5,E5=null,t;return(S6&1)!==0&&t.tag!==0&&T2(),h=t.pendingLanes,(h&1)!==0?t===N5?Z3++:(Z3=0,N5=t):Z3=0,v1(),null}function T2(){if(i1!==null){var t=Ff(S6),e=Vi.transition,r=jn;try{if(Vi.transition=null,jn=16>t?16:t,i1===null)var a=!1;else{if(t=i1,i1=null,S6=0,(Hn&6)!==0)throw Error(fn(331));var l=Hn;for(Hn|=4,Sn=t.current;Sn!==null;){var h=Sn,L=h.child;if((Sn.flags&16)!==0){var M=h.deletions;if(M!==null){for(var _=0;_<M.length;_++){var R=M[_];for(Sn=R;Sn!==null;){var ie=Sn;switch(ie.tag){case 0:case 11:case 15:Y3(8,ie,h)}var K=ie.child;if(K!==null)K.return=ie,Sn=K;else for(;Sn!==null;){ie=Sn;var de=ie.sibling,ve=ie.return;if(Qp(ie),ie===R){Sn=null;break}if(de!==null){de.return=ve,Sn=de;break}Sn=ve}}}var De=h.alternate;if(De!==null){var Ie=De.child;if(Ie!==null){De.child=null;do{var Qe=Ie.sibling;Ie.sibling=null,Ie=Qe}while(Ie!==null)}}Sn=h}}if((h.subtreeFlags&2064)!==0&&L!==null)L.return=h,Sn=L;else e:for(;Sn!==null;){if(h=Sn,(h.flags&2048)!==0)switch(h.tag){case 0:case 11:case 15:Y3(9,h,h.return)}var ee=h.sibling;if(ee!==null){ee.return=h.return,Sn=ee;break e}Sn=h.return}}var Te=t.current;for(Sn=Te;Sn!==null;){L=Sn;var ze=L.child;if((L.subtreeFlags&2064)!==0&&ze!==null)ze.return=L,Sn=ze;else e:for(L=Te;Sn!==null;){if(M=Sn,(M.flags&2048)!==0)try{switch(M.tag){case 0:case 11:case 15:b6(9,M)}}catch(ut){Sr(M,M.return,ut)}if(M===L){Sn=null;break e}var Oe=M.sibling;if(Oe!==null){Oe.return=M.return,Sn=Oe;break e}Sn=M.return}}if(Hn=l,v1(),w0&&typeof w0.onPostCommitFiberRoot=="function")try{w0.onPostCommitFiberRoot(E6,t)}catch(ut){}a=!0}return a}finally{jn=r,Vi.transition=e}}return!1}function ff(t,e,r){e=O2(r,e),e=Hp(t,e,1),t=l1(t,e,1),e=ai(),t!==null&&(mo(t,1,e),gi(t,e))}function Sr(t,e,r){if(t.tag===3)ff(t,t,r);else for(;e!==null;){if(e.tag===3){ff(e,t,r);break}else if(e.tag===1){var a=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(c1===null||!c1.has(a))){t=O2(r,t),t=Bp(e,t,1),e=l1(e,t,1),t=ai(),e!==null&&(mo(e,1,t),gi(e,t));break}}e=e.return}}function rS(t,e,r){var a=t.pingCache;a!==null&&a.delete(e),e=ai(),t.pingedLanes|=t.suspendedLanes&r,Dr===t&&(Gr&r)===r&&(Pr===4||Pr===3&&(Gr&130023424)===Gr&&500>Er()-u7?U1(t,0):s7|=r),gi(t,e)}function sh(t,e){e===0&&((t.mode&1)===0?e=1:(e=Aa,Aa<<=1,(Aa&130023424)===0&&(Aa=4194304)));var r=ai();t=q0(t,e),t!==null&&(mo(t,e,r),gi(t,r))}function iS(t){var e=t.memoizedState,r=0;e!==null&&(r=e.retryLane),sh(t,r)}function oS(t,e){var r=0;switch(t.tag){case 13:var a=t.stateNode,l=t.memoizedState;l!==null&&(r=l.retryLane);break;case 19:a=t.stateNode;break;default:throw Error(fn(314))}a!==null&&a.delete(e),sh(t,r)}var uh;uh=function(t,e,r){if(t!==null)if(t.memoizedProps!==e.pendingProps||di.current)hi=!0;else{if((t.lanes&r)===0&&(e.flags&128)===0)return hi=!1,Xy(t,e,r);hi=(t.flags&131072)!==0}else hi=!1,cr&&(e.flags&1048576)!==0&&fp(e,f6,e.index);switch(e.lanes=0,e.tag){case 2:var a=e.type;Wa(t,e),t=e.pendingProps;var l=I2(e,Kr.current);C2(e,r),l=t7(null,e,a,t,l,r);var h=n7();return e.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,mi(a)?(h=!0,l6(e)):h=!1,e.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,Z5(e),l.updater=I6,e.stateNode=l,l._reactInternals=e,p5(e,a,t,r),e=m5(null,e,a,!0,h,r)):(e.tag=0,cr&&h&&V5(e),oi(null,e,l,r),e=e.child),e;case 16:a=e.elementType;e:{switch(Wa(t,e),t=e.pendingProps,l=a._init,a=l(a._payload),e.type=a,l=e.tag=sS(a),t=r0(a,t),l){case 0:e=d5(null,e,a,t,r);break e;case 1:e=ef(null,e,a,t,r);break e;case 11:e=Jc(null,e,a,t,r);break e;case 14:e=Kc(null,e,a,r0(a.type,t),r);break e}throw Error(fn(306,a,""))}return e;case 0:return a=e.type,l=e.pendingProps,l=e.elementType===a?l:r0(a,l),d5(t,e,a,l,r);case 1:return a=e.type,l=e.pendingProps,l=e.elementType===a?l:r0(a,l),ef(t,e,a,l,r);case 3:e:{if($p(e),t===null)throw Error(fn(387));a=e.pendingProps,h=e.memoizedState,l=h.element,mp(t,e),d6(e,a,null,r);var L=e.memoizedState;if(a=L.element,h.isDehydrated)if(h={element:a,isDehydrated:!1,cache:L.cache,pendingSuspenseBoundaries:L.pendingSuspenseBoundaries,transitions:L.transitions},e.updateQueue.baseState=h,e.memoizedState=h,e.flags&256){l=O2(Error(fn(423)),e),e=tf(t,e,a,r,l);break e}else if(a!==l){l=O2(Error(fn(424)),e),e=tf(t,e,a,r,l);break e}else for(Ai=u1(e.stateNode.containerInfo.firstChild),Ii=e,cr=!0,o0=null,r=yp(e,null,a,r),e.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(k2(),a===l){e=U0(t,e,r);break e}oi(t,e,a,r)}e=e.child}return e;case 5:return Sp(e),t===null&&l5(e),a=e.type,l=e.pendingProps,h=t!==null?t.memoizedProps:null,L=l.children,i5(a,l)?L=null:h!==null&&i5(a,h)&&(e.flags|=32),Gp(t,e),oi(t,e,L,r),e.child;case 6:return t===null&&l5(e),null;case 13:return Xp(t,e,r);case 4:return Q5(e,e.stateNode.containerInfo),a=e.pendingProps,t===null?e.child=b2(e,null,a,r):oi(t,e,a,r),e.child;case 11:return a=e.type,l=e.pendingProps,l=e.elementType===a?l:r0(a,l),Jc(t,e,a,l,r);case 7:return oi(t,e,e.pendingProps,r),e.child;case 8:return oi(t,e,e.pendingProps.children,r),e.child;case 12:return oi(t,e,e.pendingProps.children,r),e.child;case 10:e:{if(a=e.type._context,l=e.pendingProps,h=e.memoizedProps,L=l.value,rr(p6,a._currentValue),a._currentValue=L,h!==null)if(u0(h.value,L)){if(h.children===l.children&&!di.current){e=U0(t,e,r);break e}}else for(h=e.child,h!==null&&(h.return=e);h!==null;){var M=h.dependencies;if(M!==null){L=h.child;for(var _=M.firstContext;_!==null;){if(_.context===a){if(h.tag===1){_=O0(-1,r&-r),_.tag=2;var R=h.updateQueue;if(R!==null){R=R.shared;var ie=R.pending;ie===null?_.next=_:(_.next=ie.next,ie.next=_),R.pending=_}}h.lanes|=r,_=h.alternate,_!==null&&(_.lanes|=r),c5(h.return,r,e),M.lanes|=r;break}_=_.next}}else if(h.tag===10)L=h.type===e.type?null:h.child;else if(h.tag===18){if(L=h.return,L===null)throw Error(fn(341));L.lanes|=r,M=L.alternate,M!==null&&(M.lanes|=r),c5(L,r,e),L=h.sibling}else L=h.child;if(L!==null)L.return=h;else for(L=h;L!==null;){if(L===e){L=null;break}if(h=L.sibling,h!==null){h.return=L.return,L=h;break}L=L.return}h=L}oi(t,e,l.children,r),e=e.child}return e;case 9:return l=e.type,a=e.pendingProps.children,C2(e,r),l=Gi(l),a=a(l),e.flags|=1,oi(t,e,a,r),e.child;case 14:return a=e.type,l=r0(a,e.pendingProps),l=r0(a.type,l),Kc(t,e,a,l,r);case 15:return zp(t,e,e.type,e.pendingProps,r);case 17:return a=e.type,l=e.pendingProps,l=e.elementType===a?l:r0(a,l),Wa(t,e),e.tag=1,mi(a)?(t=!0,l6(e)):t=!1,C2(e,r),vp(e,a,l),p5(e,a,l,r),m5(null,e,a,!0,t,r);case 19:return jp(t,e,r);case 22:return Vp(t,e,r)}throw Error(fn(156,e.tag))};function lh(t,e){return Rf(t,e)}function aS(t,e,r,a){this.tag=t,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function zi(t,e,r,a){return new aS(t,e,r,a)}function p7(t){return t=t.prototype,!(!t||!t.isReactComponent)}function sS(t){if(typeof t=="function")return p7(t)?1:0;if(t!=null){if(t=t.$$typeof,t===b5)return 11;if(t===L5)return 14}return 2}function p1(t,e){var r=t.alternate;return r===null?(r=zi(t.tag,e,t.key,t.mode),r.elementType=t.elementType,r.type=t.type,r.stateNode=t.stateNode,r.alternate=t,t.alternate=r):(r.pendingProps=e,r.type=t.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=t.flags&14680064,r.childLanes=t.childLanes,r.lanes=t.lanes,r.child=t.child,r.memoizedProps=t.memoizedProps,r.memoizedState=t.memoizedState,r.updateQueue=t.updateQueue,e=t.dependencies,r.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},r.sibling=t.sibling,r.index=t.index,r.ref=t.ref,r}function Ja(t,e,r,a,l,h){var L=2;if(a=t,typeof t=="function")p7(t)&&(L=1);else if(typeof t=="string")L=5;else e:switch(t){case f2:return D1(r.children,l,h,e);case k5:L=8,l|=8;break;case q8:return t=zi(12,r,e,l|2),t.elementType=q8,t.lanes=h,t;case U8:return t=zi(13,r,e,l),t.elementType=U8,t.lanes=h,t;case D8:return t=zi(19,r,e,l),t.elementType=D8,t.lanes=h,t;case wf:return O6(r,l,h,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case gf:L=10;break e;case vf:L=9;break e;case b5:L=11;break e;case L5:L=14;break e;case K0:L=16,a=null;break e}throw Error(fn(130,t==null?t:typeof t,""))}return e=zi(L,r,e,l),e.elementType=t,e.type=a,e.lanes=h,e}function D1(t,e,r,a){return t=zi(7,t,a,e),t.lanes=r,t}function O6(t,e,r,a){return t=zi(22,t,a,e),t.elementType=wf,t.lanes=r,t.stateNode={isHidden:!1},t}function O8(t,e,r){return t=zi(6,t,null,e),t.lanes=r,t}function P8(t,e,r){return e=zi(4,t.children!==null?t.children:[],t.key,e),e.lanes=r,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function uS(t,e,r,a,l){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=v8(0),this.expirationTimes=v8(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=v8(0),this.identifierPrefix=a,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function h7(t,e,r,a,l,h,L,M,_){return t=new uS(t,e,r,M,_),e===1?(e=1,h===!0&&(e|=8)):e=0,h=zi(3,null,null,e),t.current=h,h.stateNode=t,h.memoizedState={element:a,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Z5(h),t}function lS(t,e,r){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:c2,key:a==null?null:""+a,children:t,containerInfo:e,implementation:r}}function ch(t){if(!t)return d1;t=t._reactInternals;e:{if($1(t)!==t||t.tag!==1)throw Error(fn(170));var e=t;do{switch(e.tag){case 3:e=e.stateNode.context;break e;case 1:if(mi(e.type)){e=e.stateNode.__reactInternalMemoizedMergedChildContext;break e}}e=e.return}while(e!==null);throw Error(fn(171))}if(t.tag===1){var r=t.type;if(mi(r))return lp(t,r,e)}return e}function fh(t,e,r,a,l,h,L,M,_){return t=h7(r,a,!0,t,l,h,L,M,_),t.context=ch(null),r=t.current,a=ai(),l=f1(r),h=O0(a,l),h.callback=e!=null?e:null,l1(r,h,l),t.current.lanes=l,mo(t,l,a),gi(t,a),t}function P6(t,e,r,a){var l=e.current,h=ai(),L=f1(l);return r=ch(r),e.context===null?e.context=r:e.pendingContext=r,e=O0(h,L),e.payload={element:t},a=a===void 0?null:a,a!==null&&(e.callback=a),t=l1(l,e,L),t!==null&&(s0(t,l,L,h),Xa(t,l,L)),L}function M6(t){if(t=t.current,!t.child)return null;switch(t.child.tag){case 5:return t.child.stateNode;default:return t.child.stateNode}}function pf(t,e){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var r=t.retryLane;t.retryLane=r!==0&&r<e?r:e}}function d7(t,e){pf(t,e),(t=t.alternate)&&pf(t,e)}function cS(){return null}var ph=typeof reportError=="function"?reportError:function(t){console.error(t)};function m7(t){this._internalRoot=t}R6.prototype.render=m7.prototype.render=function(t){var e=this._internalRoot;if(e===null)throw Error(fn(409));P6(t,e,null,null)};R6.prototype.unmount=m7.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var e=t.containerInfo;V1(function(){P6(null,t,null,null)}),e[R0]=null}};function R6(t){this._internalRoot=t}R6.prototype.unstable_scheduleHydration=function(t){if(t){var e=zf();t={blockedOn:null,target:t,priority:e};for(var r=0;r<t1.length&&e!==0&&e<t1[r].priority;r++);t1.splice(r,0,t),r===0&&Gf(t)}};function g7(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function q6(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11&&(t.nodeType!==8||t.nodeValue!==" react-mount-point-unstable "))}function hf(){}function fS(t,e,r,a,l){if(l){if(typeof a=="function"){var h=a;a=function(){var R=M6(L);h.call(R)}}var L=fh(e,a,t,0,null,!1,!1,"",hf);return t._reactRootContainer=L,t[R0]=L.current,oo(t.nodeType===8?t.parentNode:t),V1(),L}for(;l=t.lastChild;)t.removeChild(l);if(typeof a=="function"){var M=a;a=function(){var R=M6(_);M.call(R)}}var _=h7(t,0,!1,null,null,!1,!1,"",hf);return t._reactRootContainer=_,t[R0]=_.current,oo(t.nodeType===8?t.parentNode:t),V1(function(){P6(e,_,r,a)}),_}function U6(t,e,r,a,l){var h=r._reactRootContainer;if(h){var L=h;if(typeof l=="function"){var M=l;l=function(){var _=M6(L);M.call(_)}}P6(e,L,t,l)}else L=fS(r,e,t,l,a);return M6(L)}Hf=function(t){switch(t.tag){case 3:var e=t.stateNode;if(e.current.memoizedState.isDehydrated){var r=H3(e.pendingLanes);r!==0&&(R5(e,r|1),gi(e,Er()),(Hn&6)===0&&(P2=Er()+500,v1()))}break;case 13:V1(function(){var a=q0(t,1);if(a!==null){var l=ai();s0(a,t,1,l)}}),d7(t,1)}};q5=function(t){if(t.tag===13){var e=q0(t,134217728);if(e!==null){var r=ai();s0(e,t,134217728,r)}d7(t,134217728)}};Bf=function(t){if(t.tag===13){var e=f1(t),r=q0(t,e);if(r!==null){var a=ai();s0(r,t,e,a)}d7(t,e)}};zf=function(){return jn};Vf=function(t,e){var r=jn;try{return jn=t,e()}finally{jn=r}};Y8=function(t,e,r){switch(e){case"input":if(B8(t,r),e=r.name,r.type==="radio"&&e!=null){for(r=t;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll("input[name="+JSON.stringify(""+e)+'][type="radio"]'),e=0;e<r.length;e++){var a=r[e];if(a!==t&&a.form===t.form){var l=T6(a);if(!l)throw Error(fn(90));Sf(a),B8(a,l)}}}break;case"textarea":Mf(t,r);break;case"select":e=r.value,e!=null&&M2(t,!!r.multiple,e,!1)}};If=l7;kf=V1;var pS={usingClientEntryPoint:!1,Events:[vo,m2,T6,Tf,Af,l7]},q3={findFiberByHostInstance:P1,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},hS={bundleType:q3.bundleType,version:q3.version,rendererPackageName:q3.rendererPackageName,rendererConfig:q3.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:D0.ReactCurrentDispatcher,findHostInstanceByFiber:function(t){return t=Of(t),t===null?null:t.stateNode},findFiberByHostInstance:q3.findFiberByHostInstance||cS,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&(U3=__REACT_DEVTOOLS_GLOBAL_HOOK__,!U3.isDisabled&&U3.supportsFiber))try{E6=U3.inject(hS),w0=U3}catch(t){}var U3;Li.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=pS;Li.createPortal=function(t,e){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!g7(e))throw Error(fn(200));return lS(t,e,null,r)};Li.createRoot=function(t,e){if(!g7(t))throw Error(fn(299));var r=!1,a="",l=ph;return e!=null&&(e.unstable_strictMode===!0&&(r=!0),e.identifierPrefix!==void 0&&(a=e.identifierPrefix),e.onRecoverableError!==void 0&&(l=e.onRecoverableError)),e=h7(t,1,!1,null,null,r,!1,a,l),t[R0]=e.current,oo(t.nodeType===8?t.parentNode:t),new m7(e)};Li.findDOMNode=function(t){if(t==null)return null;if(t.nodeType===1)return t;var e=t._reactInternals;if(e===void 0)throw typeof t.render=="function"?Error(fn(188)):(t=Object.keys(t).join(","),Error(fn(268,t)));return t=Of(e),t=t===null?null:t.stateNode,t};Li.flushSync=function(t){return V1(t)};Li.hydrate=function(t,e,r){if(!q6(e))throw Error(fn(200));return U6(null,t,e,!0,r)};Li.hydrateRoot=function(t,e,r){if(!g7(t))throw Error(fn(405));var a=r!=null&&r.hydratedSources||null,l=!1,h="",L=ph;if(r!=null&&(r.unstable_strictMode===!0&&(l=!0),r.identifierPrefix!==void 0&&(h=r.identifierPrefix),r.onRecoverableError!==void 0&&(L=r.onRecoverableError)),e=fh(e,null,t,1,r!=null?r:null,l,!1,h,L),t[R0]=e.current,oo(t),a)for(t=0;t<a.length;t++)r=a[t],l=r._getVersion,l=l(r._source),e.mutableSourceEagerHydrationData==null?e.mutableSourceEagerHydrationData=[r,l]:e.mutableSourceEagerHydrationData.push(r,l);return new R6(e)};Li.render=function(t,e,r){if(!q6(e))throw Error(fn(200));return U6(null,t,e,!1,r)};Li.unmountComponentAtNode=function(t){if(!q6(t))throw Error(fn(40));return t._reactRootContainer?(V1(function(){U6(null,null,t,!1,function(){t._reactRootContainer=null,t[R0]=null})}),!0):!1};Li.unstable_batchedUpdates=l7;Li.unstable_renderSubtreeIntoContainer=function(t,e,r,a){if(!q6(r))throw Error(fn(200));if(t==null||t._reactInternals===void 0)throw Error(fn(38));return U6(t,e,r,!1,a)};Li.version="18.2.0-next-9e3b772b8-20220608"});var gh=an((KM,mh)=>{"use strict";function dh(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(dh)}catch(t){console.error(t)}}dh(),mh.exports=hh()});var w7=an(v7=>{"use strict";var vh=gh();v7.createRoot=vh.createRoot,v7.hydrateRoot=vh.hydrateRoot;var eE});var kS={};yd(kS,{default:()=>$6,getMathpadSettings:()=>Lr});module.exports=Sd(kS);var A7={addRibbonIcon:!0,showAtStartUp:!0,preferBlock:!1,preferBlockForInline:!1,preferBlockForCodeblock:!0,evaluate:!1,declarationStr:":=",evaluateStr:"=?",evaluateNumericStr:"=~?",evaluateSymbolicStr:"==?",inlinePostfix:"-",latexPostfix:"$",hidePrefix:"%",plotGrid:!1,plotWidth:0,plotDerivatives:!1,precision:21,scientific:!1};var X6=require("obsidian");var So="$",I7="([a-z_\u03B1A\u03B2B\u03B3\u0393\u03B4\u0394\u03F5E\u03B6Z\u03B7H\u03B8\u0398\u03B9I\u03BAK\u03BB\u039B\u03BCM\u03BDN\u03BE\u039EoO\u03C0\u03A0\u03C1P\u03C3\u03A3\u03C4T\u03C5\u03D2\u03D5\u03A6\u03C7X\u03C8\u03A8\u03C9\u03A9\u221E$][0-9a-z_\u03B1A\u03B2B\u03B3\u0393\u03B4\u0394\u03F5E\u03B6Z\u03B7H\u03B8\u0398\u03B9I\u03BAK\u03BB\u039B\u03BCM\u03BDN\u03BE\u039EoO\u03C0\u03A0\u03C1P\u03C3\u03A3\u03C4T\u03C5\u03D2\u03D5\u03A6\u03C7X\u03C8\u03A8\u03C9\u03A9$]*)";function Yi(t,e){let r=e.evaluate,a,l=!1,h=!1,L=!1,M="",_=[],R="",ie=!1;if(t=t.trim(),t.startsWith(e.hidePrefix)&&(t=t.slice(e.hidePrefix.length).trimEnd(),ie=!0),t.endsWith(e.inlinePostfix)?(a=!1,t=t.slice(0,-e.inlinePostfix.length).trimEnd()):t.endsWith(e.latexPostfix)&&(a=!0,t=t.slice(0,-e.latexPostfix.length).trimEnd()),t.endsWith(e.evaluateNumericStr)||t.endsWith(e.evaluateSymbolicStr)||t.endsWith(e.evaluateStr))L=!0,t.endsWith(e.evaluateNumericStr)?(r=!0,t=t.slice(0,-e.evaluateNumericStr.length)):t.endsWith(e.evaluateSymbolicStr)?(r=!1,t=t.slice(0,-e.evaluateSymbolicStr.length)):t=t.slice(0,-e.evaluateStr.length);else{let de=new RegExp(I7+"\\(([a-z_,\\s]*)\\)\\s*("+e.declarationStr+")\\s*(.+)","i").exec(t);if(de)M=de[1],_=de[2].split(",").map(ve=>ve.trim()),R=de[4],h=!0;else{let De=new RegExp(I7+"\\s*("+e.declarationStr+")\\s*(.+)","i").exec(t);De&&(M=De[1],R=De[3],l=!0)}}return{text:t.trim(),evaluate:r,block:a,isVarDec:l,isFnDec:h,isEval:L,name:M,def:R,params:_,isValid:l||h||L,hide:ie}}function _o(t,e){return ur(bn({},t),{evaluate:e.evaluate||t.evaluate})}var qn=tr(W6());z0();V0();R7();U7();global.nerdamer=qn.default;var _d=/^[a-z_αAβBγΓδΔϵEζZηHθΘιIκKλΛμMνNξΞoOπΠρPσΣτTυϒϕΦχXψΨωΩ∞$][0-9a-z_αAβBγΓδΔϵEζZηHθΘιIκKλΛμMνNξΞoOπΠρPσΣτTυϒϕΦχXψΨωΩ$]*$/i,Md=/([a-z]*)\((.*)\)/i;qn.default.set("VALIDATION_REGEX",_d);qn.default.set("PARSE2NUMBER",!1);function Eo(t){qn.default.set("PRECISION",Math.round(t||21))}function e3(t){qn.default.set("SCIENTIFIC",t||!1)}e3(!1);function Ed(t,e){let r=(0,qn.default)(t).variables();return!e&&r.length===1&&(e=r[0]),qn.default.getCore().Solve.solve(t,e)}function Nd(...t){let e=[],r=0,a,l,h=qn.default.getCore().Utils;for(;t[r]&&(!h.isVector(t[r])||h.isVector(t[r].elements[0]));)e.push(t[r]),r++;e=h.convertToVector(e),h.isVector(t[r])&&(a=t[r].elements.map(M=>M.valueOf()),r++,h.isVector(t[r])&&(l=t[r].elements.map(M=>M.valueOf())));let L=e;return L._plotme={xDomain:a,yDomain:l},L}qn.default.register({name:"solve",numargs:[1,2],visible:!0,build:()=>Ed});qn.default.register({name:"plot",numargs:-1,visible:!0,build:()=>Nd});qn.default.register({name:"D",visible:!0,numargs:[1,3],build:function(){return qn.default.getCore().Calculus.diff}});qn.default.register({name:"derivate",visible:!0,numargs:[1,3],build:function(){return qn.default.getCore().Calculus.diff}});qn.default.register({name:"slider",visible:!0,numargs:[2,3],build:()=>function(t,e,r){let a=t;return a._range=r?[e,r]:[t,e],a}});var D7=bn({},qn.default.getCore().PARSER.functions),K2=class{constructor(){this.scope={vars:{},funcs:{}};this.resetContext=()=>{qn.default.clearVars();for(let e in qn.default.getCore().PARSER.functions)D7[e]||delete qn.default.getCore().PARSER.functions[e]};this.parse=(e,r,a,l)=>{this.restoreScope();let h=(0,qn.default)(e,r,a,l);return this.saveScope(),h};this.setFunction=(e,r,a)=>{try{this.restoreScope(),qn.default.setFunction(e,r,a),this.saveScope()}catch(l){console.warn(l)}return this};this.setVar=(e,r)=>{try{this.restoreScope(),qn.default.setVar(e,r),this.saveScope()}catch(a){console.warn(a)}};this.getScope=()=>({vars:bn({},this.scope.vars),funcs:bn({},this.scope.funcs)});this.tolatexInternal=e=>{let r=e;try{r=qn.default.convertToLaTeX(e,{decimals:!0})}catch(a){let l=Md.exec(e);if(l){let h=l[1],L=l[2];r=h+"\\left("+this.tolatexInternal(L)+"\\right)"}}return r};this.toLatex=e=>{this.restoreScope();let r=xd(e),a=this.tolatexInternal(r);return this.saveScope(),a};this.clone=()=>{let e=new K2;return e.scope={vars:bn({},this.scope.vars),funcs:bn({},this.scope.funcs)},Object.assign(qn.default.getVars("object"),e.scope.vars),Object.assign(qn.default.getCore().PARSER.functions,e.scope.funcs),e};this.resetContext()}saveScope(){this.scope.vars=qn.default.getVars("object"),qn.default.clearVars();for(let e in qn.default.getCore().PARSER.functions)D7[e]||(this.scope.funcs[e]=qn.default.getCore().PARSER.functions[e],delete qn.default.getCore().PARSER.functions[e])}restoreScope(){this.resetContext(),Object.assign(qn.default.getVars("object"),this.scope.vars),Object.assign(qn.default.getCore().PARSER.functions,this.scope.funcs)}};function Wi(){return new K2}var xd=function(t){for(t=String(t),t=t.replace(/\s+/g," "),/e/gi.test(t)&&(t=t.replace(/-*\d+\.*\d*e\+?-?\d+/gi,function(e){return qn.default.getCore().Utils.scientificToDecimal(e)})),t=t.replace(qn.default.getCore().Settings.IMPLIED_MULTIPLICATION_REGEX,function(e,r,a,l){let h=e.charAt(l),L="",M="*";return h.match(/[+\-/*]/)||(L=e.charAt(l-1)),L.match(/[a-z]/i)&&(M=""),r+M+a}).replace(/([a-z0-9_]+)/gi,function(e,r){return qn.default.getCore().Settings.USE_MULTICHARACTER_VARS===!1&&!(r in qn.default.getCore().PARSER.functions)&&isNaN(r)?r.split("").join("*"):r}).replace(/\)\(/g,")*(")||"0";;){let e=t;if(t=t.replace(/([a-z0-9_]+)(\()|(\))([a-z0-9]+)/gi,function(r,a,l,h,L){let M=a||h,_=l||L;return M in qn.default.getCore().PARSER.functions?M+_:M+"*"+_}),e===t)break}return t};var e8=require("@codemirror/view"),wa=require("obsidian"),Fl=require("util");var Ci=tr(Mr()),Ul=tr(ma()),Dl=require("obsidian"),fw=Ci.default.memo(({options:t,onScaleChanged:e})=>{let r=(0,Ci.useRef)(null),[a]=(0,Ci.useState)(t),l=(0,Dl.debounce)((0,Ci.useCallback)(h=>{e&&e(h)},[e]),300);return(0,Ci.useEffect)(()=>{try{if(r.current){Object.assign(a,t),a.target=r.current;let h=(0,Ul.default)(a);h.on("all:zoom",L=>{l(h.options)})}}catch(h){}},[t,l]),Ci.default.createElement("div",{ref:r})},()=>!1);function x3(t,e,r){var L;let a=e.plotDerivatives&&r.fn.length===((L=r.dfn)==null?void 0:L.length),l=r.fn.map((M,_)=>({graphType:"polyline",fn:R=>M(R.x),derivative:a?{fn:R=>r.dfn[_](R.x),updateOnMouseMove:!0}:void 0})),h=r.points.map((M,_)=>({graphType:"scatter",fnType:"points",points:M}));return{width:t,grid:e.plotGrid,data:l.concat(h),xAxis:r.plot.xDomain&&r.plot.xDomain.length==2&&{domain:r.plot.xDomain},yAxis:r.plot.yDomain&&r.plot.yDomain.length==2&&{domain:r.plot.yDomain},target:""}}function ga(t,e,r,a){return Ci.default.createElement("div",{className:"mathpad-plot"},Ci.default.createElement(fw,{options:x3(t.width-20,r,e),onScaleChanged:a}))}var Hl=tr(ma()),s2=class extends e8.WidgetType{constructor(r,a,l){super();this.padScope=r,this.parseResult=a,this.pos=l}toDOM(r){let a;if(this.padScope.isValid)if(this.padScope.plot){let l=document.createElement("div");l.appendChild(this.makeLatex(this.padScope.laTeX)),l.appendChild(this.makePlotDiv(r)),a=l}else a=this.makeLatex();else{let l=document.createElement("div");l.setText(this.padScope.error||""),a=l}return(0,Fl.isNumber)(this.pos)&&a.addEventListener("click",()=>{this.pos&&r.dispatch({selection:{anchor:this.pos}})}),a}makeLatex(r){let a=(0,wa.renderMath)(r||this.padScope.noteLatex,this.parseResult.block||Lr().preferBlockForInline);return(0,wa.finishRenderMath)(),a.addClasses(["mathpad-inline"]),a}makePlotDiv(r){let a=document.createElement("div");a.addClass("mathpad-plot");let l=this.getContainerWidth(r),h=Math.clamp(l,200,700),L=Lr().plotWidth>0?Lr().plotWidth:h,M=x3(L,Lr(),this.padScope);return M.target=a,(0,Hl.default)(M),a}getContainerWidth(r){let a=r.contentDOM.offsetWidth,l=r.contentDOM;for(;a===0&&l.parentElement;)l=l.parentElement,a=l.offsetWidth;return a}},va=class extends e8.WidgetType{toDOM(e){return document.createElement("span")}};var Vl=require("@codemirror/language"),Gl=require("@lezer/common"),$l=require("@codemirror/state"),C3=require("@codemirror/state"),Z0=require("@codemirror/view");var n8=tr(W6()),Bl=/plot\((.*)\)/m,t8=/ *(\[[^\]].*\])| *([^[,]+) */gm;function zl(t){return t.elements?t.elements.map(zl):t.valueOf()}var e0=class{constructor(){this._plot=void 0;this._resultTex="";this._text=""}get parseResult(){return this._parseResult}get ident(){return this._ident}get subs(){return this._subs}get scope(){return this._scope}get plot(){return this._plot}get range(){return this._range}get fn(){return this._fn}get dfn(){return this._dfn}get points(){return this._points}get error(){return this._error}get inputLaTeX(){return this._inputLatex}get input(){return this._input}get laTeX(){return this._resultTex}get text(){return this._text}get isValid(){return!!this._expression}get value(){return this._expression.valueOf()}get noteText(){return this.parseResult.isFnDec||this.parseResult.isVarDec||this._input.trim()===this._text.trim()?this._input:this._input+" = "+this._text}get noteLatex(){return this.parseResult.isFnDec||this.parseResult.isVarDec||this._input.trim()===this._text.trim()?this._inputLatex:this._inputLatex+" = "+this._resultTex}process(e,r){var l,h,L;try{if(this._input=r.text,this._scope=e.getScope(),this._parseResult=r,this._error=void 0,r.isFnDec)e.setFunction(r.name,r.params,r.def),this._expression=e.parse(r.def);else if(r.isVarDec)e.setVar(r.name,r.def),this._expression=e.parse(r.def),this._range=(l=this._expression.symbol)==null?void 0:l._range;else{if(this._expression=e.parse(r.text),this._expression.symbol===null)throw new Error("Unable to evaluate expression.");(h=this._expression.symbol)!=null&&h._plotme&&(this._plot=(L=this._expression.symbol)==null?void 0:L._plotme),r.evaluate&&(this._expression=this._expression.evaluate()),this.handlePlotFunctions(e)}this._resultTex=this._expression.toTeX(r.evaluate?"decimal":void 0)}catch(M){this._error=M.toString(),console.warn(M,this.input)}let a=this.input;if(this.plot){let M=Bl.exec(a);M&&(a=M[1],this._inputLatex="plot("+e.toLatex(a)+")")}else try{this.parseResult.isFnDec||this.parseResult.isVarDec?(this._input=this.parseResult.name,this._inputLatex=e.toLatex(`${this.parseResult.name}`),this.parseResult.isFnDec&&(this._input+=`(${this.parseResult.params.join(", ")})`,this._inputLatex=e.toLatex(`${this.parseResult.name}(${this.parseResult.params.join(", ")})`)),this._input+=":="+this.parseResult.def,this._inputLatex+=" \\coloneqq "+e.toLatex(this.parseResult.def)):(this._input=this.parseResult.text,this._inputLatex=e.toLatex(this.parseResult.text))}catch(M){console.warn(M)}if(this._expression)try{let M=this._expression.text(r.evaluate?"decimals":"fractions",Lr().precision);r.isFnDec||r.isVarDec?this._ident=r.def===M:this._ident=M===this.input,this._text=M}catch(M){console.warn(M)}return this}handlePlotFunctions(e){var l,h;let r=n8.default.getCore().Utils,a=[];r.isVector(this._expression.symbol)?((h=(l=this._expression.symbol)==null?void 0:l.elements)==null?void 0:h.length)>0&&this._expression.each(L=>{a.push(e.parse(L))}):a.push(this._expression);try{let L=[],M=[];this._points=[];let _=[];a.forEach(R=>{if(n8.default.getCore().Utils.isVector(R.symbol)){let ie=zl(R.symbol);_.push(ie)}else{let ie=R.variables();if(R.symbol.LHS&&R.symbol.RHS){if(ie.length==2){let K=R.solveFor(ie[1]);_.push(...K)}}else ie.length==1&&_.push(R)}}),_.forEach(R=>{Array.isArray(R)?this._points.push(R):(L.push(R.buildFunction()),M.push(e.parse(`diff(${R.text()})`).buildFunction()))}),this._fn=L,this._dfn=M}catch(L){console.log(L)}}getCodeBlock(e){var l,h;let r=[];for(let L in this.scope.vars){let M=L.startsWith(So)?e.hidePrefix:"";r.push(`${M}${L}${e.declarationStr}${this.scope.vars[L]}`)}for(let L in this.scope.funcs){let M=this.scope.funcs[L][2];r.push(`${M.name}(${M.params.join(",")})${e.declarationStr}${M.body}`)}let a=this.input;if(this.plot){let L;if((L=Bl.exec(this.input))!==null){let M=L[1],_=[];for(;(L=t8.exec(M))!==null;)L.index===t8.lastIndex&&t8.lastIndex++,_.push(L[1]||L[2]);_[0].startsWith("[")?_=[_[0]]:_=_.filter(R=>!R.startsWith("[")),this.plot.xDomain&&_.push(`[${(l=this.plot.xDomain)==null?void 0:l.toString()}]`),this.plot.xDomain&&this.plot.yDomain&&_.push(`[${(h=this.plot.yDomain)==null?void 0:h.toString()}]`),a=`plot(${_.join(", ")})`}}return!this.parseResult.isFnDec&&!this.parseResult.isVarDec&&r.push(`${a}${this.parseResult.evaluate?e.evaluateNumericStr:e.evaluateSymbolicStr}`),r.join(`
|
||
`)}static parseCodeBlock(e,r){let a=e.split(`
|
||
`),l=Wi(),h=[];return a.filter(L=>L.trim().length>0).forEach(L=>{let M=Yi(L,r),_=new e0().process(l,M);M.hide||h.push(_)}),h}};var Xl=C3.StateField.define({create(t){return Z0.Decoration.none},update(t,e){let r=Lr(),a=new C3.RangeSetBuilder,l=Wi(),h=(0,Vl.syntaxTree)(e.state),L=e.state.selection.ranges[0].from,M=h.resolve(L,1),_=h.resolve(L,-1);if(!M.name.contains("inline-code")&&!_.name.contains("inline-code")&&e.docChanged)return t.map(e.changes);let R=e.effects.find(K=>K.is(r8)),ie;if(!e.docChanged){if((!e.selection||!e.selection.asSingle().main.empty)&&!R)return t.map(e.changes);ie=t.iter()}return h.iterate({enter:K=>{var de,ve;if(K.name.contains("inline-code")){let De=e.state.doc.sliceString(K.from,K.to),Ie=K.from<=L&&L<=K.to,Qe;e.docChanged||(Qe=(ve=(de=ie==null?void 0:ie.value)==null?void 0:de.spec)==null?void 0:ve.res);let ee=Yi(De,r);if(ee.isValid)try{pw(l,ee,a,Ie,K,Qe)&&ie&&ie.next()}catch(Te){console.warn(Te,De)}}},mode:Gl.IterMode.IncludeAnonymous}),a.finish()},provide(t){return Z0.EditorView.decorations.from(t)}});function pw(t,e,r,a,l,h){let L=Lr(),M=h||new e0().process(t,e);return(e.block||L.preferBlockForInline)&&M?r.add(a?l.to:l.from,l.to,a?Z0.Decoration.widget({widget:new s2(M,e,l.from),block:!0,side:1,res:M}):Z0.Decoration.replace({widget:new s2(M,e,l.from),block:!0,res:M,side:1})):!a&&M?r.add(l.from,l.to,Z0.Decoration.replace({widget:new s2(M,e,l.from),block:!1,inclusive:!1,res:M,side:1})):r.add(l.to,l.to,Z0.Decoration.widget({widget:new va,block:!1,inclusive:!1,res:M,side:1})),!0}var r8=$l.StateEffect.define(),jl=C3.StateField.define({create(t){return{latex:!0}},update(t,e){let r=t;for(let a of e.effects)a.is(r8)&&(r=bn(bn({},t),a.value));return r}});function Yl(t,e){t.dispatch({effects:[r8.of(e)]})}var _0=require("obsidian"),w1=tr(Mr()),Lh=tr(w7());var _7=tr(Mr());var S7=tr(Mr()),U2=tr(Mr()),wh=new Map([["{","}"],["[","]"],["(",")"]]),y7=new Map([["}",!0],["]",!0],[")",!0]]),D6=S7.default.memo(t=>{let e=(0,U2.useRef)(null);(0,U2.useEffect)(()=>{e.current&&(e.current.setSelectionRange(e.current.value.length,e.current.value.length),setTimeout(()=>{var a;(a=e.current)==null||a.focus()},0))},[]);let r=(0,U2.useCallback)(a=>{var K;let l=a.currentTarget.selectionStart||0,h=[...a.currentTarget.value],L=h.slice(l-1,l)[0],M=wh.get(L),_=a.nativeEvent.inputType,R=a.currentTarget,ie=h.slice(l,l+1)[0];if(_==="insertText"&&M&&(!ie||ie===" "||y7.get(ie))&&(h.splice(l,0,M),a.currentTarget.value=h.join(""),R.selectionEnd=l),_==="insertText"&&y7.get(L)&&ie===L&&(h.splice(l,1),R.value=h.join(""),R.selectionEnd=l),_==="deleteContentBackward"||_==="deleteContentForward"){let de=(K=t.value)==null?void 0:K.at(l);de&&wh.get(de)&&y7.get(ie)&&(h.splice(l,1),R.value=h.join(""),R.selectionEnd=l)}t.onInput&&t.onInput(a)},[t.value]);return S7.default.createElement("input",ur(bn({type:"text"},t),{onInput:r,ref:e}))});var yh=({onKeyDown:t,input:e,onChange:r})=>_7.default.createElement("div",{className:"current-input"},_7.default.createElement(D6,{placeholder:">",className:"mathpad-input",onKeyDown:t,value:e,onChange:r}));var wi=tr(Mr()),ui=tr(Mr());var Nr=tr(Mr());var Sh=tr(Mr()),F6=require("obsidian"),H6=tr(Mr()),dS=({latex:t,block:e})=>{let r=(0,H6.useRef)(null);return(0,H6.useEffect)(()=>{let a=(0,F6.renderMath)(t,e);r.current&&r.current.replaceChildren(a),(0,F6.finishRenderMath)()}),Sh.createElement("div",{className:"latex-wrapper",ref:r})},X1=dS;var Oi=tr(Mr());var M7=tr(Mr()),mS=t=>M7.createElement("svg",bn({viewBox:"0 0 100 100",className:"cross",width:16,height:16},t),M7.createElement("path",{fill:"currentColor",stroke:"currentColor",d:"M15.4,12.6l-2.9,2.9L47.1,50L12.6,84.6l2.9,2.9L50,52.9l34.6,34.6l2.9-2.9L52.9,50l34.6-34.6l-2.9-2.9L50,47.1L15.4,12.6z "})),_h=mS;var yo=tr(Mr());var gS=({onMouseDown:t,edit:e,onKeyDown:r,onBlur:a,input:l,inputLaTeX:h})=>yo.createElement("div",{className:"slot-input",onMouseDown:t},e?yo.createElement(D6,{className:"mathpad-input",defaultValue:l,onKeyDown:r,onBlur:a}):h?yo.createElement(X1,{latex:h,block:!0}):yo.createElement("div",{className:"plain-input"},l)),Mh=gS;var j1=tr(Mr()),vS=t=>j1.createElement("svg",bn({style:{fillRule:"evenodd",clipRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},"xmlns:vectornator":"http://vectornator.io",xmlnsXlink:"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/svg",xmlSpace:"preserve",viewBox:"0 0 100 100"},t),j1.createElement("defs",null),j1.createElement("g",{fill:"currentColor",stroke:"currentColor"},j1.createElement("path",{strokeWidth:4,d:"M33.1937+26.8913L7.98426+53.0087L33.1937+77.3102",strokeLinecap:"round",opacity:1,strokeLinejoin:"round"}),j1.createElement("path",{strokeWidth:4,d:"M66.8063+26.8913L92.0157+53.0087L66.8063+77.3102",strokeLinecap:"round",opacity:1,strokeLinejoin:"round"}),j1.createElement("path",{strokeWidth:4,d:"M58.4031+7.98426L43.6976+92.0157",strokeLinecap:"round",opacity:1,strokeLinejoin:"round"}))),Eh=vS;var D2=tr(Mr()),wS=t=>D2.createElement("svg",bn({strokeMiterlimit:10,viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),D2.createElement("defs",null),D2.createElement("g",{fill:"currentColor",stroke:"currentColor"},D2.createElement("path",{d:"M91.4013 18.4365L9.17493 18.4365C6.65323 18.4394 4.60973 20.4829 4.6068 23.0046L4.6068 38.2317L10.6976 38.2317L10.6976 24.5273L89.8785 24.5273L89.8785 73.254L10.6976 73.254L10.6976 59.5496L4.6068 59.5496L4.6068 74.7767C4.60973 77.2984 6.65323 79.3419 9.17493 79.3449L91.4013 79.3449C93.9229 79.3419 95.9665 77.2984 95.9694 74.7767L95.9694 23.0046C95.9665 20.4829 93.9229 18.4394 91.4013 18.4365Z",fillRule:"nonzero",opacity:1}),D2.createElement("path",{d:"M42.0439 61.6582L46.3506 65.965L63.5783 48.7376L46.3506 31.5101L42.0439 35.817L51.9189 45.6922L4.6068 45.6922L4.6068 51.7829L51.9191 51.7829L42.0439 61.6582Z",fillRule:"nonzero",opacity:1}))),Nh=wS;var F2=tr(Mr()),yS=t=>F2.createElement("svg",bn({strokeMiterlimit:10,viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),F2.createElement("defs",null),F2.createElement("g",{fill:"currentColor",stroke:"currentColor"},F2.createElement("path",{d:"M47.9983 9.22512C34.9576 9.22512 24.3539 18.9572 24.3539 30.9189L36.1672 30.9189C36.1672 25.4728 41.4725 21.0381 47.9983 21.0381C54.5233 21.0381 59.8284 25.4728 59.8284 30.9189L59.8284 32.6336C59.8284 38.422 57.2814 41.1243 53.4152 45.2084C48.3739 50.5366 42.0949 57.1773 42.0949 71.4153L53.9104 71.4153C53.9104 61.8817 57.6581 57.9113 62.0007 53.3202C66.2987 48.7799 71.6421 43.1264 71.6421 32.6336L71.6421 30.9189C71.6419 18.9572 61.0392 9.22512 47.9983 9.22512Z",fillRule:"nonzero",opacity:1,stroke:"none"}),F2.createElement("path",{d:"M41.8924 78.021L54.2581 78.021L54.2581 78.021L54.2581 87.9933L54.2581 87.9933L41.8924 87.9933L41.8924 87.9933L41.8924 78.021L41.8924 78.021Z",fillRule:"nonzero",opacity:1}))),xh=yS;var S0=class extends e0{constructor(r){super();this._id=r}get id(){return this._id}static createSlot(r,a,l,h,L={evaluate:!1,simplify:!1}){let M=Yi(l,_o(h,L));return new S0(a).process(r,M)}};var SS={evaluate:!1,simplify:!1},vi=class{get items(){return this._items}constructor(e,r){this.engine=e,this._items=r}addSlot(e,r,a={evaluate:!1,simplify:!1}){let l=bn(bn({},SS),a),h=S0.createSlot(this.engine,this.nextId(),e,r,l),L=this.engine.clone();return!h.error&&h.isValid&&L.setVar(vi.getSlotVariableName(h.id),h.value),new vi(L,[...this.items,h])}updateSlot(e,r,a,l){let h=Wi(),L=[];return this.items.forEach(M=>{if(M.id==e){let _=Yi(r,_o(a,l));M=new S0(M.id).process(h,_)}else M.process(h,M.parseResult);!M.error&&M.isValid&&h.setVar(vi.getSlotVariableName(M.id),M.value),L.push(M)}),new vi(h,L)}removeSlot(e,r={},a){let l=Wi(),h=[];return this.items.forEach(L=>{L.id!==e&&(L.process(l,L.parseResult),!L.error&&L.isValid&&l.setVar(vi.getSlotVariableName(L.id),L.value),h.push(L))}),new vi(l,h)}clear(){let e=Wi(),r=[];return new vi(e,r)}getSlotById(e){return this.items.find(r=>r.id===e)}getSlotIndexById(e){let r=this.items.find(a=>a.id===e);return r?this.items.indexOf(r):-1}getSLotByIndex(e){return this.items[e]}isEmpty(){return this.items.length===0}static getSlotVariableName(e){return`${So}${e}`}static create(){return new vi(Wi(),[])}nextId(){return this.items.length?Math.max(...this.items.map(r=>r.id))+1:1}},Ch=()=>vi.create();var Th=require("obsidian"),Ah=tr(Mr()),B6=tr(Mr()),_S=({value:t,onChange:e,min:r=0,max:a=100,step:l="any",disabled:h=!1})=>{let L=(0,B6.useRef)(null);return(0,B6.useEffect)(()=>{var M;return L.current&&((M=L.current)!=null&&M.firstChild&&L.current.removeChild(L.current.firstChild),new Th.SliderComponent(L.current).setValue(t).setDisabled(h).setLimits(r,a,l).onChange(_=>{e&&e(_)})),()=>{var _;(_=L.current)!=null&&_.firstChild&&L.current.removeChild(L.current.firstChild)}},[h,r,a,l,e]),Ah.createElement("span",{className:"mathpad-slider",ref:L})},Ih=_S;var MS={edit:!1},ES=({padSlot:t,onChanged:e,onClosed:r,onCopied:a,onClicked:l,selected:h})=>{let[L,M]=(0,Oi.useState)(MS),{edit:_}=L,R=Nr.useContext(H2),ie=(0,Oi.useCallback)(ut=>{M(at=>at.edit?at:ur(bn({},at),{edit:!0}))},[]),K=(0,Oi.useCallback)(ut=>{M(at=>ur(bn({},at),{edit:!1})),e(t.id,ut)},[t.id,e]),de=(0,Oi.useCallback)(ut=>{ut.code==="Enter"&&(ut.preventDefault(),K(ut.currentTarget.value))},[]),ve=(0,Oi.useCallback)(ut=>{K(ut.currentTarget.value)},[K]),De=(0,Oi.useCallback)(ut=>{r(t.id)},[t.id]),Ie=(0,Oi.useCallback)(ut=>{!h&&l(t.id)},[t.id,h]),Qe=(0,Oi.useCallback)(ut=>{a(t,ut.currentTarget.dataset.copy||"code")},[t]),ee=(0,Oi.useCallback)(ut=>{t.error||a(t,"text")},[t]),Te=(0,Oi.useCallback)(ut=>{var at,j,d,c;t.plot.xDomain=(j=(at=ut.xAxis)==null?void 0:at.domain)==null?void 0:j.map(u=>u.toPrecision(3)),t.plot.yDomain=(c=(d=ut.yAxis)==null?void 0:d.domain)==null?void 0:c.map(u=>u.toPrecision(3))},[]),ze=(0,Oi.useCallback)(ut=>{let at=`${t.parseResult.name}${Lr().declarationStr}slider(${ut}, ${t.range[0].valueOf()}, ${t.range[1].valueOf()})`;M(j=>ur(bn({},j),{edit:!1})),e(t.id,at)},[t.id,e]),Oe=["slot-anchor"];return h&&Oe.push("selected"),Nr.createElement("div",{className:"slot-container"},Nr.createElement("div",{className:Oe.join(" "),onClick:Ie},Nr.createElement("div",{className:"slot-name"},vi.getSlotVariableName(t.id))),Nr.createElement("div",{className:"slot-content"},Nr.createElement(Mh,{onMouseDown:ie,edit:_,onKeyDown:de,onBlur:ve,input:t.input,inputLaTeX:t.inputLaTeX}),t.range&&Nr.createElement(Ih,{value:t.value,min:t.range[0].valueOf(),max:t.range[1].valueOf(),onChange:ze}),Nr.createElement("div",{className:"slot-result",onClick:ee},t.error?Nr.createElement("div",{className:"slot-error"},t.error):Nr.createElement(X1,{latex:t.laTeX,block:!0})),t.plot&&ga(R,t,R.settings,Te)),Nr.createElement("div",{className:"slot-actions"},Nr.createElement("a",{className:"view-action mod-close-leaf",onClick:De},Nr.createElement(_h,null)),!t.error&&Nr.createElement("a",{className:"view-action mod-close-leaf",onClick:Qe,"data-copy":"code",title:"copy to code block"},Nr.createElement(Eh,null)),!t.error&&Nr.createElement("a",{className:"view-action mod-close-leaf",onClick:Qe,"data-copy":"input",title:"copy input as LaTeX"},Nr.createElement(Nh,null)),!t.error&&Nr.createElement("a",{className:"view-action mod-close-leaf",onClick:Qe,"data-copy":"result",title:"copy result as LaTeX"},Nr.createElement(xh,null))))},kh=ES;var NS={input:"",options:{evaluate:!0}};function xS(t,e){return`${t}(${e})`}var bh=({onCopySlot:t,onChangeEvaluate:e,settings:r})=>{let[a,l]=(0,ui.useState)(bn({},NS)),{input:h,stack:L,options:{evaluate:M},selected:_}=a;(0,ui.useEffect)(()=>{l(ze=>ur(bn({},ze),{stack:Ch(),options:ur(bn({},ze.options),{evaluate:r.evaluate})}))},[]);let R=(0,ui.useCallback)(()=>{l(ze=>{var Oe;return ze.input.trim().length>0?ur(bn({},ze),{stack:(Oe=ze.stack)==null?void 0:Oe.addSlot(ze.input,r,{evaluate:ze.options.evaluate}),input:"",history:void 0}):ze})},[]),ie=(0,ui.useCallback)(ze=>{if(ze.code==="Enter")ze.preventDefault(),R();else if(ze.code==="ArrowUp"||ze.code==="ArrowDown"){let Oe=ze.code==="ArrowUp"?-1:1;l(ut=>{var d,c,u,f;if(!ut.stack||ut.stack.isEmpty())return ut;let at=ut.history;if(!at)Oe<0?at=(d=ut.stack)==null?void 0:d.getSLotByIndex(ut.stack.items.length-1).id:at=(c=ut.stack)==null?void 0:c.getSLotByIndex(0).id;else{let v=(u=ut.stack)==null?void 0:u.getSlotIndexById(at);v=Math.clamp(v+Oe,0,ut.stack.items.length-1),at=ut.stack.getSLotByIndex(v).id}let j=((f=ut.stack.getSlotById(at))==null?void 0:f.input)||"";return ur(bn({},ut),{history:at,input:j})})}},[R]),K=(0,ui.useCallback)(ze=>{l(Oe=>ur(bn({},Oe),{input:ze.target.value}))},[]),de=(0,ui.useCallback)(()=>{l(ze=>(e(!ze.options.evaluate),ur(bn({},ze),{options:ur(bn({},ze.options),{evaluate:!ze.options.evaluate})})))},[e]),ve=(0,ui.useCallback)((ze,Oe)=>{l(ut=>{var at;return ur(bn({},ut),{stack:(at=ut.stack)==null?void 0:at.updateSlot(ze,Oe,r,{evaluate:ut.options.evaluate})})})},[]),De=(0,ui.useCallback)(ze=>{l(Oe=>{var ut;return ur(bn({},Oe),{stack:(ut=Oe.stack)==null?void 0:ut.removeSlot(ze,{},{evaluate:Oe.options.evaluate}),selected:Oe.selected===ze?void 0:Oe.selected,history:Oe.history===ze?void 0:Oe.history})})},[]),Ie=(0,ui.useCallback)((ze,Oe)=>{Oe!=="text"?ze&&setTimeout(()=>t(ze,Oe),0):l(ut=>ur(bn({},ut),{input:ze.text}))},[t]),Qe=ze=>(0,ui.useCallback)(()=>{l(Oe=>{var d,c;if(!Oe.selected)return Oe;let ut=(d=Oe.stack)==null?void 0:d.getSlotById(Oe.selected);if(!ut)return Oe;let at=ut==null?void 0:ut.input,j=xS(ze,at);return ur(bn({},Oe),{stack:(c=Oe.stack)==null?void 0:c.addSlot(j,r,{evaluate:Oe.options.evaluate})})})},[ze]),ee=(0,ui.useCallback)(ze=>{l(Oe=>ur(bn({},Oe),{selected:ze}))},[]),Te=(0,ui.useCallback)(()=>{l(ze=>{var Oe;return ur(bn({},ze),{stack:(Oe=ze.stack)==null?void 0:Oe.clear(),selected:void 0,history:void 0})})},[]);return wi.createElement("div",{className:"mathpad-container"},wi.createElement("div",{className:"toolbar"},wi.createElement("button",{onClick:de,title:M?"numeric":"symbolic"},M?"3":"\u24B3"),wi.createElement("button",{onClick:Qe("diff"),title:"derivate",disabled:!_},"\u{1D453}\u2032"),wi.createElement("button",{onClick:Qe("integrate"),title:"integrate",disabled:!_},"\u222B"),wi.createElement("button",{onClick:Qe("solve"),title:"solve",disabled:!_},"\u{1D499}="),wi.createElement("button",{onClick:Qe("expand"),title:"expand",disabled:!_},"\u22EF"),wi.createElement("button",{onClick:Qe("simplify"),title:"simplify",disabled:!_},"()"),wi.createElement("button",{onClick:Te,title:"clear stack"},"\u2715")),wi.createElement("div",{className:"mathpad-scroller"},wi.createElement("div",{className:"mathpad-slots-container"},L==null?void 0:L.items.map(ze=>wi.createElement(kh,{key:ze.id,padSlot:ze,onChanged:ve,onClosed:De,onCopied:Ie,onClicked:ee,selected:_===ze.id})))),wi.createElement(yh,{onKeyDown:ie,input:h,onChange:K}))};var Oh=require("obsidian"),B2="mathpad-view",H2=w1.createContext({});function E7(t,e,r){r!==void 0&&(e=r?`$$${e}$$`:`$${e}$`),t instanceof _0.MarkdownView&&t.getMode()==="source"?t.editor.replaceSelection(e):(navigator.clipboard.writeText(e),new _0.Notice("Content copied to clipboard"))}var z6=class extends _0.ItemView{constructor(r,a){super(r);this.state={};this.handleResize=(0,_0.debounce)(()=>{this.render()},300);this.state={},this.icon="sigma",this.onCopySlot=this.onCopySlot.bind(this),this._plugin=a,this.onChangeEvaluate=this.onChangeEvaluate.bind(this)}getViewType(){return B2}getDisplayText(){return"Mathpad"}get settings(){return this._plugin.settings}onResize(){super.onResize(),this.handleResize()}onCopySlot(r,a){let l=r.getCodeBlock(this.settings),h=this.app.workspace.getMostRecentLeaf();if(!!h)switch(a){case"input":E7(h.view,r.inputLaTeX,this.settings.preferBlock);break;case"result":E7(h.view,r.laTeX,this.settings.preferBlock);break;default:E7(h.view,`\`\`\`mathpad
|
||
${l}
|
||
\`\`\`
|
||
`);break}}render(){this.root.render(w1.createElement(w1.StrictMode,null,w1.createElement(H2.Provider,{value:{width:this.contentEl.innerWidth,settings:this.settings}},w1.createElement(bh,ur(bn({},this.state),{onCopySlot:this.onCopySlot,onChangeEvaluate:this.onChangeEvaluate,settings:this.settings})))))}onOpen(){return Br(this,null,function*(){let{contentEl:r}=this;this.root=(0,Lh.createRoot)(r),yield(0,Oh.loadMathJax)(),yield(0,_0.finishRenderMath)(),this.render()})}onClose(){return Br(this,null,function*(){this.root.unmount()})}onChangeEvaluate(r){this.settings.evaluate=r,this._plugin.saveSettings()}};var V2=require("obsidian");var y1=require("obsidian");var V6=class extends y1.PluginSettingTab{constructor(r,a){super(r,a);this.plugin=a}display(){let{containerEl:r}=this;r.empty(),r.createEl("h2",{text:"Mathpad Settings"}),new y1.Setting(r).setName("Add Ribbon Icon").setDesc("Adds an icon to the ribbon to open Mathpad sidebar").addToggle(a=>a.setValue(this.plugin.settings.addRibbonIcon).onChange(l=>Br(this,null,function*(){this.plugin.settings.addRibbonIcon=l,yield this.plugin.saveSettings(),l?this.plugin.addIcon():this.plugin.removeIcon(),this.display()}))),this.createToggle(r,"Show Mathpad Sidebar","Opens Mathpad sidebar at startup","showAtStartUp"),this.createToggle(r,"Copy as Block LaTeX","Prefer LaTeX blocks when copying from sidebar","preferBlock"),this.createToggle(r,"Prefer Block LaTeX for inline","Prefer LaTeX blocks when rendering inline mathpad code","preferBlockForInline"),this.createToggle(r,"Prefer Block LaTeX for code blocks","Prefer LaTeX blocks when rendering mathpad code blocks","preferBlockForCodeblock"),this.createToggle(r,"Evaluate Results","Evaluates expressions in order to obtain a numeric result","evaluate"),this.createToggle(r,"Plot Grid","Displays grid lines in plots","plotGrid"),new y1.Setting(r).setName("Plot Width").setDesc("Width of plots inside notes").addText(a=>a.setValue(this.plugin.settings.plotWidth.toString()).onChange(l=>Br(this,null,function*(){let h=Number(l);this.plugin.settings.plotWidth=h||0,yield this.plugin.saveSettings()})).inputEl.type="number"),this.createToggle(r,"Plot Tangents","Plots tangents to functions","plotDerivatives"),new y1.Setting(r).setName("Precision").setDesc("Number of decimals in numeric results").addText(a=>a.setValue(this.plugin.settings.precision.toString()).onChange(l=>Br(this,null,function*(){let h=Number(l);this.plugin.settings.precision=h||21,yield this.plugin.saveSettings(),Eo(h)})).inputEl.type="number"),new y1.Setting(r).setName("Scientific Notation").setDesc("Represents numbers in scientific notation if appropriate").addToggle(a=>a.setValue(this.plugin.settings.scientific).onChange(l=>Br(this,null,function*(){this.plugin.settings.scientific=l,yield this.plugin.saveSettings(),e3(l)})))}createToggle(r,a,l,h){new y1.Setting(r).setName(a).setDesc(l).addToggle(L=>L.setValue(this.plugin.settings[h]).onChange(M=>Br(this,null,function*(){this.plugin.settings[h]=M,yield this.plugin.saveSettings(),this.display()})))}};var Pi=tr(Mr());var Ph=tr(w7());function Rh(t,e,r,a){let l=S0.parseCodeBlock(t,r),h=Math.clamp(a.containerEl.offsetWidth,200,700),L=r.plotWidth>0?r.plotWidth:h;(0,Ph.createRoot)(e).render(Pi.createElement(Pi.StrictMode,null,Pi.createElement(H2.Provider,{value:{width:L,settings:r}},l==null?void 0:l.map((_,R)=>Pi.createElement(CS,{key:R,padScope:_})))))}var CS=({padScope:t})=>{let e=Pi.useContext(H2);return Pi.createElement("div",{className:"slot-container"},Pi.createElement("div",{className:"slot-content"},t.error&&Pi.createElement("div",{className:"slot-error"},t.error),!t.plot&&Pi.createElement(X1,{latex:t.noteLatex,block:t.parseResult.block||Lr().preferBlockForCodeblock}),t.plot&&Pi.createElement(X1,{latex:t.laTeX,block:!0}),t.plot&&ga(e,t,e.settings)))};var Uh=require("obsidian");var qh=tr(ma());var z2=require("obsidian"),G6=class extends z2.MarkdownRenderChild{constructor(r,a,l,h=!0){super(r);this.padScope=a,this.block=h,this.plotWidth=l}onload(){if(this.padScope.plot){let r=document.createElement("div");r.appendChild(this.makeLatex(this.padScope.laTeX));let a=document.createElement("div");a.addClass("mathpad-plot");let l=x3(this.plotWidth,Lr(),this.padScope);l.target=a,(0,qh.default)(l),r.appendChild(a),this.containerEl.replaceWith(r)}else{let r=this.makeLatex();this.containerEl.replaceWith(r)}}makeLatex(r){let a=(0,z2.renderMath)(r||this.padScope.noteLatex,this.block);return(0,z2.finishRenderMath)(),a.dataset.mathpadInput=this.padScope.input+(this.padScope.parseResult.isVarDec||this.padScope.parseResult.isFnDec?"":"=?"),a}};var Dh=t=>(0,Uh.debounce)((e,r)=>{let a=r.containerEl.querySelectorAll("code, div[data-mathpad-input], mjx-container[data-mathpad-input]"),l=Wi();for(let h=0;h<a.length;h++){let L=a.item(h);TS(L,l,r,t)}},100);function TS(t,e,r,a){let l;t.nodeName==="CODE"?l=t.innerText.trim():l=t.dataset.mathpadInput;let h=Yi(l,a);if(h.isValid){let L=Math.clamp(r.containerEl.offsetWidth,200,700),M=a.plotWidth>0?a.plotWidth:L;AS(h,e,r,t,M)}}function AS(t,e,r,a,l){let h=new e0().process(e,t);h.isValid&&r.addChild(new G6(a,h,l,t.block||Lr().preferBlockForInline))}var IS=`<path stroke="currentColor" fill="none" d="M78.6067 22.8905L78.6067 7.71171L17.8914 7.71171L48.2491 48.1886L17.8914 88.6654L78.6067 88.6654L78.6067 73.4866" opacity="1" stroke-linecap="round" stroke-linejoin="round" stroke-width="6" />
|
||
`,Fh;function Lr(){return Fh}var $6=class extends V2.Plugin{onload(){return Br(this,null,function*(){yield this.loadSettings(),this.registerView(B2,r=>new z6(r,this)),(0,X6.addIcon)("sigma",IS),this.settings.addRibbonIcon&&this.addIcon(),this.addCommand({id:"show-mathpad-view",name:"Show Mathpad Sidebar",callback:()=>this.activateView()}),this.app.workspace.onLayoutReady(()=>{this.settings.showAtStartUp&&this.activateView()}),this.registerCodeBlock(),this.registerPostProcessor(),this.registerEditorExtensions(),this.app.workspace.on("active-leaf-change",r=>{if((r==null?void 0:r.view)instanceof X6.MarkdownView){let a=r.view.editor.cm;Yl(a,this.settings)}},this),this.app.workspace.on("codemirror",r=>{},this),this.addSettingTab(new V6(this.app,this))})}addIcon(){this.removeIcon(),this.ribbonIconEl=this.addRibbonIcon("sigma","Open Mathpad",r=>{this.activateView()}),this.ribbonIconEl.addClass("mathpad-ribbon-class")}removeIcon(){this.ribbonIconEl&&this.ribbonIconEl.remove()}onunload(){}loadSettings(){return Br(this,null,function*(){this.settings=Object.assign({},A7,yield this.loadData()),Eo(this.settings.precision),e3(this.settings.scientific),Fh=this.settings})}saveSettings(){return Br(this,null,function*(){yield this.saveData(this.settings)})}activateView(){return Br(this,null,function*(){let r=this.app.workspace.getLeavesOfType(B2)[0];r||(yield this.app.workspace.getRightLeaf(!1).setViewState({type:B2,active:!0}),r=this.app.workspace.getLeavesOfType(B2)[0]),r&&this.app.workspace.revealLeaf(r)})}registerCodeBlock(){return Br(this,null,function*(){yield(0,V2.loadMathJax)(),yield(0,V2.finishRenderMath)(),this.registerMarkdownCodeBlockProcessor("mathpad",(r,a,l)=>{Rh(r,a,this.settings,l)})})}registerPostProcessor(){return Br(this,null,function*(){this.registerMarkdownPostProcessor(Dh(this.settings))})}registerEditorExtensions(){return Br(this,null,function*(){this.registerEditorExtension([Xl,jl])})}};
|
||
/**
|
||
* @license React
|
||
* react-dom.production.min.js
|
||
*
|
||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/
|
||
/**
|
||
* @license React
|
||
* react.production.min.js
|
||
*
|
||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/
|
||
/**
|
||
* @license React
|
||
* scheduler.production.min.js
|
||
*
|
||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/
|
||
|
||
/* nosourcemap */ |