hot-formula-parser
Version:
1 lines • 181 kB
JavaScript
!function(r,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define("formulaParser",[],n):"object"==typeof exports?exports.formulaParser=n():r.formulaParser=n()}(window,(function(){return function(r){var n={};function e(t){if(n[t])return n[t].exports;var a=n[t]={i:t,l:!1,exports:{}};return r[t].call(a.exports,a,a.exports,e),a.l=!0,a.exports}return e.m=r,e.c=n,e.d=function(r,n,t){e.o(r,n)||Object.defineProperty(r,n,{enumerable:!0,get:t})},e.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},e.t=function(r,n){if(1&n&&(r=e(r)),8&n)return r;if(4&n&&"object"==typeof r&&r&&r.__esModule)return r;var t=Object.create(null);if(e.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&n&&"string"!=typeof r)for(var a in r)e.d(t,a,function(n){return r[n]}.bind(null,a));return t},e.n=function(r){var n=r&&r.__esModule?function(){return r.default}:function(){return r};return e.d(n,"a",n),n},e.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},e.p="",e(e.s=15)}([function(r,n){n.nil=new Error("#NULL!"),n.div0=new Error("#DIV/0!"),n.value=new Error("#VALUE!"),n.ref=new Error("#REF!"),n.name=new Error("#NAME?"),n.num=new Error("#NUM!"),n.na=new Error("#N/A"),n.error=new Error("#ERROR!"),n.data=new Error("#GETTING_DATA")},function(r,n,e){var t=e(0);n.flattenShallow=function(r){return r&&r.reduce?r.reduce((function(r,n){var e=Array.isArray(r),t=Array.isArray(n);return e&&t?r.concat(n):e?(r.push(n),r):t?[r].concat(n):[r,n]})):r},n.isFlat=function(r){if(!r)return!1;for(var n=0;n<r.length;++n)if(Array.isArray(r[n]))return!1;return!0},n.flatten=function(){for(var r=n.argsToArray.apply(null,arguments);!n.isFlat(r);)r=n.flattenShallow(r);return r},n.argsToArray=function(r){var e=[];return n.arrayEach(r,(function(r){e.push(r)})),e},n.numbers=function(){var r=this.flatten.apply(null,arguments);return r.filter((function(r){return"number"==typeof r}))},n.cleanFloat=function(r){return Math.round(1e14*r)/1e14},n.parseBool=function(r){if("boolean"==typeof r)return r;if(r instanceof Error)return r;if("number"==typeof r)return 0!==r;if("string"==typeof r){var n=r.toUpperCase();if("TRUE"===n)return!0;if("FALSE"===n)return!1}return r instanceof Date&&!isNaN(r)||t.value},n.parseNumber=function(r){return void 0===r||""===r||isNaN(r)?t.value:parseFloat(r)},n.parseNumberArray=function(r){var e,a;if(!r||0===(e=r.length))return t.value;for(;e--;){if((a=n.parseNumber(r[e]))===t.value)return a;r[e]=a}return r},n.parseMatrix=function(r){var e;if(!r||0===r.length)return t.value;for(var a=0;a<r.length;a++)if(e=n.parseNumberArray(r[a]),r[a]=e,e instanceof Error)return e;return r};var a=new Date(Date.UTC(1900,0,1));n.parseDate=function(r){if(!isNaN(r)){if(r instanceof Date)return new Date(r);var n=parseInt(r,10);return n<0?t.num:n<=60?new Date(a.getTime()+864e5*(n-1)):new Date(a.getTime()+864e5*(n-2))}return"string"!=typeof r||(r=new Date(r),isNaN(r))?t.value:r},n.parseDateArray=function(r){for(var n,e=r.length;e--;){if((n=this.parseDate(r[e]))===t.value)return n;r[e]=n}return r},n.anyIsError=function(){for(var r=arguments.length;r--;)if(arguments[r]instanceof Error)return!0;return!1},n.arrayValuesToNumbers=function(r){for(var n,e=r.length;e--;)if("number"!=typeof(n=r[e]))if(!0!==n)if(!1!==n){if("string"==typeof n){var t=this.parseNumber(n);t instanceof Error?r[e]=0:r[e]=t}}else r[e]=0;else r[e]=1;return r},n.rest=function(r,n){return n=n||1,r&&"function"==typeof r.slice?r.slice(n):r},n.initial=function(r,n){return n=n||1,r&&"function"==typeof r.slice?r.slice(0,r.length-n):r},n.arrayEach=function(r,n){for(var e=-1,t=r.length;++e<t&&!1!==n(r[e],e,r););return r},n.transpose=function(r){return r?r[0].map((function(n,e){return r.map((function(r){return r[e]}))})):t.value}},function(r,n,e){"use strict";var t;function a(r,n,e){return n in r?Object.defineProperty(r,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[n]=e,r}n.__esModule=!0,n.default=function(r){var n;r=(r+"").replace(/#|!|\?/g,""),u[r]&&(n=u[r]);return n||null},n.isValidStrict=function(r){var n=!1;for(var e in u)if(Object.prototype.hasOwnProperty.call(u,e)&&u[e]===r){n=!0;break}return n},n.ERROR_VALUE=n.ERROR_REF=n.ERROR_NUM=n.ERROR_NULL=n.ERROR_NOT_AVAILABLE=n.ERROR_NAME=n.ERROR_DIV_ZERO=n.ERROR=void 0;n.ERROR="ERROR";n.ERROR_DIV_ZERO="DIV/0";n.ERROR_NAME="NAME";n.ERROR_NOT_AVAILABLE="N/A";n.ERROR_NULL="NULL";n.ERROR_NUM="NUM";n.ERROR_REF="REF";n.ERROR_VALUE="VALUE";var u=(a(t={},"ERROR","#ERROR!"),a(t,"DIV/0","#DIV/0!"),a(t,"NAME","#NAME?"),a(t,"N/A","#N/A"),a(t,"NULL","#NULL!"),a(t,"NUM","#NUM!"),a(t,"REF","#REF!"),a(t,"VALUE","#VALUE!"),t)},function(r,n,e){"use strict";function t(r){var n;return"number"==typeof r?n=r:"string"==typeof r&&(n=r.indexOf(".")>-1?parseFloat(r):parseInt(r,10)),n}n.__esModule=!0,n.toNumber=t,n.invertNumber=function(r){return-1*t(r)}},function(r,n,e){var t=e(1),a=e(0),u=e(5),o=e(8),i=e(7);n.ABS=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.abs(r)},n.ACOS=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.acos(r);return isNaN(n)&&(n=a.num),n},n.ACOSH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.log(r+Math.sqrt(r*r-1));return isNaN(n)&&(n=a.num),n},n.ACOT=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.atan(1/r)},n.ACOTH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=.5*Math.log((r+1)/(r-1));return isNaN(n)&&(n=a.num),n},n.AGGREGATE=function(r,e,o,i){if(r=t.parseNumber(r),e=t.parseNumber(r),t.anyIsError(r,e))return a.value;switch(r){case 1:return u.AVERAGE(o);case 2:return u.COUNT(o);case 3:return u.COUNTA(o);case 4:return u.MAX(o);case 5:return u.MIN(o);case 6:return n.PRODUCT(o);case 7:return u.STDEV.S(o);case 8:return u.STDEV.P(o);case 9:return n.SUM(o);case 10:return u.VAR.S(o);case 11:return u.VAR.P(o);case 12:return u.MEDIAN(o);case 13:return u.MODE.SNGL(o);case 14:return u.LARGE(o,i);case 15:return u.SMALL(o,i);case 16:return u.PERCENTILE.INC(o,i);case 17:return u.QUARTILE.INC(o,i);case 18:return u.PERCENTILE.EXC(o,i);case 19:return u.QUARTILE.EXC(o,i)}},n.ARABIC=function(r){if(!/^M*(?:D?C{0,3}|C[MD])(?:L?X{0,3}|X[CL])(?:V?I{0,3}|I[XV])$/.test(r))return a.value;var n=0;return r.replace(/[MDLV]|C[MD]?|X[CL]?|I[XV]?/g,(function(r){n+={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1}[r]})),n},n.ASIN=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.asin(r);return isNaN(n)&&(n=a.num),n},n.ASINH=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.log(r+Math.sqrt(r*r+1))},n.ATAN=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.atan(r)},n.ATAN2=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:Math.atan2(r,n)},n.ATANH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.log((1+r)/(1-r))/2;return isNaN(n)&&(n=a.num),n},n.BASE=function(r,n,e){if(e=e||0,r=t.parseNumber(r),n=t.parseNumber(n),e=t.parseNumber(e),t.anyIsError(r,n,e))return a.value;e=void 0===e?0:e;var u=r.toString(n);return new Array(Math.max(e+1-u.length,0)).join("0")+u},n.CEILING=function(r,e,u){if(e=void 0===e?1:Math.abs(e),u=u||0,r=t.parseNumber(r),e=t.parseNumber(e),u=t.parseNumber(u),t.anyIsError(r,e,u))return a.value;if(0===e)return 0;var o=-Math.floor(Math.log(e)/Math.log(10));return r>=0?n.ROUND(Math.ceil(r/e)*e,o):0===u?-n.ROUND(Math.floor(Math.abs(r)/e)*e,o):-n.ROUND(Math.ceil(Math.abs(r)/e)*e,o)},n.CEILING.MATH=n.CEILING,n.CEILING.PRECISE=n.CEILING,n.COMBIN=function(r,e){return r=t.parseNumber(r),e=t.parseNumber(e),t.anyIsError(r,e)?a.value:n.FACT(r)/(n.FACT(e)*n.FACT(r-e))},n.COMBINA=function(r,e){return r=t.parseNumber(r),e=t.parseNumber(e),t.anyIsError(r,e)?a.value:0===r&&0===e?1:n.COMBIN(r+e-1,r-1)},n.COS=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.cos(r)},n.COSH=function(r){return(r=t.parseNumber(r))instanceof Error?r:(Math.exp(r)+Math.exp(-r))/2},n.COT=function(r){return(r=t.parseNumber(r))instanceof Error?r:1/Math.tan(r)},n.COTH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.exp(2*r);return(n+1)/(n-1)},n.CSC=function(r){return(r=t.parseNumber(r))instanceof Error?r:1/Math.sin(r)},n.CSCH=function(r){return(r=t.parseNumber(r))instanceof Error?r:2/(Math.exp(r)-Math.exp(-r))},n.DECIMAL=function(r,n){return arguments.length<1?a.value:parseInt(r,n)},n.DEGREES=function(r){return(r=t.parseNumber(r))instanceof Error?r:180*r/Math.PI},n.EVEN=function(r){return(r=t.parseNumber(r))instanceof Error?r:n.CEILING(r,-2,-1)},n.EXP=function(r){return arguments.length<1?a.na:"number"!=typeof r||arguments.length>1?a.error:r=Math.exp(r)};var s=[];n.FACT=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var e=Math.floor(r);return 0===e||1===e?1:(s[e]>0||(s[e]=n.FACT(e-1)*e),s[e])},n.FACTDOUBLE=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var e=Math.floor(r);return e<=0?1:e*n.FACTDOUBLE(e-2)},n.FLOOR=function(r,e){if(r=t.parseNumber(r),e=t.parseNumber(e),t.anyIsError(r,e))return a.value;if(0===e)return 0;if(!(r>0&&e>0||r<0&&e<0))return a.num;e=Math.abs(e);var u=-Math.floor(Math.log(e)/Math.log(10));return r>=0?n.ROUND(Math.floor(r/e)*e,u):-n.ROUND(Math.ceil(Math.abs(r)/e),u)},n.FLOOR.MATH=function(r,e,u){if(e=void 0===e?1:e,u=void 0===u?0:u,r=t.parseNumber(r),e=t.parseNumber(e),u=t.parseNumber(u),t.anyIsError(r,e,u))return a.value;if(0===e)return 0;e=e?Math.abs(e):1;var o=-Math.floor(Math.log(e)/Math.log(10));return r>=0?n.ROUND(Math.floor(r/e)*e,o):0===u||void 0===u?-n.ROUND(Math.ceil(Math.abs(r)/e)*e,o):-n.ROUND(Math.floor(Math.abs(r)/e)*e,o)},n.FLOOR.PRECISE=n.FLOOR.MATH,n.GCD=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var n=r.length,e=r[0],a=e<0?-e:e,u=1;u<n;u++){for(var o=r[u],i=o<0?-o:o;a&&i;)a>i?a%=i:i%=a;a+=i}return a},n.INT=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.floor(r)},n.ISO={CEILING:n.CEILING},n.LCM=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var n,e,a,u,o=1;void 0!==(a=r.pop());)for(;a>1;){if(a%2){for(n=3,e=Math.floor(Math.sqrt(a));n<=e&&a%n;n+=2);u=n<=e?n:a}else u=2;for(a/=u,o*=u,n=r.length;n;r[--n]%u==0&&1==(r[n]/=u)&&r.splice(n,1));}return o},n.LN=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.log(r)},n.LN10=function(){return Math.log(10)},n.LN2=function(){return Math.log(2)},n.LOG10E=function(){return Math.LOG10E},n.LOG2E=function(){return Math.LOG2E},n.LOG=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:(n=void 0===n?10:n,Math.log(r)/Math.log(n))},n.LOG10=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.log(r)/Math.log(10)},n.MOD=function(r,n){if(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n))return a.value;if(0===n)return a.div0;var e=Math.abs(r%n);return n>0?e:-e},n.MROUND=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:r*n<0?a.num:Math.round(r/n)*n},n.MULTINOMIAL=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var e=0,a=1,u=0;u<r.length;u++)e+=r[u],a*=n.FACT(r[u]);return n.FACT(e)/a},n.ODD=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.ceil(Math.abs(r));return n=1&n?n:n+1,r>0?n:-n},n.PI=function(){return Math.PI},n.E=function(){return Math.E},n.POWER=function(r,n){if(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n))return a.value;var e=Math.pow(r,n);return isNaN(e)?a.num:e},n.PRODUCT=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var n=1,e=0;e<r.length;e++)n*=r[e];return n},n.QUOTIENT=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:parseInt(r/n,10)},n.RADIANS=function(r){return(r=t.parseNumber(r))instanceof Error?r:r*Math.PI/180},n.RAND=function(){return Math.random()},n.RANDBETWEEN=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:r+Math.ceil((n-r+1)*Math.random())-1},n.ROMAN=function(r){if((r=t.parseNumber(r))instanceof Error)return r;for(var n=String(r).split(""),e=["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM","","X","XX","XXX","XL","L","LX","LXX","LXXX","XC","","I","II","III","IV","V","VI","VII","VIII","IX"],a="",u=3;u--;)a=(e[+n.pop()+10*u]||"")+a;return new Array(+n.join("")+1).join("M")+a},n.ROUND=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:Math.round(r*Math.pow(10,n))/Math.pow(10,n)},n.ROUNDDOWN=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:(r>0?1:-1)*Math.floor(Math.abs(r)*Math.pow(10,n))/Math.pow(10,n)},n.ROUNDUP=function(r,n){return r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:(r>0?1:-1)*Math.ceil(Math.abs(r)*Math.pow(10,n))/Math.pow(10,n)},n.SEC=function(r){return(r=t.parseNumber(r))instanceof Error?r:1/Math.cos(r)},n.SECH=function(r){return(r=t.parseNumber(r))instanceof Error?r:2/(Math.exp(r)+Math.exp(-r))},n.SERIESSUM=function(r,n,e,u){if(r=t.parseNumber(r),n=t.parseNumber(n),e=t.parseNumber(e),u=t.parseNumberArray(u),t.anyIsError(r,n,e,u))return a.value;for(var o=u[0]*Math.pow(r,n),i=1;i<u.length;i++)o+=u[i]*Math.pow(r,n+i*e);return o},n.SIGN=function(r){return(r=t.parseNumber(r))instanceof Error?r:r<0?-1:0===r?0:1},n.SIN=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.sin(r)},n.SINH=function(r){return(r=t.parseNumber(r))instanceof Error?r:(Math.exp(r)-Math.exp(-r))/2},n.SQRT=function(r){return(r=t.parseNumber(r))instanceof Error?r:r<0?a.num:Math.sqrt(r)},n.SQRTPI=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.sqrt(r*Math.PI)},n.SQRT1_2=function(){return 1/Math.sqrt(2)},n.SQRT2=function(){return Math.sqrt(2)},n.SUBTOTAL=function(r,e){if((r=t.parseNumber(r))instanceof Error)return r;switch(r){case 1:return u.AVERAGE(e);case 2:return u.COUNT(e);case 3:return u.COUNTA(e);case 4:return u.MAX(e);case 5:return u.MIN(e);case 6:return n.PRODUCT(e);case 7:return u.STDEV.S(e);case 8:return u.STDEV.P(e);case 9:return n.SUM(e);case 10:return u.VAR.S(e);case 11:return u.VAR.P(e);case 101:return u.AVERAGE(e);case 102:return u.COUNT(e);case 103:return u.COUNTA(e);case 104:return u.MAX(e);case 105:return u.MIN(e);case 106:return n.PRODUCT(e);case 107:return u.STDEV.S(e);case 108:return u.STDEV.P(e);case 109:return n.SUM(e);case 110:return u.VAR.S(e);case 111:return u.VAR.P(e)}},n.ADD=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:r+n)},n.MINUS=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:r-n)},n.DIVIDE=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:0===n?a.div0:r/n)},n.MULTIPLY=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:r*n)},n.GTE=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.error:r>=n)},n.LT=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.error:r<n)},n.LTE=function(r,n){return 2!==arguments.length?a.na:(r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.error:r<=n)},n.EQ=function(r,n){return 2!==arguments.length?a.na:r===n},n.NE=function(r,n){return 2!==arguments.length?a.na:r!==n},n.POW=function(r,e){return 2!==arguments.length?a.na:(r=t.parseNumber(r),e=t.parseNumber(e),t.anyIsError(r,e)?a.error:n.POWER(r,e))},n.SUM=function(){var r=0;return t.arrayEach(t.argsToArray(arguments),(function(e){if("number"==typeof e)r+=e;else if("string"==typeof e){var t=parseFloat(e);!isNaN(t)&&(r+=t)}else Array.isArray(e)&&(r+=n.SUM.apply(null,e))})),r},n.SUMIF=function(r,n){if((r=t.parseNumberArray(t.flatten(r)))instanceof Error)return r;for(var e=0,a=void 0===n||"*"===n,u=a?null:i.parse(n+""),o=0;o<r.length;o++){var s=r[o];if(a)e+=s;else{var f=[i.createToken(s,i.TOKEN_TYPE_LITERAL)].concat(u);e+=i.compute(f)?s:0}}return e},n.SUMIFS=function(){var r=t.argsToArray(arguments),n=t.parseNumberArray(t.flatten(r.shift()));if(n instanceof Error)return n;for(var e=r,a=n.length,u=e.length,o=0,s=0;s<a;s++){for(var f=n[s],l=!1,c=0;c<u;c++){var h=e[c],p=void 0===h||"*"===h,m=!1;if(p)m=!0;else{var E=i.parse(h+""),v=[i.createToken(f,i.TOKEN_TYPE_LITERAL)].concat(E);m=i.compute(v)}if(!m){l=!1;break}l=!0}l&&(o+=f)}return o},n.SUMPRODUCT=function(){if(!arguments||0===arguments.length)return a.value;for(var r,n,e,u,o=arguments.length+1,i=0,s=0;s<arguments[0].length;s++)if(arguments[0][s]instanceof Array)for(var f=0;f<arguments[0][s].length;f++){for(r=1,n=1;n<o;n++){if((u=t.parseNumber(arguments[n-1][s][f]))instanceof Error)return u;r*=u}i+=r}else{for(r=1,n=1;n<o;n++){if((e=t.parseNumber(arguments[n-1][s]))instanceof Error)return e;r*=e}i+=r}return i},n.SUMSQ=function(){var r=t.parseNumberArray(t.flatten(arguments));if(r instanceof Error)return r;for(var n=0,e=r.length,a=0;a<e;a++)n+=o.ISNUMBER(r[a])?r[a]*r[a]:0;return n},n.SUMX2MY2=function(r,n){if(r=t.parseNumberArray(t.flatten(r)),n=t.parseNumberArray(t.flatten(n)),t.anyIsError(r,n))return a.value;for(var e=0,u=0;u<r.length;u++)e+=r[u]*r[u]-n[u]*n[u];return e},n.SUMX2PY2=function(r,n){if(r=t.parseNumberArray(t.flatten(r)),n=t.parseNumberArray(t.flatten(n)),t.anyIsError(r,n))return a.value;var e=0;r=t.parseNumberArray(t.flatten(r)),n=t.parseNumberArray(t.flatten(n));for(var u=0;u<r.length;u++)e+=r[u]*r[u]+n[u]*n[u];return e},n.SUMXMY2=function(r,n){if(r=t.parseNumberArray(t.flatten(r)),n=t.parseNumberArray(t.flatten(n)),t.anyIsError(r,n))return a.value;var e=0;r=t.flatten(r),n=t.flatten(n);for(var u=0;u<r.length;u++)e+=Math.pow(r[u]-n[u],2);return e},n.TAN=function(r){return(r=t.parseNumber(r))instanceof Error?r:Math.tan(r)},n.TANH=function(r){if((r=t.parseNumber(r))instanceof Error)return r;var n=Math.exp(2*r);return(n-1)/(n+1)},n.TRUNC=function(r,n){return n=void 0===n?0:n,r=t.parseNumber(r),n=t.parseNumber(n),t.anyIsError(r,n)?a.value:(r>0?1:-1)*Math.floor(Math.abs(r)*Math.pow(10,n))/Math.pow(10,n)}},function(r,n,e){var t=e(4),a=e(6),u=e(10),o=e(1),i=e(7),s=e(0),f=e(11);n.AVEDEV=function(){var r=o.parseNumberArray(o.flatten(arguments));return r instanceof Error?r:u.sum(u(r).subtract(u.mean(r)).abs()[0])/r.length},n.AVERAGE=function(){for(var r,n=o.numbers(o.flatten(arguments)),e=n.length,t=0,a=0,u=0;u<e;u++)t+=n[u],a+=1;return r=t/a,isNaN(r)&&(r=s.num),r},n.AVERAGEA=function(){for(var r,n=o.flatten(arguments),e=n.length,t=0,a=0,u=0;u<e;u++){var i=n[u];"number"==typeof i&&(t+=i),!0===i&&t++,null!==i&&a++}return r=t/a,isNaN(r)&&(r=s.num),r},n.AVERAGEIF=function(r,n,e){if(arguments.length<=1)return s.na;if(e=e||r,r=o.flatten(r),(e=o.parseNumberArray(o.flatten(e)))instanceof Error)return e;for(var t=0,a=0,u=void 0===n||"*"===n,f=u?null:i.parse(n+""),l=0;l<r.length;l++){var c=r[l];if(u)a+=e[l],t++;else{var h=[i.createToken(c,i.TOKEN_TYPE_LITERAL)].concat(f);i.compute(h)&&(a+=e[l],t++)}}return a/t},n.AVERAGEIFS=function(){for(var r=o.argsToArray(arguments),n=(r.length-1)/2,e=o.flatten(r[0]),t=0,a=0,u=0;u<e.length;u++){for(var s=!1,f=0;f<n;f++){var l=r[2*f+1][u],c=r[2*f+2],h=void 0===c||"*"===c,p=!1;if(h)p=!0;else{var m=i.parse(c+""),E=[i.createToken(l,i.TOKEN_TYPE_LITERAL)].concat(m);p=i.compute(E)}if(!p){s=!1;break}s=!0}s&&(a+=e[u],t++)}var v=a/t;return isNaN(v)?0:v},n.BETA={},n.BETA.DIST=function(r,n,e,t,a,i){return arguments.length<4?s.value:(a=void 0===a?0:a,i=void 0===i?1:i,r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),a=o.parseNumber(a),i=o.parseNumber(i),o.anyIsError(r,n,e,a,i)?s.value:(r=(r-a)/(i-a),t?u.beta.cdf(r,n,e):u.beta.pdf(r,n,e)))},n.BETA.INV=function(r,n,e,t,a){return t=void 0===t?0:t,a=void 0===a?1:a,r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),t=o.parseNumber(t),a=o.parseNumber(a),o.anyIsError(r,n,e,t,a)?s.value:u.beta.inv(r,n,e)*(a-t)+t},n.BINOM={},n.BINOM.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),t=o.parseNumber(t),o.anyIsError(r,n,e,t)?s.value:t?u.binomial.cdf(r,n,e):u.binomial.pdf(r,n,e)},n.BINOM.DIST.RANGE=function(r,n,e,a){if(a=void 0===a?e:a,r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),a=o.parseNumber(a),o.anyIsError(r,n,e,a))return s.value;for(var u=0,i=e;i<=a;i++)u+=t.COMBIN(r,i)*Math.pow(n,i)*Math.pow(1-n,r-i);return u},n.BINOM.INV=function(r,n,e){if(r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e))return s.value;for(var t=0;t<=r;){if(u.binomial.cdf(t,r,n)>=e)return t;t++}},n.CHISQ={},n.CHISQ.DIST=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?s.value:e?u.chisquare.cdf(r,n):u.chisquare.pdf(r,n)},n.CHISQ.DIST.RT=function(r,n){return!r|!n?s.na:r<1||n>Math.pow(10,10)?s.num:"number"!=typeof r||"number"!=typeof n?s.value:1-u.chisquare.cdf(r,n)},n.CHISQ.INV=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?s.value:u.chisquare.inv(r,n)},n.CHISQ.INV.RT=function(r,n){return!r|!n?s.na:r<0||r>1||n<1||n>Math.pow(10,10)?s.num:"number"!=typeof r||"number"!=typeof n?s.value:u.chisquare.inv(1-r,n)},n.CHISQ.TEST=function(r,n){if(2!==arguments.length)return s.na;if(!(r instanceof Array&&n instanceof Array))return s.value;if(r.length!==n.length)return s.value;if(r[0]&&n[0]&&r[0].length!==n[0].length)return s.value;var e,t,a,u=r.length;for(t=0;t<u;t++)r[t]instanceof Array||(e=r[t],r[t]=[],r[t].push(e)),n[t]instanceof Array||(e=n[t],n[t]=[],n[t].push(e));var o=r[0].length,i=1===o?u-1:(u-1)*(o-1),f=0,l=Math.PI;for(t=0;t<u;t++)for(a=0;a<o;a++)f+=Math.pow(r[t][a]-n[t][a],2)/n[t][a];function c(r,n){var e=Math.exp(-.5*r);n%2==1&&(e*=Math.sqrt(2*r/l));for(var t=n;t>=2;)e=e*r/t,t-=2;for(var a=e,u=n;a>1e-10*e;)e+=a=a*r/(u+=2);return 1-e}return Math.round(1e6*c(f,i))/1e6},n.COLUMN=function(r,n){return 2!==arguments.length?s.na:n<0?s.num:r instanceof Array&&"number"==typeof n?0!==r.length?u.col(r,n):void 0:s.value},n.COLUMNS=function(r){return 1!==arguments.length?s.na:r instanceof Array?0===r.length?0:u.cols(r):s.value},n.CONFIDENCE={},n.CONFIDENCE.NORM=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?s.value:u.normalci(1,r,n,e)[1]-1},n.CONFIDENCE.T=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?s.value:u.tci(1,r,n,e)[1]-1},n.CORREL=function(r,n){return r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n)?s.value:u.corrcoeff(r,n)},n.COUNT=function(){return o.numbers(o.flatten(arguments)).length},n.COUNTA=function(){var r=o.flatten(arguments);return r.length-n.COUNTBLANK(r)},n.COUNTIN=function(r,n){var e=0;r=o.flatten(r);for(var t=0;t<r.length;t++)r[t]===n&&e++;return e},n.COUNTBLANK=function(){for(var r,n=o.flatten(arguments),e=0,t=0;t<n.length;t++)null!==(r=n[t])&&""!==r||e++;return e},n.COUNTIF=function(r,n){if(r=o.flatten(r),void 0===n||"*"===n)return r.length;for(var e=0,t=i.parse(n+""),a=0;a<r.length;a++){var u=r[a],s=[i.createToken(u,i.TOKEN_TYPE_LITERAL)].concat(t);i.compute(s)&&e++}return e},n.COUNTIFS=function(){for(var r=o.argsToArray(arguments),n=new Array(o.flatten(r[0]).length),e=0;e<n.length;e++)n[e]=!0;for(e=0;e<r.length;e+=2){var t=o.flatten(r[e]),a=r[e+1],u=void 0===a||"*"===a;if(!u)for(var s=i.parse(a+""),f=0;f<t.length;f++){var l=t[f],c=[i.createToken(l,i.TOKEN_TYPE_LITERAL)].concat(s);n[f]=n[f]&&i.compute(c)}}var h=0;for(e=0;e<n.length;e++)n[e]&&h++;return h},n.COUNTUNIQUE=function(){return f.UNIQUE.apply(null,o.flatten(arguments)).length},n.COVARIANCE={},n.COVARIANCE.P=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return s.value;for(var e=u.mean(r),t=u.mean(n),a=0,i=r.length,f=0;f<i;f++)a+=(r[f]-e)*(n[f]-t);return a/i},n.COVARIANCE.S=function(r,n){return r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n)?s.value:u.covariance(r,n)},n.DEVSQ=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=u.mean(r),e=0,t=0;t<r.length;t++)e+=Math.pow(r[t]-n,2);return e},n.EXPON={},n.EXPON.DIST=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?s.value:e?u.exponential.cdf(r,n):u.exponential.pdf(r,n)},n.F={},n.F.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?s.value:t?u.centralF.cdf(r,n,e):u.centralF.pdf(r,n,e)},n.F.DIST.RT=function(r,n,e){return 3!==arguments.length?s.na:r<0||n<1||e<1?s.num:"number"!=typeof r||"number"!=typeof n||"number"!=typeof e?s.value:1-u.centralF.cdf(r,n,e)},n.F.INV=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?s.value:r<=0||r>1?s.num:u.centralF.inv(r,n,e)},n.F.INV.RT=function(r,n,e){return 3!==arguments.length?s.na:r<0||r>1||n<1||n>Math.pow(10,10)||e<1||e>Math.pow(10,10)?s.num:"number"!=typeof r||"number"!=typeof n||"number"!=typeof e?s.value:u.centralF.inv(1-r,n,e)},n.F.TEST=function(r,n){if(!r||!n)return s.na;if(!(r instanceof Array&&n instanceof Array))return s.na;if(r.length<2||n.length<2)return s.div0;var e=function(r,n){for(var e=0,t=0;t<r.length;t++)e+=Math.pow(r[t]-n,2);return e},a=t.SUM(r)/r.length,u=t.SUM(n)/n.length;return e(r,a)/(r.length-1)/(e(n,u)/(n.length-1))},n.FISHER=function(r){return(r=o.parseNumber(r))instanceof Error?r:Math.log((1+r)/(1-r))/2},n.FISHERINV=function(r){if((r=o.parseNumber(r))instanceof Error)return r;var n=Math.exp(2*r);return(n-1)/(n+1)},n.FORECAST=function(r,n,e){if(r=o.parseNumber(r),n=o.parseNumberArray(o.flatten(n)),e=o.parseNumberArray(o.flatten(e)),o.anyIsError(r,n,e))return s.value;for(var t=u.mean(e),a=u.mean(n),i=e.length,f=0,l=0,c=0;c<i;c++)f+=(e[c]-t)*(n[c]-a),l+=Math.pow(e[c]-t,2);var h=f/l;return a-h*t+h*r},n.FREQUENCY=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return s.value;for(var e=r.length,t=n.length,a=[],u=0;u<=t;u++){a[u]=0;for(var i=0;i<e;i++)0===u?r[i]<=n[0]&&(a[0]+=1):u<t?r[i]>n[u-1]&&r[i]<=n[u]&&(a[u]+=1):u===t&&r[i]>n[t-1]&&(a[t]+=1)}return a},n.GAMMA=function(r){return(r=o.parseNumber(r))instanceof Error?r:0===r||parseInt(r,10)===r&&r<0?s.num:u.gammafn(r)},n.GAMMA.DIST=function(r,n,e,t){return 4!==arguments.length?s.na:r<0||n<=0||e<=0||"number"!=typeof r||"number"!=typeof n||"number"!=typeof e?s.value:t?u.gamma.cdf(r,n,e,!0):u.gamma.pdf(r,n,e,!1)},n.GAMMA.INV=function(r,n,e){return 3!==arguments.length?s.na:r<0||r>1||n<=0||e<=0?s.num:"number"!=typeof r||"number"!=typeof n||"number"!=typeof e?s.value:u.gamma.inv(r,n,e)},n.GAMMALN=function(r){return(r=o.parseNumber(r))instanceof Error?r:u.gammaln(r)},n.GAMMALN.PRECISE=function(r){return 1!==arguments.length?s.na:r<=0?s.num:"number"!=typeof r?s.value:u.gammaln(r)},n.GAUSS=function(r){return(r=o.parseNumber(r))instanceof Error?r:u.normal.cdf(r,0,1)-.5},n.GEOMEAN=function(){var r=o.parseNumberArray(o.flatten(arguments));return r instanceof Error?r:u.geomean(r)},n.GROWTH=function(r,n,e,t){if((r=o.parseNumberArray(r))instanceof Error)return r;var a;if(void 0===n)for(n=[],a=1;a<=r.length;a++)n.push(a);if(void 0===e)for(e=[],a=1;a<=r.length;a++)e.push(a);if(n=o.parseNumberArray(n),e=o.parseNumberArray(e),o.anyIsError(n,e))return s.value;void 0===t&&(t=!0);var u,i,f=r.length,l=0,c=0,h=0,p=0;for(a=0;a<f;a++){var m=n[a],E=Math.log(r[a]);l+=m,c+=E,h+=m*E,p+=m*m}l/=f,c/=f,h/=f,p/=f,t?i=c-(u=(h-l*c)/(p-l*l))*l:(u=h/p,i=0);var v=[];for(a=0;a<e.length;a++)v.push(Math.exp(i+u*e[a]));return v},n.HARMEAN=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=r.length,e=0,t=0;t<n;t++)e+=1/r[t];return n/e},n.HYPGEOM={},n.HYPGEOM.DIST=function(r,n,e,a,u){if(r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),a=o.parseNumber(a),o.anyIsError(r,n,e,a))return s.value;function i(r,n,e,a){return t.COMBIN(e,r)*t.COMBIN(a-e,n-r)/t.COMBIN(a,n)}return u?function(r,n,e,t){for(var a=0,u=0;u<=r;u++)a+=i(u,n,e,t);return a}(r,n,e,a):i(r,n,e,a)},n.INTERCEPT=function(r,e){return r=o.parseNumberArray(r),e=o.parseNumberArray(e),o.anyIsError(r,e)?s.value:r.length!==e.length?s.na:n.FORECAST(0,r,e)},n.KURT=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=u.mean(r),e=r.length,t=0,a=0;a<e;a++)t+=Math.pow(r[a]-n,4);return e*(e+1)/((e-1)*(e-2)*(e-3))*(t/=Math.pow(u.stdev(r,!0),4))-3*(e-1)*(e-1)/((e-2)*(e-3))},n.LARGE=function(r,n){return r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n)?r:r.sort((function(r,n){return n-r}))[n-1]},n.LINEST=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return s.value;for(var e=u.mean(r),t=u.mean(n),a=n.length,i=0,f=0,l=0;l<a;l++)i+=(n[l]-t)*(r[l]-e),f+=Math.pow(n[l]-t,2);var c=i/f;return[c,e-c*t]},n.LOGEST=function(r,e){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumberArray(o.flatten(e)),o.anyIsError(r,e))return s.value;for(var t=0;t<r.length;t++)r[t]=Math.log(r[t]);var a=n.LINEST(r,e);return a[0]=Math.round(1e6*Math.exp(a[0]))/1e6,a[1]=Math.round(1e6*Math.exp(a[1]))/1e6,a},n.LOGNORM={},n.LOGNORM.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?s.value:t?u.lognormal.cdf(r,n,e):u.lognormal.pdf(r,n,e)},n.LOGNORM.INV=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?s.value:u.lognormal.inv(r,n,e)},n.MAX=function(){var r=o.numbers(o.flatten(arguments));return 0===r.length?0:Math.max.apply(Math,r)},n.MAXA=function(){var r=o.arrayValuesToNumbers(o.flatten(arguments));return 0===r.length?0:Math.max.apply(Math,r)},n.MEDIAN=function(){var r=o.arrayValuesToNumbers(o.flatten(arguments)),n=u.median(r);return isNaN(n)&&(n=s.num),n},n.MIN=function(){var r=o.numbers(o.flatten(arguments));return 0===r.length?0:Math.min.apply(Math,r)},n.MINA=function(){var r=o.arrayValuesToNumbers(o.flatten(arguments));return 0===r.length?0:Math.min.apply(Math,r)},n.MODE={},n.MODE.MULT=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n,e=r.length,t={},a=[],u=0,i=0;i<e;i++)t[n=r[i]]=t[n]?t[n]+1:1,t[n]>u&&(u=t[n],a=[]),t[n]===u&&(a[a.length]=n);return a},n.MODE.SNGL=function(){var r=o.parseNumberArray(o.flatten(arguments));return r instanceof Error?r:n.MODE.MULT(r).sort((function(r,n){return r-n}))[0]},n.NEGBINOM={},n.NEGBINOM.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?s.value:t?u.negbin.cdf(r,n,e):u.negbin.pdf(r,n,e)},n.NORM={},n.NORM.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?s.value:e<=0?s.num:t?u.normal.cdf(r,n,e):u.normal.pdf(r,n,e)},n.NORM.INV=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?s.value:u.normal.inv(r,n,e)},n.NORM.S={},n.NORM.S.DIST=function(r,n){return(r=o.parseNumber(r))instanceof Error?s.value:n?u.normal.cdf(r,0,1):u.normal.pdf(r,0,1)},n.NORM.S.INV=function(r){return(r=o.parseNumber(r))instanceof Error?s.value:u.normal.inv(r,0,1)},n.PEARSON=function(r,n){if(n=o.parseNumberArray(o.flatten(n)),r=o.parseNumberArray(o.flatten(r)),o.anyIsError(n,r))return s.value;for(var e=u.mean(r),t=u.mean(n),a=r.length,i=0,f=0,l=0,c=0;c<a;c++)i+=(r[c]-e)*(n[c]-t),f+=Math.pow(r[c]-e,2),l+=Math.pow(n[c]-t,2);return i/Math.sqrt(f*l)},n.PERCENTILE={},n.PERCENTILE.EXC=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n))return s.value;var e=(r=r.sort((function(r,n){return r-n}))).length;if(n<1/(e+1)||n>1-1/(e+1))return s.num;var t=n*(e+1)-1,a=Math.floor(t);return o.cleanFloat(t===a?r[t]:r[a]+(t-a)*(r[a+1]-r[a]))},n.PERCENTILE.INC=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n))return s.value;var e=n*((r=r.sort((function(r,n){return r-n}))).length-1),t=Math.floor(e);return o.cleanFloat(e===t?r[e]:r[t]+(e-t)*(r[t+1]-r[t]))},n.PERCENTRANK={},n.PERCENTRANK.EXC=function(r,n,e){if(e=void 0===e?3:e,r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e))return s.value;r=r.sort((function(r,n){return r-n}));for(var t=f.UNIQUE.apply(null,r),a=r.length,u=t.length,i=Math.pow(10,e),l=0,c=!1,h=0;!c&&h<u;)n===t[h]?(l=(r.indexOf(t[h])+1)/(a+1),c=!0):n>=t[h]&&(n<t[h+1]||h===u-1)&&(l=(r.indexOf(t[h])+1+(n-t[h])/(t[h+1]-t[h]))/(a+1),c=!0),h++;return Math.floor(l*i)/i},n.PERCENTRANK.INC=function(r,n,e){if(e=void 0===e?3:e,r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e))return s.value;r=r.sort((function(r,n){return r-n}));for(var t=f.UNIQUE.apply(null,r),a=r.length,u=t.length,i=Math.pow(10,e),l=0,c=!1,h=0;!c&&h<u;)n===t[h]?(l=r.indexOf(t[h])/(a-1),c=!0):n>=t[h]&&(n<t[h+1]||h===u-1)&&(l=(r.indexOf(t[h])+(n-t[h])/(t[h+1]-t[h]))/(a-1),c=!0),h++;return Math.floor(l*i)/i},n.PERMUT=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?s.value:t.FACT(r)/t.FACT(r-n)},n.PERMUTATIONA=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?s.value:Math.pow(r,n)},n.PHI=function(r){return(r=o.parseNumber(r))instanceof Error?s.value:Math.exp(-.5*r*r)/2.5066282746310002},n.POISSON={},n.POISSON.DIST=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?s.value:e?u.poisson.cdf(r,n):u.poisson.pdf(r,n)},n.PROB=function(r,n,e,t){if(void 0===e)return 0;if(t=void 0===t?e:t,r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),e=o.parseNumber(e),t=o.parseNumber(t),o.anyIsError(r,n,e,t))return s.value;if(e===t)return r.indexOf(e)>=0?n[r.indexOf(e)]:0;for(var a=r.sort((function(r,n){return r-n})),u=a.length,i=0,f=0;f<u;f++)a[f]>=e&&a[f]<=t&&(i+=n[r.indexOf(a[f])]);return i},n.QUARTILE={},n.QUARTILE.EXC=function(r,e){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumber(e),o.anyIsError(r,e))return s.value;switch(e){case 1:return n.PERCENTILE.EXC(r,.25);case 2:return n.PERCENTILE.EXC(r,.5);case 3:return n.PERCENTILE.EXC(r,.75);default:return s.num}},n.QUARTILE.INC=function(r,e){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumber(e),o.anyIsError(r,e))return s.value;switch(e){case 1:return n.PERCENTILE.INC(r,.25);case 2:return n.PERCENTILE.INC(r,.5);case 3:return n.PERCENTILE.INC(r,.75);default:return s.num}},n.RANK={},n.RANK.AVG=function(r,n,e){if(r=o.parseNumber(r),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return s.value;for(var t=(e=e||!1)?function(r,n){return r-n}:function(r,n){return n-r},a=(n=(n=o.flatten(n)).sort(t)).length,u=0,i=0;i<a;i++)n[i]===r&&u++;return u>1?(2*n.indexOf(r)+u+1)/2:n.indexOf(r)+1},n.RANK.EQ=function(r,n,e){if(r=o.parseNumber(r),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return s.value;var t=(e=e||!1)?function(r,n){return r-n}:function(r,n){return n-r};return(n=n.sort(t)).indexOf(r)+1},n.ROW=function(r,n){return 2!==arguments.length?s.na:n<0?s.num:r instanceof Array&&"number"==typeof n?0!==r.length?u.row(r,n):void 0:s.value},n.ROWS=function(r){return 1!==arguments.length?s.na:r instanceof Array?0===r.length?0:u.rows(r):s.value},n.RSQ=function(r,e){return r=o.parseNumberArray(o.flatten(r)),e=o.parseNumberArray(o.flatten(e)),o.anyIsError(r,e)?s.value:Math.pow(n.PEARSON(r,e),2)},n.SKEW=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=u.mean(r),e=r.length,t=0,a=0;a<e;a++)t+=Math.pow(r[a]-n,3);return e*t/((e-1)*(e-2)*Math.pow(u.stdev(r,!0),3))},n.SKEW.P=function(){var r=o.parseNumberArray(o.flatten(arguments));if(r instanceof Error)return r;for(var n=u.mean(r),e=r.length,t=0,a=0,i=0;i<e;i++)a+=Math.pow(r[i]-n,3),t+=Math.pow(r[i]-n,2);return t/=e,(a/=e)/Math.pow(t,1.5)},n.SLOPE=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return s.value;for(var e=u.mean(n),t=u.mean(r),a=n.length,i=0,f=0,l=0;l<a;l++)i+=(n[l]-e)*(r[l]-t),f+=Math.pow(n[l]-e,2);return i/f},n.SMALL=function(r,n){return r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n)?r:r.sort((function(r,n){return r-n}))[n-1]},n.STANDARDIZE=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?s.value:(r-n)/e},n.STDEV={},n.STDEV.P=function(){var r=n.VAR.P.apply(this,arguments),e=Math.sqrt(r);return isNaN(e)&&(e=s.num),e},n.STDEV.S=function(){var r=n.VAR.S.apply(this,arguments),e=Math.sqrt(r);return e},n.STDEVA=function(){var r=n.VARA.apply(this,arguments),e=Math.sqrt(r);return e},n.STDEVPA=function(){var r=n.VARPA.apply(this,arguments),e=Math.sqrt(r);return isNaN(e)&&(e=s.num),e},n.STEYX=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumberArray(o.flatten(n)),o.anyIsError(r,n))return s.value;for(var e=u.mean(n),t=u.mean(r),a=n.length,i=0,f=0,l=0,c=0;c<a;c++)i+=Math.pow(r[c]-t,2),f+=(n[c]-e)*(r[c]-t),l+=Math.pow(n[c]-e,2);return Math.sqrt((i-f*f/l)/(a-2))},n.TRANSPOSE=function(r){return r?u.transpose(r):s.na},n.T=a.T,n.T.DIST=function(r,n,e){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?s.value:e?u.studentt.cdf(r,n):u.studentt.pdf(r,n)},n.T.DIST["2T"]=function(r,n){return 2!==arguments.length?s.na:r<0||n<1?s.num:"number"!=typeof r||"number"!=typeof n?s.value:2*(1-u.studentt.cdf(r,n))},n.T.DIST.RT=function(r,n){return 2!==arguments.length?s.na:r<0||n<1?s.num:"number"!=typeof r||"number"!=typeof n?s.value:1-u.studentt.cdf(r,n)},n.T.INV=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),o.anyIsError(r,n)?s.value:u.studentt.inv(r,n)},n.T.INV["2T"]=function(r,n){return r=o.parseNumber(r),n=o.parseNumber(n),r<=0||r>1||n<1?s.num:o.anyIsError(r,n)?s.value:Math.abs(u.studentt.inv(r/2,n))},n.T.TEST=function(r,e){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumberArray(o.flatten(e)),o.anyIsError(r,e))return s.value;var t,a=u.mean(r),i=u.mean(e),f=0,l=0;for(t=0;t<r.length;t++)f+=Math.pow(r[t]-a,2);for(t=0;t<e.length;t++)l+=Math.pow(e[t]-i,2);f/=r.length-1,l/=e.length-1;var c=Math.abs(a-i)/Math.sqrt(f/r.length+l/e.length);return n.T.DIST["2T"](c,r.length+e.length-2)},n.TREND=function(r,e,t){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumberArray(o.flatten(e)),t=o.parseNumberArray(o.flatten(t)),o.anyIsError(r,e,t))return s.value;var a=n.LINEST(r,e),u=a[0],i=a[1],f=[];return t.forEach((function(r){f.push(u*r+i)})),f},n.TRIMMEAN=function(r,n){if(r=o.parseNumberArray(o.flatten(r)),n=o.parseNumber(n),o.anyIsError(r,n))return s.value;var e=t.FLOOR(r.length*n,2)/2;return u.mean(o.initial(o.rest(r.sort((function(r,n){return r-n})),e),e))},n.VAR={},n.VAR.P=function(){for(var r,e=o.numbers(o.flatten(arguments)),t=e.length,a=0,u=n.AVERAGE(e),i=0;i<t;i++)a+=Math.pow(e[i]-u,2);return r=a/t,isNaN(r)&&(r=s.num),r},n.VAR.S=function(){for(var r=o.numbers(o.flatten(arguments)),e=r.length,t=0,a=n.AVERAGE(r),u=0;u<e;u++)t+=Math.pow(r[u]-a,2);return t/(e-1)},n.VARA=function(){for(var r=o.flatten(arguments),e=r.length,t=0,a=0,u=n.AVERAGEA(r),i=0;i<e;i++){var s=r[i];t+="number"==typeof s?Math.pow(s-u,2):!0===s?Math.pow(1-u,2):Math.pow(0-u,2),null!==s&&a++}return t/(a-1)},n.VARPA=function(){for(var r,e=o.flatten(arguments),t=e.length,a=0,u=0,i=n.AVERAGEA(e),f=0;f<t;f++){var l=e[f];a+="number"==typeof l?Math.pow(l-i,2):!0===l?Math.pow(1-i,2):Math.pow(0-i,2),null!==l&&u++}return r=a/u,isNaN(r)&&(r=s.num),r},n.WEIBULL={},n.WEIBULL.DIST=function(r,n,e,t){return r=o.parseNumber(r),n=o.parseNumber(n),e=o.parseNumber(e),o.anyIsError(r,n,e)?s.value:t?1-Math.exp(-Math.pow(r/e,n)):Math.pow(r,n-1)*Math.exp(-Math.pow(r/e,n))*n/Math.pow(e,n)},n.Z={},n.Z.TEST=function(r,e,t){if(r=o.parseNumberArray(o.flatten(r)),e=o.parseNumber(e),o.anyIsError(r,e))return s.value;t=t||n.STDEV.S(r);var a=r.length;return 1-n.NORM.S.DIST((n.AVERAGE(r)-e)/(t/Math.sqrt(a)),!0)}},function(r,n,e){var t=e(1),a=e(0);n.ASC=function(){throw new Error("ASC is not implemented")},n.BAHTTEXT=function(){throw new Error("BAHTTEXT is not implemented")},n.CHAR=function(r){return(r=t.parseNumber(r))instanceof Error?r:String.fromCharCode(r)},n.CLEAN=function(r){return(r=r||"").replace(/[\0-\x1F]/g,"")},n.CODE=function(r){var n=(r=r||"").charCodeAt(0);return isNaN(n)&&(n=a.na),n},n.CONCATENATE=function(){for(var r=t.flatten(arguments),n=0;(n=r.indexOf(!0))>-1;)r[n]="TRUE";for(var e=0;(e=r.indexOf(!1))>-1;)r[e]="FALSE";return r.join("")},n.DBCS=function(){throw new Error("DBCS is not implemented")},n.DOLLAR=function(){throw new Error("DOLLAR is not implemented")},n.EXACT=function(r,n){return 2!==arguments.length?a.na:r===n},n.FIND=function(r,n,e){return arguments.length<2?a.na:(e=void 0===e?0:e,n?n.indexOf(r,e-1)+1:null)},n.FIXED=function(){throw new Error("FIXED is not implemented")},n.HTML2TEXT=function(r){var n="";return r&&(r instanceof Array?r.forEach((function(r){""!==n&&(n+="\n"),n+=r.replace(/<(?:.|\n)*?>/gm,"")})):n=r.replace(/<(?:.|\n)*?>/gm,"")),n},n.LEFT=function(r,n){return n=void 0===n?1:n,(n=t.parseNumber(n))instanceof Error||"string"!=typeof r?a.value:r?r.substring(0,n):null},n.LEN=function(r){return 0===arguments.length?a.error:"string"==typeof r?r?r.length:0:r.length?r.length:a.value},n.LOWER=function(r){return"string"!=typeof r?a.value:r?r.toLowerCase():r},n.MID=function(r,n,e){if(n=t.parseNumber(n),e=t.parseNumber(e),t.anyIsError(n,e)||"string"!=typeof r)return e;var a=n-1,u=a+e;return r.substring(a,u)},n.NUMBERVALUE=function(r,n,e){return n=void 0===n?".":n,e=void 0===e?",":e,Number(r.replace(n,".").replace(e,""))},n.PRONETIC=function(){throw new Error("PRONETIC is not implemented")},n.PROPER=function(r){return void 0===r||0===r.length?a.value:(!0===r&&(r="TRUE"),!1===r&&(r="FALSE"),isNaN(r)&&"number"==typeof r?a.value:("number"==typeof r&&(r=""+r),r.replace(/\w\S*/g,(function(r){return r.charAt(0).toUpperCase()+r.substr(1).toLowerCase()}))))},n.REGEXEXTRACT=function(r,n){if(arguments.length<2)return a.na;var e=r.match(new RegExp(n));return e?e[e.length>1?e.length-1:0]:null},n.REGEXMATCH=function(r,n,e){if(arguments.length<2)return a.na;var t=r.match(new RegExp(n));return e?t:!!t},n.REGEXREPLACE=function(r,n,e){return arguments.length<3?a.na:r.replace(new RegExp(n),e)},n.REPLACE=function(r,n,e,u){return n=t.parseNumber(n),e=t.parseNumber(e),t.anyIsError(n,e)||"string"!=typeof r||"string"!=typeof u?a.value:r.substr(0,n-1)+u+r.substr(n-1+e)},n.REPT=function(r,n){return(n=t.parseNumber(n))instanceof Error?n:new Array(n+1).join(r)},n.RIGHT=function(r,n){return n=void 0===n?1:n,(n=t.parseNumber(n))instanceof Error?n:r?r.substring(r.length-n):a.na},n.SEARCH=function(r,n,e){var t;return"string"!=typeof r||"string"!=typeof n?a.value:(e=void 0===e?0:e,0===(t=n.toLowerCase().indexOf(r.toLowerCase(),e-1)+1)?a.value:t)},n.SPLIT=function(r,n){return r.split(n)},n.SUBSTITUTE=function(r,n,e,t){if(arguments.length<2)return a.na;if(!(r&&n&&e))return r;if(void 0===t)return r.replace(new RegExp(n,"g"),e);for(var u=0,o=0;r.indexOf(n,u)>0;)if(u=r.indexOf(n,u+1),++o===t)return r.substring(0,u)+e+r.substring(u+n.length)},n.T=function(r){return"string"==typeof r?r:""},n.TEXT=function(){throw new Error("TEXT is not implemented")},n.TRIM=function(r){return"string"!=typeof r?a.value:r.replace(/ +/g," ").trim()},n.UNICHAR=n.CHAR,n.UNICODE=n.CODE,n.UPPER=function(r){return"string"!=typeof r?a.value:r.toUpperCase()},n.VALUE=function(){throw new Error("VALUE is not implemented")}},function(r,n){var e=[">",">=","<","<=","=","<>"],t=["operator","literal"];function a(r,n){if(-1===t.indexOf(n))throw new Error("Unsupported token type: "+n);return{value:r,type:n}}function u(r){for(var n,t="",u=[],o=0;o<r.length;o++){var i=r[o];0===o&&e.indexOf(i)>=0?u.push(a(i,"operator")):t+=i}return t.length>0&&u.push(a(("string"!=typeof(n=t)||/^\d+(\.\d+)?$/.test(n)&&(n=-1===n.indexOf(".")?parseInt(n,10):parseFloat(n)),n),"literal")),u.length>0&&"operator"!==u[0].type&&u.unshift(a("=","operator")),u}n.TOKEN_TYPE_OPERATOR="operator",n.TOKEN_TYPE_LITERAL="literal",n.parse=function(r){return u(function(r){for(var n=r.length,e=[],t=0,a="",u="";t<n;){var o=r.charAt(t);switch(o){case">":case"<":case"=":u+=o,a.length>0&&(e.push(a),a="");break;default:u.length>0&&(e.push(u),u=""),a+=o}t++}return a.length>0&&e.push(a),u.length>0&&e.push(u),e}(r))},n.createToken=a,n.compute=function(r){for(var n,e=[],t=0;t<r.length;t++){var a=r[t];switch(a.type){case"operator":n=a.value;break;case"literal":e.push(a.value)}}return function(r,n){var e=!1;switch(n){case">":e=r[0]>r[1];break;case">=":e=r[0]>=r[1];break;case"<":e=r[0]<r[1];break;case"<=":e=r[0]<=r[1];break;case"=":e=r[0]==r[1];break;case"<>":e=r[0]!=r[1]}return e}(e,n)}},function(r,n,e){var t=e(0);n.CELL=function(){throw new Error("CELL is not implemented")},n.ERROR={},n.ERROR.TYPE=function(r){switch(r){case t.nil:return 1;case t.div0:return 2;case t.value:return 3;case t.ref:return 4;case t.name:return 5;case t.num:return 6;case t.na:return 7;case t.data:return 8}return t.na},n.INFO=function(){throw new Error("INFO is not implemented")},n.ISBLANK=function(r){return null===r},n.ISBINARY=function(r){return/^[01]{1,10}$/.test(r)},n.ISERR=function(r){return[t.value,t.ref,t.div0,t.num,t.name,t.nil].indexOf(r)>=0||"number"==typeof r&&(isNaN(r)||!isFinite(r))},n.ISERROR=function(r){return n.ISERR(r)||r===t.na},n.ISEVEN=function(r){return!(1&Math.floor(Math.abs(r)))},n.ISFORMULA=function(){throw new Error("ISFORMULA is not implemented")},n.ISLOGICAL=function(r){return!0===r||!1===r},n.ISNA=function(r){return r===t.na},n.ISNONTEXT=function(r){return"string"!=typeof r},n.ISNUMBER=function(r){return"number"==typeof r&&!isNaN(r)&&isFinite(r)},n.ISODD=function(r){return!!(1&Math.floor(Math.abs(r)))},n.ISREF=function(){throw new Error("ISREF is not implemented")},n.ISTEXT=function(r){return"string"==typeof r},n.N=function(r){return this.ISNUMBER(r)?r:r instanceof Date?r.getTime():!0===r?1:!1===r?0:this.ISERROR(r)?r:0},n.NA=function(){return t.na},n.SHEET=function(){throw new Error("SHEET is not implemented")},n.SHEETS=function(){throw new Error("SHEETS is not implemented")},n.TYPE=function(r){return this.ISNUMBER(r)?1:this.ISTEXT(r)?2:this.ISLOGICAL(r)?4:this.ISERROR(r)?16:Array.isArray(r)?64:void 0}},function(r,n,e){var t=e(0),a=e(1),u=new Date(Date.UTC(1900,0,1)),o=[void 0,0,1,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,1,2,3,4,5,6,0],i=[[],[1,2,3,4,5,6,7],[7,1,2,3,4,5,6],[6,0,1,2,3,4,5],[],[],[],[],[],[],[],[7,1,2,3,4,5,6],[6,7,1,2,3,4,5],[5,6,7,1,2,3,4],[4,5,6,7,1,2,3],[3,4,5,6,7,1,2],[2,3,4,5,6,7,1],[1,2,3,4,5,6,7]],s=[[],[6,0],[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],void 0,void 0,void 0,[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6]];function f(r){return 1===new Date(r,1,29).getMonth()}function l(r,n){return Math.ceil((n-r)/1e3/60/60/24)}function c(r){var n=r>-22038912e5?2:1;return Math.ceil((r-u)/864e5)+n}n.DATE=function(r,n,e){return r=a.parseNumber(r),n=a.parseNumber(n),e=a.parseNumber(e),a.anyIsError(r,n,e)?t.value:r<0||n<0||e<0?t.num:new Date(r,n-1,e)},n.DATEVALUE=function(r){var n,e=2;return"string"!=typeof r?t.value:(n=Date.parse(r),isNaN(n)?t.value:(n<=-22038912e5&&(e=1),Math.ceil((n-u)/864e5)+e))},n.DAY=function(r){var n=a.parseDate(r);return n instanceof Error?n:n.getDate()},n.DAYS=function(r,n){return r=a.parseDate(r),n=a.parseDate(n),r instanceof Error?r:n instanceof Error?n:c(r)-c(n)},n.DAYS360=function(r,n,e){if(e=a.parseBool(e),r=a.parseDate(r),n=a.parseDate(n),r instanceof Error)return r;if(n instanceof Error)return n;if(e instanceof Error)return e;var t,u,o=r.getMonth(),i=n.getMonth();if(e)t=31===r.getDate()?30:r.getDate(),u=31===n.getDate()?30:n.getDate();else{var s=new Date(r.getFullYear(),o+1,0).getDate(),f=new Date(n.getFullYear(),i+1,0).getDate();t=r.getDate()===s?30:r.getDate(),n.getDate()===f?t<30?(i++,u=1):u=30:u=n.getDate()}return 360*(n.getFullYear()-r.getFullYear())+30*(i-o)+(u-t)},n.EDATE=function(r,n){return(r=a.parseDate(r))instanceof Error?r:isNaN(n)?t.value:(n=parseInt(n,10),r.setMonth(r.getMonth()+n),c(r))},n.EOMONTH=function(r,n){return(r=a.parseDate(r))instanceof Error?r:isNaN(n)?t.value:(n=parseInt(n,10),c(new Date(r.getFullYear(),r.getMonth()+n+1,0)))},n.HOUR=function(r){return(r=a.parseDate(r))instanceof Error?r:r.getHours()},n.INTERVAL=function(r){if("number"!=typeof r&&"string"!=typeof r)return t.value;r=parseInt(r,10);var n=Math.floor(r/94608e4);r%=94608e4;var e=Math.floor(r/2592e3);r%=2592e3;var a=Math.floor(r/86400);r%=86400;var u=Math.floor(r/3600);r%=3600;var o=Math.floor(r/60),i=r%=60;return"P"+(n=n>0?n+"Y":"")+(e=e>0?e+"M":"")+(a=a>0?a+"D":"")+"T"+(u=u>0?u+"H":"")+(o=o>0?o+"M":"")+(i=i>0?i+"S":"")},n.ISOWEEKNUM=function(r){if((r=a.parseDate(r))instanceof Error)return r;r.setHours(0,0,0),r.setDate(r.getDate()+4-(r.getDay()||7));var n=new Date(r.getFullYear(),0,1);return Math.ceil(((r-n)/864e5+1)/7)},n.MINUTE=function(r){return(r=a.parseDate(r))instanceof Error?r:r.getMinutes()},n.MONTH=function(r){return(r=a.parseDate(r))instanceof Error?r:r.getMonth()+1},n.NETWORKDAYS=function(r,n,e){return this.NETWORKDAYS.INTL(r,n,1,e)},n.NETWORKDAYS.INTL=function(r,n,e,u){if((r=a.parseDate(r))instanceof Error)return r;if((n=a.parseDate(n))instanceof Error)return n;if(!((e=void 0===e?s[1]:s[e])instanceof Array))return t.value;void 0===u?u=[]:u instanceof Array||(u=[u]);for(var o=0;o<u.length;o++){var i=a.parseDate(u[o]);if(i instanceof Error)return i;u[o]=i}var f=(n-r)/864e5+1,l=f,c=r;for(o=0;o<f;o++){var h=(new Date).getTimezoneOffset()>0?c.getUTCDay():c.getDay(),p=!1;h!==e[0]&&h!==e[1]||(p=!0);for(var m=0;m<u.length;m++){var E=u[m];if(E.getDate()===c.getDate()&&E.getMonth()===c.getMonth()&&E.getFullYear()===c.getFullYear()){p=!0;break}}p&&l--,c.setDate(c.getDate()+1)}return l},n.NOW=function(){return new Date},n.SECOND=function(r){return(r=a.parseDate(r))instanceof Error?r:r.getSeconds()},n.TIME=function(r,n,e){return r=a.parseNumber(r),n=a.parseNumber(n),e=a.parseNumber(e),a.anyIsError(r,n,e)?t.value:r<0||n<0||e<0?t.num:(3600*r+60*n+e)/86400},n.TIMEVALUE=function(r){return(r=a.parseDate