@univerjs/engine-formula 0.2.4-alpha.0 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/lib/cjs/index.js +1 -1
  2. package/lib/es/index.js +6825 -5368
  3. package/lib/types/basics/common.d.ts +2 -0
  4. package/lib/types/commands/mutations/set-feature-calculation.mutation.d.ts +6 -3
  5. package/lib/types/commands/mutations/set-formula-calculation.mutation.d.ts +4 -10
  6. package/lib/types/controller/set-dependency.controller.d.ts +4 -1
  7. package/lib/types/engine/dependency/dependency-tree.d.ts +4 -1
  8. package/lib/types/engine/dependency/formula-dependency.d.ts +1 -0
  9. package/lib/types/engine/value-object/array-value-object.d.ts +1 -0
  10. package/lib/types/engine/value-object/base-value-object.d.ts +1 -0
  11. package/lib/types/engine/value-object/primitive-object.d.ts +3 -0
  12. package/lib/types/functions/date/datedif/__tests__/index.spec.d.ts +16 -0
  13. package/lib/types/functions/date/datedif/index.d.ts +8 -0
  14. package/lib/types/functions/date/days/__tests__/index.spec.d.ts +16 -0
  15. package/lib/types/functions/date/days/index.d.ts +8 -0
  16. package/lib/types/functions/date/days360/__tests__/index.spec.d.ts +16 -0
  17. package/lib/types/functions/date/days360/index.d.ts +8 -0
  18. package/lib/types/functions/date/eomonth/__tests__/index.spec.d.ts +16 -0
  19. package/lib/types/functions/date/eomonth/index.d.ts +8 -0
  20. package/lib/types/functions/date/function-map.d.ts +1 -1
  21. package/lib/types/functions/date/isoweeknum/__tests__/index.spec.d.ts +16 -0
  22. package/lib/types/functions/date/isoweeknum/index.d.ts +9 -0
  23. package/lib/types/functions/date/weeknum/__tests__/index.spec.d.ts +16 -0
  24. package/lib/types/functions/date/weeknum/index.d.ts +9 -0
  25. package/lib/types/functions/date/yearfrac/__tests__/index.spec.d.ts +16 -0
  26. package/lib/types/functions/date/yearfrac/index.d.ts +8 -0
  27. package/lib/types/functions/information/cell/__tests__/index.spec.d.ts +16 -0
  28. package/lib/types/functions/information/cell/index.d.ts +12 -0
  29. package/lib/types/functions/information/error-type/__tests__/index.spec.d.ts +16 -0
  30. package/lib/types/functions/information/error-type/index.d.ts +10 -0
  31. package/lib/types/functions/information/function-map.d.ts +2 -1
  32. package/lib/types/functions/information/type/__tests__/index.spec.d.ts +16 -0
  33. package/lib/types/functions/information/type/index.d.ts +10 -0
  34. package/lib/types/functions/math/ceiling/__tests__/index.spec.d.ts +16 -0
  35. package/lib/types/functions/math/ceiling/index.d.ts +8 -0
  36. package/lib/types/functions/math/ceiling-math/__tests__/index.spec.d.ts +16 -0
  37. package/lib/types/functions/math/ceiling-math/index.d.ts +8 -0
  38. package/lib/types/functions/math/ceiling-precise/__tests__/index.spec.d.ts +16 -0
  39. package/lib/types/functions/math/ceiling-precise/index.d.ts +8 -0
  40. package/lib/types/functions/math/cosh/index.d.ts +1 -1
  41. package/lib/types/functions/math/decimal/__tests__/index.spec.d.ts +16 -0
  42. package/lib/types/functions/math/decimal/index.d.ts +9 -0
  43. package/lib/types/functions/math/degrees/__tests__/index.spec.d.ts +16 -0
  44. package/lib/types/functions/math/degrees/index.d.ts +9 -0
  45. package/lib/types/functions/math/even/__tests__/index.spec.d.ts +16 -0
  46. package/lib/types/functions/math/even/index.d.ts +9 -0
  47. package/lib/types/functions/math/exp/__tests__/index.spec.d.ts +16 -0
  48. package/lib/types/functions/math/exp/index.d.ts +8 -0
  49. package/lib/types/functions/math/floor/__tests__/index.spec.d.ts +16 -0
  50. package/lib/types/functions/math/floor/index.d.ts +8 -0
  51. package/lib/types/functions/math/floor-math/__tests__/index.spec.d.ts +16 -0
  52. package/lib/types/functions/math/floor-math/index.d.ts +8 -0
  53. package/lib/types/functions/math/floor-precise/__tests__/index.spec.d.ts +16 -0
  54. package/lib/types/functions/math/floor-precise/index.d.ts +8 -0
  55. package/lib/types/functions/math/function-map.d.ts +3 -2
  56. package/lib/types/functions/math/ln/__tests__/index.spec.d.ts +16 -0
  57. package/lib/types/functions/math/ln/index.d.ts +8 -0
  58. package/lib/types/functions/math/log/__tests__/index.spec.d.ts +16 -0
  59. package/lib/types/functions/math/log/index.d.ts +8 -0
  60. package/lib/types/functions/math/log10/__tests__/index.spec.d.ts +16 -0
  61. package/lib/types/functions/math/log10/index.d.ts +8 -0
  62. package/lib/types/functions/math/mround/__tests__/index.spec.d.ts +16 -0
  63. package/lib/types/functions/math/mround/index.d.ts +8 -0
  64. package/lib/types/functions/math/odd/__tests__/index.spec.d.ts +16 -0
  65. package/lib/types/functions/math/odd/index.d.ts +9 -0
  66. package/lib/types/functions/math/pi/__tests__/index.spec.d.ts +16 -0
  67. package/lib/types/functions/math/pi/index.d.ts +8 -0
  68. package/lib/types/functions/math/radians/__tests__/index.spec.d.ts +16 -0
  69. package/lib/types/functions/math/radians/index.d.ts +9 -0
  70. package/lib/types/functions/math/rand/__tests__/index.spec.d.ts +16 -0
  71. package/lib/types/functions/math/rand/index.d.ts +8 -0
  72. package/lib/types/functions/math/randarray/__tests__/index.spec.d.ts +16 -0
  73. package/lib/types/functions/math/randarray/index.d.ts +11 -0
  74. package/lib/types/functions/math/randbetween/__tests__/index.spec.d.ts +16 -0
  75. package/lib/types/functions/math/randbetween/index.d.ts +8 -0
  76. package/lib/types/functions/math/round/__tests__/index.spec.d.ts +16 -0
  77. package/lib/types/functions/math/round/index.d.ts +8 -0
  78. package/lib/types/functions/math/rounddown/__tests__/index.spec.d.ts +16 -0
  79. package/lib/types/functions/math/rounddown/index.d.ts +8 -0
  80. package/lib/types/functions/math/roundup/__tests__/index.spec.d.ts +16 -0
  81. package/lib/types/functions/math/roundup/index.d.ts +8 -0
  82. package/lib/types/functions/math/sec/__tests__/index.spec.d.ts +16 -0
  83. package/lib/types/functions/math/sec/index.d.ts +9 -0
  84. package/lib/types/functions/math/sech/__tests__/index.spec.d.ts +16 -0
  85. package/lib/types/functions/math/sech/index.d.ts +9 -0
  86. package/lib/types/functions/math/sqrt/__tests__/index.spec.d.ts +16 -0
  87. package/lib/types/functions/math/sqrt/index.d.ts +8 -0
  88. package/lib/types/functions/math/sqrtpi/__tests__/index.spec.d.ts +16 -0
  89. package/lib/types/functions/math/sqrtpi/index.d.ts +8 -0
  90. package/lib/types/functions/math/sumsq/__tests__/index.spec.d.ts +16 -0
  91. package/lib/types/functions/math/sumsq/index.d.ts +8 -0
  92. package/lib/types/functions/math/sumx2my2/__tests__/index.spec.d.ts +16 -0
  93. package/lib/types/functions/math/sumx2my2/index.d.ts +8 -0
  94. package/lib/types/functions/math/sumx2py2/__tests__/index.spec.d.ts +16 -0
  95. package/lib/types/functions/math/sumx2py2/index.d.ts +8 -0
  96. package/lib/types/functions/math/sumxmy2/__tests__/index.spec.d.ts +16 -0
  97. package/lib/types/functions/math/sumxmy2/index.d.ts +8 -0
  98. package/lib/types/index.d.ts +3 -3
  99. package/lib/types/services/current-data.service.d.ts +10 -0
  100. package/lib/types/services/dependency-manager.service.d.ts +15 -5
  101. package/lib/types/services/feature-calculation-manager.service.d.ts +18 -11
  102. package/lib/umd/index.js +1 -1
  103. package/package.json +6 -6
package/lib/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var ra=Object.defineProperty;var na=(n,i,e)=>i in n?ra(n,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[i]=e;var d=(n,i,e)=>na(n,typeof i!="symbol"?i+"":i,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("@univerjs/core"),yt=require("rxjs"),sa=require("@univerjs/rpc");function As(n,i,e,t,r){for(let s=0,a=n.length;s<a;s++){const o=n[s];if(i!==o.unitId||e!==o.sheetId)continue;const{startRow:u,startColumn:c,endRow:l,endColumn:m}=o.range;if(t>=u&&t<=l&&r>=c&&r<=m)return!0}return!1}var f=(n=>(n.DIV_BY_ZERO="#DIV/0!",n.NAME="#NAME?",n.VALUE="#VALUE!",n.NUM="#NUM!",n.NA="#N/A",n.CYCLE="#CYCLE!",n.REF="#REF!",n.SPILL="#SPILL!",n.CALC="#CALC!",n.ERROR="#ERROR!",n.CONNECT="#GETTING_DATA",n.NULL="#NULL!",n))(f||{});const Pt=new Set(Object.values(f));var Ps=(n=>(n[n.Financial=0]="Financial",n[n.Date=1]="Date",n[n.Math=2]="Math",n[n.Statistical=3]="Statistical",n[n.Lookup=4]="Lookup",n[n.Database=5]="Database",n[n.Text=6]="Text",n[n.Logical=7]="Logical",n[n.Information=8]="Information",n[n.Engineering=9]="Engineering",n[n.Cube=10]="Cube",n[n.Compatibility=11]="Compatibility",n[n.Web=12]="Web",n[n.Array=13]="Array",n[n.Univer=14]="Univer",n[n.User=15]="User",n[n.DefinedName=16]="DefinedName",n))(Ps||{}),ne=(n=>(n.PLUS="+",n.MINUS="-",n.MULTIPLY="*",n.DIVIDED="/",n.CONCATENATE="&",n.POWER="^",n.EQUALS="=",n.NOT_EQUAL="<>",n.GREATER_THAN=">",n.GREATER_THAN_OR_EQUAL=">=",n.LESS_THAN="<",n.LESS_THAN_OR_EQUAL="<=",n))(ne||{}),O=(n=>(n.EQUALS="=",n.NOT_EQUAL="<>",n.GREATER_THAN=">",n.GREATER_THAN_OR_EQUAL=">=",n.LESS_THAN="<",n.LESS_THAN_OR_EQUAL="<=",n))(O||{});const ir=new Map([["<>",3],["<",3],[">=",3],["=",3],[">",3],["<=",3],["&",2],["+",2],["-",2],["/",1],["*",1],["^",0]]),ft=new Set(ir.keys()),ia=new Set(["=","<>",">",">=","<","<="]);var z=(n=>(n.OPEN_BRACKET="(",n.CLOSE_BRACKET=")",n.COMMA=",",n.SINGLE_QUOTATION="'",n.DOUBLE_QUOTATION='"',n.OPEN_BRACES="{",n.CLOSE_BRACES="}",n.COLON=":",n.OPEN_SQUARE_BRACKET="[",n.CLOSE_SQUARE_BRACKET="]",n))(z||{}),Ge=(n=>(n.PERCENTAGE="%",n.POUND="#",n))(Ge||{});const aa=new Set(["%","#"]);var pe=(n=>(n.AT="@",n.MINUS="-",n))(pe||{});const oa=" ",Ls=[...Object.values(O),...Object.values(ne),...Object.values(z),...Object.values(Ge),...Object.values(pe)];function Ft(n){return Ls.includes(n)}function xs(n){for(const i of Ls)if(n.indexOf(i)>-1)return!0;return!1}function ua(n){return n[0]==="'"&&n[n.length-1]==="'"?n.substring(1,n.length-1):n}function ca(n){return Ft(n)&&n!==z.CLOSE_BRACES&&n!==z.CLOSE_BRACKET&&n!==z.SINGLE_QUOTATION&&n!==z.DOUBLE_QUOTATION||n===" "}function Vs(n){const i={};return Object.keys(n).forEach(e=>{const t=n[e];if(t==null)return!0;i[e]==null&&(i[e]={}),Object.keys(t).forEach(r=>{const s=t[r];i[e][r]=new C.ObjectMatrix(s)})}),i}function la(n){const i={};return Object.keys(n).forEach(e=>{const t=n[e];if(t==null)return!0;i[e]==null&&(i[e]={}),Object.keys(t).forEach(r=>{const s=t[r];i[e][r]=s.getData()})}),i}const ze="P_1",nt="R_1",Dt="L_1",Yt="LR_1",ws="LO_1",fa="LET",kt="LAMBDA",ha="CUBE";class G{constructor(){d(this,"_parent");d(this,"_token",nt);d(this,"_children",[]);d(this,"_lambdaId");d(this,"_functionDefinitionPrivacyVar");d(this,"_lambdaParameter","");d(this,"_startIndex",-1);d(this,"_endIndex",-1);d(this,"_definedNames",[])}dispose(){var i;this._children.forEach(e=>{typeof e!="string"&&e.dispose()}),(i=this._functionDefinitionPrivacyVar)==null||i.clear(),this._parent=null}getDefinedNames(){return this._definedNames}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(i){this._lambdaId=i}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(i){this._functionDefinitionPrivacyVar=i}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(i){this._lambdaParameter=i}getParent(){return this._parent}setParent(i){this._parent=i}getChildren(){return this._children}setChildren(i){this._children=i}addChildren(i){this._children.push(i)}addChildrenFirst(i){this._children.unshift(i)}getToken(){return this._token}setToken(i){this._token=i}setIndex(i,e){this._startIndex=i,this._endIndex=e}setDefinedNames(i){this._definedNames=i}hasDefinedNames(){return this._definedNames.length>0}replaceChild(i,e){const t=this._getIndexInParent(i);t!=null&&(this.getChildren().splice(t,1,e),e.setParent(this))}changeToParent(i){const e=this.getParent();e&&e.removeChild(this),this.setParent(i),i.getChildren().push(this)}removeChild(i){const e=this._getIndexInParent(i);e!=null&&this.getChildren().splice(e,1)}serialize(){const i=this.getToken(),e=this.getChildren(),t=[],r=e.length;for(let s=0;s<r;s++){const a=e[s];a instanceof G?t.push(a.serialize()):t.push(a)}return{token:i,st:this._startIndex,ed:this._endIndex,children:t}}_getIndexInParent(i){const e=this.getChildren(),t=e.length;for(let r=0;r<t;r++)if(e[r]===i)return r}}class Rt{constructor(i){d(this,"_cache");this._cache=new C.LRUMap(i)}set(i,e){const t=this._hash(i);this._cache.set(t,e)}get(i){const e=this._hash(i);return this._cache.get(e)}clear(){this._cache.clear()}_hash(i){return C.hashAlgorithm(i)}}const sn='\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]',ma="((?![\\[\\]\\/?*\\\\]).)*!",st="$",fn="\\s*?:\\s*?",mr="[A-Za-z]+",dr="[1-9][0-9]*",Lt=`'?(${sn})?(${ma})?'?`,an=`\\${st}?${mr}\\${st}?${dr}`,da=`^(${pe.AT})?${Lt}${an}${fn}${an}$`,Ht=`^${Lt}\\s*?${an}(${Ge.POUND})?$`,Us=`^${Lt}\\${st}?${dr}${fn}\\${st}?${dr}$`,Os=`^${Lt}\\${st}?${mr}${fn}\\${st}?${mr}$`,Ms=`^${Lt}\\s*?\\${st}?${dr}$`,Fs=`^${Lt}\\s*?\\${st}?${mr}$`,vs="[.*?]",ga="{.*?}";function Bs(n){return new RegExp(Ht).test(n)||new RegExp(da).test(n)||new RegExp(Us).test(n)||new RegExp(Os).test(n)}var Pe=(n=>(n[n.NORMAL=0]="NORMAL",n[n.NUMBER=1]="NUMBER",n[n.STRING=2]="STRING",n[n.FUNCTION=3]="FUNCTION",n[n.REFERENCE=4]="REFERENCE",n[n.ARRAY=5]="ARRAY",n[n.DEFINED_NAME=6]="DEFINED_NAME",n))(Pe||{});function gr(n){let i="";for(const e of n)typeof e=="string"?i+=e:i+=e.token;return i}const pa=/[^0-9]/g,Ra=/[^A-Za-z]/g;function vt(n){let i=n[0]==="$";const e=n.substring(1);let t=e.indexOf("$")>-1;return C.Tools.isStringNumber(e)&&i&&!t&&(i=!1,t=!0),i&&t?C.AbsoluteRefType.ALL:i?C.AbsoluteRefType.COLUMN:t?C.AbsoluteRefType.ROW:C.AbsoluteRefType.NONE}function _a(n){const i=n.split("!");i.length>1&&(n=i[i.length-1]);const e=n.split(":");return e.length>1?{startAbsoluteRefType:vt(e[0]),endAbsoluteRefType:vt(e[1])}:{startAbsoluteRefType:vt(e[0])}}function Hn(n=C.AbsoluteRefType.NONE){let i="",e="";return n===C.AbsoluteRefType.ROW?i="$":n===C.AbsoluteRefType.COLUMN?e="$":n===C.AbsoluteRefType.ALL&&(i="$",e="$"),{rowAbsoluteString:i,columnAbsoluteString:e}}function Xe(n){const{startColumn:i,startRow:e,endColumn:t,endRow:r,startAbsoluteRefType:s,endAbsoluteRefType:a,rangeType:o=C.RANGE_TYPE.NORMAL}=n,u=Hn(s),c=Hn(a);if(o===C.RANGE_TYPE.ROW||o===C.RANGE_TYPE.ALL){const g=`${u.rowAbsoluteString}${e+1}`,p=`${c.rowAbsoluteString}${r+1}`;return`${g}:${p}`}if(o===C.RANGE_TYPE.COLUMN){const g=`${u.columnAbsoluteString}${C.Tools.chatAtABC(i)}`,p=`${c.columnAbsoluteString}${C.Tools.chatAtABC(t)}`;return`${g}:${p}`}const l=`${u.columnAbsoluteString}${C.Tools.chatAtABC(i)}${u.rowAbsoluteString}${e+1}`,m=`${c.columnAbsoluteString}${C.Tools.chatAtABC(t)}${c.rowAbsoluteString}${r+1}`;return l===m?l:`${l}:${m}`}function Ts(n,i){return Rr(n)?`'${n}'!${Xe(i)}`:`${n}!${Xe(i)}`}function ks(n,i,e){return Rr(n)||Rr(i)?`'[${n}]${i}'!${Xe(e)}`:`[${n}]${i}!${Xe(e)}`}function gt(n){const{unitId:i,sheetName:e,range:t}=n;return i!=null&&i.length>0&&e!=null&&e.length>0?ks(i,e,t):e!=null&&e.length>0?Ts(e,t):Xe(t)}function ar(n){const i=Number.parseInt(n.replace(pa,""))-1,e=C.Tools.ABCatNum(n.replace(Ra,"")),t=vt(n);return{row:i,column:e,absoluteRefType:t}}function Is(n){const i=new RegExp(sn).exec(n);let e="";i!=null&&(e=i[0].trim(),e=e.slice(1,e.length-1),n=n.replace(new RegExp(sn),""));const t=n.indexOf("!");let r="",s="";return t>-1?(r=n.substring(0,t),r[0]==="'"&&r[r.length-1]==="'"&&(r=r.substring(1,r.length-1)),s=n.substring(t+1)):s=n,{refBody:s,sheetName:r,unitId:e}}function je(n){const{refBody:i,sheetName:e,unitId:t}=Is(n),r=i.indexOf(":");if(r===-1){const R=ar(i),b=R.row,P=R.column,w=R.absoluteRefType;return{unitId:t,sheetName:e,range:{startRow:b,startColumn:P,endRow:b,endColumn:P,startAbsoluteRefType:w,endAbsoluteRefType:w}}}const s=i.substring(0,r),a=i.substring(r+1),o=ar(s),u=ar(a),c=o.row,l=o.column,m=u.row,g=u.column;let p=C.RANGE_TYPE.NORMAL;return Number.isNaN(c)&&Number.isNaN(m)?p=C.RANGE_TYPE.COLUMN:Number.isNaN(l)&&Number.isNaN(g)&&(p=C.RANGE_TYPE.ROW),{unitId:t,sheetName:e,range:{startRow:c,startColumn:l,endRow:m,endColumn:g,startAbsoluteRefType:o.absoluteRefType,endAbsoluteRefType:u.absoluteRefType,rangeType:p}}}function pr(n){if(!Bs(n))return!1;const{range:i}=je(n);return!(i.endColumn>=16384)}function Ea(n,i){const e=(n==null?void 0:n.split(","))||[];return n===""||e.length===0?[]:js(n)?e.map(s=>{const a=je(s);return{unitId:a.unitId,sheetId:i(a.sheetName),range:a.range,sheetName:a.sheetName}}):[]}function js(n){return((n==null?void 0:n.split(","))||[]).every(e=>pr(e.trim()))}function Rr(n){return n.length===0?!1:!!(xs(n)||Ca(n)||ya(n)||Da(n)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?]/.test(n))}function Ca(n){const i=n.match(/[1-9][0-9]{0,6}/);return/^[A-Z]+[1-9][0-9]{0,6}$/.test(n)&&i!==null}function ya(n){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(n)}function Da(n){return!new RegExp("^\\p{Letter}","u").test(n.charAt(0))}const $s=1e5,Gr=new Rt($s),Xr=new Rt($s);class Ur extends C.Disposable{constructor(){super(...arguments);d(this,"_currentLexerNode",new G);d(this,"_upLevel",0);d(this,"_segment","");d(this,"_bracketState",[]);d(this,"_squareBracketState",0);d(this,"_bracesState",0);d(this,"_singleQuotationState",0);d(this,"_doubleQuotationState",0);d(this,"_lambdaState",!1);d(this,"_colonState",!1);d(this,"_tableBracketState",!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),Gr.clear(),Xr.clear()}getUpLevel(){return this._upLevel}isColonClose(){return this._colonState===!1}isColonOpen(){return this._colonState===!0}isDoubleQuotationClose(){return this._doubleQuotationState===0}isLambdaOpen(){return this._lambdaState===!0}isLambdaClose(){return this._lambdaState===!1}isSingleQuotationClose(){return this._singleQuotationState===0}isBracesClose(){return this._bracesState===0}isBracketClose(){return this._bracketState.length===0}isSquareBracketClose(){return this._squareBracketState===0}getCurrentLexerNode(){return this._currentLexerNode}getFunctionAndParameter(e,t){const r=this._getCurrentParamIndex(e,t);if(r==null||r===f.VALUE)return;const s=r[0];if(typeof s=="string")return;let a=s.getParent(),o=s;for(;a;){const u=a.getToken();if(u!==ze&&!Ft(u)&&a.getStartIndex()!==-1){const c=a.getChildren().indexOf(o);return{functionName:u,paramIndex:c}}o=a,a=a.getParent()}}checkIfAddBracket(e){let t=0,r=e.length-1,s=e[r];for(;(s===z.CLOSE_BRACKET||s===" ")&&r>=0;)s===z.CLOSE_BRACKET&&t++,s=e[--r];const a=this._getCurrentParamIndex(e,e.length-2);if(a==null||a===f.VALUE)return 0;const o=a[0];if(typeof o=="string")return 0;let u=o.getParent(),c=0;for(a[1]===z.OPEN_BRACKET&&c++;u;){const l=u.getToken();l!==ze&&l!==z.COLON&&u.getStartIndex()!==-1&&l.toUpperCase()!==kt&&(t===0?c+=1:t--),u=u.getParent()}return c}sequenceNodesBuilder(e){const t=Xr.get(e);if(t)return[...t];const r=this._getSequenceArray(e);if(r.length===0)return;const s=this.getSequenceNode(r);return Xr.set(e,[...s]),s}convertRefersToAbsolute(e,t,r){const s=this.sequenceNodesBuilder(e);if(s==null)return e;let a="";e.substring(0,1)===ne.EQUALS&&(a=ne.EQUALS);for(let o=0,u=s.length;o<u;o++){const c=s[o];if(typeof c!="string"&&c.nodeType===Pe.REFERENCE){const{token:l,endIndex:m}=c,g=je(l);if(g==null)continue;const{range:p,sheetName:R,unitId:b}=g,P={...p,startAbsoluteRefType:t,endAbsoluteRefType:r},w=gt({range:P,unitId:b,sheetName:R}),v=w.length-l.length;s[o]={...c,token:w,endIndex:m+v};for(let B=o+1;B<u;B++){const X=s[B];typeof X!="string"&&(X.startIndex+=v,X.endIndex+=v)}}}return`${a}${gr(s)}`}moveFormulaRefOffset(e,t,r,s=!1){const a=this.sequenceNodesBuilder(e);if(a==null)return e;const o=[];for(let u=0,c=a.length;u<c;u++){const l=a[u];if(typeof l=="string"||l.nodeType!==Pe.REFERENCE){o.push(l);continue}const{token:m}=l,g=je(m),{sheetName:p,unitId:R}=g;let b=g.range;if(!s&&b.startAbsoluteRefType===C.AbsoluteRefType.ALL&&b.endAbsoluteRefType===C.AbsoluteRefType.ALL){o.push(l);continue}else b=C.moveRangeByOffset(b,t,r,s);let P="";C.isValidRange(b)?P=gt({range:b,unitId:R,sheetName:p}):P=f.REF,o.push({...l,token:P})}return`=${gr(o)}`}getSequenceNode(e){const t=[];let r=!1;for(let s=0,a=e.length;s<a;s++){const o=e[s],u=e[s-1],{segment:c,currentString:l}=o;if(l===z.DOUBLE_QUOTATION&&(r=!0),(c!==""||s===0)&&s!==a-1){t.push(l);continue}let m=(u==null?void 0:u.segment)||"",g=s-m.length,p=s-1,R=s-1;if(s===a-1&&this._isLastMergeString(l)&&(m+=l,p+=1),m===""||ir.has(m)){t.push(l);continue}const b=m.trim(),P=this._replacePrefixString(b);if(r===!0&&b[b.length-1]===z.DOUBLE_QUOTATION)r=!1,this._processPushSequenceNode(t,Pe.STRING,m,g,p,R);else if(new RegExp(Ht).test(P)&&pr(P)){if(P.length!==b.length){const w=b.length-P.length;R+=w,g+=w,m=this._replacePrefixString(m)}this._processPushSequenceNode(t,Pe.REFERENCE,m,g,p,R)}else C.Tools.isStringNumber(b)?this._processPushSequenceNode(t,Pe.NUMBER,m,g,p,R):b.length>0&&this._processPushSequenceNode(t,Pe.FUNCTION,m,g,p,R);(s!==a-1||!this._isLastMergeString(l))&&t.push(l)}return this._mergeSequenceNodeReference(t)}_processPushSequenceNode(e,t,r,s,a,o){this._pushSequenceNode(e,{nodeType:t,token:r,startIndex:s,endIndex:a},o)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===z.DOUBLE_QUOTATION||C.Tools.isStringNumber(e)||!Ft(e)}_mergeSequenceNodeReference(e){const t=[],r=e.length;let s=0;for(;s<r;){const a=e[s];if(typeof a=="string"){const o=e[s-1];if(a.trim()===z.CLOSE_BRACES&&o!=null&&typeof o!="string"&&o.nodeType===Pe.FUNCTION&&o.token.trim().substring(0,1)===z.OPEN_BRACES){o.nodeType=Pe.ARRAY,o.token+=a,o.endIndex+=a.length,s++;continue}t.push(a)}else{const o=e[s+1],u=e[s+2];o===z.COLON&&typeof a!="string"&&u!=null&&typeof u!="string"&&pr((a.token+o+u.token).trim())&&(a.nodeType=Pe.REFERENCE,a.token+=o+u.token,a.endIndex=u.endIndex,s+=2),t.push(a)}s++}return t}_pushSequenceNode(e,t,r){const s=r-t.startIndex+1;e.splice(e.length-s,s,t)}_replacePrefixString(e){const t=[];let r=!1;for(let s=0,a=e.length;s<a;s++){const o=e[s];if(o===oa&&!r)t.push(o);else{if(!r&&(o===pe.AT||o===pe.MINUS))continue;t.push(o),r=!0}}return t.join("")}nodeMakerTest(e){return this._nodeMaker(e)}treeBuilder(e,t=!0,r,s){if(t===!0){const g=Gr.get(e),p=s==null?void 0:s(e);if(g&&!p)return g}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(nt);const a=[];let o=this._nodeMaker(e,a);if(o===f.VALUE||a.length===0)return o;let u=!1,c="",l=[];if(r){const{hasDefinedName:g,sequenceString:p,definedNames:R}=r(a);u=g,c=p,l=R}if(u&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(nt),o=this._nodeMaker(`=${c}`),o===f.VALUE))return o;const m=this._getTopNode(this._currentLexerNode);if(m&&(this._currentLexerNode=m),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return f.VALUE;Gr.set(e,this._currentLexerNode)}return u&&this._currentLexerNode.setDefinedNames(l),this._currentLexerNode}_suffixExpressionHandler(e){var o;const t=e.getChildren();if(!t)return!1;const r=t.length,s=[],a=[];for(let u=0;u<r;u++){const c=t[u];if(c instanceof G)this._suffixExpressionHandler(c),s.push(c);else{const l=c.trim();if(l==="")continue;if(ft.has(l)){if(l===ne.PLUS&&this._deletePlusForPreNode(t[u-1]))continue;if(l!==ne.PLUS&&l!==ne.MINUS&&this._deletePlusForPreNode(t[u-1]))return!1;for(;a.length>0;){const m=(o=a[a.length-1])==null?void 0:o.trim();if(!m||m===z.OPEN_BRACKET)break;const g=ir.get(m),p=ir.get(l);if(!g||!p)break;if(p>=g)s.push(a.pop());else break}a.push(c)}else if(l===z.OPEN_BRACKET)a.push(c);else if(l===z.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(s,a,t,u);else{if(this._checkCloseBracket(t[u-1]))return!1;s.push(c)}}}return this._processSuffixExpressionRemain(s,a,e)}_processSuffixExpressionRemain(e,t,r){const s=e.length,a=e[s-1];for(;t.length>0;){const o=t.pop();if(!(a instanceof G)&&(o===z.OPEN_BRACKET||o===z.CLOSE_BRACKET))return!1;e.push(o)}return r.setChildren(e),!0}_processSuffixExpressionCloseBracket(e,t,r,s){var a;if(this._checkOpenBracket(r[s-1])||this._checkOperator(r[s-1]))return!1;for(;t.length>0;){const o=(a=t[t.length-1])==null?void 0:a.trim();if(!o)break;if(o===z.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===z.CLOSE_BRACKET}_checkOpenBracket(e){return e===z.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof G?!1:ft.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof G)){const t=e.trim();if(ft.has(t)||t===z.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new G}_resetSegment(){this._segment=""}_openBracket(e=0){this._bracketState.push(e)}_closeBracket(){this._bracketState.pop()}_openSquareBracket(){this._squareBracketState+=1}_closeSquareBracket(){this._squareBracketState-=1}_getCurrentBracket(){const e=this._bracketState;return e[e.length-1]}_changeCurrentBracket(e){const t=this._bracketState;t[t.length-1]=e}_openBraces(){this._bracesState+=1}_closeBraces(){this._bracesState-=1}_openSingleQuotation(){this._singleQuotationState+=1}_closeSingleQuotation(){this._singleQuotationState-=1}_openDoubleQuotation(){this._doubleQuotationState+=1}_closeDoubleQuotation(){this._doubleQuotationState-=1}_openLambda(){this._lambdaState=!0}_closeLambda(){this._lambdaState=!1}_openColon(e){this._upLevel=e,this._colonState=!0}_closeColon(){this._upLevel=0,this._colonState=!1}_isTableBracket(){return this._tableBracketState}_openTableBracket(){this._tableBracketState=!0}_closeTableBracket(){this._tableBracketState=!1}_getLastChildCurrentLexerNode(){const e=this._currentLexerNode.getChildren();if(e&&e.length>0){const t=e[e.length-1];if(t instanceof G)return t}return!1}_getLastChildCurrent(){const e=this._currentLexerNode.getChildren();return e&&e.length>0?e[e.length-1]:!1}_setParentCurrentLexerNode(){const e=this._currentLexerNode.getParent();return e?(this._currentLexerNode=e,!0):!1}_setAncestorCurrentLexerNode(){var r,s,a,o,u,c;const e=(r=this._currentLexerNode)==null?void 0:r.getParent();let t=!1;if(e&&e.getToken()===Dt){if((s=e==null?void 0:e.getParent())!=null&&s.getParent()){const l=(o=(a=this._currentLexerNode.getParent())==null?void 0:a.getParent())==null?void 0:o.getParent();l&&(this._currentLexerNode=l),t=!0}}else if(e!=null&&e.getParent()){const l=(u=this._currentLexerNode.getParent())==null?void 0:u.getParent();l&&(this._currentLexerNode=l),t=!0}for(let l=0;l<this._upLevel;l++){const m=(c=this._currentLexerNode)==null?void 0:c.getParent();m&&(this._currentLexerNode=m),this._currentLexerNode?t=!0:t=!1}return t}_segmentCount(){return this._segment.trim().length}_pushSegment(e){this._segment+=e}_pushNodeToChildren(e,t=!1){if(e!==""){const r=this._currentLexerNode.getChildren();if(!(e instanceof G)&&this.isColonOpen()){const s=new G;s.setToken(e),s.setParent(this._currentLexerNode),e=s}t?r.unshift(e):r.push(e)}this.isColonOpen()&&(this._setAncestorCurrentLexerNode(),this._closeColon())}_setCurrentLexerNode(e,t=!1){this._pushNodeToChildren(e,t),e.setParent(this._currentLexerNode),this._currentLexerNode=e}_newAndPushCurrentLexerNode(e,t,r=!1){const s=new G;s.setToken(e),s.setIndex(t-e.length,t-1),this._setCurrentLexerNode(s,r)}_getTopNode(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}_removeLastChild(){this._currentLexerNode.getChildren().splice(-1)}_findPreviousToken(e,t){for(;t>=0;){const r=e[t];if(r!==" ")return r;t--}}_negativeCondition(e){return!!(ft.has(e)||e===z.OPEN_BRACKET||e===z.COMMA||e==="")}_getSequenceArray(e){const t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new G,this._upLevel=0,this._segment="",this._bracketState=[],this._bracesState=0,this._singleQuotationState=0,this._doubleQuotationState=0,this._lambdaState=!1,this._colonState=!1}_checkSimilarErrorToken(e,t,r){if(e!==Ge.POUND)return!0;let s=r[++t];for(;s===" ";)s=r[++t];return!!Ft(s)}_nodeMaker(e,t,r){e.substring(0,1)===ne.EQUALS&&(e=e.substring(1));let s=!1;e.substring(0,1)===ne.MINUS&&(e=`0${e}`,s=!0);const a=e.split(""),o=a.length;let u=0;for(this._resetTemp();u<o;){const c=a[u];if(r===u)return[this._currentLexerNode,c];if(c===z.OPEN_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())if(this._segmentCount()>0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,u),this._resetSegment()),this._openBracket(1),this._closeLambda();const l=a[u+1];if(l&&l===z.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return f.VALUE;this._addSequenceArray(t,c,u,s),u++,this._addSequenceArray(t,l,u,s),u++,this._closeBracket();continue}else l&&this._newAndPushCurrentLexerNode(ze,u)}else this._pushNodeToChildren(c),this._openBracket(0);else if(c===z.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._pushNodeToChildren(this._segment),this._resetSegment();const l=this._getCurrentBracket();if(l===0)this._pushNodeToChildren(c);else if(l===1){const m=a[u+1];if(m&&m===z.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return f.VALUE;this._newAndPushCurrentLexerNode(Dt,u,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&u!==o-1)return f.VALUE}else return f.VALUE;this._closeBracket()}else if(c===z.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(c),this._openBraces();else if(c===z.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(c),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(c===z.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(c),this._openSquareBracket();else if(c===z.CLOSE_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._closeSquareBracket(),this.isSquareBracketClose()?(this._pushSegment(c),this._isTableBracket()&&(this._pushNodeToChildren(this._segment),this._resetSegment()),this._closeTableBracket()):this._pushSegment(c);else if(c===z.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{const l=a[u+1];l&&l===z.DOUBLE_QUOTATION?u++:this._closeDoubleQuotation()}this._pushSegment(c)}else if(c===z.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation();else{const l=a[u+1];l&&l===z.SINGLE_QUOTATION?u++:this._closeSingleQuotation()}this._pushSegment(c)}else if(c===z.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const l=this._getCurrentBracket();if(l===1||l==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&u!==o-1&&l!=null)return f.VALUE;this._newAndPushCurrentLexerNode(ze,u)}else{const m=new G;m.setToken(ha);const g=new G;g.setToken(ze),g.changeToParent(m);const p=this._currentLexerNode.getParent();if(p&&p.getToken()===z.COLON){const R=p.getParent();if(!R)return f.VALUE;p.changeToParent(g),R.setChildren([]),m.changeToParent(R)}else return f.VALUE;this._changeCurrentBracket(1),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=m,this._newAndPushCurrentLexerNode(ze,u)}}else if(c===z.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const l=new G;l.setToken(c);const m=new G;m.setToken(ze),m.setParent(l);const g=new G;g.setToken(ze),g.setParent(l),l.getChildren().push(m,g);let p=l,R=0;if(this._segmentCount()>0){let b,P,w=0;const v=this._segment.trim(),B=v[0],X=v[1];if(B===pe.MINUS&&(b=new G,b.setToken(pe.MINUS),w++),(B===pe.AT||X===pe.AT)&&(P=new G,P.setToken(pe.AT),b&&(b.addChildren(P),P.setParent(b)),w++),w>0&&(this._segment=v.slice(w)),R=w,P)if(P.addChildren(l),l.setParent(P),P.getParent()){const de=P.getParent();de&&(p=de)}else p=P;else b&&(p=b,b.addChildren(l),l.setParent(b));const oe=new G;oe.setToken(this._segment),oe.setParent(m),m.getChildren().push(oe),this._resetSegment()}else{const b=this._getLastChildCurrentLexerNode();b&&b.changeToParent(m)}this._setCurrentLexerNode(p),this._currentLexerNode=g,this._openColon(R)}else if(aa.has(c)&&this._checkSimilarErrorToken(c,u,a)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){this._pushNodeToChildren(this._segment);const l=new G;l.setToken(c);const m=this._getLastChildCurrent();m instanceof G?m.changeToParent(l):m!==!1&&(l.getChildren().push(m),this._removeLastChild()),this._pushNodeToChildren(l),l.setParent(this._currentLexerNode),this._resetSegment()}else if(ft.has(c)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){let l=this._segment.trim();if(c===ne.MINUS&&l===""){const m=this._findPreviousToken(a,u-1)||"";if(this._negativeCondition(m)){this._pushSegment(ne.MINUS),this._addSequenceArray(t,c,u,s),u++;continue}}else if(this._segment.length>0&&this._isScientificNotation(a,u,c)){this._pushSegment(c),this._addSequenceArray(t,c,u,s),u++;continue}else this._segment.length>0&&l===""?l=this._segment:(this._pushNodeToChildren(this._segment),l="");if(c===ne.LESS_THAN||c===ne.GREATER_THAN){const m=a[u+1];if(m&&ft.has(c+m)){this._pushNodeToChildren(l+c+m),this._resetSegment(),this._addSequenceArray(t,c,u,s),u++,this._addSequenceArray(t,m,u,s),u++;continue}else this._pushNodeToChildren(l+c)}else this._pushNodeToChildren(l+c);this._resetSegment()}else this._pushSegment(c);this._addSequenceArray(t,c,u,s),u++}this._pushNodeToChildren(this._segment)}_isScientificNotation(e,t,r){const s=e[t-2];if(s&&Number.isNaN(Number(s))||!(r===ne.MINUS||r===ne.PLUS))return!1;const a=e[t+1];if(a&&Number.isNaN(Number(a)))return!1;const o=e[t-1];return o&&o.toUpperCase()==="E"}_addSequenceArray(e,t,r,s){s&&r===0||e==null||e.push({segment:this._segment,currentString:t,cur:r,currentLexerNode:this._currentLexerNode})}}class Or extends C.Disposable{constructor(){super(...arguments);d(this,"pattern","")}getPattern(){return this.pattern}setPattern(e){this.pattern=e}isError(){return!1}isAsyncObject(){return!1}isAsyncArrayObject(){return!1}isReferenceObject(){return!1}isArray(){return!1}isValueObject(){return!1}isEqualType(e){return!1}}var it=(n=>(n.FALSE="FALSE",n.TRUE="TRUE",n))(it||{}),dt=(n=>(n[n.SUCCESS=0]="SUCCESS",n[n.ERROR=1]="ERROR",n))(dt||{}),ht=(n=>(n.ALL="#All",n.DATA="#Data",n.HEADERS="#Headers",n.TOTALS="#Totals",n))(ht||{}),Be=(n=>(n[n.FRONT=0]="FRONT",n[n.BACK=1]="BACK",n))(Be||{});class ba{constructor(){d(this,"_cache",new Map);d(this,"_continueBuildingCache",new Map)}set(i,e,t,r,s){if(!this.shouldContinueBuildingCache(i,e,t,s))return;let a=this._cache.get(i);a==null&&(a=new Map,this._cache.set(i,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let u=o.get(t);u==null&&(u=new Map,o.set(t,u));let c=u.get(r);c==null&&(c=new Set,u.set(r,c)),c.add(s)}getCellValuePositions(i,e,t){var r,s;return(s=(r=this._cache.get(i))==null?void 0:r.get(e))==null?void 0:s.get(t)}getCellPositions(i,e,t,r){var s,a,o;return(o=(a=(s=this._cache.get(i))==null?void 0:s.get(e))==null?void 0:a.get(t))==null?void 0:o.get(r)}getCellPosition(i,e,t,r,s,a){const o=this.getCellPositions(i,e,t,r);if(o!=null){for(const u of o)if(u>=s&&u<=a)return u}}setContinueBuildingCache(i,e,t,r,s){let a=this._continueBuildingCache.get(i);a==null&&(a=new Map,this._continueBuildingCache.set(i,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let u=o.get(t);if(u==null){u={startRow:r,endRow:s},o.set(t,u);return}u.startRow=Math.min(u.startRow,r),u.endRow=Math.max(u.endRow,s)}shouldContinueBuildingCache(i,e,t,r){var u,c;const s=(c=(u=this._continueBuildingCache.get(i))==null?void 0:u.get(e))==null?void 0:c.get(t);if(s==null)return!0;const{startRow:a,endRow:o}=s;return!(r>=a&&r<=o)}canUseCache(i,e,t,r,s){var c,l;if(t===-1||r===-1||s===-1)return!1;const a=(l=(c=this._continueBuildingCache.get(i))==null?void 0:c.get(e))==null?void 0:l.get(t);if(a==null)return!1;const{startRow:o,endRow:u}=a;return!(r>u||s<o)}clear(){this._cache.clear(),this._continueBuildingCache.clear()}}const tt=new ba;var We=(n=>(n[n.MIN=0]="MIN",n[n.MAX=1]="MAX",n))(We||{}),Le=(n=>(n[n.NORMAL=0]="NORMAL",n[n.MIN=1]="MIN",n[n.MAX=2]="MAX",n))(Le||{});function Qn(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(n,i)=>n.localeCompare(i)}function Sa(n){return n.indexOf("*")>-1||n.indexOf("?")>-1}function Kr(n,i){const e=Pa(i).replace(/~?[*?]/g,r=>r.startsWith("~")?`\\${r.substring(1)}`:r==="*"?".*":r==="?"?".":r);return new RegExp(`^${e}$`).test(n)}function zn(n){return n.replace(/~?[*?]/g,i=>i.startsWith("~")?i.substring(1):" ")}function Aa(n,i,e){let t=!1;switch(e){case O.EQUALS:t=Kr(n,i);break;case O.NOT_EQUAL:t=!Kr(n,i);break;case O.GREATER_THAN:case O.GREATER_THAN_OR_EQUAL:t=Kr(n,i)||n>zn(i);break;case O.LESS_THAN:case O.LESS_THAN_OR_EQUAL:t=n<zn(i);break}return t}function Pa(n){return n.replace(/[.+^${}()|[\]\\]/g,"\\$&")}class Ke extends Or{constructor(i){super(),this._rawValue=i}isValueObject(){return!0}toUnitRange(){return{range:{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1},sheetId:"",unitId:""}}getValue(){return 0}getArrayValue(){return[]}setValue(i){}setArrayValue(i){}isCube(){return!1}isString(){return!1}isNumber(){return!1}isBoolean(){return!1}isLambda(){return!1}isError(){return!1}isNull(){return!1}sum(){return h.create(f.VALUE)}max(){return h.create(f.VALUE)}min(){return h.create(f.VALUE)}count(){return h.create(f.VALUE)}countA(){return h.create(f.VALUE)}countBlank(){return h.create(f.VALUE)}getNegative(){return h.create(f.VALUE)}getReciprocal(){return h.create(f.VALUE)}plus(i){return h.create(f.VALUE)}minus(i){return h.create(f.VALUE)}multiply(i){return h.create(f.VALUE)}divided(i){return h.create(f.VALUE)}mod(i){return h.create(f.VALUE)}map(i){return h.create(f.NAME)}mapValue(i){return h.create(f.NAME)}compare(i,e,t=!1){return h.create(f.NAME)}isEqual(i){return this.compare(i,O.EQUALS)}isNotEqual(i){return this.compare(i,O.NOT_EQUAL)}isGreaterThanOrEqual(i){return this.compare(i,O.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(i){return this.compare(i,O.LESS_THAN_OR_EQUAL)}isLessThan(i){return this.compare(i,O.LESS_THAN)}isGreaterThan(i){return this.compare(i,O.GREATER_THAN)}concatenateFront(i){return h.create(f.NAME)}concatenateBack(i){return h.create(f.NAME)}plusBy(i){return h.create(f.VALUE)}minusBy(i){return h.create(f.VALUE)}multiplyBy(i){return h.create(f.VALUE)}dividedBy(i){return h.create(f.VALUE)}modInverse(i){return h.create(f.VALUE)}compareBy(i,e){return h.create(f.NAME)}concatenate(i,e=Be.FRONT){let t=this.getValue().toString();if(typeof i=="string")e===Be.FRONT?t=i+t:t+=i;else if(typeof i=="number")e===Be.FRONT?t=i.toString()+t:t+=i.toString();else if(typeof i=="boolean"){const r=i?"TRUE":"FALSE";e===Be.FRONT?t=r+t:t+=r}return t}pow(i){return h.create(f.VALUE)}powInverse(i){return h.create(f.VALUE)}sqrt(){return h.create(f.VALUE)}cbrt(){return h.create(f.VALUE)}cos(){return h.create(f.VALUE)}acos(){return h.create(f.VALUE)}acosh(){return h.create(f.VALUE)}sin(){return h.create(f.VALUE)}sinh(){return h.create(f.VALUE)}asin(){return h.create(f.VALUE)}asinh(){return h.create(f.VALUE)}tan(){return h.create(f.VALUE)}tanh(){return h.create(f.VALUE)}atan(){return h.create(f.VALUE)}atan2(i){return h.create(f.VALUE)}atan2Inverse(i){return h.create(f.VALUE)}atanh(){return h.create(f.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return h.create(f.VALUE)}log10(){return h.create(f.VALUE)}exp(){return h.create(f.VALUE)}abs(){return h.create(f.VALUE)}round(i){return h.create(f.VALUE)}roundInverse(i){return h.create(f.VALUE)}floor(i){return h.create(f.VALUE)}floorInverse(i){return h.create(f.VALUE)}ceil(i){return h.create(f.VALUE)}ceilInverse(i){return h.create(f.VALUE)}convertToNumberObjectValue(){return h.create(f.VALUE)}convertToBooleanObjectValue(){return h.create(f.VALUE)}}const La=1e3,Nn=new Rt(La);class h extends Ke{constructor(i,e=""){super(i),this._errorType=i,this._errorContent=e}static create(i,e=""){const t=`${i}-${e}`,r=Nn.get(t);if(r)return r;const s=new h(i,e);return Nn.set(t,s),s}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(i){return i.getErrorType()===this.getErrorType()}isError(){return!0}}function hn(n){let i;switch(n){case O.EQUALS:i=O.EQUALS;break;case O.GREATER_THAN:i=O.LESS_THAN;break;case O.GREATER_THAN_OR_EQUAL:i=O.LESS_THAN_OR_EQUAL;break;case O.LESS_THAN:i=O.GREATER_THAN;break;case O.LESS_THAN_OR_EQUAL:i=O.GREATER_THAN_OR_EQUAL;break;case O.NOT_EQUAL:i=O.NOT_EQUAL;break}return i}function Wn(n,i){return n+i}function Gn(n,i){return n-i}function bt(n,i){return n*i}function Xn(n,i){return n/i}function Kn(n,i){const e=10**Math.floor(i),t=mn(n,e);return Math.round(bt(n,e)+t)/e}function qn(n,i){const e=10**Math.floor(i),t=mn(n,e);return Math.floor(bt(n,e)+t)/e}function Zn(n,i){const e=10**Math.floor(i),t=mn(n,e);return Math.ceil(bt(n,e)-t)/e}function mn(n,i){return Number.EPSILON*Math.max(1,Math.abs(bt(n,i)))}function Jn(n,i){return n-i*Math.floor(n/i)}function es(n,i){return n**i}function xa(n){return Math.sqrt(n)}function ts(n,i){return n===i}function Va(n,i){return n>i}function wa(n,i){return n>=i}function Ua(n,i){return n<i}function Oa(n,i){return n<=i}function on(n,i=15){return Number.parseFloat(n.toPrecision(i))}function Ma(n,i){return Math.abs(n-i)<Number.EPSILON}function Ys(n,i=12){const e=on(n,i);return Ma(n,e)?e:on(n)}function Fa(n){return n-Math.trunc(n)}var va=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ba(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Hs={exports:{}};(function(n,i){(function(e,t){n.exports=t()})(typeof self<"u"?self:va,function(){return function(){var e={d:function(E,_){for(var y in _)e.o(_,y)&&!e.o(E,y)&&Object.defineProperty(E,y,{enumerable:!0,get:_[y]})},o:function(E,_){return Object.prototype.hasOwnProperty.call(E,_)}},t={};e.d(t,{default:function(){return ta}});var r={1078:"af",1052:"sq",1118:"am",5121:"ar_DZ",15361:"ar_BH",3073:"ar_EG",2049:"ar_IQ",11265:"ar_JO",13313:"ar_KW",12289:"ar_LB",4097:"ar_LY",6145:"ar_MA",8193:"ar_OM",16385:"ar_QA",1025:"ar_SA",10241:"ar_SY",7169:"ar_TN",14337:"ar_AE",9217:"ar_YE",1067:"hy",1101:"as",2092:"az_AZ",1068:"az_AZ",1069:"eu",1059:"be",2117:"bn",1093:"bn_IN",5146:"bs",1026:"bg",1109:"my",1027:"ca",2052:"zh_CN",3076:"zh_HK",5124:"zh_MO",4100:"zh_SG",1028:"zh_TW",1050:"hr",1029:"cs",1030:"da",1125:"dv",2067:"nl_BE",1043:"nl_NL",1126:"bin",3081:"en_AU",10249:"en_BZ",4105:"en_CA",9225:"en_CB",2057:"en_GB",16393:"en_IN",6153:"en_IE",8201:"en_JM",5129:"en_NZ",13321:"en_PH",7177:"en_ZA",11273:"en_TT",1033:"en_US",12297:"en_ZW",1061:"et",1071:"mk",1080:"fo",1065:"fa",1124:"fil",1035:"fi",2060:"fr_BE",11276:"fr_CM",3084:"fr_CA",9228:"fr_CG",12300:"fr_CI",1036:"fr_FR",5132:"fr_LU",13324:"fr_ML",6156:"fr_MC",14348:"fr_MA",10252:"fr_SN",4108:"fr_CH",7180:"fr",1122:"fy_NL",2108:"gd_IE",1084:"gd",1110:"gl",1079:"ka",3079:"de_AT",1031:"de_DE",5127:"de_LI",4103:"de_LU",2055:"de_CH",1032:"el",1140:"gn",1095:"gu",1279:"en",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig_NG",1057:"id",1040:"it_IT",2064:"it_CH",1041:"ja",1099:"kn",1120:"ks",1087:"kk",1107:"km",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1142:"la",1062:"lv",1063:"lt",2110:"ms_BN",1086:"ms_MY",1100:"ml",1082:"mt",1112:"mni",1153:"mi",1102:"mr",1104:"mn",2128:"mn",1121:"ne",1044:"no_NO",2068:"no_NO",1096:"or",1045:"pl",1046:"pt_BR",2070:"pt_PT",1094:"pa",1047:"rm",2072:"ro_MO",1048:"ro_RO",1049:"ru",2073:"ru_MO",1083:"se",1103:"sa",3098:"sr_SP",2074:"sr_SP",1072:"st",1074:"tn",1113:"sd",1115:"si",1051:"sk",1060:"sl",1143:"so",1070:"sb",11274:"es_AR",16394:"es_BO",13322:"es_CL",9226:"es_CO",5130:"es_CR",7178:"es_DO",12298:"es_EC",17418:"es_SV",4106:"es_GT",18442:"es_HN",2058:"es_MX",19466:"es_NI",6154:"es_PA",15370:"es_PY",10250:"es_PE",20490:"es_PR",1034:"es_ES",14346:"es_UY",8202:"es_VE",1089:"sw",2077:"sv_FI",1053:"sv_SE",1114:"syc",1064:"tg",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1073:"ts",1055:"tr",1090:"tk",1058:"uk",1056:"ur",2115:"uz_UZ",1091:"uz_UZ",1075:"ve",1066:"vi",1106:"cy",1076:"xh",1085:"yi",1077:"zu"};const s=/^([a-z\d]+)(?:[_-]([a-z\d]+))?(?:\.([a-z\d]+))?(?:@([a-z\d]+))?$/i,a={},o={group:" ",decimal:".",positive:"+",negative:"-",percent:"%",exponent:"E",nan:"NaN",infinity:"∞",ampm:["AM","PM"],mmmm6:["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"],mmm6:["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],mmmm:["January","February","March","April","May","June","July","August","September","October","November","December"],mmm:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]};function u(E){const _=s.exec(E);if(!_)throw new SyntaxError("Malformed locale: ".concat(E));return{lang:_[1]+(_[2]?"_"+_[2]:""),language:_[1],territory:_[2]||"",codeset:_[3]||"",modifier:_[4]||""}}function c(E){if(typeof E=="number")return r[65535&E]||null;const _=parseInt(E,16);return isFinite(_)&&r[65535&_]?r[65535&_]||null:s.test(E)?E:null}function l(E){const _=c(E);let y=null;if(_){const A=u(_);y=a[A.lang]||a[A.language]||null}return y}function m(E){return Object.assign({},o,E)}function g(E,_){const y=typeof _=="object"?_:u(_);return a[y.lang]=m(E),y.language===y.lang||a[y.language]||(a[y.language]=m(E)),a[y.lang]}const p=m({group:","});function R(E,_){if(typeof E!="number")return E;if(E<0)return-R(-E,_);if(_){const y=10**(_||0)||1;return R(E*y,0)/y}return Math.round(E)}p.isDefault=!0,g({group:",",ampm:["上午","下午"],mmmm:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["周日","周一","周二","周三","周四","周五","周六"]},"zh_CN"),g({group:",",nan:"非數值",ampm:["上午","下午"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["週日","週一","週二","週三","週四","週五","週六"]},"zh_TW"),g({group:",",ampm:["午前","午後"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],ddd:["日","月","火","水","木","金","土"]},"ja"),g({group:",",ampm:["오전","오후"],mmmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],mmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dddd:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],ddd:["일","월","화","수","목","금","토"]},"ko"),g({group:",",ampm:["ก่อนเที่ยง","หลังเที่ยง"],mmmm:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],mmm:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dddd:["วันอาทิตย์","วันจันทร์","วันอังคาร","วันพุธ","วันพฤหัสบดี","วันศุกร์","วันเสาร์"],ddd:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."]},"th"),g({decimal:",",ampm:["dop.","odp."],mmmm:["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince"],mmm:["led","úno","bře","dub","kvě","čvn","čvc","srp","zář","říj","lis","pro"],dddd:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],ddd:["ne","po","út","st","čt","pá","so"]},"cs"),g({group:".",decimal:",",mmmm:["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],mmm:["jan.","feb.","mar.","apr.","maj","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"da"),g({group:".",decimal:",",ampm:["a.m.","p.m."],mmmm:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],mmm:["jan.","feb.","mrt.","apr.","mei","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],ddd:["zo","ma","di","wo","do","vr","za"]},"nl"),g({group:","},"en"),g({decimal:",",nan:"epäluku",ampm:["ap.","ip."],mmmm:["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"],mmm:["tammik.","helmik.","maalisk.","huhtik.","toukok.","kesäk.","heinäk.","elok.","syysk.","lokak.","marrask.","jouluk."],dddd:["sunnuntaina","maanantaina","tiistaina","keskiviikkona","torstaina","perjantaina","lauantaina"],ddd:["su","ma","ti","ke","to","pe","la"]},"fi"),g({group:" ",decimal:",",mmmm:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],mmm:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dddd:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],ddd:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."]},"fr"),g({group:".",decimal:",",mmmm:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],mmm:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."],dddd:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],ddd:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."]},"de"),g({group:".",decimal:",",ampm:["π.μ.","μ.μ."],mmmm:["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"],mmm:["Ιαν","Φεβ","Μαρ","Απρ","Μαΐ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dddd:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],ddd:["Κυρ","Δευ","Τρί","Τετ","Πέμ","Παρ","Σάβ"]},"el"),g({decimal:",",ampm:["de.","du."],mmmm:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],mmm:["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."],dddd:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],ddd:["V","H","K","Sze","Cs","P","Szo"]},"hu"),g({group:".",decimal:",",ampm:["f.h.","e.h."],mmmm:["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember"],mmm:["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des."],dddd:["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],ddd:["sun.","mán.","þri.","mið.","fim.","fös.","lau."]},"is"),g({group:".",decimal:",",mmmm:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],mmm:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des"],dddd:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],ddd:["Min","Sen","Sel","Rab","Kam","Jum","Sab"]},"id"),g({group:".",decimal:",",mmmm:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],mmm:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],dddd:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],ddd:["dom","lun","mar","mer","gio","ven","sab"]},"it"),g({decimal:",",ampm:["a.m.","p.m."],mmmm:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],mmm:["jan.","feb.","mar.","apr.","mai","jun.","jul.","aug.","sep.","okt.","nov.","des."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"nb"),g({decimal:",",mmmm:["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia"],mmm:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],dddd:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],ddd:["niedz.","pon.","wt.","śr.","czw.","pt.","sob."]},"pl"),g({group:".",decimal:",",mmmm:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],mmm:["jan.","fev.","mar.","abr.","mai.","jun.","jul.","ago.","set.","out.","nov.","dez."],dddd:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],ddd:["dom.","seg.","ter.","qua.","qui.","sex.","sáb."]},"pt"),g({decimal:",",nan:"не число",mmmm:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],mmm:["янв.","февр.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],dddd:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],ddd:["вс","пн","вт","ср","чт","пт","сб"]},"ru"),g({decimal:",",mmmm:["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra"],mmm:["jan","feb","mar","apr","máj","jún","júl","aug","sep","okt","nov","dec"],dddd:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],ddd:["ne","po","ut","st","št","pi","so"]},"sk"),g({group:".",decimal:",",ampm:["a. m.","p. m."],mmmm:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],mmm:["ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."],dddd:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],ddd:["dom.","lun.","mar.","mié.","jue.","vie.","sáb."]},"es"),g({decimal:",",ampm:["fm","em"],mmmm:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],mmm:["jan.","feb.","mars","apr.","maj","juni","juli","aug.","sep.","okt.","nov.","dec."],dddd:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],ddd:["sön","mån","tis","ons","tors","fre","lör"]},"sv"),g({group:".",decimal:",",ampm:["ÖÖ","ÖS"],mmmm:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],mmm:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dddd:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],ddd:["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"]},"tr");function b(E,_,y){const A=E<0?-1:1,V=10**(_||2),T=10**(y||2);let U,x,S=Math.abs(E),I=0,H=0,M=0,Q=1;if((E=S)%1==0)x=[E*A,1];else if(E<1e-19)x=[A,1e19];else if(E>1e19)x=[1e19*A,1];else{do if(S=1/(S-Math.floor(S)),U=Q,Q=Q*Math.floor(S)+I,I=U,H=M,M=Math.floor(E*Q+.5),M>=V||Q>=T)return[A*H,I];while(Math.abs(E-M/Q)>=1e-10&&S!==Math.floor(S));x=[A*M,Q]}return x}const P={overflow:"######",dateErrorThrows:!1,dateErrorNumber:!0,dateSpanLarge:!0,leap1900:!0,nbsp:!0,throws:!0,invalid:"######",locale:"",ignoreTimezone:!1},w=Object.assign({},P);function v(E){if(E===null&&(E=P),E){for(const _ in E)if(_ in P){const y=E[_];w[_]=y==null?P[_]:y}}return{...w}}const B={"#":"",0:"0","?":" "},X={"@":"text","-":"minus","+":"plus"},oe=["#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#800","#080","#008","#880","#808","#088","#CCC","#888","#99F","#936","#FFC","#CFF","#606","#F88","#06C","#CCF","#008","#F0F","#FF0","#0FF","#808","#800","#088","#00F","#0CF","#CFF","#CFC","#FF9","#9CF","#F9C","#C9F","#FC9","#36F","#3CC","#9C0","#FC0"],de=["¤","$","£","¥","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],Se=new RegExp("["+de.join("")+"]");function Re(E,_,y){return _[y+"_max"]=E.length,_[y+"_min"]=E.replace(/#/g,"").length,_}const De={};function _e(E){if(!(E in De)){const _=[],y=E.replace(/^[#,]+/,"").replace(/[1-9]\d*/g,A=>"?".repeat(A.length));for(let A=0;A<y.length;A++){const V=y.charAt(A);_[A]=V in B?B[V]:V}De[E]=_.join("")}return De[E]}function fe(E,_){typeof E=="string"&&(E={type:"string",value:E=E.replace(/ /g,B["?"])}),_.push(E)}function Oe(E){const _=[],y={scale:1,percent:!1,text:!1,date:0,date_eval:!1,date_system:1,sec_decimals:0,general:!1,clock:24,int_pattern:[],frac_pattern:[],man_pattern:[],den_pattern:[],num_pattern:[],tokens:_};let A=E+"",V="int",T=!1,U=null;const x=[];let S,I,H=!1;for(;A&&!T;){if(S=/^General/i.exec(A))y.general=!0,fe({type:"general"},_);else if(V==="int"&&(S=/^[#?0]+(?:,[#?0]+)*/.exec(A))||V==="den"&&(S=/^[#?\d]+/.exec(A))||(S=/^[#?0]+/.exec(A)))y[V+"_pattern"].push(S[0]),U={type:V,num:S[0]},fe(U,_);else if((S=/^\//.exec(A))&&y[V+"_pattern"].length){if(!U)throw new SyntaxError("Missing a numerator in pattern ".concat(E));y.fractions=!0,y.num_pattern.push(y[V+"_pattern"].pop()),U.type="num",V="den",fe({type:"div"},_)}else if(S=/^,+/.exec(A)){const F=A.charAt(1)in B;I.slice(-1)in B&&(S[0].length>1||!F)?y.scale=.001**S[0].length:y.dec_fractions||fe(S[0],_)}else{if(S=/^;/.exec(A)){T=!0;break}if(S=/^[@+-]/.exec(A))S[0]==="@"&&(y.text=!0),fe({type:X[S[0]]},_);else if(S=/^(?:\[(h+|m+|s+)\])/i.exec(A)){const F=S[1].toLowerCase(),Y=F[0],W={type:"",size:0,date:1,raw:S[0],pad:F.length};Y==="h"?(W.size=16,W.type="hour-elap"):Y==="m"?(W.size=32,W.type="min-elap"):(W.size=64,W.type="sec-elap"),y.date=y.date|W.size,x.push(W),fe(W,_)}else if(S=/^(?:B2)/i.exec(A))H||(y.date_system=6);else if(S=/^(?:B1)/i.exec(A))H||(y.date_system=1);else if(S=/^(?:([hHmMsSyYbBdDegG])\1*)/.exec(A)){const F={type:"",size:0,date:1,raw:S[0]},Y=S[0].toLowerCase(),W=Y[0];if(Y==="y"||Y==="yy")F.size=2,F.type="year-short";else if(W==="y"||W==="e")F.size=2,F.type="year";else if(Y==="b"||Y==="bb")F.size=2,F.type="b-year-short";else if(W==="b")F.size=2,F.type="b-year";else if(Y==="d"||Y==="dd")F.size=8,F.type="day",F.pad=/dd/.test(Y);else if(Y==="ddd")F.size=8,F.type="weekday-short";else if(W==="d")F.size=8,F.type="weekday";else if(W==="h")F.size=16,F.type="hour",F.pad=/hh/i.test(Y);else if(W==="m"){Y.length===3?(F.size=4,F.type="monthname-short"):Y.length===5?(F.size=4,F.type="monthname-single"):Y.length>=4&&(F.size=4,F.type="monthname");const J=x[x.length-1];!F.type&&J&&!J.used&&80&J.size&&(J.used=!0,F.size=32,F.type="min",F.pad=/mm/.test(Y)),F.type||(F.size=4,F.type="month",F.pad=/mm/.test(Y),F.indeterminate=!0)}else if(W==="s"){F.size=64,F.type="sec",F.pad=/ss/.test(Y);const J=x[x.length-1];J&&32&J.size?F.used=!0:J&&J.indeterminate&&(delete J.indeterminate,J.size=32,J.type="min",F.used=!0)}y.date=y.date|F.size,y.date_eval=!0,x.push(F),fe(F,_)}else if(S=/^(?:AM\/PM|am\/pm|A\/P)/.exec(A))y.clock=12,y.date=16|y.date,y.date_eval=!0,fe({type:"am",short:S[0]==="A/P"},_);else if(y.date&&(S=/^\.0{1,3}/i.exec(A))){const F=S[0].length-1,Y=[64,128,256,512][F];y.date=y.date|Y,y.date_eval=!0,y.sec_decimals=Math.max(y.sec_decimals,F),fe({type:"subsec",size:Y,decimals:F,date:1,raw:S[0]},_)}else if((S=/^\\(.)/.exec(A))||(S=/^"([^"]*?)"/.exec(A)))fe(S[1],_);else if(S=/^\[(<[=>]?|>=?|=)\s*(-?[.\d]+)\]/.exec(A))y.condition=[S[1],parseFloat(S[2],10)];else if(S=/^\[\$([^\]]+)\]/.exec(A)){const F=S[1].split("-"),Y=F.length<2?"":F[F.length-1],W=F[0];W&&fe(W,_);const J=c(Y);J&&(y.locale=J);const re=parseInt(Y,16);isFinite(re)&&16711680&re&&(re>>16&255)===6&&(y.date_system=6),H=!0}else if(S=/^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*(\d+))\]/i.exec(A))y.color=S[2]?oe[parseInt(S[2],10)]||"#000":S[1].toLowerCase();else if(!(S=/^\[(DBNum1|ENG|HIJ|JPN|TWN)\]/i.exec(A))){if(S=/^%/.exec(A))y.scale=100,y.percent=!0,fe("%",_);else if(S=/^_(\\.|.)/.exec(A))fe(" ",_);else if(S=/^\./.exec(A))fe({type:"point",value:S[0]},_),y.dec_fractions=!0,V="frac";else if(S=/^[Ee]([+-]?|(?=[0#?]))/.exec(A))y.exponential=!0,y.exp_plus=S[1]==="+",V="man",fe({type:"exp",plus:S[1]==="+"},_);else if(!(S=/^\*(\\.|.)/.exec(A))){if(S=/^[BENn[]/.exec(A))throw new SyntaxError("Unexpected char ".concat(A.charAt(0)," in pattern ").concat(E));A[0]==="("&&(y.parens=!0),S=[A[0]],fe(S[0],_)}}}I=S[0],A=A.slice(S?S[0].length:1)}if(y.pattern=E.slice(0,E.length-A.length),/^((?:\[[^\]]+\])+)(;|$)/.test(y.pattern)&&!/^\[(?:h+|m+|s+)\]/.test(y.pattern)&&fe({type:"text"},_),y.fractions&&y.dec_fractions||y.fractions&&y.exponential)throw new SyntaxError("Invalid pattern: ".concat(y.pattern));const M=y.int_pattern.join("");if(y.grouping=M.indexOf(",")>=0,y.grouping){const F=M.split(","),Y=F.length;Y===2?(y.group_pri=F[1].length,y.group_sec=y.group_pri):Y>2&&(y.group_pri=F[Y-1].length,y.group_sec=F[Y-2].length)}else y.group_pri=0,y.group_sec=0;Re(M.replace(/[,]/g,""),y,"int"),Re(y.frac_pattern.join(""),y,"frac"),Re(y.man_pattern.join(""),y,"man");let Q=y.num_pattern.join(""),K=y.den_pattern.join("");const N=/\?/.test(K)||/\?/.test(Q);return K=K.replace(/\d/g,N?"?":"#"),N&&(K=K.replace(/#$/g,"?")),Re(Q,y,"num"),Re(K,y,"den"),N&&(Q=Q.replace(/#$/g,"?")),y.int_padding=_e(y.int_pattern.join("")),y.man_padding=_e(y.man_pattern.join("")),y.num_padding=_e(Q),y.den_padding=_e(K),y.den_pattern.length&&(y.denominator=parseInt(y.den_pattern.join("").replace(/\D/g,""),10)),y.integer=!!y.int_pattern.join("").length,y.fractions&&_.forEach((F,Y)=>{const W=_[Y+1];F.type==="string"&&W&&(W.type==="num"?F.rule="num+int":W.type==="div"?F.rule="num":W.type==="den"&&(F.rule="den"))}),y}const ot=E=>{const _=E.condition;_&&_[1]<0&&(_[0]==="<"||_[0]==="<="||_[0]==="=")||E.tokens.unshift({type:"minus",volatile:!0})};function Vn(E){const _=[];let y,A=!1,V=null,T=E,U=0,x=!1,S=0,I=0;do{if(x=Oe(T),(x.date||x.general)&&(x.int_pattern.length||x.frac_pattern.length||x.scale!==1||x.text))throw new Error("Illegal format");if(x.condition&&(I++,A=!0),x.text){if(V)throw new Error("Unexpected partition");V=x}x.locale&&(y=c(x.locale)),_.push(x),U=T.charAt(x.pattern.length)===";"?1:0,T=T.slice(x.pattern.length+U),S++}while(U&&S<4&&I<3);if(U)throw new Error("Unexpected partition");if(I>2)throw new Error("Unexpected condition");const H=_[3];if(H&&(H.int_pattern.length||H.frac_pattern.length||H.date))throw new Error("Unexpected partition");if(A){const M=_.length;if(M===1&&(_[1]=Oe("General"),_[1].generated=!0),M<3){const Q=_[0],K=_[1];if(ot(Q),K.condition)ot(K);else{const N=Q.condition;(N[0]==="="||N[1]>=0&&(N[0]===">"||N[0]===">="))&&K.tokens.unshift({type:"minus",volatile:!0})}}else _.forEach(ot)}else{if(_.length<4&&V)for(let M=0,Q=_.length;M<Q;M++)_[M]===V&&_.splice(M,1);if(_.length<1&&V&&(_[0]=Oe("General"),_[0].generated=!0),_.length<2){const M=Oe(_[0].pattern);M.tokens.unshift({type:"minus",volatile:!0}),M.generated=!0,_.push(M)}if(_.length<3){const M=Oe(_[0].pattern);M.generated=!0,_.push(M)}if(_.length<4)if(V)_.push(V);else{const M=Oe("@");M.generated=!0,_.push(M)}_[0].condition=[">",0],_[1].condition=["<",0],_[2].condition=null}return{pattern:E,partitions:_,locale:y}}const xe=Math.floor;function wn(E){if((!(arguments.length>1&&arguments[1]!==void 0)||arguments[1])&&E>=0){if(E===0)return[1900,1,0];if(E===60)return[1900,2,29];if(E<60)return[1900,E<32?1:2,(E-1)%31+1]}let y=E+68569+2415019;const A=xe(4*y/146097);y-=xe((146097*A+3)/4);const V=xe(4e3*(y+1)/1461001);y=y-xe(1461*V/4)+31;const T=xe(80*y/2447),U=y-xe(2447*T/80);y=xe(T/11);const x=T+2-12*y;return[0|100*(A-49)+V+y,0|x,0|U]}function Yi(E){return wn(E+1462)}function Hi(E){if(E===60)throw new Error("#VALUE!");if(E<=1)return[1317,8,29];if(E<60)return[1317,E<32?9:10,1+(E-2)%30];const _=10631/30,y=.1335;let A=E+466935;const V=xe(A/10631);A-=10631*V;const T=xe((A-y)/_);A-=xe(T*_+y);const U=xe((A+28.5001)/29.5);return U===13?[30*V+T,12,30]:[30*V+T,U,A-xe(29.5001*U-29)]}function Un(E){let _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,y=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];const A=xe(E);return _===6?Hi(A):_===-1?Yi(A):wn(A,y)}const qt=Math.floor,Nr=86400;function Zt(E,_){let y=null;if(Array.isArray(E)){const[A,V,T,U,x,S]=E;y=Date.UTC(A,V==null?0:V-1,T!=null?T:1,U||0,x||0,S||0)}else if(E instanceof Date&&(y=1*E,!_||!_.ignoreTimezone)){const A=new Date;A.setUTCFullYear(E.getFullYear(),E.getMonth(),E.getDate()),A.setUTCHours(E.getHours(),E.getMinutes(),E.getSeconds(),E.getMilliseconds()),y=1*A}if(y!=null&&isFinite(y)){const A=y/864e5;return A-(A<=-25509?-25568:-25569)}return E}function On(E,_){let y=0|E;const A=Nr*(E-y);let V=qt(A);A-V>.9999&&(V+=1,V===Nr&&(V=0,y+=1));const T=V<0?Nr+V:V,[U,x,S]=Un(E,0,_&&_.leap1900),I=qt(T/60/60)%60,H=qt(T/60)%60,M=qt(T)%60;if(_&&_.nativeDate){const Q=new Date(0);return Q.setUTCFullYear(U,x-1,S),Q.setUTCHours(I,H,M),Q}return[U,x,S,I,H,M]}function Qi(E){return!!(E[0]&&E[0].percent||E[1]&&E[1].percent||E[2]&&E[2].percent||E[3]&&E[3].percent)}function zi(E){return!!(E[0]&&E[0].date||E[1]&&E[1].date||E[2]&&E[2].date||E[3]&&E[3].date)}function Ni(E){const[_,y,A,V]=E;return!(_&&!_.generated||y&&!y.generated||A&&!A.generated||!V||!V.text||V.generated)}const Wi={text:15,datetime:10.8,date:10.8,time:10.8,percent:10.6,currency:10.4,grouped:10.2,scientific:6,number:4,fraction:2,general:0,error:0},Gi=[["DMY",1],["DM",2],["MY",3],["MDY",4],["MD",5],["hmsa",6],["hma",7],["hms",8],["hm",9]],Xi={total:1,sign:0,period:0,int:1,frac:0},wt=(E,_)=>E.replace(/\./,_.decimal);function Mn(E,_,y,A){const V=0|y;if(typeof y=="string")E.push(y);else if(y===V)E.push(Math.abs(V));else{const T=Math.abs(y);let U=T?Math.floor(Math.log10(T)):0,x=U<0?T*10**-U:T/10**U;x===10&&(x=1,U++);const S=function(H){let M=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];const Q=Math.abs(H);if(!Q)return Xi;const K=M&&H<0?1:0,N=Math.floor(Q),F=Math.floor(Math.log10(Q)+1);let Y=0,W=0;if(N!==Q){Y=1;const J=String(R(F<0?Q*10**-F:Q/10**F,15));let re=J.length,te=!0,Ee=0;for(;Ee<=J.length;){if(J[Ee]==="."){re--;break}J[Ee]==="0"&&te?re--:te=!1,Ee++}W=re-F,W<0&&(W=0,Y=0)}return{total:K+Math.max(F,1)+Y+W,digits:Math.max(F,0)+W,sign:K,period:Y,int:Math.max(F,1),frac:W}}(T),I=()=>{const H=Math.abs(U);let M;M=x===1?x:R(x,5),E.push(wt(M+"",A),A.exponent,U<0?A.negative:A.positive,H<10?"0":"",H)};if(U>=-4&&U<=-1){const H=T.toPrecision(10+U).replace(/\.?0+$/,"");E.push(wt(H,A))}else if(U===10){const H=T.toFixed(10).slice(0,12).replace(/\.$/,"");E.push(wt(H,A))}else if(Math.abs(U)<=9)if(S.total<=11){const H=R(T,9).toFixed(S.frac);E.push(wt(H,A))}else U===9?E.push(Math.floor(T)):U>=0&&U<9?E.push(R(T,9-U)):I();else S.total>=12?I():Math.floor(T)===T?E.push(Math.floor(T)):E.push(wt(R(T,9).toFixed(S.frac),A))}return E}const Ut=86400,Fn={int:"integer",frac:"fraction",man:"mantissa",num:"numerator",den:"denominator"},vn=function(E){let _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;const y=Math.floor(Math.log10(E));return _>1?Math.floor(y/_)*_:y};function Bn(E,_,y,A){let V="",T="",U="",x="",S="",I=0,H=0|E,M=0,Q=0,K=1,N=0,F=0,Y=0,W=0,J=0,re=0;const te=A||p;if(!_.text&&isFinite(_.scale)&&_.scale!==1&&(E=function(ee){if(ee===0)return ee;const ie=Math.ceil(Math.log10(ee<0?-ee:ee)),k=10**(16-Math.floor(ie));return Math.round(ee*k)/k}(E*_.scale)),_.exponential){let ee=Math.abs(E);if(ee){const ie=10**-vn(ee,_.int_max),k=R(ee*ie,_.frac_max)/ie;I=vn(k,_.int_max)}ee/=10**I,E=E<0?-ee:ee,V+=Math.abs(I)}if(_.integer){const ee=Math.abs(R(E,_.fractions?1:_.frac_max));S+=ee<1?"":Math.floor(ee)}if(_.grouping){let ee="",ie=S.length;for(ie>_.group_pri&&(ie-=_.group_pri,ee=te.group+S.slice(ie,ie+_.group_pri)+ee);ie>_.group_sec;)ie-=_.group_sec,ee=te.group+S.slice(ie,ie+_.group_sec)+ee;S=ie?S.slice(0,ie)+ee:ee}_.dec_fractions&&(x=String(R(E,_.frac_max)).split(".")[1]||"");let Ee=!1;if(_.fractions){const ee=Math.abs(_.integer?E%1:E);if(ee)if(Ee=!0,isFinite(_.denominator))U+=_.denominator,T+=R(ee*_.denominator),T==="0"&&(T="",U="",Ee=!1,S||(S="0"));else{const ie=b(ee,_.integer?_.num_max:1/0,_.den_max);T+=ie[0],U+=ie[1],_.integer&&T==="0"&&(S||(S="0"),T="",U="",Ee=!1)}}if(_.date){H=Math.trunc(E);const ee=Ut*(E-H);if(M=Math.floor(ee),re=ee-M,Math.abs(re)<1e-6?re=0:re>.9999&&(re=0,M+=1,M===Ut&&(M=0,H+=1)),re){const ie=512&_.date||256&_.date||128&_.date;(ie===512&&re>.9995||ie===256&&re>.995||ie===128&&re>.95||!ie&&re>=.5)&&(M++,re=0)}if(H||_.date_system){const ie=Un(E,_.date_system,y.leap1900);Q=ie[0],K=ie[1],N=ie[2]}if(M){const ie=M<0?Ut+M:M;J=Math.floor(ie)%60,W=Math.floor(ie/60)%60,Y=Math.floor(ie/60/60)%60}if(F=(6+H)%7,_.date_eval&&(Qe=E,ut=H+M/Ut,y.dateSpanLarge?Qe<-694324||ut>=35830291:Qe<0||ut>=2958466)){if(y.dateErrorThrows)throw new Error("Date out of bounds");return y.dateErrorNumber?Mn(E<0?[te.negative]:[],0,E,te).join(""):y.overflow}}var Qe,ut;if(_.int_padding&&(S=_.int_padding.length===1?S||_.int_padding:_.int_padding.substring(0,_.int_padding.length-S.length)+S),_.num_padding&&(T=_.num_padding.length===1?T||_.num_padding:_.num_padding.substring(0,_.num_padding.length-T.length)+T),_.den_padding&&(U=_.den_padding.length===1?U||_.den_padding:U+_.den_padding.slice(U.length)),_.man_padding){const ee=_.exp_plus?"+":"";V=_.man_padding.length===1?(I<0?"-":ee)+(V||_.man_padding):(I<0?"-":ee)+_.man_padding.slice(0,_.man_padding.length-V.length)+V}const $=[];let Ue=0;const Je={int:0,frac:0,man:0,num:0,den:0};for(let ee=0,ie=_.tokens.length;ee<ie;ee++){const k=_.tokens[ee],Jt=k.num?k.num.length:0;if(k.type==="string")k.rule?k.rule==="num"?Ee?$.push(k.value):(_.num_min>0||_.den_min>0)&&$.push(k.value.replace(/./g,B["?"])):k.rule==="num+int"?Ee&&S?$.push(k.value):_.den_min>0&&(S||_.num_min)&&$.push(k.value.replace(/./g,B["?"])):k.rule==="den"&&(Ee?$.push(k.value):(_.den_min>0||_.den_min>0)&&$.push(k.value.replace(/./g,B["?"]))):$.push(k.value);else if(k.type==="error")$.push(y.invalid);else if(k.type==="point")$.push(_.date?k.value:te.decimal);else if(k.type==="general")Mn($,0,E,te);else if(k.type==="exp")$.push(te.exponent);else if(k.type==="minus")k.volatile&&_.date||k.volatile&&(E>=0||typeof E!="number")||(k.volatile&&!_.fractions&&(_.integer||_.dec_fractions)?(E<0&&S&&S!=="0"||x)&&$.push(te.negative):$.push(te.negative));else if(k.type==="plus")$.push(te.positive);else if(k.type==="text")$.push(E);else if(k.type==="div")Ee?$.push("/"):_.num_min>0||_.den_min>0?$.push(B["?"]):$.push(B["#"]);else if(k.type==="int")if(_.int_pattern.length===1)$.push(S);else{const me=Ue?_.int_pattern.join("").length-Je.int:1/0,_t=Ue===_.int_pattern.length-1?0:_.int_pattern.join("").length-(Je.int+k.num.length);$.push(S.substring(S.length-me,S.length-_t)),Ue++,Je.int+=k.num.length}else if(k.type==="frac"){const me=Je.frac;for(let _t=0;_t<Jt;_t++)$.push(x[_t+me]||B[k.num[_t]]);Je.frac+=Jt}else if(k.type in Fn)_[k.type+"_pattern"].length===1?(k.type==="int"&&$.push(S),k.type==="frac"&&$.push(x),k.type==="man"&&$.push(V),k.type==="num"&&$.push(T),k.type==="den"&&$.push(U)):($.push(Fn[k.type].slice(Je[k.type],Je[k.type]+Jt)),Je[k.type]+=Jt);else if(k.type==="year")Q<0&&$.push(te.negative),$.push(String(Math.abs(Q)).padStart(4,"0"));else if(k.type==="year-short"){const me=Q%100;$.push(me<10?"0":"",me)}else if(k.type==="month")$.push(k.pad&&K<10?"0":"",K);else if(k.type==="monthname-single")_.date_system===6?$.push(te.mmmm6[K-1].charAt(0)):$.push(te.mmmm[K-1].charAt(0));else if(k.type==="monthname-short")_.date_system===6?$.push(te.mmm6[K-1]):$.push(te.mmm[K-1]);else if(k.type==="monthname")_.date_system===6?$.push(te.mmmm6[K-1]):$.push(te.mmmm[K-1]);else if(k.type==="weekday-short")$.push(te.ddd[F]);else if(k.type==="weekday")$.push(te.dddd[F]);else if(k.type==="day")$.push(k.pad&&N<10?"0":"",N);else if(k.type==="hour"){const me=Y%_.clock||(_.clock<24?_.clock:0);$.push(k.pad&&me<10?"0":"",me)}else if(k.type==="min")$.push(k.pad&&W<10?"0":"",W);else if(k.type==="sec")$.push(k.pad&&J<10?"0":"",J);else if(k.type==="subsec"){$.push(te.decimal);const me=re.toFixed(_.sec_decimals);$.push(me.slice(2,2+k.decimals))}else if(k.type==="am"){const me=Y<12?0:1;k.short&&!A?$.push("AP"[me]):$.push(te.ampm[me])}else if(k.type==="hour-elap"){E<0&&$.push(te.negative);const me=24*H+Math.floor(Math.abs(M)/3600);$.push(String(Math.abs(me)).padStart(k.pad,"0"))}else if(k.type==="min-elap"){E<0&&$.push(te.negative);const me=1440*H+Math.floor(Math.abs(M)/60);$.push(String(Math.abs(me)).padStart(k.pad,"0"))}else if(k.type==="sec-elap"){E<0&&$.push(te.negative);const me=H*Ut+Math.abs(M);$.push(String(Math.abs(me)).padStart(k.pad,"0"))}else if(k.type==="b-year")$.push(Q+543);else if(k.type==="b-year-short"){const me=(Q+543)%100;$.push(me<10?"0":"",me)}}return y.nbsp?$.join(""):$.join("").replace(/\u00a0/g," ")}function Tn(E,_){for(let y=0;y<3;y++){const A=_[y];if(A){let V;if(A.condition){const T=A.condition[0],U=A.condition[1];T==="="?V=E===U:T===">"?V=E>U:T==="<"?V=E<U:T===">="?V=E>=U:T==="<="?V=E<=U:T==="<>"&&(V=E!==U)}else V=!0;if(V)return A}}}const kn=Oe("@"),In="black",Me={};function Fe(E,_){if(E){const y=E[0];_[y]=_[y]||{},Fe(E.slice(1),_[y])}else _.$=!0}["d-F-y","d-F-Y","d-M-y","d-M-Y","F-d-y","F-d-Y","F-j-y","F-j-Y","j-F-y","j-F-Y","j-M-y","j-M-Y","M-d-y","M-d-Y","M-j-y","M-j-Y","m-d-y","m-d-Y","m-j-y","m-j-Y","n-d-y","n-d-Y","n-j-y","n-j-Y","y-F-d","y-F-j","y-M-d","y-M-j","Y-F-d","Y-F-j","Y-M-d","Y-m-d","Y-M-j","Y-m-j","Y-n-d","Y-n-j","j-F","j-M","d-F","d-M","n-d","n-j","n-Y","m-d","m-j","m-Y","M-Y","M-y","F-y","F-Y","Y-M","Y-n","Y-m","Y-F","Y-M"].forEach(E=>{Fe(E,Me),Fe(E+" x",Me),Fe(E+" l",Me),Fe(E+" l x",Me),Fe("l "+E,Me),Fe("l "+E+" x",Me),Fe(E+" D",Me),Fe(E+" D x",Me),Fe("D "+E,Me),Fe("D "+E+" x",Me)});const Ki={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},qi={january:1,february:2,march:3,april:4,june:6,july:7,august:8,september:9,october:10,november:11,december:12},Zi={sunday:"l",monday:"l",tuesday:"l",wednesday:"l",thursday:"l",friday:"l",saturday:"l",sun:"D",mon:"D",tue:"D",wed:"D",thu:"D",fri:"D",sat:"D"},Ji=new Date().getUTCFullYear();function jn(E){const _=new RegExp("^([\\s+%"+de.join("")+"(-]*)(((?:(?:\\d[\\d,]*)(?:\\.\\d*)?|(?:\\.\\d+)))([eE][+-]?\\d+)?)([\\s%"+de.join("")+")]*)$").exec(E);if(_){const[,y,A,V,T,U]=_;let x=1,S="",I=!1,H=!1,M=!1,Q=!1,K=!1,N=null,F=!1,Y=parseFloat(A.replace(/,/g,""));if(!isFinite(Y))return null;for(let J=0;J<y.length;J++){const re=y[J];if(re==="-"){if(I||H)return null;I=!0,x=-1}else if(Se.test(re)){if(K)return null;K=!0,N=re}else if(re==="("){if(H||I)return null;H=!0,x=-1}else if(re==="%"){if(Q)return null;Q=!0}}for(let J=0;J<U.length;J++){const re=U[J];if(Se.test(re)){if(K)return null;K=!0,N=re,F=!0}else if(re===")"){if(M||!H)return null;M=!0}else if(re==="%"){if(Q)return null;Q=!0}}if(T){if(Q||K)return null;S="0.00E+00"}else if(Q){if(K)return null;S=V.includes(".")?"0.00%":"0%",Y*=.01}else if(K){const J=V.includes(".")?"#,##0.00":"#,##0";S=F?J+N:N+J}else V.includes(",")&&(S=V.includes(".")?"#,##0.00":"#,##0");const W={v:Y*x};return S&&(W.z=S),W}}const ke=(E,_,y)=>{const A=y.path||"",V=Object.keys(_);for(let T=0;T<V.length;T++){let U;const x=V[T];if(_[x]){if(x==="$"||x==="€")E||(U=y);else if(x==="-"){const S=/^(\s*([./-]|,\s)\s*|\s+)/.exec(E);if(S){const I=S[1]==="-"||S[1]==="/"||S[1]==="."?S[1]:" ";if(!y.sep||y.sep===I){const H=S[0].replace(/\s+/g," ");U=ke(E.slice(S[0].length),_[x],{...y,sep:I,path:A+H})}}}else if(x===" "){const S=/^[,.]?\s+/.exec(E);if(S){const I=S[0].replace(/\s+/g," ");U=ke(E.slice(S[0].length),_[x],{...y,path:A+I})}}else if(x==="j"||x==="d"){const S=/^(0?[1-9]|1\d|2\d|3[01])\b/.exec(E);S&&(U=ke(E.slice(S[0].length),_[x],{...y,day:S[0],path:A+x}))}else if(x==="n"||x==="m"){const S=/^(0?[1-9]|1[012])\b/.exec(E);S&&(U=ke(E.slice(S[0].length),_[x],{...y,month:+S[0],_mon:S[0],path:A+x}))}else if(x==="F"||x==="M"){const S=/^([a-z]{3,9})\b/i.exec(E),I=S&&(x==="F"?qi:Ki)[S[0].toLowerCase()];I&&(U=ke(E.slice(S[0].length),_[x],{...y,month:I,_mon:S[0],path:A+x}))}else if(x==="l"||x==="D"){const S=/^([a-z]{3,9})\b/i.exec(E);(S&&Zi[S[0].toLowerCase()])===x&&(U=ke(E.slice(S[0].length),_[x],{...y,path:A+x}))}else if(x==="y"){const S=/^\d\d\b/.exec(E);if(S){const I=+S[0]>=30?+S[0]+1900:+S[0]+2e3;U=ke(E.slice(S[0].length),_[x],{...y,year:I,path:A+x})}}else if(x==="Y"){const S=/^\d\d\d\d\b/.exec(E);S&&(U=ke(E.slice(S[0].length),_[x],{...y,year:+S[0],path:A+x}))}else{if(x!=="x")throw new Error('Unknown date token "'.concat(x,'"'));{const S=Wr(E);S&&(U=ke("",_[x],{...y,time:S.v,tf:S.z,path:A+x}))}}if(U)return U}}};function $n(E,_){const y=ke(E.trim(),Me,{path:""});if(y){var A;if(y.sep==="."&&y.path.length===3)return null;const V=+((A=y.year)!==null&&A!==void 0?A:Ji);if(y.day||(y.day=1),!function(x,S,I){if(I<1||S<1||S>12)return!1;if(S===2){if(I>(x%4==0&&x%100!=0||x%400==0||x===1900?29:28))return!1}else if((S===4||S===6||S===9||S===11)&&I>30||(S===1||S===3||S===5||S===7||S===8||S===10||S===12)&&I>31)return!1;return!0}(V,y.month,y.day))return null;let T=-1/0;if(V<1900)return null;V<=1900&&y.month<=2?T=25568:V<1e4&&(T=25569);const U=Date.UTC(V,y.month-1,y.day)/864e5+T+(y.time||0);if(U>=0&&U<=2958465){const x=y._mon[0]==="0"||y.day[0]==="0"||y._mon.length===2&&y.day.length===2,S=y.path.replace(/[jdlDnmMFyYx-]/g,I=>I==="j"||I==="d"?x?"dd":"d":I==="D"?"ddd":I==="l"?"dddd":I==="n"||I==="m"?x?"mm":"m":I==="M"?"mmm":I==="F"?"mmmm":I==="y"?"yy":I==="x"?y.tf||"":I==="Y"?"yyyy":I);return _&&_.nativeDate?{v:On(U,_),z:S}:{v:U,z:S}}}return null}function Wr(E){const _=/^\s*([10]?\d|2[0-4])(?::([0-5]\d|\d))?(?::([0-5]\d|\d))?(\.\d{1,10})?(?:\s*([AP])M?)?\s*$/i.exec(E);if(_){const[,y,A,V,T,U]=_;if(T&&!V||!U&&!A&&!V)return null;let x=1*(y||0);if(U){if(x>=13)return null;U[0]!=="p"&&U[0]!=="P"||(x+=12)}return{v:(60*x*60+60*(1*(A||0))+1*(V||0)+1*(T||0))/86400,z:(y.length===2?"hh":"h")+":mm"+(V?":ss":"")+(U?" AM/PM":"")}}return null}function Yn(E){return/^\s*true\s*$/i.test(E)?{v:!0}:/^\s*false\s*$/i.test(E)?{v:!1}:null}const Ot={};function ea(E,_){const{pattern:y,partitions:A,locale:V}=E,T=S=>{const I=Object.assign({},v(),_,S);return V&&(I.locale=V),I},U=(S,I)=>{const H=T(I);return function(M,Q,K){const N=l(K.locale),F=Q[3]?Q[3]:kn;if(typeof M=="boolean"&&(M=M?"TRUE":"FALSE"),M==null)return"";if(typeof M!="number")return Bn(M,F,K,N);if(!isFinite(M)){const W=N||p;return isNaN(M)?W.nan:(M<0?W.negative:"")+W.infinity}const Y=Tn(M,Q);return Y?Bn(M,Y,K,N):K.overflow}(Zt(S,H),A,H)};U.color=(S,I)=>function(H,M){if(typeof H!="number"||!isFinite(H))return(M[3]?M[3].color:kn.color)||In;const Q=Tn(H,M);return Q&&Q.color||In}(Zt(S,T(I)),A);const x=function(S){var I;let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;const[M,Q]=S,K=M.frac_max,N={type:"general",isDate:zi(S),isText:Ni(S),isPercent:Qi(S),maxDecimals:M.general?9:K,scale:(I=M.scale)!==null&&I!==void 0?I:1,color:0,parentheses:0,grouped:M.grouping?1:0,_partitions:S},F=!N.isDate&&!N.isText&&!M.error&&M.tokens.some(te=>te.type==="string"&&(H?te.value===H:Se.test(te.value)));let Y="G",W=K>=0?Math.min(15,K):"",J="",re="";if(Q&&Q.color&&(re="-",N.color=1),M.parens&&(J="()",N.parentheses=1),F)Y="C",N.type="currency";else if(M.error)N.type="error",N.maxDecimals=0;else if(N.isDate){let te=0,Ee=0,Qe="";M.tokens.forEach($=>{const Ue=$.type;/^(b-)?year/.test(Ue)?(Qe+="Y",Ee++):Ue.startsWith("month")?(Qe+="M",Ee++):/^(week)?day/.test(Ue)?(Qe+="D",Ee++):Ue!=="hour"&&Ue!=="min"&&Ue!=="sec"&&Ue!=="am"||(Qe+=Ue[0],te++)}),N.type="date",Ee&&te?N.type="datetime":!Ee&&te&&(N.type="time");const ut=Gi.find($=>Qe.startsWith($[0]));Y=ut?"D":"G",W=ut?ut[1]:""}else N.isText?(Y="G",N.type="text",W="",N.maxDecimals=0):M.general?(Y="G",N.type="general",W=""):M.fractions?(Y="G",N.type="fraction",W=""):M.exponential?(Y="S",N.type="scientific"):N.isPercent?(Y="P",N.type="percent"):M.grouping?(Y=",",N.type="grouped"):(M.int_max||K)&&(Y="F",N.type="number");return N.code=Y+W+re+J,N.level=Wi[N.type],Object.freeze(N)}(A,(_||{}).currency)||new SyntaxError;return U.info=x,U.dateInfo=function(S){const[I]=S;return{year:!!(2&I.date),month:!!(4&I.date),day:!!(8&I.date),hours:!!(16&I.date),minutes:!!(32&I.date),seconds:!!(64&I.date),clockType:I.clock===12?12:24}}(A),U.isPercent=()=>!!x.isPercent,U.isDate=()=>!!x.isDate,U.isText=()=>!!x.isText,U.pattern=y,E.error&&(U.error=E.error),U.options=T,U.locale=V||_&&_.locale||"",Object.freeze(U)}function ue(E,_){E||(E="General");let y=null;return Ot[E]?y=Ot[E]:(y=Object.assign({},v(),_).throws?Vn(E):function(A){try{return Vn(A)}catch(V){const T={tokens:[{type:"error"}],error:V.message};return{pattern:A,partitions:[T,T,T,T],error:V.message,locale:null}}}(E),y.error||(Ot[E]=y)),ea(y,_)}ue.isDate=E=>ue(E,{throws:!1}).isDate(),ue.isPercent=E=>ue(E,{throws:!1}).isPercent(),ue.isText=E=>ue(E,{throws:!1}).isText(),ue.getInfo=(E,_)=>ue(E,{..._,throws:!1}).info,ue.getDateInfo=(E,_)=>ue(E,{..._,throws:!1}).dateInfo,ue.dateToSerial=Zt,ue.dateFromSerial=On,ue.options=v,ue.dec2frac=b,ue.round=R,ue.codeToLocale=r,ue.parseLocale=u,ue.getLocale=l,ue.addLocale=(E,_)=>{const y=u(_);return delete Ot[y.lang],delete Ot[y.language],g(E,y)},ue.format=function(E,_,y){let A=arguments.length>3&&arguments[3]!==void 0&&arguments[3];const V=y&&typeof y=="object"?y:{locale:y,throws:!A};return ue(E,V)(Zt(_,V),V)},ue.is_date=ue.isDate,ue.parseNumber=jn,ue.parseDate=$n,ue.parseTime=Wr,ue.parseBool=Yn,ue.parseValue=function(E,_){var y,A,V;return(y=(A=(V=jn(E))!==null&&V!==void 0?V:$n(E,_))!==null&&A!==void 0?A:Wr(E))!==null&&y!==void 0?y:Yn(E)};var ta=ue;return t=t.default}()})})(Hs);var Ta=Hs.exports,ka=Ta;const xt=Ba(ka),Ia=["$","£","¥","¤","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],ja={currency:2,date:4,datetime:5,error:11,fraction:7,general:0,grouped:11,number:1,percent:6,scientific:8,text:9,time:5,unknown:11};function $a(n,i,e){var u,c;if(n==null||i==null)return i;const t=(e==null?void 0:e.getStyleByCell(n))||n.s,r=(e==null?void 0:e.getStyleByCell(i))||i.s;if(t==null||r==null||typeof t!="object"||typeof r!="object")return i;const s=(u=t==null?void 0:t.n)==null?void 0:u.pattern,a=(c=r==null?void 0:r.n)==null?void 0:c.pattern;if(s==null||a==null)return i;const o=s||a;return r.n.pattern=o,i}function rs(n){if(Ya(n))return 3;const i=xt.getInfo(n).type||"unknown";return ja[i]}function Ya(n){return!!Ia.find(i=>n.includes(i))&&n.startsWith("_(")}function er(n,i,e){if(n==="")return i;if(i==="")return n;const t=rs(n),r=rs(i);return e===ne.PLUS||e===ne.MINUS?t===4&&r===4||t===11&&r===11?"":i:e===ne.MULTIPLY||e===ne.DIVIDED?t===6&&r===6||t===7&&r===7||t===8&&r===8||t===9&&r===9?i:"":n||i}const wr=class wr extends Ke{static create(){return this._instance=this._instance||new wr(0),this._instance}isNull(){return!0}plus(i){return D.create(0).plus(i)}minus(i){return D.create(0).minus(i)}multiply(i){return D.create(0).multiply(i)}divided(i){return D.create(0).divided(i)}mod(i){return D.create(0).mod(i)}compare(i,e){return i.isString()?le.create("").compare(i,e):i.isBoolean()?j.create(!1).compare(i,e):D.create(0).compare(i,e)}concatenateFront(i){return i.isArray()?i.concatenateBack(le.create("")):le.create(this.concatenate(i.getValue(),Be.FRONT))}concatenateBack(i){return i.isArray()?i.concatenateFront(le.create("")):le.create(this.concatenate(i.getValue(),Be.BACK))}plusBy(i){return D.create(0).plusBy(i)}minusBy(i){return D.create(0).minusBy(i)}multiplyBy(i){return D.create(0).multiplyBy(i)}dividedBy(i){return D.create(0).dividedBy(i)}compareBy(i,e){return typeof i=="string"?le.create("").compareBy(i,e):typeof i=="boolean"?j.create(!1).compareBy(i,e):D.create(0).compareBy(i,e)}pow(i){return D.create(0).pow(i)}sqrt(){return D.create(0).sqrt()}cbrt(){return D.create(0).cbrt()}cos(){return D.create(0).cos()}acos(){return D.create(0).acos()}acosh(){return D.create(0).acosh()}sin(){return D.create(0).sin()}sinh(){return D.create(0).sinh()}asin(){return D.create(0).asin()}asinh(){return D.create(0).asinh()}tan(){return D.create(0).tan()}tanh(){return D.create(0).tanh()}atan(){return D.create(0).atan()}atan2(i){return D.create(0).atan2(i)}atanh(){return D.create(0).atanh()}log(){return h.create(f.NUM)}log10(){return h.create(f.NUM)}exp(){return D.create(0).exp()}abs(){return D.create(0).abs()}round(i){return D.create(0).round(i)}floor(i){return D.create(0).floor(i)}ceil(i){return D.create(0).ceil(i)}convertToNumberObjectValue(){return D.create(0)}convertToBooleanObjectValue(){return j.create(!1)}};d(wr,"_instance");let se=wr;const mt=class mt extends Ke{constructor(e){super(e);d(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new mt(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new mt(!1),this._instanceFalse)}getValue(){return this._value}isBoolean(){return!0}getNegative(){const e=this.getValue();let t=0;return e&&(t=1),D.create(-t)}getReciprocal(){return this.getValue()?D.create(1):h.create(f.DIV_BY_ZERO)}plus(e){return this._convertToNumber().plus(e)}minus(e){return this._convertToNumber().minus(e)}multiply(e){return this._convertToNumber().multiply(e)}divided(e){return this._convertToNumber().divided(e)}mod(e){return this._convertToNumber().mod(e)}compare(e,t){return e.isArray()?e.compare(this,hn(t)):e.isNull()?this._convertToNumber().compare(e,t):this.compareBy(e.getValue(),t)}compareBy(e,t){let r=!1;if(typeof e=="string"||typeof e=="number")r=this._compareString(t);else if(typeof e=="boolean"){const s=D.create(e?1:0);return this._convertToNumber().compare(s,t)}return mt.create(r)}_compareString(e){switch(e){case O.GREATER_THAN:case O.GREATER_THAN_OR_EQUAL:return!0;case O.EQUALS:case O.LESS_THAN:case O.LESS_THAN_OR_EQUAL:case O.NOT_EQUAL:return!1}}concatenateFront(e){return this._convertToNumber().concatenateFront(e)}concatenateBack(e){return this._convertToNumber().concatenateBack(e)}_convertToNumber(){const e=this.getValue();let t=0;return e&&(t=1),D.create(t)}pow(e){return this._convertToNumber().pow(e)}sqrt(){return this._convertToNumber().sqrt()}cbrt(){return this._convertToNumber().cbrt()}cos(){return this._convertToNumber().cos()}acos(){return this._convertToNumber().acos()}acosh(){return this._convertToNumber().acosh()}sin(){return this._convertToNumber().sin()}sinh(){return this._convertToNumber().sinh()}asin(){return this._convertToNumber().asin()}asinh(){return this._convertToNumber().asinh()}tan(){return this._convertToNumber().tan()}tanh(){return this._convertToNumber().tanh()}atan(){return this._convertToNumber().atan()}atan2(e){return this._convertToNumber().atan2(e)}atanh(){return this._convertToNumber().atanh()}log(){return this._convertToNumber().log()}log10(){return this._convertToNumber().log10()}exp(){return this._convertToNumber().exp()}abs(){return this._convertToNumber().abs()}round(e){return this._convertToNumber().round(e)}floor(e){return this._convertToNumber().floor(e)}ceil(e){return this._convertToNumber().ceil(e)}convertToNumberObjectValue(){return Fr(this.getValue())}convertToBooleanObjectValue(){return this}};d(mt,"_instanceTrue"),d(mt,"_instanceFalse");let j=mt;const Ha=2e5,ns=new Rt(Ha);class D extends Ke{constructor(e){super(e);d(this,"_value",0);this._value=Number(e)}static create(e,t=""){const r=`${e}-${t}`,s=ns.get(r);if(s)return s;const a=new D(e);return t&&a.setPattern(t),ns.set(r,a),a}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return D.create(0).minus(this)}getReciprocal(){return D.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);let t=this.plusBy(e.getValue());if(t.isError())return t;const r=er(this.getPattern(),e.getPattern(),ne.PLUS);return t=D.create(Number(t.getValue()),r),t}equalZero(){return this._value===0}minus(e){if(e.isArray()){const s=e.getNegative();return s.isError()?s:s.plus(this)}let t=this.minusBy(e.getValue());if(t.isError())return t;const r=er(this.getPattern(),e.getPattern(),ne.MINUS);return t=D.create(Number(t.getValue()),r),t}multiply(e){if(e.isArray())return e.multiply(this);let t=this.multiplyBy(e.getValue());if(t.isError())return t;const r=er(this.getPattern(),e.getPattern(),ne.MULTIPLY);return t=D.create(Number(t.getValue()),r),t}divided(e){if(e.isArray()){const s=e.getReciprocal();return s.isError()?s:s.multiply(this)}let t=this.dividedBy(e.getValue());if(t.isError())return t;const r=er(this.getPattern(),e.getPattern(),ne.DIVIDED);return t=D.create(Number(t.getValue()),r),t}mod(e){if(e.isArray())return e.modInverse(this);const t=this.getValue(),r=e.getValue();if(e.isNull())return h.create(f.DIV_BY_ZERO);if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(r===0)return h.create(f.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(r)||Math.abs(r)*11259e8<=Math.abs(t))return h.create(f.NUM);const s=Jn(t,r);return Number.isFinite(s)?D.create(s):h.create(f.NUM)}if(typeof r=="boolean"){const s=r?1:0;return s===0?h.create(f.DIV_BY_ZERO):D.create(Jn(t,s))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):le.create(this.concatenate(e.getValue(),Be.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):le.create(this.concatenate(e.getValue(),Be.BACK))}compare(e,t){return e.isArray()?e.compare(this,hn(t)):this.compareBy(e.getValue(),t)}plusBy(e){const t=this.getValue();if(typeof e=="string")return Pt.has(e)?h.create(e):h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=Wn(t,e);return Number.isFinite(r)?D.create(r):h.create(f.NUM)}return typeof e=="boolean"?D.create(Wn(t,e?1:0)):this}minusBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=Gn(t,e);return Number.isFinite(r)?D.create(r):h.create(f.NUM)}return typeof e=="boolean"?D.create(Gn(t,e?1:0)):this}multiplyBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=bt(t,e);return Number.isFinite(r)?D.create(r):h.create(f.NUM)}return typeof e=="boolean"?D.create(bt(t,e?1:0)):this}dividedBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(e===0)return h.create(f.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=Xn(t,e);return Number.isFinite(r)?D.create(r):h.create(f.NUM)}return typeof e=="boolean"?e===!1?h.create(f.DIV_BY_ZERO):D.create(Xn(t,1)):this}compareBy(e,t){const r=this.getValue();let s=!1;return typeof e=="string"?s=this._compareString(t):typeof e=="number"?s=this._compareNumber(r,e,t):typeof e=="boolean"&&(s=this._compareBoolean(t)),j.create(s)}_compareString(e){switch(e){case O.EQUALS:case O.GREATER_THAN:case O.GREATER_THAN_OR_EQUAL:return!1;case O.LESS_THAN:case O.LESS_THAN_OR_EQUAL:case O.NOT_EQUAL:return!0}}_compareNumber(e,t,r){return!Number.isFinite(e)||!Number.isFinite(t)?this._compareInfinity(e,t,r):this._compareFiniteNumber(e,t,r)}_compareFiniteNumber(e,t,r){switch(r){case O.EQUALS:return ts(e,t);case O.GREATER_THAN:return Va(e,t);case O.GREATER_THAN_OR_EQUAL:return wa(e,t);case O.LESS_THAN:return Ua(e,t);case O.LESS_THAN_OR_EQUAL:return Oa(e,t);case O.NOT_EQUAL:return!ts(e,t)}}_compareBoolean(e){switch(e){case O.EQUALS:case O.GREATER_THAN:case O.GREATER_THAN_OR_EQUAL:return!1;case O.LESS_THAN:case O.LESS_THAN_OR_EQUAL:case O.NOT_EQUAL:return!0}}pow(e){if(e.isArray())return e.powInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=es(t,r);return Number.isFinite(s)?D.create(s):h.create(f.NUM)}return typeof r=="boolean"?D.create(es(t,r?1:0)):this}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=xa(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}cbrt(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cbrt(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}cos(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cos(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}acos(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.acos(e);return Number.isNaN(t)?h.create(f.NUM):D.create(t)}acosh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.acosh(e);return Number.isNaN(t)?h.create(f.NUM):D.create(t)}sin(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.sin(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}sinh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.sinh(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}asin(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.asin(e);return Number.isNaN(t)?h.create(f.NUM):D.create(t)}asinh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.asinh(e);return Number.isNaN(t)?h.create(f.NUM):D.create(t)}tan(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.tan(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}tanh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.tanh(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}atan(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.atan(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}atan2(e){if(e.isArray())return e.atan2Inverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);if(t===0&&r===0)return h.create(f.DIV_BY_ZERO);const s=Math.atan2(t,r);return Number.isFinite(s)?D.create(s):h.create(f.NUM)}return typeof r=="boolean"?D.create(Math.atan2(t,r?1:0)):this}atanh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.atanh(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}log(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return h.create(f.NUM);const t=Math.log(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}log10(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return h.create(f.NUM);const t=Math.log10(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}exp(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.exp(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}abs(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.abs(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}round(e){if(e.isArray())return e.roundInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=Kn(t,r);return Number.isFinite(s)?D.create(s):h.create(f.NUM)}return typeof r=="boolean"?D.create(Kn(t,r?1:0)):this}floor(e){if(e.isArray())return e.floorInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=qn(t,r);return Number.isFinite(s)?D.create(s):h.create(f.NUM)}return typeof r=="boolean"?D.create(qn(t,r?1:0)):this}ceil(e){if(e.isArray())return e.ceilInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=Zn(t,r);return Number.isFinite(s)?D.create(s):h.create(f.NUM)}return typeof r=="boolean"?D.create(Zn(t,r?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return Mr(!0)}_compareInfinity(e,t,r){let s=!1;switch(r){case O.EQUALS:s=e===t;break;case O.GREATER_THAN:s=e>t;break;case O.GREATER_THAN_OR_EQUAL:s=e>=t;break;case O.LESS_THAN:s=e<t;break;case O.LESS_THAN_OR_EQUAL:s=e<=t;break;case O.NOT_EQUAL:s=e!==t;break}return s}}const Qa=2e5,ss=new Rt(Qa);class le extends Ke{constructor(e){super(e);d(this,"_value");this._value=e}static create(e){const t=ss.get(e);if(t)return t;const r=new le(e);return ss.set(e,r),r}getValue(){return this._value}isString(){return!0}concatenateFront(e){return e.isArray()?e.concatenateBack(this):le.create(this.concatenate(e.getValue(),Be.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):le.create(this.concatenate(e.getValue(),Be.BACK))}compare(e,t,r){return e.isArray()?e.compare(this,hn(t),r):this.compareBy(e.getValue(),t,r)}compareBy(e,t,r=!1){let s=this.getValue(),a=!1;if(typeof e=="string"){if(r||(s=s.toLocaleLowerCase(),e=e.toLocaleLowerCase()),Sa(e))return this._checkWildcard(e,t);a=this._compareString(s,e,t)}else typeof e=="number"?a=this._compareNumber(t):typeof e=="boolean"&&(a=this._compareBoolean(t));return j.create(a)}_compareString(e,t,r){switch(r){case O.EQUALS:return e===t;case O.GREATER_THAN:return e>t;case O.GREATER_THAN_OR_EQUAL:return e>=t;case O.LESS_THAN:return e<t;case O.LESS_THAN_OR_EQUAL:return e<=t;case O.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case O.NOT_EQUAL:case O.GREATER_THAN:case O.GREATER_THAN_OR_EQUAL:return!0;case O.EQUALS:case O.LESS_THAN:case O.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case O.EQUALS:case O.GREATER_THAN:case O.GREATER_THAN_OR_EQUAL:return!1;case O.LESS_THAN:case O.LESS_THAN_OR_EQUAL:case O.NOT_EQUAL:return!0}}convertToNumberObjectValue(){return Fr(this.getValue())}convertToBooleanObjectValue(){return j.create(!0)}_checkWildcard(e,t){const r=this.getValue().toLocaleLowerCase(),s=Aa(r,e,t);return j.create(s)}}function Mr(n){if(typeof n=="boolean")return j.create(n);let i=!1;if(typeof n=="string"){const e=n.toLocaleUpperCase();e===it.TRUE?i=!0:e===it.FALSE&&(i=!1)}else n===1?i=!0:i=!1;return j.create(i)}function za(n){let i=n.toString();return i.charAt(0)==='"'&&i.charAt(i.length-1)==='"'&&(i=i.slice(1,-1),i=i.replace(/""/g,'"')),le.create(i)}function Fr(n,i=""){if(typeof n=="boolean"){let e=0;return n&&(e=1),D.create(e,i)}else{if(typeof n=="number")return Number.isFinite(n)?D.create(n,i):h.create(f.NUM);if(C.isRealNum(n))return D.create(Number(n),i)}return h.create(f.VALUE)}function Na(n){return""}function Qs(n=[]){const i=[];for(let e=0;e<n.length;e++){const t=n[e];i[e]==null&&(i[e]=[]);for(let r=0;r<t.length;r++){const s=t[r];i[e][r]=at.create(s)}}return i}function Wa(n=[]){const i=[];for(let e=0;e<n.length;e++){const t=n[e];i[e]==null&&(i[e]=[]);for(let r=0;r<t.length;r++){const s=t[r];s==null?i[e][r]=null:s.isError()?i[e][r]=s.getErrorType():i[e][r]=s.getValue()}}return i}class he extends Ke{constructor(e){super(typeof e=="string"?e:Na());d(this,"_values",[]);d(this,"_rowCount",-1);d(this,"_columnCount",-1);d(this,"_unitId","");d(this,"_sheetId","");d(this,"_currentRow",-1);d(this,"_currentColumn",-1);d(this,"_sliceCache",new Map);d(this,"_flattenCache");d(this,"_defaultValue",null);d(this,"_flattenPosition");this._values=this._formatValue(e)}static create(e){return new he(e)}static createByArray(e){const r={calculateValueList:Qs(e),rowCount:e.length,columnCount:e[0].length||0,unitId:"",sheetId:"",row:-1,column:-1};return new he(r)}dispose(){this._values.forEach(e=>{e.forEach(t=>{t==null||t.dispose()})}),this._values=[],this._clearCache()}clone(){return this.map(e=>e)}getRowCount(){return this._rowCount}setRowCount(e){this._rowCount=e}getColumnCount(){return this._columnCount}setColumnCount(e){this._columnCount=e}setCurrent(e,t){this._currentRow=e,this._currentColumn=t}setUnitId(e){this._unitId=e}getUnitId(){return this._unitId}setSheetId(e){this._sheetId=e}getSheetId(){return this._sheetId}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getArrayValue(){return this._values}setArrayValue(e){this._clearCache(),this._values=e}isArray(){return!0}setDefaultValue(e){this._defaultValue=e}get(e,t){var r;return(r=this._values[e])==null?void 0:r[t]}getRealValue(e,t){const r=this._values[e];if(r==null)return null;const s=r[t];return s==null?null:s}getValueOrDefault(e,t){return this.get(e,t)||this._defaultValue}set(e,t,r){if(e>=this._rowCount||t>=this._columnCount)throw new Error("Exceeding array bounds.");this._clearCache(),this._values[e][t]=r}getRangePosition(){const t=this.getRowCount(),r=0,s=this.getColumnCount();return{startRow:0,endRow:t-1,startColumn:r,endColumn:s-1}}iterator(e){var u;const{startRow:t,endRow:r,startColumn:s,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let c=t;c<=r;c++)for(let l=s;l<=a;l++)if(e(((u=o[c])==null?void 0:u[l])||this._defaultValue,c,l)===!1)return}iteratorReverse(e){var u;const{startRow:t,endRow:r,startColumn:s,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let c=r;c>=t;c--)for(let l=a;l>=s;l--)if(e(((u=o[c])==null?void 0:u[l])||this._defaultValue,c,l)===!1)return}getLastTruePosition(){let e;return this.iteratorReverse((t,r,s)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:s},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,r,s)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:s},!1}),e}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||se.create()}getLastCell(){const{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||se.create()}pick(e){const t=this.pickRaw(e);return this._createNewArray(t,1,t[0].length)}pickRaw(e){const t=e.getRowCount(),r=e.getColumnCount();if(t!==this._rowCount||r!==this._columnCount)return[[se.create()]];const s=[];s[0]=[];for(let a=0;a<t;a++)for(let o=0;o<r;o++){const u=e.get(a,o);if(!(u==null||u.isError())&&u.getValue()===!0){const c=this.get(a,o);s[0].push(c)}}return s}flatten(){if(this._flattenCache!=null)return this._flattenCache;const e=[];e[0]=[];for(let r=0;r<this._rowCount;r++)for(let s=0;s<this._columnCount;s++){const a=this.get(r,s);e[0].push(a)}const t=this._createNewArray(e,1,e[0].length);return t.setDefaultValue(this._defaultValue),this._flattenCache=t,t}flattenPosition(){if(this._flattenPosition!=null)return this._flattenPosition;const e=[],t=[],r=[],s=[];let a=0;for(let u=0;u<this._rowCount;u++)for(let c=0;c<this._columnCount;c++){const l=this.get(u,c);if(l==null||l.isError()||l.isNull()){a++;continue}l.isString()?(e.push(l),r.push(a++)):(t.push(l),s.push(a++))}const o={stringArray:e,numberArray:t,stringPosition:r,numberPosition:s};return this._flattenPosition=o,o}slice(e,t){let r=0,s=this._rowCount,a=1,o=0,u=this._columnCount,c=1;if(e!=null&&(r=e[0]||0,s=e[1]||this._rowCount,a=e[2]||1),t!=null&&(o=t[0]||0,u=t[1]||this._columnCount,c=t[2]||1),r>=this._rowCount||o>=this._columnCount)return;const l=`${r}_${s}_${a}_${o}_${u}_${c}`,m=this._sliceCache.get(l);if(m!=null)return m;const g=[],p=this._values;let R=0,b=0;for(let B=r;B<s;B+=a){b=0,g[R]==null&&(g[R]=[]);for(let X=o;X<u;X+=c){if(!p[B])return;let oe=p[B][X]||this._defaultValue;oe==null&&(oe=se.create()),g[R][b]=oe,b++}R++}if(g.length===0||g[0].length===0)return;const P=a>1?-1:r+this._currentRow,w=c>1?-1:o+this._currentColumn,v=this._createNewArray(g,g.length,g[0].length,P,w);return v.setDefaultValue(this._defaultValue),this._sliceCache.set(l,v),v}sortByRow(e){const t=this._transposeArray(this._values);t.sort(this._sort(e)),this._clearCache(),this._values=this._transposeArray(t)}sortByColumn(e){this._clearCache(),this._values.sort(this._sort(e))}transpose(){const e=this._transposeArray(this._values),t=this._rowCount,r=this._columnCount,s=this._createNewArray(e,r,t);return s.setDefaultValue(this._defaultValue),s}orderSearch(e,t=Le.MIN,r=!1,s=!1){let a,o,u,c;const l=(m,g,p)=>{if(m==null)return!0;let R;if(s===!0?R=m.compare(e,O.EQUALS):R=m.isEqual(e),(R==null?void 0:R.getValue())===!0)return a=m,u={row:g,column:p},!1;t===Le.MAX?m.isGreaterThan(e).getValue()===!0&&(o==null||m.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=m,c={row:g,column:p}):t===Le.MIN&&m.isLessThan(e).getValue()===!0&&(o==null||m.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=m,c={row:g,column:p})};if(r){const m=this._values.length;if(this._values[0]==null)return;const g=this._values[0].length;for(let p=m-1;p>=0;p--)for(let R=g-1;R>=0;R--){const b=this._values[p][R];l(b,p,R)}}else this.iterator((m,g,p)=>{l(m,g,p)});if(a!=null)return u;if(o!=null)return c}binarySearch(e,t=We.MIN){if(e.isError())return;const{stringArray:r,stringPosition:s,numberArray:a,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,r,s,t):this._binarySearch(e,a,o,t)}_binarySearch(e,t,r,s=We.MIN){const a=Qn(),o=e.getValue().toString().toLocaleLowerCase();let u=0,c=t.length-1,l=null;for(;u<=c;){const m=Math.floor((u+c)/2),g=t[m];let p=0;if(g.isNull())p=1;else{const R=g.getValue();p=a(R.toString().toLocaleLowerCase(),o)}if(p===0)return r[m];p===-1?(u=m+1,s===We.MIN&&(l=m)):(c=m-1,s===We.MAX&&(l=m))}if(l!=null)return r[l]}sum(){let e=D.create(0);return this.iterator(t=>{if(t==null||t.isString()||t.isBoolean()||t.isNull())return!0;if(t.isError())return e=t,!1;e=e.plus(t)}),e}max(){let e=D.create(Number.NEGATIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isLessThan(t).getValue()&&(e=t)}),e}min(){let e=D.create(Number.POSITIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isGreaterThan(t).getValue()&&(e=t)}),e}count(){let e=D.create(0);return this.iterator(t=>{if(t==null||t.isError()||t.isString()||t.isNull()||t.isBoolean())return!0;e=e.plusBy(1)}),e}countA(){let e=D.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=D.create(0);return this.iterator(t=>{(t==null||t.isNull()||t.getValue()==="")&&(e=e.plusBy(1))}),e}getNegative(){return he.create("{0}").minus(this)}getReciprocal(){return he.create("{1}").divided(this)}plus(e){return this._batchOperator(e,1)}minus(e){return this._batchOperator(e,0)}multiply(e){return this._batchOperator(e,2)}divided(e){return this._batchOperator(e,3)}mod(e){return this._batchOperator(e,4)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t,r){return this._batchOperator(e,5,t,r)}concatenateFront(e){return this._batchOperator(e,6)}concatenateBack(e){return this._batchOperator(e,7)}map(e){const t=(r,s,a)=>r==null?se.create():r.isError()?r:e(r,s,a);return this.mapValue(t)}mapValue(e){var a;const t=this._rowCount,r=this._columnCount,s=[];for(let o=0;o<t;o++){const u=[];for(let c=0;c<r;c++){const l=(a=this._values)==null?void 0:a[o];if(l==null)u[c]=h.create(f.VALUE);else{const m=l[c]||this._defaultValue;m?u[c]=e(m,o,c):u[c]=se.create()}}s.push(u)}return this._createNewArray(s,t,r)}pow(e){return this._batchOperator(e,8)}powInverse(e){return this.map(t=>t.isError()?t:e.pow(t))}sqrt(){return this.map(e=>e.isError()?e:e.sqrt())}cbrt(){return this.map(e=>e.isError()?e:e.cbrt())}cos(){return this.map(e=>e.isError()?e:e.cos())}acos(){return this.map(e=>e.isError()?e:e.acos())}acosh(){return this.map(e=>e.isError()?e:e.acosh())}sin(){return this.map(e=>e.isError()?e:e.sin())}sinh(){return this.map(e=>e.isError()?e:e.sinh())}asin(){return this.map(e=>e.isError()?e:e.asin())}asinh(){return this.map(e=>e.isError()?e:e.asinh())}tan(){return this.map(e=>e.isError()?e:e.tan())}tanh(){return this.map(e=>e.isError()?e:e.tanh())}atan(){return this.map(e=>e.isError()?e:e.atan())}atanh(){return this.map(e=>e.isError()?e:e.atanh())}atan2(e){return this._batchOperator(e,12)}atan2Inverse(e){return this.map(t=>t.isError()?t:e.atan2(t))}mean(e=0){const t=this.sum(),r=this.count();return t.divided(e===0?r:r.minusBy(1))}median(){const e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),r=t.getColumnCount();if(r<=1)return t.get(0,0)||se.create();if(t.sortByRow(0),r%2===0){const s=t.get(0,r/2)||se.create(),a=t.get(0,r/2-1)||se.create();return s.plus(a).divided(D.create(2))}return t.get(0,(r-1)/2)||se.create()}var(e=0){const t=this.mean(),r=[[]];this.iterator(l=>{if(l==null||l.isError()||l.isString()||l.isBoolean()||l.isNull())return;const m=l.minus(t).pow(D.create(2));m.isError()||r[0].push(m)});const{_unitId:s,_sheetId:a,_currentRow:o,_currentColumn:u}=this;return he.create({calculateValueList:r,rowCount:1,columnCount:r[0].length,unitId:s,sheetId:a,row:o,column:u}).mean(e)}std(e=0){const t=this.var(e);return t.isError()?t:t.sqrt()}log(){return this.map(e=>e.isError()?e:e.log())}log10(){return this.map(e=>e.isError()?e:e.log10())}exp(){return this.map(e=>e.isError()?e:e.exp())}abs(){return this.map(e=>e.isError()?e:e.abs())}round(e){return this._batchOperator(e,9)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,10)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,11)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return Wa(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=Qn();return(r,s)=>{const a=r[e],o=s[e];return a==null?1:o==null?-1:a.isError()&&a.isError()?0:a.isError()?1:o.isError()?-1:t(a.getValue(),o.getValue())}}_transposeArray(e){const t=e.length,r=e[0].length,s=[];for(let a=0;a<r;a++){s[a]=[];for(let o=0;o<t;o++)s[a][o]=e[o][a]}return s}_batchOperator(e,t,r,s){const a=[];let o=this._rowCount,u=this._columnCount;if(e.isArray()){const m=e.getRowCount(),g=e.getColumnCount();if(o=Math.max(m,o),u=Math.max(g,u),m===1&&g===1){const p=e.getFirstCell();for(let R=0;R<u;R++)a.push(p)}else if(m===1&&this._columnCount>1){const p=e.getArrayValue();for(let R=0;R<u;R++)a.push(p[0][R])}else return this._batchOperatorArray(e,t,r,s)}else for(let m=0;m<u;m++)a.push(e);const c=[];for(let m=0;m<u;m++){const g=a[m];this._batchOperatorValue(g,m,c,t,r,s)}const l=this._createNewArray(c,o,u);return l.setDefaultValue(j.create(!1)),l}_batchOperatorValue(e,t,r,s,a,o){const u=this._rowCount;let c=!1;const l=this.getUnitId(),m=this.getSheetId(),g=this.getCurrentRow(),p=this.getCurrentColumn();if(s===5&&(c=tt.canUseCache(l,m,t+p,g,g+u-1),c===!0)){if(a===O.EQUALS){const R=tt.getCellPositions(l,m,t+p,e.getValue());R!=null&&R.forEach(b=>{const P=b-g;r[P]==null&&(r[P]=[]),r[P][t]=j.create(!0)})}else{const R=tt.getCellValuePositions(l,m,t+p);R!=null&&R.forEach((b,P)=>{let w=se.create();typeof P=="string"?w=le.create(P):typeof P=="number"?w=D.create(P):typeof P=="boolean"&&(w=j.create(P)),w.compare(e,a,o).getValue()===!0&&b.forEach(B=>{B>=g&&B<=g+u-1&&(r[B-g]==null&&(r[B-g]=[]),r[B-g][t]=j.create(!0))})})}return}for(let R=0;R<u;R++){const b=this.getValueOrDefault(R,t);if(r[R]==null&&(r[R]=[]),b&&e)if(b.isError())r[R][t]=b;else if(e.isError())r[R][t]=e;else switch(s){case 1:r[R][t]=b.plus(e);break;case 0:r[R][t]=b.minus(e);break;case 2:r[R][t]=b.multiply(e);break;case 3:r[R][t]=b.divided(e);break;case 4:r[R][t]=b.mod(e);break;case 5:a?r[R][t]=b.compare(e,a,o):r[R][t]=h.create(f.VALUE);break;case 6:r[R][t]=b.concatenateFront(e);break;case 7:r[R][t]=b.concatenateBack(e);break;case 8:r[R][t]=b.pow(e);break;case 9:r[R][t]=b.round(e);break;case 10:r[R][t]=b.floor(e);break;case 12:r[R][t]=b.atan2(e);break;case 11:r[R][t]=b.ceil(e);break}else r[R][t]=h.create(f.NA);b!=null&&(b.isError()?tt.set(l,m,t+p,b.getErrorType(),R+g):b.isNull()?tt.set(l,m,t+p,"",R+g):tt.set(l,m,t+p,b.getValue(),R+g))}tt.setContinueBuildingCache(l,m,t+p,g,g+u-1)}_batchOperatorArray(e,t,r,s){let a=e.getRowCount(),o=e.getColumnCount();a<this._rowCount&&(a=this._rowCount),o<this._columnCount&&(o=this._columnCount);const u=[],c=this._checkArrayCalculateType(this),l=this._checkArrayCalculateType(e);for(let m=0;m<a;m++){const g=[];for(let p=0;p<o;p++){let R;c===3?R=this.getValueOrDefault(0,0):c===1?R=this.getValueOrDefault(0,p):c===2?R=this.getValueOrDefault(m,0):R=this.getValueOrDefault(m,p);let b;if(l===3?b=e.getValueOrDefault(0,0):l===1?b=e.getValueOrDefault(0,p):l===2?b=e.getValueOrDefault(m,0):b=e.getValueOrDefault(m,p),R&&b)if(R.isError())g[p]=R;else if(b.isError())g[p]=b;else switch(t){case 1:g[p]=R.plus(b);break;case 0:g[p]=R.minus(b);break;case 2:g[p]=R.multiply(b);break;case 3:g[p]=R.divided(b);break;case 4:g[p]=R.mod(b);break;case 5:r?g[p]=R.compare(b,r,s):g[p]=h.create(f.VALUE);break;case 6:g[p]=R.concatenateFront(b);break;case 7:g[p]=R.concatenateBack(b);break;case 8:g[p]=R.pow(b);break;case 9:g[p]=R.round(b);break;case 12:g[p]=R.atan2(b);break;case 10:g[p]=R.floor(b);break;case 11:g[p]=R.ceil(b);break}else g[p]=h.create(f.NA)}u.push(g)}return this._createNewArray(u,a,o)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?3:e.getRowCount()===1?1:e.getColumnCount()===1?2:0}_formatValue(e){if(typeof e!="string")return e=e,this._rowCount=e.rowCount,this._columnCount=e.columnCount,this._unitId=e.unitId,this._sheetId=e.sheetId,this._currentRow=e.row,this._currentColumn=e.column,e.calculateValueList;e=e.slice(1,-1);const t=e.split(";"),r=t.length,s=[];let a=0;for(let o=0;o<r;o++){const c=t[o].split(","),l=c.length;a<l&&(a=l);const m=[];for(let g=0;g<l;g++){const p=c[g].trim();m.push(at.create(p))}s.push(m)}return this._rowCount=r,this._columnCount=a,s}_createNewArray(e,t,r,s=-1,a=-1){(this._currentColumn===-1||this._currentRow===-1)&&(s=-1,a=-1);const o={calculateValueList:e,rowCount:t,columnCount:r,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:s,column:a};return he.create(o)}}class at{static create(i){if(i==null)return se.create();if(typeof i=="boolean")return j.create(i);if(typeof i=="string"){const e=i.toLocaleUpperCase().trim();return Pt.has(e)?h.create(e):e===it.TRUE||e===it.FALSE?Mr(i):C.isRealNum(i)?D.create(Number(i)):new RegExp(ga,"g").test(i.replace(/\n/g,"").replace(/\r/g,""))?he.create(i.replace(/\n/g,"").replace(/\r/g,"")):za(i)}return typeof i=="number"?Fr(i):h.create(f.VALUE)}}function Ga(n){if(n===null)return 0;if(n!=null&&n.p){const i=n==null?void 0:n.p.body;if(i==null)return 0;const e=i.dataStream;return e.substring(e.length-2,e.length)===C.DEFAULT_EMPTY_DOCUMENT_VALUE?e.substring(0,e.length-2):e}return(n==null?void 0:n.v)||0}const Xa=1e5,un=new Rt(Xa);class Vt extends Or{constructor(e){super();d(this,"_forcedSheetId","");d(this,"_forcedSheetName","");d(this,"_defaultSheetId","");d(this,"_rangeData",{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1});d(this,"_unitData",{});d(this,"_unitStylesData",{});d(this,"_defaultUnitId","");d(this,"_forcedUnitId","");d(this,"_runtimeData",{});d(this,"_arrayFormulaCellData",{});d(this,"_runtimeArrayFormulaCellData",{});d(this,"_runtimeFeatureCellData",{});d(this,"_refOffsetX",0);d(this,"_refOffsetY",0);this._token=e}dispose(){this._unitData={},this._unitStylesData={},this._runtimeData={}}getToken(){return this._token}setToken(e){this._token=e}isExceedRange(){const{startRow:e,endRow:t,startColumn:r,endColumn:s}=this.getRangePosition();return e<0||r<0||t>=this.getActiveSheetRowCount()||s>=this.getActiveSheetColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){let{startRow:e,startColumn:t,endRow:r,endColumn:s}=C.moveRangeByOffset(this._rangeData,this._refOffsetX,this._refOffsetY);return Number.isNaN(e)&&(e=0),Number.isNaN(t)&&(t=0),Number.isNaN(r)&&(r=this.getActiveSheetRowCount()-1),Number.isNaN(s)&&(s=this.getActiveSheetColumnCount()-1),{startRow:e,endRow:r,startColumn:t,endColumn:s}}isReferenceObject(){return!0}iterator(e){const{startRow:t,endRow:r,startColumn:s,endColumn:a}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(h.create(f.VALUE),t,s);const o=this._forcedUnitId||this._defaultUnitId,u=this._forcedSheetId||this._defaultSheetId;for(let c=t;c<=r;c++)for(let l=s;l<=a;l++){if(c<0||l<0)return e(h.create(f.REF),c,l);const m=this.getCellData(c,l);let g=!1;if(C.isNullCell(m)){g=e(null,c,l);continue}let p=this.getCellValueObject(m);if(c===t&&l===s){const R=this.getCellPattern(o,u,c,l);if(R&&p.isNumber()){const b=Number(p.getValue());p=D.create(b,R)}}if(g=e(p,c,l),g===!1)return}}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition(),r=this.getCellData(e,t);if(!r)return D.create(0);let s=this.getCellValueObject(r);const a=this._forcedUnitId||this._defaultUnitId,o=this._forcedSheetId||this._defaultSheetId,u=this.getCellPattern(a,o,e,t);if(u&&s.isNumber()){const c=Number(s.getValue());s=D.create(c,u)}return s}getRangeData(){return this._rangeData}setRangeData(e){this._rangeData=e}getUnitId(){return this._forcedUnitId&&this._forcedUnitId.length>0?this._forcedUnitId:this._defaultUnitId}getSheetId(){return this._forcedSheetId&&this._forcedSheetId.length>0?this._forcedSheetId:this._defaultSheetId}setForcedUnitIdDirect(e){e.length>0&&(this._forcedUnitId=e)}getForcedUnitId(){return this._forcedUnitId}setForcedSheetId(e){var t;this._forcedSheetId=(t=e[this.getUnitId()])==null?void 0:t[this._forcedSheetName]}setForcedSheetIdDirect(e){this._forcedSheetId=e}getForcedSheetId(){return this._forcedSheetId}setForcedSheetName(e){e.length>0&&(this._forcedSheetName=e)}getForcedSheetName(){return this._forcedSheetName}setDefaultSheetId(e){this._defaultSheetId=e}getDefaultSheetId(){return this._defaultSheetId}setDefaultUnitId(e){this._defaultUnitId=e}getDefaultUnitId(){return this._defaultUnitId}getUnitData(){return this._unitData}setUnitData(e){this._unitData=e}getUnitStylesData(){return this._unitStylesData}setUnitStylesData(e){this._unitStylesData=e}getRuntimeData(){return this._runtimeData}setRuntimeData(e){this._runtimeData=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}setRuntimeArrayFormulaCellData(e){this._runtimeArrayFormulaCellData=e}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e){this._runtimeFeatureCellData=e}getActiveSheetRowCount(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.rowCount)||0}getActiveSheetColumnCount(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.columnCount)||0}getRowCount(){return this._rangeData.endRow-this._rangeData.startRow+1}getColumnCount(){return this._rangeData.endColumn-this._rangeData.startColumn+1}getRowData(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.rowData)||{}}getColumnData(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.columnData)||{}}isCell(){return!1}isColumn(){return!1}isRow(){return!1}isRange(){return!1}isTable(){return!1}unionBy(e){return h.create(f.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){const t=Ga(e);if(Pt.has(t))return h.create(t);if(e.t===C.CellValueType.NUMBER){const r=this._getPatternByCell(e);return Fr(t,r)}return e.t===C.CellValueType.STRING||e.t===C.CellValueType.FORCE_STRING?le.create(t.toString()):e.t===C.CellValueType.BOOLEAN?Mr(t):at.create(t)}_getPatternByCell(e){var s;const t=this._unitStylesData[this.getUnitId()];if(!t)return"";const r=t.getStyleByCell(e);return((s=r==null?void 0:r.n)==null?void 0:s.pattern)||""}getCellByRow(e){return this.getCellByPosition(e)}getCellByColumn(e){return this.getCellByPosition(void 0,e)}getCurrentActiveSheetData(){var e;return(e=this._unitData[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentStylesData(){return this._unitStylesData[this.getUnitId()]}getCurrentRuntimeSheetData(){var e,t;return(t=(e=this._runtimeData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentActiveArrayFormulaCellData(){var e,t;return(t=(e=this._arrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaCellData(){var e,t;return(t=(e=this._runtimeArrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCellData(e,t){const r=this.getCurrentActiveSheetData(),s=this.getCurrentRuntimeSheetData(),a=this.getCurrentActiveArrayFormulaCellData(),o=this.getCurrentRuntimeActiveArrayFormulaCellData();return(s==null?void 0:s.getValue(e,t))||(o==null?void 0:o.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t)||(a==null?void 0:a.getValue(e,t))||(r==null?void 0:r.cellData.getValue(e,t))}getRuntimeFeatureCellValue(e,t){var s;const r=Object.keys(this._runtimeFeatureCellData);for(const a of r){const o=this._runtimeFeatureCellData[a],u=(s=o==null?void 0:o[this.getUnitId()])==null?void 0:s[this.getSheetId()];if(u==null)continue;const c=u.getValue(e,t);if(c!=null)return c}}getCellByPosition(e,t){e||(e=this._rangeData.startRow),t||(t=this._rangeData.startColumn);const r=this.getCellData(e,t);return r?this.getCellValueObject(r):h.create(f.VALUE)}getCellPattern(e,t,r,s){var c,l,m,g;const a=this._unitStylesData[e];if(!a)return"";const o=(m=(l=(c=this._unitData[e])==null?void 0:c[t])==null?void 0:l.cellData)==null?void 0:m.getValue(r,s);if(!o)return"";const u=a.getStyleByCell(o);return((g=u==null?void 0:u.n)==null?void 0:g.pattern)||""}toArrayValueObject(e=!0){var R;const{startRow:t,endRow:r,startColumn:s,endColumn:a}=this.getRangePosition(),o=`${this.getUnitId()}_${this.getSheetId()}_${t}_${r}_${s}_${a}`,u=un.get(o);if(u&&e)return u;const c=r-t+1,l=a-s+1;if(c<0||l<0)return this._getBlankArrayValueObject();const m=new Array(c);this.iterator((b,P,w)=>{const v=P-t,B=w-s;m[v]||(m[v]=new Array(l)),b==null&&(b=se.create()),m[v][B]=b});const g={calculateValueList:m,rowCount:m.length,columnCount:((R=m[0])==null?void 0:R.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:t,column:s},p=he.create(g);return e&&un.set(o,p),p}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}_checkIfWorksheetMiss(){return(this._forcedSheetId==null||this._forcedSheetId.length===0)&&this._forcedSheetName.length>0}_getBlankArrayValueObject(){const e={calculateValueList:[],rowCount:0,columnCount:0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:0,column:0};return he.create(e)}}class zs extends Or{constructor(i){super(),this._promise=i}isAsyncObject(){return!0}async getValue(){return this._promise}}class Ns extends Or{constructor(i){super(),this._promiseList=i}isAsyncArrayObject(){return!0}async getValue(){var t;const i=[];for(let r=0;r<this._promiseList.length;r++){const s=this._promiseList[r];i[r]==null&&(i[r]=[]);for(let a=0;a<s.length;a++){const o=s[a];o.isAsyncObject()?i[r][a]=await o.getValue():i[r][a]=o}}const e={calculateValueList:i,rowCount:i.length,columnCount:((t=i[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:0,column:0};return he.create(e)}}class It extends Vt{constructor(i,e,t){super(""),this.setRangeData(i),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}const is=/[\[\]]/g;function as(n,i){if(is.test(n)){const e=Number(n.replace(is,""));return i+e}return Number(n)-1}function qr(n,i=0,e=0){n=n.toLocaleUpperCase();const t=n.split(/[RC]/),r=t[1],s=t[2],a=as(r,i),o=as(s,e);return{row:a,column:o,absoluteRefType:C.AbsoluteRefType.NONE}}function Ws(n,i=0,e=0){const{refBody:t,sheetName:r,unitId:s}=Is(n),a=t.indexOf(":");if(a===-1){const b=qr(t,i,e),P=b.row,w=b.column,v=b.absoluteRefType;return{unitId:s,sheetName:r,range:{startRow:P,startColumn:w,endRow:P,endColumn:w,startAbsoluteRefType:v,endAbsoluteRefType:v}}}const o=t.substring(0,a),u=t.substring(a+1),c=qr(o,i,e),l=qr(u,i,e),m=c.row,g=c.column,p=l.row,R=l.column;return{unitId:s,sheetName:r,range:{startRow:m,startColumn:g,endRow:p,endColumn:R,startAbsoluteRefType:c.absoluteRefType,endAbsoluteRefType:l.absoluteRefType}}}function Ka(n){const i=tr(n.startRow,n.startAbsoluteRefType,!0),e=tr(n.startColumn,n.startAbsoluteRefType,!1),t=tr(n.endRow,n.endAbsoluteRefType,!0),r=tr(n.endColumn,n.endAbsoluteRefType,!1);return i===t&&e===r?`R${i}C${e}`:`R${i}C${e}:R${t}C${r}`}function tr(n,i=C.AbsoluteRefType.ALL,e){switch(n+=1,i){case C.AbsoluteRefType.ALL:return`${n}`;case C.AbsoluteRefType.ROW:return e?`${n}`:`[${n}]`;case C.AbsoluteRefType.COLUMN:return e?`[${n}]`:`${n}`;case C.AbsoluteRefType.NONE:return`[${n}]`}}const Gs=[];var Xs=(n=>n)(Xs||{});function Z(n,i,e,t){const r=[];if(e.isArray()){const s=e.getRowCount(),a=e.getColumnCount();if(s===1&&a===1){const o=e.getFirstCell();for(let u=0;u<n;u++){const c=[];for(let l=0;l<i;l++)c.push(o);r.push(c)}}else if(s===1&&a>1)for(let o=0;o<n;o++){const u=[];for(let c=0;c<i;c++){const l=e.getRealValue(0,c)||(t!=null?t:se.create());u.push(l)}r.push(u)}else if(a===1&&s>1)for(let o=0;o<n;o++){const u=[];for(let c=0;c<i;c++){const l=e.getRealValue(o,0)||(t!=null?t:se.create());u.push(l)}r.push(u)}else for(let o=0;o<n;o++){const u=[];for(let c=0;c<i;c++){const l=e.getRealValue(o,c)||(t!=null?t:se.create());u.push(l)}r.push(u)}}else for(let s=0;s<n;s++){const a=[];for(let o=0;o<i;o++)a.push(e);r.push(a)}return pt(r,n,i)}function pt(n,i,e,t="",r=""){const s={calculateValueList:n,rowCount:i,columnCount:e,unitId:t,sheetId:r,row:-1,column:-1};return he.create(s)}function Qt(n){const i=[O.EQUALS,O.NOT_EQUAL,O.GREATER_THAN_OR_EQUAL,O.GREATER_THAN,O.LESS_THAN_OR_EQUAL,O.LESS_THAN];for(const e of i)if(n.startsWith(e)){const t=n.substring(e.length);return[e,at.create(t)]}return[O.EQUALS,at.create(n)]}function vr(n,i,e,t){if(!e)if(i.isString()){const r=`${i.getValue()}`,[s,a]=Qt(r);e=s,i=a}else e=O.EQUALS;return n.compare(i,e,t)}function qa(n,i){const e=Math.max(n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1),t=Math.max(n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1),r=Z(e,t,n),s=Z(e,t,i);return r.mapValue((a,o,u)=>{const c=s.get(o,u);return a!=null&&a.isError()?a:c!=null&&c.isError()?c:a!=null&&a.isBoolean()&&(c!=null&&c.isBoolean())?Mr(a.getValue()&&c.getValue()):j.create(!1)})}function Za(n){const i=n.getValue();let e=0;return i&&(e=1),D.create(e)}function os(n){return n.isArray()&&n.getRowCount()===1&&n.getColumnCount()===1?!0:n.isReferenceObject()?!!(n.isCell()||n.getRowCount()===1&&n.getColumnCount()===1):(n=n,!!(n.isString()||n.isNumber()||n.isBoolean()||n.isError()||n.isNull()))}function ct(n){const i=n==null?void 0:n.getPattern();let e={};if(i&&(e={s:{n:{pattern:i}}}),n==null)return{v:null,...e};if(n.isError())return{v:n.getErrorType(),t:C.CellValueType.STRING,...e};if(n.isValueObject()){const t=n,r=t.getValue();return t.isNumber()?{v:r,t:C.CellValueType.NUMBER,...e}:t.isBoolean()?{v:r?1:0,t:C.CellValueType.BOOLEAN,...e}:t.isString()?{v:r,t:C.CellValueType.STRING,...e}:t.isNull()?{v:null,...e}:{v:r,t:C.CellValueType.STRING,...e}}}function zt(n){let i=0,e=0;return n.forEach((t,r)=>{if(r%2===1)if(t.isArray()){const s=t;i=Math.max(i,s.getRowCount()),e=Math.max(e,s.getColumnCount())}else i=Math.max(i,1),e=Math.max(e,1)}),{maxRowLength:i,maxColumnLength:e}}function Nt(n,i,e,t){const r=i.getRowCount(),s=i.getColumnCount();for(let a=0;a<n.length;a++){if(a%2===1)continue;const o=n[a],u=o.getRowCount(),c=o.getColumnCount();if(u!==r||c!==s)return Z(e,t,h.create(f.VALUE))}return null}function Wt(n,i,e,t=!1){const r=[];for(let s=0;s<n.length;s++){if(s%2===1)continue;const a=n[s],o=n[s+1];Z(i,e,o,h.create(f.NA)).iterator((c,l,m)=>{if(!c)return;let g=vr(a,c);const[,p]=Qt(`${c.getValue()}`);if(t&&(g=Br(g,a,p)),r[l]===void 0&&(r[l]=[]),r[l][m]===void 0){r[l][m]=g;return}r[l][m]=qa(r[l][m],g)})}return r}function Br(n,i,e){return n.mapValue((t,r,s)=>{const a=i.get(r,s);return a&&Ja(a,e)?t:a!=null&&a.isError()&&e.isError()&&a.getValue()===e.getValue()?j.create(!0):j.create(!1)})}function Ja(n,i){if(n.isNumber()&&i.isNumber()||n.isBoolean()&&i.isBoolean())return!0;const e=n.isString()&&n.getValue()==="",t=i.isString()&&i.getValue()==="";return!!((e||n.isNull())&&(t||i.isNull())||n.isString()&&!e&&i.isString()&&!t)}class dn extends Vt{constructor(i){super(i);const e=je(i);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName),this.setRangeData(e.range)}isCell(){return!0}unionBy(i){if(!i.isCell())return h.create(f.REF);const e=i,t=this.unionRange(this.getRangeData(),e.getRangeData());return this._createRange(t)}unionRange(i,e){const t=i.startRow,r=i.startColumn,s=e.startRow,a=e.startColumn,o={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return t>s?(o.startRow=s,o.endRow=t):(o.startRow=t,o.endRow=s),r>a?(o.startColumn=a,o.endColumn=r):(o.startColumn=r,o.endColumn=a),i.startAbsoluteRefType&&(o.startAbsoluteRefType=i.startAbsoluteRefType),e.startAbsoluteRefType&&(o.endAbsoluteRefType=e.startAbsoluteRefType),o}_createRange(i){const e=new It(i,this.getForcedSheetId(),this.getForcedUnitId());e.setUnitData(this.getUnitData()),e.setDefaultSheetId(this.getDefaultSheetId()),e.setDefaultUnitId(this.getDefaultUnitId()),e.setRuntimeData(this.getRuntimeData()),e.setUnitStylesData(this.getUnitStylesData()),e.setArrayFormulaCellData(this.getArrayFormulaCellData()),e.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());const{x:t,y:r}=this.getRefOffset();e.setRefOffset(t,r);const s=this.getForcedSheetId();e.setForcedSheetName(this.getForcedSheetName()),s!=null&&e.setForcedSheetIdDirect(s);const a=this.getForcedUnitId();return a&&e.setForcedUnitIdDirect(a),e}}class gn extends Vt{constructor(i){super(i);const e=je(i);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:Number.NaN,startRow:e.range.startRow,endColumn:Number.NaN,endRow:-1};this.setRangeData(t)}isRow(){return!0}unionBy(i){if(!i.isRow())return h.create(f.REF);const e=i;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return h.create(f.REF);const t=this.getRangeData(),r=e.getRangeData(),s=r.startRow,a=t.startRow;return s>a?t.endRow=s:(t.startRow=s,t.endRow=a),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=C.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${z.COLON}${e.getToken()}`),this}}class pn extends Vt{constructor(i){super(i);const e=je(i);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:e.range.startColumn,startRow:Number.NaN,endColumn:-1,endRow:Number.NaN};this.setRangeData(t)}isColumn(){return!0}unionBy(i){if(!i.isColumn())return h.create(f.REF);const e=i;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return h.create(f.REF);const t=this.getRangeData(),r=e.getRangeData(),s=r.startColumn,a=t.startColumn;return s>a?t.endColumn=s:(t.startColumn=s,t.endColumn=a),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=C.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${z.COLON}${e.getToken()}`),this}}class L extends C.Disposable{constructor(e){super();d(this,"_unitId");d(this,"_subUnitId");d(this,"_row",-1);d(this,"_column",-1);d(this,"_definedNames");d(this,"needsExpandParams",!1);d(this,"needsReferenceObject",!1);d(this,"minParams",-1);d(this,"maxParams",-1);this._name=e}get name(){return this._name}get unitId(){return this._unitId}get subUnitId(){return this._subUnitId}get row(){return this._row}get column(){return this._column}getDefinedName(e){var r;const t=this._definedNames;return t==null?null:(r=Array.from(Object.values(t)).filter(s=>s.name===e))==null?void 0:r[0]}setDefinedNames(e){this._definedNames=e}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}setRefInfo(e,t,r,s){this._unitId=e,this._subUnitId=t,this._row=r,this._column=s}calculateCustom(...e){return null}calculate(...e){return h.create(f.VALUE)}checkArrayType(e){return e.isReferenceObject()||e.isValueObject()&&e.isArray()}getIndexNumValue(e,t=1){if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())return e.getValue()===!1?h.create(f.VALUE):t;if(e.isString()){const r=Number(e.getValue());return Number.isNaN(r)?h.create(f.REF):r}else if(e.isNumber())return e.getValue();return h.create(f.VALUE)}getZeroOrOneByOneDefault(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;e.isNumber()&&e.getValue()===0&&(t=0)}return t}getMatchTypeValue(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;if(e.isNumber()){const r=e.getValue();r<=0&&(t=r)}}return t}binarySearch(e,t,r,s){const a=t.binarySearch(e,s);if(a==null)return h.create(f.NA);let o;return r.getRowCount()===1?o=r.get(0,a)||se.create():o=r.get(a,0)||se.create(),o.isNull()?h.create(f.NA):o}_getOneFirstByRaw(e){return e.length===0?h.create(f.NA):e[0][0]||h.create(f.NA)}_getOneLastByRaw(e){return e.length===0?h.create(f.NA):e[e.length-1][e[0].length-1]||h.create(f.NA)}equalSearch(e,t,r,s=!0){const a=r.pickRaw(t.isEqual(e));return s?this._getOneFirstByRaw(a):this._getOneLastByRaw(a)}fuzzySearch(e,t,r,s=!0){const a=r.pickRaw(t.compare(e,O.EQUALS));return s?this._getOneFirstByRaw(a):this._getOneLastByRaw(a)}orderSearch(e,t,r,s=Le.MIN,a=!1){const o=t.orderSearch(e,s,a);if(o==null)return h.create(f.NA);const u=r.get(o.row,o.column)||se.create();return u.isNull()?h.create(f.NA):u}binarySearchExpand(e,t,r,s=0,a){const o=t.binarySearch(e,a);return o==null?h.create(f.NA):s===0?r.slice([o,o+1]):r.slice(void 0,[o,o+1])}equalSearchExpand(e,t,r,s=!0,a=0){const o=t.isEqual(e);let u;return s?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?h.create(f.NA):a===0?r.slice([u.row,u.row+1]):r.slice(void 0,[u.column,u.column+1])}fuzzySearchExpand(e,t,r,s=!0,a=0){const o=t.compare(e,O.EQUALS);let u;return s?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?h.create(f.NA):a===0?r.slice([u.row,u.row+1]):r.slice(void 0,[u.column,u.column+1])}orderSearchExpand(e,t,r,s=Le.MIN,a=!1,o=0){const u=t.orderSearch(e,s,a);return u==null?h.create(f.NA):o===0?r.slice([u.row,u.row+1]):r.slice(void 0,[u.column,u.column+1])}flattenArray(e,t=!0){const r=[];r[0]=[];for(let s=0;s<e.length;s++){let a=e[s];if((a.isString()||a.isBoolean()||a.isNull())&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()){let o;if(a.iterator(u=>{if(u==null||u.isNull()||t&&(u.isString()||u.isBoolean()))return!0;if(u=this._includingLogicalValuesAndText(u),u.isError())return o=u,!1;r[0].push(u)}),o!=null&&o.isError())return o}else r[0].push(a)}return pt(r,1,r[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=Za(e)),e.isString()){const t=Number(e.getValue());e=D.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){const r=e.getForcedUnitId(),s=e.getForcedSheetId()||"",a=e.getForcedSheetName(),u=gt({unitId:r,sheetName:a,range:t});let c;return new RegExp(Ht).test(u)?c=new dn(u):new RegExp(Ms).test(u)?c=new gn(u):new RegExp(Fs).test(u)?c=new pn(u):c=new It(t,s,r),this._setReferenceDefault(e,c)}_setReferenceDefault(e,t){return this.unitId==null||this.subUnitId==null?h.create(f.REF):(t.setDefaultUnitId(this.unitId),t.setDefaultSheetId(this.subUnitId),t.setUnitData(e.getUnitData()),t.setRuntimeData(e.getRuntimeData()),t.setArrayFormulaCellData(e.getArrayFormulaCellData()),t.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),t)}}class eo extends L{isCustom(){return!0}}class Ks extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std()}}class qs extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std(1)}}class Zs extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var()}}class Js extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var(1)}}var Et=(n=>(n.BETADIST="BETADIST",n.BETAINV="BETAINV",n.BINOMDIST="BINOMDIST",n.CHIDIST="CHIDIST",n.CHIINV="CHIINV",n.CHITEST="CHITEST",n.CONFIDENCE="CONFIDENCE",n.COVAR="COVAR",n.CRITBINOM="CRITBINOM",n.EXPONDIST="EXPONDIST",n.FDIST="FDIST",n.FINV="FINV",n.FTEST="FTEST",n.GAMMADIST="GAMMADIST",n.GAMMAINV="GAMMAINV",n.HYPGEOMDIST="HYPGEOMDIST",n.LOGINV="LOGINV",n.LOGNORMDIST="LOGNORMDIST",n.MODE="MODE",n.NEGBINOMDIST="NEGBINOMDIST",n.NORMDIST="NORMDIST",n.NORMINV="NORMINV",n.NORMSDIST="NORMSDIST",n.NORMSINV="NORMSINV",n.PERCENTILE="PERCENTILE",n.PERCENTRANK="PERCENTRANK",n.POISSON="POISSON",n.QUARTILE="QUARTILE",n.RANK="RANK",n.STDEV="STDEV",n.STDEVP="STDEVP",n.TDIST="TDIST",n.TINV="TINV",n.TTEST="TTEST",n.VAR="VAR",n.VARP="VARP",n.WEIBULL="WEIBULL",n.ZTEST="ZTEST",n))(Et||{});const ei=[[qs,Et.STDEV],[Ks,Et.STDEVP],[Js,Et.VAR],[Zs,Et.VARP]],ti=[];var ri=(n=>(n.CUBEKPIMEMBER="CUBEKPIMEMBER",n.CUBEMEMBER="CUBEMEMBER",n.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",n.CUBERANKEDMEMBER="CUBERANKEDMEMBER",n.CUBESET="CUBESET",n.CUBESETCOUNT="CUBESETCOUNT",n.CUBEVALUE="CUBEVALUE",n))(ri||{});const ni=[];var si=(n=>(n.DAVERAGE="DAVERAGE",n.DCOUNT="DCOUNT",n.DCOUNTA="DCOUNTA",n.DGET="DGET",n.DMAX="DMAX",n.DMIN="DMIN",n.DPRODUCT="DPRODUCT",n.DSTDEV="DSTDEV",n.DSTDEVP="DSTDEVP",n.DSUM="DSUM",n.DVAR="DVAR",n.DVARP="DVARP",n))(si||{});const Rn="yyyy/mm/dd;@",to="yyyy/mm/dd hh:mm",ro="h:mm A/P";function _n(n){const i=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28)),t=Date.UTC(n.getFullYear(),n.getMonth(),n.getDate());let r=(t-i.getTime())/(1e3*3600*24);return t>e.getTime()&&(r+=1),Math.floor(r)+1}function no(n){const i=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let r=(n.getTime()-i.getTime())/(1e3*3600*24);return n>e&&(r+=1),r+1}function Gt(n){const i=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28));let t=Math.floor(n)-1;return t>(e.getTime()-i.getTime())/(1e3*3600*24)&&(t-=1),new Date(i.getTime()+t*(1e3*3600*24))}function En(n){const i=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let t=n-1;return t>(e.getTime()-i.getTime())/(1e3*3600*24)&&(t-=1),t<0&&(t=n),new Date(i.getTime()+t*(1e3*3600*24))}function Cn(n){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(n))return!1;const e=n.replace(/-/g,"/").replace(/T.+/,""),t=new Date(`${e}`);if(Number.isNaN(t.getTime()))return!1;const r=t.getFullYear(),s=(t.getMonth()+1).toString().padStart(2,"0"),a=t.getDate().toString().padStart(2,"0"),o=`${r}-${s}-${a}`;return n.replace(/\//g,"-").split("-").map(c=>c.padStart(2,"0")).join("-")===o}function us(n){return xt.parseDate(n)}function ii(n){return xt.parseValue(n)}function cs(n){return xt.parseTime(n)}function ai(n){return xt.isDate(n)}const oi={1:[6,0],2:[0,1],3:[1,2],4:[2,3],5:[3,4],6:[4,5],7:[5,6],11:[0],12:[1],13:[2],14:[3],15:[4],16:[5],17:[6]};function jt(n){return!!(typeof n=="string"&&/^[0|1]{7}/.test(n)||oi[Number(n)])}function ui(n){if(!jt(n))return[];if(typeof n=="string"&&/^[0|1]{7}/.test(n)){const i=[];for(let e=1;e<=n.length;e++)`${n[e-1]}`=="1"&&(e===n.length?i.push(0):i.push(e));return i}return oi[Number(n)]||[]}function _r(n,i,e=1,t){const r=ui(e),s=Math.floor(n),a=Math.floor(i),o=a>s?s:a;let u=0;const c=Math.abs(Math.floor(i)-Math.floor(n))+1;for(let l=0;l<c;l++){const m=o+l;if(t&&t.length>0&&t.some(p=>Math.floor(p)===m))continue;const g=yn(m);r.includes(g)||u++}return a>s?u:-u}function Er(n,i,e=1,t){const r=ui(e);n=Math.floor(n);let s=n,a=Math.abs(i);for(let o=1;o<=a;o++){const u=i<0?n-o:n+o;if(u<0)return h.create(f.NUM);if(t&&t.length>0&&t.some(l=>Math.floor(l)===u)){a++;continue}const c=yn(u);if(r.includes(c)){a++;continue}s=u}return s}function ye(n){const i=n.getValue();if(n.isString()){let e;if(us(`${i}`))e=us(`${i}`).v;else if(cs(`${i}`))e=cs(`${i}`).v;else if(C.isRealNum(i))e=+i;else return h.create(f.VALUE);return+e<0||+e>2958465?h.create(f.NUM):e}else{const e=+n.getValue();return e<0||e>2958465?h.create(f.NUM):e}}function yn(n){const i=Math.floor(n)===60;let e=Gt(n);const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getTime(),r=new Date(Date.UTC(1900,1,28)).getTime();return!i&&t<=r&&(e=new Date(t-24*3600*1e3)),new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getUTCDay()}class so extends L{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=Z(s,a,e),u=Z(s,a,t),c=Z(s,a,r);return o.map((l,m,g)=>{const p=u.get(m,g)||se.create(),R=c.get(m,g)||se.create();if(l.isError())return l;if(p.isError())return p;if(R.isError())return R;if(l.isString()||p.isString()||R.isString())return h.create(f.VALUE);let b=+l.getValue();const P=Math.floor(+p.getValue()),w=+R.getValue();if(b<0||b>9999)return h.create(f.NUM);b>=0&&b<1899&&(b+=1900);const v=new Date(b,P-1,w),B=_n(v);return B<0?h.create(f.NUM):D.create(B,Rn)})}}class io extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isString()){const t=`${e.getValue()}`,r=ii(t);if(r){const{v:s,z:a}=r;if(ai(a))return D.create(Math.trunc(s))}}return h.create(f.VALUE)}}class ao extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t;const r=e.getValue();if(e.isString()){if(!Cn(`${r}`))return h.create(f.VALUE);t=new Date(`${r}`)}else{const o=+e.getValue();if(o<0)return h.create(f.NUM);if(o===0)return D.create(0);t=Gt(o)}const s=t.getDate();return D.create(s)}}class oo extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=Z(r,s,e),o=Z(r,s,t);return a.map((u,c,l)=>{const m=o.get(c,l)||se.create();if(u.isError())return u;if(m.isError())return m;if(u.isString()||u.isBoolean()||m.isString()||m.isBoolean())return h.create(f.VALUE);const g=+u.getValue();if(g<0)return h.create(f.NUM);const p=Math.floor(+m.getValue()),R=Gt(g),b=R.getUTCFullYear(),P=R.getUTCMonth()+p,w=R.getUTCDate(),v=new Date(Date.UTC(b,P,w)),B=_n(v);return D.create(B,Rn)})}}var ge=(n=>(n.DATE="DATE",n.DATEDIF="DATEDIF",n.DATEVALUE="DATEVALUE",n.DAY="DAY",n.DAYS="DAYS",n.DAYS360="DAYS360",n.EDATE="EDATE",n.EOMONTH="EOMONTH",n.HOUR="HOUR",n.ISOWEEKNUM="ISOWEEKNUM",n.MINUTE="MINUTE",n.MONTH="MONTH",n.NETWORKDAYS="NETWORKDAYS",n.NETWORKDAYS_INTL="NETWORKDAYS.INTL",n.NOW="NOW",n.SECOND="SECOND",n.TIME="TIME",n.TIMEVALUE="TIMEVALUE",n.TODAY="TODAY",n.WEEKDAY="WEEKDAY",n.WEEKNUM="WEEKNUM",n.WORKDAY="WORKDAY",n.WORKDAY_INTL="WORKDAY.INTL",n.YEAR="YEAR",n.YEARFRAC="YEARFRAC",n))(ge||{});class uo extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=ye(e);if(typeof t!="number")return t;if(t===0)return D.create(0);const s=En(t).getUTCHours();return D.create(s)}}class co extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=ye(e);if(typeof t!="number")return t;if(t===0)return D.create(0);const s=En(t).getUTCMinutes();return D.create(s)}}class lo extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t;const r=e.getValue();if(e.isString()){if(!Cn(`${r}`))return h.create(f.VALUE);t=new Date(`${r}`)}else{const o=+e.getValue();if(o<0)return h.create(f.NUM);if(o===0)return D.create(1);t=Gt(o)}const s=t.getUTCMonth()+1;return D.create(s)}}class fo extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const s=ye(e);if(typeof s!="number")return s;const a=ye(t);if(typeof a!="number")return a;let o;if(r){const u=[];if(r!=null&&r.isArray()){const c=r.getRowCount(),l=r.getColumnCount();for(let m=0;m<c;m++)for(let g=0;g<l;g++){const p=r.get(m,g);if(p.isBoolean())return h.create(f.VALUE);const R=ye(p);if(typeof R!="number")return R;u.push(R)}}else{if(r.isBoolean())return h.create(f.VALUE);const c=ye(r);if(typeof c!="number")return c;u.push(c)}o=_r(s,a,1,u)}else o=_r(s,a);return D.create(o)}}class ho extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",4)}calculate(e,t,r,s){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:s!=null&&s.isError()?s:r!=null&&r.isArray()?r.map(a=>this._handleSingleObject(e,t,a,s)):this._handleSingleObject(e,t,r,s)}_handleSingleObject(e,t,r,s){let a=1;if(r){if(a=r.getValue(),r.isBoolean()&&(a=+a),r.isString()&&!jt(a))return h.create(f.VALUE);if(!jt(a))return h.create(f.NUM)}if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const o=ye(e);if(typeof o!="number")return o;const u=ye(t);if(typeof u!="number")return u;let c;if(s){const l=[];if(s!=null&&s.isArray()){const m=s.getRowCount(),g=s.getColumnCount();for(let p=0;p<m;p++)for(let R=0;R<g;R++){const b=s.get(p,R);if(b.isBoolean())return h.create(f.VALUE);const P=ye(b);if(typeof P!="number")return P;l.push(P)}}else{if(s.isBoolean())return h.create(f.VALUE);const m=ye(s);if(typeof m!="number")return m;l.push(m)}c=_r(o,u,a,l)}else c=_r(o,u,a);return D.create(c)}}class mo extends L{constructor(){super(...arguments);d(this,"minParams",0);d(this,"maxParams",0)}calculate(){const e=new Date,t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())),r=no(t);return D.create(r,to)}}class go extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=ye(e);if(typeof t!="number")return t;if(t===0)return D.create(0);const s=En(t).getUTCSeconds();return D.create(s)}}class po extends L{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=Z(s,a,e),u=Z(s,a,t),c=Z(s,a,r);return o.map((l,m,g)=>this._calculateTime(l,u,c,m,g))}_calculateTime(e,t,r,s,a){let o=t.get(s,a)||se.create(),u=r.get(s,a)||se.create();if((e.isString()||e.isBoolean())&&(e=e.convertToNumberObjectValue()),(o.isString()||o.isBoolean())&&(o=o.convertToNumberObjectValue()),(u.isString()||u.isBoolean())&&(u=u.convertToNumberObjectValue()),e.isError())return e;if(o.isError())return o;if(u.isError())return u;let c=Math.floor(+e.getValue()),l=Math.floor(+o.getValue()),m=Math.floor(+u.getValue());if(c<0||l<0||m<0||c>32767||l>32767||m>32767)return h.create(f.NUM);l+=Math.floor(m/60),m%=60,c+=Math.floor(l/60),l%=60,c%=24;const p=(c*3600+l*60+m)/86400;return D.create(p,ro)}}class Ro extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isString()){const t=`${e.getValue()}`,r=ii(t);if(r){const{v:s,z:a}=r;if(ai(a))return D.create(Fa(s))}}return h.create(f.VALUE)}}class _o extends L{constructor(){super(...arguments);d(this,"minParams",0);d(this,"maxParams",0)}calculate(){const e=_n(new Date);return D.create(e,Rn)}}class Eo extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1),a=Z(r,s,e,h.create(f.NA)),o=t?Z(r,s,t,h.create(f.NA)):[],u=a.map((c,l,m)=>{if(t){const g=o.get(l,m);return this._handleSingleObject(c,g)}else return this._handleSingleObject(c)});return u.getRowCount()===1&&u.getColumnCount()===1?u.getArrayValue()[0][0]:u}_handleSingleObject(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;const r=ye(e);if(typeof r!="number")return r;const s={1:[1,2,3,4,5,6,7],2:[7,1,2,3,4,5,6],3:[6,0,1,2,3,4,5],11:[7,1,2,3,4,5,6],12:[6,7,1,2,3,4,5],13:[5,6,7,1,2,3,4],14:[4,5,6,7,1,2,3],15:[3,4,5,6,7,1,2],16:[2,3,4,5,6,7,1],17:[1,2,3,4,5,6,7]};let a=1;if(t){if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;if(a=Math.floor(+t.getValue()),!s[a])return h.create(f.NUM)}const o=yn(r),u=s[a][o];return D.create(u)}}class Co extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const s=ye(e);if(typeof s!="number")return s;if(t.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;const a=+t.getValue();let o;if(r){const u=[];if(r!=null&&r.isArray()){const c=r.getRowCount(),l=r.getColumnCount();for(let m=0;m<c;m++)for(let g=0;g<l;g++){const p=r.get(m,g);if(p.isBoolean())return h.create(f.VALUE);const R=ye(p);if(typeof R!="number")return R;u.push(R)}}else{if(r.isBoolean())return h.create(f.VALUE);const c=ye(r);if(typeof c!="number")return c;u.push(c)}o=Er(s,a,1,u)}else o=Er(s,a);return typeof o!="number"?o:D.create(o)}}class yo extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",4)}calculate(e,t,r,s){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:s!=null&&s.isError()?s:r!=null&&r.isArray()?r.map(a=>this._handleSingleObject(e,t,a,s)):this._handleSingleObject(e,t,r,s)}_handleSingleObject(e,t,r,s){let a=1;if(r){if(a=r.getValue(),r.isBoolean()&&(a=+a),r.isString()&&(!jt(a)||a==="1111111"))return h.create(f.VALUE);if(!jt(a))return h.create(f.NUM)}if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const o=ye(e);if(typeof o!="number")return o;if(t.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;const u=+t.getValue();let c;if(s){const l=[];if(s!=null&&s.isArray()){const m=s.getRowCount(),g=s.getColumnCount();for(let p=0;p<m;p++)for(let R=0;R<g;R++){const b=s.get(p,R);if(b.isBoolean())return h.create(f.VALUE);const P=ye(b);if(typeof P!="number")return P;l.push(P)}}else{if(s.isBoolean())return h.create(f.VALUE);const m=ye(s);if(typeof m!="number")return m;l.push(m)}c=Er(o,u,a,l)}else c=Er(o,u,a);return typeof c!="number"?c:D.create(c)}}class Do extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t;const r=e.getValue();if(e.isString()){if(!Cn(`${r}`))return h.create(f.VALUE);t=new Date(`${r}`)}else{const o=+r;if(o<0)return h.create(f.NUM);if(o===0)return D.create(1900);t=Gt(o)}const s=t.getUTCFullYear();return D.create(s)}}const ci=[[so,ge.DATE],[io,ge.DATEVALUE],[ao,ge.DAY],[oo,ge.EDATE],[uo,ge.HOUR],[co,ge.MINUTE],[lo,ge.MONTH],[fo,ge.NETWORKDAYS],[ho,ge.NETWORKDAYS_INTL],[mo,ge.NOW],[go,ge.SECOND],[po,ge.TIME],[Ro,ge.TIMEVALUE],[_o,ge.TODAY],[Eo,ge.WEEKDAY],[Co,ge.WORKDAY],[yo,ge.WORKDAY_INTL],[Do,ge.YEAR]],li=[];var fi=(n=>(n.BESSELI="BESSELI",n.BESSELJ="BESSELJ",n.BESSELK="BESSELK",n.BESSELY="BESSELY",n.BIN2DEC="BIN2DEC",n.BIN2HEX="BIN2HEX",n.BIN2OCT="BIN2OCT",n.BITAND="BITAND",n.BITLSHIFT="BITLSHIFT",n.BITOR="BITOR",n.BITRSHIFT="BITRSHIFT",n.BITXOR="BITXOR",n.COMPLEX="COMPLEX",n.CONVERT="CONVERT",n.DEC2BIN="DEC2BIN",n.DEC2HEX="DEC2HEX",n.DEC2OCT="DEC2OCT",n.DELTA="DELTA",n.ERF="ERF",n.ERF_PRECISE="ERF.PRECISE",n.ERFC="ERFC",n.ERFC_PRECISE="ERFC.PRECISE",n.GESTEP="GESTEP",n.HEX2BIN="HEX2BIN",n.HEX2DEC="HEX2DEC",n.HEX2OCT="HEX2OCT",n.IMABS="IMABS",n.IMAGINARY="IMAGINARY",n.IMARGUMENT="IMARGUMENT",n.IMCONJUGATE="IMCONJUGATE",n.IMCOS="IMCOS",n.IMCOSH="IMCOSH",n.IMCOT="IMCOT",n.IMCSC="IMCSC",n.IMCSCH="IMCSCH",n.IMDIV="IMDIV",n.IMEXP="IMEXP",n.IMLN="IMLN",n.IMLOG10="IMLOG10",n.IMLOG2="IMLOG2",n.IMPOWER="IMPOWER",n.IMPRODUCT="IMPRODUCT",n.IMREAL="IMREAL",n.IMSEC="IMSEC",n.IMSECH="IMSECH",n.IMSIN="IMSIN",n.IMSINH="IMSINH",n.IMSQRT="IMSQRT",n.IMSUB="IMSUB",n.IMSUM="IMSUM",n.IMTAN="IMTAN",n.OCT2BIN="OCT2BIN",n.OCT2DEC="OCT2DEC",n.OCT2HEX="OCT2HEX",n))(fi||{});const hi=[];var mi=(n=>(n.ACCRINT="ACCRINT",n.ACCRINTM="ACCRINTM",n.AMORDEGRC="AMORDEGRC",n.AMORLINC="AMORLINC",n.COUPDAYBS="COUPDAYBS",n.COUPDAYS="COUPDAYS",n.COUPDAYSNC="COUPDAYSNC",n.COUPNCD="COUPNCD",n.COUPNUM="COUPNUM",n.COUPPCD="COUPPCD",n.CUMIPMT="CUMIPMT",n.CUMPRINC="CUMPRINC",n.DB="DB",n.DDB="DDB",n.DISC="DISC",n.DOLLARDE="DOLLARDE",n.DOLLARFR="DOLLARFR",n.DURATION="DURATION",n.EFFECT="EFFECT",n.FV="FV",n.FVSCHEDULE="FVSCHEDULE",n.INTRATE="INTRATE",n.IPMT="IPMT",n.IRR="IRR",n.ISPMT="ISPMT",n.MDURATION="MDURATION",n.MIRR="MIRR",n.NOMINAL="NOMINAL",n.NPER="NPER",n.NPV="NPV",n.ODDFPRICE="ODDFPRICE",n.ODDFYIELD="ODDFYIELD",n.ODDLPRICE="ODDLPRICE",n.ODDLYIELD="ODDLYIELD",n.PDURATION="PDURATION",n.PMT="PMT",n.PPMT="PPMT",n.PRICE="PRICE",n.PRICEDISC="PRICEDISC",n.PRICEMAT="PRICEMAT",n.PV="PV",n.RATE="RATE",n.RECEIVED="RECEIVED",n.RRI="RRI",n.SLN="SLN",n.SYD="SYD",n.TBILLEQ="TBILLEQ",n.TBILLPRICE="TBILLPRICE",n.TBILLYIELD="TBILLYIELD",n.VDB="VDB",n.XIRR="XIRR",n.XNPV="XNPV",n.YIELD="YIELD",n.YIELDDISC="YIELDDISC",n.YIELDMAT="YIELDMAT",n))(mi||{}),Ve=(n=>(n.CELL="CELL",n.ERROR_TYPE="ERROR.TYPE",n.INFO="INFO",n.ISBLANK="ISBLANK",n.ISERR="ISERR",n.ISERROR="ISERROR",n.ISEVEN="ISEVEN",n.ISFORMULA="ISFORMULA",n.ISLOGICAL="ISLOGICAL",n.ISNA="ISNA",n.ISNONTEXT="ISNONTEXT",n.ISNUMBER="ISNUMBER",n.ISODD="ISODD",n.ISOMITTED="ISOMITTED",n.ISREF="ISREF",n.ISTEXT="ISTEXT",n.N="N",n.NA="NA",n.SHEET="SHEET",n.SHEETS="SHEETS",n.TYPE="TYPE",n))(Ve||{});class bo extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isNull()?j.create(!0):e.isArray()?e.mapValue(t=>t.isNull()?j.create(!0):j.create(!1)):j.create(!1)}}class So extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.getValue()===f.NA?j.create(!1):e.isError()?j.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===f.NA?j.create(!1):t.isError()?j.create(!0):j.create(!1)):j.create(!1)}}class Ao extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?j.create(!0):e.isArray()?e.mapValue(t=>t.isError()?j.create(!0):j.create(!1)):j.create(!1)}}class Po extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){if(e.isArray()||e.isBoolean()||!e.isNumber()&&(e=e.convertToNumberObjectValue(),!e.isNumber()))return h.create(f.VALUE);const t=e.getValue(),r=Math.floor(Math.abs(t));return j.create(r%2===0)}}class Lo extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isBoolean()?j.create(!0):e.isArray()?e.mapValue(t=>t.isBoolean()?j.create(!0):j.create(!1)):j.create(!1)}}class xo extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.getValue()===f.NA?j.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===f.NA?j.create(!0):j.create(!1)):j.create(!1)}}class Vo extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return!e.isArray()&&!e.isString()?j.create(!0):e.isArray()?e.mapValue(t=>t.isString()?j.create(!1):j.create(!0)):j.create(!1)}}class wo extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isNumber()?j.create(!0):e.isArray()?e.mapValue(t=>t.isNumber()?j.create(!0):j.create(!1)):j.create(!1)}}class Uo extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){if(e.isArray()||e.isBoolean()||!e.isNumber()&&(e=e.convertToNumberObjectValue(),!e.isNumber()))return h.create(f.VALUE);const t=e.getValue(),r=Math.floor(Math.abs(t));return j.create(r%2!==0)}}class Oo extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1);d(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?j.create(!0):j.create(!1)}}class Mo extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()?j.create(!0):e.isArray()?e.mapValue(t=>t.isString()?j.create(!0):j.create(!1)):j.create(!1)}}const di=[[bo,Ve.ISBLANK],[So,Ve.ISERR],[Po,Ve.ISEVEN],[Uo,Ve.ISODD],[Ao,Ve.ISERROR],[Lo,Ve.ISLOGICAL],[xo,Ve.ISNA],[Vo,Ve.ISNONTEXT],[wo,Ve.ISNUMBER],[Oo,Ve.ISREF],[Mo,Ve.ISTEXT]];class Fo extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=!0,r=!0,s=null;for(const a of e){if(a.isError())return a;if(a.isArray()){if(a.iterator(o=>{if(o!=null&&o.isError())return s=o,!1;(o!=null&&o.isBoolean()||o!=null&&o.isNumber())&&(t=t&&!!o.getValue(),r=!1)}),s)return s}else(a.isBoolean()||a.isNumber())&&(t=t&&!!a.getValue(),r=!1)}return r?h.create(f.VALUE):j.create(t)}}var rt=(n=>(n.AND="AND",n.BYCOL="BYCOL",n.BYROW="BYROW",n.FALSE="FALSE",n.IF="IF",n.IFERROR="IFERROR",n.IFNA="IFNA",n.IFS="IFS",n.LAMBDA="LAMBDA",n.LET="LET",n.MAKEARRAY="MAKEARRAY",n.MAP="MAP",n.NOT="NOT",n.OR="OR",n.REDUCE="REDUCE",n.SCAN="SCAN",n.SWITCH="SWITCH",n.TRUE="TRUE",n.XOR="XOR",n))(rt||{});class vo extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r=j.create(!1)){if(e.isError())return e;if(t.isError())return t;if(e=this._getSingleValueObject(e),!e.isArray())return e.getValue()?t:r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=Z(s,a,e),u=Z(s,a,t,h.create(f.NA)),c=Z(s,a,r,h.create(f.NA));return o.map((l,m,g)=>{if(l.isNull())return h.create(f.NA);{const p=u.get(m,g)||se.create(),R=c.get(m,g)||se.create();return this._calculateSingleCell(l,p,R)}})}_getSingleValueObject(e){return e.isArray()&&e.getRowCount()===1&&e.getColumnCount()===1?e.getFirstCell():e}_calculateSingleCell(e,t,r){return e.isNull()?h.create(f.NA):e.getValue()?t.isNull()?h.create(f.NA):t:r.isNull()?h.create(f.NA):r}}class Bo extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;if(!e.isArray())return e.isError()?t:e;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=Z(r,s,e),o=Z(r,s,t);return a.iterator((u,c,l)=>{u!=null&&u.isError()&&a.set(c,l,o.get(c,l))}),a}}class To extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){return h.create(f.VALUE)}}class ko extends L{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",3)}calculate(...e){const t=this.getIndexNumValue(e[0]);if(typeof t!="number")return t;const r=this.getIndexNumValue(e[1]);if(typeof r!="number")return r;if(!(e[2].isValueObject()&&e[2].isLambda()))return h.create(f.VALUE);const s=e[2],a=[];for(let o=0;o<t;o++){a[o]==null&&(a[o]=[]);for(let u=0;u<r;u++){const c=s.execute(D.create(o+1),D.create(u+1));a[o][u]=c}}return new Ns(a)}isAsync(){return!0}}class Io extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=!1,r=!0,s=null;for(const a of e){if(a.isError())return a;if(a.isArray()){if(a.iterator(o=>{if(o!=null&&o.isError())return s=o,!1;(o!=null&&o.isBoolean()||o!=null&&o.isNumber())&&(t=t||!!o.getValue(),r=!1)}),s)return s}else(a.isBoolean()||a.isNumber())&&(t=t||!!a.getValue(),r=!1)}return r?new h(f.VALUE):new j(t)}}const gi=[[Fo,rt.AND],[vo,rt.IF],[To,rt.LAMBDA],[ko,rt.MAKEARRAY],[Io,rt.OR],[Bo,rt.IFERROR]];class jo extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",5)}calculate(e,t,r,s,a){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(s!=null&&s.isError())return s;if(a!=null&&a.isError())return a;r=r!=null?r:D.create(1),s=s!=null?s:j.create(!0),a=a!=null?a:le.create("");const o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=Z(o,u,e,h.create(f.NA)),l=Z(o,u,t,h.create(f.NA)),m=Z(o,u,r,h.create(f.NA)),g=Z(o,u,s,h.create(f.NA)),p=Z(o,u,a,h.create(f.NA));return c.map((R,b,P)=>{const w=l.get(b,P)||h.create(f.NA),v=m.get(b,P)||h.create(f.NA),B=g.get(b,P)||h.create(f.NA),X=p.get(b,P)||h.create(f.NA);return R.isError()?R:w.isError()?w:v.isError()?v:B.isError()?B:X.isError()?X:this._calculateSingleCell(R,w,v,B,X)})}_calculateSingleCell(e,t,r,s,a){const o=Number.parseInt(`${Number(e.getValue())-1}`),u=Number.parseInt(`${Number(t.getValue())-1}`),c=Number.parseInt(`${Number(r.getValue())}`);if(Number.isNaN(o)||Number.isNaN(u)||Number.isNaN(c)||c<1||c>4)return h.create(f.VALUE);const l=$o(c),m=this.getZeroOrOneByOneDefault(s),g=`${a.getValue()}`,p=Rr(g)?`'${g}'`:g,R={startRow:o,startColumn:u,endRow:o,endColumn:u,startAbsoluteRefType:l,endAbsoluteRefType:l},b=s&&!m?Ka(R):Xe(R);return le.create(p!==""?`${p}!${b}`:b)}}function $o(n){switch(n){case 1:return C.AbsoluteRefType.ALL;case 2:return C.AbsoluteRefType.ROW;case 3:return C.AbsoluteRefType.COLUMN;case 4:return C.AbsoluteRefType.NONE;default:return C.AbsoluteRefType.ALL}}class Yo extends L{constructor(){super(...arguments);d(this,"minParams",0);d(this,"maxParams",1)}calculate(e){if(e==null)return D.create(this.column+1);if(e.isError())return e;if(!e.isArray())return h.create(f.NA);const t=e.getCurrentColumn(),r=e.getColumnCount(),s=[];for(let o=0;o<r;o++)s.push(D.create(t+o+1));const a={calculateValueList:[s],rowCount:1,columnCount:r,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return he.create(a)}}class Ho extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return D.create(1);if(!e.isArray())return h.create(f.NA);const t=e.getColumnCount();return D.create(t)}}var be=(n=>(n.ADDRESS="ADDRESS",n.AREAS="AREAS",n.CHOOSE="CHOOSE",n.CHOOSECOLS="CHOOSECOLS",n.CHOOSEROWS="CHOOSEROWS",n.COLUMN="COLUMN",n.COLUMNS="COLUMNS",n.DROP="DROP",n.EXPAND="EXPAND",n.FILTER="FILTER",n.FORMULATEXT="FORMULATEXT",n.GETPIVOTDATA="GETPIVOTDATA",n.HLOOKUP="HLOOKUP",n.HSTACK="HSTACK",n.HYPERLINK="HYPERLINK",n.IMAGE="IMAGE",n.INDEX="INDEX",n.INDIRECT="INDIRECT",n.LOOKUP="LOOKUP",n.MATCH="MATCH",n.OFFSET="OFFSET",n.ROW="ROW",n.ROWS="ROWS",n.RTD="RTD",n.SORT="SORT",n.SORTBY="SORTBY",n.TAKE="TAKE",n.TOCOL="TOCOL",n.TOROW="TOROW",n.TRANSPOSE="TRANSPOSE",n.UNIQUE="UNIQUE",n.VLOOKUP="VLOOKUP",n.VSTACK="VSTACK",n.WRAPCOLS="WRAPCOLS",n.WRAPROWS="WRAPROWS",n.XLOOKUP="XLOOKUP",n.XMATCH="XMATCH",n))(be||{});class Qo extends L{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",4)}calculate(e,t,r,s){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray()||r.isError()||s!=null&&s.isError())return h.create(f.NA);const a=this.getZeroOrOneByOneDefault(s);if(a==null)return h.create(f.VALUE);const o=this.getIndexNumValue(r);if(o instanceof h)return o;const u=t.slice([0,1]),c=t.slice([o-1,o]);return u==null||c==null?h.create(f.REF):e.isArray()?e.map(l=>this._handleSingleObject(l,u,c,a)):this._handleSingleObject(e,u,c,a)}_handleSingleObject(e,t,r,s){return s===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class zo extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",2)}isAddress(){return!0}calculate(e,t){if(e.isError())return e;let r=this.getZeroOrOneByOneDefault(t);if(r==null&&(r=1),e.isArray()){const m=e;if(m.getRowCount()===1&&m.getColumnCount()===1)e=m.getFirstCell();else return m.map(()=>h.create(f.VALUE))}if(!e.isString())return h.create(f.REF);const s=this._convertToDefinedName(e.getValue());if(r===0){const m=Ws(s),{range:g,sheetName:p,unitId:R}=m,b=new It(g);return b.setForcedUnitIdDirect(R),b.setForcedSheetName(p),this._setDefault(b)}if(new RegExp(Ht).test(s))return this._setDefault(new dn(s));if(new RegExp(Us).test(s))return this._setDefault(new gn(s));if(new RegExp(Os).test(s))return this._setDefault(new pn(s));const a=je(s),{range:o,sheetName:u,unitId:c}=a,l=new It(o);return l.setForcedUnitIdDirect(c),l.setForcedSheetName(u),this._setDefault(l)}_setDefault(e){return this.unitId==null||this.subUnitId==null?h.create(f.REF):(e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId),e)}_convertToDefinedName(e){const t=this.getDefinedName(e);if(t==null)return e;const r=t.formulaOrRefString;return r==null?e:r.startsWith(ne.EQUALS)?r.slice(1):r}}class No extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3);d(this,"needsExpandParams",!0)}calculate(e,t,r){return e.isError()?e:t.isError()?h.create(f.REF):t.isArray()?r!=null&&r.isError()?r:t.getColumnCount()===1||t.getRowCount()===1?r!=null&&!r.isArray()?h.create(f.REF):this._handleVector(e,t,r):this._handleArray(e,t):h.create(f.VALUE)}_handleVector(e,t,r){if(r==null)r=t;else if(r.getRowCount()!==t.getRowCount()||r.getColumnCount()!==t.getColumnCount())return h.create(f.REF);return e.isArray()?e.map(s=>this.binarySearch(s,t,r)):this.binarySearch(e,t,r)}_handleArray(e,t){const r=t.getRowCount(),s=t.getColumnCount();let a,o;return s>r?(a=t.slice([0,1]),o=t.slice([r-1,r])):(a=t.slice(void 0,[0,1]),o=t.slice(void 0,[s-1,s])),a==null||o==null?h.create(f.VALUE):e.isArray()?e.map(u=>this.binarySearch(u,a,o)):this.binarySearch(e,a,o)}}class Wo extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const s=t.getRowCount(),a=t.getColumnCount();if(s!==1&&a!==1||r!=null&&r.isError())return h.create(f.NA);const o=this.getMatchTypeValue(r);return o==null?h.create(f.VALUE):e.isArray()?e.map(u=>this._handleSingleObject(u,t,o)):this._handleSingleObject(e,t,o)}_handleSingleObject(e,t,r){const s=this._getSearchModeValue(r),a=t.orderSearch(e,s);if(a==null)return h.create(f.NA);if(a instanceof h)return a;const o=t.getRowCount()===1?a.column+1:a.row+1;return D.create(o)}_getSearchModeValue(e){switch(e){case 1:return Le.MIN;case 0:return Le.NORMAL;case-1:return Le.MAX}}}class Go extends L{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",5);d(this,"needsReferenceObject",!0)}isAddress(){return!0}calculate(e,t,r,s,a){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(s!=null&&s.isError())return s;if(a!=null&&a.isError())return a;if(!e.isReferenceObject())return h.create(f.VALUE);e=e;const o=e.getRowCount(),u=e.getColumnCount();t.isReferenceObject()&&(t=t.toArrayValueObject()),r.isReferenceObject()&&(r=r.toArrayValueObject()),s?s.isReferenceObject()&&(s=s.toArrayValueObject()):s=D.create(o),a?a.isReferenceObject()&&(a=a.toArrayValueObject()):a=D.create(u);const c=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1);if(t=t,r=r,s=s,a=a,c===1&&l===1)return this._handleSingleObject(e,t,r,s,a);const m=Z(c,l,t,h.create(f.NA)),g=Z(c,l,r,h.create(f.NA)),p=Z(c,l,s,h.create(f.NA)),R=Z(c,l,a,h.create(f.NA));return m.mapValue((b,P,w)=>{const v=g.get(P,w),B=p.get(P,w),X=R.get(P,w);return b.isError()?b:v.isError()?v:B.isError()?B:X.isError()?X:this._handleSingleObject(e,b,v,B,X,!0)})}_handleSingleObject(e,t,r,s,a,o=!1){const{startRow:u,startColumn:c}=e.getRangeData(),l=this.getIndexNumValue(t),m=this.getIndexNumValue(r);if(typeof l!="number"||typeof m!="number")return h.create(f.VALUE);const g=u+l,p=c+m;if(g<0||p<0)return h.create(f.REF);const R=this.getIndexNumValue(s),b=this.getIndexNumValue(a);if(typeof R!="number"||typeof b!="number")return h.create(f.VALUE);if(R===0||b===0)return h.create(f.REF);const P=R>0?g+R-1:g+R+1,w=b>0?p+b-1:p+b+1;if(P<0||w<0)return h.create(f.REF);if(o)return h.create(f.VALUE);const v=g<P?g:P,B=p<w?p:w,X=g>P?g:P,oe=p>w?p:w,de={startRow:v,startColumn:B,endRow:X,endColumn:oe};return this.createReferenceObject(e,de)}}class Xo extends L{constructor(){super(...arguments);d(this,"minParams",0);d(this,"maxParams",1)}calculate(e){if(e==null)return D.create(this.row+1);if(e.isError())return e;if(!e.isArray())return h.create(f.NA);const t=e.getCurrentRow(),r=e.getRowCount(),s=[];for(let o=0;o<r;o++)s.push([D.create(t+o+1)]);const a={calculateValueList:s,rowCount:r,columnCount:1,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return he.create(a)}}class Ko extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return D.create(1);if(!e.isArray())return h.create(f.NA);const t=e.getRowCount();return D.create(t)}}class qo extends L{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",4)}calculate(e,t,r,s){return e.isError()?e:t.isError()?t:t.isArray()?r.isError()?r:s!=null&&s.isError()?s:(s=s!=null?s:j.create(!0),os(e)&&os(s)&&r.isArray()?this._handleArrayColIndexNum(e,t,r,s):this._handleNonArrayColIndexNum(e,t,r,s)):h.create(f.VALUE)}_handleArrayColIndexNum(e,t,r,s){e=e.isArray()?e.getFirstCell():e;const a=this.getZeroOrOneByOneDefault(s);if(a==null)return h.create(f.VALUE);let o;const u=[];return r.iterator((c,l,m)=>{if(c==null)return o=h.create(f.VALUE),!1;const g=this._handleTableArray(e,t,c,a);if(g.isError())return o=g,!1;u[l]===void 0&&(u[l]=[]),u[l][m]=g}),o||pt(u,u.length,u[0].length,this.unitId||"",this.subUnitId||"")}_handleNonArrayColIndexNum(e,t,r,s){const a=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=Z(a,o,e),c=Z(a,o,s);return u.map((l,m,g)=>{if(l.isError())return l;const p=c.get(m,g);if(p==null)return h.create(f.VALUE);if(p.isError())return p;const R=this.getZeroOrOneByOneDefault(p);return R==null?h.create(f.VALUE):this._handleTableArray(l,t,r,R)})}_handleTableArray(e,t,r,s){const a=this.getIndexNumValue(r);if(a instanceof h)return a;const o=t.slice(void 0,[0,1]);if(o==null)return h.create(f.VALUE);const u=t.slice(void 0,[a-1,a]);return u==null?h.create(f.REF):this._handleSingleObject(e,o,u,s)}_handleSingleObject(e,t,r,s){return s===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class Zo extends L{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",6)}calculate(e,t,r,s,a,o){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const u=t.getRowCount(),c=t.getColumnCount();if(u!==1&&c!==1)return h.create(f.VALUE);if(r.isError())return h.create(f.REF);if(!r.isArray())return h.create(f.VALUE);const l=r.getRowCount(),m=r.getColumnCount();if(u!==l&&c!==m)return h.create(f.VALUE);if(s!=null&&s.isError()||a!=null&&a.isError()||o!=null&&o.isError())return h.create(f.NA);s==null&&(s=h.create(f.NA));const g=this.getIndexNumValue(a||D.create(0));if(g instanceof h)return g;const p=this.getIndexNumValue(o||D.create(1));if(p instanceof h)return p;if(e.isArray()){let P;return u===1?P=r.slice([0,1]):P=r.slice(void 0,[0,1]),P==null?h.create(f.NA):e.map(w=>{const v=this._handleSingleObject(w,t,P,g,p);return v.isError()?s:v})}if(c===m&&u===l){const P=this._handleSingleObject(e,t,r,g,p);return P.isError()?s:P}let R=0;c===m&&(R=1);const b=this._handleExpandObject(e,t,r,g,p,R);return b==null?h.create(f.NA):b}_handleExpandObject(e,t,r,s,a,o=0){return(a===2||a===-2)&&s!==2?this.binarySearchExpand(e,t,r,o,this._getSearchModeValue(a)):s===2?this.fuzzySearchExpand(e,t,r,a!==-1,o):s===-1||s===1?this.orderSearchExpand(e,t,r,s===1?Le.MAX:Le.MIN,a===-1,o):this.equalSearchExpand(e,t,r,a!==-1,o)}_handleSingleObject(e,t,r,s,a){return(a===2||a===-2)&&s!==2?this.binarySearch(e,t,r,this._getSearchModeValue(a)):s===2?this.fuzzySearch(e,t,r,a!==-1):s===-1||s===1?this.orderSearch(e,t,r,s===1?Le.MAX:Le.MIN,a===-1):this.equalSearch(e,t,r,a!==-1)}_getSearchModeValue(e){return e===-2?We.MAX:We.MIN}}class Jo extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",4)}calculate(e,t,r,s){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const a=t.getRowCount(),o=t.getColumnCount();if(a!==1&&o!==1)return h.create(f.VALUE);if(r!=null&&r.isError()||s!=null&&s.isError())return h.create(f.NA);const u=this.getIndexNumValue(r||D.create(0));if(u instanceof h)return u;const c=this.getIndexNumValue(s||D.create(1));return c instanceof h?c:e.isArray()?e.map(l=>this._handleSingleObject(l,t,u,c)):this._handleSingleObject(e,t,u,c)}_handleSingleObject(e,t,r,s){let a;if((s===2||s===-2)&&r!==2){const o=this._getSearchModeValue(s);a=t.binarySearch(e,o)}else if(r===2){const o=t.compare(e,O.EQUALS);let u;if(s!==-1?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null)return h.create(f.NA);a=t.getRowCount()===1?u.column:u.row}else if(r===-1||r===1){const o=t.orderSearch(e,r===1?Le.MAX:Le.MIN,s===-1);if(o==null)return h.create(f.NA);if(o instanceof h)return o;a=t.getRowCount()===1?o.column:o.row}else{const o=t.isEqual(e);let u;if(s!==-1?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null)return h.create(f.NA);a=t.getRowCount()===1?u.column:u.row}return a==null?h.create(f.NA):D.create(a+1)}_getSearchModeValue(e){return e===-2?We.MAX:We.MIN}}class eu extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",255);d(this,"needsReferenceObject",!0)}isAddress(){return!0}calculate(e,...t){if(e.isError())return e;if(e.isReferenceObject()&&(e=e.toArrayValueObject()),e=e,!e.isArray()){const u=e.convertToNumberObjectValue();return u.isError()?u:t[Math.trunc(+u.getValue())-1]||h.create(f.VALUE)}let r=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;t.forEach((u,c)=>{if(u.isArray()){const l=u;r=Math.max(r,l.getRowCount()),s=Math.max(s,l.getColumnCount())}else r=Math.max(r,1),s=Math.max(s,1)});const a=Z(r,s,e,h.create(f.NA)),o=t.map(u=>(u.isReferenceObject()&&(u=u.toArrayValueObject()),Z(r,s,u,h.create(f.NA))));return a.map((u,c,l)=>{if(u.isError())return u;const m=u.convertToNumberObjectValue();if(m.isError())return m;const g=o[Math.trunc(+m.getValue())-1];let p=(g==null?void 0:g.get(c,l))||h.create(f.VALUE);return p!=null&&p.isNull()&&(p=D.create(0)),p})}}class tu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",4);d(this,"needsReferenceObject",!0)}calculate(e,t,r,s){if(e.isError())return e;if(t!=null&&t.isError())return t;if(r!=null&&r.isError())return r;if(s!=null&&s.isError())return s;let a=0,o=0;if(e.isValueObject())a=1,o=1;else if(e.isReferenceObject()){const{startRow:l,endRow:m,startColumn:g,endColumn:p}=e.getRangeData();a=m-l+1,o=p-g+1}else return h.create(f.VALUE);a===1&&o>1&&r==null?(r=t!=null?t:D.create(0),t=D.create(0)):(t=t!=null?t:D.create(0),r=r!=null?r:D.create(0)),s=s!=null?s:D.create(1),t.isReferenceObject()&&(t=t.toArrayValueObject()),r.isReferenceObject()&&(r=r.toArrayValueObject()),s.isReferenceObject()&&(s=s.toArrayValueObject());const u=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1);if(t=t,r=r,s=s,u===1&&c===1)return this._calculateSingleCell(e,t,r,s);{const l=Z(u,c,t,h.create(f.NA)),m=Z(u,c,r,h.create(f.NA)),g=Z(u,c,s,h.create(f.NA));return l.map((p,R,b)=>{const P=m.get(R,b)||se.create(),w=g.get(R,b)||se.create(),v=this._calculateSingleCell(e,p,P,w);return v.isReferenceObject()?v.toArrayValueObject().getFirstCell():v})}}_calculateSingleCell(e,t,r,s){if(t.isError())return t;const a=this._getNumberValue(t);if(a===void 0||a<0)return h.create(f.VALUE);if(r.isError())return r;const o=this._getNumberValue(r);if(o===void 0||o<0)return h.create(f.VALUE);if(s.isError())return s;const u=this._getAreaNumberValue(s);return u===void 0||u<1?h.create(f.VALUE):e.isReferenceObject()?this._getReferenceObject(e,a,o,u):e.isValueObject()&&a===1&&o===1?e:h.create(f.REF)}_getNumberValue(e){if(e==null)return 0;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getAreaNumberValue(e){if(e==null)return 1;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getReferenceObject(e,t,r,s){const{startRow:a,endRow:o,startColumn:u,endColumn:c}=e.getRangeData();let l=0,m=0,g=0,p=0;if(t===0?(l=a,m=o):l=m=a+t-1,r===0?(g=u,p=c):g=p=u+r-1,l>o||g>c)return h.create(f.REF);const R={startRow:l,startColumn:g,endRow:m,endColumn:p};return this.createReferenceObject(e,R)}}const pi=[[jo,be.ADDRESS],[eu,be.CHOOSE],[Yo,be.COLUMN],[Ho,be.COLUMNS],[tu,be.INDEX],[zo,be.INDIRECT],[Go,be.OFFSET],[Xo,be.ROW],[Ko,be.ROWS],[qo,be.VLOOKUP],[No,be.LOOKUP],[Wo,be.MATCH],[Qo,be.HLOOKUP],[Zo,be.XLOOKUP],[Jo,be.XMATCH]];class ru extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.abs()}}class nu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.acos()}}class su extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.acosh()}}class iu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:ls(t)):ls(e)}}function ls(n){let i=n.getValue();if(n.isBoolean()&&(i=i?1:0),!Number.isFinite(i))return h.create(f.VALUE);i=Number(i);let e=Math.atan(1/i);return i<0&&(e+=Math.PI),Number.isNaN(e)?h.create(f.VALUE):D.create(e)}class au extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:fs(t)):fs(e)}}function fs(n){let i=n.getValue();if(n.isBoolean()&&(i=i?1:0),!Number.isFinite(i))return h.create(f.VALUE);if(i=Number(i),Math.abs(i)<=1)return h.create(f.NUM);const e=1/2*Math.log((i+1)/(i-1));return Number.isNaN(e)?h.create(f.VALUE):D.create(e)}class ou extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.asin()}}class uu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.asinh()}}class cu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.atan()}}class lu extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atan2(e))}}class fu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.atanh()}}class hu extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=Z(s,a,e,h.create(f.NA)),u=Z(s,a,t,h.create(f.NA)),c=r?Z(s,a,r,h.create(f.NA)):[],l=o.map((m,g,p)=>{let R=u.get(g,p),b=r?c.get(g,p):{};if(m.isString()&&(m=m.convertToNumberObjectValue()),R.isString()&&(R=R.convertToNumberObjectValue()),r&&b.isString()&&(b=b.convertToNumberObjectValue()),m.isString()||R.isString()||r&&b.isString())return h.create(f.VALUE);if(m.isError())return m;if(R.isError())return R;if(r&&b.isError())return b;const P=Math.floor(+m.getValue()),w=Math.floor(+R.getValue()),v=r?Math.floor(+b.getValue()):0;if(P<0||P>=2**53||w<2||w>36||v<0)return h.create(f.NUM);let B=P.toString(w);return r&&B.length<v&&(B=new Array(v-B.length+1).join("0")+B),le.create(B)});return l.getRowCount()===1&&l.getColumnCount()===1?l.getArrayValue()[0][0]:l}}class mu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.cos()}}class du extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:hs(t)):hs(e)}}function hs(n){let i=n.getValue();if(n.isBoolean()&&(i=i?1:0),!Number.isFinite(i))return h.create(f.VALUE);i=Number(i);const e=Math.cosh(i);return Number.isNaN(e)?h.create(f.VALUE):D.create(e)}class gu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:ms(t))):ms(e)}}function ms(n){let i=n.getValue();return i=Number(i),Math.abs(i)>=2**27?h.create(f.NUM):i===0?h.create(f.DIV_BY_ZERO):n.tan().getReciprocal()}class pu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:ds(t))):ds(e)}}function ds(n){let i=n.getValue();return i=Number(i),i===0?h.create(f.DIV_BY_ZERO):n.tanh().getReciprocal()}class Ru extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:gs(t))):gs(e)}}function gs(n){let i=n.getValue();return i=Number(i),Math.abs(i)>=2**27?h.create(f.NUM):i===0?h.create(f.DIV_BY_ZERO):n.sin().getReciprocal()}class _u extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:ps(t))):ps(e)}}function ps(n){let i=n.getValue();return i=Number(i),i===0?h.create(f.DIV_BY_ZERO):!Number.isNaN(i)&&!Number.isFinite(Math.sinh(i))?D.create(0):n.sinh().getReciprocal()}var ae=(n=>(n.ABS="ABS",n.ACOS="ACOS",n.ACOSH="ACOSH",n.ACOT="ACOT",n.ACOTH="ACOTH",n.AGGREGATE="AGGREGATE",n.ARABIC="ARABIC",n.ASIN="ASIN",n.ASINH="ASINH",n.ATAN="ATAN",n.ATAN2="ATAN2",n.ATANH="ATANH",n.BASE="BASE",n.CEILING="CEILING",n.CEILING_MATH="CEILING.MATH",n.CEILING_PRECISE="CEILING.PRECISE",n.COMBIN="COMBIN",n.COMBINA="COMBINA",n.COS="COS",n.COSH="COSH",n.COT="COT",n.COTH="COTH",n.CSC="CSC",n.CSCH="CSCH",n.DECIMAL="DECIMAL",n.DEGREES="DEGREES",n.EVEN="EVEN",n.EXP="EXP",n.FACT="FACT",n.FACTDOUBLE="FACTDOUBLE",n.FLOOR="FLOOR",n.FLOOR_MATH="FLOOR.MATH",n.FLOOR_PRECISE="FLOOR.PRECISE",n.GCD="GCD",n.INT="INT",n.ISO_CEILING="ISO.CEILING",n.LCM="LCM",n.LET="LET",n.LN="LN",n.LOG="LOG",n.LOG10="LOG10",n.MDETERM="MDETERM",n.MINVERSE="MINVERSE",n.MMULT="MMULT",n.MOD="MOD",n.MROUND="MROUND",n.MULTINOMIAL="MULTINOMIAL",n.MUNIT="MUNIT",n.ODD="ODD",n.PI="PI",n.POWER="POWER",n.PRODUCT="PRODUCT",n.QUOTIENT="QUOTIENT",n.RADIANS="RADIANS",n.RAND="RAND",n.RANDARRAY="RANDARRAY",n.RANDBETWEEN="RANDBETWEEN",n.ROMAN="ROMAN",n.ROUND="ROUND",n.ROUNDDOWN="ROUNDDOWN",n.ROUNDUP="ROUNDUP",n.SEC="SEC",n.SECH="SECH",n.SERIESSUM="SERIESSUM",n.SEQUENCE="SEQUENCE",n.SIGN="SIGN",n.SIN="SIN",n.SINH="SINH",n.SQRT="SQRT",n.SQRTPI="SQRTPI",n.SUBTOTAL="SUBTOTAL",n.SUM="SUM",n.SUMIF="SUMIF",n.SUMIFS="SUMIFS",n.SUMPRODUCT="SUMPRODUCT",n.SUMSQ="SUMSQ",n.SUMX2MY2="SUMX2MY2",n.SUMX2PY2="SUMX2PY2",n.SUMXMY2="SUMXMY2",n.TAN="TAN",n.TANH="TANH",n.TRUNC="TRUNC",n))(ae||{});class Eu extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:e.mod(t))}}class Cu extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:e.pow(t))}}class yu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(1);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=this._multiplyArray(s)),s.isError())return s;if(t=t.multiply(s),t.isError())return t}}return t}_multiplyArray(e){let t=D.create(1);return e.iterator(r=>{if(r==null||r.isString()||r.isBoolean()||r.isNull())return!0;if(r.isError())return t=r,!1;t=t.multiply(r)}),t}}class Du extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.sin()}}class bu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.sinh()}}class Su extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",255);d(this,"needsReferenceObject",!0)}calculate(e,...t){if(e.isError())return e;if(e.isReferenceObject()){const r=[];return e.iterator((s,a,o)=>{r[a]==null&&(r[a]=[]),r[a][o]=this._handleSingleObject(s,...t)}),pt(r,r.length,r[0].length)}return this._handleSingleObject(e,...t)}_handleSingleObject(e,...t){const r=this._getIndexNumValue(e);let s;if(r instanceof h)return r;switch(r){case 1:s=this._average(!1,...t);break;case 2:s=this._count(!1,...t);break;case 3:s=this._counta(!1,...t);break;case 4:s=this._max(!1,...t);break;case 5:s=this._min(!1,...t);break;case 6:s=this._product(!1,...t);break;case 7:s=this._stdev(!1,...t);break;case 8:s=this._stdevp(!1,...t);break;case 9:s=this._sum(!1,...t);break;case 10:s=this._var(!1,...t);break;case 11:s=this._varp(!1,...t);break;case 101:s=this._average(!0,...t);break;case 102:s=this._count(!0,...t);break;case 103:s=this._counta(!0,...t);break;case 104:s=this._max(!0,...t);break;case 105:s=this._min(!0,...t);break;case 106:s=this._product(!0,...t);break;case 107:s=this._stdev(!0,...t);break;case 108:s=this._stdevp(!0,...t);break;case 109:s=this._sum(!0,...t);break;case 110:s=this._var(!0,...t);break;case 111:s=this._varp(!0,...t);break;default:s=h.create(f.VALUE)}return s}_getIndexNumValue(e){const t=e?Number(e.getValue()):0;if(Number.isNaN(t))return h.create(f.VALUE);const r=Math.floor(t);return r>=1&&r<=11||r>=101&&r<=111?r:h.create(f.VALUE)}_average(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:r.mean()}_count(e,...t){let r=D.create(0);for(let s=0;s<t.length;s++){const a=t[s];if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();a.iterator((u,c)=>{if(e&&this._isRowHidden(o,c))return!0;u!=null&&u.isNumber()&&(r=r.plusBy(1))})}return r}_counta(e,...t){let r=D.create(0);for(let s=0;s<t.length;s++){const a=t[s];if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();a.iterator((u,c)=>{if(e&&this._isRowHidden(o,c)||u==null||u.isNull())return!0;r=r.plusBy(1)})}return r}_max(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?D.create(0):r.max()}_min(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?D.create(0):r.min()}_product(e,...t){const r=this._flattenRefArray(e,...t);if(r.isError())return r;if(this._isBlankArrayObject(r))return D.create(0);let s=D.create(1);return r.iterator(a=>{s=s.multiply(a)}),s}_stdev(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?h.create(f.DIV_BY_ZERO):r.std(1)}_stdevp(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?h.create(f.DIV_BY_ZERO):r.std()}_sum(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:r.sum()}_var(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?h.create(f.DIV_BY_ZERO):r.var(1)}_varp(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?h.create(f.DIV_BY_ZERO):r.var()}_flattenRefArray(e,...t){const r=[];r[0]=[];for(let s=0;s<t.length;s++){const a=t[s];if(a.isError())return a;if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();let u;if(a.iterator((c,l)=>{if(e&&this._isRowHidden(o,l)||c==null||c.isNull()||c.isString()||c.isBoolean())return!0;if(c.isError())return u=c,!1;r[0].push(c)}),u!=null&&u.isError())return u}return pt(r,1,r[0].length)}_isRowHidden(e,t){const r=e[t];return r?r.hd===C.BooleanNumber.TRUE:!1}_isBlankArrayObject(e){return e.getArrayValue()[0].length===0}}class Au extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(0);for(let r=0;r<e.length;r++){let s=e[r];if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&(s=s.sum()),t=t.plus(s),t.isError())return t}return t}}class Pu extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:!e.isArray()||r&&!r.isArray()?h.create(f.VALUE):t.isArray()?t.map(s=>this._handleSingleObject(e,s,r)):this._handleSingleObject(e,t,r)}_handleSingleObject(e,t,r){let s=vr(e,t);const[,a]=Qt(`${t.getValue()}`);s=Br(s,e,a);const o=r?r.slice([0,e.getRowCount()],[0,e.getColumnCount()]):e;return o?o.pick(s).sum():h.create(f.VALUE)}}class Lu extends L{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;if(!e.isArray()||t.length<2||t.length%2!==0||t.some((u,c)=>c%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=zt(t),a=Nt(t,e,r,s);if(a)return a;const o=Wt(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(a=>a.map(o=>e.pick(o).sum())),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return he.create(s)}}class xu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;if(e.isArray()||(e=he.create({calculateValueList:[[e]],rowCount:1,columnCount:1,unitId:"",sheetId:"",row:0,column:0})),t.length>0){const r=e.getRowCount(),s=e.getColumnCount(),a=[];for(let u=0;u<r;u++){const c=[];for(let l=0;l<s;l++){const m=e.get(u,l);if(m.isError())return m;const g=m.getValue();!g||!C.isRealNum(g)?c.push(0):c.push(+g)}a.push(c)}for(let u=0;u<t.length;u++){if(t[u].isError())return t[u];let c=1,l=1;if(t[u].isArray()&&(c=t[u].getRowCount(),l=t[u].getColumnCount()),c!==r||l!==s)return h.create(f.VALUE);for(let m=0;m<r;m++){const g=[];for(let p=0;p<s;p++){let R=t[u];if(t[u].isArray()&&(R=t[u].get(m,p)),R.isError())return R;const b=R.getValue();!b||!C.isRealNum(b)?g.push(0):g.push(+b*a[m][p])}a[m]=g}}const o=a.reduce((u,c)=>u.concat(c)).reduce((u,c)=>u+c,0);return D.create(o)}else return e.sum()}}class Vu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.tan()}}class wu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.tanh()}}const Ri=[[ru,ae.ABS],[nu,ae.ACOS],[su,ae.ACOSH],[iu,ae.ACOT],[au,ae.ACOTH],[ou,ae.ASIN],[uu,ae.ASINH],[cu,ae.ATAN],[lu,ae.ATAN2],[fu,ae.ATANH],[hu,ae.BASE],[mu,ae.COS],[du,ae.COSH],[gu,ae.COT],[pu,ae.COTH],[Ru,ae.CSC],[_u,ae.CSCH],[Eu,ae.MOD],[Cu,ae.POWER],[yu,ae.PRODUCT],[Du,ae.SIN],[bu,ae.SINH],[Su,ae.SUBTOTAL],[Au,ae.SUM],[Pu,ae.SUMIF],[Lu,ae.SUMIFS],[xu,ae.SUMPRODUCT],[Vu,ae.TAN],[wu,ae.TANH]];class Uu extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2);d(this,"_compareType",O.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}}class Dn extends Ke{constructor(e){super("");d(this,"_values",[]);this._values=e}static create(e){return new Dn(e)}isCube(){return!0}sum(){const e=D.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=D.create(Number.NEGATIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isLessThan(r)&&(e=r)}),e}min(){let e=D.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isGreaterThan(r)&&(e=r)}),e}count(){const e=D.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){const e=D.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){const e=D.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}}class Ou extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const s=e[r];if(s.isError())return s;if(!s.isArray())return h.create(f.VALUE);t.push(s)}return Dn.create(t)}}class Mu extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?h.create(f.DIV_BY_ZERO):e.divided(t)}}var Ae=(n=>(n.COMPARE="COMPARE",n.DIVIDED="DIVIDED",n.MINUS="MINUS",n.MULTIPLY="MULTIPLY",n.PLUS="PLUS",n.UNION="UNION",n.CUBE="CUBE",n))(Ae||{});class Fu extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}}class vu extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}}class Bu extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}}const _i=[[Uu,Ae.COMPARE],[Mu,Ae.DIVIDED],[Fu,Ae.MINUS],[vu,Ae.MULTIPLY],[Bu,Ae.PLUS],[Ou,Ae.CUBE]];class Tu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(0),r=D.create(0);for(let s=0;s<e.length;s++){let a=e[s];if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()){if(t=t.plus(a.sum()),t.isError())return t;r=r.plus(a.count())}else a.isNull()||(t=t.plus(a),r=r.plus(D.create(1)))}return t.divided(r)}}class ku extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(0);for(let r=0;r<e.length;r++){const s=e[r];s.isError()||(s.isArray()?t=t.plus(s.count()):s.isString()?s.convertToNumberObjectValue().isError()||(t=t.plus(D.create(1))):s.isNull()||(t=t.plus(D.create(1))))}return t}}class Iu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(0);for(let r=0;r<e.length;r++){let s=e[r];if(s.isError()){t=t.plus(D.create(1));continue}s.isArray()?(s=s.countA(),t=t.plus(s)):s.isNull()||(t=t.plus(D.create(1)))}return t}}var ce=(n=>(n.AVEDEV="AVEDEV",n.AVERAGE="AVERAGE",n.AVERAGEA="AVERAGEA",n.AVERAGEIF="AVERAGEIF",n.AVERAGEIFS="AVERAGEIFS",n.BETA_DIST="BETA.DIST",n.BETA_INV="BETA.INV",n.BINOM_DIST="BINOM.DIST",n.BINOM_DIST_RANGE="BINOM.DIST.RANGE",n.BINOM_INV="BINOM.INV",n.CHISQ_DIST="CHISQ.DIST",n.CHISQ_DIST_RT="CHISQ.DIST.RT",n.CHISQ_INV="CHISQ.INV",n.CHISQ_INV_RT="CHISQ.INV.RT",n.CHISQ_TEST="CHISQ.TEST",n.CONFIDENCE_NORM="CONFIDENCE.NORM",n.CONFIDENCE_T="CONFIDENCE.T",n.CORREL="CORREL",n.COUNT="COUNT",n.COUNTA="COUNTA",n.COUNTBLANK="COUNTBLANK",n.COUNTIF="COUNTIF",n.COUNTIFS="COUNTIFS",n.COVARIANCE_P="COVARIANCE.P",n.COVARIANCE_S="COVARIANCE.S",n.DEVSQ="DEVSQ",n.EXPON_DIST="EXPON.DIST",n.F_DIST="F.DIST",n.F_DIST_RT="F.DIST.RT",n.F_INV="F.INV",n.F_INV_RT="F.INV.RT",n.F_TEST="F.TEST",n.FISHER="FISHER",n.FISHERINV="FISHERINV",n.FORECAST="FORECAST",n.FORECAST_ETS="FORECAST.ETS",n.FORECAST_ETS_CONFINT="FORECAST.ETS.CONFINT",n.FORECAST_ETS_SEASONALITY="FORECAST.ETS.SEASONALITY",n.FORECAST_ETS_STAT="FORECAST.ETS.STAT",n.FORECAST_LINEAR="FORECAST.LINEAR",n.FREQUENCY="FREQUENCY",n.GAMMA="GAMMA",n.GAMMA_DIST="GAMMA.DIST",n.GAMMA_INV="GAMMA.INV",n.GAMMALN="GAMMALN",n.GAMMALN_PRECISE="GAMMALN.PRECISE",n.GAUSS="GAUSS",n.GEOMEAN="GEOMEAN",n.GROWTH="GROWTH",n.HARMEAN="HARMEAN",n.HYPGEOM_DIST="HYPGEOM.DIST",n.INTERCEPT="INTERCEPT",n.KURT="KURT",n.LARGE="LARGE",n.LINEST="LINEST",n.LOGEST="LOGEST",n.LOGNORM_DIST="LOGNORM.DIST",n.LOGNORM_INV="LOGNORM.INV",n.MAX="MAX",n.MAXA="MAXA",n.MAXIFS="MAXIFS",n.MEDIAN="MEDIAN",n.MIN="MIN",n.MINA="MINA",n.MINIFS="MINIFS",n.MODE_MULT="MODE.MULT",n.MODE_SNGL="MODE.SNGL",n.NEGBINOM_DIST="NEGBINOM.DIST",n.NORM_DIST="NORM.DIST",n.NORM_INV="NORM.INV",n.NORM_S_DIST="NORM.S.DIST",n.NORM_S_INV="NORM.S.INV",n.PEARSON="PEARSON",n.PERCENTILE_EXC="PERCENTILE.EXC",n.PERCENTILE_INC="PERCENTILE.INC",n.PERCENTRANK_EXC="PERCENTRANK.EXC",n.PERCENTRANK_INC="PERCENTRANK.INC",n.PERMUT="PERMUT",n.PERMUTATIONA="PERMUTATIONA",n.PHI="PHI",n.POISSON_DIST="POISSON.DIST",n.PROB="PROB",n.QUARTILE_EXC="QUARTILE.EXC",n.QUARTILE_INC="QUARTILE.INC",n.RANK_AVG="RANK.AVG",n.RANK_EQ="RANK.EQ",n.RSQ="RSQ",n.SKEW="SKEW",n.SKEW_P="SKEW.P",n.SLOPE="SLOPE",n.SMALL="SMALL",n.STANDARDIZE="STANDARDIZE",n.STDEV_P="STDEV.P",n.STDEV_S="STDEV.S",n.STDEVA="STDEVA",n.STDEVPA="STDEVPA",n.STEYX="STEYX",n.T_DIST="T.DIST",n.T_DIST_2T="T.DIST.2T",n.T_DIST_RT="T.DIST.RT",n.T_INV="T.INV",n.T_INV_2T="T.INV.2T",n.T_TEST="T.TEST",n.TREND="TREND",n.TRIMMEAN="TRIMMEAN",n.VAR_P="VAR.P",n.VAR_S="VAR.S",n.VARA="VARA",n.VARPA="VARPA",n.WEIBULL_DIST="WEIBULL.DIST",n.Z_TEST="Z.TEST",n))(ce||{});class ju extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=s.max()),s.isError())return s;t=this._validator(t,s)}}return t.getValue()===Number.NEGATIVE_INFINITY?D.create(0):t}_validator(e,t){return e.isLessThan(t).getValue()&&(e=t),e}}class $u extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=s.min()),s.isError())return s;t=this._validator(t,s)}}return t.getValue()===Number.POSITIVE_INFINITY?D.create(0):t}_validator(e,t){return e.isGreaterThan(t).getValue()&&(e=t),e}}class Yu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}}class Hu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std()}}class Qu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}}class zu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var()}}class Nu extends L{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return h.create(f.NA);if(!e.isArray()||t.length%2!==0||t.some((u,c)=>c%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=zt(t),a=Nt(t,e,r,s);if(a)return a;const o=Wt(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(a=>a.map(o=>{const u=e.pick(o);return u.getColumnCount()===0?he.create("0"):u.max()})),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return he.create(s)}}class Wu extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(0),r=D.create(0);for(let s=0;s<e.length;s++){let a=e[s];if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()){if(a.iterator(o=>{if(o==null||o.isNull())return!0;if(o.isString()&&(o=o.convertToNumberObjectValue(),o.isError()&&(o=D.create(0))),o.isBoolean()&&(o=o.convertToNumberObjectValue()),o.isError())return t=o,!1;t=t.plus(o),r=r.plus(D.create(1))}),t.isError())return t}else a.isNull()||(t=t.plus(a),r=r.plus(D.create(1)))}return t.divided(r)}}class Gu extends L{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return h.create(f.NA);if(!e.isArray()||t.length%2!==0||t.some((u,c)=>c%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=zt(t),a=Nt(t,e,r,s);if(a)return a;const o=Wt(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(a=>a.map(o=>{const u=e.pick(o);return u.getColumnCount()===0?he.create("0"):u.min()})),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return he.create(s)}}class Xu extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3);d(this,"needsReferenceObject",!0)}calculate(e,t,r){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:(e.isReferenceObject()&&(e=e.toArrayValueObject()),e.isArray()||(e=pt([[e]],1,1)),t.isReferenceObject()&&(t=t.toArrayValueObject()),r&&!(r!=null&&r.isReferenceObject())?h.create(f.NA):(t=t,t.isArray()?t.map(s=>this._handleSingleObject(e,s,r)):this._handleSingleObject(e,t,r)))}_handleSingleObject(e,t,r){let s=vr(e,t);const[,a]=Qt(`${t.getValue()}`);s=Br(s,e,a);let o=r?this._createRangeReferenceObject(r,e):e;if(!o)return h.create(f.VALUE);if(o.isError())return o;o.isReferenceObject()&&(o=o.toArrayValueObject()),o=o;const u=o.pick(s),c=u.sum(),l=u.count();return c.divided(l)}_createRangeReferenceObject(e,t){const r=e.getRowCount(),s=e.getColumnCount(),a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1;if(r===a&&s===o)return e;const{startRow:u,startColumn:c}=e.getRangeData(),l={startRow:u,startColumn:c,endRow:u+a-1,endColumn:c+o-1};return this.createReferenceObject(e,l)}}class Ku extends L{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return h.create(f.NA);if(!e.isArray()||t.length%2!==0||t.some((u,c)=>c%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=zt(t),a=Nt(t,e,r,s);if(a)return a;const o=Wt(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(a=>a.map(o=>{const u=e.pick(o),c=u.sum(),l=u.count();return c.divided(l)})),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return he.create(s)}}class qu extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()||t.isError()?h.create(f.NA):e.isArray()?t.isArray()?t.mapValue(r=>this._handleSingleObject(e,r)):this._handleSingleObject(e,t):h.create(f.VALUE)}_handleSingleObject(e,t){let r=vr(e,t);const[,s]=Qt(`${t.getValue()}`);r=Br(r,e,s);const a=e.pick(r);return this._countA(a)}_countA(e){let t=D.create(0);return e.iterator(r=>{if(r==null)return!0;t=t.plusBy(1)}),t}}class Zu extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",255)}calculate(...e){if(e.length%2!==0||e.some((o,u)=>u%2===0&&!o.isArray()))return h.create(f.VALUE);const{maxRowLength:t,maxColumnLength:r}=zt(e),s=Nt(e,e[0],t,r);if(s)return s;const a=Wt(e,t,r,!0);return this._aggregateResults(a)}_aggregateResults(e){const t=e.map(s=>s.map(a=>Ju(a))),r={calculateValueList:t,rowCount:t.length,columnCount:t[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return he.create(r)}}function Ju(n){let i=0;return n.iterator(e=>{e!=null&&e.isBoolean()&&e.getValue()===!0&&i++}),D.create(i)}class ec extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.getValue()===""||e.isNull()?D.create(1):e.isArray()?e.countBlank():D.create(0)}}class tc extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&s.iterator(a=>{if((a==null||a.isNull()||a.isString())&&(a=D.create(0)),a.isBoolean()&&(a=a.convertToNumberObjectValue()),a.isError())return t=a,!1;t=this._validator(t,a)}),t.isError())return t;t=this._validator(t,s)}}return t.getValue()===Number.POSITIVE_INFINITY?D.create(0):t}_validator(e,t){return e.isGreaterThan(t).getValue()&&(e=t),e}}class rc extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&s.iterator(a=>{if((a==null||a.isNull()||a.isString())&&(a=D.create(0)),a.isBoolean()&&(a=a.convertToNumberObjectValue()),a.isError())return t=a,!1;t=this._validator(t,a)}),t.isError())return t;t=this._validator(t,s)}}return t.getValue()===Number.NEGATIVE_INFINITY?D.create(0):t}_validator(e,t){return e.isLessThan(t).getValue()&&(e=t),e}}class nc extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(0),r=D.create(0);for(let o=0;o<e.length;o++){let u=e[o];if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(u.isArray()){if(u=sc(u),u.isError())return u;if(e[o]=u,t=t.plus(u.sum()),t.isError())return t;r=r.plus(u.count())}else u.isNull()||(t=t.plus(u),r=r.plus(D.create(1)))}if(r.getValue()===0)return h.create(f.NUM);const s=t.divided(r);if(s.isError())return s;let a=D.create(0);for(let o=0;o<e.length;o++){let u=e[o];if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(u.isArray()){if(a=a.plus(u.minus(s).abs().sum()),a.isError())return a}else u.isNull()||(a=a.plus(u.minus(s).abs()))}return a.divided(r)}}function sc(n){const i=[];i[0]=[];let e=null;return n.iterator((t,r,s)=>{if(t!=null&&t.isError())return e=t,!1;t!=null&&t.isNumber()&&i[0].push(t)}),e||pt(i,1,i[0].length)}const Ei=[[nc,ce.AVEDEV],[Tu,ce.AVERAGE],[Wu,ce.AVERAGEA],[Xu,ce.AVERAGEIF],[Ku,ce.AVERAGEIFS],[ku,ce.COUNT],[Iu,ce.COUNTA],[ec,ce.COUNTBLANK],[qu,ce.COUNTIF],[Zu,ce.COUNTIFS],[ju,ce.MAX],[rc,ce.MAXA],[Nu,ce.MAXIFS],[$u,ce.MIN],[tc,ce.MINA],[Gu,ce.MINIFS],[Ks,ce.STDEV_P],[qs,ce.STDEV_S],[Yu,ce.STDEVA],[Hu,ce.STDEVPA],[Zs,ce.VAR_P],[Js,ce.VAR_S],[Qu,ce.VARA],[zu,ce.VARPA]];class ic extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=0,r=0;e.forEach(a=>{if(a.isArray()){const o=a;t=Math.max(t,o.getRowCount()),r=Math.max(r,o.getColumnCount())}else t=Math.max(t,1),r=Math.max(r,1)});let s=null;for(const a of e)s=Z(t,r,a,h.create(f.NA)).mapValue((u,c,l)=>{const m=s&&s.get(c,l);if(m!=null&&m.isError())return m;if(u.isError())return u;let g=m==null?void 0:m.getValue(),p=u==null?void 0:u.getValue();m!=null&&m.isBoolean()&&(g=`${g}`.toLocaleUpperCase()),u!=null&&u.isBoolean()&&(p=`${p}`.toLocaleUpperCase());const R=m!=null&&m.isNull()?"":g!=null?g:"",b=u!=null&&u.isNull()?"":p!=null?p:"";return le.create(`${R}${b}`)});return s||h.create(f.VALUE)}}var Ne=(n=>(n.ASC="ASC",n.ARRAYTOTEXT="ARRAYTOTEXT",n.BAHTTEXT="BAHTTEXT",n.CHAR="CHAR",n.CLEAN="CLEAN",n.CODE="CODE",n.CONCAT="CONCAT",n.CONCATENATE="CONCATENATE",n.DBCS="DBCS",n.DOLLAR="DOLLAR",n.EXACT="EXACT",n.FIND="FIND",n.FINDB="FINDB",n.FIXED="FIXED",n.LEFT="LEFT",n.LEFTB="LEFTB",n.LEN="LEN",n.LENB="LENB",n.LOWER="LOWER",n.MID="MID",n.MIDB="MIDB",n.NUMBERVALUE="NUMBERVALUE",n.PHONETIC="PHONETIC",n.PROPER="PROPER",n.REPLACE="REPLACE",n.REPLACEB="REPLACEB",n.REPT="REPT",n.RIGHT="RIGHT",n.RIGHTB="RIGHTB",n.SEARCH="SEARCH",n.SEARCHB="SEARCHB",n.SUBSTITUTE="SUBSTITUTE",n.T="T",n.TEXT="TEXT",n.TEXTAFTER="TEXTAFTER",n.TEXTBEFORE="TEXTBEFORE",n.TEXTJOIN="TEXTJOIN",n.TEXTSPLIT="TEXTSPLIT",n.TRIM="TRIM",n.UNICHAR="UNICHAR",n.UNICODE="UNICODE",n.UPPER="UPPER",n.VALUE="VALUE",n.VALUETOTEXT="VALUETOTEXT",n.CALL="CALL",n.EUROCONVERT="EUROCONVERT",n.REGISTER_ID="REGISTER.ID",n))(Ne||{});class ac extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return D.create(0);if(e.isNumber()){const t=e.getValue(),r=Ys(t).toString();return D.create(r.length)}if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString();return D.create(t.length)}return h.create(f.VALUE)}}function oc(n){let i=0;for(let e=0;e<n.length;e++){const t=n.charCodeAt(e);t>=12352&&t<=12543||t>=19968&&t<=40959||t>=44032&&t<=55215?i+=2:i+=1}return i}class uc extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return D.create(0);if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString(),r=oc(t);return D.create(r)}return h.create(f.VALUE)}}const cc=(n,i)=>xt.format(n,i);class lc extends L{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=Z(r,s,e),o=Z(r,s,t);return a.map((u,c,l)=>{if(u.isError()||u.isString()||u.isBoolean())return u;let m=o.get(c,l)||le.create(" ");if(m.isError())return m;if(m.isBoolean())return h.create(f.VALUE);m.isNull()&&(m=le.create(" "));const g=`${m.getValue()}`;u.isNull()&&(u=D.create(0));const p=u.getValue(),R=cc(g,p);return le.create(R)})}}class fc extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return le.create("");if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString().toLowerCase();return le.create(t)}return h.create(f.VALUE)}}class hc extends L{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t="",r=null;for(const s of e)if(s.isArray()){if(s.iterator(a=>{if(a==null||a.isNull())return!0;if(a.isError())return r=a,!1;a.isBoolean()?t+=`${a.getValue()}`.toLocaleUpperCase():(a.isString()||a.isNumber())&&(t+=a.getValue())}),r)return r}else!s.isError()&&!s.isNull()&&(t+=s.getValue());return le.create(t)}}const Ci=[[hc,Ne.CONCAT],[ic,Ne.CONCATENATE],[ac,Ne.LEN],[uc,Ne.LENB],[lc,Ne.TEXT],[fc,Ne.LOWER]],yi=[];var Di=(n=>n)(Di||{});const bi=[];var Si=(n=>(n.ENCODEURL="ENCODEURL",n.FILTERXML="FILTERXML",n.WEBSERVICE="WEBSERVICE",n))(Si||{});function mc(n,i,e,t,r,s,a){var m;const o=(a==null?void 0:a.f)||"",u=(a==null?void 0:a.si)||"",c=C.isFormulaString(o),l=C.isFormulaId(u);if(c&&l)n.setValue(r,s,{f:o,si:u}),e.set(u,{f:o,r,c:s}),i.setValue(r,s,{f:o,si:u});else if(c&&!l)n.setValue(r,s,{f:o}),i.setValue(r,s,{f:o});else if(!c&&l)n.setValue(r,s,{f:"",si:u});else if(!c&&!l&&n.getValue(r,s)){const g=n.getValue(r,s),p=(g==null?void 0:g.f)||"",R=(g==null?void 0:g.si)||"";if(C.isFormulaString(p)&&C.isFormulaId(R)){const b=(m=e.get(R))==null?void 0:m.f;b?t.set(R,b):t.set(R,p)}n.realDeleteValue(r,s),i.setValue(r,s,null)}}function dc(n,i,e,t){const r=n==null?void 0:n.getValue(e,t);if(r==null)return!0;const{startRow:s,startColumn:a,endRow:o,endColumn:u}=r;for(let c=s;c<=o;c++)for(let l=a;l<=u;l++)i.realDeleteValue(c,l)}var gc=Object.defineProperty,pc=Object.getOwnPropertyDescriptor,Rc=(n,i,e,t)=>{for(var r=t>1?void 0:t?pc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&gc(i,e,r),r},Rs=(n,i)=>(e,t)=>i(e,t,n);exports.FormulaDataModel=class extends C.Disposable{constructor(e,t){super();d(this,"_formulaData",{});d(this,"_arrayFormulaRange",{});d(this,"_arrayFormulaCellData",{});this._univerInstanceService=e,this._lexerTreeBuilder=t,this.initFormulaData()}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(s=>{var c,l,m,g;const a=r[s],o=(l=(c=this._arrayFormulaRange)==null?void 0:c[t])==null?void 0:l[s];if(o==null)return!0;let u=new C.ObjectMatrix;((m=this._arrayFormulaCellData[t])==null?void 0:m[s])!=null&&(u=new C.ObjectMatrix((g=this._arrayFormulaCellData[t])==null?void 0:g[s])),a.forValue((p,R)=>{var X;const b=(X=o==null?void 0:o[p])==null?void 0:X[R];if(b==null)return!0;const{startRow:P,startColumn:w,endRow:v,endColumn:B}=b;for(let oe=P;oe<=v;oe++)for(let de=w;de<=B;de++)u.setValue(oe,de,null)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][s]=u.getData())})})}mergeArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;this._arrayFormulaRange[t]==null&&(this._arrayFormulaRange[t]={}),this._arrayFormulaCellData[t]==null&&(this._arrayFormulaCellData[t]={}),Object.keys(r).forEach(s=>{var c,l;const a=r[s],o=new C.ObjectMatrix((c=this._arrayFormulaRange[t])==null?void 0:c[s]),u=new C.ObjectMatrix((l=this._arrayFormulaCellData[t])==null?void 0:l[s]);a.forValue((m,g)=>{const p=o==null?void 0:o.getValue(m,g);if(p==null)return!0;const{startRow:R,startColumn:b,endRow:P,endColumn:w}=p;for(let v=R;v<=P;v++)for(let B=b;B<=w;B++)u.setValue(v,B,null)}),a.forValue((m,g,p)=>{u.setValue(m,g,p)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][s]=u.getData())})})}getFormulaData(){return this._formulaData}setFormulaData(e){this._formulaData=e}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}mergeArrayFormulaRange(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;this._arrayFormulaRange[t]||(this._arrayFormulaRange[t]={}),Object.keys(r).forEach(s=>{var u;const a=new C.ObjectMatrix(r[s]),o=new C.ObjectMatrix((u=this._arrayFormulaRange[t])==null?void 0:u[s]);a.forValue((c,l,m)=>{o.setValue(c,l,m)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][s]=o.getData())})})}mergeFormulaData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r!==void 0){if(r===null){delete this._formulaData[t];return}this._formulaData[t]||(this._formulaData[t]={}),Object.keys(r).forEach(s=>{var c,l;const a=r[s];if(a===void 0)return;if(a===null){(c=this._formulaData[t])==null||delete c[s];return}const o=new C.ObjectMatrix(a),u=new C.ObjectMatrix(((l=this._formulaData[t])==null?void 0:l[s])||{});o.forValue((m,g,p)=>{p==null?u.realDeleteValue(m,g):u.setValue(m,g,p)}),this._formulaData[t][s]=u.clone()})}})}deleteArrayFormulaRange(e,t,r,s){var u;const a=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(a==null)return;const o=new C.ObjectMatrix(a);o.getValue(r,s)&&(o.realDeleteValue(r,s),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=o.getData()))}initFormulaData(){if(this._univerInstanceService.getAllUnitsForType(C.UniverInstanceType.UNIVER_SHEET).length===0)return;const t=this._univerInstanceService.getCurrentUnitForType(C.UniverInstanceType.UNIVER_SHEET),r=t.getUnitId();this._formulaData[r]={},t.getSheets().forEach(a=>{const o=a.getCellMatrix(),u=a.getSheetId();Ai(this._formulaData,r,u,o)})}getCalculateData(){const e=this._univerInstanceService.getAllUnitsForType(C.UniverInstanceType.UNIVER_SHEET),t={},r={};for(const s of e){const a=s.getUnitId(),o=s.getSheets(),u={},c={};for(const l of o){const m=l.getSheetId(),g=l.getConfig();u[m]={cellData:new C.ObjectMatrix(g.cellData),rowCount:g.rowCount,columnCount:g.columnCount,rowData:g.rowData,columnData:g.columnData},c[l.getName()]=l.getSheetId()}t[a]=u,r[a]=c}return{allUnitData:t,unitSheetNameMap:r}}updateFormulaData(e,t,r){const s=new C.ObjectMatrix(r),a=this.getFormulaIdMap(e,t),o=new Map,u=this._formulaData;u[e]==null&&(u[e]={});const c=u[e];c[t]==null&&(c[t]={});const l=new C.ObjectMatrix(c[t]||{}),m=new C.ObjectMatrix;return s.forValue((g,p,R)=>{mc(l,m,a,o,g,p,R)}),l.forValue((g,p,R)=>{const b=(R==null?void 0:R.f)||"",P=(R==null?void 0:R.si)||"";if(C.isFormulaId(P)){const w=a.get(P),v=o.get(P);if(w&&!C.isFormulaString(b)){const B=w.f,X=p-w.c,oe=g-w.r;l.setValue(g,p,{f:B,si:P,x:X,y:oe}),m.setValue(g,p,{f:B,si:P,x:X,y:oe})}else if(typeof v=="string"){const B=(R==null?void 0:R.x)||0,X=(R==null?void 0:R.y)||0,oe=this._lexerTreeBuilder.moveFormulaRefOffset(v,B,X);o.set(P,{r:g,c:p,f:oe}),l.setValue(g,p,{f:oe,si:P}),m.setValue(g,p,{f:oe,si:P})}else if(typeof v=="object"){const B=p-v.c,X=g-v.r;l.setValue(g,p,{f:v.f,si:P,x:B,y:X}),m.setValue(g,p,{f:v.f,si:P,x:B,y:X})}}}),m.clone()}updateArrayFormulaRange(e,t,r){var u;const s=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(!s)return;const a=new C.ObjectMatrix(s);new C.ObjectMatrix(r).forValue((c,l,m)=>{a.realDeleteValue(c,l)})}updateArrayFormulaCellData(e,t,r){var l,m;const s=(l=this._arrayFormulaRange[e])==null?void 0:l[t];if(!s)return;const a=new C.ObjectMatrix(s),o=(m=this._arrayFormulaCellData[e])==null?void 0:m[t];if(!o)return;const u=new C.ObjectMatrix(o);new C.ObjectMatrix(r).forValue((g,p,R)=>{dc(a,u,g,p)})}getFormulaItemBySId(e,t,r){const s=this._formulaData;if(s[r]==null)return null;const a=s[r];if((a==null?void 0:a[t])==null)return null;const o=new C.ObjectMatrix(a[t]||{});let u=null;return o.forValue((c,l,m)=>{if(m==null)return!0;const{f:g,si:p,x:R=0,y:b=0}=m;if(p===e&&g.length>0&&R===0&&b===0)return u=m,!1}),u}getFormulaDataItem(e,t,r,s){var a,o,u,c;return(c=(u=(o=(a=this._formulaData)==null?void 0:a[s])==null?void 0:o[r])==null?void 0:u[e])==null?void 0:c[t]}getFormulaIdMap(e,t){const r=new Map,s=this._formulaData;if(s[e]==null)return r;const a=s[e];return(a==null?void 0:a[t])==null||new C.ObjectMatrix(a[t]||{}).forValue((u,c,l)=>{const m=(l==null?void 0:l.f)||"",g=(l==null?void 0:l.si)||"",p=(l==null?void 0:l.x)||0,R=(l==null?void 0:l.y)||0;C.isFormulaString(m)&&C.isFormulaId(g)&&p===0&&R===0&&r.set(g,{f:m,r:u,c})}),r}getFormulaStringByCell(e,t,r,s){const a=this.getFormulaDataItem(e,t,r,s);if(a==null)return null;const{f:o,si:u,x:c=0,y:l=0}=a;if(u!=null&&(c!==0||l!==0)){let m="";if(o.length>0)m=o;else{const g=this.getFormulaItemBySId(u,r,s);if(g==null||g.f.length===0)return null;m=g.f}return m=this._lexerTreeBuilder.moveFormulaRefOffset(m,c,l),m}return C.isFormulaString(o)?o:null}};exports.FormulaDataModel=Rc([Rs(0,C.IUniverInstanceService),Rs(1,C.Inject(Ur))],exports.FormulaDataModel);function Ai(n,i,e,t){const r=new Map,s=new C.ObjectMatrix;t.forValue((o,u,c)=>{const l=(c==null?void 0:c.f)||"",m=(c==null?void 0:c.si)||"",g=C.isFormulaString(l),p=C.isFormulaId(m);g&&p?(s.setValue(o,u,{f:l,si:m}),r.set(m,{f:l,r:o,c:u})):g&&!p?s.setValue(o,u,{f:l}):!g&&p&&s.setValue(o,u,{f:"",si:m})}),s.forValue((o,u,c)=>{const l=(c==null?void 0:c.f)||"",m=(c==null?void 0:c.si)||"";if(C.isFormulaId(m)&&!C.isFormulaString(l)){const g=r.get(m);if(g){const p=g.f,R=u-g.c,b=o-g.r;s.setValue(o,u,{f:p,si:m,x:R,y:b})}else s.realDeleteValue(o,u)}}),n[i]||(n[i]={});const a=s.clone();return n[i][e]=a,{[i]:{[e]:a}}}const Cr={id:"formula.mutation.set-array-formula-data",type:C.CommandType.MUTATION,handler:(n,i)=>!0},bn={id:"formula.mutation.set-formula-calculation-start",type:C.CommandType.MUTATION,handler:()=>!0},Sn={id:"formula.mutation.set-formula-calculation-stop",type:C.CommandType.MUTATION,handler:()=>!0},yr={id:"formula.mutation.set-formula-calculation-notification",type:C.CommandType.MUTATION,handler:()=>!0},An={id:"formula.mutation.set-formula-calculation-result",type:C.CommandType.MUTATION,handler:()=>!0},Tr={id:"formula.mutation.set-formula-data",type:C.CommandType.MUTATION,handler:(n,i)=>!0};class Pi extends C.Disposable{constructor(){super();d(this,"_definedNameMap",{});d(this,"_update$",new yt.Subject);d(this,"update$",this._update$.asObservable());d(this,"_currentRange",{unitId:"",sheetId:"",range:{startRow:0,endRow:0,startColumn:0,endColumn:0}});d(this,"_currentRange$",new yt.Subject);d(this,"currentRange$",this._currentRange$.asObservable());d(this,"_focusRange$",new yt.Subject);d(this,"focusRange$",this._focusRange$.asObservable())}dispose(){this._definedNameMap={}}focusRange(e,t){const r=this.getValueById(e,t);r!=null&&this._focusRange$.next({...r,unitId:e})}setCurrentRange(e){this._currentRange=e,this._currentRange$.next(e)}getCurrentRange(){return this._currentRange}getCurrentRangeForString(){return Xe(this._currentRange.range)}registerDefinedNames(e,t){this._definedNameMap[e]=t,this._update()}registerDefinedName(e,t){this._definedNameMap[e]==null&&(this._definedNameMap[e]={}),this._definedNameMap[e][t.id]=t,this._update()}removeDefinedName(e,t){var r;(r=this._definedNameMap[e])==null||delete r[t],this._update()}removeUnitDefinedName(e){delete this._definedNameMap[e],this._update()}getDefinedNameMap(e){return this._definedNameMap[e]}getValueByName(e,t){var s;const r=this._definedNameMap[e];return r==null?null:(s=Array.from(Object.values(r)).filter(a=>a.name===t))==null?void 0:s[0]}getValueById(e,t){var r;return(r=this._definedNameMap[e])==null?void 0:r[t]}hasDefinedName(e){return this._definedNameMap[e]==null?!1:(Array.from(Object.values(this._definedNameMap[e])).length||0)!==0}_update(){this._update$.next(null)}}const Xt=C.createIdentifier("univer.formula.defined-names.service");var _c=Object.defineProperty,Ec=Object.getOwnPropertyDescriptor,Cc=(n,i,e,t)=>{for(var r=t>1?void 0:t?Ec(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&_c(i,e,r),r},yc=(n,i)=>(e,t)=>i(e,t,n);exports.FormulaCurrentConfigService=class extends C.Disposable{constructor(e){super();d(this,"_unitData",{});d(this,"_unitStylesData",{});d(this,"_arrayFormulaCellData",{});d(this,"_formulaData",{});d(this,"_sheetNameMap",{});d(this,"_forceCalculate",!1);d(this,"_dirtyRanges",[]);d(this,"_dirtyNameMap",{});d(this,"_dirtyDefinedNameMap",{});d(this,"_dirtyUnitFeatureMap",{});d(this,"_dirtyUnitOtherFormulaMap",{});d(this,"_excludedCell");d(this,"_sheetIdToNameMap",{});d(this,"_executeUnitId","");d(this,"_executeSubUnitId","");this._univerInstanceService=e}dispose(){this._unitData={},this._unitStylesData={},this._formulaData={},this._arrayFormulaCellData={},this._sheetNameMap={},this._dirtyRanges=[],this._dirtyNameMap={},this._dirtyDefinedNameMap={},this._dirtyUnitFeatureMap={},this._excludedCell={},this._sheetIdToNameMap={},this._dirtyUnitOtherFormulaMap={}}getExecuteUnitId(){return this._executeUnitId}getExecuteSubUnitId(){return this._executeSubUnitId}setExecuteUnitId(e){this._executeUnitId=e}setExecuteSubUnitId(e){this._executeSubUnitId=e}getExcludedRange(){return this._excludedCell}getUnitData(){return this._unitData}getUnitStylesData(){return this._unitStylesData}getFormulaData(){return this._formulaData}getArrayFormulaCellData(){return this._arrayFormulaCellData}getSheetNameMap(){return this._sheetNameMap}isForceCalculate(){return this._forceCalculate}getDirtyRanges(){return this._dirtyRanges}getDirtyNameMap(){return this._dirtyNameMap}getDirtyDefinedNameMap(){return this._dirtyDefinedNameMap}getDirtyUnitFeatureMap(){return this._dirtyUnitFeatureMap}getDirtyUnitOtherFormulaMap(){return this._dirtyUnitOtherFormulaMap}getSheetName(e,t){return this._sheetIdToNameMap[e]==null?"":this._sheetIdToNameMap[e][t]||""}load(e){if(e.allUnitData&&e.unitSheetNameMap&&e.unitStylesData)this._unitData=e.allUnitData,this._unitStylesData=e.unitStylesData,this._sheetNameMap=e.unitSheetNameMap;else{const{allUnitData:t,unitSheetNameMap:r,unitStylesData:s}=this._loadSheetData();this._unitData=t,this._unitStylesData=s,this._sheetNameMap=r}this._formulaData=e.formulaData,this._arrayFormulaCellData=Vs(e.arrayFormulaCellData),this._forceCalculate=e.forceCalculate,this._dirtyRanges=e.dirtyRanges,this._dirtyNameMap=e.dirtyNameMap,this._dirtyDefinedNameMap=e.dirtyDefinedNameMap,this._dirtyUnitFeatureMap=e.dirtyUnitFeatureMap,this._dirtyUnitOtherFormulaMap=e.dirtyUnitOtherFormulaMap,this._excludedCell=e.excludedCell,this._mergeNameMap(this._sheetNameMap,this._dirtyNameMap)}loadDirtyRangesAndExcludedCell(e,t){this._dirtyRanges=e,this._excludedCell=t,this._dirtyNameMap={}}registerUnitData(e){this._unitData=e}registerFormulaData(e){this._formulaData=e}registerSheetNameMap(e){this._sheetNameMap=e}_mergeNameMap(e,t){Object.keys(t).forEach(r=>{t[r]&&Object.keys(t[r]).forEach(s=>{e[r]==null&&(e[r]={}),e[r][t[r][s]]=s})}),this._sheetIdToNameMap={},Object.keys(e).forEach(r=>{Object.keys(e[r]).forEach(s=>{this._sheetIdToNameMap[r]==null&&(this._sheetIdToNameMap[r]={}),this._sheetIdToNameMap[r][e[r][s]]=s})})}_loadSheetData(){const e=this._univerInstanceService.getAllUnitsForType(C.UniverInstanceType.UNIVER_SHEET),t=this._univerInstanceService.getCurrentUnitForType(C.UniverInstanceType.UNIVER_SHEET),r=t==null?void 0:t.getActiveSheet();this._executeUnitId=t==null?void 0:t.getUnitId(),this._executeSubUnitId=r==null?void 0:r.getSheetId();const s={},a={},o={};for(const u of e){const c=u.getUnitId(),l=u.getSheets(),m={},g={};for(const p of l){const R=p.getSheetId(),b=p.getConfig();m[R]={cellData:new C.ObjectMatrix(b.cellData),rowCount:b.rowCount,columnCount:b.columnCount,rowData:b.rowData,columnData:b.columnData},g[p.getName()]=p.getSheetId()}s[c]=m,a[c]=u.getStyles(),o[c]=g}return{allUnitData:s,unitStylesData:a,unitSheetNameMap:o}}};exports.FormulaCurrentConfigService=Cc([yc(0,C.IUniverInstanceService)],exports.FormulaCurrentConfigService);const qe=C.createIdentifier("univer.formula.current-data.service");var Dc=Object.defineProperty,bc=Object.getOwnPropertyDescriptor,Sc=(n,i,e,t)=>{for(var r=t>1?void 0:t?bc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Dc(i,e,r),r},Zr=(n,i)=>(e,t)=>i(e,t,n);let St=class extends C.Disposable{constructor(n,i,e){super(),this._definedNamesService=n,this._lexerTreeBuilder=i,this._formulaCurrentConfigService=e}treeBuilder(n,i=!0){return this._lexerTreeBuilder.treeBuilder(n,i,this._injectDefinedName.bind(this),this._simpleCheckDefinedName.bind(this))}_simpleCheckDefinedName(n){const i=this._formulaCurrentConfigService.getDirtyDefinedNameMap(),e=this._formulaCurrentConfigService.getExecuteUnitId();if(e!=null&&i[e]!=null){const t=Object.keys(i[e]);for(let r=0,s=t.length;r<s;r++){const a=t[r];if(n.indexOf(a)>-1)return!0}}return!1}_checkDefinedNameDirty(n){const i=this._formulaCurrentConfigService.getDirtyDefinedNameMap(),e=this._formulaCurrentConfigService.getExecuteUnitId();if(e!=null&&i[e]!=null){const t=Object.keys(i[e]);for(let r=0,s=t.length;r<s;r++)if(t[r]===n)return!0}return!1}_injectDefinedName(n){const i=this._formulaCurrentConfigService.getExecuteUnitId();if(i==null)return{sequenceString:"",hasDefinedName:!1,definedNames:[]};const e=this._lexerTreeBuilder.getSequenceNode(n);let t="",r=!1;const s=[];for(let a=0,o=e.length;a<o;a++){const u=e[a];if(typeof u=="string"){t+=u;continue}const{nodeType:c,token:l}=u;if(c===Pe.REFERENCE||c===Pe.FUNCTION){const m=this._definedNamesService.getValueByName(i,l);if(m){let g=m.formulaOrRefString;g.substring(0,1)===ne.EQUALS&&(g=g.substring(1)),t+=g,s.push(m.name),r=!0}else this._checkDefinedNameDirty(l)?(t+=f.NAME,r=!0,s.push(l)):t+=l}else t+=l}return{sequenceString:t,hasDefinedName:r,definedNames:s}}};St=Sc([Zr(0,Xt),Zr(1,C.Inject(Ur)),Zr(2,qe)],St);var Ac=Object.defineProperty,Pc=Object.getOwnPropertyDescriptor,Lc=(n,i,e,t)=>{for(var r=t>1?void 0:t?Pc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Ac(i,e,r),r},xc=(n,i)=>(e,t)=>i(e,t,n),Ie=(n=>(n[n.IDLE=0]="IDLE",n[n.START_DEPENDENCY=1]="START_DEPENDENCY",n[n.START_CALCULATION=2]="START_CALCULATION",n[n.CURRENTLY_CALCULATING=3]="CURRENTLY_CALCULATING",n[n.START_DEPENDENCY_ARRAY_FORMULA=4]="START_DEPENDENCY_ARRAY_FORMULA",n[n.START_CALCULATION_ARRAY_FORMULA=5]="START_CALCULATION_ARRAY_FORMULA",n[n.CURRENTLY_CALCULATING_ARRAY_FORMULA=6]="CURRENTLY_CALCULATING_ARRAY_FORMULA",n[n.CALCULATION_COMPLETED=7]="CALCULATION_COMPLETED",n))(Ie||{}),Ct=(n=>(n[n.INITIAL=0]="INITIAL",n[n.STOP_EXECUTION=1]="STOP_EXECUTION",n[n.NOT_EXECUTED=2]="NOT_EXECUTED",n[n.SUCCESS=3]="SUCCESS",n))(Ct||{});exports.FormulaRuntimeService=class extends C.Disposable{constructor(e){super();d(this,"_formulaExecuteStage",0);d(this,"_stopState",!1);d(this,"_currentRow",-1);d(this,"_currentColumn",-1);d(this,"_currentRowCount",Number.NEGATIVE_INFINITY);d(this,"_currentColumnCount",Number.NEGATIVE_INFINITY);d(this,"_currentSubUnitId","");d(this,"_currentUnitId","");d(this,"_runtimeData",{});d(this,"_runtimeOtherData",{});d(this,"_unitArrayFormulaRange",{});d(this,"_runtimeArrayFormulaCellData",{});d(this,"_runtimeClearArrayFormulaCellData",{});d(this,"_runtimeFeatureRange",{});d(this,"_runtimeFeatureCellData",{});d(this,"_functionsExecutedState",0);d(this,"_functionDefinitionPrivacyVar",new Map);d(this,"_totalFormulasToCalculate",0);d(this,"_completedFormulasCount",0);d(this,"_totalArrayFormulasToCalculate",0);d(this,"_completedArrayFormulasCount",0);d(this,"_formulaCycleIndex",0);d(this,"_isCycleDependency",!1);this._currentConfigService=e}get currentRow(){return this._currentRow}get currentColumn(){return this._currentColumn}get currentRowCount(){return this._currentRowCount}get currentColumnCount(){return this._currentColumnCount}get currentSubUnitId(){return this._currentSubUnitId}get currentUnitId(){return this._currentUnitId}dispose(){this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={}}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}setTotalArrayFormulasToCalculate(e){this._totalArrayFormulasToCalculate=e}getTotalArrayFormulasToCalculate(){return this._totalArrayFormulasToCalculate}setCompletedArrayFormulasCount(e){this._completedArrayFormulasCount=e}getCompletedArrayFormulasCount(){return this._completedArrayFormulasCount}setTotalFormulasToCalculate(e){this._totalFormulasToCalculate=e}getTotalFormulasToCalculate(){return this._totalFormulasToCalculate}setCompletedFormulasCount(e){this._completedFormulasCount=e}getCompletedFormulasCount(){return this._completedFormulasCount}setFormulaCycleIndex(e){this._formulaCycleIndex=e}getFormulaCycleIndex(){return this._formulaCycleIndex}markedAsSuccessfullyExecuted(){this._functionsExecutedState=3}markedAsNoFunctionsExecuted(){this._functionsExecutedState=2}markedAsStopFunctionsExecuted(){this._functionsExecutedState=1}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=0}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(0)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=0,this._runtimeData={},this._runtimeOtherData={},this._unitArrayFormulaRange={},this._runtimeArrayFormulaCellData={},this._runtimeClearArrayFormulaCellData={},this._functionDefinitionPrivacyVar.clear(),this.markedAsInitialFunctionsExecuted(),this._stopState=!1,this._isCycleDependency=!1,this._totalFormulasToCalculate=0,this._completedFormulasCount=0}setCurrent(e,t,r,s,a,o){this._currentRow=e,this._currentColumn=t,this._currentRowCount=r,this._currentColumnCount=s,this._currentSubUnitId=a,this._currentUnitId=o}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t){const r=this._currentSubUnitId,s=this._currentUnitId;this._runtimeOtherData[s]===void 0&&(this._runtimeOtherData[s]={});const a=this._runtimeOtherData[s];a[r]===void 0&&(a[r]={});const o=a[r];let u=[];if(t.isReferenceObject()||t.isValueObject()&&t.isArray()){const c=t,{startRow:l,startColumn:m}=c.getRangePosition();c.iterator((g,p,R)=>{const b=ct(g),P=p-l,w=R-m;u[P]==null&&(u[P]=[]),u[P][w]=b})}else u=[[ct(t)]];o[e]=u}setRuntimeData(e){const t=this._currentRow,r=this._currentColumn,s=this._currentRowCount,a=this.currentColumnCount,o=this._currentSubUnitId,u=this._currentUnitId;this._runtimeData[u]==null&&(this._runtimeData[u]={});const c=this._runtimeData[u];c[o]==null&&(c[o]=new C.ObjectMatrix),this._unitArrayFormulaRange[u]==null&&(this._unitArrayFormulaRange[u]={});const l=this._unitArrayFormulaRange[u];let m=new C.ObjectMatrix;l[o]&&(m=new C.ObjectMatrix(l[o])),this._runtimeArrayFormulaCellData[u]===void 0&&(this._runtimeArrayFormulaCellData[u]={});const g=this._runtimeArrayFormulaCellData[u];g[o]==null&&(g[o]=new C.ObjectMatrix),this._runtimeClearArrayFormulaCellData[u]===void 0&&(this._runtimeClearArrayFormulaCellData[u]={});const p=this._runtimeClearArrayFormulaCellData[u];p[o]==null&&(p[o]=new C.ObjectMatrix);const R=c[o],b=g[o],P=p[o];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const w=e,{startRow:v,startColumn:B,endRow:X,endColumn:oe}=w.getRangePosition();if(v===X&&B===oe){const Se=w.getFirstCell(),Re=ct(Se);R.setValue(t,r,Re),P.setValue(t,r,Re);return}const de={startRow:t,startColumn:r,endRow:X-v+t,endColumn:oe-B+r};if(m.setValue(t,r,de),l[o]=m.getData(),this._checkIfArrayFormulaRangeHasData(u,o,t,r,de)||this._checkIfArrayFormulaExceeded(s,a,de)){const Se=ct(h.create(f.SPILL));R.setValue(t,r,Se),P.setValue(t,r,Se)}else{const Se=h.create(f.SPILL);w.iterator((Re,De,_e)=>{const fe=ct(Re);if(De===v&&_e===B){if(Re!=null&&Re.isError()&&Re.isEqualType(Se))return P.setValue(t,r,{}),R.setValue(t,r,{...ct(Se)}),!1;R.setValue(t,r,{...fe})}const Oe=De-v+t,ot=_e-B+r;b.setValue(Oe,ot,fe)})}}else{const w=ct(e);R.setValue(t,r,w),P.setValue(t,r,w)}}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getRuntimeOtherData(){return this._runtimeOtherData}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}getRuntimeClearArrayFormulaCellData(){return this._runtimeClearArrayFormulaCellData}getRuntimeFeatureRange(){return this._runtimeFeatureRange}setRuntimeFeatureRange(e,t){this._runtimeFeatureRange[e]=t}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e,t){this._runtimeFeatureCellData[e]=t}getAllRuntimeData(){return{unitData:this.getUnitData(),arrayFormulaRange:this.getUnitArrayFormula(),unitOtherData:this.getRuntimeOtherData(),functionsExecutedState:this._functionsExecutedState,arrayFormulaCellData:this.getRuntimeArrayFormulaCellData(),clearArrayFormulaCellData:this.getRuntimeClearArrayFormulaCellData(),runtimeFeatureRange:this.getRuntimeFeatureRange(),runtimeFeatureCellData:this.getRuntimeFeatureCellData()}}getRuntimeState(){return{totalFormulasToCalculate:this.getTotalFormulasToCalculate(),completedFormulasCount:this.getCompletedFormulasCount(),totalArrayFormulasToCalculate:this.getTotalArrayFormulasToCalculate(),completedArrayFormulasCount:this.getCompletedArrayFormulasCount(),stage:this.getFormulaExecuteStage(),formulaCycleIndex:this.getFormulaCycleIndex()}}_checkIfArrayFormulaRangeHasData(e,t,r,s,a){var p,R,b,P,w,v,B,X,oe,de,Se,Re;const{startRow:o,startColumn:u,endRow:c,endColumn:l}=a,m=this._currentConfigService.getUnitData(),g=(b=(R=(p=this._unitArrayFormulaRange[e])==null?void 0:p[t])==null?void 0:R[r])==null?void 0:b[s];for(let De=o;De<=c;De++)for(let _e=u;_e<=l;_e++){if(De===r&&s===_e)continue;const fe=(v=(w=(P=this._runtimeData)==null?void 0:P[e])==null?void 0:w[t])==null?void 0:v.getValue(De,_e),Oe=(oe=(X=(B=this._runtimeArrayFormulaCellData)==null?void 0:B[e])==null?void 0:X[t])==null?void 0:oe.getValue(De,_e),ot=(Re=(Se=(de=m==null?void 0:m[e])==null?void 0:de[t])==null?void 0:Se.cellData)==null?void 0:Re.getValue(De,_e);if(!C.isNullCell(fe)||!C.isNullCell(Oe)&&!this._isInArrayFormulaRange(g,De,_e)||!C.isNullCell(ot))return!0}return!1}_isInArrayFormulaRange(e,t,r){if(e==null)return!1;const{startRow:s,startColumn:a,endRow:o,endColumn:u}=e;return t>=s&&t<=o&&r>=a&&r<=u}_checkIfArrayFormulaExceeded(e,t,r){return r.endRow>=e||r.endColumn>=t}_isInDirtyRange(e,t,r,s){const a=this._currentConfigService.getDirtyRanges();return a.length===0?!0:As(a,e,t,r,s)}};exports.FormulaRuntimeService=Lc([xc(0,qe)],exports.FormulaRuntimeService);const Te=C.createIdentifier("univer.formula.runtime.service");var q=(n=>(n.REFERENCE="ReferenceNode",n.VALUE="ValueNode",n.OPERATOR="OperatorNode",n.FUNCTION="FunctionNode",n.LAMBDA="LambdaNode",n.LAMBDA_PARAMETER="LambdaNodeParameter",n.ERROR="ErrorNode",n.BASE="Base",n.ROOT="Root",n.UNION="UnionNode",n.PREFIX="PrefixNode",n.SUFFIX="SuffixNode",n.NULL="NullNode",n))(q||{});const $e=new Map([["ReferenceNode",7],["ValueNode",9],["OperatorNode",8],["FunctionNode",6],["LambdaNode",1],["LambdaNodeParameter",2],["Root",10],["UnionNode",3],["PrefixNode",4],["SuffixNode",5]]);class we extends C.Disposable{constructor(e){super();d(this,"_children",[]);d(this,"_definedNames",[]);d(this,"_parent");d(this,"_valueObject");d(this,"_calculateState",!1);d(this,"_async",!1);d(this,"_address",!1);d(this,"_refOffsetX",0);d(this,"_refOffsetY",0);this._token=e}dispose(){var e;this._children.forEach(t=>{t.dispose()}),(e=this._valueObject)==null||e.dispose(),this._parent=null}get nodeType(){return q.BASE}isAsync(){return this._async}isAddress(){return this._address}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(e){this._parent=e,e.addChildren(this)}getChildren(){return this._children}addChildren(...e){this._children.push(...e)}getToken(){return this._token}setValue(e){this._valueObject=e}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(e=!0){}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}async executeAsync(){return Promise.resolve(dt.SUCCESS)}serialize(){const e=this.getToken(),t=this.getChildren(),r=[],s=t.length;for(let o=0;o<s;o++){const u=t[o];r.push(u.serialize())}const a={token:e,nodeType:this.nodeType};return s>0&&(a.children=r),a}hasDefinedName(e){return this._definedNames.includes(e)}setDefinedNames(e){this._definedNames=e}}class Ce extends we{constructor(e){super(e);d(this,"_errorValueObject");this._errorValueObject=h.create(e)}get nodeType(){return q.ERROR}static create(e){return new Ce(e)}getValue(){return this._errorValueObject}}const Ye=100;class He extends C.Disposable{get zIndex(){return 0}create(i,e,t){let r;return i instanceof G?r=i.getToken():r=i,new we(r)}}class cn extends we{get nodeType(){return q.ROOT}execute(){const e=this.getChildren()[0];e==null?this.setValue(h.create(f.VALUE)):this.setValue(e.getValue())}}class Li extends He{get zIndex(){return $e.get(q.ROOT)||Ye}checkAndCreateNodeType(i){if(!(i instanceof G))return;if(i.getToken()===nt)return new cn(nt)}}class xi extends C.Disposable{constructor(){super(...arguments);d(this,"_functionExecutors",new Map);d(this,"_functionDescriptions",new Map)}dispose(){this._functionExecutors.clear(),this._functionDescriptions.clear()}registerExecutors(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionExecutors.set(r.name,r)}}getExecutors(){return this._functionExecutors}getExecutor(e){return this._functionExecutors.get(e)}hasExecutor(e){return this._functionExecutors.has(e)}unregisterExecutors(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionExecutors.delete(r)}}registerDescriptions(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.set(r.functionName,r)}return C.toDisposable(()=>{for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.delete(r.functionName)}})}getDescriptions(){return this._functionDescriptions}getDescription(e){return this._functionDescriptions.get(e)}hasDescription(e){return this._functionDescriptions.has(e)}unregisterDescriptions(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.delete(r)}}}const Ze=C.createIdentifier("univer.formula.function.service");var Vc=Object.defineProperty,wc=Object.getOwnPropertyDescriptor,Uc=(n,i,e,t)=>{for(var r=t>1?void 0:t?wc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Vc(i,e,r),r},_s=(n,i)=>(e,t)=>i(e,t,n);class Dr extends we{constructor(i,e,t){super(e),this._accessor=i,this._operatorString=e,this._functionExecutor=t}get nodeType(){return q.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");e.isReferenceObject()&&(e=e.toArrayValueObject()),this._operatorString===pe.MINUS?t=this._functionExecutor.calculate(D.create(0),e):this._operatorString===pe.AT?t=this._handlerAT(e):t=h.create(f.VALUE),this.setValue(t)}_handlerAT(i){if(!i.isReferenceObject())return h.create(f.VALUE);const e=i;if(e.isCell())return h.create(f.VALUE);const t=this._accessor.get(Te),r=t.currentRow||0,s=t.currentColumn||0;return e.isRow()?e.getCellByColumn(s):e.isColumn()?e.getCellByRow(r):e.isRange()||e.isTable()?e.getCellByPosition():h.create(f.VALUE)}}let br=class extends He{constructor(n,i){super(),this._functionService=n,this._injector=i}get zIndex(){return $e.get(q.PREFIX)||Ye}checkAndCreateNodeType(n){if(!(n instanceof G))return;const i=n.getToken(),e=i.trim();if(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')return;let t="";if(e===pe.MINUS)t=Ae.MINUS;else return e===pe.AT?new Dr(this._injector,e):void 0;const r=this._functionService.getExecutor(t);return r?new Dr(this._injector,e,r):(console.error(`No function ${i}`),Ce.create(f.NAME))}};br=Uc([_s(0,Ze),_s(1,C.Inject(C.Injector))],br);function Vi(n,i,e){let t,r;const s=n.slice(0,2);let a=0;if(new RegExp(pe.MINUS,"g").test(s)){const o=i.getExecutor(Ae.MINUS);t=new Dr(e,pe.MINUS,o),a++}return new RegExp(pe.AT,"g").test(s)&&(r=new Dr(e,pe.AT),t&&r.setParent(t),a++),a>0&&(n=n.slice(a)),{tokenTrim:n,minusPrefixNode:t,atPrefixNode:r}}var Oc=Object.defineProperty,Mc=Object.getOwnPropertyDescriptor,Fc=(n,i,e,t)=>{for(var r=t>1?void 0:t?Mc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Oc(i,e,r),r},Mt=(n,i)=>(e,t)=>i(e,t,n);class vc extends we{constructor(i,e,t,r,s){super(i),this._functionExecutor=e,this._currentConfigService=t,this._runtimeService=r,this._definedNamesService=s,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress()}get nodeType(){return q.FUNCTION}async executeAsync(){const i=[],e=this.getChildren(),t=e.length;this._compatibility();for(let a=0;a<t;a++){const o=e[a].getValue();o!=null&&(o.isReferenceObject()?i.push(o.toArrayValueObject()):i.push(o))}const r=this._calculate(i);let s;return r.isAsyncObject()||r.isAsyncArrayObject()?s=await r.getValue():s=r,this._setRefData(s),this.setValue(s),Promise.resolve(dt.SUCCESS)}execute(){const i=[],e=this.getChildren(),t=e.length;this._compatibility();for(let s=0;s<t;s++){const a=e[s].getValue();a!=null&&(a.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?i.push(a.toArrayValueObject()):i.push(a))}const r=this._calculate(i);this._setRefData(r),this.setValue(r)}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){const i=this.getChildren(),e=i.length;if(!this._functionExecutor.needsExpandParams||e!==3)return;const t=i[1].getValue(),r=i[2].getValue();if(!(t!=null&&t.isReferenceObject())&&!(r!=null&&r.isReferenceObject()))return;const s=t.getRangeData(),a=r.getRangeData(),{startRow:o,startColumn:u,endRow:c,endColumn:l}=s,m=c-o+1,g=l-u+1,{startRow:p,startColumn:R,endRow:b,endColumn:P}=a,w=b-p+1,v=P-R+1;m!==w&&(a.endRow+=m-w),g!==v&&(a.endColumn+=g-v)}_calculate(i){var s;const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(i.length<e||i.length>t))return h.create(f.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){const a=this._functionExecutor.calculateCustom(...i.map(o=>o.isArray()?o.toValue():o.getValue()));if(typeof a!="object"||a==null)r=at.create(a);else{const o=Qs(a);r=he.create({calculateValueList:o,rowCount:o.length,columnCount:((s=o[0])==null?void 0:s.length)||0,unitId:"",sheetId:"",row:-1,column:-1})}}else this._functionExecutor.isAddress()&&this._setDefinedNamesForFunction(),r=this._functionExecutor.calculate(...i);return r}_setDefinedNamesForFunction(){const i=this._currentConfigService.getExecuteUnitId();if(i==null)return;const e=this._definedNamesService.getDefinedNameMap(i);e!=null&&this._functionExecutor.setDefinedNames(e)}_setRefInfo(){const{currentUnitId:i,currentSubUnitId:e,currentRow:t,currentColumn:r}=this._runtimeService;this._functionExecutor.setRefInfo(i,e,t,r)}_setRefData(i){if(!i.isReferenceObject())return;const e=i;e.setForcedSheetId(this._currentConfigService.getSheetNameMap()),e.setUnitData(this._currentConfigService.getUnitData()),e.setArrayFormulaCellData(this._currentConfigService.getArrayFormulaCellData()),e.setRuntimeData(this._runtimeService.getUnitData()),e.setRuntimeArrayFormulaCellData(this._runtimeService.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this._runtimeService.getRuntimeFeatureCellData())}}let Sr=class extends He{constructor(n,i,e,t,r){super(),this._functionService=n,this._currentConfigService=i,this._runtimeService=e,this._definedNamesService=t,this._injector=r}get zIndex(){return $e.get(q.FUNCTION)||Ye}create(n){const i=this._functionService.getExecutor(n);return i?new vc(n,i,this._currentConfigService,this._runtimeService,this._definedNamesService):(console.error(`No function ${n}`),Ce.create(f.NAME))}checkAndCreateNodeType(n){if(typeof n=="string")return;const i=n.getToken(),{tokenTrim:e,minusPrefixNode:t,atPrefixNode:r}=Vi(i.trim(),this._functionService,this._injector);if(!Number.isNaN(Number(e))&&!this._isParentUnionNode(n))return Ce.create(f.VALUE);const s=e.toUpperCase();if(this._functionService.hasExecutor(s)){const a=this.create(s);return r?a.setParent(r):t&&a.setParent(t),a}}_isParentUnionNode(n){var i,e;return((e=(i=n.getParent())==null?void 0:i.getParent())==null?void 0:e.getToken())===z.COLON}};Sr=Fc([Mt(0,Ze),Mt(1,qe),Mt(2,Te),Mt(3,Xt),Mt(4,C.Inject(C.Injector))],Sr);var Bc=Object.defineProperty,Tc=Object.getOwnPropertyDescriptor,kc=(n,i,e,t)=>{for(var r=t>1?void 0:t?Tc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Bc(i,e,r),r},Ic=(n,i)=>(e,t)=>i(e,t,n);let At=class extends C.Disposable{constructor(n){super(),this._runtimeService=n}async executeAsync(n){if(!n)return h.create(f.VALUE);await this._executeAsync(n);const i=n.getValue();if(i==null)throw new Error("node value is null");return Promise.resolve(i)}execute(n){if(!n)return h.create(f.VALUE);this._execute(n);const i=n.getValue();if(i==null)throw new Error("node value is null");return i}executePreCalculateNode(n){return n.execute(),n.getValue()}checkAsyncNode(n){const i=[];this._checkAsyncNode(n,i);for(let e=0,t=i.length;e<t;e++)if(i[e]===!0)return!0;return!1}_checkAsyncNode(n,i){const e=n.getChildren(),t=e.length;for(let r=0;r<t;r++){const s=e[r];i.push(s.isAsync()),this._checkAsyncNode(s,i)}}async _executeAsync(n){if(this._runtimeService.isStopExecution())return Promise.resolve(dt.ERROR);const i=n.getChildren(),e=i.length;for(let t=0;t<e;t++){const r=i[t];if(r.getToken().toUpperCase()===kt&&r.isEmptyParamFunction()){r.execute();continue}await this._executeAsync(r)}return n.nodeType===q.FUNCTION&&n.isAsync()?await n.executeAsync():n.execute(),Promise.resolve(dt.SUCCESS)}_execute(n){if(this._runtimeService.isStopExecution())return dt.ERROR;const i=n.getChildren(),e=i.length;for(let t=0;t<e;t++){const r=i[t];if(r.getToken().toUpperCase()===kt&&r.isEmptyParamFunction()){r.execute();continue}this._execute(r)}return n.execute(),dt.SUCCESS}};At=kc([Ic(0,Te)],At);function wi(n){return n instanceof G?n.getToken()===Dt:!1}function jc(n){return n instanceof G?n.getToken()===ws:!1}function Ui(n){if(!n)return;if(n.getToken()!==Yt)return n;const i=n,e=i.getCurrentLambdaPrivacyVar(),t=i.getLambdaParameter();if(!e)return;const r=e.get(t);return r==null&&n.getValue()?n:Ui(r)}class Pn extends Ke{constructor(e,t,r){super(0);d(this,"_lambdaPrivacyValueMap",new Map);this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=r,this._lambdaPrivacyValueMap.clear()}static create(e,t,r){return new Pn(e,t,r)}isLambda(){return!0}execute(...e){const t=this._lambdaPrivacyVarKeys.length;if(e.length!==t)return h.create(f.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let r;if(this._interpreter.checkAsyncNode(this._lambdaNode))r=new zs(this._interpreter.executeAsync(this._lambdaNode));else{const s=this._interpreter.execute(this._lambdaNode);s.isReferenceObject()?r=s.toArrayValueObject():r=s}return this._lambdaNode.setNotEmpty(!0),r}_setLambdaNodeValue(e){const t=e.getChildren(),r=t.length;for(let s=0;s<r;s++){const a=t[s];if(a.getToken()===Yt){const u=a.getLambdaParameter(),c=this._lambdaPrivacyValueMap.get(u);if(c)a.setValue(c);else{const l=a.getCurrentLambdaPrivacyVar(),m=Ui(l.get(u));m!=null&&a.setValue(m.getValue())}continue}this._setLambdaNodeValue(a)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){const r=e[t],s=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(s,r)}}}var $c=Object.defineProperty,Yc=Object.getOwnPropertyDescriptor,Hc=(n,i,e,t)=>{for(var r=t>1?void 0:t?Yc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&$c(i,e,r),r},Es=(n,i)=>(e,t)=>i(e,t,n);class Qc extends we{constructor(e,t,r,s){super(e);d(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=r,this._lambdaPrivacyVarKeys=s}get nodeType(){return q.LAMBDA}setNotEmpty(e=!1){this._isNotEmpty=e}isEmptyParamFunction(){return this.getChildren().length<2&&this._isNotEmpty}isFunctionParameter(){return this._lambdaId===null}getLambdaId(){return this._lambdaId}execute(){if(this.isEmptyParamFunction())this.setValue(Pn.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}}}let Ar=class extends He{constructor(n,i){super(),this._runtimeService=n,this._interpreter=i}get zIndex(){return $e.get(q.LAMBDA)||Ye}create(n){const i=n.getChildren(),e=i[0];let t=i.slice(1,-1);const r=i[i.length-1];if(!(e instanceof G&&r instanceof G))return Ce.create(f.NAME);if(e.getToken()===Dt){const o=e.getChildren();if(t.length!==o.length)return Ce.create(f.VALUE)}else t=i.slice(0,-1);const s=C.Tools.generateRandomId(8),a=new Map;for(let o=0;o<t.length;o++){const u=t[o];if(u instanceof G){const c=u.getChildren()[0];u.setToken(ws),a.set(c.trim(),void 0)}else return Ce.create(f.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(s,a),this._updateLambdaStatement(r,s,a),new Qc(n.getToken(),s,this._interpreter,[...a.keys()])}checkAndCreateNodeType(n){if(!(!(n instanceof G)||n.getToken().trim().toUpperCase()!==kt))return this.create(n)}_updateLambdaStatement(n,i,e){this._updateTree(n,i,e)}_updateTree(n,i,e){const t=n.getChildren(),r=t.length,s=t[0];for(let a=0;a<r;a++){const o=t[a];if(!(wi(s)&&a!==0))if(o instanceof G)this._updateTree(o,i,e);else{const u=o.trim();if(e.has(u)){const c=new G;c.setToken(Yt),c.setLambdaId(i),c.setLambdaPrivacyVar(e),c.setLambdaParameter(u),t[a]=c}}}}};Ar=Hc([Es(0,Te),Es(1,C.Inject(At))],Ar);function Oi(n){if(!n)return;if(n.getToken()!==Yt)return n;const i=n,e=i.getCurrentLambdaPrivacyVar(),t=i.getLambdaParameter();if(e)return Oi(e.get(t))}class zc extends we{constructor(i,e,t){super(i),this._lambdaParameter=e,this._currentLambdaPrivacyVar=t}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return q.LAMBDA_PARAMETER}execute(){const i=Oi(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(i)this.setValue(i.getValue());else{const e=this.getValue();(e==null||e.isError())&&this.setValue(h.create(f.SPILL))}}}class Mi extends He{get zIndex(){return $e.get(q.LAMBDA_PARAMETER)||Ye}create(i){const e=i.getFunctionDefinitionPrivacyVar(),t=i.getLambdaParameter();return e?new zc(i.getToken(),t,e):new Ce(f.SPILL)}checkAndCreateNodeType(i){if(!(!(i instanceof G)||i.getToken().trim()!==Yt))return this.create(i)}}class Nc extends we{constructor(i){super(i),this._operatorString=i}get nodeType(){return q.NULL}execute(){this.setValue(se.create())}}var Wc=Object.defineProperty,Gc=Object.getOwnPropertyDescriptor,Xc=(n,i,e,t)=>{for(var r=t>1?void 0:t?Gc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Wc(i,e,r),r},Kc=(n,i)=>(e,t)=>i(e,t,n);class qc extends we{constructor(i,e){super(i),this._operatorString=i,this._functionExecutor=e}get nodeType(){return q.OPERATOR}execute(){var s,a;const i=this.getChildren();this._functionExecutor.name===Ae.COMPARE&&this._functionExecutor.setCompareType(this.getToken());let e=(s=i[0])==null?void 0:s.getValue(),t=(a=i[1])==null?void 0:a.getValue();const r=this.getToken();if((e==null||t==null)&&r!==ne.MINUS&&r!==ne.PLUS){this.setValue(h.create(f.VALUE));return}e==null&&(e=se.create()),t==null&&(t=se.create()),e.isReferenceObject()&&(e=e.toArrayValueObject()),t.isReferenceObject()&&(t=t.toArrayValueObject()),this.setValue(this._functionExecutor.calculate(e,t))}}let Pr=class extends He{constructor(n){super(),this._functionService=n}get zIndex(){return $e.get(q.OPERATOR)||Ye}create(n){let i="";const e=n;e===ne.PLUS?i=Ae.PLUS:e===ne.MINUS?i=Ae.MINUS:e===ne.MULTIPLY?i=Ae.MULTIPLY:e===ne.DIVIDED?i=Ae.DIVIDED:e===ne.CONCATENATE?i=Ne.CONCATENATE:e===ne.POWER?i=ae.POWER:ia.has(e)&&(i=Ae.COMPARE);const t=this._functionService.getExecutor(i);return t?new qc(e,t):(console.error(`No function ${n}`),Ce.create(f.NAME))}checkAndCreateNodeType(n){if(n instanceof G)return;const i=n.trim();if(!(i.charAt(0)==='"'&&i.charAt(i.length-1)==='"')&&ft.has(i))return this.create(i)}};Pr=Xc([Kc(0,Ze)],Pr);class Zc extends C.Disposable{constructor(){super(...arguments);d(this,"_tableMap",new Map);d(this,"_tableOptionMap",new Map)}dispose(){this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var r;(r=this._tableMap.get(e))==null||r.delete(t)}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,r){var s;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(s=this._tableMap.get(e))==null||s.set(t,r)}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}}const Ln=C.createIdentifier("univer.formula.super-table.service");class Jc extends Vt{constructor(i,e,t,r){super(i),this._tableData=e,this._columnDataString=t;const s=this._tableData.sheetId,a=this._tableData.range,o=this._tableData.titleMap;this.setForcedSheetIdDirect(s);const u=this._stringToColumnData(this._columnDataString,o,r),c=u.startColumn,l=u.endColumn,m=u.type;let g=-1,p=-1;const R=a.startRow,b=a.startColumn;m===ht.ALL?(g=R,p=b):m===ht.DATA?(g=R+1,p=b):m===ht.HEADERS?(g=R,p=R):m===ht.TOTALS&&(g=b,p=b),this.setRangeData({startColumn:c,endColumn:l,startRow:g,endRow:p})}isTable(){return!0}_stringToColumnData(i,e,t){i=i.substring(1,-1);const r=i.indexOf(z.COMMA);let s=-1,a=-1,o=ht.ALL;if(r===-1){const u=this._columnHandler(i,e);s=u.startColumn,a=u.endColumn}else{const u=i.substring(0,r).substring(1,-1),c=i.substring(r+1),l=this._columnHandler(c,e,!0);s=l.startColumn,a=l.endColumn,o=t.get(u),o||(o=ht.ALL)}return{startColumn:s,endColumn:a,type:o}}_columnHandler(i,e,t=!1){var o,u,c;let r=-1,s=-1;const a=i.indexOf(z.COLON);if(new RegExp(vs,"g").test(i)){const l=i.substring(0,a).substring(1,-1),m=i.substring(a+1).substring(1,-1);r=(o=e.get(l))!=null?o:-1,s=(u=e.get(m))!=null?u:-1}else t&&(i=i.substring(1,-1)),r=(c=e.get(i))!=null?c:-1,s=r;return{startColumn:r,endColumn:s}}}var el=Object.defineProperty,tl=Object.getOwnPropertyDescriptor,rl=(n,i,e,t)=>{for(var r=t>1?void 0:t?tl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&el(i,e,r),r},rr=(n,i)=>(e,t)=>i(e,t,n);class nr extends we{constructor(i,e,t,r=!1){super(e),this._accessor=i,this._operatorString=e,this._referenceObject=t,this._isPrepareMerge=r}get nodeType(){return q.REFERENCE}execute(){const i=this._accessor.get(qe),e=this._accessor.get(Te);this._referenceObject.setDefaultUnitId(e.currentUnitId),this._referenceObject.setDefaultSheetId(e.currentSubUnitId),this._referenceObject.setForcedSheetId(i.getSheetNameMap()),this._referenceObject.setUnitData(i.getUnitData()),this._referenceObject.setArrayFormulaCellData(i.getArrayFormulaCellData()),this._referenceObject.setRuntimeData(e.getUnitData()),this._referenceObject.setUnitStylesData(i.getUnitStylesData()),this._referenceObject.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),this._referenceObject.setRuntimeFeatureCellData(e.getRuntimeFeatureCellData());const{x:t,y:r}=this.getRefOffset();this._referenceObject.setRefOffset(t,r),!this._isPrepareMerge&&this._referenceObject.isExceedRange()?this.setValue(h.create(f.NAME)):this.setValue(this._referenceObject)}}let Lr=class extends He{constructor(n,i,e,t){super(),this._superTableService=n,this._formulaRuntimeService=i,this._functionService=e,this._injector=t}get zIndex(){return $e.get(q.REFERENCE)||Ye}checkAndCreateNodeType(n){var u,c;let i=!1,e,t=!1;n instanceof G?(i=!0,e=n.getToken().trim(),((c=(u=n.getParent())==null?void 0:u.getParent())==null?void 0:c.getToken().trim())===z.COLON&&(t=!0)):e=n.trim();const{tokenTrim:r,minusPrefixNode:s,atPrefixNode:a}=Vi(e,this._functionService,this._injector);if(!i&&r.charAt(0)==='"'&&r.charAt(r.length-1)==='"')return;let o;if(new RegExp(Ht).test(r))o=new nr(this._injector,r,new dn(r),t);else if(i&&this._checkParentIsUnionOperator(n))new RegExp(Ms).test(r)?o=new nr(this._injector,r,new gn(r),t):new RegExp(Fs).test(r)&&(o=new nr(this._injector,r,new pn(r),t));else{const l=this._formulaRuntimeService.currentUnitId,m=this._superTableService.getTableMap(l),g=new RegExp(vs,"g"),p=r.replace(g,"");if(!i&&(m!=null&&m.has(p))){const R=g.exec(r);let b="";R&&(b=R[0]);const P=m.get(p),w=this._superTableService.getTableOptionMap();o=new nr(this._injector,r,new Jc(r,P,b,w))}}if(o)return a?o.setParent(a):s&&o.setParent(s),o}_checkParentIsUnionOperator(n){var i,e;return((e=(i=n.getParent())==null?void 0:i.getParent())==null?void 0:e.getToken().trim())===z.COLON}};Lr=rl([rr(0,Ln),rr(1,Te),rr(2,Ze),rr(3,C.Inject(C.Injector))],Lr);var nl=Object.defineProperty,sl=Object.getOwnPropertyDescriptor,il=(n,i,e,t)=>{for(var r=t>1?void 0:t?sl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&nl(i,e,r),r},Cs=(n,i)=>(e,t)=>i(e,t,n);class ys extends we{constructor(i,e,t){super(e),this._accessor=i,this._operatorString=e,this._functionExecutor=t}get nodeType(){return q.SUFFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");if(this._operatorString===Ge.PERCENTAGE){if(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,D.create(100)),t.isNumber()){const r=Number(t.getValue());t=D.create(r,"0.00%")}}else this._operatorString===Ge.POUND?t=this._handlerPound(e):t=h.create(f.VALUE);this.setValue(t)}_handlerPound(i){var l,m,g,p;if(!i.isReferenceObject()||!i.isCell())return h.create(f.VALUE);const e=this._accessor.get(qe),t=this._accessor.get(St),r=i,s=r.getRangePosition(),a=r.getUnitId(),o=r.getSheetId(),u=e.getFormulaData(),c=(p=(g=(m=(l=u==null?void 0:u[a])==null?void 0:l[o])==null?void 0:m[s.startRow])==null?void 0:g[s.startColumn])==null?void 0:p.f;return c&&t.treeBuilder(c),h.create(f.VALUE)}}let xr=class extends He{constructor(n,i){super(),this._functionService=n,this._injector=i}get zIndex(){return $e.get(q.SUFFIX)||Ye}checkAndCreateNodeType(n){if(!(n instanceof G))return;const i=n.getToken().trim();if(i.charAt(0)==='"'&&i.charAt(i.length-1)==='"')return;let e="";if(i===Ge.PERCENTAGE)e=Ae.DIVIDED;else return i===Ge.POUND?new ys(this._injector,i):void 0;const t=this._functionService.getExecutor(e);return t?new ys(this._injector,i,t):(console.error(`No function ${n}`),Ce.create(f.NAME))}};xr=il([Cs(0,Ze),Cs(1,C.Inject(C.Injector))],xr);var al=Object.defineProperty,ol=Object.getOwnPropertyDescriptor,ul=(n,i,e,t)=>{for(var r=t>1?void 0:t?ol(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&al(i,e,r),r},cl=(n,i)=>(e,t)=>i(e,t,n);class ll extends we{constructor(i){super(i),this._operatorString=i}get nodeType(){return q.UNION}execute(){const i=this.getChildren(),e=i[0].getValue(),t=i[1].getValue();if(e==null||t==null)throw new Error("leftNode and rightNode");let r;this._operatorString===z.COLON?r=this._unionFunction(e,t):r=h.create(f.NAME),this.setValue(r)}_unionFunction(i,e){return i.isError()||e.isError()||!i.isReferenceObject()||!e.isReferenceObject()?h.create(f.REF):(i=i,e=e,i.isCell()&&e.isCell()||i.isRow()&&e.isRow()||i.isColumn()&&e.isColumn()?i.unionBy(e):h.create(f.NAME))}}let Vr=class extends He{constructor(n){super(),this._functionService=n}get zIndex(){return $e.get(q.UNION)||Ye}create(n){return new ll(n)}checkAndCreateNodeType(n){if(!(n instanceof G))return;const e=n.getToken().trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&e===z.COLON)return this.create(e)}};Vr=ul([cl(0,Ze)],Vr);class fl extends we{constructor(i){super(i),this._operatorString=i}get nodeType(){return q.VALUE}execute(){this.setValue(at.create(this._operatorString))}}class Fi extends He{get zIndex(){return $e.get(q.VALUE)||Ye}_checkValueNode(i){if(Number.isNaN(Number(i))){const e=i.trim(),t=e.charAt(0),r=e.charAt(e.length-1);if(Pt.has(e))return this.create(e);if(t==='"'&&r==='"')return this.create(e);if(t==="{"&&r==="}")return this.create(e);const s=e.toUpperCase();if(s===it.TRUE||s===it.FALSE)return this.create(s)}else return this.create(i)}create(i){return new fl(i)}checkAndCreateNodeType(i){if(!(i instanceof G))return this._checkValueNode(i)}}function hl(n){let i=n;for(;i!=null&&i.getParent();)i=i.getParent();return i}var ml=Object.defineProperty,dl=Object.getOwnPropertyDescriptor,gl=(n,i,e,t)=>{for(var r=t>1?void 0:t?dl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&ml(i,e,r),r},ve=(n,i)=>(e,t)=>i(e,t,n);let $t=class extends C.Disposable{constructor(i,e,t,r,s,a,o,u,c,l,m){super();d(this,"_astNodeFactoryList",[]);d(this,"_refOffsetX",0);d(this,"_refOffsetY",0);this._runtimeService=i,this._astRootNodeFactory=e,this._functionNodeFactory=t,this._lambdaNodeFactory=r,this._lambdaParameterNodeFactory=s,this._operatorNodeFactory=a,this._prefixNodeFactory=o,this._referenceNodeFactory=u,this._suffixNodeFactory=c,this._unionNodeFactory=l,this._valueNodeFactory=m,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(i=>{i.dispose()}),this._astNodeFactoryList=[]}parse(i,e=0,t=0){const r=new cn(nt);this._refOffsetX=e,this._refOffsetY=t;const s=this._parse(i,r);return i.hasDefinedNames()&&(s==null||s.setDefinedNames(i.getDefinedNames())),s}_lambdaParameterHandler(i,e){if(e.getLambdaId==null)return Ce.create(f.VALUE);const t=e.getLambdaId(),r=new cn(nt),s=this._runtimeService.getFunctionDefinitionPrivacyVar(t);if(!s)return!1;const a=[...s.keys()],o=i.getChildren(),u=o.length;for(let m=0;m<u;m++){const g=o[m];if(g instanceof G)this._parse(g,r);else return!1}const c=r.getChildren(),l=c.length;for(let m=0;m<l;m++){const g=c[m];s.set(a[m],g)}return r.setParent(e),e}_changeLetToLambda(i){const e=i.getChildren(),t=e.length;if(t%2!==1||t===0)return;const r=new G;r.setToken(kt);const s=new G;s.setToken(Dt);const a=[...e];for(let u=0;u<t;u++){const c=a[u];if(!(c instanceof G))return;u%2===0?c.changeToParent(r):c.changeToParent(s)}r.addChildrenFirst(s),s.setParent(r);const o=i.getParent();return o==null||o.replaceChild(i,r),r}_parse(i,e){const t=i.getChildren(),r=t.length,s=[];let a=null;const o=i.getToken().trim().toUpperCase();if(o===fa){const l=this._changeLetToLambda(i);return l!=null?this._parse(l,e):Ce.create(f.ERROR)}if(o===ze){if(a=e,r===0)return new Nc(nt).setParent(e),a}else{if(o===Dt){let l=this._lambdaParameterHandler(i,e);return l===!1&&(l=Ce.create(f.ERROR)),l}if(a=this._checkAstNode(i),a==null)return Ce.create(f.NAME)}const u=t[0];for(let l=0;l<r;l++){const m=t[l];if(wi(u)){if(l!==0&&l!==r-1)continue}else if(jc(m)&&l!==r-1)continue;let g=null;if(m instanceof G){if(g=this._parse(m,a),g===a)continue}else g=this._checkAstNode(m);if(g==null)return Ce.create(f.NAME);if(g=hl(g),g==null)return;switch(g.nodeType){case q.ERROR:return g;case q.FUNCTION:s.push(g);break;case q.LAMBDA:s.push(g);break;case q.LAMBDA_PARAMETER:s.push(g);break;case q.OPERATOR:{const p=s.pop(),R=s.pop();R&&R.setParent(g),p&&p.setParent(g),s.push(g);break}case q.REFERENCE:g.setRefOffset(this._refOffsetX,this._refOffsetY),s.push(g);break;case q.ROOT:s.push(g);break;case q.UNION:s.push(g);break;case q.VALUE:s.push(g);break;case q.PREFIX:s.push(g);break;case q.SUFFIX:s.push(g);break}}const c=s.length;for(let l=0;l<c;l++)s[l].setParent(a);return a}_checkAstNode(i){let e=null;const t=this._astNodeFactoryList.length;for(let r=0;r<t&&(e=this._astNodeFactoryList[r].checkAndCreateNodeType(i),e==null);r++);return e}_initializeAstNode(){this._astNodeFactoryList=[this._astRootNodeFactory,this._functionNodeFactory,this._lambdaNodeFactory,this._lambdaParameterNodeFactory,this._operatorNodeFactory,this._prefixNodeFactory,this._referenceNodeFactory,this._suffixNodeFactory,this._unionNodeFactory,this._valueNodeFactory].sort(C.sortRules)}};$t=gl([ve(0,Te),ve(1,C.Inject(Li)),ve(2,C.Inject(Sr)),ve(3,C.Inject(Ar)),ve(4,C.Inject(Mi)),ve(5,C.Inject(Pr)),ve(6,C.Inject(br)),ve(7,C.Inject(Lr)),ve(8,C.Inject(xr)),ve(9,C.Inject(Vr)),ve(10,C.Inject(Fi))],$t);class vi extends C.Disposable{constructor(){super(...arguments);d(this,"_referenceExecutorMap",new Map)}dispose(){this._referenceExecutorMap.clear()}remove(e){this._referenceExecutorMap.delete(e)}get(e){return this._referenceExecutorMap.get(e)}has(e){return this._referenceExecutorMap.has(e)}register(e,t){this._referenceExecutorMap.set(e,t)}getReferenceExecutorMap(){return this._referenceExecutorMap}}const Kt=C.createIdentifier("univer.formula.feature-calculation-manager.service");class Bi extends C.Disposable{constructor(){super(...arguments);d(this,"_otherFormulaData",{})}dispose(){this._otherFormulaData={}}remove(e){var a,o,u;const{unitId:t,subUnitId:r,formulaId:s}=e;(u=(o=(a=this._otherFormulaData)==null?void 0:a[t])==null?void 0:o[r])==null||delete u[s]}get(e){var a,o;const{unitId:t,subUnitId:r,formulaId:s}=e;return(o=(a=this._otherFormulaData[t])==null?void 0:a[r])==null?void 0:o[s]}has(e){var a,o;const{unitId:t,subUnitId:r,formulaId:s}=e;return((o=(a=this._otherFormulaData[t])==null?void 0:a[r])==null?void 0:o[s])!=null}register(e){const{unitId:t,subUnitId:r,formulaId:s,item:a}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][r]||(this._otherFormulaData[t][r]={}),this._otherFormulaData[t][r][s]=a}batchRegister(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(s=>{const a=r[s];if(a==null)return!0;Object.keys(a).forEach(o=>{const u=a[o];if(u==null)return!0;this.register({unitId:t,subUnitId:s,formulaId:o,item:u})})})})}batchRemove(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(s=>{const a=r[s];if(a==null)return!0;Object.keys(a).forEach(o=>{this.remove({unitId:t,subUnitId:s,formulaId:o})})})})}getOtherFormulaData(){return this._otherFormulaData}}const kr=C.createIdentifier("univer.formula.other-formula-manager.service");class Jr extends C.Disposable{constructor(){super(...arguments);d(this,"node");d(this,"children",[]);d(this,"parents",[]);d(this,"formula","");d(this,"row",-1);d(this,"column",-1);d(this,"rowCount",Number.NEGATIVE_INFINITY);d(this,"columnCount",Number.NEGATIVE_INFINITY);d(this,"subUnitId","");d(this,"unitId","");d(this,"rangeList",[]);d(this,"formulaId");d(this,"featureId");d(this,"getDirtyData");d(this,"_state",0)}dispose(){var e;super.dispose(),this.children=[],this.rangeList=[],this.parents=[],(e=this.node)==null||e.dispose()}disposeWithChildren(){this.children.forEach(e=>{e.disposeWithChildren()}),this.dispose()}resetState(){this._state=0}setAdded(){this._state=1}isAdded(){return this._state===1}setSkip(){this._state=2}isSkip(){return this._state===2}inRangeData(e){const t=e.startRow,r=e.startColumn,s=e.endRow,a=e.endColumn;return!(this.row<t||this.row>s||this.column<r||this.column>a)}dependencyRange(e,t,r){var s,a;if(this.rangeList.length===0)return!1;for(let o=0,u=this.rangeList.length;o<u;o++){const c=this.rangeList[o],{unitId:l,sheetId:m,range:g}=c.gridRange;if(((s=t[l])==null?void 0:s[m])!=null)return!0;if(!e.has(l))continue;const p=e.get(l);if(!p.has(m))continue;const R=p.get(m),b=(a=r==null?void 0:r[l])==null?void 0:a[m];let{startRow:P,endRow:w,startColumn:v,endColumn:B}=g;Number.isNaN(P)&&(P=0),Number.isNaN(v)&&(v=0),Number.isNaN(w)&&(w=Number.POSITIVE_INFINITY),Number.isNaN(B)&&(B=Number.POSITIVE_INFINITY);for(const X of R){const{startRow:oe,startColumn:de,endRow:Se,endColumn:Re}=X;if(!(P>Se||w<oe||v>Re||B<de)){let De=!0;if(b==null||b.forValue((_e,fe)=>{if(_e>=P&&_e<=w&&fe>=v&&fe<=B)return De=!1,!1}),De)return!0}}}return!1}pushChildren(e){this.children.push(e),e._pushParent(this)}pushRangeList(e){this.rangeList.push(e)}dependency(e){if(this.rangeList.length===0)return!1;for(let t=0,r=this.rangeList.length;t<r;t++){const s=this.rangeList[t],a=s.gridRange.unitId,o=s.gridRange.sheetId,u=s.gridRange.range;if(e.unitId===a&&e.subUnitId===o&&e.inRangeData(u))return!0}return!1}_pushParent(e){this.parents.push(e)}}class ln extends C.Disposable{constructor(){super(...arguments);d(this,"_cacheItems",new Map)}dispose(){this.clear()}size(){return this._cacheItems.size}get length(){return this._cacheItems.size}add(e,t){const{token:r}=e;if(!this._cacheItems.has(r)){this._cacheItems.set(r,{unitRangeWithToken:e,treeList:[t]});return}this._cacheItems.get(r).treeList.push(t)}clear(){this._cacheItems.clear()}remove(e,t){if(!this._cacheItems.has(e))return;const r=this._cacheItems.get(e),s=r.treeList.indexOf(t);s!==-1&&r.treeList.splice(s,1)}delete(e){this._cacheItems.delete(e)}dependency(e){this._cacheItems.forEach(t=>{const{unitRangeWithToken:r,treeList:s}=t,{gridRange:a}=r,{unitId:o,sheetId:u,range:c}=a;e.unitId===o&&e.subUnitId===u&&e.inRangeData(c)&&s.forEach(l=>{if(l===e||l.children.includes(e))return!0;l.pushChildren(e)})})}}class pl extends C.Disposable{constructor(){super(...arguments);d(this,"_otherFormulaData",{});d(this,"_featureFormulaData",new Map);d(this,"_formulaData",{})}dispose(){this._otherFormulaData={},this._featureFormulaData.clear(),this._formulaData={}}getAllTree(){const e=[];return Object.values(this._otherFormulaData).forEach(t=>{if(t==null)return!0;Object.values(t).forEach(r=>{Object.values(r).forEach(s=>{s&&(s.resetState(),e.push(s))})})}),this._featureFormulaData.forEach(t=>{t&&(t.resetState(),e.push(t))}),Object.values(this._formulaData).map(t=>t==null?[]:Object.values(t).forEach(r=>r.forValue((s,a,o)=>{o&&(o.resetState(),e.push(o))}))),e}buildDependencyTree(e,t){const r=this.getAllTree();return e.length===0?(this._buildReverseDependency(r,t),r):(e instanceof ln?this._buildDependencyTree(r,e,t||[]):this._buildDependencyTree(r,e,e),r)}_buildDependencyTree(e,t,r){e.forEach(s=>{t instanceof ln?t.dependency(s):t.forEach(a=>{if(s===a||a.children.includes(s))return!0;a.dependency(s)&&a.pushChildren(s)})}),this._buildReverseDependency(e,r)}_buildReverseDependency(e,t){e.forEach(r=>{t==null||t.forEach(s=>{if(r===s||r.children.includes(s))return!0;r.dependency(s)&&r.pushChildren(s)})})}clearDependencyForTree(e){if(e==null)return;const t=e.parents,r=e.children;t.forEach(s=>{s.children=s.children.filter(a=>a!==e)}),r.forEach(s=>{s.parents=s.parents.filter(a=>a!==e)}),this._buildDependencyTree(t,r,r),e.dispose()}reset(){this._otherFormulaData={},this._featureFormulaData.clear(),this._formulaData={}}addOtherFormulaDependency(e,t,r,s){this._otherFormulaData[e]||(this._otherFormulaData[e]={}),this._otherFormulaData[e][t]||(this._otherFormulaData[e][t]={}),this._otherFormulaData[e][t][r]=s}removeOtherFormulaDependency(e,t,r){this._otherFormulaData[e]&&this._otherFormulaData[e][t]&&r.forEach(s=>{const a=this._otherFormulaData[e][t][s];this.clearDependencyForTree(a),delete this._otherFormulaData[e][t][s]})}hasOtherFormulaDependency(e,t,r){var s,a;return((a=(s=this._otherFormulaData[e])==null?void 0:s[t])==null?void 0:a[r])!=null}addFeatureFormulaDependency(e,t){this._featureFormulaData.set(e,t)}removeFeatureFormulaDependency(e){const t=this._featureFormulaData.get(e);this.clearDependencyForTree(t),this._featureFormulaData.delete(e)}hasFeatureFormulaDependency(e){return this._featureFormulaData.has(e)}addFormulaDependency(e,t,r,s,a){this._formulaData[e]||(this._formulaData[e]={}),this._formulaData[e][t]||(this._formulaData[e][t]=new C.ObjectMatrix),this._formulaData[e][t].setValue(r,s,a)}removeFormulaDependency(e,t,r,s){if(this._formulaData[e]&&this._formulaData[e][t]){const a=this._formulaData[e][t].getValue(r,s);this.clearDependencyForTree(a),this._formulaData[e][t].realDeleteValue(r,s)}}clearFormulaDependency(e,t){this._formulaData[e]&&this._formulaData[e][t]&&this._formulaData[e][t].reset()}hasFormulaDependency(e,t,r,s){var a,o;return((o=(a=this._formulaData[e])==null?void 0:a[t])==null?void 0:o.getValue(r,s))!=null}}const Ir=C.createIdentifier("univer.formula.dependency-manager.service");var Rl=Object.defineProperty,_l=Object.getOwnPropertyDescriptor,El=(n,i,e,t)=>{for(var r=t>1?void 0:t?_l(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Rl(i,e,r),r},et=(n,i)=>(e,t)=>i(e,t,n);const Cl=1e5;let Bt=class extends C.Disposable{constructor(i,e,t,r,s,a,o,u){super();d(this,"_updateRangeFlattenCache",new Map);d(this,"_dirtyUnitSheetNameMap",{});d(this,"_formulaASTCache",new Rt(Cl));this._currentConfigService=i,this._runtimeService=e,this._otherFormulaManagerService=t,this._featureCalculationManagerService=r,this._interpreter=s,this._astTreeBuilder=a,this._lexer=o,this._dependencyManagerService=u}dispose(){this._updateRangeFlattenCache.clear(),this._formulaASTCache.clear(),this._dirtyUnitSheetNameMap={}}async generate(){this._updateRangeFlatten();const i=this._currentConfigService.getFormulaData(),e=this._otherFormulaManagerService.getOtherFormulaData(),t=this._currentConfigService.getUnitData(),{treeList:r,dependencyTreeCache:s}=await this._generateTreeList(i,e,t),a=this._getUpdateTreeListAndMakeDependency(r,s);this._checkIsCycleDependency(a)&&this._runtimeService.enableCycleDependency();const u=this._calculateRunList(a);return Promise.resolve(u)}_isCyclicUtil(i,e,t){if(!e.has(i)){e.add(i),t.add(i);for(let r=0;r<i.children.length;r++)if(!e.has(i.children[r])&&this._isCyclicUtil(i.children[r],e,t)||t.has(i.children[r]))return!0}return t.delete(i),!1}_checkIsCycleDependency(i){const e=new Set,t=new Set;for(let r=0,s=i.length;r<s;r++){const a=i[r];if(this._isCyclicUtil(a,e,t)===!0)return!0}return!1}async _generateTreeList(i,e,t){const r=Object.keys(i),s=Object.keys(e),a=[];this._currentConfigService.isForceCalculate()&&(this._dependencyManagerService.reset(),this._formulaASTCache.clear()),this._registerFormulas(r,i,t,a),this._registerOtherFormulas(e,s,a),this._registerFeatureFormulas(a);const u=new ln;for(let c=0,l=a.length;c<l;c++){const m=a[c];if(this._runtimeService.setCurrent(m.row,m.column,m.rowCount,m.columnCount,m.subUnitId,m.unitId),m.node==null)continue;const g=await this._getRangeListByNode(m.node);for(let p=0,R=g.length;p<R;p++){const b=g[p];m.pushRangeList(b),u.add(b,m)}}return{treeList:a,dependencyTreeCache:u}}_registerFeatureFormulas(i){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((e,t)=>{const{unitId:r,subUnitId:s,dependencyRanges:a,getDirtyData:o}=e;if(this._dependencyManagerService.hasFeatureFormulaDependency(r,s,t))return!0;const u=new Jr;u.unitId=r,u.subUnitId=s,u.getDirtyData=o,u.featureId=t,u.rangeList=a.map(c=>({gridRange:c,token:gt({...c,sheetName:this._currentConfigService.getSheetName(c.unitId,c.sheetId)})})),this._dependencyManagerService.addFeatureFormulaDependency(t,u),i.push(u)})}_registerOtherFormulas(i,e,t){for(const r of e){const s=i[r];if(s==null)continue;const a=Object.keys(s);for(const o of a){const u=s[o];if(u==null)continue;const c=Object.keys(u);for(const l of c){if(this._dependencyManagerService.hasOtherFormulaDependency(r,o,l))continue;const m=u[l],{f:g}=m,p=this._generateAstNode(r,g),R=new Jr;R.node=p,R.formula=g,R.unitId=r,R.subUnitId=o,R.formulaId=l,this._dependencyManagerService.addOtherFormulaDependency(r,o,l,R),t.push(R)}}}}_registerFormulas(i,e,t,r){for(const s of i){const a=e[s];if(a==null)continue;const o=Object.keys(a);for(const u of o)new C.ObjectMatrix(a[u]||{}).forValue((l,m,g)=>{if(g==null)return!0;const{f:p,x:R,y:b}=g;if(this._dependencyManagerService.hasFormulaDependency(s,u,l,m))return!0;const P=this._generateAstNode(s,p,R,b),w=new Jr,v=t[s][u];w.node=P,w.formula=p,w.unitId=s,w.subUnitId=u,w.row=l,w.column=m,w.rowCount=v.rowCount,w.columnCount=v.columnCount,this._dependencyManagerService.addFormulaDependency(s,u,l,m,w),r.push(w)})}}_updateRangeFlatten(){const i=this._currentConfigService.isForceCalculate(),e=this._currentConfigService.getDirtyRanges();if(!i){this._updateRangeFlattenCache.clear();for(let t=0;t<e.length;t++){const r=e[t],s=r.range,a=r.sheetId,o=r.unitId;this._addFlattenCache(o,a,s)}this._dirtyUnitSheetNameMap=this._currentConfigService.getDirtyNameMap()}}_generateAstNode(i,e,t=0,r=0){let s=this._formulaASTCache.get(`${i}${e}##${t}-${r}`);if(s&&!this._isDirtyDefinedForNode(s))return s;const a=this._lexer.treeBuilder(e);if(Pt.has(a))return Ce.create(a);if(s=this._astTreeBuilder.parse(a,t,r),s==null)throw new Error("astNode is null");return this._formulaASTCache.set(`${i}${e}##${t}-${r}`,s),s}_addFlattenCache(i,e,t){let r=this._updateRangeFlattenCache.get(i);r==null&&(r=new Map,this._updateRangeFlattenCache.set(i,r));let s=r.get(e);s==null&&(s=[],r.set(e,s)),s.push(t)}_isPreCalculateNode(i){return i.nodeType===q.UNION||i.nodeType===q.PREFIX&&i.getToken()===pe.AT||i.nodeType===q.SUFFIX&&i.getToken()===Ge.POUND}_nodeTraversalRef(i,e){const t=i.getChildren(),r=t.length;for(let s=0;s<r;s++){const a=t[s];if(this._isPreCalculateNode(a)){e.push(a);continue}else a.nodeType===q.REFERENCE&&e.push(a);this._nodeTraversalRef(a,e)}}_nodeTraversalReferenceFunction(i,e){const t=i.getChildren(),r=t.length;for(let s=0;s<r;s++){const a=t[s];if(a.nodeType===q.FUNCTION&&a.isAddress()){e.push(a);continue}this._nodeTraversalReferenceFunction(a,e)}}async _executeNode(i){let e;return this._interpreter.checkAsyncNode(i)?e=await this._interpreter.executeAsync(i):e=this._interpreter.execute(i),e}async _getRangeListByNode(i){const e=[],t=[];this._nodeTraversalRef(i,e),this._nodeTraversalReferenceFunction(i,t);const r=[];for(let s=0,a=e.length;s<a;s++){const o=e[s],c=(await this._executeNode(o)).toUnitRange(),l=gt({...c,sheetName:this._currentConfigService.getSheetName(c.unitId,c.sheetId)});r.push({gridRange:c,token:l})}for(let s=0,a=t.length;s<a;s++){const o=t[s],c=(await this._executeNode(o)).toUnitRange(),l=gt({...c,sheetName:this._currentConfigService.getSheetName(c.unitId,c.sheetId)});r.push({gridRange:c,token:l})}return r}_isDirtyDefinedForNode(i){const e=this._currentConfigService.getDirtyDefinedNameMap(),t=this._currentConfigService.getExecuteUnitId();if(t!=null&&e[t]!=null){const r=Object.keys(e[t]);for(let s=0,a=r.length;s<a;s++){const o=r[s];if(i.hasDefinedName(o))return!0}}return!1}_getUpdateTreeListAndMakeDependency(i,e){const t=[],r=new Set,s=this._currentConfigService.isForceCalculate();let a=[];e.size()>i.length?a=this._dependencyManagerService.buildDependencyTree(i):a=this._dependencyManagerService.buildDependencyTree(e,i);for(let o=0,u=a.length;o<u;o++){const c=a[o];(s||c.dependencyRange(this._updateRangeFlattenCache,this._dirtyUnitSheetNameMap,this._currentConfigService.getExcludedRange())||this._includeTree(c))&&!r.has(c)&&(t.push(c),r.add(c))}return e.dispose(),t}_includeTreeFeature(i){var s,a;const e=i.unitId,t=i.subUnitId,r=i.featureId;if(r!=null){const o=this._currentConfigService.getDirtyUnitFeatureMap();if(((a=(s=o==null?void 0:o[e])==null?void 0:s[t])==null?void 0:a[r])!=null)return!0}return!1}_includeOtherFormula(i){var s,a;const e=i.unitId,t=i.subUnitId,r=i.formulaId;if(r!=null){const o=this._currentConfigService.getDirtyUnitOtherFormulaMap();if(((a=(s=o==null?void 0:o[e])==null?void 0:s[t])==null?void 0:a[r])!=null)return!0}return!1}_includeDefinedName(i){const e=i.node;return!!(e!=null&&this._isDirtyDefinedForNode(e))}_includeTree(i){var u,c,l;const e=i.unitId,t=i.subUnitId;if(this._includeTreeFeature(i)===!0||this._includeOtherFormula(i)===!0||this._includeDefinedName(i)===!0)return!0;const r=(c=(u=this._currentConfigService.getExcludedRange())==null?void 0:u[e])==null?void 0:c[t];let s=!1;if(r==null||r.forValue((m,g)=>{if(i.row===m&&i.column===g)return s=!0,!1}),s)return!1;if(((l=this._dirtyUnitSheetNameMap[e])==null?void 0:l[t])!=null)return!0;if(!this._updateRangeFlattenCache.has(e))return!1;const a=this._updateRangeFlattenCache.get(e);if(!a.has(t))return!1;const o=a.get(t);for(const m of o)if(i.inRangeData(m))return!0;return!1}_calculateRunList(i){let e=i;const t=[];for(;e.length>0;){const r=e.pop();if(r===void 0||r.isSkip())continue;if(r.isAdded()){t.push(r);continue}const s=[];for(let a=0,o=r.parents.length;a<o;a++){const u=r.parents[a];u.isAdded()||r.isSkip()||s.push(u)}s.length===0?(t.push(r),r.setSkip()):(r.setAdded(),e.push(r),e=e.concat(s))}return t.reverse()}};Bt=El([C.OnLifecycle(C.LifecycleStages.Rendered,Bt),et(0,qe),et(1,Te),et(2,kr),et(3,Kt),et(4,C.Inject(At)),et(5,C.Inject($t)),et(6,C.Inject(St)),et(7,Ir)],Bt);var yl=Object.defineProperty,Dl=Object.getOwnPropertyDescriptor,bl=(n,i,e,t)=>{for(var r=t>1?void 0:t?Dl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&yl(i,e,r),r},lt=(n,i)=>(e,t)=>i(e,t,n);const Sl=1;exports.CalculateFormulaService=class extends C.Disposable{constructor(e,t,r,s,a,o,u){super();d(this,"_executionStartListener$",new yt.Subject);d(this,"executionStartListener$",this._executionStartListener$.asObservable());d(this,"_executionCompleteListener$",new yt.Subject);d(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());d(this,"_executionInProgressListener$",new yt.Subject);d(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable());this._configService=e,this._lexer=t,this._currentConfigService=r,this._runtimeService=s,this._formulaDependencyGenerator=a,this._interpreter=o,this._astTreeBuilder=u}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._executionStartListener$.next(!0),this._currentConfigService.load(e),this._runtimeService.reset();const t=this._configService.getConfig("CYCLE_REFERENCE_COUNT")||Sl;for(let r=0;r<t&&(this._runtimeService.setFormulaCycleIndex(r),await this._execute(),un.clear(),!!this._runtimeService.isCycleDependency());r++);this._runtimeService.setFormulaExecuteStage(Ie.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),tt.clear()}async _execute(){const e=await this._apply();if(e==null)return;const{arrayFormulaRange:t,runtimeFeatureRange:r}=e,{dirtyRanges:s,excludedCell:a}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,r);return s==null||s.length===0||(this._currentConfigService.loadDirtyRangesAndExcludedCell(s,a),await this._apply(!0)),!0}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){const r=[],s={};return Object.keys(e).forEach(a=>{const o=e[a];if(o==null)return!0;Object.keys(o).forEach(u=>{const c=new C.ObjectMatrix(o[u]);if(c==null)return!0;const l=new C.ObjectMatrix;c.forValue((m,g,p)=>{l.setValue(m,g,!0),r.push({unitId:a,sheetId:u,range:p})}),s[a]==null&&(s[a]={}),s[a][u]=l})}),Object.keys(t).forEach(a=>{const o=t[a];Object.keys(o).forEach(u=>{const c=o[u];if(c==null)return!0;Object.keys(c).forEach(l=>{const m=c[l];if(m==null)return!0;for(const g of m)r.push({unitId:u,sheetId:l,range:g})})})}),{dirtyRanges:r,excludedCell:s}}async _apply(e=!1){e?this._runtimeService.setFormulaExecuteStage(Ie.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage(Ie.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());const t=await this._formulaDependencyGenerator.generate(),r=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage(Ie.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage(Ie.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let s=[];for(let a=0,o=t.length;a<o;a++){if(await new Promise(g=>{const p=C.requestImmediateMacroTask(g);s.push(p)}),this._runtimeService.isStopExecution()){this._runtimeService.setFormulaExecuteStage(Ie.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}const u=t[a],c=u.node,l=u.getDirtyData;let m;if(c==null&&l==null)throw new Error("AstNode or executor is null");if(this._runtimeService.setCurrent(u.row,u.column,u.rowCount,u.columnCount,u.subUnitId,u.unitId),l!=null&&u.featureId!=null){const{runtimeCellData:g,dirtyRanges:p}=l(u);this._runtimeService.setRuntimeFeatureCellData(u.featureId,g),this._runtimeService.setRuntimeFeatureRange(u.featureId,p)}else c!=null&&(r.checkAsyncNode(c)?m=await r.executeAsync(c):m=r.execute(c),u.formulaId!=null?this._runtimeService.setRuntimeOtherData(u.formulaId,m):this._runtimeService.setRuntimeData(m));e?(this._runtimeService.setFormulaExecuteStage(Ie.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(a+1)):(this._runtimeService.setFormulaExecuteStage(Ie.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(a+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState())}return s.forEach(a=>a()),s=[],t.length>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}calculate(e,t=!0){const r=this._lexer.treeBuilder(e,t);if(Object.values(f).includes(r))return Ce.create(r);const s=this._astTreeBuilder.parse(r);s==null||s.serialize()}};exports.CalculateFormulaService=bl([C.OnLifecycle(C.LifecycleStages.Rendered,exports.CalculateFormulaService),lt(0,C.IConfigService),lt(1,C.Inject(St)),lt(2,qe),lt(3,Te),lt(4,C.Inject(Bt)),lt(5,C.Inject(At)),lt(6,C.Inject($t))],exports.CalculateFormulaService);var Al=Object.defineProperty,Pl=Object.getOwnPropertyDescriptor,Ll=(n,i,e,t)=>{for(var r=t>1?void 0:t?Pl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Al(i,e,r),r},sr=(n,i)=>(e,t)=>i(e,t,n);let or=class extends C.Disposable{constructor(n,i,e,t){super(),this._commandService=n,this._calculateFormulaService=i,this._univerInstanceService=e,this._formulaDataModel=t,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener(),this._initialExecuteFormulaProcessListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((n,i)=>{if(n.id===Sn.id)this._calculateFormulaService.stopFormulaExecution();else if(n.id===Tr.id){const e=n.params.formulaData;this._formulaDataModel.mergeFormulaData(e)}else if(n.id===bn.id){const e=n.params;if(e.forceCalculation===!0)this._calculate(!0);else{const{dirtyRanges:t,dirtyNameMap:r,dirtyDefinedNameMap:s,dirtyUnitFeatureMap:a,dirtyUnitOtherFormulaMap:o}=e;this._calculate(!1,t,r,s,a,o)}}else if(n.id===Cr.id){const e=n.params;if(e==null)return;const{arrayFormulaRange:t,arrayFormulaCellData:r}=e;this._formulaDataModel.setArrayFormulaRange(t),this._formulaDataModel.setArrayFormulaCellData(r)}}))}async _calculate(n=!1,i=[],e={},t={},r={},s={}){if(i.length===0&&Object.keys(e).length===0&&Object.keys(t).length===0&&Object.keys(r).length===0&&Object.keys(s).length===0&&n===!1)return;const a=this._formulaDataModel.getFormulaData(),o=this._formulaDataModel.getArrayFormulaCellData();this._calculateFormulaService.execute({formulaData:a,arrayFormulaCellData:o,forceCalculate:n,dirtyRanges:i,dirtyNameMap:e,dirtyDefinedNameMap:t,dirtyUnitFeatureMap:r,dirtyUnitOtherFormulaMap:s})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(n=>{const i=n.functionsExecutedState;switch(i){case Ct.NOT_EXECUTED:break;case Ct.STOP_EXECUTION:break;case Ct.SUCCESS:this._applyFormula(n);break;case Ct.INITIAL:break}this._commandService.executeCommand(yr.id,{functionsExecutedState:i},{onlyLocal:!0})})}_initialExecuteFormulaProcessListener(){this._calculateFormulaService.executionInProgressListener$.subscribe(n=>{this._commandService.executeCommand(yr.id,{stageInfo:n},{onlyLocal:!0})})}async _applyFormula(n){const{unitData:i,unitOtherData:e,arrayFormulaRange:t,arrayFormulaCellData:r,clearArrayFormulaCellData:s}=n;if(!i){console.error("No sheetData from Formula Engine!");return}t&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(s),this._formulaDataModel.mergeArrayFormulaCellData(r),this._formulaDataModel.mergeArrayFormulaRange(t),this._commandService.executeCommand(Cr.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0})),this._commandService.executeCommand(An.id,{unitData:la(i),unitOtherData:e},{onlyLocal:!0})}};or=Ll([C.OnLifecycle(C.LifecycleStages.Ready,or),sr(0,C.ICommandService),sr(1,C.Inject(exports.CalculateFormulaService)),sr(2,C.IUniverInstanceService),sr(3,C.Inject(exports.FormulaDataModel))],or);const Ti={id:"formula.mutation.register-function",type:C.CommandType.MUTATION,handler:()=>!0},jr={id:"formula.mutation.set-defined-name",type:C.CommandType.MUTATION,handler:()=>!0},$r={id:"formula.mutation.remove-defined-name",type:C.CommandType.MUTATION,handler:()=>!0},Yr={id:"formula.mutation.set-feature-calculation",type:C.CommandType.MUTATION,handler:()=>!0},Hr={id:"formula.mutation.remove-feature-calculation",type:C.CommandType.MUTATION,handler:()=>!0},Qr={id:"formula.mutation.set-other-formula",type:C.CommandType.MUTATION,handler:()=>!0},zr={id:"formula.mutation.remove-other-formula",type:C.CommandType.MUTATION,handler:()=>!0},ki={id:"formula.mutation.set-super-table",type:C.CommandType.MUTATION,handler:()=>!0},Ii={id:"formula.mutation.remove-super-table",type:C.CommandType.MUTATION,handler:()=>!0},xn={id:"formula.mutation.set-super-table-option",type:C.CommandType.MUTATION,handler:()=>!0};var xl=Object.defineProperty,Vl=Object.getOwnPropertyDescriptor,wl=(n,i,e,t)=>{for(var r=t>1?void 0:t?Vl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&xl(i,e,r),r},en=(n,i)=>(e,t)=>i(e,t,n);let Tt=class extends C.Disposable{constructor(n=[],i,e,t){super(),this._function=n,this._commandService=i,this._functionService=e,this._dataSyncPrimaryController=t,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[Tr,Cr,bn,Sn,yr,An,jr,$r,Yr,Hr,Qr,zr,ki,Ii,xn,Ti].forEach(n=>{var i;this._commandService.registerCommand(n),(i=this._dataSyncPrimaryController)==null||i.registerSyncingMutations(n)})}_registerFunctions(){const n=[...Gs,...ei,...ti,...ni,...ci,...li,...hi,...di,...gi,...pi,...Ri,..._i,...Ei,...Ci,...yi,...bi].concat(this._function).map(i=>{const e=i[0],t=i[1];return new e(t)});this._functionService.registerExecutors(...n)}};Tt=wl([C.OnLifecycle(C.LifecycleStages.Ready,Tt),en(1,C.ICommandService),en(2,Ze),en(3,C.Optional(sa.DataSyncPrimaryController))],Tt);var Ul=Object.defineProperty,Ol=Object.getOwnPropertyDescriptor,Ml=(n,i,e,t)=>{for(var r=t>1?void 0:t?Ol(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Ul(i,e,r),r},Ds=(n,i)=>(e,t)=>i(e,t,n);let ur=class extends C.Disposable{constructor(n,i){super(),this._commandService=n,this._definedNamesService=i,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===jr.id){const i=n.params;if(i==null)return;const{id:e,unitId:t,name:r,formulaOrRefString:s,comment:a,hidden:o,localSheetId:u}=i;this._definedNamesService.registerDefinedName(t,{id:e,name:r.trim(),formulaOrRefString:s.trim(),comment:a==null?void 0:a.trim(),hidden:o,localSheetId:u})}else if(n.id===$r.id){const i=n.params;if(i==null)return;const{unitId:e,id:t}=i;this._definedNamesService.removeDefinedName(e,t)}}))}};ur=Ml([C.OnLifecycle(C.LifecycleStages.Ready,ur),Ds(0,C.ICommandService),Ds(1,Xt)],ur);var Fl=Object.defineProperty,vl=Object.getOwnPropertyDescriptor,Bl=(n,i,e,t)=>{for(var r=t>1?void 0:t?vl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Fl(i,e,r),r},bs=(n,i)=>(e,t)=>i(e,t,n);let cr=class extends C.Disposable{constructor(n,i){super(),this._commandService=n,this._featureCalculationManagerService=i,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Yr.id){const i=n.params;if(i==null)return;const{featureId:e,calculationParam:t}=i;this._featureCalculationManagerService.register(e,t)}else if(n.id===Hr.id){const i=n.params;if(i==null)return;const{featureId:e}=i;this._featureCalculationManagerService.remove(e)}}))}};cr=Bl([C.OnLifecycle(C.LifecycleStages.Ready,cr),bs(0,C.ICommandService),bs(1,Kt)],cr);var Tl=Object.defineProperty,kl=Object.getOwnPropertyDescriptor,Il=(n,i,e,t)=>{for(var r=t>1?void 0:t?kl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Tl(i,e,r),r},tn=(n,i)=>(e,t)=>i(e,t,n);let lr=class extends C.Disposable{constructor(n,i,e){super(),this._commandService=n,this._otherFormulaManagerService=i,this._dependencyManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Qr.id){const i=n.params;if(i==null)return;const e={[i.unitId]:{[i.subUnitId]:i.formulaMap}};this._otherFormulaManagerService.batchRegister(e)}else if(n.id===zr.id){const i=n.params;if(i==null)return;const e={};i.formulaIdList.forEach(r=>e[r]=!0);const t={[i.unitId]:{[i.subUnitId]:e}};this._otherFormulaManagerService.batchRemove(t)}}))}};lr=Il([C.OnLifecycle(C.LifecycleStages.Ready,lr),tn(0,C.ICommandService),tn(1,kr),tn(2,Ir)],lr);var jl=Object.defineProperty,$l=Object.getOwnPropertyDescriptor,Yl=(n,i,e,t)=>{for(var r=t>1?void 0:t?$l(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&jl(i,e,r),r},Ss=(n,i)=>(e,t)=>i(e,t,n);let fr=class extends C.Disposable{constructor(n,i){super(),this._commandService=n,this._superTableService=i,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===jr.id){const i=n.params;if(i==null)return;const{unitId:e,tableName:t,reference:r}=i;this._superTableService.registerTable(e,t,r)}else if(n.id===$r.id){const i=n.params;if(i==null)return;const{unitId:e,tableName:t}=i;this._superTableService.remove(e,t)}else if(n.id===xn.id){const i=n.params;if(i==null)return;const{tableOption:e,tableOptionType:t}=i;this._superTableService.registerTableOptionMap(e,t)}}))}};fr=Yl([C.OnLifecycle(C.LifecycleStages.Ready,fr),Ss(0,C.ICommandService),Ss(1,Ln)],fr);class Hl extends C.Disposable{constructor(){super(...arguments);d(this,"_dirtyConversionMap",new Map)}dispose(){this._dirtyConversionMap.clear()}remove(e){this._dirtyConversionMap.delete(e)}get(e){return this._dirtyConversionMap.get(e)}has(e){return this._dirtyConversionMap.has(e)}register(e,t){this._dirtyConversionMap.set(e,t)}getDirtyConversionMap(){return this._dirtyConversionMap}}const ji=C.createIdentifier("univer.formula.active-dirty-manager.service");var Ql=Object.defineProperty,zl=Object.getOwnPropertyDescriptor,Nl=(n,i,e,t)=>{for(var r=t>1?void 0:t?zl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Ql(i,e,r),r},rn=(n,i)=>(e,t)=>i(e,t,n);let hr=class extends C.Disposable{constructor(n,i){super(),this._commandService=n,this._dependencyManagerService=i,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Hr.id||n.id===Yr.id){const i=n.params;if(i==null)return;const{featureId:e}=i;this._dependencyManagerService.removeFeatureFormulaDependency(e)}else if(n.id===zr.id){const i=n.params;if(i==null)return;this._dependencyManagerService.removeOtherFormulaDependency(i.unitId,i.subUnitId,i.formulaIdList)}else if(n.id===Qr.id){const i=n.params;if(i==null)return;const e=i.formulaMap,t=[];Object.keys(e).forEach(r=>{t.push(r)}),this._dependencyManagerService.removeOtherFormulaDependency(i.unitId,i.subUnitId,t)}else if(n.id===Tr.id){const i=n.params.formulaData;Object.keys(i).forEach(e=>{if(i[e]==null)return!0;Object.keys(i[e]).forEach(t=>{const r=i[e][t];if(r==null)return this._dependencyManagerService.clearFormulaDependency(e,t),!0;new C.ObjectMatrix(r).forValue((s,a)=>{this._dependencyManagerService.removeFormulaDependency(e,t,s,a)})})})}}))}};hr=Nl([C.OnLifecycle(C.LifecycleStages.Ready,hr),rn(0,C.ICommandService),rn(1,Kt),rn(1,Ir)],hr);var Wl=Object.defineProperty,Gl=Object.getOwnPropertyDescriptor,Xl=(n,i,e,t)=>{for(var r=t>1?void 0:t?Gl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Wl(i,e,r),r},Kl=(n,i)=>(e,t)=>i(e,t,n);const ql="base-formula-engine";var nn;exports.UniverFormulaEnginePlugin=(nn=class extends C.Plugin{constructor(i,e){super(),this._config=i,this._injector=e}onStarting(){this._initialize()}_initialize(){var e;const i=[[Ze,{useClass:xi}],[Kt,{useClass:vi}],[Xt,{useClass:Pi}],[ji,{useClass:Hl}],[Ln,{useClass:Zc}],[exports.FormulaDataModel],[Ur],[Tt,{useFactory:()=>{var t;return this._injector.createInstance(Tt,(t=this._config)==null?void 0:t.function)}}],[cr],[ur],[fr]];(e=this._config)!=null&&e.notExecuteFormula||i.push([exports.CalculateFormulaService],[kr,{useClass:Bi}],[Te,{useClass:exports.FormulaRuntimeService}],[qe,{useClass:exports.FormulaCurrentConfigService}],[Ir,{useClass:pl}],[or],[lr],[hr],[Bt],[At],[$t],[St],[Li],[Sr],[Ar],[Mi],[Pr],[br],[Lr],[xr],[Vr],[Fi]),i.forEach(t=>this._injector.add(t))}},d(nn,"pluginName",ql),nn);exports.UniverFormulaEnginePlugin=Xl([Kl(1,C.Inject(C.Injector))],exports.UniverFormulaEnginePlugin);function $i(n,i){const e=n.sequenceNodesBuilder(i);return!(!e||e.every(t=>typeof t=="string"||t.nodeType!==Pe.REFERENCE))}function Zl(n,i,e,t,r,s){if(!$i(n,i))return i;const a=n.sequenceNodesBuilder(i),o=(p,R)=>({startRow:p,endRow:p,startColumn:R,endColumn:R}),u=o(e,t),c=C.Rectangle.getRelativeRange(o(r,s),u),l=C.Tools.deepClone(a),m=Array.isArray(l)?l.map(p=>{if(typeof p=="object"&&p.nodeType===Pe.REFERENCE){const R=je(p.token),b=C.Rectangle.getPositionRange(c,R.range),P=Xe(b);return{...p,token:P}}return p}):l;return`=${m&&gr(m)}`}exports.ArrayValueObject=he;exports.AsyncArrayObject=Ns;exports.AsyncObject=zs;exports.BaseFunction=L;exports.BaseReferenceObject=Vt;exports.BaseValueObject=Ke;exports.BooleanValue=it;exports.BooleanValueObject=j;exports.CustomFunction=eo;exports.DefinedNamesService=Pi;exports.ERROR_TYPE_SET=Pt;exports.ErrorType=f;exports.ErrorValueObject=h;exports.FUNCTION_NAMES_ARRAY=Xs;exports.FUNCTION_NAMES_COMPATIBILITY=Et;exports.FUNCTION_NAMES_CUBE=ri;exports.FUNCTION_NAMES_DATABASE=si;exports.FUNCTION_NAMES_DATE=ge;exports.FUNCTION_NAMES_ENGINEERING=fi;exports.FUNCTION_NAMES_FINANCIAL=mi;exports.FUNCTION_NAMES_INFORMATION=Ve;exports.FUNCTION_NAMES_LOGICAL=rt;exports.FUNCTION_NAMES_LOOKUP=be;exports.FUNCTION_NAMES_MATH=ae;exports.FUNCTION_NAMES_STATISTICAL=ce;exports.FUNCTION_NAMES_TEXT=Ne;exports.FUNCTION_NAMES_UNIVER=Di;exports.FUNCTION_NAMES_WEB=Si;exports.FeatureCalculationManagerService=vi;exports.FormulaExecuteStageType=Ie;exports.FormulaExecutedStateType=Ct;exports.FunctionService=xi;exports.FunctionType=Ps;exports.IActiveDirtyManagerService=ji;exports.IDefinedNamesService=Xt;exports.IFeatureCalculationManagerService=Kt;exports.IFormulaCurrentConfigService=qe;exports.IFormulaRuntimeService=Te;exports.IFunctionService=Ze;exports.IOtherFormulaManagerService=kr;exports.LexerNode=G;exports.LexerTreeBuilder=Ur;exports.NullValueObject=se;exports.NumberValueObject=D;exports.OtherFormulaManagerService=Bi;exports.RangeReferenceObject=It;exports.RegisterFunctionMutation=Ti;exports.RemoveDefinedNameMutation=$r;exports.RemoveFeatureCalculationMutation=Hr;exports.RemoveOtherFormulaMutation=zr;exports.RemoveSuperTableMutation=Ii;exports.SetArrayFormulaDataMutation=Cr;exports.SetDefinedNameMutation=jr;exports.SetFeatureCalculationMutation=Yr;exports.SetFormulaCalculationNotificationMutation=yr;exports.SetFormulaCalculationResultMutation=An;exports.SetFormulaCalculationStartMutation=bn;exports.SetFormulaCalculationStopMutation=Sn;exports.SetFormulaDataMutation=Tr;exports.SetOtherFormulaMutation=Qr;exports.SetSuperTableMutation=ki;exports.SetSuperTableOptionMutation=xn;exports.StringValueObject=le;exports.ValueObjectFactory=at;exports.compareToken=O;exports.convertUnitDataToRuntime=Vs;exports.deserializeRangeForR1C1=Ws;exports.deserializeRangeWithSheet=je;exports.functionArray=Gs;exports.functionCompatibility=ei;exports.functionCube=ti;exports.functionDatabase=ni;exports.functionDate=ci;exports.functionEngineering=li;exports.functionFinancial=hi;exports.functionInformation=di;exports.functionLogical=gi;exports.functionLookup=pi;exports.functionMath=Ri;exports.functionMeta=_i;exports.functionStatistical=Ei;exports.functionText=Ci;exports.functionUniver=yi;exports.functionWeb=bi;exports.generateStringWithSequence=gr;exports.getAbsoluteRefTypeWitString=_a;exports.getAbsoluteRefTypeWithSingleString=vt;exports.getRangeWithRefsString=Ea;exports.handleNumfmtInCell=$a;exports.includeFormulaLexerToken=xs;exports.initSheetFormulaData=Ai;exports.isFormulaLexerToken=Ft;exports.isFormulaTransformable=$i;exports.isInDirtyRange=As;exports.isReferenceString=Bs;exports.isReferenceStringWithEffectiveColumn=pr;exports.isReferenceStrings=js;exports.matchRefDrawToken=ca;exports.matchToken=z;exports.normalizeSheetName=ua;exports.operatorToken=ne;exports.sequenceNodeType=Pe;exports.serializeRange=Xe;exports.serializeRangeToRefString=gt;exports.serializeRangeWithSheet=Ts;exports.serializeRangeWithSpreadsheet=ks;exports.singleReferenceToGrid=ar;exports.strip=on;exports.stripErrorMargin=Ys;exports.transformFormula=Zl;
1
+ "use strict";var ti=Object.defineProperty;var ri=(n,a,e)=>a in n?ti(n,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[a]=e;var g=(n,a,e)=>ri(n,typeof a!="symbol"?a+"":a,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("@univerjs/core"),Et=require("rxjs"),ni=require("@univerjs/rpc");function Ps(n,a,e,t,r){for(let s=0,i=n.length;s<i;s++){const o=n[s];if(a!==o.unitId||e!==o.sheetId)continue;const{startRow:u,startColumn:l,endRow:c,endColumn:m}=o.range;if(t>=u&&t<=c&&r>=l&&r<=m)return!0}return!1}var f=(n=>(n.DIV_BY_ZERO="#DIV/0!",n.NAME="#NAME?",n.VALUE="#VALUE!",n.NUM="#NUM!",n.NA="#N/A",n.CYCLE="#CYCLE!",n.REF="#REF!",n.SPILL="#SPILL!",n.CALC="#CALC!",n.ERROR="#ERROR!",n.CONNECT="#GETTING_DATA",n.NULL="#NULL!",n))(f||{});const Ft=new Set(Object.values(f));var Ls=(n=>(n[n.Financial=0]="Financial",n[n.Date=1]="Date",n[n.Math=2]="Math",n[n.Statistical=3]="Statistical",n[n.Lookup=4]="Lookup",n[n.Database=5]="Database",n[n.Text=6]="Text",n[n.Logical=7]="Logical",n[n.Information=8]="Information",n[n.Engineering=9]="Engineering",n[n.Cube=10]="Cube",n[n.Compatibility=11]="Compatibility",n[n.Web=12]="Web",n[n.Array=13]="Array",n[n.Univer=14]="Univer",n[n.User=15]="User",n[n.DefinedName=16]="DefinedName",n))(Ls||{}),oe=(n=>(n.PLUS="+",n.MINUS="-",n.MULTIPLY="*",n.DIVIDED="/",n.CONCATENATE="&",n.POWER="^",n.EQUALS="=",n.NOT_EQUAL="<>",n.GREATER_THAN=">",n.GREATER_THAN_OR_EQUAL=">=",n.LESS_THAN="<",n.LESS_THAN_OR_EQUAL="<=",n))(oe||{}),v=(n=>(n.EQUALS="=",n.NOT_EQUAL="<>",n.GREATER_THAN=">",n.GREATER_THAN_OR_EQUAL=">=",n.LESS_THAN="<",n.LESS_THAN_OR_EQUAL="<=",n))(v||{});const dr=new Map([["<>",3],["<",3],[">=",3],["=",3],[">",3],["<=",3],["&",2],["+",2],["-",2],["/",1],["*",1],["^",0]]),pt=new Set(dr.keys()),si=new Set(["=","<>",">",">=","<","<="]);var K=(n=>(n.OPEN_BRACKET="(",n.CLOSE_BRACKET=")",n.COMMA=",",n.SINGLE_QUOTATION="'",n.DOUBLE_QUOTATION='"',n.OPEN_BRACES="{",n.CLOSE_BRACES="}",n.COLON=":",n.OPEN_SQUARE_BRACKET="[",n.CLOSE_SQUARE_BRACKET="]",n))(K||{}),Je=(n=>(n.PERCENTAGE="%",n.POUND="#",n))(Je||{});const ai=new Set(["%","#"]);var ye=(n=>(n.AT="@",n.MINUS="-",n))(ye||{});const ii=" ",bs=[...Object.values(v),...Object.values(oe),...Object.values(K),...Object.values(Je),...Object.values(ye)];function jt(n){return bs.includes(n)}function xs(n){for(const a of bs)if(n.indexOf(a)>-1)return!0;return!1}function oi(n){return n[0]==="'"&&n[n.length-1]==="'"?n.substring(1,n.length-1):n}function ui(n){return jt(n)&&n!==K.CLOSE_BRACES&&n!==K.CLOSE_BRACKET&&n!==K.SINGLE_QUOTATION&&n!==K.DOUBLE_QUOTATION||n===" "}function ws(n){const a={};return Object.keys(n).forEach(e=>{const t=n[e];if(t==null)return!0;a[e]==null&&(a[e]={}),Object.keys(t).forEach(r=>{const s=t[r];a[e][r]=new y.ObjectMatrix(s)})}),a}function li(n){const a={};return Object.keys(n).forEach(e=>{const t=n[e];if(t==null)return!0;a[e]==null&&(a[e]={}),Object.keys(t).forEach(r=>{const s=t[r];a[e][r]=s.getData()})}),a}const qe="P_1",ut="R_1",bt="L_1",qt="LR_1",Ms="LO_1",ci="LET",zt="LAMBDA",fi="CUBE";class Z{constructor(){g(this,"_parent");g(this,"_token",ut);g(this,"_children",[]);g(this,"_lambdaId");g(this,"_functionDefinitionPrivacyVar");g(this,"_lambdaParameter","");g(this,"_startIndex",-1);g(this,"_endIndex",-1);g(this,"_definedNames",[])}dispose(){var a;this._children.forEach(e=>{typeof e!="string"&&e.dispose()}),(a=this._functionDefinitionPrivacyVar)==null||a.clear(),this._parent=null}getDefinedNames(){return this._definedNames}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(a){this._lambdaId=a}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(a){this._functionDefinitionPrivacyVar=a}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(a){this._lambdaParameter=a}getParent(){return this._parent}setParent(a){this._parent=a}getChildren(){return this._children}setChildren(a){this._children=a}addChildren(a){this._children.push(a)}addChildrenFirst(a){this._children.unshift(a)}getToken(){return this._token}setToken(a){this._token=a}setIndex(a,e){this._startIndex=a,this._endIndex=e}setDefinedNames(a){this._definedNames=a}hasDefinedNames(){return this._definedNames.length>0}replaceChild(a,e){const t=this._getIndexInParent(a);t!=null&&(this.getChildren().splice(t,1,e),e.setParent(this))}changeToParent(a){const e=this.getParent();e&&e.removeChild(this),this.setParent(a),a.getChildren().push(this)}removeChild(a){const e=this._getIndexInParent(a);e!=null&&this.getChildren().splice(e,1)}serialize(){const a=this.getToken(),e=this.getChildren(),t=[],r=e.length;for(let s=0;s<r;s++){const i=e[s];i instanceof Z?t.push(i.serialize()):t.push(i)}return{token:a,st:this._startIndex,ed:this._endIndex,children:t}}_getIndexInParent(a){const e=this.getChildren(),t=e.length;for(let r=0;r<t;r++)if(e[r]===a)return r}}class St{constructor(a){g(this,"_cache");this._cache=new y.LRUMap(a)}set(a,e){const t=this._hash(a);this._cache.set(t,e)}get(a){const e=this._hash(a);return this._cache.get(e)}clear(){this._cache.clear()}_hash(a){return y.hashAlgorithm(a)}}const dn='\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]',hi="((?![\\[\\]\\/?*\\\\]).)*!",lt="$",yn="\\s*?:\\s*?",Sr="[A-Za-z]+",Vr="[1-9][0-9]*",vt=`'?(${dn})?(${hi})?'?`,pn=`\\${lt}?${Sr}\\${lt}?${Vr}`,mi=`^(${ye.AT})?${vt}${pn}${yn}${pn}$`,Xt=`^${vt}\\s*?${pn}(${Je.POUND})?$`,Us=`^${vt}\\${lt}?${Vr}${yn}\\${lt}?${Vr}$`,Fs=`^${vt}\\${lt}?${Sr}${yn}\\${lt}?${Sr}$`,vs=`^${vt}\\s*?\\${lt}?${Vr}$`,Bs=`^${vt}\\s*?\\${lt}?${Sr}$`,Os="[.*?]",gi="{.*?}";function Ts(n){return new RegExp(Xt).test(n)||new RegExp(mi).test(n)||new RegExp(Us).test(n)||new RegExp(Fs).test(n)}var we=(n=>(n[n.NORMAL=0]="NORMAL",n[n.NUMBER=1]="NUMBER",n[n.STRING=2]="STRING",n[n.FUNCTION=3]="FUNCTION",n[n.REFERENCE=4]="REFERENCE",n[n.ARRAY=5]="ARRAY",n[n.DEFINED_NAME=6]="DEFINED_NAME",n))(we||{});function Pr(n){let a="";for(const e of n)typeof e=="string"?a+=e:a+=e.token;return a}const di=/[^0-9]/g,pi=/[^A-Za-z]/g;function Yt(n){let a=n[0]==="$";const e=n.substring(1);let t=e.indexOf("$")>-1;return y.Tools.isStringNumber(e)&&a&&!t&&(a=!1,t=!0),a&&t?y.AbsoluteRefType.ALL:a?y.AbsoluteRefType.COLUMN:t?y.AbsoluteRefType.ROW:y.AbsoluteRefType.NONE}function Ri(n){const a=n.split("!");a.length>1&&(n=a[a.length-1]);const e=n.split(":");return e.length>1?{startAbsoluteRefType:Yt(e[0]),endAbsoluteRefType:Yt(e[1])}:{startAbsoluteRefType:Yt(e[0])}}function Gn(n=y.AbsoluteRefType.NONE){let a="",e="";return n===y.AbsoluteRefType.ROW?a="$":n===y.AbsoluteRefType.COLUMN?e="$":n===y.AbsoluteRefType.ALL&&(a="$",e="$"),{rowAbsoluteString:a,columnAbsoluteString:e}}function et(n){const{startColumn:a,startRow:e,endColumn:t,endRow:r,startAbsoluteRefType:s,endAbsoluteRefType:i,rangeType:o=y.RANGE_TYPE.NORMAL}=n,u=Gn(s),l=Gn(i);if(o===y.RANGE_TYPE.ROW||o===y.RANGE_TYPE.ALL){const d=`${u.rowAbsoluteString}${e+1}`,p=`${l.rowAbsoluteString}${r+1}`;return`${d}:${p}`}if(o===y.RANGE_TYPE.COLUMN){const d=`${u.columnAbsoluteString}${y.Tools.chatAtABC(a)}`,p=`${l.columnAbsoluteString}${y.Tools.chatAtABC(t)}`;return`${d}:${p}`}const c=`${u.columnAbsoluteString}${y.Tools.chatAtABC(a)}${u.rowAbsoluteString}${e+1}`,m=`${l.columnAbsoluteString}${y.Tools.chatAtABC(t)}${l.rowAbsoluteString}${r+1}`;return c===m?c:`${c}:${m}`}function ks(n,a){return br(n)?`'${n}'!${et(a)}`:`${n}!${et(a)}`}function Is(n,a,e){return br(n)||br(a)?`'[${n}]${a}'!${et(e)}`:`[${n}]${a}!${et(e)}`}function yt(n){const{unitId:a,sheetName:e,range:t}=n;return a!=null&&a.length>0&&e!=null&&e.length>0?Is(a,e,t):e!=null&&e.length>0?ks(e,t):et(t)}function pr(n){const a=Number.parseInt(n.replace(di,""))-1,e=y.Tools.ABCatNum(n.replace(pi,"")),t=Yt(n);return{row:a,column:e,absoluteRefType:t}}function $s(n){const a=new RegExp(dn).exec(n);let e="";a!=null&&(e=a[0].trim(),e=e.slice(1,e.length-1),n=n.replace(new RegExp(dn),""));const t=n.indexOf("!");let r="",s="";return t>-1?(r=n.substring(0,t),r[0]==="'"&&r[r.length-1]==="'"&&(r=r.substring(1,r.length-1)),s=n.substring(t+1)):s=n,{refBody:s,sheetName:r,unitId:e}}function Qe(n){const{refBody:a,sheetName:e,unitId:t}=$s(n),r=a.indexOf(":");if(r===-1){const R=pr(a),_=R.row,S=R.column,L=R.absoluteRefType;return{unitId:t,sheetName:e,range:{startRow:_,startColumn:S,endRow:_,endColumn:S,startAbsoluteRefType:L,endAbsoluteRefType:L}}}const s=a.substring(0,r),i=a.substring(r+1),o=pr(s),u=pr(i),l=o.row,c=o.column,m=u.row,d=u.column;let p=y.RANGE_TYPE.NORMAL;return Number.isNaN(l)&&Number.isNaN(m)?p=y.RANGE_TYPE.COLUMN:Number.isNaN(c)&&Number.isNaN(d)&&(p=y.RANGE_TYPE.ROW),{unitId:t,sheetName:e,range:{startRow:l,startColumn:c,endRow:m,endColumn:d,startAbsoluteRefType:o.absoluteRefType,endAbsoluteRefType:u.absoluteRefType,rangeType:p}}}function Lr(n){if(!Ts(n))return!1;const{range:a}=Qe(n);return!(a.endColumn>=16384)}function Ci(n,a){const e=(n==null?void 0:n.split(","))||[];return n===""||e.length===0?[]:Ns(n)?e.map(s=>{const i=Qe(s);return{unitId:i.unitId,sheetId:a(i.sheetName),range:i.range,sheetName:i.sheetName}}):[]}function Ns(n){return((n==null?void 0:n.split(","))||[]).every(e=>Lr(e.trim()))}function br(n){return n.length===0?!1:!!(xs(n)||_i(n)||Ei(n)||yi(n)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?]/.test(n))}function _i(n){const a=n.match(/[1-9][0-9]{0,6}/);return/^[A-Z]+[1-9][0-9]{0,6}$/.test(n)&&a!==null}function Ei(n){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(n)}function yi(n){return!new RegExp("^\\p{Letter}","u").test(n.charAt(0))}const js=1e5,an=new St(js),on=new St(js);class jr extends y.Disposable{constructor(){super(...arguments);g(this,"_currentLexerNode",new Z);g(this,"_upLevel",0);g(this,"_segment","");g(this,"_bracketState",[]);g(this,"_squareBracketState",0);g(this,"_bracesState",0);g(this,"_singleQuotationState",0);g(this,"_doubleQuotationState",0);g(this,"_lambdaState",!1);g(this,"_colonState",!1);g(this,"_tableBracketState",!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),an.clear(),on.clear()}getUpLevel(){return this._upLevel}isColonClose(){return this._colonState===!1}isColonOpen(){return this._colonState===!0}isDoubleQuotationClose(){return this._doubleQuotationState===0}isLambdaOpen(){return this._lambdaState===!0}isLambdaClose(){return this._lambdaState===!1}isSingleQuotationClose(){return this._singleQuotationState===0}isBracesClose(){return this._bracesState===0}isBracketClose(){return this._bracketState.length===0}isSquareBracketClose(){return this._squareBracketState===0}getCurrentLexerNode(){return this._currentLexerNode}getFunctionAndParameter(e,t){const r=this._getCurrentParamIndex(e,t);if(r==null||r===f.VALUE)return;const s=r[0];if(typeof s=="string")return;let i=s.getParent(),o=s;for(;i;){const u=i.getToken();if(u!==qe&&!jt(u)&&i.getStartIndex()!==-1){const l=i.getChildren().indexOf(o);return{functionName:u,paramIndex:l}}o=i,i=i.getParent()}}checkIfAddBracket(e){let t=0,r=e.length-1,s=e[r];for(;(s===K.CLOSE_BRACKET||s===" ")&&r>=0;)s===K.CLOSE_BRACKET&&t++,s=e[--r];const i=this._getCurrentParamIndex(e,e.length-2);if(i==null||i===f.VALUE)return 0;const o=i[0];if(typeof o=="string")return 0;let u=o.getParent(),l=0;for(i[1]===K.OPEN_BRACKET&&l++;u;){const c=u.getToken();c!==qe&&c!==K.COLON&&u.getStartIndex()!==-1&&c.toUpperCase()!==zt&&(t===0?l+=1:t--),u=u.getParent()}return l}sequenceNodesBuilder(e){const t=on.get(e);if(t)return[...t];const r=this._getSequenceArray(e);if(r.length===0)return;const s=this.getSequenceNode(r);return on.set(e,[...s]),s}convertRefersToAbsolute(e,t,r){const s=this.sequenceNodesBuilder(e);if(s==null)return e;let i="";e.substring(0,1)===oe.EQUALS&&(i=oe.EQUALS);for(let o=0,u=s.length;o<u;o++){const l=s[o];if(typeof l!="string"&&l.nodeType===we.REFERENCE){const{token:c,endIndex:m}=l,d=Qe(c);if(d==null)continue;const{range:p,sheetName:R,unitId:_}=d,S={...p,startAbsoluteRefType:t,endAbsoluteRefType:r},L=yt({range:S,unitId:_,sheetName:R}),w=L.length-c.length;s[o]={...l,token:L,endIndex:m+w};for(let b=o+1;b<u;b++){const N=s[b];typeof N!="string"&&(N.startIndex+=w,N.endIndex+=w)}}}return`${i}${Pr(s)}`}moveFormulaRefOffset(e,t,r,s=!1){const i=this.sequenceNodesBuilder(e);if(i==null)return e;const o=[];for(let u=0,l=i.length;u<l;u++){const c=i[u];if(typeof c=="string"||c.nodeType!==we.REFERENCE){o.push(c);continue}const{token:m}=c,d=Qe(m),{sheetName:p,unitId:R}=d;let _=d.range;if(!s&&_.startAbsoluteRefType===y.AbsoluteRefType.ALL&&_.endAbsoluteRefType===y.AbsoluteRefType.ALL){o.push(c);continue}else _=y.moveRangeByOffset(_,t,r,s);let S="";y.isValidRange(_)?S=yt({range:_,unitId:R,sheetName:p}):S=f.REF,o.push({...c,token:S})}return`=${Pr(o)}`}getSequenceNode(e){const t=[];let r=!1;for(let s=0,i=e.length;s<i;s++){const o=e[s],u=e[s-1],{segment:l,currentString:c}=o;if(c===K.DOUBLE_QUOTATION&&(r=!0),(l!==""||s===0)&&s!==i-1){t.push(c);continue}let m=(u==null?void 0:u.segment)||"",d=s-m.length,p=s-1,R=s-1;if(s===i-1&&this._isLastMergeString(c)&&(m+=c,p+=1),m===""||dr.has(m)){t.push(c);continue}const _=m.trim(),S=this._replacePrefixString(_);if(r===!0&&_[_.length-1]===K.DOUBLE_QUOTATION)r=!1,this._processPushSequenceNode(t,we.STRING,m,d,p,R);else if(new RegExp(Xt).test(S)&&Lr(S)){if(S.length!==_.length){const L=_.length-S.length;R+=L,d+=L,m=this._replacePrefixString(m)}this._processPushSequenceNode(t,we.REFERENCE,m,d,p,R)}else y.Tools.isStringNumber(_)?this._processPushSequenceNode(t,we.NUMBER,m,d,p,R):_.length>0&&this._processPushSequenceNode(t,we.FUNCTION,m,d,p,R);(s!==i-1||!this._isLastMergeString(c))&&t.push(c)}return this._mergeSequenceNodeReference(t)}_processPushSequenceNode(e,t,r,s,i,o){this._pushSequenceNode(e,{nodeType:t,token:r,startIndex:s,endIndex:i},o)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===K.DOUBLE_QUOTATION||y.Tools.isStringNumber(e)||!jt(e)}_mergeSequenceNodeReference(e){const t=[],r=e.length;let s=0;for(;s<r;){const i=e[s];if(typeof i=="string"){const o=e[s-1];if(i.trim()===K.CLOSE_BRACES&&o!=null&&typeof o!="string"&&o.nodeType===we.FUNCTION&&o.token.trim().substring(0,1)===K.OPEN_BRACES){o.nodeType=we.ARRAY,o.token+=i,o.endIndex+=i.length,s++;continue}t.push(i)}else{const o=e[s+1],u=e[s+2];o===K.COLON&&typeof i!="string"&&u!=null&&typeof u!="string"&&Lr((i.token+o+u.token).trim())&&(i.nodeType=we.REFERENCE,i.token+=o+u.token,i.endIndex=u.endIndex,s+=2),t.push(i)}s++}return t}_pushSequenceNode(e,t,r){const s=r-t.startIndex+1;e.splice(e.length-s,s,t)}_replacePrefixString(e){const t=[];let r=!1;for(let s=0,i=e.length;s<i;s++){const o=e[s];if(o===ii&&!r)t.push(o);else{if(!r&&(o===ye.AT||o===ye.MINUS))continue;t.push(o),r=!0}}return t.join("")}nodeMakerTest(e){return this._nodeMaker(e)}treeBuilder(e,t=!0,r,s){if(t===!0){const d=an.get(e),p=s==null?void 0:s(e);if(d&&!p)return d}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(ut);const i=[];let o=this._nodeMaker(e,i);if(o===f.VALUE||i.length===0)return o;let u=!1,l="",c=[];if(r){const{hasDefinedName:d,sequenceString:p,definedNames:R}=r(i);u=d,l=p,c=R}if(u&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(ut),o=this._nodeMaker(`=${l}`),o===f.VALUE))return o;const m=this._getTopNode(this._currentLexerNode);if(m&&(this._currentLexerNode=m),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return f.VALUE;an.set(e,this._currentLexerNode)}return u&&this._currentLexerNode.setDefinedNames(c),this._currentLexerNode}_suffixExpressionHandler(e){var o;const t=e.getChildren();if(!t)return!1;const r=t.length,s=[],i=[];for(let u=0;u<r;u++){const l=t[u];if(l instanceof Z)this._suffixExpressionHandler(l),s.push(l);else{const c=l.trim();if(c==="")continue;if(pt.has(c)){if(c===oe.PLUS&&this._deletePlusForPreNode(t[u-1]))continue;if(c!==oe.PLUS&&c!==oe.MINUS&&this._deletePlusForPreNode(t[u-1]))return!1;for(;i.length>0;){const m=(o=i[i.length-1])==null?void 0:o.trim();if(!m||m===K.OPEN_BRACKET)break;const d=dr.get(m),p=dr.get(c);if(!d||!p)break;if(p>=d)s.push(i.pop());else break}i.push(l)}else if(c===K.OPEN_BRACKET)i.push(l);else if(c===K.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(s,i,t,u);else{if(this._checkCloseBracket(t[u-1]))return!1;s.push(l)}}}return this._processSuffixExpressionRemain(s,i,e)}_processSuffixExpressionRemain(e,t,r){const s=e.length,i=e[s-1];for(;t.length>0;){const o=t.pop();if(!(i instanceof Z)&&(o===K.OPEN_BRACKET||o===K.CLOSE_BRACKET))return!1;e.push(o)}return r.setChildren(e),!0}_processSuffixExpressionCloseBracket(e,t,r,s){var i;if(this._checkOpenBracket(r[s-1])||this._checkOperator(r[s-1]))return!1;for(;t.length>0;){const o=(i=t[t.length-1])==null?void 0:i.trim();if(!o)break;if(o===K.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===K.CLOSE_BRACKET}_checkOpenBracket(e){return e===K.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof Z?!1:pt.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof Z)){const t=e.trim();if(pt.has(t)||t===K.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new Z}_resetSegment(){this._segment=""}_openBracket(e=0){this._bracketState.push(e)}_closeBracket(){this._bracketState.pop()}_openSquareBracket(){this._squareBracketState+=1}_closeSquareBracket(){this._squareBracketState-=1}_getCurrentBracket(){const e=this._bracketState;return e[e.length-1]}_changeCurrentBracket(e){const t=this._bracketState;t[t.length-1]=e}_openBraces(){this._bracesState+=1}_closeBraces(){this._bracesState-=1}_openSingleQuotation(){this._singleQuotationState+=1}_closeSingleQuotation(){this._singleQuotationState-=1}_openDoubleQuotation(){this._doubleQuotationState+=1}_closeDoubleQuotation(){this._doubleQuotationState-=1}_openLambda(){this._lambdaState=!0}_closeLambda(){this._lambdaState=!1}_openColon(e){this._upLevel=e,this._colonState=!0}_closeColon(){this._upLevel=0,this._colonState=!1}_isTableBracket(){return this._tableBracketState}_openTableBracket(){this._tableBracketState=!0}_closeTableBracket(){this._tableBracketState=!1}_getLastChildCurrentLexerNode(){const e=this._currentLexerNode.getChildren();if(e&&e.length>0){const t=e[e.length-1];if(t instanceof Z)return t}return!1}_getLastChildCurrent(){const e=this._currentLexerNode.getChildren();return e&&e.length>0?e[e.length-1]:!1}_setParentCurrentLexerNode(){const e=this._currentLexerNode.getParent();return e?(this._currentLexerNode=e,!0):!1}_setAncestorCurrentLexerNode(){var r,s,i,o,u,l;const e=(r=this._currentLexerNode)==null?void 0:r.getParent();let t=!1;if(e&&e.getToken()===bt){if((s=e==null?void 0:e.getParent())!=null&&s.getParent()){const c=(o=(i=this._currentLexerNode.getParent())==null?void 0:i.getParent())==null?void 0:o.getParent();c&&(this._currentLexerNode=c),t=!0}}else if(e!=null&&e.getParent()){const c=(u=this._currentLexerNode.getParent())==null?void 0:u.getParent();c&&(this._currentLexerNode=c),t=!0}for(let c=0;c<this._upLevel;c++){const m=(l=this._currentLexerNode)==null?void 0:l.getParent();m&&(this._currentLexerNode=m),this._currentLexerNode?t=!0:t=!1}return t}_segmentCount(){return this._segment.trim().length}_pushSegment(e){this._segment+=e}_pushNodeToChildren(e,t=!1){if(e!==""){const r=this._currentLexerNode.getChildren();if(!(e instanceof Z)&&this.isColonOpen()){const s=new Z;s.setToken(e),s.setParent(this._currentLexerNode),e=s}t?r.unshift(e):r.push(e)}this.isColonOpen()&&(this._setAncestorCurrentLexerNode(),this._closeColon())}_setCurrentLexerNode(e,t=!1){this._pushNodeToChildren(e,t),e.setParent(this._currentLexerNode),this._currentLexerNode=e}_newAndPushCurrentLexerNode(e,t,r=!1){const s=new Z;s.setToken(e),s.setIndex(t-e.length,t-1),this._setCurrentLexerNode(s,r)}_getTopNode(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}_removeLastChild(){this._currentLexerNode.getChildren().splice(-1)}_findPreviousToken(e,t){for(;t>=0;){const r=e[t];if(r!==" ")return r;t--}}_negativeCondition(e){return!!(pt.has(e)||e===K.OPEN_BRACKET||e===K.COMMA||e==="")}_getSequenceArray(e){const t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new Z,this._upLevel=0,this._segment="",this._bracketState=[],this._bracesState=0,this._singleQuotationState=0,this._doubleQuotationState=0,this._lambdaState=!1,this._colonState=!1}_checkSimilarErrorToken(e,t,r){if(e!==Je.POUND)return!0;let s=r[++t];for(;s===" ";)s=r[++t];return!!jt(s)}_nodeMaker(e,t,r){e.substring(0,1)===oe.EQUALS&&(e=e.substring(1));let s=!1;e.substring(0,1)===oe.MINUS&&(e=`0${e}`,s=!0);const i=e.split(""),o=i.length;let u=0;for(this._resetTemp();u<o;){const l=i[u];if(r===u)return[this._currentLexerNode,l];if(l===K.OPEN_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())if(this._segmentCount()>0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,u),this._resetSegment()),this._openBracket(1),this._closeLambda();const c=i[u+1];if(c&&c===K.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return f.VALUE;this._addSequenceArray(t,l,u,s),u++,this._addSequenceArray(t,c,u,s),u++,this._closeBracket();continue}else c&&this._newAndPushCurrentLexerNode(qe,u)}else this._pushNodeToChildren(l),this._openBracket(0);else if(l===K.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._pushNodeToChildren(this._segment),this._resetSegment();const c=this._getCurrentBracket();if(c===0)this._pushNodeToChildren(l);else if(c===1){const m=i[u+1];if(m&&m===K.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return f.VALUE;this._newAndPushCurrentLexerNode(bt,u,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&u!==o-1)return f.VALUE}else return f.VALUE;this._closeBracket()}else if(l===K.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._openBraces();else if(l===K.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(l===K.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(l),this._openSquareBracket();else if(l===K.CLOSE_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._closeSquareBracket(),this.isSquareBracketClose()?(this._pushSegment(l),this._isTableBracket()&&(this._pushNodeToChildren(this._segment),this._resetSegment()),this._closeTableBracket()):this._pushSegment(l);else if(l===K.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{const c=i[u+1];c&&c===K.DOUBLE_QUOTATION?u++:this._closeDoubleQuotation()}this._pushSegment(l)}else if(l===K.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation();else{const c=i[u+1];c&&c===K.SINGLE_QUOTATION?u++:this._closeSingleQuotation()}this._pushSegment(l)}else if(l===K.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=this._getCurrentBracket();if(c===1||c==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&u!==o-1&&c!=null)return f.VALUE;this._newAndPushCurrentLexerNode(qe,u)}else{const m=new Z;m.setToken(fi);const d=new Z;d.setToken(qe),d.changeToParent(m);const p=this._currentLexerNode.getParent();if(p&&p.getToken()===K.COLON){const R=p.getParent();if(!R)return f.VALUE;p.changeToParent(d),R.setChildren([]),m.changeToParent(R)}else return f.VALUE;this._changeCurrentBracket(1),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=m,this._newAndPushCurrentLexerNode(qe,u)}}else if(l===K.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=new Z;c.setToken(l);const m=new Z;m.setToken(qe),m.setParent(c);const d=new Z;d.setToken(qe),d.setParent(c),c.getChildren().push(m,d);let p=c,R=0;if(this._segmentCount()>0){let _,S,L=0;const w=this._segment.trim(),b=w[0],N=w[1];if(b===ye.MINUS&&(_=new Z,_.setToken(ye.MINUS),L++),(b===ye.AT||N===ye.AT)&&(S=new Z,S.setToken(ye.AT),_&&(_.addChildren(S),S.setParent(_)),L++),L>0&&(this._segment=w.slice(L)),R=L,S)if(S.addChildren(c),c.setParent(S),S.getParent()){const ee=S.getParent();ee&&(p=ee)}else p=S;else _&&(p=_,_.addChildren(c),c.setParent(_));const z=new Z;z.setToken(this._segment),z.setParent(m),m.getChildren().push(z),this._resetSegment()}else{const _=this._getLastChildCurrentLexerNode();_&&_.changeToParent(m)}this._setCurrentLexerNode(p),this._currentLexerNode=d,this._openColon(R)}else if(ai.has(l)&&this._checkSimilarErrorToken(l,u,i)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){this._pushNodeToChildren(this._segment);const c=new Z;c.setToken(l);const m=this._getLastChildCurrent();m instanceof Z?m.changeToParent(c):m!==!1&&(c.getChildren().push(m),this._removeLastChild()),this._pushNodeToChildren(c),c.setParent(this._currentLexerNode),this._resetSegment()}else if(pt.has(l)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){let c=this._segment.trim();if(l===oe.MINUS&&c===""){const m=this._findPreviousToken(i,u-1)||"";if(this._negativeCondition(m)){this._pushSegment(oe.MINUS),this._addSequenceArray(t,l,u,s),u++;continue}}else if(this._segment.length>0&&this._isScientificNotation(i,u,l)){this._pushSegment(l),this._addSequenceArray(t,l,u,s),u++;continue}else this._segment.length>0&&c===""?c=this._segment:(this._pushNodeToChildren(this._segment),c="");if(l===oe.LESS_THAN||l===oe.GREATER_THAN){const m=i[u+1];if(m&&pt.has(l+m)){this._pushNodeToChildren(c+l+m),this._resetSegment(),this._addSequenceArray(t,l,u,s),u++,this._addSequenceArray(t,m,u,s),u++;continue}else this._pushNodeToChildren(c+l)}else this._pushNodeToChildren(c+l);this._resetSegment()}else this._pushSegment(l);this._addSequenceArray(t,l,u,s),u++}this._pushNodeToChildren(this._segment)}_isScientificNotation(e,t,r){const s=e[t-2];if(s&&Number.isNaN(Number(s))||!(r===oe.MINUS||r===oe.PLUS))return!1;const i=e[t+1];if(i&&Number.isNaN(Number(i)))return!1;const o=e[t-1];return o&&o.toUpperCase()==="E"}_addSequenceArray(e,t,r,s){s&&r===0||e==null||e.push({segment:this._segment,currentString:t,cur:r,currentLexerNode:this._currentLexerNode})}}class Yr extends y.Disposable{constructor(){super(...arguments);g(this,"pattern","")}getPattern(){return this.pattern}setPattern(e){this.pattern=e}isError(){return!1}isAsyncObject(){return!1}isAsyncArrayObject(){return!1}isReferenceObject(){return!1}isArray(){return!1}isValueObject(){return!1}isEqualType(e){return!1}}var ct=(n=>(n.FALSE="FALSE",n.TRUE="TRUE",n))(ct||{}),_t=(n=>(n[n.SUCCESS=0]="SUCCESS",n[n.ERROR=1]="ERROR",n))(_t||{}),Rt=(n=>(n.ALL="#All",n.DATA="#Data",n.HEADERS="#Headers",n.TOTALS="#Totals",n))(Rt||{}),$e=(n=>(n[n.FRONT=0]="FRONT",n[n.BACK=1]="BACK",n))($e||{});class Di{constructor(){g(this,"_cache",new Map);g(this,"_continueBuildingCache",new Map)}set(a,e,t,r,s){if(!this.shouldContinueBuildingCache(a,e,t,s))return;let i=this._cache.get(a);i==null&&(i=new Map,this._cache.set(a,i));let o=i.get(e);o==null&&(o=new Map,i.set(e,o));let u=o.get(t);u==null&&(u=new Map,o.set(t,u));let l=u.get(r);l==null&&(l=new Set,u.set(r,l)),l.add(s)}getCellValuePositions(a,e,t){var r,s;return(s=(r=this._cache.get(a))==null?void 0:r.get(e))==null?void 0:s.get(t)}getCellPositions(a,e,t,r){var s,i,o;return(o=(i=(s=this._cache.get(a))==null?void 0:s.get(e))==null?void 0:i.get(t))==null?void 0:o.get(r)}getCellPosition(a,e,t,r,s,i){const o=this.getCellPositions(a,e,t,r);if(o!=null){for(const u of o)if(u>=s&&u<=i)return u}}setContinueBuildingCache(a,e,t,r,s){let i=this._continueBuildingCache.get(a);i==null&&(i=new Map,this._continueBuildingCache.set(a,i));let o=i.get(e);o==null&&(o=new Map,i.set(e,o));let u=o.get(t);if(u==null){u={startRow:r,endRow:s},o.set(t,u);return}u.startRow=Math.min(u.startRow,r),u.endRow=Math.max(u.endRow,s)}shouldContinueBuildingCache(a,e,t,r){var u,l;const s=(l=(u=this._continueBuildingCache.get(a))==null?void 0:u.get(e))==null?void 0:l.get(t);if(s==null)return!0;const{startRow:i,endRow:o}=s;return!(r>=i&&r<=o)}canUseCache(a,e,t,r,s){var l,c;if(t===-1||r===-1||s===-1)return!1;const i=(c=(l=this._continueBuildingCache.get(a))==null?void 0:l.get(e))==null?void 0:c.get(t);if(i==null)return!1;const{startRow:o,endRow:u}=i;return!(r>u||s<o)}clear(){this._cache.clear(),this._continueBuildingCache.clear()}}const it=new Di;var Ze=(n=>(n[n.MIN=0]="MIN",n[n.MAX=1]="MAX",n))(Ze||{}),Me=(n=>(n[n.NORMAL=0]="NORMAL",n[n.MIN=1]="MIN",n[n.MAX=2]="MAX",n))(Me||{});function Kn(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(n,a)=>n.localeCompare(a)}function Ai(n){return n.indexOf("*")>-1||n.indexOf("?")>-1}function un(n,a){const e=Vi(a).replace(/~?[*?]/g,r=>r.startsWith("~")?`\\${r.substring(1)}`:r==="*"?".*":r==="?"?".":r);return new RegExp(`^${e}$`).test(n)}function qn(n){return n.replace(/~?[*?]/g,a=>a.startsWith("~")?a.substring(1):" ")}function Si(n,a,e){let t=!1;switch(e){case v.EQUALS:t=un(n,a);break;case v.NOT_EQUAL:t=!un(n,a);break;case v.GREATER_THAN:case v.GREATER_THAN_OR_EQUAL:t=un(n,a)||n>qn(a);break;case v.LESS_THAN:case v.LESS_THAN_OR_EQUAL:t=n<qn(a);break}return t}function Vi(n){return n.replace(/[.+^${}()|[\]\\]/g,"\\$&")}class tt extends Yr{constructor(a){super(),this._rawValue=a}isValueObject(){return!0}toUnitRange(){return{range:{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1},sheetId:"",unitId:""}}getValue(){return 0}getArrayValue(){return[]}setValue(a){}setArrayValue(a){}isCube(){return!1}isString(){return!1}isNumber(){return!1}isBoolean(){return!1}isLambda(){return!1}isError(){return!1}isNull(){return!1}sum(){return h.create(f.VALUE)}max(){return h.create(f.VALUE)}min(){return h.create(f.VALUE)}count(){return h.create(f.VALUE)}countA(){return h.create(f.VALUE)}countBlank(){return h.create(f.VALUE)}getNegative(){return h.create(f.VALUE)}getReciprocal(){return h.create(f.VALUE)}plus(a){return h.create(f.VALUE)}minus(a){return h.create(f.VALUE)}multiply(a){return h.create(f.VALUE)}divided(a){return h.create(f.VALUE)}mod(a){return h.create(f.VALUE)}map(a){return h.create(f.NAME)}mapValue(a){return h.create(f.NAME)}compare(a,e,t=!1){return h.create(f.NAME)}isEqual(a){return this.compare(a,v.EQUALS)}isNotEqual(a){return this.compare(a,v.NOT_EQUAL)}isGreaterThanOrEqual(a){return this.compare(a,v.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(a){return this.compare(a,v.LESS_THAN_OR_EQUAL)}isLessThan(a){return this.compare(a,v.LESS_THAN)}isGreaterThan(a){return this.compare(a,v.GREATER_THAN)}concatenateFront(a){return h.create(f.NAME)}concatenateBack(a){return h.create(f.NAME)}plusBy(a){return h.create(f.VALUE)}minusBy(a){return h.create(f.VALUE)}multiplyBy(a){return h.create(f.VALUE)}dividedBy(a){return h.create(f.VALUE)}modInverse(a){return h.create(f.VALUE)}compareBy(a,e){return h.create(f.NAME)}concatenate(a,e=$e.FRONT){let t=this.getValue().toString();if(typeof a=="string")e===$e.FRONT?t=a+t:t+=a;else if(typeof a=="number")e===$e.FRONT?t=a.toString()+t:t+=a.toString();else if(typeof a=="boolean"){const r=a?"TRUE":"FALSE";e===$e.FRONT?t=r+t:t+=r}return t}pow(a){return h.create(f.VALUE)}powInverse(a){return h.create(f.VALUE)}sqrt(){return h.create(f.VALUE)}cbrt(){return h.create(f.VALUE)}cos(){return h.create(f.VALUE)}cosh(){return h.create(f.VALUE)}acos(){return h.create(f.VALUE)}acosh(){return h.create(f.VALUE)}sin(){return h.create(f.VALUE)}sinh(){return h.create(f.VALUE)}asin(){return h.create(f.VALUE)}asinh(){return h.create(f.VALUE)}tan(){return h.create(f.VALUE)}tanh(){return h.create(f.VALUE)}atan(){return h.create(f.VALUE)}atan2(a){return h.create(f.VALUE)}atan2Inverse(a){return h.create(f.VALUE)}atanh(){return h.create(f.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return h.create(f.VALUE)}log10(){return h.create(f.VALUE)}exp(){return h.create(f.VALUE)}abs(){return h.create(f.VALUE)}round(a){return h.create(f.VALUE)}roundInverse(a){return h.create(f.VALUE)}floor(a){return h.create(f.VALUE)}floorInverse(a){return h.create(f.VALUE)}ceil(a){return h.create(f.VALUE)}ceilInverse(a){return h.create(f.VALUE)}convertToNumberObjectValue(){return h.create(f.VALUE)}convertToBooleanObjectValue(){return h.create(f.VALUE)}}const Pi=1e3,Xn=new St(Pi);class h extends tt{constructor(a,e=""){super(a),this._errorType=a,this._errorContent=e}static create(a,e=""){const t=`${a}-${e}`,r=Xn.get(t);if(r)return r;const s=new h(a,e);return Xn.set(t,s),s}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(a){return a.getErrorType()===this.getErrorType()}isError(){return!0}}function Dn(n){let a;switch(n){case v.EQUALS:a=v.EQUALS;break;case v.GREATER_THAN:a=v.LESS_THAN;break;case v.GREATER_THAN_OR_EQUAL:a=v.LESS_THAN_OR_EQUAL;break;case v.LESS_THAN:a=v.GREATER_THAN;break;case v.LESS_THAN_OR_EQUAL:a=v.GREATER_THAN_OR_EQUAL;break;case v.NOT_EQUAL:a=v.NOT_EQUAL;break}return a}function Zn(n,a){return n+a}function Jn(n,a){return n-a}function xt(n,a){return n*a}function es(n,a){return n/a}function Rr(n,a){const e=10**Math.trunc(a),t=An(n,e);return Math.round(xt(n,e)+t)/e}function He(n,a){const e=10**Math.trunc(a),t=An(n,e);return Math.floor(xt(n,e)+t)/e}function Fe(n,a){const e=10**Math.trunc(a),t=An(n,e);return Math.ceil(xt(n,e)-t)/e}function An(n,a){return Number.EPSILON*Math.max(1,Math.abs(xt(n,a)))}function ts(n,a){return n-a*Math.floor(n/a)}function rs(n,a){return n**a}function Li(n){return Math.sqrt(n)}function ns(n,a){return n===a}function bi(n,a){return n>a}function xi(n,a){return n>=a}function wi(n,a){return n<a}function Mi(n,a){return n<=a}function Rn(n,a=15){return Number.parseFloat(n.toPrecision(a))}function Ui(n,a){return Math.abs(n-a)<Number.EPSILON}function Ys(n,a=12){const e=Rn(n,a);return Ui(n,e)?e:Rn(n)}function Fi(n){return n-Math.trunc(n)}var vi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Bi(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Hs={exports:{}};(function(n,a){(function(e,t){n.exports=t()})(typeof self<"u"?self:vi,function(){return function(){var e={d:function(D,E){for(var A in E)e.o(E,A)&&!e.o(D,A)&&Object.defineProperty(D,A,{enumerable:!0,get:E[A]})},o:function(D,E){return Object.prototype.hasOwnProperty.call(D,E)}},t={};e.d(t,{default:function(){return ei}});var r={1078:"af",1052:"sq",1118:"am",5121:"ar_DZ",15361:"ar_BH",3073:"ar_EG",2049:"ar_IQ",11265:"ar_JO",13313:"ar_KW",12289:"ar_LB",4097:"ar_LY",6145:"ar_MA",8193:"ar_OM",16385:"ar_QA",1025:"ar_SA",10241:"ar_SY",7169:"ar_TN",14337:"ar_AE",9217:"ar_YE",1067:"hy",1101:"as",2092:"az_AZ",1068:"az_AZ",1069:"eu",1059:"be",2117:"bn",1093:"bn_IN",5146:"bs",1026:"bg",1109:"my",1027:"ca",2052:"zh_CN",3076:"zh_HK",5124:"zh_MO",4100:"zh_SG",1028:"zh_TW",1050:"hr",1029:"cs",1030:"da",1125:"dv",2067:"nl_BE",1043:"nl_NL",1126:"bin",3081:"en_AU",10249:"en_BZ",4105:"en_CA",9225:"en_CB",2057:"en_GB",16393:"en_IN",6153:"en_IE",8201:"en_JM",5129:"en_NZ",13321:"en_PH",7177:"en_ZA",11273:"en_TT",1033:"en_US",12297:"en_ZW",1061:"et",1071:"mk",1080:"fo",1065:"fa",1124:"fil",1035:"fi",2060:"fr_BE",11276:"fr_CM",3084:"fr_CA",9228:"fr_CG",12300:"fr_CI",1036:"fr_FR",5132:"fr_LU",13324:"fr_ML",6156:"fr_MC",14348:"fr_MA",10252:"fr_SN",4108:"fr_CH",7180:"fr",1122:"fy_NL",2108:"gd_IE",1084:"gd",1110:"gl",1079:"ka",3079:"de_AT",1031:"de_DE",5127:"de_LI",4103:"de_LU",2055:"de_CH",1032:"el",1140:"gn",1095:"gu",1279:"en",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig_NG",1057:"id",1040:"it_IT",2064:"it_CH",1041:"ja",1099:"kn",1120:"ks",1087:"kk",1107:"km",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1142:"la",1062:"lv",1063:"lt",2110:"ms_BN",1086:"ms_MY",1100:"ml",1082:"mt",1112:"mni",1153:"mi",1102:"mr",1104:"mn",2128:"mn",1121:"ne",1044:"no_NO",2068:"no_NO",1096:"or",1045:"pl",1046:"pt_BR",2070:"pt_PT",1094:"pa",1047:"rm",2072:"ro_MO",1048:"ro_RO",1049:"ru",2073:"ru_MO",1083:"se",1103:"sa",3098:"sr_SP",2074:"sr_SP",1072:"st",1074:"tn",1113:"sd",1115:"si",1051:"sk",1060:"sl",1143:"so",1070:"sb",11274:"es_AR",16394:"es_BO",13322:"es_CL",9226:"es_CO",5130:"es_CR",7178:"es_DO",12298:"es_EC",17418:"es_SV",4106:"es_GT",18442:"es_HN",2058:"es_MX",19466:"es_NI",6154:"es_PA",15370:"es_PY",10250:"es_PE",20490:"es_PR",1034:"es_ES",14346:"es_UY",8202:"es_VE",1089:"sw",2077:"sv_FI",1053:"sv_SE",1114:"syc",1064:"tg",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1073:"ts",1055:"tr",1090:"tk",1058:"uk",1056:"ur",2115:"uz_UZ",1091:"uz_UZ",1075:"ve",1066:"vi",1106:"cy",1076:"xh",1085:"yi",1077:"zu"};const s=/^([a-z\d]+)(?:[_-]([a-z\d]+))?(?:\.([a-z\d]+))?(?:@([a-z\d]+))?$/i,i={},o={group:" ",decimal:".",positive:"+",negative:"-",percent:"%",exponent:"E",nan:"NaN",infinity:"∞",ampm:["AM","PM"],mmmm6:["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"],mmm6:["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],mmmm:["January","February","March","April","May","June","July","August","September","October","November","December"],mmm:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]};function u(D){const E=s.exec(D);if(!E)throw new SyntaxError("Malformed locale: ".concat(D));return{lang:E[1]+(E[2]?"_"+E[2]:""),language:E[1],territory:E[2]||"",codeset:E[3]||"",modifier:E[4]||""}}function l(D){if(typeof D=="number")return r[65535&D]||null;const E=parseInt(D,16);return isFinite(E)&&r[65535&E]?r[65535&E]||null:s.test(D)?D:null}function c(D){const E=l(D);let A=null;if(E){const x=u(E);A=i[x.lang]||i[x.language]||null}return A}function m(D){return Object.assign({},o,D)}function d(D,E){const A=typeof E=="object"?E:u(E);return i[A.lang]=m(D),A.language===A.lang||i[A.language]||(i[A.language]=m(D)),i[A.lang]}const p=m({group:","});function R(D,E){if(typeof D!="number")return D;if(D<0)return-R(-D,E);if(E){const A=10**(E||0)||1;return R(D*A,0)/A}return Math.round(D)}p.isDefault=!0,d({group:",",ampm:["上午","下午"],mmmm:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["周日","周一","周二","周三","周四","周五","周六"]},"zh_CN"),d({group:",",nan:"非數值",ampm:["上午","下午"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["週日","週一","週二","週三","週四","週五","週六"]},"zh_TW"),d({group:",",ampm:["午前","午後"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],ddd:["日","月","火","水","木","金","土"]},"ja"),d({group:",",ampm:["오전","오후"],mmmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],mmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dddd:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],ddd:["일","월","화","수","목","금","토"]},"ko"),d({group:",",ampm:["ก่อนเที่ยง","หลังเที่ยง"],mmmm:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],mmm:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dddd:["วันอาทิตย์","วันจันทร์","วันอังคาร","วันพุธ","วันพฤหัสบดี","วันศุกร์","วันเสาร์"],ddd:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."]},"th"),d({decimal:",",ampm:["dop.","odp."],mmmm:["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince"],mmm:["led","úno","bře","dub","kvě","čvn","čvc","srp","zář","říj","lis","pro"],dddd:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],ddd:["ne","po","út","st","čt","pá","so"]},"cs"),d({group:".",decimal:",",mmmm:["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],mmm:["jan.","feb.","mar.","apr.","maj","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"da"),d({group:".",decimal:",",ampm:["a.m.","p.m."],mmmm:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],mmm:["jan.","feb.","mrt.","apr.","mei","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],ddd:["zo","ma","di","wo","do","vr","za"]},"nl"),d({group:","},"en"),d({decimal:",",nan:"epäluku",ampm:["ap.","ip."],mmmm:["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"],mmm:["tammik.","helmik.","maalisk.","huhtik.","toukok.","kesäk.","heinäk.","elok.","syysk.","lokak.","marrask.","jouluk."],dddd:["sunnuntaina","maanantaina","tiistaina","keskiviikkona","torstaina","perjantaina","lauantaina"],ddd:["su","ma","ti","ke","to","pe","la"]},"fi"),d({group:" ",decimal:",",mmmm:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],mmm:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dddd:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],ddd:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."]},"fr"),d({group:".",decimal:",",mmmm:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],mmm:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."],dddd:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],ddd:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."]},"de"),d({group:".",decimal:",",ampm:["π.μ.","μ.μ."],mmmm:["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"],mmm:["Ιαν","Φεβ","Μαρ","Απρ","Μαΐ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dddd:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],ddd:["Κυρ","Δευ","Τρί","Τετ","Πέμ","Παρ","Σάβ"]},"el"),d({decimal:",",ampm:["de.","du."],mmmm:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],mmm:["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."],dddd:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],ddd:["V","H","K","Sze","Cs","P","Szo"]},"hu"),d({group:".",decimal:",",ampm:["f.h.","e.h."],mmmm:["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember"],mmm:["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des."],dddd:["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],ddd:["sun.","mán.","þri.","mið.","fim.","fös.","lau."]},"is"),d({group:".",decimal:",",mmmm:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],mmm:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des"],dddd:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],ddd:["Min","Sen","Sel","Rab","Kam","Jum","Sab"]},"id"),d({group:".",decimal:",",mmmm:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],mmm:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],dddd:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],ddd:["dom","lun","mar","mer","gio","ven","sab"]},"it"),d({decimal:",",ampm:["a.m.","p.m."],mmmm:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],mmm:["jan.","feb.","mar.","apr.","mai","jun.","jul.","aug.","sep.","okt.","nov.","des."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"nb"),d({decimal:",",mmmm:["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia"],mmm:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],dddd:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],ddd:["niedz.","pon.","wt.","śr.","czw.","pt.","sob."]},"pl"),d({group:".",decimal:",",mmmm:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],mmm:["jan.","fev.","mar.","abr.","mai.","jun.","jul.","ago.","set.","out.","nov.","dez."],dddd:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],ddd:["dom.","seg.","ter.","qua.","qui.","sex.","sáb."]},"pt"),d({decimal:",",nan:"не число",mmmm:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],mmm:["янв.","февр.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],dddd:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],ddd:["вс","пн","вт","ср","чт","пт","сб"]},"ru"),d({decimal:",",mmmm:["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra"],mmm:["jan","feb","mar","apr","máj","jún","júl","aug","sep","okt","nov","dec"],dddd:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],ddd:["ne","po","ut","st","št","pi","so"]},"sk"),d({group:".",decimal:",",ampm:["a. m.","p. m."],mmmm:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],mmm:["ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."],dddd:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],ddd:["dom.","lun.","mar.","mié.","jue.","vie.","sáb."]},"es"),d({decimal:",",ampm:["fm","em"],mmmm:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],mmm:["jan.","feb.","mars","apr.","maj","juni","juli","aug.","sep.","okt.","nov.","dec."],dddd:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],ddd:["sön","mån","tis","ons","tors","fre","lör"]},"sv"),d({group:".",decimal:",",ampm:["ÖÖ","ÖS"],mmmm:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],mmm:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dddd:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],ddd:["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"]},"tr");function _(D,E,A){const x=D<0?-1:1,U=10**(E||2),T=10**(A||2);let F,M,V=Math.abs(D),I=0,W=0,B=0,G=1;if((D=V)%1==0)M=[D*x,1];else if(D<1e-19)M=[x,1e19];else if(D>1e19)M=[1e19*x,1];else{do if(V=1/(V-Math.floor(V)),F=G,G=G*Math.floor(V)+I,I=F,W=B,B=Math.floor(D*G+.5),B>=U||G>=T)return[x*W,I];while(Math.abs(D-B/G)>=1e-10&&V!==Math.floor(V));M=[x*B,G]}return M}const S={overflow:"######",dateErrorThrows:!1,dateErrorNumber:!0,dateSpanLarge:!0,leap1900:!0,nbsp:!0,throws:!0,invalid:"######",locale:"",ignoreTimezone:!1},L=Object.assign({},S);function w(D){if(D===null&&(D=S),D){for(const E in D)if(E in S){const A=D[E];L[E]=A==null?S[E]:A}}return{...L}}const b={"#":"",0:"0","?":" "},N={"@":"text","-":"minus","+":"plus"},z=["#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#800","#080","#008","#880","#808","#088","#CCC","#888","#99F","#936","#FFC","#CFF","#606","#F88","#06C","#CCF","#008","#F0F","#FF0","#0FF","#808","#800","#088","#00F","#0CF","#CFF","#CFC","#FF9","#9CF","#F9C","#C9F","#FC9","#36F","#3CC","#9C0","#FC0"],ee=["¤","$","£","¥","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],pe=new RegExp("["+ee.join("")+"]");function ge(D,E,A){return E[A+"_max"]=D.length,E[A+"_min"]=D.replace(/#/g,"").length,E}const le={};function Ee(D){if(!(D in le)){const E=[],A=D.replace(/^[#,]+/,"").replace(/[1-9]\d*/g,x=>"?".repeat(x.length));for(let x=0;x<A.length;x++){const U=A.charAt(x);E[x]=U in b?b[U]:U}le[D]=E.join("")}return le[D]}function ce(D,E){typeof D=="string"&&(D={type:"string",value:D=D.replace(/ /g,b["?"])}),E.push(D)}function De(D){const E=[],A={scale:1,percent:!1,text:!1,date:0,date_eval:!1,date_system:1,sec_decimals:0,general:!1,clock:24,int_pattern:[],frac_pattern:[],man_pattern:[],den_pattern:[],num_pattern:[],tokens:E};let x=D+"",U="int",T=!1,F=null;const M=[];let V,I,W=!1;for(;x&&!T;){if(V=/^General/i.exec(x))A.general=!0,ce({type:"general"},E);else if(U==="int"&&(V=/^[#?0]+(?:,[#?0]+)*/.exec(x))||U==="den"&&(V=/^[#?\d]+/.exec(x))||(V=/^[#?0]+/.exec(x)))A[U+"_pattern"].push(V[0]),F={type:U,num:V[0]},ce(F,E);else if((V=/^\//.exec(x))&&A[U+"_pattern"].length){if(!F)throw new SyntaxError("Missing a numerator in pattern ".concat(D));A.fractions=!0,A.num_pattern.push(A[U+"_pattern"].pop()),F.type="num",U="den",ce({type:"div"},E)}else if(V=/^,+/.exec(x)){const O=x.charAt(1)in b;I.slice(-1)in b&&(V[0].length>1||!O)?A.scale=.001**V[0].length:A.dec_fractions||ce(V[0],E)}else{if(V=/^;/.exec(x)){T=!0;break}if(V=/^[@+-]/.exec(x))V[0]==="@"&&(A.text=!0),ce({type:N[V[0]]},E);else if(V=/^(?:\[(h+|m+|s+)\])/i.exec(x)){const O=V[1].toLowerCase(),Q=O[0],X={type:"",size:0,date:1,raw:V[0],pad:O.length};Q==="h"?(X.size=16,X.type="hour-elap"):Q==="m"?(X.size=32,X.type="min-elap"):(X.size=64,X.type="sec-elap"),A.date=A.date|X.size,M.push(X),ce(X,E)}else if(V=/^(?:B2)/i.exec(x))W||(A.date_system=6);else if(V=/^(?:B1)/i.exec(x))W||(A.date_system=1);else if(V=/^(?:([hHmMsSyYbBdDegG])\1*)/.exec(x)){const O={type:"",size:0,date:1,raw:V[0]},Q=V[0].toLowerCase(),X=Q[0];if(Q==="y"||Q==="yy")O.size=2,O.type="year-short";else if(X==="y"||X==="e")O.size=2,O.type="year";else if(Q==="b"||Q==="bb")O.size=2,O.type="b-year-short";else if(X==="b")O.size=2,O.type="b-year";else if(Q==="d"||Q==="dd")O.size=8,O.type="day",O.pad=/dd/.test(Q);else if(Q==="ddd")O.size=8,O.type="weekday-short";else if(X==="d")O.size=8,O.type="weekday";else if(X==="h")O.size=16,O.type="hour",O.pad=/hh/i.test(Q);else if(X==="m"){Q.length===3?(O.size=4,O.type="monthname-short"):Q.length===5?(O.size=4,O.type="monthname-single"):Q.length>=4&&(O.size=4,O.type="monthname");const re=M[M.length-1];!O.type&&re&&!re.used&&80&re.size&&(re.used=!0,O.size=32,O.type="min",O.pad=/mm/.test(Q)),O.type||(O.size=4,O.type="month",O.pad=/mm/.test(Q),O.indeterminate=!0)}else if(X==="s"){O.size=64,O.type="sec",O.pad=/ss/.test(Q);const re=M[M.length-1];re&&32&re.size?O.used=!0:re&&re.indeterminate&&(delete re.indeterminate,re.size=32,re.type="min",O.used=!0)}A.date=A.date|O.size,A.date_eval=!0,M.push(O),ce(O,E)}else if(V=/^(?:AM\/PM|am\/pm|A\/P)/.exec(x))A.clock=12,A.date=16|A.date,A.date_eval=!0,ce({type:"am",short:V[0]==="A/P"},E);else if(A.date&&(V=/^\.0{1,3}/i.exec(x))){const O=V[0].length-1,Q=[64,128,256,512][O];A.date=A.date|Q,A.date_eval=!0,A.sec_decimals=Math.max(A.sec_decimals,O),ce({type:"subsec",size:Q,decimals:O,date:1,raw:V[0]},E)}else if((V=/^\\(.)/.exec(x))||(V=/^"([^"]*?)"/.exec(x)))ce(V[1],E);else if(V=/^\[(<[=>]?|>=?|=)\s*(-?[.\d]+)\]/.exec(x))A.condition=[V[1],parseFloat(V[2],10)];else if(V=/^\[\$([^\]]+)\]/.exec(x)){const O=V[1].split("-"),Q=O.length<2?"":O[O.length-1],X=O[0];X&&ce(X,E);const re=l(Q);re&&(A.locale=re);const ie=parseInt(Q,16);isFinite(ie)&&16711680&ie&&(ie>>16&255)===6&&(A.date_system=6),W=!0}else if(V=/^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*(\d+))\]/i.exec(x))A.color=V[2]?z[parseInt(V[2],10)]||"#000":V[1].toLowerCase();else if(!(V=/^\[(DBNum1|ENG|HIJ|JPN|TWN)\]/i.exec(x))){if(V=/^%/.exec(x))A.scale=100,A.percent=!0,ce("%",E);else if(V=/^_(\\.|.)/.exec(x))ce(" ",E);else if(V=/^\./.exec(x))ce({type:"point",value:V[0]},E),A.dec_fractions=!0,U="frac";else if(V=/^[Ee]([+-]?|(?=[0#?]))/.exec(x))A.exponential=!0,A.exp_plus=V[1]==="+",U="man",ce({type:"exp",plus:V[1]==="+"},E);else if(!(V=/^\*(\\.|.)/.exec(x))){if(V=/^[BENn[]/.exec(x))throw new SyntaxError("Unexpected char ".concat(x.charAt(0)," in pattern ").concat(D));x[0]==="("&&(A.parens=!0),V=[x[0]],ce(V[0],E)}}}I=V[0],x=x.slice(V?V[0].length:1)}if(A.pattern=D.slice(0,D.length-x.length),/^((?:\[[^\]]+\])+)(;|$)/.test(A.pattern)&&!/^\[(?:h+|m+|s+)\]/.test(A.pattern)&&ce({type:"text"},E),A.fractions&&A.dec_fractions||A.fractions&&A.exponential)throw new SyntaxError("Invalid pattern: ".concat(A.pattern));const B=A.int_pattern.join("");if(A.grouping=B.indexOf(",")>=0,A.grouping){const O=B.split(","),Q=O.length;Q===2?(A.group_pri=O[1].length,A.group_sec=A.group_pri):Q>2&&(A.group_pri=O[Q-1].length,A.group_sec=O[Q-2].length)}else A.group_pri=0,A.group_sec=0;ge(B.replace(/[,]/g,""),A,"int"),ge(A.frac_pattern.join(""),A,"frac"),ge(A.man_pattern.join(""),A,"man");let G=A.num_pattern.join(""),J=A.den_pattern.join("");const q=/\?/.test(J)||/\?/.test(G);return J=J.replace(/\d/g,q?"?":"#"),q&&(J=J.replace(/#$/g,"?")),ge(G,A,"num"),ge(J,A,"den"),q&&(G=G.replace(/#$/g,"?")),A.int_padding=Ee(A.int_pattern.join("")),A.man_padding=Ee(A.man_pattern.join("")),A.num_padding=Ee(G),A.den_padding=Ee(J),A.den_pattern.length&&(A.denominator=parseInt(A.den_pattern.join("").replace(/\D/g,""),10)),A.integer=!!A.int_pattern.join("").length,A.fractions&&E.forEach((O,Q)=>{const X=E[Q+1];O.type==="string"&&X&&(X.type==="num"?O.rule="num+int":X.type==="div"?O.rule="num":X.type==="den"&&(O.rule="den"))}),A}const Ue=D=>{const E=D.condition;E&&E[1]<0&&(E[0]==="<"||E[0]==="<="||E[0]==="=")||D.tokens.unshift({type:"minus",volatile:!0})};function ht(D){const E=[];let A,x=!1,U=null,T=D,F=0,M=!1,V=0,I=0;do{if(M=De(T),(M.date||M.general)&&(M.int_pattern.length||M.frac_pattern.length||M.scale!==1||M.text))throw new Error("Illegal format");if(M.condition&&(I++,x=!0),M.text){if(U)throw new Error("Unexpected partition");U=M}M.locale&&(A=l(M.locale)),E.push(M),F=T.charAt(M.pattern.length)===";"?1:0,T=T.slice(M.pattern.length+F),V++}while(F&&V<4&&I<3);if(F)throw new Error("Unexpected partition");if(I>2)throw new Error("Unexpected condition");const W=E[3];if(W&&(W.int_pattern.length||W.frac_pattern.length||W.date))throw new Error("Unexpected partition");if(x){const B=E.length;if(B===1&&(E[1]=De("General"),E[1].generated=!0),B<3){const G=E[0],J=E[1];if(Ue(G),J.condition)Ue(J);else{const q=G.condition;(q[0]==="="||q[1]>=0&&(q[0]===">"||q[0]===">="))&&J.tokens.unshift({type:"minus",volatile:!0})}}else E.forEach(Ue)}else{if(E.length<4&&U)for(let B=0,G=E.length;B<G;B++)E[B]===U&&E.splice(B,1);if(E.length<1&&U&&(E[0]=De("General"),E[0].generated=!0),E.length<2){const B=De(E[0].pattern);B.tokens.unshift({type:"minus",volatile:!0}),B.generated=!0,E.push(B)}if(E.length<3){const B=De(E[0].pattern);B.generated=!0,E.push(B)}if(E.length<4)if(U)E.push(U);else{const B=De("@");B.generated=!0,E.push(B)}E[0].condition=[">",0],E[1].condition=["<",0],E[2].condition=null}return{pattern:D,partitions:E,locale:A}}const Ae=Math.floor;function Tt(D){if((!(arguments.length>1&&arguments[1]!==void 0)||arguments[1])&&D>=0){if(D===0)return[1900,1,0];if(D===60)return[1900,2,29];if(D<60)return[1900,D<32?1:2,(D-1)%31+1]}let A=D+68569+2415019;const x=Ae(4*A/146097);A-=Ae((146097*x+3)/4);const U=Ae(4e3*(A+1)/1461001);A=A-Ae(1461*U/4)+31;const T=Ae(80*A/2447),F=A-Ae(2447*T/80);A=Ae(T/11);const M=T+2-12*A;return[0|100*(x-49)+U+A,0|M,0|F]}function nr(D){return Tt(D+1462)}function sr(D){if(D===60)throw new Error("#VALUE!");if(D<=1)return[1317,8,29];if(D<60)return[1317,D<32?9:10,1+(D-2)%30];const E=10631/30,A=.1335;let x=D+466935;const U=Ae(x/10631);x-=10631*U;const T=Ae((x-A)/E);x-=Ae(T*E+A);const F=Ae((x+28.5001)/29.5);return F===13?[30*U+T,12,30]:[30*U+T,F,x-Ae(29.5001*F-29)]}function ar(D){let E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,A=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];const x=Ae(D);return E===6?sr(x):E===-1?nr(x):Tt(x,A)}const ir=Math.floor,nn=86400;function or(D,E){let A=null;if(Array.isArray(D)){const[x,U,T,F,M,V]=D;A=Date.UTC(x,U==null?0:U-1,T!=null?T:1,F||0,M||0,V||0)}else if(D instanceof Date&&(A=1*D,!E||!E.ignoreTimezone)){const x=new Date;x.setUTCFullYear(D.getFullYear(),D.getMonth(),D.getDate()),x.setUTCHours(D.getHours(),D.getMinutes(),D.getSeconds(),D.getMilliseconds()),A=1*x}if(A!=null&&isFinite(A)){const x=A/864e5;return x-(x<=-25509?-25568:-25569)}return D}function Tn(D,E){let A=0|D;const x=nn*(D-A);let U=ir(x);x-U>.9999&&(U+=1,U===nn&&(U=0,A+=1));const T=U<0?nn+U:U,[F,M,V]=ar(D,0,E&&E.leap1900),I=ir(T/60/60)%60,W=ir(T/60)%60,B=ir(T)%60;if(E&&E.nativeDate){const G=new Date(0);return G.setUTCFullYear(F,M-1,V),G.setUTCHours(I,W,B),G}return[F,M,V,I,W,B]}function Ya(D){return!!(D[0]&&D[0].percent||D[1]&&D[1].percent||D[2]&&D[2].percent||D[3]&&D[3].percent)}function Ha(D){return!!(D[0]&&D[0].date||D[1]&&D[1].date||D[2]&&D[2].date||D[3]&&D[3].date)}function Qa(D){const[E,A,x,U]=D;return!(E&&!E.generated||A&&!A.generated||x&&!x.generated||!U||!U.text||U.generated)}const za={text:15,datetime:10.8,date:10.8,time:10.8,percent:10.6,currency:10.4,grouped:10.2,scientific:6,number:4,fraction:2,general:0,error:0},Wa=[["DMY",1],["DM",2],["MY",3],["MDY",4],["MD",5],["hmsa",6],["hma",7],["hms",8],["hm",9]],Ga={total:1,sign:0,period:0,int:1,frac:0},kt=(D,E)=>D.replace(/\./,E.decimal);function kn(D,E,A,x){const U=0|A;if(typeof A=="string")D.push(A);else if(A===U)D.push(Math.abs(U));else{const T=Math.abs(A);let F=T?Math.floor(Math.log10(T)):0,M=F<0?T*10**-F:T/10**F;M===10&&(M=1,F++);const V=function(W){let B=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];const G=Math.abs(W);if(!G)return Ga;const J=B&&W<0?1:0,q=Math.floor(G),O=Math.floor(Math.log10(G)+1);let Q=0,X=0;if(q!==G){Q=1;const re=String(R(O<0?G*10**-O:G/10**O,15));let ie=re.length,ae=!0,Se=0;for(;Se<=re.length;){if(re[Se]==="."){ie--;break}re[Se]==="0"&&ae?ie--:ae=!1,Se++}X=ie-O,X<0&&(X=0,Q=0)}return{total:J+Math.max(O,1)+Q+X,digits:Math.max(O,0)+X,sign:J,period:Q,int:Math.max(O,1),frac:X}}(T),I=()=>{const W=Math.abs(F);let B;B=M===1?M:R(M,5),D.push(kt(B+"",x),x.exponent,F<0?x.negative:x.positive,W<10?"0":"",W)};if(F>=-4&&F<=-1){const W=T.toPrecision(10+F).replace(/\.?0+$/,"");D.push(kt(W,x))}else if(F===10){const W=T.toFixed(10).slice(0,12).replace(/\.$/,"");D.push(kt(W,x))}else if(Math.abs(F)<=9)if(V.total<=11){const W=R(T,9).toFixed(V.frac);D.push(kt(W,x))}else F===9?D.push(Math.floor(T)):F>=0&&F<9?D.push(R(T,9-F)):I();else V.total>=12?I():Math.floor(T)===T?D.push(Math.floor(T)):D.push(kt(R(T,9).toFixed(V.frac),x))}return D}const It=86400,In={int:"integer",frac:"fraction",man:"mantissa",num:"numerator",den:"denominator"},$n=function(D){let E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;const A=Math.floor(Math.log10(D));return E>1?Math.floor(A/E)*E:A};function Nn(D,E,A,x){let U="",T="",F="",M="",V="",I=0,W=0|D,B=0,G=0,J=1,q=0,O=0,Q=0,X=0,re=0,ie=0;const ae=x||p;if(!E.text&&isFinite(E.scale)&&E.scale!==1&&(D=function(ne){if(ne===0)return ne;const ue=Math.ceil(Math.log10(ne<0?-ne:ne)),k=10**(16-Math.floor(ue));return Math.round(ne*k)/k}(D*E.scale)),E.exponential){let ne=Math.abs(D);if(ne){const ue=10**-$n(ne,E.int_max),k=R(ne*ue,E.frac_max)/ue;I=$n(k,E.int_max)}ne/=10**I,D=D<0?-ne:ne,U+=Math.abs(I)}if(E.integer){const ne=Math.abs(R(D,E.fractions?1:E.frac_max));V+=ne<1?"":Math.floor(ne)}if(E.grouping){let ne="",ue=V.length;for(ue>E.group_pri&&(ue-=E.group_pri,ne=ae.group+V.slice(ue,ue+E.group_pri)+ne);ue>E.group_sec;)ue-=E.group_sec,ne=ae.group+V.slice(ue,ue+E.group_sec)+ne;V=ue?V.slice(0,ue)+ne:ne}E.dec_fractions&&(M=String(R(D,E.frac_max)).split(".")[1]||"");let Se=!1;if(E.fractions){const ne=Math.abs(E.integer?D%1:D);if(ne)if(Se=!0,isFinite(E.denominator))F+=E.denominator,T+=R(ne*E.denominator),T==="0"&&(T="",F="",Se=!1,V||(V="0"));else{const ue=_(ne,E.integer?E.num_max:1/0,E.den_max);T+=ue[0],F+=ue[1],E.integer&&T==="0"&&(V||(V="0"),T="",F="",Se=!1)}}if(E.date){W=Math.trunc(D);const ne=It*(D-W);if(B=Math.floor(ne),ie=ne-B,Math.abs(ie)<1e-6?ie=0:ie>.9999&&(ie=0,B+=1,B===It&&(B=0,W+=1)),ie){const ue=512&E.date||256&E.date||128&E.date;(ue===512&&ie>.9995||ue===256&&ie>.995||ue===128&&ie>.95||!ue&&ie>=.5)&&(B++,ie=0)}if(W||E.date_system){const ue=ar(D,E.date_system,A.leap1900);G=ue[0],J=ue[1],q=ue[2]}if(B){const ue=B<0?It+B:B;re=Math.floor(ue)%60,X=Math.floor(ue/60)%60,Q=Math.floor(ue/60/60)%60}if(O=(6+W)%7,E.date_eval&&(Ke=D,mt=W+B/It,A.dateSpanLarge?Ke<-694324||mt>=35830291:Ke<0||mt>=2958466)){if(A.dateErrorThrows)throw new Error("Date out of bounds");return A.dateErrorNumber?kn(D<0?[ae.negative]:[],0,D,ae).join(""):A.overflow}}var Ke,mt;if(E.int_padding&&(V=E.int_padding.length===1?V||E.int_padding:E.int_padding.substring(0,E.int_padding.length-V.length)+V),E.num_padding&&(T=E.num_padding.length===1?T||E.num_padding:E.num_padding.substring(0,E.num_padding.length-T.length)+T),E.den_padding&&(F=E.den_padding.length===1?F||E.den_padding:F+E.den_padding.slice(F.length)),E.man_padding){const ne=E.exp_plus?"+":"";U=E.man_padding.length===1?(I<0?"-":ne)+(U||E.man_padding):(I<0?"-":ne)+E.man_padding.slice(0,E.man_padding.length-U.length)+U}const H=[];let Oe=0;const st={int:0,frac:0,man:0,num:0,den:0};for(let ne=0,ue=E.tokens.length;ne<ue;ne++){const k=E.tokens[ne],ur=k.num?k.num.length:0;if(k.type==="string")k.rule?k.rule==="num"?Se?H.push(k.value):(E.num_min>0||E.den_min>0)&&H.push(k.value.replace(/./g,b["?"])):k.rule==="num+int"?Se&&V?H.push(k.value):E.den_min>0&&(V||E.num_min)&&H.push(k.value.replace(/./g,b["?"])):k.rule==="den"&&(Se?H.push(k.value):(E.den_min>0||E.den_min>0)&&H.push(k.value.replace(/./g,b["?"]))):H.push(k.value);else if(k.type==="error")H.push(A.invalid);else if(k.type==="point")H.push(E.date?k.value:ae.decimal);else if(k.type==="general")kn(H,0,D,ae);else if(k.type==="exp")H.push(ae.exponent);else if(k.type==="minus")k.volatile&&E.date||k.volatile&&(D>=0||typeof D!="number")||(k.volatile&&!E.fractions&&(E.integer||E.dec_fractions)?(D<0&&V&&V!=="0"||M)&&H.push(ae.negative):H.push(ae.negative));else if(k.type==="plus")H.push(ae.positive);else if(k.type==="text")H.push(D);else if(k.type==="div")Se?H.push("/"):E.num_min>0||E.den_min>0?H.push(b["?"]):H.push(b["#"]);else if(k.type==="int")if(E.int_pattern.length===1)H.push(V);else{const _e=Oe?E.int_pattern.join("").length-st.int:1/0,Vt=Oe===E.int_pattern.length-1?0:E.int_pattern.join("").length-(st.int+k.num.length);H.push(V.substring(V.length-_e,V.length-Vt)),Oe++,st.int+=k.num.length}else if(k.type==="frac"){const _e=st.frac;for(let Vt=0;Vt<ur;Vt++)H.push(M[Vt+_e]||b[k.num[Vt]]);st.frac+=ur}else if(k.type in In)E[k.type+"_pattern"].length===1?(k.type==="int"&&H.push(V),k.type==="frac"&&H.push(M),k.type==="man"&&H.push(U),k.type==="num"&&H.push(T),k.type==="den"&&H.push(F)):(H.push(In[k.type].slice(st[k.type],st[k.type]+ur)),st[k.type]+=ur);else if(k.type==="year")G<0&&H.push(ae.negative),H.push(String(Math.abs(G)).padStart(4,"0"));else if(k.type==="year-short"){const _e=G%100;H.push(_e<10?"0":"",_e)}else if(k.type==="month")H.push(k.pad&&J<10?"0":"",J);else if(k.type==="monthname-single")E.date_system===6?H.push(ae.mmmm6[J-1].charAt(0)):H.push(ae.mmmm[J-1].charAt(0));else if(k.type==="monthname-short")E.date_system===6?H.push(ae.mmm6[J-1]):H.push(ae.mmm[J-1]);else if(k.type==="monthname")E.date_system===6?H.push(ae.mmmm6[J-1]):H.push(ae.mmmm[J-1]);else if(k.type==="weekday-short")H.push(ae.ddd[O]);else if(k.type==="weekday")H.push(ae.dddd[O]);else if(k.type==="day")H.push(k.pad&&q<10?"0":"",q);else if(k.type==="hour"){const _e=Q%E.clock||(E.clock<24?E.clock:0);H.push(k.pad&&_e<10?"0":"",_e)}else if(k.type==="min")H.push(k.pad&&X<10?"0":"",X);else if(k.type==="sec")H.push(k.pad&&re<10?"0":"",re);else if(k.type==="subsec"){H.push(ae.decimal);const _e=ie.toFixed(E.sec_decimals);H.push(_e.slice(2,2+k.decimals))}else if(k.type==="am"){const _e=Q<12?0:1;k.short&&!x?H.push("AP"[_e]):H.push(ae.ampm[_e])}else if(k.type==="hour-elap"){D<0&&H.push(ae.negative);const _e=24*W+Math.floor(Math.abs(B)/3600);H.push(String(Math.abs(_e)).padStart(k.pad,"0"))}else if(k.type==="min-elap"){D<0&&H.push(ae.negative);const _e=1440*W+Math.floor(Math.abs(B)/60);H.push(String(Math.abs(_e)).padStart(k.pad,"0"))}else if(k.type==="sec-elap"){D<0&&H.push(ae.negative);const _e=W*It+Math.abs(B);H.push(String(Math.abs(_e)).padStart(k.pad,"0"))}else if(k.type==="b-year")H.push(G+543);else if(k.type==="b-year-short"){const _e=(G+543)%100;H.push(_e<10?"0":"",_e)}}return A.nbsp?H.join(""):H.join("").replace(/\u00a0/g," ")}function jn(D,E){for(let A=0;A<3;A++){const x=E[A];if(x){let U;if(x.condition){const T=x.condition[0],F=x.condition[1];T==="="?U=D===F:T===">"?U=D>F:T==="<"?U=D<F:T===">="?U=D>=F:T==="<="?U=D<=F:T==="<>"&&(U=D!==F)}else U=!0;if(U)return x}}}const Yn=De("@"),Hn="black",Te={};function ke(D,E){if(D){const A=D[0];E[A]=E[A]||{},ke(D.slice(1),E[A])}else E.$=!0}["d-F-y","d-F-Y","d-M-y","d-M-Y","F-d-y","F-d-Y","F-j-y","F-j-Y","j-F-y","j-F-Y","j-M-y","j-M-Y","M-d-y","M-d-Y","M-j-y","M-j-Y","m-d-y","m-d-Y","m-j-y","m-j-Y","n-d-y","n-d-Y","n-j-y","n-j-Y","y-F-d","y-F-j","y-M-d","y-M-j","Y-F-d","Y-F-j","Y-M-d","Y-m-d","Y-M-j","Y-m-j","Y-n-d","Y-n-j","j-F","j-M","d-F","d-M","n-d","n-j","n-Y","m-d","m-j","m-Y","M-Y","M-y","F-y","F-Y","Y-M","Y-n","Y-m","Y-F","Y-M"].forEach(D=>{ke(D,Te),ke(D+" x",Te),ke(D+" l",Te),ke(D+" l x",Te),ke("l "+D,Te),ke("l "+D+" x",Te),ke(D+" D",Te),ke(D+" D x",Te),ke("D "+D,Te),ke("D "+D+" x",Te)});const Ka={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},qa={january:1,february:2,march:3,april:4,june:6,july:7,august:8,september:9,october:10,november:11,december:12},Xa={sunday:"l",monday:"l",tuesday:"l",wednesday:"l",thursday:"l",friday:"l",saturday:"l",sun:"D",mon:"D",tue:"D",wed:"D",thu:"D",fri:"D",sat:"D"},Za=new Date().getUTCFullYear();function Qn(D){const E=new RegExp("^([\\s+%"+ee.join("")+"(-]*)(((?:(?:\\d[\\d,]*)(?:\\.\\d*)?|(?:\\.\\d+)))([eE][+-]?\\d+)?)([\\s%"+ee.join("")+")]*)$").exec(D);if(E){const[,A,x,U,T,F]=E;let M=1,V="",I=!1,W=!1,B=!1,G=!1,J=!1,q=null,O=!1,Q=parseFloat(x.replace(/,/g,""));if(!isFinite(Q))return null;for(let re=0;re<A.length;re++){const ie=A[re];if(ie==="-"){if(I||W)return null;I=!0,M=-1}else if(pe.test(ie)){if(J)return null;J=!0,q=ie}else if(ie==="("){if(W||I)return null;W=!0,M=-1}else if(ie==="%"){if(G)return null;G=!0}}for(let re=0;re<F.length;re++){const ie=F[re];if(pe.test(ie)){if(J)return null;J=!0,q=ie,O=!0}else if(ie===")"){if(B||!W)return null;B=!0}else if(ie==="%"){if(G)return null;G=!0}}if(T){if(G||J)return null;V="0.00E+00"}else if(G){if(J)return null;V=U.includes(".")?"0.00%":"0%",Q*=.01}else if(J){const re=U.includes(".")?"#,##0.00":"#,##0";V=O?re+q:q+re}else U.includes(",")&&(V=U.includes(".")?"#,##0.00":"#,##0");const X={v:Q*M};return V&&(X.z=V),X}}const je=(D,E,A)=>{const x=A.path||"",U=Object.keys(E);for(let T=0;T<U.length;T++){let F;const M=U[T];if(E[M]){if(M==="$"||M==="€")D||(F=A);else if(M==="-"){const V=/^(\s*([./-]|,\s)\s*|\s+)/.exec(D);if(V){const I=V[1]==="-"||V[1]==="/"||V[1]==="."?V[1]:" ";if(!A.sep||A.sep===I){const W=V[0].replace(/\s+/g," ");F=je(D.slice(V[0].length),E[M],{...A,sep:I,path:x+W})}}}else if(M===" "){const V=/^[,.]?\s+/.exec(D);if(V){const I=V[0].replace(/\s+/g," ");F=je(D.slice(V[0].length),E[M],{...A,path:x+I})}}else if(M==="j"||M==="d"){const V=/^(0?[1-9]|1\d|2\d|3[01])\b/.exec(D);V&&(F=je(D.slice(V[0].length),E[M],{...A,day:V[0],path:x+M}))}else if(M==="n"||M==="m"){const V=/^(0?[1-9]|1[012])\b/.exec(D);V&&(F=je(D.slice(V[0].length),E[M],{...A,month:+V[0],_mon:V[0],path:x+M}))}else if(M==="F"||M==="M"){const V=/^([a-z]{3,9})\b/i.exec(D),I=V&&(M==="F"?qa:Ka)[V[0].toLowerCase()];I&&(F=je(D.slice(V[0].length),E[M],{...A,month:I,_mon:V[0],path:x+M}))}else if(M==="l"||M==="D"){const V=/^([a-z]{3,9})\b/i.exec(D);(V&&Xa[V[0].toLowerCase()])===M&&(F=je(D.slice(V[0].length),E[M],{...A,path:x+M}))}else if(M==="y"){const V=/^\d\d\b/.exec(D);if(V){const I=+V[0]>=30?+V[0]+1900:+V[0]+2e3;F=je(D.slice(V[0].length),E[M],{...A,year:I,path:x+M})}}else if(M==="Y"){const V=/^\d\d\d\d\b/.exec(D);V&&(F=je(D.slice(V[0].length),E[M],{...A,year:+V[0],path:x+M}))}else{if(M!=="x")throw new Error('Unknown date token "'.concat(M,'"'));{const V=sn(D);V&&(F=je("",E[M],{...A,time:V.v,tf:V.z,path:x+M}))}}if(F)return F}}};function zn(D,E){const A=je(D.trim(),Te,{path:""});if(A){var x;if(A.sep==="."&&A.path.length===3)return null;const U=+((x=A.year)!==null&&x!==void 0?x:Za);if(A.day||(A.day=1),!function(M,V,I){if(I<1||V<1||V>12)return!1;if(V===2){if(I>(M%4==0&&M%100!=0||M%400==0||M===1900?29:28))return!1}else if((V===4||V===6||V===9||V===11)&&I>30||(V===1||V===3||V===5||V===7||V===8||V===10||V===12)&&I>31)return!1;return!0}(U,A.month,A.day))return null;let T=-1/0;if(U<1900)return null;U<=1900&&A.month<=2?T=25568:U<1e4&&(T=25569);const F=Date.UTC(U,A.month-1,A.day)/864e5+T+(A.time||0);if(F>=0&&F<=2958465){const M=A._mon[0]==="0"||A.day[0]==="0"||A._mon.length===2&&A.day.length===2,V=A.path.replace(/[jdlDnmMFyYx-]/g,I=>I==="j"||I==="d"?M?"dd":"d":I==="D"?"ddd":I==="l"?"dddd":I==="n"||I==="m"?M?"mm":"m":I==="M"?"mmm":I==="F"?"mmmm":I==="y"?"yy":I==="x"?A.tf||"":I==="Y"?"yyyy":I);return E&&E.nativeDate?{v:Tn(F,E),z:V}:{v:F,z:V}}}return null}function sn(D){const E=/^\s*([10]?\d|2[0-4])(?::([0-5]\d|\d))?(?::([0-5]\d|\d))?(\.\d{1,10})?(?:\s*([AP])M?)?\s*$/i.exec(D);if(E){const[,A,x,U,T,F]=E;if(T&&!U||!F&&!x&&!U)return null;let M=1*(A||0);if(F){if(M>=13)return null;F[0]!=="p"&&F[0]!=="P"||(M+=12)}return{v:(60*M*60+60*(1*(x||0))+1*(U||0)+1*(T||0))/86400,z:(A.length===2?"hh":"h")+":mm"+(U?":ss":"")+(F?" AM/PM":"")}}return null}function Wn(D){return/^\s*true\s*$/i.test(D)?{v:!0}:/^\s*false\s*$/i.test(D)?{v:!1}:null}const $t={};function Ja(D,E){const{pattern:A,partitions:x,locale:U}=D,T=V=>{const I=Object.assign({},w(),E,V);return U&&(I.locale=U),I},F=(V,I)=>{const W=T(I);return function(B,G,J){const q=c(J.locale),O=G[3]?G[3]:Yn;if(typeof B=="boolean"&&(B=B?"TRUE":"FALSE"),B==null)return"";if(typeof B!="number")return Nn(B,O,J,q);if(!isFinite(B)){const X=q||p;return isNaN(B)?X.nan:(B<0?X.negative:"")+X.infinity}const Q=jn(B,G);return Q?Nn(B,Q,J,q):J.overflow}(or(V,W),x,W)};F.color=(V,I)=>function(W,B){if(typeof W!="number"||!isFinite(W))return(B[3]?B[3].color:Yn.color)||Hn;const G=jn(W,B);return G&&G.color||Hn}(or(V,T(I)),x);const M=function(V){var I;let W=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;const[B,G]=V,J=B.frac_max,q={type:"general",isDate:Ha(V),isText:Qa(V),isPercent:Ya(V),maxDecimals:B.general?9:J,scale:(I=B.scale)!==null&&I!==void 0?I:1,color:0,parentheses:0,grouped:B.grouping?1:0,_partitions:V},O=!q.isDate&&!q.isText&&!B.error&&B.tokens.some(ae=>ae.type==="string"&&(W?ae.value===W:pe.test(ae.value)));let Q="G",X=J>=0?Math.min(15,J):"",re="",ie="";if(G&&G.color&&(ie="-",q.color=1),B.parens&&(re="()",q.parentheses=1),O)Q="C",q.type="currency";else if(B.error)q.type="error",q.maxDecimals=0;else if(q.isDate){let ae=0,Se=0,Ke="";B.tokens.forEach(H=>{const Oe=H.type;/^(b-)?year/.test(Oe)?(Ke+="Y",Se++):Oe.startsWith("month")?(Ke+="M",Se++):/^(week)?day/.test(Oe)?(Ke+="D",Se++):Oe!=="hour"&&Oe!=="min"&&Oe!=="sec"&&Oe!=="am"||(Ke+=Oe[0],ae++)}),q.type="date",Se&&ae?q.type="datetime":!Se&&ae&&(q.type="time");const mt=Wa.find(H=>Ke.startsWith(H[0]));Q=mt?"D":"G",X=mt?mt[1]:""}else q.isText?(Q="G",q.type="text",X="",q.maxDecimals=0):B.general?(Q="G",q.type="general",X=""):B.fractions?(Q="G",q.type="fraction",X=""):B.exponential?(Q="S",q.type="scientific"):q.isPercent?(Q="P",q.type="percent"):B.grouping?(Q=",",q.type="grouped"):(B.int_max||J)&&(Q="F",q.type="number");return q.code=Q+X+ie+re,q.level=za[q.type],Object.freeze(q)}(x,(E||{}).currency)||new SyntaxError;return F.info=M,F.dateInfo=function(V){const[I]=V;return{year:!!(2&I.date),month:!!(4&I.date),day:!!(8&I.date),hours:!!(16&I.date),minutes:!!(32&I.date),seconds:!!(64&I.date),clockType:I.clock===12?12:24}}(x),F.isPercent=()=>!!M.isPercent,F.isDate=()=>!!M.isDate,F.isText=()=>!!M.isText,F.pattern=A,D.error&&(F.error=D.error),F.options=T,F.locale=U||E&&E.locale||"",Object.freeze(F)}function he(D,E){D||(D="General");let A=null;return $t[D]?A=$t[D]:(A=Object.assign({},w(),E).throws?ht(D):function(x){try{return ht(x)}catch(U){const T={tokens:[{type:"error"}],error:U.message};return{pattern:x,partitions:[T,T,T,T],error:U.message,locale:null}}}(D),A.error||($t[D]=A)),Ja(A,E)}he.isDate=D=>he(D,{throws:!1}).isDate(),he.isPercent=D=>he(D,{throws:!1}).isPercent(),he.isText=D=>he(D,{throws:!1}).isText(),he.getInfo=(D,E)=>he(D,{...E,throws:!1}).info,he.getDateInfo=(D,E)=>he(D,{...E,throws:!1}).dateInfo,he.dateToSerial=or,he.dateFromSerial=Tn,he.options=w,he.dec2frac=_,he.round=R,he.codeToLocale=r,he.parseLocale=u,he.getLocale=c,he.addLocale=(D,E)=>{const A=u(E);return delete $t[A.lang],delete $t[A.language],d(D,A)},he.format=function(D,E,A){let x=arguments.length>3&&arguments[3]!==void 0&&arguments[3];const U=A&&typeof A=="object"?A:{locale:A,throws:!x};return he(D,U)(or(E,U),U)},he.is_date=he.isDate,he.parseNumber=Qn,he.parseDate=zn,he.parseTime=sn,he.parseBool=Wn,he.parseValue=function(D,E){var A,x,U;return(A=(x=(U=Qn(D))!==null&&U!==void 0?U:zn(D,E))!==null&&x!==void 0?x:sn(D))!==null&&A!==void 0?A:Wn(D)};var ei=he;return t=t.default}()})})(Hs);var Oi=Hs.exports,Ti=Oi;const Bt=Bi(Ti),ki=["$","£","¥","¤","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],Ii={currency:2,date:4,datetime:5,error:11,fraction:7,general:0,grouped:11,number:1,percent:6,scientific:8,text:9,time:5,unknown:11};function $i(n,a,e){var u,l;if(n==null||a==null)return a;const t=(e==null?void 0:e.getStyleByCell(n))||n.s,r=(e==null?void 0:e.getStyleByCell(a))||a.s;if(t==null||r==null||typeof t!="object"||typeof r!="object")return a;const s=(u=t==null?void 0:t.n)==null?void 0:u.pattern,i=(l=r==null?void 0:r.n)==null?void 0:l.pattern;if(s==null||i==null)return a;const o=s||i;return r.n.pattern=o,a}function ss(n){if(Ni(n))return 3;const a=Bt.getInfo(n).type||"unknown";return Ii[a]}function Ni(n){return!!ki.find(a=>n.includes(a))&&n.startsWith("_(")}function lr(n,a,e){if(n==="")return a;if(a==="")return n;const t=ss(n),r=ss(a);return e===oe.PLUS||e===oe.MINUS?t===4&&r===4||t===11&&r===11?"":a:e===oe.MULTIPLY||e===oe.DIVIDED?t===6&&r===6||t===7&&r===7||t===8&&r===8||t===9&&r===9?a:"":n||a}const Nr=class Nr extends tt{static create(){return this._instance=this._instance||new Nr(0),this._instance}isNull(){return!0}plus(a){return C.create(0).plus(a)}minus(a){return C.create(0).minus(a)}multiply(a){return C.create(0).multiply(a)}divided(a){return C.create(0).divided(a)}mod(a){return C.create(0).mod(a)}compare(a,e){return a.isString()?fe.create("").compare(a,e):a.isBoolean()?j.create(!1).compare(a,e):C.create(0).compare(a,e)}concatenateFront(a){return a.isArray()?a.concatenateBack(fe.create("")):fe.create(this.concatenate(a.getValue(),$e.FRONT))}concatenateBack(a){return a.isArray()?a.concatenateFront(fe.create("")):fe.create(this.concatenate(a.getValue(),$e.BACK))}plusBy(a){return C.create(0).plusBy(a)}minusBy(a){return C.create(0).minusBy(a)}multiplyBy(a){return C.create(0).multiplyBy(a)}dividedBy(a){return C.create(0).dividedBy(a)}compareBy(a,e){return typeof a=="string"?fe.create("").compareBy(a,e):typeof a=="boolean"?j.create(!1).compareBy(a,e):C.create(0).compareBy(a,e)}pow(a){return C.create(0).pow(a)}sqrt(){return C.create(0).sqrt()}cbrt(){return C.create(0).cbrt()}cos(){return C.create(0).cos()}cosh(){return C.create(0).cosh()}acos(){return C.create(0).acos()}acosh(){return C.create(0).acosh()}sin(){return C.create(0).sin()}sinh(){return C.create(0).sinh()}asin(){return C.create(0).asin()}asinh(){return C.create(0).asinh()}tan(){return C.create(0).tan()}tanh(){return C.create(0).tanh()}atan(){return C.create(0).atan()}atan2(a){return C.create(0).atan2(a)}atanh(){return C.create(0).atanh()}log(){return h.create(f.NUM)}log10(){return h.create(f.NUM)}exp(){return C.create(0).exp()}abs(){return C.create(0).abs()}round(a){return C.create(0).round(a)}floor(a){return C.create(0).floor(a)}ceil(a){return C.create(0).ceil(a)}convertToNumberObjectValue(){return C.create(0)}convertToBooleanObjectValue(){return j.create(!1)}};g(Nr,"_instance");let se=Nr;const Ct=class Ct extends tt{constructor(e){super(e);g(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new Ct(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new Ct(!1),this._instanceFalse)}getValue(){return this._value}isBoolean(){return!0}getNegative(){const e=this.getValue();let t=0;return e&&(t=1),C.create(-t)}getReciprocal(){return this.getValue()?C.create(1):h.create(f.DIV_BY_ZERO)}plus(e){return this._convertToNumber().plus(e)}minus(e){return this._convertToNumber().minus(e)}multiply(e){return this._convertToNumber().multiply(e)}divided(e){return this._convertToNumber().divided(e)}mod(e){return this._convertToNumber().mod(e)}compare(e,t){return e.isArray()?e.compare(this,Dn(t)):e.isNull()?this._convertToNumber().compare(e,t):this.compareBy(e.getValue(),t)}compareBy(e,t){let r=!1;if(typeof e=="string"||typeof e=="number")r=this._compareString(t);else if(typeof e=="boolean"){const s=C.create(e?1:0);return this._convertToNumber().compare(s,t)}return Ct.create(r)}_compareString(e){switch(e){case v.GREATER_THAN:case v.GREATER_THAN_OR_EQUAL:return!0;case v.EQUALS:case v.LESS_THAN:case v.LESS_THAN_OR_EQUAL:case v.NOT_EQUAL:return!1}}concatenateFront(e){return this._convertToNumber().concatenateFront(e)}concatenateBack(e){return this._convertToNumber().concatenateBack(e)}_convertToNumber(){const e=this.getValue();let t=0;return e&&(t=1),C.create(t)}pow(e){return this._convertToNumber().pow(e)}sqrt(){return this._convertToNumber().sqrt()}cbrt(){return this._convertToNumber().cbrt()}cos(){return this._convertToNumber().cos()}cosh(){return this._convertToNumber().cosh()}acos(){return this._convertToNumber().acos()}acosh(){return this._convertToNumber().acosh()}sin(){return this._convertToNumber().sin()}sinh(){return this._convertToNumber().sinh()}asin(){return this._convertToNumber().asin()}asinh(){return this._convertToNumber().asinh()}tan(){return this._convertToNumber().tan()}tanh(){return this._convertToNumber().tanh()}atan(){return this._convertToNumber().atan()}atan2(e){return this._convertToNumber().atan2(e)}atanh(){return this._convertToNumber().atanh()}log(){return this._convertToNumber().log()}log10(){return this._convertToNumber().log10()}exp(){return this._convertToNumber().exp()}abs(){return this._convertToNumber().abs()}round(e){return this._convertToNumber().round(e)}floor(e){return this._convertToNumber().floor(e)}ceil(e){return this._convertToNumber().ceil(e)}convertToNumberObjectValue(){return Qr(this.getValue())}convertToBooleanObjectValue(){return this}};g(Ct,"_instanceTrue"),g(Ct,"_instanceFalse");let j=Ct;const ji=2e5,as=new St(ji);class C extends tt{constructor(e){super(e);g(this,"_value",0);this._value=Number(e)}static create(e,t=""){const r=`${e}-${t}`,s=as.get(r);if(s)return s;const i=new C(e);return t&&i.setPattern(t),as.set(r,i),i}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return C.create(0).minus(this)}getReciprocal(){return C.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);let t=this.plusBy(e.getValue());if(t.isError())return t;const r=lr(this.getPattern(),e.getPattern(),oe.PLUS);return t=C.create(Number(t.getValue()),r),t}equalZero(){return this._value===0}minus(e){if(e.isArray()){const s=e.getNegative();return s.isError()?s:s.plus(this)}let t=this.minusBy(e.getValue());if(t.isError())return t;const r=lr(this.getPattern(),e.getPattern(),oe.MINUS);return t=C.create(Number(t.getValue()),r),t}multiply(e){if(e.isArray())return e.multiply(this);let t=this.multiplyBy(e.getValue());if(t.isError())return t;const r=lr(this.getPattern(),e.getPattern(),oe.MULTIPLY);return t=C.create(Number(t.getValue()),r),t}divided(e){if(e.isArray()){const s=e.getReciprocal();return s.isError()?s:s.multiply(this)}let t=this.dividedBy(e.getValue());if(t.isError())return t;const r=lr(this.getPattern(),e.getPattern(),oe.DIVIDED);return t=C.create(Number(t.getValue()),r),t}mod(e){if(e.isArray())return e.modInverse(this);const t=this.getValue(),r=e.getValue();if(e.isNull())return h.create(f.DIV_BY_ZERO);if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(r===0)return h.create(f.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(r)||Math.abs(r)*11259e8<=Math.abs(t))return h.create(f.NUM);const s=ts(t,r);return Number.isFinite(s)?C.create(s):h.create(f.NUM)}if(typeof r=="boolean"){const s=r?1:0;return s===0?h.create(f.DIV_BY_ZERO):C.create(ts(t,s))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):fe.create(this.concatenate(e.getValue(),$e.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):fe.create(this.concatenate(e.getValue(),$e.BACK))}compare(e,t){return e.isArray()?e.compare(this,Dn(t)):this.compareBy(e.getValue(),t)}plusBy(e){const t=this.getValue();if(typeof e=="string")return Ft.has(e)?h.create(e):h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=Zn(t,e);return Number.isFinite(r)?C.create(r):h.create(f.NUM)}return typeof e=="boolean"?C.create(Zn(t,e?1:0)):this}minusBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=Jn(t,e);return Number.isFinite(r)?C.create(r):h.create(f.NUM)}return typeof e=="boolean"?C.create(Jn(t,e?1:0)):this}multiplyBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=xt(t,e);return Number.isFinite(r)?C.create(r):h.create(f.NUM)}return typeof e=="boolean"?C.create(xt(t,e?1:0)):this}dividedBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(e===0)return h.create(f.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=es(t,e);return Number.isFinite(r)?C.create(r):h.create(f.NUM)}return typeof e=="boolean"?e===!1?h.create(f.DIV_BY_ZERO):C.create(es(t,1)):this}compareBy(e,t){const r=this.getValue();let s=!1;return typeof e=="string"?s=this._compareString(t):typeof e=="number"?s=this._compareNumber(r,e,t):typeof e=="boolean"&&(s=this._compareBoolean(t)),j.create(s)}_compareString(e){switch(e){case v.EQUALS:case v.GREATER_THAN:case v.GREATER_THAN_OR_EQUAL:return!1;case v.LESS_THAN:case v.LESS_THAN_OR_EQUAL:case v.NOT_EQUAL:return!0}}_compareNumber(e,t,r){return!Number.isFinite(e)||!Number.isFinite(t)?this._compareInfinity(e,t,r):this._compareFiniteNumber(e,t,r)}_compareFiniteNumber(e,t,r){switch(r){case v.EQUALS:return ns(e,t);case v.GREATER_THAN:return bi(e,t);case v.GREATER_THAN_OR_EQUAL:return xi(e,t);case v.LESS_THAN:return wi(e,t);case v.LESS_THAN_OR_EQUAL:return Mi(e,t);case v.NOT_EQUAL:return!ns(e,t)}}_compareBoolean(e){switch(e){case v.EQUALS:case v.GREATER_THAN:case v.GREATER_THAN_OR_EQUAL:return!1;case v.LESS_THAN:case v.LESS_THAN_OR_EQUAL:case v.NOT_EQUAL:return!0}}pow(e){if(e.isArray())return e.powInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=rs(t,r);return Number.isFinite(s)?C.create(s):h.create(f.NUM)}return typeof r=="boolean"?C.create(rs(t,r?1:0)):this}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Li(e);return Number.isFinite(t)?C.create(t):h.create(f.NUM)}cbrt(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cbrt(e);return Number.isFinite(t)?C.create(t):h.create(f.NUM)}cos(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cos(e);return Number.isFinite(t)?C.create(t):h.create(f.NUM)}cosh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cosh(e);return Number.isFinite(t)?C.create(t):h.create(f.NUM)}acos(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.acos(e);return Number.isNaN(t)?h.create(f.NUM):C.create(t)}acosh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.acosh(e);return Number.isNaN(t)?h.create(f.NUM):C.create(t)}sin(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.sin(e);return Number.isFinite(t)?C.create(t):h.create(f.NUM)}sinh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.sinh(e);return Number.isFinite(t)?C.create(t):h.create(f.NUM)}asin(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.asin(e);return Number.isNaN(t)?h.create(f.NUM):C.create(t)}asinh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.asinh(e);return Number.isNaN(t)?h.create(f.NUM):C.create(t)}tan(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.tan(e);return Number.isFinite(t)?C.create(t):h.create(f.NUM)}tanh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.tanh(e);return Number.isFinite(t)?C.create(t):h.create(f.NUM)}atan(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.atan(e);return Number.isFinite(t)?C.create(t):h.create(f.NUM)}atan2(e){if(e.isArray())return e.atan2Inverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);if(t===0&&r===0)return h.create(f.DIV_BY_ZERO);const s=Math.atan2(t,r);return Number.isFinite(s)?C.create(s):h.create(f.NUM)}return typeof r=="boolean"?C.create(Math.atan2(t,r?1:0)):this}atanh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.atanh(e);return Number.isFinite(t)?C.create(t):h.create(f.NUM)}log(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return h.create(f.NUM);const t=Math.log(e);return Number.isFinite(t)?C.create(t):h.create(f.NUM)}log10(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return h.create(f.NUM);const t=Math.log10(e);return Number.isFinite(t)?C.create(t):h.create(f.NUM)}exp(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.exp(e);return Number.isFinite(t)?C.create(t):h.create(f.NUM)}abs(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.abs(e);return Number.isFinite(t)?C.create(t):h.create(f.NUM)}round(e){if(e.isArray())return e.roundInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=t<0?-Rr(Math.abs(t),r):Rr(t,r);return Number.isFinite(s)?C.create(s):h.create(f.NUM)}return typeof r=="boolean"?C.create(Rr(t,r?1:0)):this}floor(e){if(e.isArray())return e.floorInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=t<0?-He(Math.abs(t),r):He(t,r);return Number.isFinite(s)?C.create(s):h.create(f.NUM)}return typeof r=="boolean"?C.create(He(t,r?1:0)):this}ceil(e){if(e.isArray())return e.ceilInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=t<0?-Fe(Math.abs(t),r):Fe(t,r);return Number.isFinite(s)?C.create(s):h.create(f.NUM)}return typeof r=="boolean"?C.create(Fe(t,r?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return Hr(!0)}_compareInfinity(e,t,r){let s=!1;switch(r){case v.EQUALS:s=e===t;break;case v.GREATER_THAN:s=e>t;break;case v.GREATER_THAN_OR_EQUAL:s=e>=t;break;case v.LESS_THAN:s=e<t;break;case v.LESS_THAN_OR_EQUAL:s=e<=t;break;case v.NOT_EQUAL:s=e!==t;break}return s}}const Yi=2e5,is=new St(Yi);class fe extends tt{constructor(e){super(e);g(this,"_value");this._value=e}static create(e){const t=is.get(e);if(t)return t;const r=new fe(e);return is.set(e,r),r}getValue(){return this._value}isString(){return!0}concatenateFront(e){return e.isArray()?e.concatenateBack(this):fe.create(this.concatenate(e.getValue(),$e.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):fe.create(this.concatenate(e.getValue(),$e.BACK))}compare(e,t,r){return e.isArray()?e.compare(this,Dn(t),r):this.compareBy(e.getValue(),t,r)}compareBy(e,t,r=!1){let s=this.getValue(),i=!1;if(typeof e=="string"){if(r||(s=s.toLocaleLowerCase(),e=e.toLocaleLowerCase()),Ai(e))return this._checkWildcard(e,t);i=this._compareString(s,e,t)}else typeof e=="number"?i=this._compareNumber(t):typeof e=="boolean"&&(i=this._compareBoolean(t));return j.create(i)}_compareString(e,t,r){switch(r){case v.EQUALS:return e===t;case v.GREATER_THAN:return e>t;case v.GREATER_THAN_OR_EQUAL:return e>=t;case v.LESS_THAN:return e<t;case v.LESS_THAN_OR_EQUAL:return e<=t;case v.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case v.NOT_EQUAL:case v.GREATER_THAN:case v.GREATER_THAN_OR_EQUAL:return!0;case v.EQUALS:case v.LESS_THAN:case v.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case v.EQUALS:case v.GREATER_THAN:case v.GREATER_THAN_OR_EQUAL:return!1;case v.LESS_THAN:case v.LESS_THAN_OR_EQUAL:case v.NOT_EQUAL:return!0}}convertToNumberObjectValue(){return Qr(this.getValue())}convertToBooleanObjectValue(){return j.create(!0)}_checkWildcard(e,t){const r=this.getValue().toLocaleLowerCase(),s=Si(r,e,t);return j.create(s)}}function Hr(n){if(typeof n=="boolean")return j.create(n);let a=!1;if(typeof n=="string"){const e=n.toLocaleUpperCase();e===ct.TRUE?a=!0:e===ct.FALSE&&(a=!1)}else n===1?a=!0:a=!1;return j.create(a)}function Hi(n){let a=n.toString();return a.charAt(0)==='"'&&a.charAt(a.length-1)==='"'&&(a=a.slice(1,-1),a=a.replace(/""/g,'"')),fe.create(a)}function Qr(n,a=""){if(typeof n=="boolean"){let e=0;return n&&(e=1),C.create(e,a)}else{if(typeof n=="number")return Number.isFinite(n)?C.create(n,a):h.create(f.NUM);if(y.isRealNum(n))return C.create(Number(n),a)}return h.create(f.VALUE)}function Qi(n){return""}function Qs(n=[]){const a=[];for(let e=0;e<n.length;e++){const t=n[e];a[e]==null&&(a[e]=[]);for(let r=0;r<t.length;r++){const s=t[r];a[e][r]=ft.create(s)}}return a}function zi(n=[]){const a=[];for(let e=0;e<n.length;e++){const t=n[e];a[e]==null&&(a[e]=[]);for(let r=0;r<t.length;r++){const s=t[r];s==null?a[e][r]=null:s.isError()?a[e][r]=s.getErrorType():a[e][r]=s.getValue()}}return a}class Ce extends tt{constructor(e){super(typeof e=="string"?e:Qi());g(this,"_values",[]);g(this,"_rowCount",-1);g(this,"_columnCount",-1);g(this,"_unitId","");g(this,"_sheetId","");g(this,"_currentRow",-1);g(this,"_currentColumn",-1);g(this,"_sliceCache",new Map);g(this,"_flattenCache");g(this,"_defaultValue",null);g(this,"_flattenPosition");this._values=this._formatValue(e)}static create(e){return new Ce(e)}static createByArray(e){const r={calculateValueList:Qs(e),rowCount:e.length,columnCount:e[0].length||0,unitId:"",sheetId:"",row:-1,column:-1};return new Ce(r)}dispose(){this._values.forEach(e=>{e.forEach(t=>{t==null||t.dispose()})}),this._values=[],this._clearCache()}clone(){return this.map(e=>e)}getRowCount(){return this._rowCount}setRowCount(e){this._rowCount=e}getColumnCount(){return this._columnCount}setColumnCount(e){this._columnCount=e}setCurrent(e,t){this._currentRow=e,this._currentColumn=t}setUnitId(e){this._unitId=e}getUnitId(){return this._unitId}setSheetId(e){this._sheetId=e}getSheetId(){return this._sheetId}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getArrayValue(){return this._values}setArrayValue(e){this._clearCache(),this._values=e}isArray(){return!0}setDefaultValue(e){this._defaultValue=e}get(e,t){var r;return(r=this._values[e])==null?void 0:r[t]}getRealValue(e,t){const r=this._values[e];if(r==null)return null;const s=r[t];return s==null?null:s}getValueOrDefault(e,t){return this.get(e,t)||this._defaultValue}set(e,t,r){if(e>=this._rowCount||t>=this._columnCount)throw new Error("Exceeding array bounds.");this._clearCache(),this._values[e][t]=r}getRangePosition(){const t=this.getRowCount(),r=0,s=this.getColumnCount();return{startRow:0,endRow:t-1,startColumn:r,endColumn:s-1}}iterator(e){var u;const{startRow:t,endRow:r,startColumn:s,endColumn:i}=this.getRangePosition(),o=this.getArrayValue();for(let l=t;l<=r;l++)for(let c=s;c<=i;c++)if(e(((u=o[l])==null?void 0:u[c])||this._defaultValue,l,c)===!1)return}iteratorReverse(e){var u;const{startRow:t,endRow:r,startColumn:s,endColumn:i}=this.getRangePosition(),o=this.getArrayValue();for(let l=r;l>=t;l--)for(let c=i;c>=s;c--)if(e(((u=o[l])==null?void 0:u[c])||this._defaultValue,l,c)===!1)return}getLastTruePosition(){let e;return this.iteratorReverse((t,r,s)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:s},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,r,s)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:s},!1}),e}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||se.create()}getLastCell(){const{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||se.create()}pick(e){const t=this.pickRaw(e);return this._createNewArray(t,1,t[0].length)}pickRaw(e){const t=e.getRowCount(),r=e.getColumnCount();if(t!==this._rowCount||r!==this._columnCount)return[[se.create()]];const s=[];s[0]=[];for(let i=0;i<t;i++)for(let o=0;o<r;o++){const u=e.get(i,o);if(!(u==null||u.isError())&&u.getValue()===!0){const l=this.get(i,o);s[0].push(l)}}return s}flatten(){if(this._flattenCache!=null)return this._flattenCache;const e=[];e[0]=[];for(let r=0;r<this._rowCount;r++)for(let s=0;s<this._columnCount;s++){const i=this.get(r,s);e[0].push(i)}const t=this._createNewArray(e,1,e[0].length);return t.setDefaultValue(this._defaultValue),this._flattenCache=t,t}flattenPosition(){if(this._flattenPosition!=null)return this._flattenPosition;const e=[],t=[],r=[],s=[];let i=0;for(let u=0;u<this._rowCount;u++)for(let l=0;l<this._columnCount;l++){const c=this.get(u,l);if(c==null||c.isError()||c.isNull()){i++;continue}c.isString()?(e.push(c),r.push(i++)):(t.push(c),s.push(i++))}const o={stringArray:e,numberArray:t,stringPosition:r,numberPosition:s};return this._flattenPosition=o,o}slice(e,t){let r=0,s=this._rowCount,i=1,o=0,u=this._columnCount,l=1;if(e!=null&&(r=e[0]||0,s=e[1]||this._rowCount,i=e[2]||1),t!=null&&(o=t[0]||0,u=t[1]||this._columnCount,l=t[2]||1),r>=this._rowCount||o>=this._columnCount)return;const c=`${r}_${s}_${i}_${o}_${u}_${l}`,m=this._sliceCache.get(c);if(m!=null)return m;const d=[],p=this._values;let R=0,_=0;for(let b=r;b<s;b+=i){_=0,d[R]==null&&(d[R]=[]);for(let N=o;N<u;N+=l){if(!p[b])return;let z=p[b][N]||this._defaultValue;z==null&&(z=se.create()),d[R][_]=z,_++}R++}if(d.length===0||d[0].length===0)return;const S=i>1?-1:r+this._currentRow,L=l>1?-1:o+this._currentColumn,w=this._createNewArray(d,d.length,d[0].length,S,L);return w.setDefaultValue(this._defaultValue),this._sliceCache.set(c,w),w}sortByRow(e){const t=this._transposeArray(this._values);t.sort(this._sort(e)),this._clearCache(),this._values=this._transposeArray(t)}sortByColumn(e){this._clearCache(),this._values.sort(this._sort(e))}transpose(){const e=this._transposeArray(this._values),t=this._rowCount,r=this._columnCount,s=this._createNewArray(e,r,t);return s.setDefaultValue(this._defaultValue),s}orderSearch(e,t=Me.MIN,r=!1,s=!1){let i,o,u,l;const c=(m,d,p)=>{if(m==null)return!0;let R;if(s===!0?R=m.compare(e,v.EQUALS):R=m.isEqual(e),(R==null?void 0:R.getValue())===!0)return i=m,u={row:d,column:p},!1;t===Me.MAX?m.isGreaterThan(e).getValue()===!0&&(o==null||m.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=m,l={row:d,column:p}):t===Me.MIN&&m.isLessThan(e).getValue()===!0&&(o==null||m.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=m,l={row:d,column:p})};if(r){const m=this._values.length;if(this._values[0]==null)return;const d=this._values[0].length;for(let p=m-1;p>=0;p--)for(let R=d-1;R>=0;R--){const _=this._values[p][R];c(_,p,R)}}else this.iterator((m,d,p)=>{c(m,d,p)});if(i!=null)return u;if(o!=null)return l}binarySearch(e,t=Ze.MIN){if(e.isError())return;const{stringArray:r,stringPosition:s,numberArray:i,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,r,s,t):this._binarySearch(e,i,o,t)}_binarySearch(e,t,r,s=Ze.MIN){const i=Kn(),o=e.getValue().toString().toLocaleLowerCase();let u=0,l=t.length-1,c=null;for(;u<=l;){const m=Math.floor((u+l)/2),d=t[m];let p=0;if(d.isNull())p=1;else{const R=d.getValue();p=i(R.toString().toLocaleLowerCase(),o)}if(p===0)return r[m];p===-1?(u=m+1,s===Ze.MIN&&(c=m)):(l=m-1,s===Ze.MAX&&(c=m))}if(c!=null)return r[c]}sum(){let e=C.create(0);return this.iterator(t=>{if(t==null||t.isString()||t.isBoolean()||t.isNull())return!0;if(t.isError())return e=t,!1;e=e.plus(t)}),e}max(){let e=C.create(Number.NEGATIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isLessThan(t).getValue()&&(e=t)}),e}min(){let e=C.create(Number.POSITIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isGreaterThan(t).getValue()&&(e=t)}),e}count(){let e=C.create(0);return this.iterator(t=>{if(t==null||t.isError()||t.isString()||t.isNull()||t.isBoolean())return!0;e=e.plusBy(1)}),e}countA(){let e=C.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=C.create(0);return this.iterator(t=>{(t==null||t.isNull()||t.getValue()==="")&&(e=e.plusBy(1))}),e}getNegative(){return Ce.create("{0}").minus(this)}getReciprocal(){return Ce.create("{1}").divided(this)}plus(e){return this._batchOperator(e,1)}minus(e){return this._batchOperator(e,0)}multiply(e){return this._batchOperator(e,2)}divided(e){return this._batchOperator(e,3)}mod(e){return this._batchOperator(e,4)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t,r){return this._batchOperator(e,5,t,r)}concatenateFront(e){return this._batchOperator(e,6)}concatenateBack(e){return this._batchOperator(e,7)}map(e){const t=(r,s,i)=>r==null?se.create():r.isError()?r:e(r,s,i);return this.mapValue(t)}mapValue(e){var i;const t=this._rowCount,r=this._columnCount,s=[];for(let o=0;o<t;o++){const u=[];for(let l=0;l<r;l++){const c=(i=this._values)==null?void 0:i[o];if(c==null)u[l]=h.create(f.VALUE);else{const m=c[l]||this._defaultValue;m?u[l]=e(m,o,l):u[l]=se.create()}}s.push(u)}return this._createNewArray(s,t,r)}pow(e){return this._batchOperator(e,8)}powInverse(e){return this.map(t=>t.isError()?t:e.pow(t))}sqrt(){return this.map(e=>e.isError()?e:e.sqrt())}cbrt(){return this.map(e=>e.isError()?e:e.cbrt())}cos(){return this.map(e=>e.isError()?e:e.cos())}cosh(){return this.map(e=>e.isError()?e:e.cosh())}acos(){return this.map(e=>e.isError()?e:e.acos())}acosh(){return this.map(e=>e.isError()?e:e.acosh())}sin(){return this.map(e=>e.isError()?e:e.sin())}sinh(){return this.map(e=>e.isError()?e:e.sinh())}asin(){return this.map(e=>e.isError()?e:e.asin())}asinh(){return this.map(e=>e.isError()?e:e.asinh())}tan(){return this.map(e=>e.isError()?e:e.tan())}tanh(){return this.map(e=>e.isError()?e:e.tanh())}atan(){return this.map(e=>e.isError()?e:e.atan())}atanh(){return this.map(e=>e.isError()?e:e.atanh())}atan2(e){return this._batchOperator(e,12)}atan2Inverse(e){return this.map(t=>t.isError()?t:e.atan2(t))}mean(e=0){const t=this.sum(),r=this.count();return t.divided(e===0?r:r.minusBy(1))}median(){const e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),r=t.getColumnCount();if(r<=1)return t.get(0,0)||se.create();if(t.sortByRow(0),r%2===0){const s=t.get(0,r/2)||se.create(),i=t.get(0,r/2-1)||se.create();return s.plus(i).divided(C.create(2))}return t.get(0,(r-1)/2)||se.create()}var(e=0){const t=this.mean(),r=[[]];this.iterator(c=>{if(c==null||c.isError()||c.isString()||c.isBoolean()||c.isNull())return;const m=c.minus(t).pow(C.create(2));m.isError()||r[0].push(m)});const{_unitId:s,_sheetId:i,_currentRow:o,_currentColumn:u}=this;return Ce.create({calculateValueList:r,rowCount:1,columnCount:r[0].length,unitId:s,sheetId:i,row:o,column:u}).mean(e)}std(e=0){const t=this.var(e);return t.isError()?t:t.sqrt()}log(){return this.map(e=>e.isError()?e:e.log())}log10(){return this.map(e=>e.isError()?e:e.log10())}exp(){return this.map(e=>e.isError()?e:e.exp())}abs(){return this.map(e=>e.isError()?e:e.abs())}round(e){return this._batchOperator(e,9)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,10)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,11)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return zi(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=Kn();return(r,s)=>{const i=r[e],o=s[e];return i==null?1:o==null?-1:i.isError()&&i.isError()?0:i.isError()?1:o.isError()?-1:t(i.getValue(),o.getValue())}}_transposeArray(e){const t=e.length,r=e[0].length,s=[];for(let i=0;i<r;i++){s[i]=[];for(let o=0;o<t;o++)s[i][o]=e[o][i]}return s}_batchOperator(e,t,r,s){const i=[];let o=this._rowCount,u=this._columnCount;if(e.isArray()){const m=e.getRowCount(),d=e.getColumnCount();if(o=Math.max(m,o),u=Math.max(d,u),m===1&&d===1){const p=e.getFirstCell();for(let R=0;R<u;R++)i.push(p)}else if(m===1&&this._columnCount>1){const p=e.getArrayValue();for(let R=0;R<u;R++)i.push(p[0][R])}else return this._batchOperatorArray(e,t,r,s)}else for(let m=0;m<u;m++)i.push(e);const l=[];for(let m=0;m<u;m++){const d=i[m];this._batchOperatorValue(d,m,l,t,r,s)}const c=this._createNewArray(l,o,u);return c.setDefaultValue(j.create(!1)),c}_batchOperatorValue(e,t,r,s,i,o){const u=this._rowCount;let l=!1;const c=this.getUnitId(),m=this.getSheetId(),d=this.getCurrentRow(),p=this.getCurrentColumn();if(s===5&&(l=it.canUseCache(c,m,t+p,d,d+u-1),l===!0)){if(i===v.EQUALS){const R=it.getCellPositions(c,m,t+p,e.getValue());R!=null&&R.forEach(_=>{const S=_-d;r[S]==null&&(r[S]=[]),r[S][t]=j.create(!0)})}else{const R=it.getCellValuePositions(c,m,t+p);R!=null&&R.forEach((_,S)=>{let L=se.create();typeof S=="string"?L=fe.create(S):typeof S=="number"?L=C.create(S):typeof S=="boolean"&&(L=j.create(S)),L.compare(e,i,o).getValue()===!0&&_.forEach(b=>{b>=d&&b<=d+u-1&&(r[b-d]==null&&(r[b-d]=[]),r[b-d][t]=j.create(!0))})})}return}for(let R=0;R<u;R++){const _=this.getValueOrDefault(R,t);if(r[R]==null&&(r[R]=[]),_&&e)if(_.isError())r[R][t]=_;else if(e.isError())r[R][t]=e;else switch(s){case 1:r[R][t]=_.plus(e);break;case 0:r[R][t]=_.minus(e);break;case 2:r[R][t]=_.multiply(e);break;case 3:r[R][t]=_.divided(e);break;case 4:r[R][t]=_.mod(e);break;case 5:i?r[R][t]=_.compare(e,i,o):r[R][t]=h.create(f.VALUE);break;case 6:r[R][t]=_.concatenateFront(e);break;case 7:r[R][t]=_.concatenateBack(e);break;case 8:r[R][t]=_.pow(e);break;case 9:r[R][t]=_.round(e);break;case 10:r[R][t]=_.floor(e);break;case 12:r[R][t]=_.atan2(e);break;case 11:r[R][t]=_.ceil(e);break}else r[R][t]=h.create(f.NA);_!=null&&(_.isError()?it.set(c,m,t+p,_.getErrorType(),R+d):_.isNull()?it.set(c,m,t+p,"",R+d):it.set(c,m,t+p,_.getValue(),R+d))}it.setContinueBuildingCache(c,m,t+p,d,d+u-1)}_batchOperatorArray(e,t,r,s){let i=e.getRowCount(),o=e.getColumnCount();i<this._rowCount&&(i=this._rowCount),o<this._columnCount&&(o=this._columnCount);const u=[],l=this._checkArrayCalculateType(this),c=this._checkArrayCalculateType(e);for(let m=0;m<i;m++){const d=[];for(let p=0;p<o;p++){let R;l===3?R=this.getValueOrDefault(0,0):l===1?R=this.getValueOrDefault(0,p):l===2?R=this.getValueOrDefault(m,0):R=this.getValueOrDefault(m,p);let _;if(c===3?_=e.getValueOrDefault(0,0):c===1?_=e.getValueOrDefault(0,p):c===2?_=e.getValueOrDefault(m,0):_=e.getValueOrDefault(m,p),R&&_)if(R.isError())d[p]=R;else if(_.isError())d[p]=_;else switch(t){case 1:d[p]=R.plus(_);break;case 0:d[p]=R.minus(_);break;case 2:d[p]=R.multiply(_);break;case 3:d[p]=R.divided(_);break;case 4:d[p]=R.mod(_);break;case 5:r?d[p]=R.compare(_,r,s):d[p]=h.create(f.VALUE);break;case 6:d[p]=R.concatenateFront(_);break;case 7:d[p]=R.concatenateBack(_);break;case 8:d[p]=R.pow(_);break;case 9:d[p]=R.round(_);break;case 12:d[p]=R.atan2(_);break;case 10:d[p]=R.floor(_);break;case 11:d[p]=R.ceil(_);break}else d[p]=h.create(f.NA)}u.push(d)}return this._createNewArray(u,i,o)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?3:e.getRowCount()===1?1:e.getColumnCount()===1?2:0}_formatValue(e){if(typeof e!="string")return e=e,this._rowCount=e.rowCount,this._columnCount=e.columnCount,this._unitId=e.unitId,this._sheetId=e.sheetId,this._currentRow=e.row,this._currentColumn=e.column,e.calculateValueList;e=e.slice(1,-1);const t=e.split(";"),r=t.length,s=[];let i=0;for(let o=0;o<r;o++){const l=t[o].split(","),c=l.length;i<c&&(i=c);const m=[];for(let d=0;d<c;d++){const p=l[d].trim();m.push(ft.create(p))}s.push(m)}return this._rowCount=r,this._columnCount=i,s}_createNewArray(e,t,r,s=-1,i=-1){(this._currentColumn===-1||this._currentRow===-1)&&(s=-1,i=-1);const o={calculateValueList:e,rowCount:t,columnCount:r,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:s,column:i};return Ce.create(o)}}class ft{static create(a){if(a==null)return se.create();if(typeof a=="boolean")return j.create(a);if(typeof a=="string"){const e=a.toLocaleUpperCase().trim();return Ft.has(e)?h.create(e):e===ct.TRUE||e===ct.FALSE?Hr(a):y.isRealNum(a)?C.create(Number(a)):new RegExp(gi,"g").test(a.replace(/\n/g,"").replace(/\r/g,""))?Ce.create(a.replace(/\n/g,"").replace(/\r/g,"")):Hi(a)}return typeof a=="number"?Qr(a):h.create(f.VALUE)}}function Wi(n){if(n===null)return 0;if(n!=null&&n.p){const a=n==null?void 0:n.p.body;if(a==null)return 0;const e=a.dataStream;return e.substring(e.length-2,e.length)===y.DEFAULT_EMPTY_DOCUMENT_VALUE?e.substring(0,e.length-2):e}return(n==null?void 0:n.v)||0}const Gi=1e5,Cn=new St(Gi);class Ot extends Yr{constructor(e){super();g(this,"_forcedSheetId","");g(this,"_forcedSheetName","");g(this,"_defaultSheetId","");g(this,"_rangeData",{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1});g(this,"_unitData",{});g(this,"_unitStylesData",{});g(this,"_defaultUnitId","");g(this,"_forcedUnitId","");g(this,"_runtimeData",{});g(this,"_arrayFormulaCellData",{});g(this,"_runtimeArrayFormulaCellData",{});g(this,"_runtimeFeatureCellData",{});g(this,"_refOffsetX",0);g(this,"_refOffsetY",0);this._token=e}dispose(){this._unitData={},this._unitStylesData={},this._runtimeData={}}getToken(){return this._token}setToken(e){this._token=e}isExceedRange(){const{startRow:e,endRow:t,startColumn:r,endColumn:s}=this.getRangePosition();return e<0||r<0||t>=this.getActiveSheetRowCount()||s>=this.getActiveSheetColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){let{startRow:e,startColumn:t,endRow:r,endColumn:s}=y.moveRangeByOffset(this._rangeData,this._refOffsetX,this._refOffsetY);return Number.isNaN(e)&&(e=0),Number.isNaN(t)&&(t=0),Number.isNaN(r)&&(r=this.getActiveSheetRowCount()-1),Number.isNaN(s)&&(s=this.getActiveSheetColumnCount()-1),{startRow:e,endRow:r,startColumn:t,endColumn:s}}isReferenceObject(){return!0}iterator(e){const{startRow:t,endRow:r,startColumn:s,endColumn:i}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(h.create(f.VALUE),t,s);const o=this._forcedUnitId||this._defaultUnitId,u=this._forcedSheetId||this._defaultSheetId;for(let l=t;l<=r;l++)for(let c=s;c<=i;c++){if(l<0||c<0)return e(h.create(f.REF),l,c);const m=this.getCellData(l,c);let d=!1;if(y.isNullCell(m)){d=e(null,l,c);continue}let p=this.getCellValueObject(m);if(l===t&&c===s){const R=this.getCellPattern(o,u,l,c);if(R&&p.isNumber()){const _=Number(p.getValue());p=C.create(_,R)}}if(d=e(p,l,c),d===!1)return}}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition(),r=this.getCellData(e,t);if(!r)return C.create(0);let s=this.getCellValueObject(r);const i=this._forcedUnitId||this._defaultUnitId,o=this._forcedSheetId||this._defaultSheetId,u=this.getCellPattern(i,o,e,t);if(u&&s.isNumber()){const l=Number(s.getValue());s=C.create(l,u)}return s}getRangeData(){return this._rangeData}setRangeData(e){this._rangeData=e}getUnitId(){return this._forcedUnitId&&this._forcedUnitId.length>0?this._forcedUnitId:this._defaultUnitId}getSheetId(){return this._forcedSheetId&&this._forcedSheetId.length>0?this._forcedSheetId:this._defaultSheetId}setForcedUnitIdDirect(e){e.length>0&&(this._forcedUnitId=e)}getForcedUnitId(){return this._forcedUnitId}setForcedSheetId(e){var t;this._forcedSheetId=(t=e[this.getUnitId()])==null?void 0:t[this._forcedSheetName]}setForcedSheetIdDirect(e){this._forcedSheetId=e}getForcedSheetId(){return this._forcedSheetId}setForcedSheetName(e){e.length>0&&(this._forcedSheetName=e)}getForcedSheetName(){return this._forcedSheetName}setDefaultSheetId(e){this._defaultSheetId=e}getDefaultSheetId(){return this._defaultSheetId}setDefaultUnitId(e){this._defaultUnitId=e}getDefaultUnitId(){return this._defaultUnitId}getUnitData(){return this._unitData}setUnitData(e){this._unitData=e}getUnitStylesData(){return this._unitStylesData}setUnitStylesData(e){this._unitStylesData=e}getRuntimeData(){return this._runtimeData}setRuntimeData(e){this._runtimeData=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}setRuntimeArrayFormulaCellData(e){this._runtimeArrayFormulaCellData=e}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e){this._runtimeFeatureCellData=e}getActiveSheetRowCount(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.rowCount)||0}getActiveSheetColumnCount(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.columnCount)||0}getRowCount(){return this._rangeData.endRow-this._rangeData.startRow+1}getColumnCount(){return this._rangeData.endColumn-this._rangeData.startColumn+1}getRowData(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.rowData)||{}}getColumnData(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.columnData)||{}}isCell(){return!1}isColumn(){return!1}isRow(){return!1}isRange(){return!1}isTable(){return!1}unionBy(e){return h.create(f.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){const t=Wi(e);if(Ft.has(t))return h.create(t);if(e.t===y.CellValueType.NUMBER){const r=this._getPatternByCell(e);return Qr(t,r)}return e.t===y.CellValueType.STRING||e.t===y.CellValueType.FORCE_STRING?fe.create(t.toString()):e.t===y.CellValueType.BOOLEAN?Hr(t):ft.create(t)}_getPatternByCell(e){var s;const t=this._unitStylesData[this.getUnitId()];if(!t)return"";const r=t.getStyleByCell(e);return((s=r==null?void 0:r.n)==null?void 0:s.pattern)||""}getCellByRow(e){return this.getCellByPosition(e)}getCellByColumn(e){return this.getCellByPosition(void 0,e)}getCurrentActiveSheetData(){var e;return(e=this._unitData[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentStylesData(){return this._unitStylesData[this.getUnitId()]}getCurrentRuntimeSheetData(){var e,t;return(t=(e=this._runtimeData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentActiveArrayFormulaCellData(){var e,t;return(t=(e=this._arrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaCellData(){var e,t;return(t=(e=this._runtimeArrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCellData(e,t){const r=this.getCurrentActiveSheetData(),s=this.getCurrentRuntimeSheetData(),i=this.getCurrentActiveArrayFormulaCellData(),o=this.getCurrentRuntimeActiveArrayFormulaCellData();return(s==null?void 0:s.getValue(e,t))||(o==null?void 0:o.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t)||(i==null?void 0:i.getValue(e,t))||(r==null?void 0:r.cellData.getValue(e,t))}getRuntimeFeatureCellValue(e,t){var s;const r=Object.keys(this._runtimeFeatureCellData);for(const i of r){const o=this._runtimeFeatureCellData[i],u=(s=o==null?void 0:o[this.getUnitId()])==null?void 0:s[this.getSheetId()];if(u==null)continue;const l=u.getValue(e,t);if(l!=null)return l}}getCellByPosition(e,t){e||(e=this._rangeData.startRow),t||(t=this._rangeData.startColumn);const r=this.getCellData(e,t);return r?this.getCellValueObject(r):h.create(f.VALUE)}getCellPattern(e,t,r,s){var l,c,m,d;const i=this._unitStylesData[e];if(!i)return"";const o=(m=(c=(l=this._unitData[e])==null?void 0:l[t])==null?void 0:c.cellData)==null?void 0:m.getValue(r,s);if(!o)return"";const u=i.getStyleByCell(o);return((d=u==null?void 0:u.n)==null?void 0:d.pattern)||""}toArrayValueObject(e=!0){var R;const{startRow:t,endRow:r,startColumn:s,endColumn:i}=this.getRangePosition(),o=`${this.getUnitId()}_${this.getSheetId()}_${t}_${r}_${s}_${i}`,u=Cn.get(o);if(u&&e)return u;const l=r-t+1,c=i-s+1;if(l<0||c<0)return this._getBlankArrayValueObject();const m=new Array(l);this.iterator((_,S,L)=>{const w=S-t,b=L-s;m[w]||(m[w]=new Array(c)),_==null&&(_=se.create()),m[w][b]=_});const d={calculateValueList:m,rowCount:m.length,columnCount:((R=m[0])==null?void 0:R.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:t,column:s},p=Ce.create(d);return e&&Cn.set(o,p),p}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}_checkIfWorksheetMiss(){return(this._forcedSheetId==null||this._forcedSheetId.length===0)&&this._forcedSheetName.length>0}_getBlankArrayValueObject(){const e={calculateValueList:[],rowCount:0,columnCount:0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:0,column:0};return Ce.create(e)}}class zs extends Yr{constructor(a){super(),this._promise=a}isAsyncObject(){return!0}async getValue(){return this._promise}}class Ws extends Yr{constructor(a){super(),this._promiseList=a}isAsyncArrayObject(){return!0}async getValue(){var t;const a=[];for(let r=0;r<this._promiseList.length;r++){const s=this._promiseList[r];a[r]==null&&(a[r]=[]);for(let i=0;i<s.length;i++){const o=s[i];o.isAsyncObject()?a[r][i]=await o.getValue():a[r][i]=o}}const e={calculateValueList:a,rowCount:a.length,columnCount:((t=a[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:0,column:0};return Ce.create(e)}}class Wt extends Ot{constructor(a,e,t){super(""),this.setRangeData(a),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}const os=/[\[\]]/g;function us(n,a){if(os.test(n)){const e=Number(n.replace(os,""));return a+e}return Number(n)-1}function ln(n,a=0,e=0){n=n.toLocaleUpperCase();const t=n.split(/[RC]/),r=t[1],s=t[2],i=us(r,a),o=us(s,e);return{row:i,column:o,absoluteRefType:y.AbsoluteRefType.NONE}}function Gs(n,a=0,e=0){const{refBody:t,sheetName:r,unitId:s}=$s(n),i=t.indexOf(":");if(i===-1){const _=ln(t,a,e),S=_.row,L=_.column,w=_.absoluteRefType;return{unitId:s,sheetName:r,range:{startRow:S,startColumn:L,endRow:S,endColumn:L,startAbsoluteRefType:w,endAbsoluteRefType:w}}}const o=t.substring(0,i),u=t.substring(i+1),l=ln(o,a,e),c=ln(u,a,e),m=l.row,d=l.column,p=c.row,R=c.column;return{unitId:s,sheetName:r,range:{startRow:m,startColumn:d,endRow:p,endColumn:R,startAbsoluteRefType:l.absoluteRefType,endAbsoluteRefType:c.absoluteRefType}}}function Ki(n){const a=cr(n.startRow,n.startAbsoluteRefType,!0),e=cr(n.startColumn,n.startAbsoluteRefType,!1),t=cr(n.endRow,n.endAbsoluteRefType,!0),r=cr(n.endColumn,n.endAbsoluteRefType,!1);return a===t&&e===r?`R${a}C${e}`:`R${a}C${e}:R${t}C${r}`}function cr(n,a=y.AbsoluteRefType.ALL,e){switch(n+=1,a){case y.AbsoluteRefType.ALL:return`${n}`;case y.AbsoluteRefType.ROW:return e?`${n}`:`[${n}]`;case y.AbsoluteRefType.COLUMN:return e?`[${n}]`:`${n}`;case y.AbsoluteRefType.NONE:return`[${n}]`}}const Ks=[];var qs=(n=>n)(qs||{});function $(n,a,e,t){const r=[];if(e.isArray()){const s=e.getRowCount(),i=e.getColumnCount();if(s===1&&i===1){const o=e.getFirstCell();for(let u=0;u<n;u++){const l=[];for(let c=0;c<a;c++)l.push(o);r.push(l)}}else if(s===1&&i>1)for(let o=0;o<n;o++){const u=[];for(let l=0;l<a;l++){const c=e.getRealValue(0,l)||(t!=null?t:se.create());u.push(c)}r.push(u)}else if(i===1&&s>1)for(let o=0;o<n;o++){const u=[];for(let l=0;l<a;l++){const c=e.getRealValue(o,0)||(t!=null?t:se.create());u.push(c)}r.push(u)}else for(let o=0;o<n;o++){const u=[];for(let l=0;l<a;l++){const c=e.getRealValue(o,l)||(t!=null?t:se.create());u.push(c)}r.push(u)}}else for(let s=0;s<n;s++){const i=[];for(let o=0;o<a;o++)i.push(e);r.push(i)}return Dt(r,n,a)}function Dt(n,a,e,t="",r=""){const s={calculateValueList:n,rowCount:a,columnCount:e,unitId:t,sheetId:r,row:-1,column:-1};return Ce.create(s)}function Zt(n){const a=[v.EQUALS,v.NOT_EQUAL,v.GREATER_THAN_OR_EQUAL,v.GREATER_THAN,v.LESS_THAN_OR_EQUAL,v.LESS_THAN];for(const e of a)if(n.startsWith(e)){const t=n.substring(e.length);return[e,ft.create(t)]}return[v.EQUALS,ft.create(n)]}function zr(n,a,e,t){if(!e)if(a.isString()){const r=`${a.getValue()}`,[s,i]=Zt(r);e=s,a=i}else e=v.EQUALS;return n.compare(a,e,t)}function qi(n,a){const e=Math.max(n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1),t=Math.max(n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1),r=$(e,t,n),s=$(e,t,a);return r.mapValue((i,o,u)=>{const l=s.get(o,u);return i!=null&&i.isError()?i:l!=null&&l.isError()?l:i!=null&&i.isBoolean()&&(l!=null&&l.isBoolean())?Hr(i.getValue()&&l.getValue()):j.create(!1)})}function Xi(n){const a=n.getValue();let e=0;return a&&(e=1),C.create(e)}function ls(n){return n.isArray()&&n.getRowCount()===1&&n.getColumnCount()===1?!0:n.isReferenceObject()?!!(n.isCell()||n.getRowCount()===1&&n.getColumnCount()===1):(n=n,!!(n.isString()||n.isNumber()||n.isBoolean()||n.isError()||n.isNull()))}function gt(n){const a=n==null?void 0:n.getPattern();let e={};if(a&&(e={s:{n:{pattern:a}}}),n==null)return{v:null,...e};if(n.isError())return{v:n.getErrorType(),t:y.CellValueType.STRING,...e};if(n.isValueObject()){const t=n,r=t.getValue();return t.isNumber()?{v:r,t:y.CellValueType.NUMBER,...e}:t.isBoolean()?{v:r?1:0,t:y.CellValueType.BOOLEAN,...e}:t.isString()?{v:r,t:y.CellValueType.STRING,...e}:t.isNull()?{v:null,...e}:{v:r,t:y.CellValueType.STRING,...e}}}function Jt(n){let a=0,e=0;return n.forEach((t,r)=>{if(r%2===1)if(t.isArray()){const s=t;a=Math.max(a,s.getRowCount()),e=Math.max(e,s.getColumnCount())}else a=Math.max(a,1),e=Math.max(e,1)}),{maxRowLength:a,maxColumnLength:e}}function er(n,a,e,t){const r=a.getRowCount(),s=a.getColumnCount();for(let i=0;i<n.length;i++){if(i%2===1)continue;const o=n[i],u=o.getRowCount(),l=o.getColumnCount();if(u!==r||l!==s)return $(e,t,h.create(f.VALUE))}return null}function tr(n,a,e,t=!1){const r=[];for(let s=0;s<n.length;s++){if(s%2===1)continue;const i=n[s],o=n[s+1];$(a,e,o,h.create(f.NA)).iterator((l,c,m)=>{if(!l)return;let d=zr(i,l);const[,p]=Zt(`${l.getValue()}`);if(t&&(d=Wr(d,i,p)),r[c]===void 0&&(r[c]=[]),r[c][m]===void 0){r[c][m]=d;return}r[c][m]=qi(r[c][m],d)})}return r}function Wr(n,a,e){return n.mapValue((t,r,s)=>{const i=a.get(r,s);return i&&Zi(i,e)?t:i!=null&&i.isError()&&e.isError()&&i.getValue()===e.getValue()?j.create(!0):j.create(!1)})}function Zi(n,a){if(n.isNumber()&&a.isNumber()||n.isBoolean()&&a.isBoolean())return!0;const e=n.isString()&&n.getValue()==="",t=a.isString()&&a.getValue()==="";return!!((e||n.isNull())&&(t||a.isNull())||n.isString()&&!e&&a.isString()&&!t)}class Sn extends Ot{constructor(a){super(a);const e=Qe(a);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName),this.setRangeData(e.range)}isCell(){return!0}unionBy(a){if(!a.isCell())return h.create(f.REF);const e=a,t=this.unionRange(this.getRangeData(),e.getRangeData());return this._createRange(t)}unionRange(a,e){const t=a.startRow,r=a.startColumn,s=e.startRow,i=e.startColumn,o={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return t>s?(o.startRow=s,o.endRow=t):(o.startRow=t,o.endRow=s),r>i?(o.startColumn=i,o.endColumn=r):(o.startColumn=r,o.endColumn=i),a.startAbsoluteRefType&&(o.startAbsoluteRefType=a.startAbsoluteRefType),e.startAbsoluteRefType&&(o.endAbsoluteRefType=e.startAbsoluteRefType),o}_createRange(a){const e=new Wt(a,this.getForcedSheetId(),this.getForcedUnitId());e.setUnitData(this.getUnitData()),e.setDefaultSheetId(this.getDefaultSheetId()),e.setDefaultUnitId(this.getDefaultUnitId()),e.setRuntimeData(this.getRuntimeData()),e.setUnitStylesData(this.getUnitStylesData()),e.setArrayFormulaCellData(this.getArrayFormulaCellData()),e.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());const{x:t,y:r}=this.getRefOffset();e.setRefOffset(t,r);const s=this.getForcedSheetId();e.setForcedSheetName(this.getForcedSheetName()),s!=null&&e.setForcedSheetIdDirect(s);const i=this.getForcedUnitId();return i&&e.setForcedUnitIdDirect(i),e}}class Vn extends Ot{constructor(a){super(a);const e=Qe(a);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:Number.NaN,startRow:e.range.startRow,endColumn:Number.NaN,endRow:-1};this.setRangeData(t)}isRow(){return!0}unionBy(a){if(!a.isRow())return h.create(f.REF);const e=a;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return h.create(f.REF);const t=this.getRangeData(),r=e.getRangeData(),s=r.startRow,i=t.startRow;return s>i?t.endRow=s:(t.startRow=s,t.endRow=i),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=y.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${K.COLON}${e.getToken()}`),this}}class Pn extends Ot{constructor(a){super(a);const e=Qe(a);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:e.range.startColumn,startRow:Number.NaN,endColumn:-1,endRow:Number.NaN};this.setRangeData(t)}isColumn(){return!0}unionBy(a){if(!a.isColumn())return h.create(f.REF);const e=a;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return h.create(f.REF);const t=this.getRangeData(),r=e.getRangeData(),s=r.startColumn,i=t.startColumn;return s>i?t.endColumn=s:(t.startColumn=s,t.endColumn=i),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=y.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${K.COLON}${e.getToken()}`),this}}class P extends y.Disposable{constructor(e){super();g(this,"_unitId");g(this,"_subUnitId");g(this,"_row",-1);g(this,"_column",-1);g(this,"_definedNames");g(this,"needsExpandParams",!1);g(this,"needsReferenceObject",!1);g(this,"minParams",-1);g(this,"maxParams",-1);this._name=e}get name(){return this._name}get unitId(){return this._unitId}get subUnitId(){return this._subUnitId}get row(){return this._row}get column(){return this._column}getDefinedName(e){var r;const t=this._definedNames;return t==null?null:(r=Array.from(Object.values(t)).filter(s=>s.name===e))==null?void 0:r[0]}setDefinedNames(e){this._definedNames=e}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}setRefInfo(e,t,r,s){this._unitId=e,this._subUnitId=t,this._row=r,this._column=s}calculateCustom(...e){return null}calculate(...e){return h.create(f.VALUE)}checkArrayType(e){return e.isReferenceObject()||e.isValueObject()&&e.isArray()}getIndexNumValue(e,t=1){if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())return e.getValue()===!1?h.create(f.VALUE):t;if(e.isString()){const r=Number(e.getValue());return Number.isNaN(r)?h.create(f.REF):r}else if(e.isNumber())return e.getValue();return h.create(f.VALUE)}getZeroOrOneByOneDefault(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;e.isNumber()&&e.getValue()===0&&(t=0)}return t}getMatchTypeValue(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;if(e.isNumber()){const r=e.getValue();r<=0&&(t=r)}}return t}binarySearch(e,t,r,s){const i=t.binarySearch(e,s);if(i==null)return h.create(f.NA);let o;return r.getRowCount()===1?o=r.get(0,i)||se.create():o=r.get(i,0)||se.create(),o.isNull()?h.create(f.NA):o}_getOneFirstByRaw(e){return e.length===0?h.create(f.NA):e[0][0]||h.create(f.NA)}_getOneLastByRaw(e){return e.length===0?h.create(f.NA):e[e.length-1][e[0].length-1]||h.create(f.NA)}equalSearch(e,t,r,s=!0){const i=r.pickRaw(t.isEqual(e));return s?this._getOneFirstByRaw(i):this._getOneLastByRaw(i)}fuzzySearch(e,t,r,s=!0){const i=r.pickRaw(t.compare(e,v.EQUALS));return s?this._getOneFirstByRaw(i):this._getOneLastByRaw(i)}orderSearch(e,t,r,s=Me.MIN,i=!1){const o=t.orderSearch(e,s,i);if(o==null)return h.create(f.NA);const u=r.get(o.row,o.column)||se.create();return u.isNull()?h.create(f.NA):u}binarySearchExpand(e,t,r,s=0,i){const o=t.binarySearch(e,i);return o==null?h.create(f.NA):s===0?r.slice([o,o+1]):r.slice(void 0,[o,o+1])}equalSearchExpand(e,t,r,s=!0,i=0){const o=t.isEqual(e);let u;return s?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?h.create(f.NA):i===0?r.slice([u.row,u.row+1]):r.slice(void 0,[u.column,u.column+1])}fuzzySearchExpand(e,t,r,s=!0,i=0){const o=t.compare(e,v.EQUALS);let u;return s?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?h.create(f.NA):i===0?r.slice([u.row,u.row+1]):r.slice(void 0,[u.column,u.column+1])}orderSearchExpand(e,t,r,s=Me.MIN,i=!1,o=0){const u=t.orderSearch(e,s,i);return u==null?h.create(f.NA):o===0?r.slice([u.row,u.row+1]):r.slice(void 0,[u.column,u.column+1])}flattenArray(e,t=!0){const r=[];r[0]=[];for(let s=0;s<e.length;s++){let i=e[s];if((i.isString()||i.isBoolean()||i.isNull())&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){let o;if(i.iterator(u=>{if(u==null||u.isNull()||t&&(u.isString()||u.isBoolean()))return!0;if(u=this._includingLogicalValuesAndText(u),u.isError())return o=u,!1;r[0].push(u)}),o!=null&&o.isError())return o}else r[0].push(i)}return Dt(r,1,r[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=Xi(e)),e.isString()){const t=Number(e.getValue());e=C.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){const r=e.getForcedUnitId(),s=e.getForcedSheetId()||"",i=e.getForcedSheetName(),u=yt({unitId:r,sheetName:i,range:t});let l;return new RegExp(Xt).test(u)?l=new Sn(u):new RegExp(vs).test(u)?l=new Vn(u):new RegExp(Bs).test(u)?l=new Pn(u):l=new Wt(t,s,r),this._setReferenceDefault(e,l)}_setReferenceDefault(e,t){return this.unitId==null||this.subUnitId==null?h.create(f.REF):(t.setDefaultUnitId(this.unitId),t.setDefaultSheetId(this.subUnitId),t.setUnitData(e.getUnitData()),t.setRuntimeData(e.getRuntimeData()),t.setArrayFormulaCellData(e.getArrayFormulaCellData()),t.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),t)}}class Ji extends P{isCustom(){return!0}}class Xs extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std()}}class Zs extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std(1)}}class Js extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var()}}class ea extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var(1)}}var Pt=(n=>(n.BETADIST="BETADIST",n.BETAINV="BETAINV",n.BINOMDIST="BINOMDIST",n.CHIDIST="CHIDIST",n.CHIINV="CHIINV",n.CHITEST="CHITEST",n.CONFIDENCE="CONFIDENCE",n.COVAR="COVAR",n.CRITBINOM="CRITBINOM",n.EXPONDIST="EXPONDIST",n.FDIST="FDIST",n.FINV="FINV",n.FTEST="FTEST",n.GAMMADIST="GAMMADIST",n.GAMMAINV="GAMMAINV",n.HYPGEOMDIST="HYPGEOMDIST",n.LOGINV="LOGINV",n.LOGNORMDIST="LOGNORMDIST",n.MODE="MODE",n.NEGBINOMDIST="NEGBINOMDIST",n.NORMDIST="NORMDIST",n.NORMINV="NORMINV",n.NORMSDIST="NORMSDIST",n.NORMSINV="NORMSINV",n.PERCENTILE="PERCENTILE",n.PERCENTRANK="PERCENTRANK",n.POISSON="POISSON",n.QUARTILE="QUARTILE",n.RANK="RANK",n.STDEV="STDEV",n.STDEVP="STDEVP",n.TDIST="TDIST",n.TINV="TINV",n.TTEST="TTEST",n.VAR="VAR",n.VARP="VARP",n.WEIBULL="WEIBULL",n.ZTEST="ZTEST",n))(Pt||{});const ta=[[Zs,Pt.STDEV],[Xs,Pt.STDEVP],[ea,Pt.VAR],[Js,Pt.VARP]],ra=[];var na=(n=>(n.CUBEKPIMEMBER="CUBEKPIMEMBER",n.CUBEMEMBER="CUBEMEMBER",n.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",n.CUBERANKEDMEMBER="CUBERANKEDMEMBER",n.CUBESET="CUBESET",n.CUBESETCOUNT="CUBESETCOUNT",n.CUBEVALUE="CUBEVALUE",n))(na||{});const sa=[];var aa=(n=>(n.DAVERAGE="DAVERAGE",n.DCOUNT="DCOUNT",n.DCOUNTA="DCOUNTA",n.DGET="DGET",n.DMAX="DMAX",n.DMIN="DMIN",n.DPRODUCT="DPRODUCT",n.DSTDEV="DSTDEV",n.DSTDEVP="DSTDEVP",n.DSUM="DSUM",n.DVAR="DVAR",n.DVARP="DVARP",n))(aa||{}),de=(n=>(n.DATE="DATE",n.DATEDIF="DATEDIF",n.DATEVALUE="DATEVALUE",n.DAY="DAY",n.DAYS="DAYS",n.DAYS360="DAYS360",n.EDATE="EDATE",n.EOMONTH="EOMONTH",n.HOUR="HOUR",n.ISOWEEKNUM="ISOWEEKNUM",n.MINUTE="MINUTE",n.MONTH="MONTH",n.NETWORKDAYS="NETWORKDAYS",n.NETWORKDAYS_INTL="NETWORKDAYS.INTL",n.NOW="NOW",n.SECOND="SECOND",n.TIME="TIME",n.TIMEVALUE="TIMEVALUE",n.TODAY="TODAY",n.WEEKDAY="WEEKDAY",n.WEEKNUM="WEEKNUM",n.WORKDAY="WORKDAY",n.WORKDAY_INTL="WORKDAY.INTL",n.YEAR="YEAR",n.YEARFRAC="YEARFRAC",n))(de||{});const Ln="yyyy/mm/dd;@",eo="yyyy/mm/dd hh:mm",to="h:mm A/P";function ve(n){const a=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28)),t=Date.UTC(n.getFullYear(),n.getMonth(),n.getDate());let r=(t-a.getTime())/(1e3*3600*24);return t>e.getTime()&&(r+=1),Math.floor(r)+1}function ro(n){const a=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let r=(n.getTime()-a.getTime())/(1e3*3600*24);return n>e&&(r+=1),r+1}function xe(n){const a=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28));let t=Math.floor(n)-1;return t>(e.getTime()-a.getTime())/(1e3*3600*24)&&(t-=1),new Date(a.getTime()+t*(1e3*3600*24))}function bn(n){const a=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let t=n-1;return t>(e.getTime()-a.getTime())/(1e3*3600*24)&&(t-=1),t<0&&(t=n),new Date(a.getTime()+t*(1e3*3600*24))}function xn(n){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(n))return!1;const e=n.replace(/-/g,"/").replace(/T.+/,""),t=new Date(`${e}`);if(Number.isNaN(t.getTime()))return!1;const r=t.getFullYear(),s=(t.getMonth()+1).toString().padStart(2,"0"),i=t.getDate().toString().padStart(2,"0"),o=`${r}-${s}-${i}`;return n.replace(/\//g,"-").split("-").map(l=>l.padStart(2,"0")).join("-")===o}function cs(n){return Bt.parseDate(n)}function ia(n){return Bt.parseValue(n)}function fs(n){return Bt.parseTime(n)}function oa(n){return Bt.isDate(n)}const ua={1:[6,0],2:[0,1],3:[1,2],4:[2,3],5:[3,4],6:[4,5],7:[5,6],11:[0],12:[1],13:[2],14:[3],15:[4],16:[5],17:[6]};function Gt(n){return!!(typeof n=="string"&&/^[0|1]{7}/.test(n)||ua[Number(n)])}function la(n){if(!Gt(n))return[];if(typeof n=="string"&&/^[0|1]{7}/.test(n)){const a=[];for(let e=1;e<=n.length;e++)`${n[e-1]}`=="1"&&(e===n.length?a.push(0):a.push(e));return a}return ua[Number(n)]||[]}function xr(n,a,e=1,t){const r=la(e),s=Math.floor(n),i=Math.floor(a),o=i>s?s:i;let u=0;const l=Math.abs(Math.floor(a)-Math.floor(n))+1;for(let c=0;c<l;c++){const m=o+c;if(t&&t.length>0&&t.some(p=>Math.floor(p)===m))continue;const d=At(m);r.includes(d)||u++}return i>s?u:-u}function wr(n,a,e=1,t){const r=la(e);n=Math.floor(n);let s=n,i=Math.abs(a);for(let o=1;o<=i;o++){const u=a<0?n-o:n+o;if(u<0)return h.create(f.NUM);if(t&&t.length>0&&t.some(c=>Math.floor(c)===u)){i++;continue}const l=At(u);if(r.includes(l)){i++;continue}s=u}return s}function me(n){if(n.isError())return n;const a=n.getValue();if(n.isString()){let e;if(cs(`${a}`))e=cs(`${a}`).v;else if(fs(`${a}`))e=fs(`${a}`).v;else if(y.isRealNum(a))e=+a;else return h.create(f.VALUE);return+e<0||+e>2958465?h.create(f.NUM):e}else{const e=+n.getValue();return e<0||e>2958465?h.create(f.NUM):e}}function At(n){const a=Math.floor(n)===60;let e=xe(n);const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getTime(),r=new Date(Date.UTC(1900,1,28)).getTime();return!a&&t<=r&&(e=new Date(t-24*3600*1e3)),new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getUTCDay()}class no extends P{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=$(s,i,e),u=$(s,i,t),l=$(s,i,r);return o.map((c,m,d)=>{const p=u.get(m,d)||se.create(),R=l.get(m,d)||se.create();if(c.isError())return c;if(p.isError())return p;if(R.isError())return R;if(c.isString()||p.isString()||R.isString())return h.create(f.VALUE);let _=+c.getValue();const S=Math.floor(+p.getValue()),L=+R.getValue();if(_<0||_>9999)return h.create(f.NUM);_>=0&&_<1899&&(_+=1900);const w=new Date(_,S-1,L),b=ve(w);return b<0?h.create(f.NUM):C.create(b,Ln)})}}class so extends P{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",3)}calculate(e,t,r){if(e.isArray()&&(e=e.get(0,0)),t.isArray()&&(t=t.get(0,0)),r.isArray()&&(r=r.get(0,0)),e.isError())return e;if(t.isError())return t;if(r.isError())return r;const s=me(e);if(typeof s!="number")return s;let i=me(t);if(typeof i!="number")return i;if(i<s||!r.isString())return h.create(f.NUM);const o=xe(s),u=o.getUTCFullYear(),l=o.getUTCMonth()+1,c=o.getUTCDate(),m=xe(i),d=m.getUTCFullYear(),p=m.getUTCMonth()+1,R=m.getUTCDate(),_=String(r.getValue()).toLocaleUpperCase();let S;switch(_){case"Y":S=d-u;break;case"M":S=(d-u)*12+p-l;break;case"D":S=Math.floor(i)-Math.floor(s);break;case"MD":S=R-c;break;case"YM":S=p-l;break;case"YD":i=ve(new Date(Date.UTC(u,p-1,R))),S=Math.floor(i)-Math.floor(s);break;default:return h.create(f.NUM)}return C.create(S)}}class ao extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isString()){const t=`${e.getValue()}`,r=ia(t);if(r){const{v:s,z:i}=r;if(oa(i))return C.create(Math.trunc(s))}}return h.create(f.VALUE)}}class io extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t;const r=e.getValue();if(e.isString()){if(!xn(`${r}`))return h.create(f.VALUE);t=new Date(`${r}`)}else{const o=+e.getValue();if(o<0)return h.create(f.NUM);if(o===0)return C.create(0);t=xe(o)}const s=t.getDate();return C.create(s)}}class oo extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=$(r,s,e),o=$(r,s,t),u=i.map((l,c,m)=>{const d=o.get(c,m);if(l.isError())return l;if(d.isError())return d;const p=me(l);if(typeof p!="number")return p;const R=me(d);if(typeof R!="number")return R;const _=Math.floor(p)-Math.floor(R);return C.create(_)});return r===1&&s===1?u.get(0,0):u}}class uo extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=$(s,i,e,h.create(f.NA)),u=$(s,i,t,h.create(f.NA)),l=r?$(s,i,r,h.create(f.NA)):[],c=o.map((m,d,p)=>{const R=u.get(d,p);let _=r?l.get(d,p):j.create(!1);if(m.isError())return m;const S=me(m);if(typeof S!="number")return S;if(R.isError())return R;const L=me(R);if(typeof L!="number")return L;if(_.isError()||(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError()))return _;const w=xe(S),b=S>0?w.getUTCFullYear():1900,N=S>0?w.getUTCMonth()+1:1;let z=S>0?w.getUTCDate():0,ee=xe(L),pe=L>0?ee.getUTCFullYear():1900,ge=L>0?ee.getUTCMonth()+1:1,le=L>0?ee.getUTCDate():0;+_.getValue()?(z===31&&(z=30),le===31&&(le=30)):(z===31&&(z=30),le===31&&(z<30?(ee=xe(L+1),pe=ee.getUTCFullYear(),ge=ee.getUTCMonth()+1,le=ee.getUTCDate()):le=30));const ce=(pe-b)*360,De=L>=S?30-z:-z,Ue=L>=S?le:le-30,ht=(L>=S?ge-N-1:ge-N+1)*30,Ae=ce+De+Ue+ht;return C.create(Ae)});return s===1&&i===1?c.get(0,0):c}}class lo extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=$(r,s,e),o=$(r,s,t);return i.map((u,l,c)=>{const m=o.get(l,c)||se.create();if(u.isError())return u;if(m.isError())return m;if(u.isString()||u.isBoolean()||m.isString()||m.isBoolean())return h.create(f.VALUE);const d=+u.getValue();if(d<0)return h.create(f.NUM);const p=Math.floor(+m.getValue()),R=xe(d),_=R.getUTCFullYear(),S=R.getUTCMonth()+p,L=R.getUTCDate(),w=new Date(Date.UTC(_,S,L)),b=ve(w);return C.create(b,Ln)})}}class co extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isArray()){const m=e.getRowCount(),d=e.getColumnCount();if(m>1||d>1)return h.create(f.VALUE);e=e.get(0,0)}if(t.isArray()){const m=t.getRowCount(),d=t.getColumnCount();if(m>1||d>1)return h.create(f.VALUE);t=t.get(0,0)}if(e.isError())return e;if(t.isError())return t;const r=me(e);if(typeof r!="number")return r;const s=xe(r),i=r>0?s.getUTCFullYear():1900,o=r>0?s.getUTCMonth():0;let u=t.getValue();if(t.isBoolean()||t.isString()&&!y.isRealNum(u))return h.create(f.VALUE);u=Math.floor(+u);const l=new Date(Date.UTC(i,o+u+1,0)),c=ve(l);return C.create(c)}}class fo extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=me(e);if(typeof t!="number")return t;if(t===0)return C.create(0);const s=bn(t).getUTCHours();return C.create(s)}}class ho extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=me(e);if(typeof t!="number")return t;const r=xe(t),s=t>0?r.getUTCFullYear():1900;let i=new Date(Date.UTC(s,0,1)),o=ve(i),u=At(o),l;u<1?l=o+1:u<=4?l=o-(u-1):l=o+(11-u),t<l&&(i=new Date(Date.UTC(s-1,0,1)),o=ve(i),u=At(o),u<1?l=o+1:u<=4?l=o-(u-1):l=o+(11-u));const c=Math.ceil((t-l+1)/7);return C.create(c)}}class mo extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=me(e);if(typeof t!="number")return t;if(t===0)return C.create(0);const s=bn(t).getUTCMinutes();return C.create(s)}}class go extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t;const r=e.getValue();if(e.isString()){if(!xn(`${r}`))return h.create(f.VALUE);t=new Date(`${r}`)}else{const o=+e.getValue();if(o<0)return h.create(f.NUM);if(o===0)return C.create(1);t=xe(o)}const s=t.getUTCMonth()+1;return C.create(s)}}class po extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const s=me(e);if(typeof s!="number")return s;const i=me(t);if(typeof i!="number")return i;let o;if(r){const u=[];if(r!=null&&r.isArray()){const l=r.getRowCount(),c=r.getColumnCount();for(let m=0;m<l;m++)for(let d=0;d<c;d++){const p=r.get(m,d);if(p.isBoolean())return h.create(f.VALUE);const R=me(p);if(typeof R!="number")return R;u.push(R)}}else{if(r.isBoolean())return h.create(f.VALUE);const l=me(r);if(typeof l!="number")return l;u.push(l)}o=xr(s,i,1,u)}else o=xr(s,i);return C.create(o)}}class Ro extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",4)}calculate(e,t,r,s){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:s!=null&&s.isError()?s:r!=null&&r.isArray()?r.map(i=>this._handleSingleObject(e,t,i,s)):this._handleSingleObject(e,t,r,s)}_handleSingleObject(e,t,r,s){let i=1;if(r){if(i=r.getValue(),r.isBoolean()&&(i=+i),r.isString()&&!Gt(i))return h.create(f.VALUE);if(!Gt(i))return h.create(f.NUM)}if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const o=me(e);if(typeof o!="number")return o;const u=me(t);if(typeof u!="number")return u;let l;if(s){const c=[];if(s!=null&&s.isArray()){const m=s.getRowCount(),d=s.getColumnCount();for(let p=0;p<m;p++)for(let R=0;R<d;R++){const _=s.get(p,R);if(_.isBoolean())return h.create(f.VALUE);const S=me(_);if(typeof S!="number")return S;c.push(S)}}else{if(s.isBoolean())return h.create(f.VALUE);const m=me(s);if(typeof m!="number")return m;c.push(m)}l=xr(o,u,i,c)}else l=xr(o,u,i);return C.create(l)}}class Co extends P{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",0)}calculate(){const e=new Date,t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())),r=ro(t);return C.create(r,eo)}}class _o extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=me(e);if(typeof t!="number")return t;if(t===0)return C.create(0);const s=bn(t).getUTCSeconds();return C.create(s)}}class Eo extends P{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=$(s,i,e),u=$(s,i,t),l=$(s,i,r);return o.map((c,m,d)=>this._calculateTime(c,u,l,m,d))}_calculateTime(e,t,r,s,i){let o=t.get(s,i)||se.create(),u=r.get(s,i)||se.create();if((e.isString()||e.isBoolean())&&(e=e.convertToNumberObjectValue()),(o.isString()||o.isBoolean())&&(o=o.convertToNumberObjectValue()),(u.isString()||u.isBoolean())&&(u=u.convertToNumberObjectValue()),e.isError())return e;if(o.isError())return o;if(u.isError())return u;let l=Math.floor(+e.getValue()),c=Math.floor(+o.getValue()),m=Math.floor(+u.getValue());if(l<0||c<0||m<0||l>32767||c>32767||m>32767)return h.create(f.NUM);c+=Math.floor(m/60),m%=60,l+=Math.floor(c/60),c%=60,l%=24;const p=(l*3600+c*60+m)/86400;return C.create(p,to)}}class yo extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isString()){const t=`${e.getValue()}`,r=ia(t);if(r){const{v:s,z:i}=r;if(oa(i))return C.create(Fi(s))}}return h.create(f.VALUE)}}class Do extends P{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",0)}calculate(){const e=ve(new Date);return C.create(e,Ln)}}class Ao extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1),i=$(r,s,e,h.create(f.NA)),o=t?$(r,s,t,h.create(f.NA)):[],u=i.map((l,c,m)=>{if(t){const d=o.get(c,m);return this._handleSingleObject(l,d)}else return this._handleSingleObject(l)});return u.getRowCount()===1&&u.getColumnCount()===1?u.getArrayValue()[0][0]:u}_handleSingleObject(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;const r=me(e);if(typeof r!="number")return r;const s={1:[1,2,3,4,5,6,7],2:[7,1,2,3,4,5,6],3:[6,0,1,2,3,4,5],11:[7,1,2,3,4,5,6],12:[6,7,1,2,3,4,5],13:[5,6,7,1,2,3,4],14:[4,5,6,7,1,2,3],15:[3,4,5,6,7,1,2],16:[2,3,4,5,6,7,1],17:[1,2,3,4,5,6,7]};let i=1;if(t){if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;if(i=Math.floor(+t.getValue()),!s[i])return h.create(f.NUM)}const o=At(r),u=s[i][o];return C.create(u)}}class So extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",2);g(this,"returnTypeMap",{1:0,2:1,11:1,12:2,13:3,14:4,15:5,16:6,17:0,21:4})}calculate(e,t){if(e.isArray()){const p=e.getRowCount(),R=e.getColumnCount();if(p>1||R>1)return h.create(f.VALUE);e=e.get(0,0)}if(t!=null&&t.isArray()){const p=t.getRowCount(),R=t.getColumnCount();if(p>1||R>1)return h.create(f.VALUE);t=t.get(0,0)}if(e.isError())return e;if(t!=null&&t.isError())return t;if(e.isBoolean())return h.create(f.VALUE);const r=me(e);if(typeof r!="number")return r;let s=1;if(t&&(s=Math.floor(+t.getValue()),t.isBoolean()||t.isString()&&!y.isRealNum(s)))return h.create(f.VALUE);if(!(s in this.returnTypeMap))return h.create(f.NUM);const i=xe(r),o=r>0?i.getUTCFullYear():1900;let u=new Date(Date.UTC(o,0,1)),l=ve(u),c=At(l),m;if(s===21)c<1?m=l+1:c<=4?m=l-(c-1):m=l+(11-c),r<m&&(u=new Date(Date.UTC(o-1,0,1)),l=ve(u),c=At(l),c<1?m=l+1:c<=4?m=l-(c-1):m=l+(11-c));else{const p=this.returnTypeMap[s];c<p?m=l-(c+7-p):m=l-(c-p)}const d=Math.ceil((r-m+1)/7);return C.create(d)}}class Vo extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const s=me(e);if(typeof s!="number")return s;if(t.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;const i=+t.getValue();let o;if(r){const u=[];if(r!=null&&r.isArray()){const l=r.getRowCount(),c=r.getColumnCount();for(let m=0;m<l;m++)for(let d=0;d<c;d++){const p=r.get(m,d);if(p.isBoolean())return h.create(f.VALUE);const R=me(p);if(typeof R!="number")return R;u.push(R)}}else{if(r.isBoolean())return h.create(f.VALUE);const l=me(r);if(typeof l!="number")return l;u.push(l)}o=wr(s,i,1,u)}else o=wr(s,i);return typeof o!="number"?o:C.create(o)}}class Po extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",4)}calculate(e,t,r,s){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:s!=null&&s.isError()?s:r!=null&&r.isArray()?r.map(i=>this._handleSingleObject(e,t,i,s)):this._handleSingleObject(e,t,r,s)}_handleSingleObject(e,t,r,s){let i=1;if(r){if(i=r.getValue(),r.isBoolean()&&(i=+i),r.isString()&&(!Gt(i)||i==="1111111"))return h.create(f.VALUE);if(!Gt(i))return h.create(f.NUM)}if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const o=me(e);if(typeof o!="number")return o;if(t.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;const u=+t.getValue();let l;if(s){const c=[];if(s!=null&&s.isArray()){const m=s.getRowCount(),d=s.getColumnCount();for(let p=0;p<m;p++)for(let R=0;R<d;R++){const _=s.get(p,R);if(_.isBoolean())return h.create(f.VALUE);const S=me(_);if(typeof S!="number")return S;c.push(S)}}else{if(s.isBoolean())return h.create(f.VALUE);const m=me(s);if(typeof m!="number")return m;c.push(m)}l=wr(o,u,i,c)}else l=wr(o,u,i);return typeof l!="number"?l:C.create(l)}}class Lo extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t;const r=e.getValue();if(e.isString()){if(!xn(`${r}`))return h.create(f.VALUE);t=new Date(`${r}`)}else{const o=+r;if(o<0)return h.create(f.NUM);if(o===0)return C.create(1900);t=xe(o)}const s=t.getUTCFullYear();return C.create(s)}}class bo extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",3)}calculate(e,t,r){if(e.isArray()){const L=e.getRowCount(),w=e.getColumnCount();if(L>1||w>1)return h.create(f.VALUE);e=e.get(0,0)}if(t.isArray()){const L=t.getRowCount(),w=t.getColumnCount();if(L>1||w>1)return h.create(f.VALUE);t=t.get(0,0)}if(r!=null&&r.isArray()){const L=r.getRowCount(),w=r.getColumnCount();if(L>1||w>1)return h.create(f.VALUE);r=r.get(0,0)}if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(e.isBoolean()||t.isBoolean()||r!=null&&r.isBoolean())return h.create(f.VALUE);const s=me(e);if(typeof s!="number")return s;const i=me(t);if(typeof i!="number")return i;const o=xe(s),u=s>0?o.getUTCFullYear():1900,l=s>0?o.getUTCMonth()+1:1;let c=s>0?o.getUTCDate():0,m=xe(i),d=i>0?m.getUTCFullYear():1900,p=i>0?m.getUTCMonth()+1:1,R=i>0?m.getUTCDate():0,_=0;if(r){if(_=Math.floor(+r.getValue()),Number.isNaN(_))return h.create(f.VALUE);if(_<0||_>4)return h.create(f.NUM)}let S=0;if(_===0){c===31&&(c=30),R===31&&(c<30?(m=xe(i+1),d=m.getUTCFullYear(),p=m.getUTCMonth()+1,R=m.getUTCDate()):R=30);const L=(d-u)*360,w=i>=s?30-c:-c,b=i>=s?R:R-30,N=(i>=s?p-l-1:p-l+1)*30;S=Math.abs(L+w+b+N)/360}else if(_===1){const L=Math.abs(i-s),w=Math.abs(d-u)+1;let b,N;if(d<u){const z=new Date(Date.UTC(d,0,1)),ee=new Date(Date.UTC(u,11,31));b=ve(z),N=ve(ee),d===1900&&(b+=1)}else{const z=new Date(Date.UTC(u,0,1)),ee=new Date(Date.UTC(d,11,31));b=ve(z),N=ve(ee),u===1900&&(b+=1)}S=L/((N-b+1)/w)}else if(_===2)S=Math.abs(i-s)/360;else if(_===3)S=Math.abs(i-s)/365;else if(_===4){c===31&&(c=30),R===31&&(R=30);const L=(d-u)*360,w=i>=s?30-c:-c,b=i>=s?R:R-30,N=(i>=s?p-l-1:p-l+1)*30;S=Math.abs(L+w+b+N)/360}return C.create(S)}}const ca=[[no,de.DATE],[so,de.DATEDIF],[ao,de.DATEVALUE],[io,de.DAY],[oo,de.DAYS],[uo,de.DAYS360],[lo,de.EDATE],[co,de.EOMONTH],[fo,de.HOUR],[ho,de.ISOWEEKNUM],[mo,de.MINUTE],[go,de.MONTH],[po,de.NETWORKDAYS],[Ro,de.NETWORKDAYS_INTL],[Co,de.NOW],[_o,de.SECOND],[Eo,de.TIME],[yo,de.TIMEVALUE],[Do,de.TODAY],[Ao,de.WEEKDAY],[So,de.WEEKNUM],[Vo,de.WORKDAY],[Po,de.WORKDAY_INTL],[Lo,de.YEAR],[bo,de.YEARFRAC]],fa=[];var ha=(n=>(n.BESSELI="BESSELI",n.BESSELJ="BESSELJ",n.BESSELK="BESSELK",n.BESSELY="BESSELY",n.BIN2DEC="BIN2DEC",n.BIN2HEX="BIN2HEX",n.BIN2OCT="BIN2OCT",n.BITAND="BITAND",n.BITLSHIFT="BITLSHIFT",n.BITOR="BITOR",n.BITRSHIFT="BITRSHIFT",n.BITXOR="BITXOR",n.COMPLEX="COMPLEX",n.CONVERT="CONVERT",n.DEC2BIN="DEC2BIN",n.DEC2HEX="DEC2HEX",n.DEC2OCT="DEC2OCT",n.DELTA="DELTA",n.ERF="ERF",n.ERF_PRECISE="ERF.PRECISE",n.ERFC="ERFC",n.ERFC_PRECISE="ERFC.PRECISE",n.GESTEP="GESTEP",n.HEX2BIN="HEX2BIN",n.HEX2DEC="HEX2DEC",n.HEX2OCT="HEX2OCT",n.IMABS="IMABS",n.IMAGINARY="IMAGINARY",n.IMARGUMENT="IMARGUMENT",n.IMCONJUGATE="IMCONJUGATE",n.IMCOS="IMCOS",n.IMCOSH="IMCOSH",n.IMCOT="IMCOT",n.IMCSC="IMCSC",n.IMCSCH="IMCSCH",n.IMDIV="IMDIV",n.IMEXP="IMEXP",n.IMLN="IMLN",n.IMLOG10="IMLOG10",n.IMLOG2="IMLOG2",n.IMPOWER="IMPOWER",n.IMPRODUCT="IMPRODUCT",n.IMREAL="IMREAL",n.IMSEC="IMSEC",n.IMSECH="IMSECH",n.IMSIN="IMSIN",n.IMSINH="IMSINH",n.IMSQRT="IMSQRT",n.IMSUB="IMSUB",n.IMSUM="IMSUM",n.IMTAN="IMTAN",n.OCT2BIN="OCT2BIN",n.OCT2DEC="OCT2DEC",n.OCT2HEX="OCT2HEX",n))(ha||{});const ma=[];var ga=(n=>(n.ACCRINT="ACCRINT",n.ACCRINTM="ACCRINTM",n.AMORDEGRC="AMORDEGRC",n.AMORLINC="AMORLINC",n.COUPDAYBS="COUPDAYBS",n.COUPDAYS="COUPDAYS",n.COUPDAYSNC="COUPDAYSNC",n.COUPNCD="COUPNCD",n.COUPNUM="COUPNUM",n.COUPPCD="COUPPCD",n.CUMIPMT="CUMIPMT",n.CUMPRINC="CUMPRINC",n.DB="DB",n.DDB="DDB",n.DISC="DISC",n.DOLLARDE="DOLLARDE",n.DOLLARFR="DOLLARFR",n.DURATION="DURATION",n.EFFECT="EFFECT",n.FV="FV",n.FVSCHEDULE="FVSCHEDULE",n.INTRATE="INTRATE",n.IPMT="IPMT",n.IRR="IRR",n.ISPMT="ISPMT",n.MDURATION="MDURATION",n.MIRR="MIRR",n.NOMINAL="NOMINAL",n.NPER="NPER",n.NPV="NPV",n.ODDFPRICE="ODDFPRICE",n.ODDFYIELD="ODDFYIELD",n.ODDLPRICE="ODDLPRICE",n.ODDLYIELD="ODDLYIELD",n.PDURATION="PDURATION",n.PMT="PMT",n.PPMT="PPMT",n.PRICE="PRICE",n.PRICEDISC="PRICEDISC",n.PRICEMAT="PRICEMAT",n.PV="PV",n.RATE="RATE",n.RECEIVED="RECEIVED",n.RRI="RRI",n.SLN="SLN",n.SYD="SYD",n.TBILLEQ="TBILLEQ",n.TBILLPRICE="TBILLPRICE",n.TBILLYIELD="TBILLYIELD",n.VDB="VDB",n.XIRR="XIRR",n.XNPV="XNPV",n.YIELD="YIELD",n.YIELDDISC="YIELDDISC",n.YIELDMAT="YIELDMAT",n))(ga||{}),Le=(n=>(n.CELL="CELL",n.ERROR_TYPE="ERROR.TYPE",n.INFO="INFO",n.ISBLANK="ISBLANK",n.ISERR="ISERR",n.ISERROR="ISERROR",n.ISEVEN="ISEVEN",n.ISFORMULA="ISFORMULA",n.ISLOGICAL="ISLOGICAL",n.ISNA="ISNA",n.ISNONTEXT="ISNONTEXT",n.ISNUMBER="ISNUMBER",n.ISODD="ISODD",n.ISOMITTED="ISOMITTED",n.ISREF="ISREF",n.ISTEXT="ISTEXT",n.N="N",n.NA="NA",n.SHEET="SHEET",n.SHEETS="SHEETS",n.TYPE="TYPE",n))(Le||{});class xo extends P{constructor(){super(...arguments);g(this,"needsReferenceObject",!0);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(e.isReferenceObject()&&(e=e.toArrayValueObject()),e.isArray()){const r=e.getRowCount(),s=e.getColumnCount();if(r===1&&s===1){const i=e.get(0,0);return this._handleSingleObject(i,t)}return e.map(i=>i.isError()?i:this._handleSingleObject(i,t,!0))}return this._handleSingleObject(e,t)}_handleSingleObject(e,t,r=!1){var d;if(t.isError())return t;if(!t.isReferenceObject())return h.create(f.NA);const s=t.getCurrentActiveSheetData(),{columnData:i,defaultColumnWidth:o}=s;t=t.toArrayValueObject();const u=t.getCurrentRow(),l=t.getCurrentColumn();t=t.getFirstCell();const c=`${e.getValue()}`;let m;switch(c.toLocaleLowerCase()){case"address":return fe.create(`$${y.Tools.chatAtABC(l)}$${u+1}`);case"col":return C.create(l+1);case"color":return C.create(0);case"contents":return t;case"filename":return h.create(f.VALUE);case"format":return fe.create("G");case"parentheses":return C.create(0);case"prefix":return fe.create("");case"protect":return C.create(1);case"row":return C.create(u+1);case"type":return m="v",t.isNull()&&(m="b"),t.isString()&&(m="l"),fe.create(m);case"width":return m=(d=i[l])==null?void 0:d.w,!m&&m!==0&&(m=o),r?C.create(m):(m=[[m,m===o]],Ce.createByArray(m));default:return h.create(f.VALUE)}}}class wo extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1);g(this,"errorTypeValueMap",new Map([[f.NULL,1],[f.DIV_BY_ZERO,2],[f.VALUE,3],[f.REF,4],[f.NAME,5],[f.NUM,6],[f.NA,7],[f.CONNECT,8],[f.CALC,14]]))}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=e.getValue(),r=this.errorTypeValueMap.get(t);return r?C.create(r):h.create(f.NA)}}class Mo extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isNull()?j.create(!0):e.isArray()?e.mapValue(t=>t.isNull()?j.create(!0):j.create(!1)):j.create(!1)}}class Uo extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.getValue()===f.NA?j.create(!1):e.isError()?j.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===f.NA?j.create(!1):t.isError()?j.create(!0):j.create(!1)):j.create(!1)}}class Fo extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?j.create(!0):e.isArray()?e.mapValue(t=>t.isError()?j.create(!0):j.create(!1)):j.create(!1)}}class vo extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){if(e.isArray()||e.isBoolean()||!e.isNumber()&&(e=e.convertToNumberObjectValue(),!e.isNumber()))return h.create(f.VALUE);const t=e.getValue(),r=Math.floor(Math.abs(t));return j.create(r%2===0)}}class Bo extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isBoolean()?j.create(!0):e.isArray()?e.mapValue(t=>t.isBoolean()?j.create(!0):j.create(!1)):j.create(!1)}}class Oo extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.getValue()===f.NA?j.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===f.NA?j.create(!0):j.create(!1)):j.create(!1)}}class To extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return!e.isArray()&&!e.isString()?j.create(!0):e.isArray()?e.mapValue(t=>t.isString()?j.create(!1):j.create(!0)):j.create(!1)}}class ko extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isNumber()?j.create(!0):e.isArray()?e.mapValue(t=>t.isNumber()?j.create(!0):j.create(!1)):j.create(!1)}}class Io extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){if(e.isArray()||e.isBoolean()||!e.isNumber()&&(e=e.convertToNumberObjectValue(),!e.isNumber()))return h.create(f.VALUE);const t=e.getValue(),r=Math.floor(Math.abs(t));return j.create(r%2!==0)}}class $o extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1);g(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?j.create(!0):j.create(!1)}}class No extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()?j.create(!0):e.isArray()?e.mapValue(t=>t.isString()?j.create(!0):j.create(!1)):j.create(!1)}}class jo extends P{constructor(){super(...arguments);g(this,"needsReferenceObject",!0);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){if(e.isReferenceObject()){const t=e.getRowCount(),r=e.getColumnCount();if(t===1&&r===1){if(e=e.getFirstCell(),e.isError())return C.create(16);if(e.isBoolean())return C.create(4);if(e.isString())return C.create(2);if(e.isNumber()||e.isNull())return C.create(1)}else return C.create(64)}else{if(e.isArray())return C.create(64);if(e.isError())return C.create(16);if(e.isBoolean())return C.create(4);if(e.isString())return C.create(2);if(e.isNumber()||e.isNull())return C.create(1)}return C.create(128)}}const da=[[xo,Le.CELL],[wo,Le.ERROR_TYPE],[Mo,Le.ISBLANK],[Uo,Le.ISERR],[vo,Le.ISEVEN],[Io,Le.ISODD],[Fo,Le.ISERROR],[Bo,Le.ISLOGICAL],[Oo,Le.ISNA],[To,Le.ISNONTEXT],[ko,Le.ISNUMBER],[$o,Le.ISREF],[No,Le.ISTEXT],[jo,Le.TYPE]];class Yo extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=!0,r=!0,s=null;for(const i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(o=>{if(o!=null&&o.isError())return s=o,!1;(o!=null&&o.isBoolean()||o!=null&&o.isNumber())&&(t=t&&!!o.getValue(),r=!1)}),s)return s}else(i.isBoolean()||i.isNumber())&&(t=t&&!!i.getValue(),r=!1)}return r?h.create(f.VALUE):j.create(t)}}var ot=(n=>(n.AND="AND",n.BYCOL="BYCOL",n.BYROW="BYROW",n.FALSE="FALSE",n.IF="IF",n.IFERROR="IFERROR",n.IFNA="IFNA",n.IFS="IFS",n.LAMBDA="LAMBDA",n.LET="LET",n.MAKEARRAY="MAKEARRAY",n.MAP="MAP",n.NOT="NOT",n.OR="OR",n.REDUCE="REDUCE",n.SCAN="SCAN",n.SWITCH="SWITCH",n.TRUE="TRUE",n.XOR="XOR",n))(ot||{});class Ho extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",3)}calculate(e,t,r=j.create(!1)){if(e.isError())return e;if(t.isError())return t;if(e=this._getSingleValueObject(e),!e.isArray())return e.getValue()?t:r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=$(s,i,e),u=$(s,i,t,h.create(f.NA)),l=$(s,i,r,h.create(f.NA));return o.map((c,m,d)=>{if(c.isNull())return h.create(f.NA);{const p=u.get(m,d)||se.create(),R=l.get(m,d)||se.create();return this._calculateSingleCell(c,p,R)}})}_getSingleValueObject(e){return e.isArray()&&e.getRowCount()===1&&e.getColumnCount()===1?e.getFirstCell():e}_calculateSingleCell(e,t,r){return e.isNull()?h.create(f.NA):e.getValue()?t.isNull()?h.create(f.NA):t:r.isNull()?h.create(f.NA):r}}class Qo extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;if(!e.isArray())return e.isError()?t:e;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=$(r,s,e),o=$(r,s,t);return i.iterator((u,l,c)=>{u!=null&&u.isError()&&i.set(l,c,o.get(l,c))}),i}}class zo extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){return h.create(f.VALUE)}}class Wo extends P{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",3)}calculate(...e){const t=this.getIndexNumValue(e[0]);if(typeof t!="number")return t;const r=this.getIndexNumValue(e[1]);if(typeof r!="number")return r;if(!(e[2].isValueObject()&&e[2].isLambda()))return h.create(f.VALUE);const s=e[2],i=[];for(let o=0;o<t;o++){i[o]==null&&(i[o]=[]);for(let u=0;u<r;u++){const l=s.execute(C.create(o+1),C.create(u+1));i[o][u]=l}}return new Ws(i)}isAsync(){return!0}}class Go extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=!1,r=!0,s=null;for(const i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(o=>{if(o!=null&&o.isError())return s=o,!1;(o!=null&&o.isBoolean()||o!=null&&o.isNumber())&&(t=t||!!o.getValue(),r=!1)}),s)return s}else(i.isBoolean()||i.isNumber())&&(t=t||!!i.getValue(),r=!1)}return r?new h(f.VALUE):new j(t)}}const pa=[[Yo,ot.AND],[Ho,ot.IF],[zo,ot.LAMBDA],[Wo,ot.MAKEARRAY],[Go,ot.OR],[Qo,ot.IFERROR]];class Ko extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",5)}calculate(e,t,r,s,i){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(s!=null&&s.isError())return s;if(i!=null&&i.isError())return i;r=r!=null?r:C.create(1),s=s!=null?s:j.create(!0),i=i!=null?i:fe.create("");const o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1,i.isArray()?i.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1,i.isArray()?i.getColumnCount():1),l=$(o,u,e,h.create(f.NA)),c=$(o,u,t,h.create(f.NA)),m=$(o,u,r,h.create(f.NA)),d=$(o,u,s,h.create(f.NA)),p=$(o,u,i,h.create(f.NA));return l.map((R,_,S)=>{const L=c.get(_,S)||h.create(f.NA),w=m.get(_,S)||h.create(f.NA),b=d.get(_,S)||h.create(f.NA),N=p.get(_,S)||h.create(f.NA);return R.isError()?R:L.isError()?L:w.isError()?w:b.isError()?b:N.isError()?N:this._calculateSingleCell(R,L,w,b,N)})}_calculateSingleCell(e,t,r,s,i){const o=Number.parseInt(`${Number(e.getValue())-1}`),u=Number.parseInt(`${Number(t.getValue())-1}`),l=Number.parseInt(`${Number(r.getValue())}`);if(Number.isNaN(o)||Number.isNaN(u)||Number.isNaN(l)||l<1||l>4)return h.create(f.VALUE);const c=qo(l),m=this.getZeroOrOneByOneDefault(s),d=`${i.getValue()}`,p=br(d)?`'${d}'`:d,R={startRow:o,startColumn:u,endRow:o,endColumn:u,startAbsoluteRefType:c,endAbsoluteRefType:c},_=s&&!m?Ki(R):et(R);return fe.create(p!==""?`${p}!${_}`:_)}}function qo(n){switch(n){case 1:return y.AbsoluteRefType.ALL;case 2:return y.AbsoluteRefType.ROW;case 3:return y.AbsoluteRefType.COLUMN;case 4:return y.AbsoluteRefType.NONE;default:return y.AbsoluteRefType.ALL}}class Xo extends P{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",1)}calculate(e){if(e==null)return C.create(this.column+1);if(e.isError())return e;if(!e.isArray())return h.create(f.NA);const t=e.getCurrentColumn(),r=e.getColumnCount(),s=[];for(let o=0;o<r;o++)s.push(C.create(t+o+1));const i={calculateValueList:[s],rowCount:1,columnCount:r,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(i)}}class Zo extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return C.create(1);if(!e.isArray())return h.create(f.NA);const t=e.getColumnCount();return C.create(t)}}var Pe=(n=>(n.ADDRESS="ADDRESS",n.AREAS="AREAS",n.CHOOSE="CHOOSE",n.CHOOSECOLS="CHOOSECOLS",n.CHOOSEROWS="CHOOSEROWS",n.COLUMN="COLUMN",n.COLUMNS="COLUMNS",n.DROP="DROP",n.EXPAND="EXPAND",n.FILTER="FILTER",n.FORMULATEXT="FORMULATEXT",n.GETPIVOTDATA="GETPIVOTDATA",n.HLOOKUP="HLOOKUP",n.HSTACK="HSTACK",n.HYPERLINK="HYPERLINK",n.IMAGE="IMAGE",n.INDEX="INDEX",n.INDIRECT="INDIRECT",n.LOOKUP="LOOKUP",n.MATCH="MATCH",n.OFFSET="OFFSET",n.ROW="ROW",n.ROWS="ROWS",n.RTD="RTD",n.SORT="SORT",n.SORTBY="SORTBY",n.TAKE="TAKE",n.TOCOL="TOCOL",n.TOROW="TOROW",n.TRANSPOSE="TRANSPOSE",n.UNIQUE="UNIQUE",n.VLOOKUP="VLOOKUP",n.VSTACK="VSTACK",n.WRAPCOLS="WRAPCOLS",n.WRAPROWS="WRAPROWS",n.XLOOKUP="XLOOKUP",n.XMATCH="XMATCH",n))(Pe||{});class Jo extends P{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",4)}calculate(e,t,r,s){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray()||r.isError()||s!=null&&s.isError())return h.create(f.NA);const i=this.getZeroOrOneByOneDefault(s);if(i==null)return h.create(f.VALUE);const o=this.getIndexNumValue(r);if(o instanceof h)return o;const u=t.slice([0,1]),l=t.slice([o-1,o]);return u==null||l==null?h.create(f.REF):e.isArray()?e.map(c=>this._handleSingleObject(c,u,l,i)):this._handleSingleObject(e,u,l,i)}_handleSingleObject(e,t,r,s){return s===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class eu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",2)}isAddress(){return!0}calculate(e,t){if(e.isError())return e;let r=this.getZeroOrOneByOneDefault(t);if(r==null&&(r=1),e.isArray()){const m=e;if(m.getRowCount()===1&&m.getColumnCount()===1)e=m.getFirstCell();else return m.map(()=>h.create(f.VALUE))}if(!e.isString())return h.create(f.REF);const s=this._convertToDefinedName(e.getValue());if(r===0){const m=Gs(s),{range:d,sheetName:p,unitId:R}=m,_=new Wt(d);return _.setForcedUnitIdDirect(R),_.setForcedSheetName(p),this._setDefault(_)}if(new RegExp(Xt).test(s))return this._setDefault(new Sn(s));if(new RegExp(Us).test(s))return this._setDefault(new Vn(s));if(new RegExp(Fs).test(s))return this._setDefault(new Pn(s));const i=Qe(s),{range:o,sheetName:u,unitId:l}=i,c=new Wt(o);return c.setForcedUnitIdDirect(l),c.setForcedSheetName(u),this._setDefault(c)}_setDefault(e){return this.unitId==null||this.subUnitId==null?h.create(f.REF):(e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId),e)}_convertToDefinedName(e){const t=this.getDefinedName(e);if(t==null)return e;const r=t.formulaOrRefString;return r==null?e:r.startsWith(oe.EQUALS)?r.slice(1):r}}class tu extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",3);g(this,"needsExpandParams",!0)}calculate(e,t,r){return e.isError()?e:t.isError()?h.create(f.REF):t.isArray()?r!=null&&r.isError()?r:t.getColumnCount()===1||t.getRowCount()===1?r!=null&&!r.isArray()?h.create(f.REF):this._handleVector(e,t,r):this._handleArray(e,t):h.create(f.VALUE)}_handleVector(e,t,r){if(r==null)r=t;else if(r.getRowCount()!==t.getRowCount()||r.getColumnCount()!==t.getColumnCount())return h.create(f.REF);return e.isArray()?e.map(s=>this.binarySearch(s,t,r)):this.binarySearch(e,t,r)}_handleArray(e,t){const r=t.getRowCount(),s=t.getColumnCount();let i,o;return s>r?(i=t.slice([0,1]),o=t.slice([r-1,r])):(i=t.slice(void 0,[0,1]),o=t.slice(void 0,[s-1,s])),i==null||o==null?h.create(f.VALUE):e.isArray()?e.map(u=>this.binarySearch(u,i,o)):this.binarySearch(e,i,o)}}class ru extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const s=t.getRowCount(),i=t.getColumnCount();if(s!==1&&i!==1||r!=null&&r.isError())return h.create(f.NA);const o=this.getMatchTypeValue(r);return o==null?h.create(f.VALUE):e.isArray()?e.map(u=>this._handleSingleObject(u,t,o)):this._handleSingleObject(e,t,o)}_handleSingleObject(e,t,r){const s=this._getSearchModeValue(r),i=t.orderSearch(e,s);if(i==null)return h.create(f.NA);if(i instanceof h)return i;const o=t.getRowCount()===1?i.column+1:i.row+1;return C.create(o)}_getSearchModeValue(e){switch(e){case 1:return Me.MIN;case 0:return Me.NORMAL;case-1:return Me.MAX}}}class nu extends P{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",5);g(this,"needsReferenceObject",!0)}isAddress(){return!0}calculate(e,t,r,s,i){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(s!=null&&s.isError())return s;if(i!=null&&i.isError())return i;if(!e.isReferenceObject())return h.create(f.VALUE);e=e;const o=e.getRowCount(),u=e.getColumnCount();t.isReferenceObject()&&(t=t.toArrayValueObject()),r.isReferenceObject()&&(r=r.toArrayValueObject()),s?s.isReferenceObject()&&(s=s.toArrayValueObject()):s=C.create(o),i?i.isReferenceObject()&&(i=i.toArrayValueObject()):i=C.create(u);const l=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1,i.isArray()?i.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1,i.isArray()?i.getColumnCount():1);if(t=t,r=r,s=s,i=i,l===1&&c===1)return this._handleSingleObject(e,t,r,s,i);const m=$(l,c,t,h.create(f.NA)),d=$(l,c,r,h.create(f.NA)),p=$(l,c,s,h.create(f.NA)),R=$(l,c,i,h.create(f.NA));return m.mapValue((_,S,L)=>{const w=d.get(S,L),b=p.get(S,L),N=R.get(S,L);return _.isError()?_:w.isError()?w:b.isError()?b:N.isError()?N:this._handleSingleObject(e,_,w,b,N,!0)})}_handleSingleObject(e,t,r,s,i,o=!1){const{startRow:u,startColumn:l}=e.getRangeData(),c=this.getIndexNumValue(t),m=this.getIndexNumValue(r);if(typeof c!="number"||typeof m!="number")return h.create(f.VALUE);const d=u+c,p=l+m;if(d<0||p<0)return h.create(f.REF);const R=this.getIndexNumValue(s),_=this.getIndexNumValue(i);if(typeof R!="number"||typeof _!="number")return h.create(f.VALUE);if(R===0||_===0)return h.create(f.REF);const S=R>0?d+R-1:d+R+1,L=_>0?p+_-1:p+_+1;if(S<0||L<0)return h.create(f.REF);if(o)return h.create(f.VALUE);const w=d<S?d:S,b=p<L?p:L,N=d>S?d:S,z=p>L?p:L,ee={startRow:w,startColumn:b,endRow:N,endColumn:z};return this.createReferenceObject(e,ee)}}class su extends P{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",1)}calculate(e){if(e==null)return C.create(this.row+1);if(e.isError())return e;if(!e.isArray())return h.create(f.NA);const t=e.getCurrentRow(),r=e.getRowCount(),s=[];for(let o=0;o<r;o++)s.push([C.create(t+o+1)]);const i={calculateValueList:s,rowCount:r,columnCount:1,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(i)}}class au extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return C.create(1);if(!e.isArray())return h.create(f.NA);const t=e.getRowCount();return C.create(t)}}class iu extends P{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",4)}calculate(e,t,r,s){return e.isError()?e:t.isError()?t:t.isArray()?r.isError()?r:s!=null&&s.isError()?s:(s=s!=null?s:j.create(!0),ls(e)&&ls(s)&&r.isArray()?this._handleArrayColIndexNum(e,t,r,s):this._handleNonArrayColIndexNum(e,t,r,s)):h.create(f.VALUE)}_handleArrayColIndexNum(e,t,r,s){e=e.isArray()?e.getFirstCell():e;const i=this.getZeroOrOneByOneDefault(s);if(i==null)return h.create(f.VALUE);let o;const u=[];return r.iterator((l,c,m)=>{if(l==null)return o=h.create(f.VALUE),!1;const d=this._handleTableArray(e,t,l,i);if(d.isError())return o=d,!1;u[c]===void 0&&(u[c]=[]),u[c][m]=d}),o||Dt(u,u.length,u[0].length,this.unitId||"",this.subUnitId||"")}_handleNonArrayColIndexNum(e,t,r,s){const i=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=$(i,o,e),l=$(i,o,s);return u.map((c,m,d)=>{if(c.isError())return c;const p=l.get(m,d);if(p==null)return h.create(f.VALUE);if(p.isError())return p;const R=this.getZeroOrOneByOneDefault(p);return R==null?h.create(f.VALUE):this._handleTableArray(c,t,r,R)})}_handleTableArray(e,t,r,s){const i=this.getIndexNumValue(r);if(i instanceof h)return i;const o=t.slice(void 0,[0,1]);if(o==null)return h.create(f.VALUE);const u=t.slice(void 0,[i-1,i]);return u==null?h.create(f.REF):this._handleSingleObject(e,o,u,s)}_handleSingleObject(e,t,r,s){return s===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class ou extends P{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",6)}calculate(e,t,r,s,i,o){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const u=t.getRowCount(),l=t.getColumnCount();if(u!==1&&l!==1)return h.create(f.VALUE);if(r.isError())return h.create(f.REF);if(!r.isArray())return h.create(f.VALUE);const c=r.getRowCount(),m=r.getColumnCount();if(u!==c&&l!==m)return h.create(f.VALUE);if(s!=null&&s.isError()||i!=null&&i.isError()||o!=null&&o.isError())return h.create(f.NA);s==null&&(s=h.create(f.NA));const d=this.getIndexNumValue(i||C.create(0));if(d instanceof h)return d;const p=this.getIndexNumValue(o||C.create(1));if(p instanceof h)return p;if(e.isArray()){let S;return u===1?S=r.slice([0,1]):S=r.slice(void 0,[0,1]),S==null?h.create(f.NA):e.map(L=>{const w=this._handleSingleObject(L,t,S,d,p);return w.isError()?s:w})}if(l===m&&u===c){const S=this._handleSingleObject(e,t,r,d,p);return S.isError()?s:S}let R=0;l===m&&(R=1);const _=this._handleExpandObject(e,t,r,d,p,R);return _==null?h.create(f.NA):_}_handleExpandObject(e,t,r,s,i,o=0){return(i===2||i===-2)&&s!==2?this.binarySearchExpand(e,t,r,o,this._getSearchModeValue(i)):s===2?this.fuzzySearchExpand(e,t,r,i!==-1,o):s===-1||s===1?this.orderSearchExpand(e,t,r,s===1?Me.MAX:Me.MIN,i===-1,o):this.equalSearchExpand(e,t,r,i!==-1,o)}_handleSingleObject(e,t,r,s,i){return(i===2||i===-2)&&s!==2?this.binarySearch(e,t,r,this._getSearchModeValue(i)):s===2?this.fuzzySearch(e,t,r,i!==-1):s===-1||s===1?this.orderSearch(e,t,r,s===1?Me.MAX:Me.MIN,i===-1):this.equalSearch(e,t,r,i!==-1)}_getSearchModeValue(e){return e===-2?Ze.MAX:Ze.MIN}}class uu extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",4)}calculate(e,t,r,s){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const i=t.getRowCount(),o=t.getColumnCount();if(i!==1&&o!==1)return h.create(f.VALUE);if(r!=null&&r.isError()||s!=null&&s.isError())return h.create(f.NA);const u=this.getIndexNumValue(r||C.create(0));if(u instanceof h)return u;const l=this.getIndexNumValue(s||C.create(1));return l instanceof h?l:e.isArray()?e.map(c=>this._handleSingleObject(c,t,u,l)):this._handleSingleObject(e,t,u,l)}_handleSingleObject(e,t,r,s){let i;if((s===2||s===-2)&&r!==2){const o=this._getSearchModeValue(s);i=t.binarySearch(e,o)}else if(r===2){const o=t.compare(e,v.EQUALS);let u;if(s!==-1?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null)return h.create(f.NA);i=t.getRowCount()===1?u.column:u.row}else if(r===-1||r===1){const o=t.orderSearch(e,r===1?Me.MAX:Me.MIN,s===-1);if(o==null)return h.create(f.NA);if(o instanceof h)return o;i=t.getRowCount()===1?o.column:o.row}else{const o=t.isEqual(e);let u;if(s!==-1?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null)return h.create(f.NA);i=t.getRowCount()===1?u.column:u.row}return i==null?h.create(f.NA):C.create(i+1)}_getSearchModeValue(e){return e===-2?Ze.MAX:Ze.MIN}}class lu extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",255);g(this,"needsReferenceObject",!0)}isAddress(){return!0}calculate(e,...t){if(e.isError())return e;if(e.isReferenceObject()&&(e=e.toArrayValueObject()),e=e,!e.isArray()){const u=e.convertToNumberObjectValue();return u.isError()?u:t[Math.trunc(+u.getValue())-1]||h.create(f.VALUE)}let r=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;t.forEach((u,l)=>{if(u.isArray()){const c=u;r=Math.max(r,c.getRowCount()),s=Math.max(s,c.getColumnCount())}else r=Math.max(r,1),s=Math.max(s,1)});const i=$(r,s,e,h.create(f.NA)),o=t.map(u=>(u.isReferenceObject()&&(u=u.toArrayValueObject()),$(r,s,u,h.create(f.NA))));return i.map((u,l,c)=>{if(u.isError())return u;const m=u.convertToNumberObjectValue();if(m.isError())return m;const d=o[Math.trunc(+m.getValue())-1];let p=(d==null?void 0:d.get(l,c))||h.create(f.VALUE);return p!=null&&p.isNull()&&(p=C.create(0)),p})}}class cu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",4);g(this,"needsReferenceObject",!0)}calculate(e,t,r,s){if(e.isError())return e;if(t!=null&&t.isError())return t;if(r!=null&&r.isError())return r;if(s!=null&&s.isError())return s;let i=0,o=0;if(e.isValueObject())i=1,o=1;else if(e.isReferenceObject()){const{startRow:c,endRow:m,startColumn:d,endColumn:p}=e.getRangeData();i=m-c+1,o=p-d+1}else return h.create(f.VALUE);i===1&&o>1&&r==null?(r=t!=null?t:C.create(0),t=C.create(0)):(t=t!=null?t:C.create(0),r=r!=null?r:C.create(0)),s=s!=null?s:C.create(1),t.isReferenceObject()&&(t=t.toArrayValueObject()),r.isReferenceObject()&&(r=r.toArrayValueObject()),s.isReferenceObject()&&(s=s.toArrayValueObject());const u=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1);if(t=t,r=r,s=s,u===1&&l===1)return this._calculateSingleCell(e,t,r,s);{const c=$(u,l,t,h.create(f.NA)),m=$(u,l,r,h.create(f.NA)),d=$(u,l,s,h.create(f.NA));return c.map((p,R,_)=>{const S=m.get(R,_)||se.create(),L=d.get(R,_)||se.create(),w=this._calculateSingleCell(e,p,S,L);return w.isReferenceObject()?w.toArrayValueObject().getFirstCell():w})}}_calculateSingleCell(e,t,r,s){if(t.isError())return t;const i=this._getNumberValue(t);if(i===void 0||i<0)return h.create(f.VALUE);if(r.isError())return r;const o=this._getNumberValue(r);if(o===void 0||o<0)return h.create(f.VALUE);if(s.isError())return s;const u=this._getAreaNumberValue(s);return u===void 0||u<1?h.create(f.VALUE):e.isReferenceObject()?this._getReferenceObject(e,i,o,u):e.isValueObject()&&i===1&&o===1?e:h.create(f.REF)}_getNumberValue(e){if(e==null)return 0;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getAreaNumberValue(e){if(e==null)return 1;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getReferenceObject(e,t,r,s){const{startRow:i,endRow:o,startColumn:u,endColumn:l}=e.getRangeData();let c=0,m=0,d=0,p=0;if(t===0?(c=i,m=o):c=m=i+t-1,r===0?(d=u,p=l):d=p=u+r-1,c>o||d>l)return h.create(f.REF);const R={startRow:c,startColumn:d,endRow:m,endColumn:p};return this.createReferenceObject(e,R)}}const Ra=[[Ko,Pe.ADDRESS],[lu,Pe.CHOOSE],[Xo,Pe.COLUMN],[Zo,Pe.COLUMNS],[cu,Pe.INDEX],[eu,Pe.INDIRECT],[nu,Pe.OFFSET],[su,Pe.ROW],[au,Pe.ROWS],[iu,Pe.VLOOKUP],[tu,Pe.LOOKUP],[ru,Pe.MATCH],[Jo,Pe.HLOOKUP],[ou,Pe.XLOOKUP],[uu,Pe.XMATCH]];var Y=(n=>(n.ABS="ABS",n.ACOS="ACOS",n.ACOSH="ACOSH",n.ACOT="ACOT",n.ACOTH="ACOTH",n.AGGREGATE="AGGREGATE",n.ARABIC="ARABIC",n.ASIN="ASIN",n.ASINH="ASINH",n.ATAN="ATAN",n.ATAN2="ATAN2",n.ATANH="ATANH",n.BASE="BASE",n.CEILING="CEILING",n.CEILING_MATH="CEILING.MATH",n.CEILING_PRECISE="CEILING.PRECISE",n.COMBIN="COMBIN",n.COMBINA="COMBINA",n.COS="COS",n.COSH="COSH",n.COT="COT",n.COTH="COTH",n.CSC="CSC",n.CSCH="CSCH",n.DECIMAL="DECIMAL",n.DEGREES="DEGREES",n.EVEN="EVEN",n.EXP="EXP",n.FACT="FACT",n.FACTDOUBLE="FACTDOUBLE",n.FLOOR="FLOOR",n.FLOOR_MATH="FLOOR.MATH",n.FLOOR_PRECISE="FLOOR.PRECISE",n.GCD="GCD",n.INT="INT",n.ISO_CEILING="ISO.CEILING",n.LCM="LCM",n.LET="LET",n.LN="LN",n.LOG="LOG",n.LOG10="LOG10",n.MDETERM="MDETERM",n.MINVERSE="MINVERSE",n.MMULT="MMULT",n.MOD="MOD",n.MROUND="MROUND",n.MULTINOMIAL="MULTINOMIAL",n.MUNIT="MUNIT",n.ODD="ODD",n.PI="PI",n.POWER="POWER",n.PRODUCT="PRODUCT",n.QUOTIENT="QUOTIENT",n.RADIANS="RADIANS",n.RAND="RAND",n.RANDARRAY="RANDARRAY",n.RANDBETWEEN="RANDBETWEEN",n.ROMAN="ROMAN",n.ROUND="ROUND",n.ROUNDDOWN="ROUNDDOWN",n.ROUNDUP="ROUNDUP",n.SEC="SEC",n.SECH="SECH",n.SERIESSUM="SERIESSUM",n.SEQUENCE="SEQUENCE",n.SIGN="SIGN",n.SIN="SIN",n.SINH="SINH",n.SQRT="SQRT",n.SQRTPI="SQRTPI",n.SUBTOTAL="SUBTOTAL",n.SUM="SUM",n.SUMIF="SUMIF",n.SUMIFS="SUMIFS",n.SUMPRODUCT="SUMPRODUCT",n.SUMSQ="SUMSQ",n.SUMX2MY2="SUMX2MY2",n.SUMX2PY2="SUMX2PY2",n.SUMXMY2="SUMXMY2",n.TAN="TAN",n.TANH="TANH",n.TRUNC="TRUNC",n))(Y||{});class fu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.abs()}}class hu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.acos()}}class mu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.acosh()}}class gu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:hs(t)):hs(e)}}function hs(n){let a=n.getValue();if(n.isBoolean()&&(a=a?1:0),!Number.isFinite(a))return h.create(f.VALUE);a=Number(a);let e=Math.atan(1/a);return a<0&&(e+=Math.PI),Number.isNaN(e)?h.create(f.VALUE):C.create(e)}class du extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:ms(t)):ms(e)}}function ms(n){let a=n.getValue();if(n.isBoolean()&&(a=a?1:0),!Number.isFinite(a))return h.create(f.VALUE);if(a=Number(a),Math.abs(a)<=1)return h.create(f.NUM);const e=1/2*Math.log((a+1)/(a-1));return Number.isNaN(e)?h.create(f.VALUE):C.create(e)}class pu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.asin()}}class Ru extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.asinh()}}class Cu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.atan()}}class _u extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atan2(e))}}class Eu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.atanh()}}class yu extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=$(s,i,e,h.create(f.NA)),u=$(s,i,t,h.create(f.NA)),l=r?$(s,i,r,h.create(f.NA)):[],c=o.map((m,d,p)=>{let R=u.get(d,p),_=r?l.get(d,p):C.create(0);if(m.isString()&&(m=m.convertToNumberObjectValue()),R.isString()&&(R=R.convertToNumberObjectValue()),r&&_.isString()&&(_=_.convertToNumberObjectValue()),m.isString()||R.isString()||r&&_.isString())return h.create(f.VALUE);if(m.isError())return m;if(R.isError())return R;if(r&&_.isError())return _;const S=Math.floor(+m.getValue()),L=Math.floor(+R.getValue()),w=r?Math.floor(+_.getValue()):0;if(S<0||S>=2**53||L<2||L>36||w<0)return h.create(f.NUM);let b=S.toString(L);return r&&b.length<w&&(b=new Array(w-b.length+1).join("0")+b),fe.create(b.toLocaleUpperCase())});return c.getRowCount()===1&&c.getColumnCount()===1?c.getArrayValue()[0][0]:c}}class Du extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=$(r,s,e,h.create(f.NA)),o=$(r,s,t,h.create(f.NA)),u=i.map((l,c,m)=>{let d=o.get(c,m);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const p=+l.getValue(),R=+d.getValue();if(p>0&&R<0)return h.create(f.NUM);if(p===0||R===0)return C.create(0);const _=Fe(p/R,0)*R;return C.create(_)});return u.getRowCount()===1&&u.getColumnCount()===1?u.getArrayValue()[0][0]:u}}class Au extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t!=null&&t.isError())return t;if(r!=null&&r.isError())return r;const s=Math.max(e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=$(s,i,e,h.create(f.NA)),u=t?$(s,i,t,h.create(f.NA)):[],l=r?$(s,i,r,h.create(f.NA)):[],c=o.map((m,d,p)=>{let R=t?u.get(d,p):C.create(1),_=r?l.get(d,p):C.create(0);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;if(R.isString()&&(R=R.convertToNumberObjectValue()),R.isError())return R;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;const S=+m.getValue(),L=+R.getValue(),w=+_.getValue();if(S===0||L===0)return C.create(0);let b;return S<0&&w!==0?b=(L<0?Fe(Math.abs(S)/Math.abs(L),0):-Fe(Math.abs(S)/L,0))*L:b=(L<0?-Fe(S/Math.abs(L),0):Fe(S/L,0))*L,C.create(b)});return c.getRowCount()===1&&c.getColumnCount()===1?c.getArrayValue()[0][0]:c}}class Su extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1),i=$(r,s,e,h.create(f.NA)),o=t?$(r,s,t,h.create(f.NA)):[],u=i.map((l,c,m)=>{let d=t?o.get(c,m):C.create(1);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const p=+l.getValue(),R=+d.getValue();if(p===0||R===0)return C.create(0);const _=(R<0?-Fe(p/Math.abs(R),0):Fe(p/R,0))*R;return C.create(_)});return u.getRowCount()===1&&u.getColumnCount()===1?u.getArrayValue()[0][0]:u}}class Vu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.cos()}}class Pu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.cosh()}}class Lu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:gs(t))):gs(e)}}function gs(n){let a=n.getValue();return a=Number(a),Math.abs(a)>=2**27?h.create(f.NUM):a===0?h.create(f.DIV_BY_ZERO):n.tan().getReciprocal()}class bu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:ds(t))):ds(e)}}function ds(n){let a=n.getValue();return a=Number(a),a===0?h.create(f.DIV_BY_ZERO):n.tanh().getReciprocal()}class xu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:ps(t))):ps(e)}}function ps(n){let a=n.getValue();return a=Number(a),Math.abs(a)>=2**27?h.create(f.NUM):a===0?h.create(f.DIV_BY_ZERO):n.sin().getReciprocal()}class wu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:Rs(t))):Rs(e)}}function Rs(n){let a=n.getValue();return a=Number(a),a===0?h.create(f.DIV_BY_ZERO):!Number.isNaN(a)&&!Number.isFinite(Math.sinh(a))?C.create(0):n.sinh().getReciprocal()}class Mu extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=$(r,s,e,h.create(f.NA)),o=$(r,s,t,h.create(f.NA)),u=i.map((l,c,m)=>{let d=o.get(c,m);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isString())return h.create(f.VALUE);if(l.isError())return l;if(d.isError())return d;const p=`${l.getValue()}`,R=Math.floor(+d.getValue());if(y.isRealNum(p)&&(+p<0||+p>=2**53||!Number.isInteger(+p))||p.toLocaleLowerCase()==="true"||p.toLocaleLowerCase()==="false"||R<2||R>36)return h.create(f.NUM);if(p.replace(/\s/g,"")==="")return C.create(0);if(!this.isValidCharForRadix(p,R))return h.create(f.NUM);const _=Number.parseInt(p,R);return Number.isNaN(_)?h.create(f.NUM):C.create(_)});return u.getRowCount()===1&&u.getColumnCount()===1?u.getArrayValue()[0][0]:u}isValidCharForRadix(e,t){for(const r of e){const s=r.toUpperCase().charCodeAt(0);if(t<=10&&!(s>=48&&s<48+t)||t>10&&!(s>=48&&s<58||s>=65&&s<65+t-10))return!1}return!0}}class Uu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError())return e;const t=+e.getValue();if(!Number.isFinite(t))return h.create(f.VALUE);const r=t*(180/Math.PI);return Number.isNaN(r)?h.create(f.VALUE):C.create(r)}}class Fu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError())return e;const t=+e.getValue();if(!Number.isFinite(t))return h.create(f.VALUE);const r=(t<0?-Fe(Math.abs(t)/2,0):Fe(t/2,0))*2;return Number.isNaN(r)?h.create(f.VALUE):r===0?C.create(0):C.create(r)}}class vu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.exp()}}class Bu extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=$(r,s,e,h.create(f.NA)),o=$(r,s,t,h.create(f.NA)),u=i.map((l,c,m)=>{let d=o.get(c,m);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const p=+l.getValue(),R=+d.getValue();if(p>0&&R<0)return h.create(f.NUM);if(p===0)return C.create(0);if(R===0)return h.create(f.DIV_BY_ZERO);const _=He(p/R,0)*R;return C.create(_)});return u.getRowCount()===1&&u.getColumnCount()===1?u.getArrayValue()[0][0]:u}}class Ou extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",3)}calculate(e,t,r){t=t!=null?t:C.create(1),r=r!=null?r:C.create(0);const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=$(s,i,e,h.create(f.NA)),u=$(s,i,t,h.create(f.NA)),l=$(s,i,r,h.create(f.NA)),c=o.map((m,d,p)=>{let R=u.get(d,p),_=l.get(d,p);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;if(R.isString()&&(R=R.convertToNumberObjectValue()),R.isError())return R;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;const S=+m.getValue(),L=+R.getValue(),w=+_.getValue();if(S===0||L===0)return C.create(0);let b;return S<0&&w!==0?b=(L<0?He(Math.abs(S)/Math.abs(L),0):-He(Math.abs(S)/L,0))*L:b=(L<0?-He(S/Math.abs(L),0):He(S/L,0))*L,C.create(b)});return c.getRowCount()===1&&c.getColumnCount()===1?c.getArrayValue()[0][0]:c}}class Tu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1),i=$(r,s,e,h.create(f.NA)),o=t?$(r,s,t,h.create(f.NA)):[],u=i.map((l,c,m)=>{let d=t?o.get(c,m):C.create(1);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const p=+l.getValue(),R=+d.getValue();if(p===0||R===0)return C.create(0);const _=(R<0?-He(p/Math.abs(R),0):He(p/R,0))*R;return C.create(_)});return u.getRowCount()===1&&u.getColumnCount()===1?u.getArrayValue()[0][0]:u}}class ku extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.log()}}class Iu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1),i=$(r,s,e,h.create(f.NA)),o=t?$(r,s,t,h.create(f.NA)):[],u=i.map((l,c,m)=>{let d=t?o.get(c,m):C.create(10);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const p=+l.getValue(),R=+d.getValue();if(p<=0||R<=0)return h.create(f.NUM);const _=Math.log(R);if(_===0)return h.create(f.DIV_BY_ZERO);const S=Math.log(p)/_;return C.create(S)});return u.getRowCount()===1&&u.getColumnCount()===1?u.getArrayValue()[0][0]:u}}class $u extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.log10()}}class Nu extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:e.mod(t))}}class ju extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;if(e.isArray()){const o=e.getRowCount(),u=e.getColumnCount();if(o>1||u>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){const o=t.getRowCount(),u=t.getColumnCount();if(o>1||u>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}let r=e.getValue();if(e.isNull()&&(r=0),!y.isRealNum(r))return h.create(f.VALUE);r=+r;let s=t.getValue();if(t.isNull()&&(s=0),!y.isRealNum(s))return h.create(f.VALUE);if(s=+s,s===0)return C.create(0);if(r>0&&s<0||r<0&&s>0)return h.create(f.NUM);const i=Rr(r/s,0)*s;return C.create(i)}}class Yu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError())return e;const t=+e.getValue();if(!Number.isFinite(t))return h.create(f.VALUE);let r=t<0?-Fe(Math.abs(t),0):Fe(t,0);return Number.isNaN(r)?h.create(f.VALUE):(Math.abs(r)%2===0&&(t<0?r--:r++),C.create(r))}}class Hu extends P{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",0)}calculate(){return C.create(Math.PI)}}class Qu extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:e.pow(t))}}class zu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=C.create(1);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=this._multiplyArray(s)),s.isError())return s;if(t=t.multiply(s),t.isError())return t}}return t}_multiplyArray(e){let t=C.create(1);return e.iterator(r=>{if(r==null||r.isString()||r.isBoolean()||r.isNull())return!0;if(r.isError())return t=r,!1;t=t.multiply(r)}),t}}class Wu extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError())return e;const t=+e.getValue();if(!Number.isFinite(t))return h.create(f.VALUE);const r=t*(Math.PI/180);return Number.isNaN(r)?h.create(f.VALUE):C.create(r)}}class Gu extends P{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",0)}calculate(){return C.create(Math.random())}}class Ku extends P{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",5)}calculate(e,t,r,s,i){if(e!=null&&e.isError())return e;if(t!=null&&t.isError())return t;if(r!=null&&r.isError())return r;if(s!=null&&s.isError())return s;if(i!=null&&i.isError())return i;e=e!=null?e:C.create(1),t=t!=null?t:C.create(1),r=r!=null?r:C.create(0),s=s!=null?s:C.create(1),i=i!=null?i:C.create(0);const o=Math.max(e!=null&&e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1,s!=null&&s.isArray()?s.getRowCount():1,i!=null&&i.isArray()?i.getRowCount():1),u=Math.max(e!=null&&e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1,s!=null&&s.isArray()?s.getColumnCount():1,i!=null&&i.isArray()?i.getColumnCount():1);if(o===1&&u===1)return this._calculateSingleCell(e,t,r,s,i);const l=$(o,u,e,h.create(f.NA)),c=$(o,u,t,h.create(f.NA)),m=$(o,u,r,h.create(f.NA)),d=$(o,u,s,h.create(f.NA)),p=$(o,u,i,h.create(f.NA));return l.map((R,_,S)=>{const L=c.get(_,S),w=m.get(_,S),b=d.get(_,S),N=p.get(_,S),z=this._handleError(R,L,w,b,N);if(z.error)return z.error;let{minValue:ee,maxValue:pe,wholeNumberValue:ge}=z,le;return ge?(ee=Math.ceil(ee),pe=Math.floor(pe),le=Math.floor(Math.random()*(pe-ee+1))+ee):le=Math.random()*(pe-ee)+ee,le<ee||le>pe?h.create(f.VALUE):C.create(le)})}_calculateSingleCell(e,t,r,s,i){e!=null&&e.isArray()&&(e=e.get(0,0)),t!=null&&t.isArray()&&(t=t.get(0,0)),r!=null&&r.isArray()&&(r=r.get(0,0)),s!=null&&s.isArray()&&(s=s.get(0,0)),i!=null&&i.isArray()&&(i=i.get(0,0));const o=this._handleError(e,t,r,s,i);if(o.error)return o.error;let{rowsValue:u,columnsValue:l,minValue:c,maxValue:m,wholeNumberValue:d}=o;if(d&&(c=Math.ceil(c),m=Math.floor(m),c>m))return h.create(f.VALUE);const p=[];for(let R=0;R<u;R++){const _=[];for(let S=0;S<l;S++)d?_.push(Math.floor(Math.random()*(m-c+1))+c):_.push(Math.random()*(m-c)+c);p.push(_)}return u===1&&l===1?C.create(p[0][0]):Ce.createByArray(p)}_handleError(e,t,r,s,i){if(e!=null&&e.isString()&&(e=e.convertToNumberObjectValue()),e!=null&&e.isError())return{error:e};if(t!=null&&t.isString()&&(t=t.convertToNumberObjectValue()),t!=null&&t.isError())return{error:t};if(r!=null&&r.isString()&&(r=r.convertToNumberObjectValue()),r!=null&&r.isError())return{error:r};if(s!=null&&s.isString()&&(s=s.convertToNumberObjectValue()),s!=null&&s.isError())return{error:s};if(i!=null&&i.isString()&&(i=i.convertToNumberObjectValue()),i!=null&&i.isError())return{error:i};const o=e?Math.floor(+e.getValue()):1,u=t?Math.floor(+t.getValue()):1;if(o===0||u===0)return{error:h.create(f.CALC)};if(o<0||u<0)return{error:h.create(f.VALUE)};const l=r?+r.getValue():0,c=s?+s.getValue():1,m=i?+i.getValue():0;return l>c?{error:h.create(f.VALUE)}:m&&(!Number.isInteger(l)||!Number.isInteger(c))?{error:h.create(f.VALUE)}:{rowsValue:o,columnsValue:u,minValue:l,maxValue:c,wholeNumberValue:m}}}class qu extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;if(e.isArray()){const o=e.getRowCount(),u=e.getColumnCount();if(o>1||u>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){const o=t.getRowCount(),u=t.getColumnCount();if(o>1||u>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}let r=e.getValue();if(e.isNull()&&(r=0),!y.isRealNum(r))return h.create(f.VALUE);let s=t.getValue();if(t.isNull()&&(s=0),!y.isRealNum(s))return h.create(f.VALUE);if(r>s)return h.create(f.NUM);r=Math.ceil(r),s=Math.floor(s);const i=Math.floor(Math.random()*(s-r+1))+r;return C.create(i)}}class Xu extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:e.round(t))}}class Zu extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:e.floor(t))}}class Ju extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:e.ceil(t))}}class el extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:this._handleSingleObject(t))):this._handleSingleObject(e)}_handleSingleObject(e){const t=+e.getValue();return Math.abs(t)>=2**27?h.create(f.NUM):e.cos().getReciprocal()}}class tl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:this._handleSingleObject(t))):this._handleSingleObject(e)}_handleSingleObject(e){const t=+e.getValue();return Number.isFinite(Math.cosh(t))?Math.abs(t)>=2**27?h.create(f.NUM):e.cosh().getReciprocal():C.create(0)}}class rl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.sin()}}class nl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.sinh()}}class sl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.sqrt()}}class al extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){if(e.isArray()){const s=e.getRowCount(),i=e.getColumnCount();if(s>1||i>1)return h.create(f.VALUE);e=e.get(0,0)}if(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError())return e;const t=+e.getValue();if(t<0)return h.create(f.NUM);const r=Math.sqrt(t*Math.PI);return C.create(r)}}class il extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",255);g(this,"needsReferenceObject",!0)}calculate(e,...t){if(e.isError())return e;if(e.isReferenceObject()){const r=[];return e.iterator((s,i,o)=>{r[i]==null&&(r[i]=[]),r[i][o]=this._handleSingleObject(s,...t)}),Dt(r,r.length,r[0].length)}return this._handleSingleObject(e,...t)}_handleSingleObject(e,...t){const r=this._getIndexNumValue(e);let s;if(r instanceof h)return r;switch(r){case 1:s=this._average(!1,...t);break;case 2:s=this._count(!1,...t);break;case 3:s=this._counta(!1,...t);break;case 4:s=this._max(!1,...t);break;case 5:s=this._min(!1,...t);break;case 6:s=this._product(!1,...t);break;case 7:s=this._stdev(!1,...t);break;case 8:s=this._stdevp(!1,...t);break;case 9:s=this._sum(!1,...t);break;case 10:s=this._var(!1,...t);break;case 11:s=this._varp(!1,...t);break;case 101:s=this._average(!0,...t);break;case 102:s=this._count(!0,...t);break;case 103:s=this._counta(!0,...t);break;case 104:s=this._max(!0,...t);break;case 105:s=this._min(!0,...t);break;case 106:s=this._product(!0,...t);break;case 107:s=this._stdev(!0,...t);break;case 108:s=this._stdevp(!0,...t);break;case 109:s=this._sum(!0,...t);break;case 110:s=this._var(!0,...t);break;case 111:s=this._varp(!0,...t);break;default:s=h.create(f.VALUE)}return s}_getIndexNumValue(e){const t=e?Number(e.getValue()):0;if(Number.isNaN(t))return h.create(f.VALUE);const r=Math.floor(t);return r>=1&&r<=11||r>=101&&r<=111?r:h.create(f.VALUE)}_average(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:r.mean()}_count(e,...t){let r=C.create(0);for(let s=0;s<t.length;s++){const i=t[s];if(!i.isReferenceObject())return h.create(f.VALUE);const o=i.getRowData();i.iterator((u,l)=>{if(e&&this._isRowHidden(o,l))return!0;u!=null&&u.isNumber()&&(r=r.plusBy(1))})}return r}_counta(e,...t){let r=C.create(0);for(let s=0;s<t.length;s++){const i=t[s];if(!i.isReferenceObject())return h.create(f.VALUE);const o=i.getRowData();i.iterator((u,l)=>{if(e&&this._isRowHidden(o,l)||u==null||u.isNull())return!0;r=r.plusBy(1)})}return r}_max(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?C.create(0):r.max()}_min(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?C.create(0):r.min()}_product(e,...t){const r=this._flattenRefArray(e,...t);if(r.isError())return r;if(this._isBlankArrayObject(r))return C.create(0);let s=C.create(1);return r.iterator(i=>{s=s.multiply(i)}),s}_stdev(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?h.create(f.DIV_BY_ZERO):r.std(1)}_stdevp(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?h.create(f.DIV_BY_ZERO):r.std()}_sum(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:r.sum()}_var(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?h.create(f.DIV_BY_ZERO):r.var(1)}_varp(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?h.create(f.DIV_BY_ZERO):r.var()}_flattenRefArray(e,...t){const r=[];r[0]=[];for(let s=0;s<t.length;s++){const i=t[s];if(i.isError())return i;if(!i.isReferenceObject())return h.create(f.VALUE);const o=i.getRowData();let u;if(i.iterator((l,c)=>{if(e&&this._isRowHidden(o,c)||l==null||l.isNull()||l.isString()||l.isBoolean())return!0;if(l.isError())return u=l,!1;r[0].push(l)}),u!=null&&u.isError())return u}return Dt(r,1,r[0].length)}_isRowHidden(e,t){const r=e[t];return r?r.hd===y.BooleanNumber.TRUE:!1}_isBlankArrayObject(e){return e.getArrayValue()[0].length===0}}class ol extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=C.create(0);for(let r=0;r<e.length;r++){let s=e[r];if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&(s=s.sum()),t=t.plus(s),t.isError())return t}return t}}class ul extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",3)}calculate(e,t,r){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:!e.isArray()||r&&!r.isArray()?h.create(f.VALUE):t.isArray()?t.map(s=>this._handleSingleObject(e,s,r)):this._handleSingleObject(e,t,r)}_handleSingleObject(e,t,r){let s=zr(e,t);const[,i]=Zt(`${t.getValue()}`);s=Wr(s,e,i);const o=r?r.slice([0,e.getRowCount()],[0,e.getColumnCount()]):e;return o?o.pick(s).sum():h.create(f.VALUE)}}class ll extends P{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;if(!e.isArray()||t.length<2||t.length%2!==0||t.some((u,l)=>l%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=Jt(t),i=er(t,e,r,s);if(i)return i;const o=tr(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(i=>i.map(o=>e.pick(o).sum())),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(s)}}class cl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=C.create(0);const r=C.create(2);for(let s=0;s<e.length;s++){let i=e[s];if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()?i.iterator(o=>{if(o==null||o.isString()||o.isBoolean()||o.isNull())return!0;if(o.isError())return t=o,!1;t=t.plus(o.pow(r))}):t=t.plus(i.pow(r)),t.isError())return t}return t}}class fl extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=1,s=1;e.isArray()&&(r=e.getRowCount(),s=e.getColumnCount());const i=r*s;let o=1,u=1;t.isArray()&&(o=t.getRowCount(),u=t.getColumnCount());const l=o*u;if(i!==l)return h.create(f.NA);if(i===1){if(e.isArray()&&(e=e.get(0,0)),t.isArray()&&(t=t.get(0,0)),e.isError())return e;if(t.isError())return t;if(e.isNull()||t.isNull())return h.create(f.VALUE);const c=+e.getValue(),m=+t.getValue();if(e.isString()&&!y.isRealNum(c)||e.isBoolean()||t.isString()&&!y.isRealNum(m)||t.isBoolean())return h.create(f.DIV_BY_ZERO);const d=c**2-m**2;return C.create(d)}else{const c=e.flatten(),m=t.flatten();let d=se.create();const p=[],R=[];let _=0;return c.iterator((S,L,w)=>{const b=m.get(L,w);if(S==null||S.isString()||S.isBoolean()||S.isNull())return!0;if(S!=null&&S.isError())return d=S,!1;if(b==null||b.isString()||b.isBoolean()||b.isNull())return!0;if(b!=null&&b.isError())return d=b,!1;const N=+S.getValue(),z=+b.getValue();p.push(N),R.push(z),_+=N**2-z**2}),d.isError()?d:p.length===0||R.length===0?h.create(f.DIV_BY_ZERO):C.create(_)}}}class hl extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=1,s=1;e.isArray()&&(r=e.getRowCount(),s=e.getColumnCount());const i=r*s;let o=1,u=1;t.isArray()&&(o=t.getRowCount(),u=t.getColumnCount());const l=o*u;if(i!==l)return h.create(f.NA);if(i===1){if(e.isArray()&&(e=e.get(0,0)),t.isArray()&&(t=t.get(0,0)),e.isError())return e;if(t.isError())return t;if(e.isNull()||t.isNull())return h.create(f.VALUE);const c=+e.getValue(),m=+t.getValue();if(e.isString()&&!y.isRealNum(c)||e.isBoolean()||t.isString()&&!y.isRealNum(m)||t.isBoolean())return h.create(f.DIV_BY_ZERO);const d=c**2+m**2;return C.create(d)}else{const c=e.flatten(),m=t.flatten();let d=se.create();const p=[],R=[];let _=0;return c.iterator((S,L,w)=>{const b=m.get(L,w);if(S==null||S.isString()||S.isBoolean()||S.isNull())return!0;if(S!=null&&S.isError())return d=S,!1;if(b==null||b.isString()||b.isBoolean()||b.isNull())return!0;if(b!=null&&b.isError())return d=b,!1;const N=+S.getValue(),z=+b.getValue();p.push(N),R.push(z),_+=N**2+z**2}),d.isError()?d:p.length===0||R.length===0?h.create(f.DIV_BY_ZERO):C.create(_)}}}class ml extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let r=1,s=1;e.isArray()&&(r=e.getRowCount(),s=e.getColumnCount());const i=r*s;let o=1,u=1;t.isArray()&&(o=t.getRowCount(),u=t.getColumnCount());const l=o*u;if(i!==l)return h.create(f.NA);if(i===1){if(e.isArray()&&(e=e.get(0,0)),t.isArray()&&(t=t.get(0,0)),e.isError())return e;if(t.isError())return t;if(e.isNull()||t.isNull())return h.create(f.VALUE);const c=+e.getValue(),m=+t.getValue();if(e.isString()&&!y.isRealNum(c)||e.isBoolean()||t.isString()&&!y.isRealNum(m)||t.isBoolean())return h.create(f.DIV_BY_ZERO);const d=(c-m)**2;return C.create(d)}else{const c=e.flatten(),m=t.flatten();let d=se.create();const p=[],R=[];let _=0;return c.iterator((S,L,w)=>{const b=m.get(L,w);if(S==null||S.isString()||S.isBoolean()||S.isNull())return!0;if(S!=null&&S.isError())return d=S,!1;if(b==null||b.isString()||b.isBoolean()||b.isNull())return!0;if(b!=null&&b.isError())return d=b,!1;const N=+S.getValue(),z=+b.getValue();p.push(N),R.push(z),_+=(N-z)**2}),d.isError()?d:p.length===0||R.length===0?h.create(f.DIV_BY_ZERO):C.create(_)}}}class gl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;if(e.isArray()||(e=Ce.create({calculateValueList:[[e]],rowCount:1,columnCount:1,unitId:"",sheetId:"",row:0,column:0})),t.length>0){const r=e.getRowCount(),s=e.getColumnCount(),i=[];for(let u=0;u<r;u++){const l=[];for(let c=0;c<s;c++){const m=e.get(u,c);if(m.isError())return m;const d=m.getValue();!d||!y.isRealNum(d)?l.push(0):l.push(+d)}i.push(l)}for(let u=0;u<t.length;u++){if(t[u].isError())return t[u];let l=1,c=1;if(t[u].isArray()&&(l=t[u].getRowCount(),c=t[u].getColumnCount()),l!==r||c!==s)return h.create(f.VALUE);for(let m=0;m<r;m++){const d=[];for(let p=0;p<s;p++){let R=t[u];if(t[u].isArray()&&(R=t[u].get(m,p)),R.isError())return R;const _=R.getValue();!_||!y.isRealNum(_)?d.push(0):d.push(+_*i[m][p])}i[m]=d}}const o=i.reduce((u,l)=>u.concat(l)).reduce((u,l)=>u+l,0);return C.create(o)}else return e.sum()}}class dl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.tan()}}class pl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.tanh()}}const Ca=[[fu,Y.ABS],[hu,Y.ACOS],[mu,Y.ACOSH],[gu,Y.ACOT],[du,Y.ACOTH],[pu,Y.ASIN],[Ru,Y.ASINH],[Cu,Y.ATAN],[_u,Y.ATAN2],[Eu,Y.ATANH],[yu,Y.BASE],[Du,Y.CEILING],[Au,Y.CEILING_MATH],[Su,Y.CEILING_PRECISE],[Vu,Y.COS],[Pu,Y.COSH],[Lu,Y.COT],[bu,Y.COTH],[xu,Y.CSC],[wu,Y.CSCH],[Mu,Y.DECIMAL],[Uu,Y.DEGREES],[Fu,Y.EVEN],[vu,Y.EXP],[Bu,Y.FLOOR],[Ou,Y.FLOOR_MATH],[Tu,Y.FLOOR_PRECISE],[Iu,Y.LOG],[ku,Y.LN],[$u,Y.LOG10],[Nu,Y.MOD],[ju,Y.MROUND],[Qu,Y.POWER],[Yu,Y.ODD],[Hu,Y.PI],[zu,Y.PRODUCT],[Wu,Y.RADIANS],[Gu,Y.RAND],[Ku,Y.RANDARRAY],[qu,Y.RANDBETWEEN],[Xu,Y.ROUND],[Zu,Y.ROUNDDOWN],[Ju,Y.ROUNDUP],[el,Y.SEC],[tl,Y.SECH],[rl,Y.SIN],[nl,Y.SINH],[sl,Y.SQRT],[al,Y.SQRTPI],[il,Y.SUBTOTAL],[ol,Y.SUM],[ul,Y.SUMIF],[ll,Y.SUMIFS],[cl,Y.SUMSQ],[fl,Y.SUMX2MY2],[hl,Y.SUMX2PY2],[ml,Y.SUMXMY2],[gl,Y.SUMPRODUCT],[dl,Y.TAN],[pl,Y.TANH]];class Rl extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2);g(this,"_compareType",v.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}}class wn extends tt{constructor(e){super("");g(this,"_values",[]);this._values=e}static create(e){return new wn(e)}isCube(){return!0}sum(){const e=C.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=C.create(Number.NEGATIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isLessThan(r)&&(e=r)}),e}min(){let e=C.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isGreaterThan(r)&&(e=r)}),e}count(){const e=C.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){const e=C.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){const e=C.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}}class Cl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const s=e[r];if(s.isError())return s;if(!s.isArray())return h.create(f.VALUE);t.push(s)}return wn.create(t)}}class _l extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?h.create(f.DIV_BY_ZERO):e.divided(t)}}var be=(n=>(n.COMPARE="COMPARE",n.DIVIDED="DIVIDED",n.MINUS="MINUS",n.MULTIPLY="MULTIPLY",n.PLUS="PLUS",n.UNION="UNION",n.CUBE="CUBE",n))(be||{});class El extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}}class yl extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}}class Dl extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}}const _a=[[Rl,be.COMPARE],[_l,be.DIVIDED],[El,be.MINUS],[yl,be.MULTIPLY],[Dl,be.PLUS],[Cl,be.CUBE]];class Al extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=C.create(0),r=C.create(0);for(let s=0;s<e.length;s++){let i=e[s];if((i.isString()||i.isBoolean())&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(t=t.plus(i.sum()),t.isError())return t;r=r.plus(i.count())}else i.isNull()||(t=t.plus(i),r=r.plus(C.create(1)))}return t.divided(r)}}class Sl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=C.create(0);for(let r=0;r<e.length;r++){const s=e[r];s.isError()||(s.isArray()?t=t.plus(s.count()):s.isString()?s.convertToNumberObjectValue().isError()||(t=t.plus(C.create(1))):s.isNull()||(t=t.plus(C.create(1))))}return t}}class Vl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=C.create(0);for(let r=0;r<e.length;r++){let s=e[r];if(s.isError()){t=t.plus(C.create(1));continue}s.isArray()?(s=s.countA(),t=t.plus(s)):s.isNull()||(t=t.plus(C.create(1)))}return t}}var Re=(n=>(n.AVEDEV="AVEDEV",n.AVERAGE="AVERAGE",n.AVERAGEA="AVERAGEA",n.AVERAGEIF="AVERAGEIF",n.AVERAGEIFS="AVERAGEIFS",n.BETA_DIST="BETA.DIST",n.BETA_INV="BETA.INV",n.BINOM_DIST="BINOM.DIST",n.BINOM_DIST_RANGE="BINOM.DIST.RANGE",n.BINOM_INV="BINOM.INV",n.CHISQ_DIST="CHISQ.DIST",n.CHISQ_DIST_RT="CHISQ.DIST.RT",n.CHISQ_INV="CHISQ.INV",n.CHISQ_INV_RT="CHISQ.INV.RT",n.CHISQ_TEST="CHISQ.TEST",n.CONFIDENCE_NORM="CONFIDENCE.NORM",n.CONFIDENCE_T="CONFIDENCE.T",n.CORREL="CORREL",n.COUNT="COUNT",n.COUNTA="COUNTA",n.COUNTBLANK="COUNTBLANK",n.COUNTIF="COUNTIF",n.COUNTIFS="COUNTIFS",n.COVARIANCE_P="COVARIANCE.P",n.COVARIANCE_S="COVARIANCE.S",n.DEVSQ="DEVSQ",n.EXPON_DIST="EXPON.DIST",n.F_DIST="F.DIST",n.F_DIST_RT="F.DIST.RT",n.F_INV="F.INV",n.F_INV_RT="F.INV.RT",n.F_TEST="F.TEST",n.FISHER="FISHER",n.FISHERINV="FISHERINV",n.FORECAST="FORECAST",n.FORECAST_ETS="FORECAST.ETS",n.FORECAST_ETS_CONFINT="FORECAST.ETS.CONFINT",n.FORECAST_ETS_SEASONALITY="FORECAST.ETS.SEASONALITY",n.FORECAST_ETS_STAT="FORECAST.ETS.STAT",n.FORECAST_LINEAR="FORECAST.LINEAR",n.FREQUENCY="FREQUENCY",n.GAMMA="GAMMA",n.GAMMA_DIST="GAMMA.DIST",n.GAMMA_INV="GAMMA.INV",n.GAMMALN="GAMMALN",n.GAMMALN_PRECISE="GAMMALN.PRECISE",n.GAUSS="GAUSS",n.GEOMEAN="GEOMEAN",n.GROWTH="GROWTH",n.HARMEAN="HARMEAN",n.HYPGEOM_DIST="HYPGEOM.DIST",n.INTERCEPT="INTERCEPT",n.KURT="KURT",n.LARGE="LARGE",n.LINEST="LINEST",n.LOGEST="LOGEST",n.LOGNORM_DIST="LOGNORM.DIST",n.LOGNORM_INV="LOGNORM.INV",n.MAX="MAX",n.MAXA="MAXA",n.MAXIFS="MAXIFS",n.MEDIAN="MEDIAN",n.MIN="MIN",n.MINA="MINA",n.MINIFS="MINIFS",n.MODE_MULT="MODE.MULT",n.MODE_SNGL="MODE.SNGL",n.NEGBINOM_DIST="NEGBINOM.DIST",n.NORM_DIST="NORM.DIST",n.NORM_INV="NORM.INV",n.NORM_S_DIST="NORM.S.DIST",n.NORM_S_INV="NORM.S.INV",n.PEARSON="PEARSON",n.PERCENTILE_EXC="PERCENTILE.EXC",n.PERCENTILE_INC="PERCENTILE.INC",n.PERCENTRANK_EXC="PERCENTRANK.EXC",n.PERCENTRANK_INC="PERCENTRANK.INC",n.PERMUT="PERMUT",n.PERMUTATIONA="PERMUTATIONA",n.PHI="PHI",n.POISSON_DIST="POISSON.DIST",n.PROB="PROB",n.QUARTILE_EXC="QUARTILE.EXC",n.QUARTILE_INC="QUARTILE.INC",n.RANK_AVG="RANK.AVG",n.RANK_EQ="RANK.EQ",n.RSQ="RSQ",n.SKEW="SKEW",n.SKEW_P="SKEW.P",n.SLOPE="SLOPE",n.SMALL="SMALL",n.STANDARDIZE="STANDARDIZE",n.STDEV_P="STDEV.P",n.STDEV_S="STDEV.S",n.STDEVA="STDEVA",n.STDEVPA="STDEVPA",n.STEYX="STEYX",n.T_DIST="T.DIST",n.T_DIST_2T="T.DIST.2T",n.T_DIST_RT="T.DIST.RT",n.T_INV="T.INV",n.T_INV_2T="T.INV.2T",n.T_TEST="T.TEST",n.TREND="TREND",n.TRIMMEAN="TRIMMEAN",n.VAR_P="VAR.P",n.VAR_S="VAR.S",n.VARA="VARA",n.VARPA="VARPA",n.WEIBULL_DIST="WEIBULL.DIST",n.Z_TEST="Z.TEST",n))(Re||{});class Pl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=C.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=s.max()),s.isError())return s;t=this._validator(t,s)}}return t.getValue()===Number.NEGATIVE_INFINITY?C.create(0):t}_validator(e,t){return e.isLessThan(t).getValue()&&(e=t),e}}class Ll extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=C.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=s.min()),s.isError())return s;t=this._validator(t,s)}}return t.getValue()===Number.POSITIVE_INFINITY?C.create(0):t}_validator(e,t){return e.isGreaterThan(t).getValue()&&(e=t),e}}class bl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}}class xl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std()}}class wl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}}class Ml extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var()}}class Ul extends P{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",255)}calculate(e,...t){if(e.isError())return h.create(f.NA);if(!e.isArray()||t.length%2!==0||t.some((u,l)=>l%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=Jt(t),i=er(t,e,r,s);if(i)return i;const o=tr(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(i=>i.map(o=>{const u=e.pick(o);return u.getColumnCount()===0?Ce.create("0"):u.max()})),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(s)}}class Fl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=C.create(0),r=C.create(0);for(let s=0;s<e.length;s++){let i=e[s];if((i.isString()||i.isBoolean())&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(i.iterator(o=>{if(o==null||o.isNull())return!0;if(o.isString()&&(o=o.convertToNumberObjectValue(),o.isError()&&(o=C.create(0))),o.isBoolean()&&(o=o.convertToNumberObjectValue()),o.isError())return t=o,!1;t=t.plus(o),r=r.plus(C.create(1))}),t.isError())return t}else i.isNull()||(t=t.plus(i),r=r.plus(C.create(1)))}return t.divided(r)}}class vl extends P{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",255)}calculate(e,...t){if(e.isError())return h.create(f.NA);if(!e.isArray()||t.length%2!==0||t.some((u,l)=>l%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=Jt(t),i=er(t,e,r,s);if(i)return i;const o=tr(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(i=>i.map(o=>{const u=e.pick(o);return u.getColumnCount()===0?Ce.create("0"):u.min()})),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(s)}}class Bl extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",3);g(this,"needsReferenceObject",!0)}calculate(e,t,r){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:(e.isReferenceObject()&&(e=e.toArrayValueObject()),e.isArray()||(e=Dt([[e]],1,1)),t.isReferenceObject()&&(t=t.toArrayValueObject()),r&&!(r!=null&&r.isReferenceObject())?h.create(f.NA):(t=t,t.isArray()?t.map(s=>this._handleSingleObject(e,s,r)):this._handleSingleObject(e,t,r)))}_handleSingleObject(e,t,r){let s=zr(e,t);const[,i]=Zt(`${t.getValue()}`);s=Wr(s,e,i);let o=r?this._createRangeReferenceObject(r,e):e;if(!o)return h.create(f.VALUE);if(o.isError())return o;o.isReferenceObject()&&(o=o.toArrayValueObject()),o=o;const u=o.pick(s),l=u.sum(),c=u.count();return l.divided(c)}_createRangeReferenceObject(e,t){const r=e.getRowCount(),s=e.getColumnCount(),i=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1;if(r===i&&s===o)return e;const{startRow:u,startColumn:l}=e.getRangeData(),c={startRow:u,startColumn:l,endRow:u+i-1,endColumn:l+o-1};return this.createReferenceObject(e,c)}}class Ol extends P{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",255)}calculate(e,...t){if(e.isError())return h.create(f.NA);if(!e.isArray()||t.length%2!==0||t.some((u,l)=>l%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=Jt(t),i=er(t,e,r,s);if(i)return i;const o=tr(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(i=>i.map(o=>{const u=e.pick(o),l=u.sum(),c=u.count();return l.divided(c)})),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(s)}}class Tl extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isError()||t.isError()?h.create(f.NA):e.isArray()?t.isArray()?t.mapValue(r=>this._handleSingleObject(e,r)):this._handleSingleObject(e,t):h.create(f.VALUE)}_handleSingleObject(e,t){let r=zr(e,t);const[,s]=Zt(`${t.getValue()}`);r=Wr(r,e,s);const i=e.pick(r);return this._countA(i)}_countA(e){let t=C.create(0);return e.iterator(r=>{if(r==null)return!0;t=t.plusBy(1)}),t}}class kl extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",255)}calculate(...e){if(e.length%2!==0||e.some((o,u)=>u%2===0&&!o.isArray()))return h.create(f.VALUE);const{maxRowLength:t,maxColumnLength:r}=Jt(e),s=er(e,e[0],t,r);if(s)return s;const i=tr(e,t,r,!0);return this._aggregateResults(i)}_aggregateResults(e){const t=e.map(s=>s.map(i=>Il(i))),r={calculateValueList:t,rowCount:t.length,columnCount:t[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(r)}}function Il(n){let a=0;return n.iterator(e=>{e!=null&&e.isBoolean()&&e.getValue()===!0&&a++}),C.create(a)}class $l extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?e:e.getValue()===""||e.isNull()?C.create(1):e.isArray()?e.countBlank():C.create(0)}}class Nl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=C.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&s.iterator(i=>{if((i==null||i.isNull()||i.isString())&&(i=C.create(0)),i.isBoolean()&&(i=i.convertToNumberObjectValue()),i.isError())return t=i,!1;t=this._validator(t,i)}),t.isError())return t;t=this._validator(t,s)}}return t.getValue()===Number.POSITIVE_INFINITY?C.create(0):t}_validator(e,t){return e.isGreaterThan(t).getValue()&&(e=t),e}}class jl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=C.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&s.iterator(i=>{if((i==null||i.isNull()||i.isString())&&(i=C.create(0)),i.isBoolean()&&(i=i.convertToNumberObjectValue()),i.isError())return t=i,!1;t=this._validator(t,i)}),t.isError())return t;t=this._validator(t,s)}}return t.getValue()===Number.NEGATIVE_INFINITY?C.create(0):t}_validator(e,t){return e.isLessThan(t).getValue()&&(e=t),e}}class Yl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=C.create(0),r=C.create(0);for(let o=0;o<e.length;o++){let u=e[o];if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(u.isArray()){if(u=Hl(u),u.isError())return u;if(e[o]=u,t=t.plus(u.sum()),t.isError())return t;r=r.plus(u.count())}else u.isNull()||(t=t.plus(u),r=r.plus(C.create(1)))}if(r.getValue()===0)return h.create(f.NUM);const s=t.divided(r);if(s.isError())return s;let i=C.create(0);for(let o=0;o<e.length;o++){let u=e[o];if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(u.isArray()){if(i=i.plus(u.minus(s).abs().sum()),i.isError())return i}else u.isNull()||(i=i.plus(u.minus(s).abs()))}return i.divided(r)}}function Hl(n){const a=[];a[0]=[];let e=null;return n.iterator((t,r,s)=>{if(t!=null&&t.isError())return e=t,!1;t!=null&&t.isNumber()&&a[0].push(t)}),e||Dt(a,1,a[0].length)}const Ea=[[Yl,Re.AVEDEV],[Al,Re.AVERAGE],[Fl,Re.AVERAGEA],[Bl,Re.AVERAGEIF],[Ol,Re.AVERAGEIFS],[Sl,Re.COUNT],[Vl,Re.COUNTA],[$l,Re.COUNTBLANK],[Tl,Re.COUNTIF],[kl,Re.COUNTIFS],[Pl,Re.MAX],[jl,Re.MAXA],[Ul,Re.MAXIFS],[Ll,Re.MIN],[Nl,Re.MINA],[vl,Re.MINIFS],[Xs,Re.STDEV_P],[Zs,Re.STDEV_S],[bl,Re.STDEVA],[xl,Re.STDEVPA],[Js,Re.VAR_P],[ea,Re.VAR_S],[wl,Re.VARA],[Ml,Re.VARPA]];class Ql extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=0,r=0;e.forEach(i=>{if(i.isArray()){const o=i;t=Math.max(t,o.getRowCount()),r=Math.max(r,o.getColumnCount())}else t=Math.max(t,1),r=Math.max(r,1)});let s=null;for(const i of e)s=$(t,r,i,h.create(f.NA)).mapValue((u,l,c)=>{const m=s&&s.get(l,c);if(m!=null&&m.isError())return m;if(u.isError())return u;let d=m==null?void 0:m.getValue(),p=u==null?void 0:u.getValue();m!=null&&m.isBoolean()&&(d=`${d}`.toLocaleUpperCase()),u!=null&&u.isBoolean()&&(p=`${p}`.toLocaleUpperCase());const R=m!=null&&m.isNull()?"":d!=null?d:"",_=u!=null&&u.isNull()?"":p!=null?p:"";return fe.create(`${R}${_}`)});return s||h.create(f.VALUE)}}var Xe=(n=>(n.ASC="ASC",n.ARRAYTOTEXT="ARRAYTOTEXT",n.BAHTTEXT="BAHTTEXT",n.CHAR="CHAR",n.CLEAN="CLEAN",n.CODE="CODE",n.CONCAT="CONCAT",n.CONCATENATE="CONCATENATE",n.DBCS="DBCS",n.DOLLAR="DOLLAR",n.EXACT="EXACT",n.FIND="FIND",n.FINDB="FINDB",n.FIXED="FIXED",n.LEFT="LEFT",n.LEFTB="LEFTB",n.LEN="LEN",n.LENB="LENB",n.LOWER="LOWER",n.MID="MID",n.MIDB="MIDB",n.NUMBERVALUE="NUMBERVALUE",n.PHONETIC="PHONETIC",n.PROPER="PROPER",n.REPLACE="REPLACE",n.REPLACEB="REPLACEB",n.REPT="REPT",n.RIGHT="RIGHT",n.RIGHTB="RIGHTB",n.SEARCH="SEARCH",n.SEARCHB="SEARCHB",n.SUBSTITUTE="SUBSTITUTE",n.T="T",n.TEXT="TEXT",n.TEXTAFTER="TEXTAFTER",n.TEXTBEFORE="TEXTBEFORE",n.TEXTJOIN="TEXTJOIN",n.TEXTSPLIT="TEXTSPLIT",n.TRIM="TRIM",n.UNICHAR="UNICHAR",n.UNICODE="UNICODE",n.UPPER="UPPER",n.VALUE="VALUE",n.VALUETOTEXT="VALUETOTEXT",n.CALL="CALL",n.EUROCONVERT="EUROCONVERT",n.REGISTER_ID="REGISTER.ID",n))(Xe||{});class zl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return C.create(0);if(e.isNumber()){const t=e.getValue(),r=Ys(t).toString();return C.create(r.length)}if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString();return C.create(t.length)}return h.create(f.VALUE)}}function Wl(n){let a=0;for(let e=0;e<n.length;e++){const t=n.charCodeAt(e);t>=12352&&t<=12543||t>=19968&&t<=40959||t>=44032&&t<=55215?a+=2:a+=1}return a}class Gl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return C.create(0);if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString(),r=Wl(t);return C.create(r)}return h.create(f.VALUE)}}const Kl=(n,a)=>Bt.format(n,a);class ql extends P{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=$(r,s,e),o=$(r,s,t);return i.map((u,l,c)=>{if(u.isError()||u.isString()||u.isBoolean())return u;let m=o.get(l,c)||fe.create(" ");if(m.isError())return m;if(m.isBoolean())return h.create(f.VALUE);m.isNull()&&(m=fe.create(" "));const d=`${m.getValue()}`;u.isNull()&&(u=C.create(0));const p=u.getValue(),R=Kl(d,p);return fe.create(R)})}}class Xl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return fe.create("");if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString().toLowerCase();return fe.create(t)}return h.create(f.VALUE)}}class Zl extends P{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t="",r=null;for(const s of e)if(s.isArray()){if(s.iterator(i=>{if(i==null||i.isNull())return!0;if(i.isError())return r=i,!1;i.isBoolean()?t+=`${i.getValue()}`.toLocaleUpperCase():(i.isString()||i.isNumber())&&(t+=i.getValue())}),r)return r}else!s.isError()&&!s.isNull()&&(t+=s.getValue());return fe.create(t)}}const ya=[[Zl,Xe.CONCAT],[Ql,Xe.CONCATENATE],[zl,Xe.LEN],[Gl,Xe.LENB],[ql,Xe.TEXT],[Xl,Xe.LOWER]],Da=[];var Aa=(n=>n)(Aa||{});const Sa=[];var Va=(n=>(n.ENCODEURL="ENCODEURL",n.FILTERXML="FILTERXML",n.WEBSERVICE="WEBSERVICE",n))(Va||{});function Jl(n,a,e,t,r,s,i){var m;const o=(i==null?void 0:i.f)||"",u=(i==null?void 0:i.si)||"",l=y.isFormulaString(o),c=y.isFormulaId(u);if(l&&c)n.setValue(r,s,{f:o,si:u}),e.set(u,{f:o,r,c:s}),a.setValue(r,s,{f:o,si:u});else if(l&&!c)n.setValue(r,s,{f:o}),a.setValue(r,s,{f:o});else if(!l&&c)n.setValue(r,s,{f:"",si:u});else if(!l&&!c&&n.getValue(r,s)){const d=n.getValue(r,s),p=(d==null?void 0:d.f)||"",R=(d==null?void 0:d.si)||"";if(y.isFormulaString(p)&&y.isFormulaId(R)){const _=(m=e.get(R))==null?void 0:m.f;_?t.set(R,_):t.set(R,p)}n.realDeleteValue(r,s),a.setValue(r,s,null)}}function ec(n,a,e,t){const r=n==null?void 0:n.getValue(e,t);if(r==null)return!0;const{startRow:s,startColumn:i,endRow:o,endColumn:u}=r;for(let l=s;l<=o;l++)for(let c=i;c<=u;c++)a.realDeleteValue(l,c)}var tc=Object.defineProperty,rc=Object.getOwnPropertyDescriptor,nc=(n,a,e,t)=>{for(var r=t>1?void 0:t?rc(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&tc(a,e,r),r},Cs=(n,a)=>(e,t)=>a(e,t,n);exports.FormulaDataModel=class extends y.Disposable{constructor(e,t){super();g(this,"_formulaData",{});g(this,"_arrayFormulaRange",{});g(this,"_arrayFormulaCellData",{});this._univerInstanceService=e,this._lexerTreeBuilder=t,this.initFormulaData()}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(s=>{var l,c,m,d;const i=r[s],o=(c=(l=this._arrayFormulaRange)==null?void 0:l[t])==null?void 0:c[s];if(o==null)return!0;let u=new y.ObjectMatrix;((m=this._arrayFormulaCellData[t])==null?void 0:m[s])!=null&&(u=new y.ObjectMatrix((d=this._arrayFormulaCellData[t])==null?void 0:d[s])),i.forValue((p,R)=>{var N;const _=(N=o==null?void 0:o[p])==null?void 0:N[R];if(_==null)return!0;const{startRow:S,startColumn:L,endRow:w,endColumn:b}=_;for(let z=S;z<=w;z++)for(let ee=L;ee<=b;ee++)u.setValue(z,ee,null)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][s]=u.getData())})})}mergeArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;this._arrayFormulaRange[t]==null&&(this._arrayFormulaRange[t]={}),this._arrayFormulaCellData[t]==null&&(this._arrayFormulaCellData[t]={}),Object.keys(r).forEach(s=>{var l,c;const i=r[s],o=new y.ObjectMatrix((l=this._arrayFormulaRange[t])==null?void 0:l[s]),u=new y.ObjectMatrix((c=this._arrayFormulaCellData[t])==null?void 0:c[s]);i.forValue((m,d)=>{const p=o==null?void 0:o.getValue(m,d);if(p==null)return!0;const{startRow:R,startColumn:_,endRow:S,endColumn:L}=p;for(let w=R;w<=S;w++)for(let b=_;b<=L;b++)u.setValue(w,b,null)}),i.forValue((m,d,p)=>{u.setValue(m,d,p)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][s]=u.getData())})})}getFormulaData(){return this._formulaData}setFormulaData(e){this._formulaData=e}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}mergeArrayFormulaRange(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;this._arrayFormulaRange[t]||(this._arrayFormulaRange[t]={}),Object.keys(r).forEach(s=>{var u;const i=new y.ObjectMatrix(r[s]),o=new y.ObjectMatrix((u=this._arrayFormulaRange[t])==null?void 0:u[s]);i.forValue((l,c,m)=>{o.setValue(l,c,m)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][s]=o.getData())})})}mergeFormulaData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r!==void 0){if(r===null){delete this._formulaData[t];return}this._formulaData[t]||(this._formulaData[t]={}),Object.keys(r).forEach(s=>{var l,c;const i=r[s];if(i===void 0)return;if(i===null){(l=this._formulaData[t])==null||delete l[s];return}const o=new y.ObjectMatrix(i),u=new y.ObjectMatrix(((c=this._formulaData[t])==null?void 0:c[s])||{});o.forValue((m,d,p)=>{p==null?u.realDeleteValue(m,d):u.setValue(m,d,p)}),this._formulaData[t][s]=u.clone()})}})}deleteArrayFormulaRange(e,t,r,s){var u;const i=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(i==null)return;const o=new y.ObjectMatrix(i);o.getValue(r,s)&&(o.realDeleteValue(r,s),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=o.getData()))}initFormulaData(){if(this._univerInstanceService.getAllUnitsForType(y.UniverInstanceType.UNIVER_SHEET).length===0)return;const t=this._univerInstanceService.getCurrentUnitForType(y.UniverInstanceType.UNIVER_SHEET),r=t.getUnitId();this._formulaData[r]={},t.getSheets().forEach(i=>{const o=i.getCellMatrix(),u=i.getSheetId();Pa(this._formulaData,r,u,o)})}getCalculateData(){const e=this._univerInstanceService.getAllUnitsForType(y.UniverInstanceType.UNIVER_SHEET),t={},r={};for(const s of e){const i=s.getUnitId(),o=s.getSheets(),u={},l={};for(const c of o){const m=c.getSheetId(),d=c.getConfig();u[m]={cellData:new y.ObjectMatrix(d.cellData),rowCount:d.rowCount,columnCount:d.columnCount,rowData:d.rowData,columnData:d.columnData,defaultRowHeight:d.defaultRowHeight,defaultColumnWidth:d.defaultColumnWidth},l[c.getName()]=c.getSheetId()}t[i]=u,r[i]=l}return{allUnitData:t,unitSheetNameMap:r}}updateFormulaData(e,t,r){const s=new y.ObjectMatrix(r),i=this.getFormulaIdMap(e,t),o=new Map,u=this._formulaData;u[e]==null&&(u[e]={});const l=u[e];l[t]==null&&(l[t]={});const c=new y.ObjectMatrix(l[t]||{}),m=new y.ObjectMatrix;return s.forValue((d,p,R)=>{Jl(c,m,i,o,d,p,R)}),c.forValue((d,p,R)=>{const _=(R==null?void 0:R.f)||"",S=(R==null?void 0:R.si)||"";if(y.isFormulaId(S)){const L=i.get(S),w=o.get(S);if(L&&!y.isFormulaString(_)){const b=L.f,N=p-L.c,z=d-L.r;c.setValue(d,p,{f:b,si:S,x:N,y:z}),m.setValue(d,p,{f:b,si:S,x:N,y:z})}else if(typeof w=="string"){const b=(R==null?void 0:R.x)||0,N=(R==null?void 0:R.y)||0,z=this._lexerTreeBuilder.moveFormulaRefOffset(w,b,N);o.set(S,{r:d,c:p,f:z}),c.setValue(d,p,{f:z,si:S}),m.setValue(d,p,{f:z,si:S})}else if(typeof w=="object"){const b=p-w.c,N=d-w.r;c.setValue(d,p,{f:w.f,si:S,x:b,y:N}),m.setValue(d,p,{f:w.f,si:S,x:b,y:N})}}}),m.clone()}updateArrayFormulaRange(e,t,r){var u;const s=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(!s)return;const i=new y.ObjectMatrix(s);new y.ObjectMatrix(r).forValue((l,c,m)=>{i.realDeleteValue(l,c)})}updateArrayFormulaCellData(e,t,r){var c,m;const s=(c=this._arrayFormulaRange[e])==null?void 0:c[t];if(!s)return;const i=new y.ObjectMatrix(s),o=(m=this._arrayFormulaCellData[e])==null?void 0:m[t];if(!o)return;const u=new y.ObjectMatrix(o);new y.ObjectMatrix(r).forValue((d,p,R)=>{ec(i,u,d,p)})}getFormulaItemBySId(e,t,r){const s=this._formulaData;if(s[r]==null)return null;const i=s[r];if((i==null?void 0:i[t])==null)return null;const o=new y.ObjectMatrix(i[t]||{});let u=null;return o.forValue((l,c,m)=>{if(m==null)return!0;const{f:d,si:p,x:R=0,y:_=0}=m;if(p===e&&d.length>0&&R===0&&_===0)return u=m,!1}),u}getFormulaDataItem(e,t,r,s){var i,o,u,l;return(l=(u=(o=(i=this._formulaData)==null?void 0:i[s])==null?void 0:o[r])==null?void 0:u[e])==null?void 0:l[t]}getFormulaIdMap(e,t){const r=new Map,s=this._formulaData;if(s[e]==null)return r;const i=s[e];return(i==null?void 0:i[t])==null||new y.ObjectMatrix(i[t]||{}).forValue((u,l,c)=>{const m=(c==null?void 0:c.f)||"",d=(c==null?void 0:c.si)||"",p=(c==null?void 0:c.x)||0,R=(c==null?void 0:c.y)||0;y.isFormulaString(m)&&y.isFormulaId(d)&&p===0&&R===0&&r.set(d,{f:m,r:u,c:l})}),r}getFormulaStringByCell(e,t,r,s){const i=this.getFormulaDataItem(e,t,r,s);if(i==null)return null;const{f:o,si:u,x:l=0,y:c=0}=i;if(u!=null&&(l!==0||c!==0)){let m="";if(o.length>0)m=o;else{const d=this.getFormulaItemBySId(u,r,s);if(d==null||d.f.length===0)return null;m=d.f}return m=this._lexerTreeBuilder.moveFormulaRefOffset(m,l,c),m}return y.isFormulaString(o)?o:null}};exports.FormulaDataModel=nc([Cs(0,y.IUniverInstanceService),Cs(1,y.Inject(jr))],exports.FormulaDataModel);function Pa(n,a,e,t){const r=new Map,s=new y.ObjectMatrix;t.forValue((o,u,l)=>{const c=(l==null?void 0:l.f)||"",m=(l==null?void 0:l.si)||"",d=y.isFormulaString(c),p=y.isFormulaId(m);d&&p?(s.setValue(o,u,{f:c,si:m}),r.set(m,{f:c,r:o,c:u})):d&&!p?s.setValue(o,u,{f:c}):!d&&p&&s.setValue(o,u,{f:"",si:m})}),s.forValue((o,u,l)=>{const c=(l==null?void 0:l.f)||"",m=(l==null?void 0:l.si)||"";if(y.isFormulaId(m)&&!y.isFormulaString(c)){const d=r.get(m);if(d){const p=d.f,R=u-d.c,_=o-d.r;s.setValue(o,u,{f:p,si:m,x:R,y:_})}else s.realDeleteValue(o,u)}}),n[a]||(n[a]={});const i=s.clone();return n[a][e]=i,{[a]:{[e]:i}}}const Mr={id:"formula.mutation.set-array-formula-data",type:y.CommandType.MUTATION,handler:(n,a)=>!0},Mn={id:"formula.mutation.set-formula-calculation-start",type:y.CommandType.MUTATION,handler:()=>!0},Un={id:"formula.mutation.set-formula-calculation-stop",type:y.CommandType.MUTATION,handler:()=>!0},Ur={id:"formula.mutation.set-formula-calculation-notification",type:y.CommandType.MUTATION,handler:()=>!0},Fn={id:"formula.mutation.set-formula-calculation-result",type:y.CommandType.MUTATION,handler:()=>!0},Gr={id:"formula.mutation.set-formula-data",type:y.CommandType.MUTATION,handler:(n,a)=>!0};class La extends y.Disposable{constructor(){super();g(this,"_definedNameMap",{});g(this,"_update$",new Et.Subject);g(this,"update$",this._update$.asObservable());g(this,"_currentRange",{unitId:"",sheetId:"",range:{startRow:0,endRow:0,startColumn:0,endColumn:0}});g(this,"_currentRange$",new Et.Subject);g(this,"currentRange$",this._currentRange$.asObservable());g(this,"_focusRange$",new Et.Subject);g(this,"focusRange$",this._focusRange$.asObservable())}dispose(){this._definedNameMap={}}focusRange(e,t){const r=this.getValueById(e,t);r!=null&&this._focusRange$.next({...r,unitId:e})}setCurrentRange(e){this._currentRange=e,this._currentRange$.next(e)}getCurrentRange(){return this._currentRange}getCurrentRangeForString(){return et(this._currentRange.range)}registerDefinedNames(e,t){this._definedNameMap[e]=t,this._update()}registerDefinedName(e,t){this._definedNameMap[e]==null&&(this._definedNameMap[e]={}),this._definedNameMap[e][t.id]=t,this._update()}removeDefinedName(e,t){var r;(r=this._definedNameMap[e])==null||delete r[t],this._update()}removeUnitDefinedName(e){delete this._definedNameMap[e],this._update()}getDefinedNameMap(e){return this._definedNameMap[e]}getValueByName(e,t){var s;const r=this._definedNameMap[e];return r==null?null:(s=Array.from(Object.values(r)).filter(i=>i.name===t))==null?void 0:s[0]}getValueById(e,t){var r;return(r=this._definedNameMap[e])==null?void 0:r[t]}hasDefinedName(e){return this._definedNameMap[e]==null?!1:(Array.from(Object.values(this._definedNameMap[e])).length||0)!==0}_update(){this._update$.next(null)}}const rr=y.createIdentifier("univer.formula.defined-names.service");var sc=Object.defineProperty,ac=Object.getOwnPropertyDescriptor,ic=(n,a,e,t)=>{for(var r=t>1?void 0:t?ac(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&sc(a,e,r),r},oc=(n,a)=>(e,t)=>a(e,t,n);exports.FormulaCurrentConfigService=class extends y.Disposable{constructor(e){super();g(this,"_unitData",{});g(this,"_unitStylesData",{});g(this,"_arrayFormulaCellData",{});g(this,"_formulaData",{});g(this,"_sheetNameMap",{});g(this,"_forceCalculate",!1);g(this,"_dirtyRanges",[]);g(this,"_dirtyNameMap",{});g(this,"_dirtyDefinedNameMap",{});g(this,"_dirtyUnitFeatureMap",{});g(this,"_dirtyUnitOtherFormulaMap",{});g(this,"_excludedCell");g(this,"_sheetIdToNameMap",{});g(this,"_executeUnitId","");g(this,"_executeSubUnitId","");this._univerInstanceService=e}dispose(){this._unitData={},this._unitStylesData={},this._formulaData={},this._arrayFormulaCellData={},this._sheetNameMap={},this._dirtyRanges=[],this._dirtyNameMap={},this._dirtyDefinedNameMap={},this._dirtyUnitFeatureMap={},this._excludedCell={},this._sheetIdToNameMap={},this._dirtyUnitOtherFormulaMap={}}getExecuteUnitId(){return this._executeUnitId}getExecuteSubUnitId(){return this._executeSubUnitId}setExecuteUnitId(e){this._executeUnitId=e}setExecuteSubUnitId(e){this._executeSubUnitId=e}getExcludedRange(){return this._excludedCell}getUnitData(){return this._unitData}getUnitStylesData(){return this._unitStylesData}getFormulaData(){return this._formulaData}getArrayFormulaCellData(){return this._arrayFormulaCellData}getSheetNameMap(){return this._sheetNameMap}isForceCalculate(){return this._forceCalculate}getDirtyRanges(){return this._dirtyRanges}getDirtyNameMap(){return this._dirtyNameMap}getDirtyDefinedNameMap(){return this._dirtyDefinedNameMap}getDirtyUnitFeatureMap(){return this._dirtyUnitFeatureMap}getDirtyUnitOtherFormulaMap(){return this._dirtyUnitOtherFormulaMap}getSheetName(e,t){return this._sheetIdToNameMap[e]==null?"":this._sheetIdToNameMap[e][t]||""}load(e){if(e.allUnitData&&e.unitSheetNameMap&&e.unitStylesData)this._unitData=e.allUnitData,this._unitStylesData=e.unitStylesData,this._sheetNameMap=e.unitSheetNameMap;else{const{allUnitData:t,unitSheetNameMap:r,unitStylesData:s}=this._loadSheetData();this._unitData=t,this._unitStylesData=s,this._sheetNameMap=r}this._formulaData=e.formulaData,this._arrayFormulaCellData=ws(e.arrayFormulaCellData),this._forceCalculate=e.forceCalculate,this._dirtyRanges=e.dirtyRanges,this._dirtyNameMap=e.dirtyNameMap,this._dirtyDefinedNameMap=e.dirtyDefinedNameMap,this._dirtyUnitFeatureMap=e.dirtyUnitFeatureMap,this._dirtyUnitOtherFormulaMap=e.dirtyUnitOtherFormulaMap,this._excludedCell=e.excludedCell,this._mergeNameMap(this._sheetNameMap,this._dirtyNameMap)}getDirtyData(){return{forceCalculation:this._forceCalculate,dirtyRanges:this._dirtyRanges,dirtyNameMap:this._dirtyNameMap,dirtyDefinedNameMap:this._dirtyDefinedNameMap,dirtyUnitFeatureMap:this._dirtyUnitFeatureMap,dirtyUnitOtherFormulaMap:this._dirtyUnitOtherFormulaMap}}loadDirtyRangesAndExcludedCell(e,t){this._dirtyRanges=e,this._excludedCell=t,this._dirtyNameMap={}}registerUnitData(e){this._unitData=e}registerFormulaData(e){this._formulaData=e}registerSheetNameMap(e){this._sheetNameMap=e}_mergeNameMap(e,t){Object.keys(t).forEach(r=>{t[r]&&Object.keys(t[r]).forEach(s=>{e[r]==null&&(e[r]={}),e[r][t[r][s]]=s})}),this._sheetIdToNameMap={},Object.keys(e).forEach(r=>{Object.keys(e[r]).forEach(s=>{this._sheetIdToNameMap[r]==null&&(this._sheetIdToNameMap[r]={}),this._sheetIdToNameMap[r][e[r][s]]=s})})}_loadSheetData(){const e=this._univerInstanceService.getAllUnitsForType(y.UniverInstanceType.UNIVER_SHEET),t=this._univerInstanceService.getCurrentUnitForType(y.UniverInstanceType.UNIVER_SHEET),r=t==null?void 0:t.getActiveSheet();this._executeUnitId=t==null?void 0:t.getUnitId(),this._executeSubUnitId=r==null?void 0:r.getSheetId();const s={},i={},o={};for(const u of e){const l=u.getUnitId(),c=u.getSheets(),m={},d={};for(const p of c){const R=p.getSheetId(),_=p.getConfig();m[R]={cellData:new y.ObjectMatrix(_.cellData),rowCount:_.rowCount,columnCount:_.columnCount,rowData:_.rowData,columnData:_.columnData,defaultRowHeight:_.defaultRowHeight,defaultColumnWidth:_.defaultColumnWidth},d[p.getName()]=p.getSheetId()}s[l]=m,i[l]=u.getStyles(),o[l]=d}return{allUnitData:s,unitStylesData:i,unitSheetNameMap:o}}};exports.FormulaCurrentConfigService=ic([oc(0,y.IUniverInstanceService)],exports.FormulaCurrentConfigService);const rt=y.createIdentifier("univer.formula.current-data.service");var uc=Object.defineProperty,lc=Object.getOwnPropertyDescriptor,cc=(n,a,e,t)=>{for(var r=t>1?void 0:t?lc(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&uc(a,e,r),r},cn=(n,a)=>(e,t)=>a(e,t,n);let wt=class extends y.Disposable{constructor(n,a,e){super(),this._definedNamesService=n,this._lexerTreeBuilder=a,this._formulaCurrentConfigService=e}treeBuilder(n,a=!0){return this._lexerTreeBuilder.treeBuilder(n,a,this._injectDefinedName.bind(this),this._simpleCheckDefinedName.bind(this))}_simpleCheckDefinedName(n){const a=this._formulaCurrentConfigService.getDirtyDefinedNameMap(),e=this._formulaCurrentConfigService.getExecuteUnitId();if(e!=null&&a[e]!=null){const t=Object.keys(a[e]);for(let r=0,s=t.length;r<s;r++){const i=t[r];if(n.indexOf(i)>-1)return!0}}return!1}_checkDefinedNameDirty(n){const a=this._formulaCurrentConfigService.getDirtyDefinedNameMap(),e=this._formulaCurrentConfigService.getExecuteUnitId();if(e!=null&&a[e]!=null){const t=Object.keys(a[e]);for(let r=0,s=t.length;r<s;r++)if(t[r]===n)return!0}return!1}_injectDefinedName(n){const a=this._formulaCurrentConfigService.getExecuteUnitId();if(a==null)return{sequenceString:"",hasDefinedName:!1,definedNames:[]};const e=this._lexerTreeBuilder.getSequenceNode(n);let t="",r=!1;const s=[];for(let i=0,o=e.length;i<o;i++){const u=e[i];if(typeof u=="string"){t+=u;continue}const{nodeType:l,token:c}=u;if(l===we.REFERENCE||l===we.FUNCTION){const m=this._definedNamesService.getValueByName(a,c);if(m){let d=m.formulaOrRefString;d.substring(0,1)===oe.EQUALS&&(d=d.substring(1)),t+=d,s.push(m.name),r=!0}else this._checkDefinedNameDirty(c)?(t+=f.NAME,r=!0,s.push(c)):t+=c}else t+=c}return{sequenceString:t,hasDefinedName:r,definedNames:s}}};wt=cc([cn(0,rr),cn(1,y.Inject(jr)),cn(2,rt)],wt);var fc=Object.defineProperty,hc=Object.getOwnPropertyDescriptor,mc=(n,a,e,t)=>{for(var r=t>1?void 0:t?hc(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&fc(a,e,r),r},gc=(n,a)=>(e,t)=>a(e,t,n),Ye=(n=>(n[n.IDLE=0]="IDLE",n[n.START_DEPENDENCY=1]="START_DEPENDENCY",n[n.START_CALCULATION=2]="START_CALCULATION",n[n.CURRENTLY_CALCULATING=3]="CURRENTLY_CALCULATING",n[n.START_DEPENDENCY_ARRAY_FORMULA=4]="START_DEPENDENCY_ARRAY_FORMULA",n[n.START_CALCULATION_ARRAY_FORMULA=5]="START_CALCULATION_ARRAY_FORMULA",n[n.CURRENTLY_CALCULATING_ARRAY_FORMULA=6]="CURRENTLY_CALCULATING_ARRAY_FORMULA",n[n.CALCULATION_COMPLETED=7]="CALCULATION_COMPLETED",n))(Ye||{}),Lt=(n=>(n[n.INITIAL=0]="INITIAL",n[n.STOP_EXECUTION=1]="STOP_EXECUTION",n[n.NOT_EXECUTED=2]="NOT_EXECUTED",n[n.SUCCESS=3]="SUCCESS",n))(Lt||{});exports.FormulaRuntimeService=class extends y.Disposable{constructor(e){super();g(this,"_formulaExecuteStage",0);g(this,"_stopState",!1);g(this,"_currentRow",-1);g(this,"_currentColumn",-1);g(this,"_currentRowCount",Number.NEGATIVE_INFINITY);g(this,"_currentColumnCount",Number.NEGATIVE_INFINITY);g(this,"_currentSubUnitId","");g(this,"_currentUnitId","");g(this,"_runtimeData",{});g(this,"_runtimeOtherData",{});g(this,"_unitArrayFormulaRange",{});g(this,"_runtimeArrayFormulaCellData",{});g(this,"_runtimeClearArrayFormulaCellData",{});g(this,"_runtimeFeatureRange",{});g(this,"_runtimeFeatureCellData",{});g(this,"_functionsExecutedState",0);g(this,"_functionDefinitionPrivacyVar",new Map);g(this,"_totalFormulasToCalculate",0);g(this,"_completedFormulasCount",0);g(this,"_totalArrayFormulasToCalculate",0);g(this,"_completedArrayFormulasCount",0);g(this,"_formulaCycleIndex",0);g(this,"_isCycleDependency",!1);this._currentConfigService=e}get currentRow(){return this._currentRow}get currentColumn(){return this._currentColumn}get currentRowCount(){return this._currentRowCount}get currentColumnCount(){return this._currentColumnCount}get currentSubUnitId(){return this._currentSubUnitId}get currentUnitId(){return this._currentUnitId}dispose(){this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={}}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}setTotalArrayFormulasToCalculate(e){this._totalArrayFormulasToCalculate=e}getTotalArrayFormulasToCalculate(){return this._totalArrayFormulasToCalculate}setCompletedArrayFormulasCount(e){this._completedArrayFormulasCount=e}getCompletedArrayFormulasCount(){return this._completedArrayFormulasCount}setTotalFormulasToCalculate(e){this._totalFormulasToCalculate=e}getTotalFormulasToCalculate(){return this._totalFormulasToCalculate}setCompletedFormulasCount(e){this._completedFormulasCount=e}getCompletedFormulasCount(){return this._completedFormulasCount}setFormulaCycleIndex(e){this._formulaCycleIndex=e}getFormulaCycleIndex(){return this._formulaCycleIndex}markedAsSuccessfullyExecuted(){this._functionsExecutedState=3}markedAsNoFunctionsExecuted(){this._functionsExecutedState=2}markedAsStopFunctionsExecuted(){this._functionsExecutedState=1}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=0}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(0)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=0,this._runtimeData={},this._runtimeOtherData={},this._unitArrayFormulaRange={},this._runtimeArrayFormulaCellData={},this._runtimeClearArrayFormulaCellData={},this._functionDefinitionPrivacyVar.clear(),this.markedAsInitialFunctionsExecuted(),this._stopState=!1,this._isCycleDependency=!1,this._totalFormulasToCalculate=0,this._completedFormulasCount=0}setCurrent(e,t,r,s,i,o){this._currentRow=e,this._currentColumn=t,this._currentRowCount=r,this._currentColumnCount=s,this._currentSubUnitId=i,this._currentUnitId=o}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t){const r=this._currentSubUnitId,s=this._currentUnitId;this._runtimeOtherData[s]===void 0&&(this._runtimeOtherData[s]={});const i=this._runtimeOtherData[s];i[r]===void 0&&(i[r]={});const o=i[r];let u=[];if(t.isReferenceObject()||t.isValueObject()&&t.isArray()){const l=t,{startRow:c,startColumn:m}=l.getRangePosition();l.iterator((d,p,R)=>{const _=gt(d),S=p-c,L=R-m;u[S]==null&&(u[S]=[]),u[S][L]=_})}else u=[[gt(t)]];o[e]=u}setRuntimeData(e){const t=this._currentRow,r=this._currentColumn,s=this._currentRowCount,i=this.currentColumnCount,o=this._currentSubUnitId,u=this._currentUnitId;this._runtimeData[u]==null&&(this._runtimeData[u]={});const l=this._runtimeData[u];l[o]==null&&(l[o]=new y.ObjectMatrix),this._unitArrayFormulaRange[u]==null&&(this._unitArrayFormulaRange[u]={});const c=this._unitArrayFormulaRange[u];let m=new y.ObjectMatrix;c[o]&&(m=new y.ObjectMatrix(c[o])),this._runtimeArrayFormulaCellData[u]===void 0&&(this._runtimeArrayFormulaCellData[u]={});const d=this._runtimeArrayFormulaCellData[u];d[o]==null&&(d[o]=new y.ObjectMatrix),this._runtimeClearArrayFormulaCellData[u]===void 0&&(this._runtimeClearArrayFormulaCellData[u]={});const p=this._runtimeClearArrayFormulaCellData[u];p[o]==null&&(p[o]=new y.ObjectMatrix);const R=l[o],_=d[o],S=p[o];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const L=e,{startRow:w,startColumn:b,endRow:N,endColumn:z}=L.getRangePosition();if(w===N&&b===z){const pe=L.getFirstCell(),ge=gt(pe);R.setValue(t,r,ge),S.setValue(t,r,ge);return}const ee={startRow:t,startColumn:r,endRow:N-w+t,endColumn:z-b+r};if(m.setValue(t,r,ee),c[o]=m.getData(),this._checkIfArrayFormulaRangeHasData(u,o,t,r,ee)||this._checkIfArrayFormulaExceeded(s,i,ee)){const pe=gt(h.create(f.SPILL));R.setValue(t,r,pe),S.setValue(t,r,pe);const ge=this._currentConfigService.getUnitData();L.iterator((le,Ee,ce)=>{var ht,Ae,Tt,nr,sr;const De=Ee-w+t,Ue=ce-b+r;if(Ee===w&&ce===b)_.setValue(t,r,pe);else if(((Tt=(Ae=(ht=ge[u])==null?void 0:ht[o])==null?void 0:Ae.cellData)==null?void 0:Tt.getValue(De,Ue))!=null){const ar=(sr=(nr=ge[u])==null?void 0:nr[o])==null?void 0:sr.cellData.getValue(De,Ue);_.setValue(De,Ue,ar)}else _.setValue(De,Ue,{v:""})})}else{const pe=h.create(f.SPILL);L.iterator((ge,le,Ee)=>{const ce=gt(ge);if(le===w&&Ee===b){if(ge!=null&&ge.isError()&&ge.isEqualType(pe))return S.setValue(t,r,{}),R.setValue(t,r,{...gt(pe)}),!1;R.setValue(t,r,{...ce})}const De=le-w+t,Ue=Ee-b+r;_.setValue(De,Ue,ce)})}}else{const L=gt(e);R.setValue(t,r,L),S.setValue(t,r,L)}}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getRuntimeOtherData(){return this._runtimeOtherData}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}getRuntimeClearArrayFormulaCellData(){return this._runtimeClearArrayFormulaCellData}getRuntimeFeatureRange(){return this._runtimeFeatureRange}setRuntimeFeatureRange(e,t){this._runtimeFeatureRange[e]=t}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e,t){this._runtimeFeatureCellData[e]=t}getAllRuntimeData(){return{unitData:this.getUnitData(),arrayFormulaRange:this.getUnitArrayFormula(),unitOtherData:this.getRuntimeOtherData(),functionsExecutedState:this._functionsExecutedState,arrayFormulaCellData:this.getRuntimeArrayFormulaCellData(),clearArrayFormulaCellData:this.getRuntimeClearArrayFormulaCellData(),runtimeFeatureRange:this.getRuntimeFeatureRange(),runtimeFeatureCellData:this.getRuntimeFeatureCellData()}}getRuntimeState(){return{totalFormulasToCalculate:this.getTotalFormulasToCalculate(),completedFormulasCount:this.getCompletedFormulasCount(),totalArrayFormulasToCalculate:this.getTotalArrayFormulasToCalculate(),completedArrayFormulasCount:this.getCompletedArrayFormulasCount(),stage:this.getFormulaExecuteStage(),formulaCycleIndex:this.getFormulaCycleIndex()}}_checkIfArrayFormulaRangeHasData(e,t,r,s,i){var p,R,_,S,L,w,b,N,z,ee,pe,ge;const{startRow:o,startColumn:u,endRow:l,endColumn:c}=i,m=this._currentConfigService.getUnitData(),d=(_=(R=(p=this._unitArrayFormulaRange[e])==null?void 0:p[t])==null?void 0:R[r])==null?void 0:_[s];for(let le=o;le<=l;le++)for(let Ee=u;Ee<=c;Ee++){if(le===r&&s===Ee)continue;const ce=(w=(L=(S=this._runtimeData)==null?void 0:S[e])==null?void 0:L[t])==null?void 0:w.getValue(le,Ee),De=(z=(N=(b=this._runtimeArrayFormulaCellData)==null?void 0:b[e])==null?void 0:N[t])==null?void 0:z.getValue(le,Ee),Ue=(ge=(pe=(ee=m==null?void 0:m[e])==null?void 0:ee[t])==null?void 0:pe.cellData)==null?void 0:ge.getValue(le,Ee);if(!y.isNullCell(ce)||!y.isNullCell(De)&&!this._isInArrayFormulaRange(d,le,Ee)||!y.isNullCell(Ue))return!0}return!1}_isInArrayFormulaRange(e,t,r){if(e==null)return!1;const{startRow:s,startColumn:i,endRow:o,endColumn:u}=e;return t>=s&&t<=o&&r>=i&&r<=u}_checkIfArrayFormulaExceeded(e,t,r){return r.endRow>=e||r.endColumn>=t}_isInDirtyRange(e,t,r,s){const i=this._currentConfigService.getDirtyRanges();return i.length===0?!0:Ps(i,e,t,r,s)}};exports.FormulaRuntimeService=mc([gc(0,rt)],exports.FormulaRuntimeService);const Ne=y.createIdentifier("univer.formula.runtime.service");var te=(n=>(n.REFERENCE="ReferenceNode",n.VALUE="ValueNode",n.OPERATOR="OperatorNode",n.FUNCTION="FunctionNode",n.LAMBDA="LambdaNode",n.LAMBDA_PARAMETER="LambdaNodeParameter",n.ERROR="ErrorNode",n.BASE="Base",n.ROOT="Root",n.UNION="UnionNode",n.PREFIX="PrefixNode",n.SUFFIX="SuffixNode",n.NULL="NullNode",n))(te||{});const ze=new Map([["ReferenceNode",7],["ValueNode",9],["OperatorNode",8],["FunctionNode",6],["LambdaNode",1],["LambdaNodeParameter",2],["Root",10],["UnionNode",3],["PrefixNode",4],["SuffixNode",5]]);class Be extends y.Disposable{constructor(e){super();g(this,"_children",[]);g(this,"_definedNames",[]);g(this,"_parent");g(this,"_valueObject");g(this,"_calculateState",!1);g(this,"_async",!1);g(this,"_address",!1);g(this,"_refOffsetX",0);g(this,"_refOffsetY",0);this._token=e}dispose(){var e;this._children.forEach(t=>{t.dispose()}),(e=this._valueObject)==null||e.dispose(),this._parent=null}get nodeType(){return te.BASE}isAsync(){return this._async}isAddress(){return this._address}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(e){this._parent=e,e.addChildren(this)}getChildren(){return this._children}addChildren(...e){this._children.push(...e)}getToken(){return this._token}setValue(e){this._valueObject=e}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(e=!0){}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}async executeAsync(){return Promise.resolve(_t.SUCCESS)}serialize(){const e=this.getToken(),t=this.getChildren(),r=[],s=t.length;for(let o=0;o<s;o++){const u=t[o];r.push(u.serialize())}const i={token:e,nodeType:this.nodeType};return s>0&&(i.children=r),i}hasDefinedName(e){return this._definedNames.includes(e)}setDefinedNames(e){this._definedNames=e}}class Ve extends Be{constructor(e){super(e);g(this,"_errorValueObject");this._errorValueObject=h.create(e)}get nodeType(){return te.ERROR}static create(e){return new Ve(e)}getValue(){return this._errorValueObject}}const We=100;class Ge extends y.Disposable{get zIndex(){return 0}create(a,e,t){let r;return a instanceof Z?r=a.getToken():r=a,new Be(r)}}class _n extends Be{get nodeType(){return te.ROOT}execute(){const e=this.getChildren()[0];e==null?this.setValue(h.create(f.VALUE)):this.setValue(e.getValue())}}class ba extends Ge{get zIndex(){return ze.get(te.ROOT)||We}checkAndCreateNodeType(a){if(!(a instanceof Z))return;if(a.getToken()===ut)return new _n(ut)}}class xa extends y.Disposable{constructor(){super(...arguments);g(this,"_functionExecutors",new Map);g(this,"_functionDescriptions",new Map)}dispose(){this._functionExecutors.clear(),this._functionDescriptions.clear()}registerExecutors(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionExecutors.set(r.name,r)}}getExecutors(){return this._functionExecutors}getExecutor(e){return this._functionExecutors.get(e)}hasExecutor(e){return this._functionExecutors.has(e)}unregisterExecutors(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionExecutors.delete(r)}}registerDescriptions(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.set(r.functionName,r)}return y.toDisposable(()=>{for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.delete(r.functionName)}})}getDescriptions(){return this._functionDescriptions}getDescription(e){return this._functionDescriptions.get(e)}hasDescription(e){return this._functionDescriptions.has(e)}unregisterDescriptions(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.delete(r)}}}const nt=y.createIdentifier("univer.formula.function.service");var dc=Object.defineProperty,pc=Object.getOwnPropertyDescriptor,Rc=(n,a,e,t)=>{for(var r=t>1?void 0:t?pc(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&dc(a,e,r),r},_s=(n,a)=>(e,t)=>a(e,t,n);class Fr extends Be{constructor(a,e,t){super(e),this._accessor=a,this._operatorString=e,this._functionExecutor=t}get nodeType(){return te.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");e.isReferenceObject()&&(e=e.toArrayValueObject()),this._operatorString===ye.MINUS?t=this._functionExecutor.calculate(C.create(0),e):this._operatorString===ye.AT?t=this._handlerAT(e):t=h.create(f.VALUE),this.setValue(t)}_handlerAT(a){if(!a.isReferenceObject())return h.create(f.VALUE);const e=a;if(e.isCell())return h.create(f.VALUE);const t=this._accessor.get(Ne),r=t.currentRow||0,s=t.currentColumn||0;return e.isRow()?e.getCellByColumn(s):e.isColumn()?e.getCellByRow(r):e.isRange()||e.isTable()?e.getCellByPosition():h.create(f.VALUE)}}let vr=class extends Ge{constructor(n,a){super(),this._functionService=n,this._injector=a}get zIndex(){return ze.get(te.PREFIX)||We}checkAndCreateNodeType(n){if(!(n instanceof Z))return;const a=n.getToken(),e=a.trim();if(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')return;let t="";if(e===ye.MINUS)t=be.MINUS;else return e===ye.AT?new Fr(this._injector,e):void 0;const r=this._functionService.getExecutor(t);return r?new Fr(this._injector,e,r):(console.error(`No function ${a}`),Ve.create(f.NAME))}};vr=Rc([_s(0,nt),_s(1,y.Inject(y.Injector))],vr);function wa(n,a,e){let t,r;const s=n.slice(0,2);let i=0;if(new RegExp(ye.MINUS,"g").test(s)){const o=a.getExecutor(be.MINUS);t=new Fr(e,ye.MINUS,o),i++}return new RegExp(ye.AT,"g").test(s)&&(r=new Fr(e,ye.AT),t&&r.setParent(t),i++),i>0&&(n=n.slice(i)),{tokenTrim:n,minusPrefixNode:t,atPrefixNode:r}}var Cc=Object.defineProperty,_c=Object.getOwnPropertyDescriptor,Ec=(n,a,e,t)=>{for(var r=t>1?void 0:t?_c(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&Cc(a,e,r),r},Nt=(n,a)=>(e,t)=>a(e,t,n);class yc extends Be{constructor(a,e,t,r,s){super(a),this._functionExecutor=e,this._currentConfigService=t,this._runtimeService=r,this._definedNamesService=s,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress()}get nodeType(){return te.FUNCTION}async executeAsync(){const a=[],e=this.getChildren(),t=e.length;this._compatibility();for(let i=0;i<t;i++){const o=e[i].getValue();o!=null&&(o.isReferenceObject()?a.push(o.toArrayValueObject()):a.push(o))}const r=this._calculate(a);let s;return r.isAsyncObject()||r.isAsyncArrayObject()?s=await r.getValue():s=r,this._setRefData(s),this.setValue(s),Promise.resolve(_t.SUCCESS)}execute(){const a=[],e=this.getChildren(),t=e.length;this._compatibility();for(let s=0;s<t;s++){const i=e[s].getValue();i!=null&&(i.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?a.push(i.toArrayValueObject()):a.push(i))}const r=this._calculate(a);this._setRefData(r),this.setValue(r)}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){const a=this.getChildren(),e=a.length;if(!this._functionExecutor.needsExpandParams||e!==3)return;const t=a[1].getValue(),r=a[2].getValue();if(!(t!=null&&t.isReferenceObject())&&!(r!=null&&r.isReferenceObject()))return;const s=t.getRangeData(),i=r.getRangeData(),{startRow:o,startColumn:u,endRow:l,endColumn:c}=s,m=l-o+1,d=c-u+1,{startRow:p,startColumn:R,endRow:_,endColumn:S}=i,L=_-p+1,w=S-R+1;m!==L&&(i.endRow+=m-L),d!==w&&(i.endColumn+=d-w)}_calculate(a){var s;const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(a.length<e||a.length>t))return h.create(f.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){const i=this._functionExecutor.calculateCustom(...a.map(o=>o.isArray()?o.toValue():o.getValue()));if(typeof i!="object"||i==null)r=ft.create(i);else{const o=Qs(i);r=Ce.create({calculateValueList:o,rowCount:o.length,columnCount:((s=o[0])==null?void 0:s.length)||0,unitId:"",sheetId:"",row:-1,column:-1})}}else this._functionExecutor.isAddress()&&this._setDefinedNamesForFunction(),r=this._functionExecutor.calculate(...a);return r}_setDefinedNamesForFunction(){const a=this._currentConfigService.getExecuteUnitId();if(a==null)return;const e=this._definedNamesService.getDefinedNameMap(a);e!=null&&this._functionExecutor.setDefinedNames(e)}_setRefInfo(){const{currentUnitId:a,currentSubUnitId:e,currentRow:t,currentColumn:r}=this._runtimeService;this._functionExecutor.setRefInfo(a,e,t,r)}_setRefData(a){if(!a.isReferenceObject())return;const e=a;e.setForcedSheetId(this._currentConfigService.getSheetNameMap()),e.setUnitData(this._currentConfigService.getUnitData()),e.setArrayFormulaCellData(this._currentConfigService.getArrayFormulaCellData()),e.setRuntimeData(this._runtimeService.getUnitData()),e.setRuntimeArrayFormulaCellData(this._runtimeService.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this._runtimeService.getRuntimeFeatureCellData())}}let Br=class extends Ge{constructor(n,a,e,t,r){super(),this._functionService=n,this._currentConfigService=a,this._runtimeService=e,this._definedNamesService=t,this._injector=r}get zIndex(){return ze.get(te.FUNCTION)||We}create(n){const a=this._functionService.getExecutor(n);return a?new yc(n,a,this._currentConfigService,this._runtimeService,this._definedNamesService):(console.error(`No function ${n}`),Ve.create(f.NAME))}checkAndCreateNodeType(n){if(typeof n=="string")return;const a=n.getToken(),{tokenTrim:e,minusPrefixNode:t,atPrefixNode:r}=wa(a.trim(),this._functionService,this._injector);if(!Number.isNaN(Number(e))&&!this._isParentUnionNode(n))return Ve.create(f.VALUE);const s=e.toUpperCase();if(this._functionService.hasExecutor(s)){const i=this.create(s);return r?i.setParent(r):t&&i.setParent(t),i}}_isParentUnionNode(n){var a,e;return((e=(a=n.getParent())==null?void 0:a.getParent())==null?void 0:e.getToken())===K.COLON}};Br=Ec([Nt(0,nt),Nt(1,rt),Nt(2,Ne),Nt(3,rr),Nt(4,y.Inject(y.Injector))],Br);var Dc=Object.defineProperty,Ac=Object.getOwnPropertyDescriptor,Sc=(n,a,e,t)=>{for(var r=t>1?void 0:t?Ac(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&Dc(a,e,r),r},Vc=(n,a)=>(e,t)=>a(e,t,n);let Mt=class extends y.Disposable{constructor(n){super(),this._runtimeService=n}async executeAsync(n){if(!n)return h.create(f.VALUE);await this._executeAsync(n);const a=n.getValue();if(a==null)throw new Error("node value is null");return Promise.resolve(a)}execute(n){if(!n)return h.create(f.VALUE);this._execute(n);const a=n.getValue();if(a==null)throw new Error("node value is null");return a}executePreCalculateNode(n){return n.execute(),n.getValue()}checkAsyncNode(n){const a=[];this._checkAsyncNode(n,a);for(let e=0,t=a.length;e<t;e++)if(a[e]===!0)return!0;return!1}_checkAsyncNode(n,a){const e=n.getChildren(),t=e.length;for(let r=0;r<t;r++){const s=e[r];a.push(s.isAsync()),this._checkAsyncNode(s,a)}}async _executeAsync(n){if(this._runtimeService.isStopExecution())return Promise.resolve(_t.ERROR);const a=n.getChildren(),e=a.length;for(let t=0;t<e;t++){const r=a[t];if(r.getToken().toUpperCase()===zt&&r.isEmptyParamFunction()){r.execute();continue}await this._executeAsync(r)}return n.nodeType===te.FUNCTION&&n.isAsync()?await n.executeAsync():n.execute(),Promise.resolve(_t.SUCCESS)}_execute(n){if(this._runtimeService.isStopExecution())return _t.ERROR;const a=n.getChildren(),e=a.length;for(let t=0;t<e;t++){const r=a[t];if(r.getToken().toUpperCase()===zt&&r.isEmptyParamFunction()){r.execute();continue}this._execute(r)}return n.execute(),_t.SUCCESS}};Mt=Sc([Vc(0,Ne)],Mt);function Ma(n){return n instanceof Z?n.getToken()===bt:!1}function Pc(n){return n instanceof Z?n.getToken()===Ms:!1}function Ua(n){if(!n)return;if(n.getToken()!==qt)return n;const a=n,e=a.getCurrentLambdaPrivacyVar(),t=a.getLambdaParameter();if(!e)return;const r=e.get(t);return r==null&&n.getValue()?n:Ua(r)}class vn extends tt{constructor(e,t,r){super(0);g(this,"_lambdaPrivacyValueMap",new Map);this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=r,this._lambdaPrivacyValueMap.clear()}static create(e,t,r){return new vn(e,t,r)}isLambda(){return!0}execute(...e){const t=this._lambdaPrivacyVarKeys.length;if(e.length!==t)return h.create(f.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let r;if(this._interpreter.checkAsyncNode(this._lambdaNode))r=new zs(this._interpreter.executeAsync(this._lambdaNode));else{const s=this._interpreter.execute(this._lambdaNode);s.isReferenceObject()?r=s.toArrayValueObject():r=s}return this._lambdaNode.setNotEmpty(!0),r}_setLambdaNodeValue(e){const t=e.getChildren(),r=t.length;for(let s=0;s<r;s++){const i=t[s];if(i.getToken()===qt){const u=i.getLambdaParameter(),l=this._lambdaPrivacyValueMap.get(u);if(l)i.setValue(l);else{const c=i.getCurrentLambdaPrivacyVar(),m=Ua(c.get(u));m!=null&&i.setValue(m.getValue())}continue}this._setLambdaNodeValue(i)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){const r=e[t],s=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(s,r)}}}var Lc=Object.defineProperty,bc=Object.getOwnPropertyDescriptor,xc=(n,a,e,t)=>{for(var r=t>1?void 0:t?bc(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&Lc(a,e,r),r},Es=(n,a)=>(e,t)=>a(e,t,n);class wc extends Be{constructor(e,t,r,s){super(e);g(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=r,this._lambdaPrivacyVarKeys=s}get nodeType(){return te.LAMBDA}setNotEmpty(e=!1){this._isNotEmpty=e}isEmptyParamFunction(){return this.getChildren().length<2&&this._isNotEmpty}isFunctionParameter(){return this._lambdaId===null}getLambdaId(){return this._lambdaId}execute(){if(this.isEmptyParamFunction())this.setValue(vn.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}}}let Or=class extends Ge{constructor(n,a){super(),this._runtimeService=n,this._interpreter=a}get zIndex(){return ze.get(te.LAMBDA)||We}create(n){const a=n.getChildren(),e=a[0];let t=a.slice(1,-1);const r=a[a.length-1];if(!(e instanceof Z&&r instanceof Z))return Ve.create(f.NAME);if(e.getToken()===bt){const o=e.getChildren();if(t.length!==o.length)return Ve.create(f.VALUE)}else t=a.slice(0,-1);const s=y.Tools.generateRandomId(8),i=new Map;for(let o=0;o<t.length;o++){const u=t[o];if(u instanceof Z){const l=u.getChildren()[0];u.setToken(Ms),i.set(l.trim(),void 0)}else return Ve.create(f.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(s,i),this._updateLambdaStatement(r,s,i),new wc(n.getToken(),s,this._interpreter,[...i.keys()])}checkAndCreateNodeType(n){if(!(!(n instanceof Z)||n.getToken().trim().toUpperCase()!==zt))return this.create(n)}_updateLambdaStatement(n,a,e){this._updateTree(n,a,e)}_updateTree(n,a,e){const t=n.getChildren(),r=t.length,s=t[0];for(let i=0;i<r;i++){const o=t[i];if(!(Ma(s)&&i!==0))if(o instanceof Z)this._updateTree(o,a,e);else{const u=o.trim();if(e.has(u)){const l=new Z;l.setToken(qt),l.setLambdaId(a),l.setLambdaPrivacyVar(e),l.setLambdaParameter(u),t[i]=l}}}}};Or=xc([Es(0,Ne),Es(1,y.Inject(Mt))],Or);function Fa(n){if(!n)return;if(n.getToken()!==qt)return n;const a=n,e=a.getCurrentLambdaPrivacyVar(),t=a.getLambdaParameter();if(e)return Fa(e.get(t))}class Mc extends Be{constructor(a,e,t){super(a),this._lambdaParameter=e,this._currentLambdaPrivacyVar=t}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return te.LAMBDA_PARAMETER}execute(){const a=Fa(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(a)this.setValue(a.getValue());else{const e=this.getValue();(e==null||e.isError())&&this.setValue(h.create(f.SPILL))}}}class va extends Ge{get zIndex(){return ze.get(te.LAMBDA_PARAMETER)||We}create(a){const e=a.getFunctionDefinitionPrivacyVar(),t=a.getLambdaParameter();return e?new Mc(a.getToken(),t,e):new Ve(f.SPILL)}checkAndCreateNodeType(a){if(!(!(a instanceof Z)||a.getToken().trim()!==qt))return this.create(a)}}class Uc extends Be{constructor(a){super(a),this._operatorString=a}get nodeType(){return te.NULL}execute(){this.setValue(se.create())}}var Fc=Object.defineProperty,vc=Object.getOwnPropertyDescriptor,Bc=(n,a,e,t)=>{for(var r=t>1?void 0:t?vc(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&Fc(a,e,r),r},Oc=(n,a)=>(e,t)=>a(e,t,n);class Tc extends Be{constructor(a,e){super(a),this._operatorString=a,this._functionExecutor=e}get nodeType(){return te.OPERATOR}execute(){var s,i;const a=this.getChildren();this._functionExecutor.name===be.COMPARE&&this._functionExecutor.setCompareType(this.getToken());let e=(s=a[0])==null?void 0:s.getValue(),t=(i=a[1])==null?void 0:i.getValue();const r=this.getToken();if((e==null||t==null)&&r!==oe.MINUS&&r!==oe.PLUS){this.setValue(h.create(f.VALUE));return}e==null&&(e=se.create()),t==null&&(t=se.create()),e.isReferenceObject()&&(e=e.toArrayValueObject()),t.isReferenceObject()&&(t=t.toArrayValueObject()),this.setValue(this._functionExecutor.calculate(e,t))}}let Tr=class extends Ge{constructor(n){super(),this._functionService=n}get zIndex(){return ze.get(te.OPERATOR)||We}create(n){let a="";const e=n;e===oe.PLUS?a=be.PLUS:e===oe.MINUS?a=be.MINUS:e===oe.MULTIPLY?a=be.MULTIPLY:e===oe.DIVIDED?a=be.DIVIDED:e===oe.CONCATENATE?a=Xe.CONCATENATE:e===oe.POWER?a=Y.POWER:si.has(e)&&(a=be.COMPARE);const t=this._functionService.getExecutor(a);return t?new Tc(e,t):(console.error(`No function ${n}`),Ve.create(f.NAME))}checkAndCreateNodeType(n){if(n instanceof Z)return;const a=n.trim();if(!(a.charAt(0)==='"'&&a.charAt(a.length-1)==='"')&&pt.has(a))return this.create(a)}};Tr=Bc([Oc(0,nt)],Tr);class kc extends y.Disposable{constructor(){super(...arguments);g(this,"_tableMap",new Map);g(this,"_tableOptionMap",new Map)}dispose(){this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var r;(r=this._tableMap.get(e))==null||r.delete(t)}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,r){var s;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(s=this._tableMap.get(e))==null||s.set(t,r)}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}}const Bn=y.createIdentifier("univer.formula.super-table.service");class Ic extends Ot{constructor(a,e,t,r){super(a),this._tableData=e,this._columnDataString=t;const s=this._tableData.sheetId,i=this._tableData.range,o=this._tableData.titleMap;this.setForcedSheetIdDirect(s);const u=this._stringToColumnData(this._columnDataString,o,r),l=u.startColumn,c=u.endColumn,m=u.type;let d=-1,p=-1;const R=i.startRow,_=i.startColumn;m===Rt.ALL?(d=R,p=_):m===Rt.DATA?(d=R+1,p=_):m===Rt.HEADERS?(d=R,p=R):m===Rt.TOTALS&&(d=_,p=_),this.setRangeData({startColumn:l,endColumn:c,startRow:d,endRow:p})}isTable(){return!0}_stringToColumnData(a,e,t){a=a.substring(1,-1);const r=a.indexOf(K.COMMA);let s=-1,i=-1,o=Rt.ALL;if(r===-1){const u=this._columnHandler(a,e);s=u.startColumn,i=u.endColumn}else{const u=a.substring(0,r).substring(1,-1),l=a.substring(r+1),c=this._columnHandler(l,e,!0);s=c.startColumn,i=c.endColumn,o=t.get(u),o||(o=Rt.ALL)}return{startColumn:s,endColumn:i,type:o}}_columnHandler(a,e,t=!1){var o,u,l;let r=-1,s=-1;const i=a.indexOf(K.COLON);if(new RegExp(Os,"g").test(a)){const c=a.substring(0,i).substring(1,-1),m=a.substring(i+1).substring(1,-1);r=(o=e.get(c))!=null?o:-1,s=(u=e.get(m))!=null?u:-1}else t&&(a=a.substring(1,-1)),r=(l=e.get(a))!=null?l:-1,s=r;return{startColumn:r,endColumn:s}}}var $c=Object.defineProperty,Nc=Object.getOwnPropertyDescriptor,jc=(n,a,e,t)=>{for(var r=t>1?void 0:t?Nc(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&$c(a,e,r),r},fr=(n,a)=>(e,t)=>a(e,t,n);class hr extends Be{constructor(a,e,t,r=!1){super(e),this._accessor=a,this._operatorString=e,this._referenceObject=t,this._isPrepareMerge=r}get nodeType(){return te.REFERENCE}execute(){const a=this._accessor.get(rt),e=this._accessor.get(Ne);this._referenceObject.setDefaultUnitId(e.currentUnitId),this._referenceObject.setDefaultSheetId(e.currentSubUnitId),this._referenceObject.setForcedSheetId(a.getSheetNameMap()),this._referenceObject.setUnitData(a.getUnitData()),this._referenceObject.setArrayFormulaCellData(a.getArrayFormulaCellData()),this._referenceObject.setRuntimeData(e.getUnitData()),this._referenceObject.setUnitStylesData(a.getUnitStylesData()),this._referenceObject.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),this._referenceObject.setRuntimeFeatureCellData(e.getRuntimeFeatureCellData());const{x:t,y:r}=this.getRefOffset();this._referenceObject.setRefOffset(t,r),!this._isPrepareMerge&&this._referenceObject.isExceedRange()?this.setValue(h.create(f.NAME)):this.setValue(this._referenceObject)}}let kr=class extends Ge{constructor(n,a,e,t){super(),this._superTableService=n,this._formulaRuntimeService=a,this._functionService=e,this._injector=t}get zIndex(){return ze.get(te.REFERENCE)||We}checkAndCreateNodeType(n){var u,l;let a=!1,e,t=!1;n instanceof Z?(a=!0,e=n.getToken().trim(),((l=(u=n.getParent())==null?void 0:u.getParent())==null?void 0:l.getToken().trim())===K.COLON&&(t=!0)):e=n.trim();const{tokenTrim:r,minusPrefixNode:s,atPrefixNode:i}=wa(e,this._functionService,this._injector);if(!a&&r.charAt(0)==='"'&&r.charAt(r.length-1)==='"')return;let o;if(new RegExp(Xt).test(r))o=new hr(this._injector,r,new Sn(r),t);else if(a&&this._checkParentIsUnionOperator(n))new RegExp(vs).test(r)?o=new hr(this._injector,r,new Vn(r),t):new RegExp(Bs).test(r)&&(o=new hr(this._injector,r,new Pn(r),t));else{const c=this._formulaRuntimeService.currentUnitId,m=this._superTableService.getTableMap(c),d=new RegExp(Os,"g"),p=r.replace(d,"");if(!a&&(m!=null&&m.has(p))){const R=d.exec(r);let _="";R&&(_=R[0]);const S=m.get(p),L=this._superTableService.getTableOptionMap();o=new hr(this._injector,r,new Ic(r,S,_,L))}}if(o)return i?o.setParent(i):s&&o.setParent(s),o}_checkParentIsUnionOperator(n){var a,e;return((e=(a=n.getParent())==null?void 0:a.getParent())==null?void 0:e.getToken().trim())===K.COLON}};kr=jc([fr(0,Bn),fr(1,Ne),fr(2,nt),fr(3,y.Inject(y.Injector))],kr);var Yc=Object.defineProperty,Hc=Object.getOwnPropertyDescriptor,Qc=(n,a,e,t)=>{for(var r=t>1?void 0:t?Hc(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&Yc(a,e,r),r},ys=(n,a)=>(e,t)=>a(e,t,n);class Ds extends Be{constructor(a,e,t){super(e),this._accessor=a,this._operatorString=e,this._functionExecutor=t}get nodeType(){return te.SUFFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");if(this._operatorString===Je.PERCENTAGE){if(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,C.create(100)),t.isNumber()){const r=Number(t.getValue());t=C.create(r,"0.00%")}}else this._operatorString===Je.POUND?t=this._handlerPound(e):t=h.create(f.VALUE);this.setValue(t)}_handlerPound(a){var c,m,d,p;if(!a.isReferenceObject()||!a.isCell())return h.create(f.VALUE);const e=this._accessor.get(rt),t=this._accessor.get(wt),r=a,s=r.getRangePosition(),i=r.getUnitId(),o=r.getSheetId(),u=e.getFormulaData(),l=(p=(d=(m=(c=u==null?void 0:u[i])==null?void 0:c[o])==null?void 0:m[s.startRow])==null?void 0:d[s.startColumn])==null?void 0:p.f;return l&&t.treeBuilder(l),h.create(f.VALUE)}}let Ir=class extends Ge{constructor(n,a){super(),this._functionService=n,this._injector=a}get zIndex(){return ze.get(te.SUFFIX)||We}checkAndCreateNodeType(n){if(!(n instanceof Z))return;const a=n.getToken().trim();if(a.charAt(0)==='"'&&a.charAt(a.length-1)==='"')return;let e="";if(a===Je.PERCENTAGE)e=be.DIVIDED;else return a===Je.POUND?new Ds(this._injector,a):void 0;const t=this._functionService.getExecutor(e);return t?new Ds(this._injector,a,t):(console.error(`No function ${n}`),Ve.create(f.NAME))}};Ir=Qc([ys(0,nt),ys(1,y.Inject(y.Injector))],Ir);var zc=Object.defineProperty,Wc=Object.getOwnPropertyDescriptor,Gc=(n,a,e,t)=>{for(var r=t>1?void 0:t?Wc(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&zc(a,e,r),r},Kc=(n,a)=>(e,t)=>a(e,t,n);class qc extends Be{constructor(a){super(a),this._operatorString=a}get nodeType(){return te.UNION}execute(){const a=this.getChildren(),e=a[0].getValue(),t=a[1].getValue();if(e==null||t==null)throw new Error("leftNode and rightNode");let r;this._operatorString===K.COLON?r=this._unionFunction(e,t):r=h.create(f.NAME),this.setValue(r)}_unionFunction(a,e){return a.isError()||e.isError()||!a.isReferenceObject()||!e.isReferenceObject()?h.create(f.REF):(a=a,e=e,a.isCell()&&e.isCell()||a.isRow()&&e.isRow()||a.isColumn()&&e.isColumn()?a.unionBy(e):h.create(f.NAME))}}let $r=class extends Ge{constructor(n){super(),this._functionService=n}get zIndex(){return ze.get(te.UNION)||We}create(n){return new qc(n)}checkAndCreateNodeType(n){if(!(n instanceof Z))return;const e=n.getToken().trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&e===K.COLON)return this.create(e)}};$r=Gc([Kc(0,nt)],$r);class Xc extends Be{constructor(a){super(a),this._operatorString=a}get nodeType(){return te.VALUE}execute(){this.setValue(ft.create(this._operatorString))}}class Ba extends Ge{get zIndex(){return ze.get(te.VALUE)||We}_checkValueNode(a){if(Number.isNaN(Number(a))){const e=a.trim(),t=e.charAt(0),r=e.charAt(e.length-1);if(Ft.has(e))return this.create(e);if(t==='"'&&r==='"')return this.create(e);if(t==="{"&&r==="}")return this.create(e);const s=e.toUpperCase();if(s===ct.TRUE||s===ct.FALSE)return this.create(s)}else return this.create(a)}create(a){return new Xc(a)}checkAndCreateNodeType(a){if(!(a instanceof Z))return this._checkValueNode(a)}}function Zc(n){let a=n;for(;a!=null&&a.getParent();)a=a.getParent();return a}var Jc=Object.defineProperty,ef=Object.getOwnPropertyDescriptor,tf=(n,a,e,t)=>{for(var r=t>1?void 0:t?ef(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&Jc(a,e,r),r},Ie=(n,a)=>(e,t)=>a(e,t,n);let Kt=class extends y.Disposable{constructor(a,e,t,r,s,i,o,u,l,c,m){super();g(this,"_astNodeFactoryList",[]);g(this,"_refOffsetX",0);g(this,"_refOffsetY",0);this._runtimeService=a,this._astRootNodeFactory=e,this._functionNodeFactory=t,this._lambdaNodeFactory=r,this._lambdaParameterNodeFactory=s,this._operatorNodeFactory=i,this._prefixNodeFactory=o,this._referenceNodeFactory=u,this._suffixNodeFactory=l,this._unionNodeFactory=c,this._valueNodeFactory=m,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(a=>{a.dispose()}),this._astNodeFactoryList=[]}parse(a,e=0,t=0){const r=new _n(ut);this._refOffsetX=e,this._refOffsetY=t;const s=this._parse(a,r);return a.hasDefinedNames()&&(s==null||s.setDefinedNames(a.getDefinedNames())),s}_lambdaParameterHandler(a,e){if(e.getLambdaId==null)return Ve.create(f.VALUE);const t=e.getLambdaId(),r=new _n(ut),s=this._runtimeService.getFunctionDefinitionPrivacyVar(t);if(!s)return!1;const i=[...s.keys()],o=a.getChildren(),u=o.length;for(let m=0;m<u;m++){const d=o[m];if(d instanceof Z)this._parse(d,r);else return!1}const l=r.getChildren(),c=l.length;for(let m=0;m<c;m++){const d=l[m];s.set(i[m],d)}return r.setParent(e),e}_changeLetToLambda(a){const e=a.getChildren(),t=e.length;if(t%2!==1||t===0)return;const r=new Z;r.setToken(zt);const s=new Z;s.setToken(bt);const i=[...e];for(let u=0;u<t;u++){const l=i[u];if(!(l instanceof Z))return;u%2===0?l.changeToParent(r):l.changeToParent(s)}r.addChildrenFirst(s),s.setParent(r);const o=a.getParent();return o==null||o.replaceChild(a,r),r}_parse(a,e){const t=a.getChildren(),r=t.length,s=[];let i=null;const o=a.getToken().trim().toUpperCase();if(o===ci){const c=this._changeLetToLambda(a);return c!=null?this._parse(c,e):Ve.create(f.ERROR)}if(o===qe){if(i=e,r===0)return new Uc(ut).setParent(e),i}else{if(o===bt){let c=this._lambdaParameterHandler(a,e);return c===!1&&(c=Ve.create(f.ERROR)),c}if(i=this._checkAstNode(a),i==null)return Ve.create(f.NAME)}const u=t[0];for(let c=0;c<r;c++){const m=t[c];if(Ma(u)){if(c!==0&&c!==r-1)continue}else if(Pc(m)&&c!==r-1)continue;let d=null;if(m instanceof Z){if(d=this._parse(m,i),d===i)continue}else d=this._checkAstNode(m);if(d==null)return Ve.create(f.NAME);if(d=Zc(d),d==null)return;switch(d.nodeType){case te.ERROR:return d;case te.FUNCTION:s.push(d);break;case te.LAMBDA:s.push(d);break;case te.LAMBDA_PARAMETER:s.push(d);break;case te.OPERATOR:{const p=s.pop(),R=s.pop();R&&R.setParent(d),p&&p.setParent(d),s.push(d);break}case te.REFERENCE:d.setRefOffset(this._refOffsetX,this._refOffsetY),s.push(d);break;case te.ROOT:s.push(d);break;case te.UNION:s.push(d);break;case te.VALUE:s.push(d);break;case te.PREFIX:s.push(d);break;case te.SUFFIX:s.push(d);break}}const l=s.length;for(let c=0;c<l;c++)s[c].setParent(i);return i}_checkAstNode(a){let e=null;const t=this._astNodeFactoryList.length;for(let r=0;r<t&&(e=this._astNodeFactoryList[r].checkAndCreateNodeType(a),e==null);r++);return e}_initializeAstNode(){this._astNodeFactoryList=[this._astRootNodeFactory,this._functionNodeFactory,this._lambdaNodeFactory,this._lambdaParameterNodeFactory,this._operatorNodeFactory,this._prefixNodeFactory,this._referenceNodeFactory,this._suffixNodeFactory,this._unionNodeFactory,this._valueNodeFactory].sort(y.sortRules)}};Kt=tf([Ie(0,Ne),Ie(1,y.Inject(ba)),Ie(2,y.Inject(Br)),Ie(3,y.Inject(Or)),Ie(4,y.Inject(va)),Ie(5,y.Inject(Tr)),Ie(6,y.Inject(vr)),Ie(7,y.Inject(kr)),Ie(8,y.Inject(Ir)),Ie(9,y.Inject($r)),Ie(10,y.Inject(Ba))],Kt);class Oa extends y.Disposable{constructor(){super(...arguments);g(this,"_referenceExecutorMap",new Map);g(this,"_onChanged$",new Et.Subject);g(this,"onChanged$",this._onChanged$.asObservable())}dispose(){this._referenceExecutorMap.clear()}remove(e,t,r){r.forEach(s=>{var i,o;(o=(i=this._referenceExecutorMap.get(e))==null?void 0:i.get(t))==null||o.delete(s)}),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:r})}get(e,t,r){var s,i;return(i=(s=this._referenceExecutorMap.get(e))==null?void 0:s.get(t))==null?void 0:i.get(r)}has(e,t,r){var s,i;return!!((i=(s=this._referenceExecutorMap.get(e))==null?void 0:s.get(t))!=null&&i.has(r))}register(e,t,r,s){let i=this._referenceExecutorMap.get(e);i||(i=new Map,this._referenceExecutorMap.set(e,i));let o=i.get(t);o||(o=new Map,i.set(t,o)),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:[r]}),o.set(r,s)}getReferenceExecutorMap(){return this._referenceExecutorMap}}const Ut=y.createIdentifier("univer.formula.feature-calculation-manager.service");class Ta extends y.Disposable{constructor(){super(...arguments);g(this,"_otherFormulaData",{})}dispose(){this._otherFormulaData={}}remove(e){var i,o,u;const{unitId:t,subUnitId:r,formulaId:s}=e;(u=(o=(i=this._otherFormulaData)==null?void 0:i[t])==null?void 0:o[r])==null||delete u[s]}get(e){var i,o;const{unitId:t,subUnitId:r,formulaId:s}=e;return(o=(i=this._otherFormulaData[t])==null?void 0:i[r])==null?void 0:o[s]}has(e){var i,o;const{unitId:t,subUnitId:r,formulaId:s}=e;return((o=(i=this._otherFormulaData[t])==null?void 0:i[r])==null?void 0:o[s])!=null}register(e){const{unitId:t,subUnitId:r,formulaId:s,item:i}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][r]||(this._otherFormulaData[t][r]={}),this._otherFormulaData[t][r][s]=i}batchRegister(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(s=>{const i=r[s];if(i==null)return!0;Object.keys(i).forEach(o=>{const u=i[o];if(u==null)return!0;this.register({unitId:t,subUnitId:s,formulaId:o,item:u})})})})}batchRemove(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(s=>{const i=r[s];if(i==null)return!0;Object.keys(i).forEach(o=>{this.remove({unitId:t,subUnitId:s,formulaId:o})})})})}getOtherFormulaData(){return this._otherFormulaData}}const Kr=y.createIdentifier("univer.formula.other-formula-manager.service");class fn extends y.Disposable{constructor(){super(...arguments);g(this,"node");g(this,"children",[]);g(this,"parents",[]);g(this,"formula","");g(this,"row",-1);g(this,"column",-1);g(this,"rowCount",Number.NEGATIVE_INFINITY);g(this,"columnCount",Number.NEGATIVE_INFINITY);g(this,"subUnitId","");g(this,"unitId","");g(this,"rangeList",[]);g(this,"formulaId");g(this,"featureId");g(this,"isPassive",!0);g(this,"getDirtyData");g(this,"_state",0)}dispose(){var e;super.dispose(),this.children=[],this.rangeList=[],this.parents=[],(e=this.node)==null||e.dispose()}disposeWithChildren(){this.children.forEach(e=>{e.disposeWithChildren()}),this.dispose()}resetState(){this._state=0}setAdded(){this._state=1}isAdded(){return this._state===1}setSkip(){this._state=2}isSkip(){return this._state===2}inRangeData(e){const t=e.startRow,r=e.startColumn,s=e.endRow,i=e.endColumn;return!(this.row<t||this.row>s||this.column<r||this.column>i)}dependencyRange(e,t,r){var s,i;if(this.rangeList.length===0)return!1;for(let o=0,u=this.rangeList.length;o<u;o++){const l=this.rangeList[o],{unitId:c,sheetId:m,range:d}=l.gridRange;if(((s=t[c])==null?void 0:s[m])!=null)return!0;if(!e.has(c))continue;const p=e.get(c);if(!p.has(m))continue;const R=p.get(m),_=(i=r==null?void 0:r[c])==null?void 0:i[m];let{startRow:S,endRow:L,startColumn:w,endColumn:b}=d;Number.isNaN(S)&&(S=0),Number.isNaN(w)&&(w=0),Number.isNaN(L)&&(L=Number.POSITIVE_INFINITY),Number.isNaN(b)&&(b=Number.POSITIVE_INFINITY);for(const N of R){const{startRow:z,startColumn:ee,endRow:pe,endColumn:ge}=N;if(!(S>pe||L<z||w>ge||b<ee)){let le=!0;if(_==null||_.forValue((Ee,ce)=>{if(Ee>=S&&Ee<=L&&ce>=w&&ce<=b)return le=!1,!1}),le)return!0}}}return!1}pushChildren(e){this.children.push(e),e._pushParent(this)}pushRangeList(e){this.rangeList.push(e)}dependency(e){if(this.rangeList.length===0)return!1;for(let t=0,r=this.rangeList.length;t<r;t++){const s=this.rangeList[t],i=s.gridRange.unitId,o=s.gridRange.sheetId,u=s.gridRange.range;if(e.unitId===i&&e.subUnitId===o&&e.inRangeData(u))return!0}return!1}_pushParent(e){this.parents.push(e)}}class En extends y.Disposable{constructor(){super(...arguments);g(this,"_cacheItems",new Map)}dispose(){this.clear()}size(){return this._cacheItems.size}get length(){return this._cacheItems.size}add(e,t){const{token:r}=e;if(!this._cacheItems.has(r)){this._cacheItems.set(r,{unitRangeWithToken:e,treeList:[t]});return}this._cacheItems.get(r).treeList.push(t)}clear(){this._cacheItems.clear()}remove(e,t){if(!this._cacheItems.has(e))return;const r=this._cacheItems.get(e),s=r.treeList.indexOf(t);s!==-1&&r.treeList.splice(s,1)}delete(e){this._cacheItems.delete(e)}dependency(e){this._cacheItems.forEach(t=>{const{unitRangeWithToken:r,treeList:s}=t,{gridRange:i}=r,{unitId:o,sheetId:u,range:l}=i;e.unitId===o&&e.subUnitId===u&&e.inRangeData(l)&&s.forEach(c=>{if(c===e||c.children.includes(e))return!0;c.pushChildren(e)})})}}class rf extends y.Disposable{constructor(){super(...arguments);g(this,"_otherFormulaData",{});g(this,"_featureFormulaData",{});g(this,"_formulaData",{})}dispose(){this._otherFormulaData={},this._featureFormulaData={},this._formulaData={}}getAllTree(){const e=[];return Object.values(this._otherFormulaData).forEach(t=>{if(t==null)return!0;Object.values(t).forEach(r=>{Object.values(r).forEach(s=>{s&&(s.resetState(),e.push(s))})})}),Object.values(this._featureFormulaData).forEach(t=>{if(t==null)return!0;Object.values(t).forEach(r=>{Object.values(r).forEach(s=>{s&&(s.resetState(),e.push(s))})})}),Object.values(this._formulaData).map(t=>t==null?[]:Object.values(t).forEach(r=>r.forValue((s,i,o)=>{o&&(o.resetState(),e.push(o))}))),e}buildDependencyTree(e,t){const r=this.getAllTree();return e.length===0?(this._buildReverseDependency(r,t),r):(e instanceof En?this._buildDependencyTree(r,e,t||[]):this._buildDependencyTree(r,e,e),r)}_buildDependencyTree(e,t,r){e.forEach(s=>{t instanceof En?t.dependency(s):t.forEach(i=>{if(s===i||i.children.includes(s))return!0;i.dependency(s)&&i.pushChildren(s)})}),this._buildReverseDependency(e,r)}_buildReverseDependency(e,t){e.forEach(r=>{t==null||t.forEach(s=>{if(r===s||r.children.includes(s))return!0;r.dependency(s)&&r.pushChildren(s)})})}clearDependencyForTree(e){if(e==null)return;const t=e.parents,r=e.children;t.forEach(s=>{s.children=s.children.filter(i=>i!==e)}),r.forEach(s=>{s.parents=s.parents.filter(i=>i!==e)}),this._buildDependencyTree(t,r,r),e.dispose()}reset(){this._otherFormulaData={},this._featureFormulaData={},this._formulaData={}}addOtherFormulaDependency(e,t,r,s){this._otherFormulaData[e]||(this._otherFormulaData[e]={}),this._otherFormulaData[e][t]||(this._otherFormulaData[e][t]={}),this._otherFormulaData[e][t][r]=s}removeOtherFormulaDependency(e,t,r){this._otherFormulaData[e]&&this._otherFormulaData[e][t]&&r.forEach(s=>{const i=this._otherFormulaData[e][t][s];this.clearDependencyForTree(i),delete this._otherFormulaData[e][t][s]})}getOtherFormulaDependency(e,t,r){var s,i;return(i=(s=this._otherFormulaData[e])==null?void 0:s[t])==null?void 0:i[r]}hasOtherFormulaDependency(e,t,r){var s,i;return((i=(s=this._otherFormulaData[e])==null?void 0:s[t])==null?void 0:i[r])!=null}addFeatureFormulaDependency(e,t,r,s){this._featureFormulaData[e]||(this._featureFormulaData[e]={}),this._featureFormulaData[e][t]||(this._featureFormulaData[e][t]={}),this._featureFormulaData[e][t][r]=s}removeFeatureFormulaDependency(e,t,r){this._featureFormulaData[e]&&this._featureFormulaData[e][t]&&r.forEach(s=>{const i=this._featureFormulaData[e][t][s];this.clearDependencyForTree(i),delete this._featureFormulaData[e][t][s]})}getFeatureFormulaDependency(e,t,r){var s,i;return(i=(s=this._featureFormulaData[e])==null?void 0:s[t])==null?void 0:i[r]}hasFeatureFormulaDependency(e,t,r){var s,i;return((i=(s=this._featureFormulaData[e])==null?void 0:s[t])==null?void 0:i[r])!=null}addFormulaDependency(e,t,r,s,i){this._formulaData[e]||(this._formulaData[e]={}),this._formulaData[e][t]||(this._formulaData[e][t]=new y.ObjectMatrix),this._formulaData[e][t].setValue(r,s,i)}removeFormulaDependency(e,t,r,s){if(this._formulaData[e]&&this._formulaData[e][t]){const i=this._formulaData[e][t].getValue(r,s);this.clearDependencyForTree(i),this._formulaData[e][t].realDeleteValue(r,s)}}clearFormulaDependency(e,t){this._formulaData[e]&&this._formulaData[e][t]&&this._formulaData[e][t].reset()}hasFormulaDependency(e,t,r,s){var i,o;return((o=(i=this._formulaData[e])==null?void 0:i[t])==null?void 0:o.getValue(r,s))!=null}}const qr=y.createIdentifier("univer.formula.dependency-manager.service");var nf=Object.defineProperty,sf=Object.getOwnPropertyDescriptor,af=(n,a,e,t)=>{for(var r=t>1?void 0:t?sf(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&nf(a,e,r),r},at=(n,a)=>(e,t)=>a(e,t,n);const of=1e5;let Ht=class extends y.Disposable{constructor(a,e,t,r,s,i,o,u){super();g(this,"_updateRangeFlattenCache",new Map);g(this,"_dirtyUnitSheetNameMap",{});g(this,"_formulaASTCache",new St(of));this._currentConfigService=a,this._runtimeService=e,this._otherFormulaManagerService=t,this._featureCalculationManagerService=r,this._interpreter=s,this._astTreeBuilder=i,this._lexer=o,this._dependencyManagerService=u}dispose(){this._updateRangeFlattenCache.clear(),this._formulaASTCache.clear(),this._dirtyUnitSheetNameMap={}}async generate(){this._updateRangeFlatten();const a=this._currentConfigService.getFormulaData(),e=this._otherFormulaManagerService.getOtherFormulaData(),t=this._currentConfigService.getUnitData(),{treeList:r,dependencyTreeCache:s}=await this._generateTreeList(a,e,t),i=this._getUpdateTreeListAndMakeDependency(r,s);this._checkIsCycleDependency(i)&&this._runtimeService.enableCycleDependency();const u=this._calculateRunList(i);return Promise.resolve(u)}_isCyclicUtil(a,e,t){if(!e.has(a)){e.add(a),t.add(a);for(let r=0;r<a.children.length;r++)if(!e.has(a.children[r])&&this._isCyclicUtil(a.children[r],e,t)||t.has(a.children[r]))return!0}return t.delete(a),!1}_checkIsCycleDependency(a){const e=new Set,t=new Set;for(let r=0,s=a.length;r<s;r++){const i=a[r];if(this._isCyclicUtil(i,e,t)===!0)return!0}return!1}async _generateTreeList(a,e,t){const r=Object.keys(a),s=Object.keys(e),i=[];this._currentConfigService.isForceCalculate()&&(this._dependencyManagerService.reset(),this._formulaASTCache.clear()),this._registerFormulas(r,a,t,i),this._registerOtherFormulas(e,s,i),this._registerFeatureFormulas(i);const u=new En;for(let l=0,c=i.length;l<c;l++){const m=i[l];if(this._runtimeService.setCurrent(m.row,m.column,m.rowCount,m.columnCount,m.subUnitId,m.unitId),m.node==null)continue;const d=await this._getRangeListByNode(m.node);for(let p=0,R=d.length;p<R;p++){const _=d[p];m.pushRangeList(_),u.add(_,m)}}return{treeList:i,dependencyTreeCache:u}}_registerFeatureFormulas(a){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((t,r)=>{t.forEach((s,i)=>{s.forEach((o,u)=>{const{unitId:l,subUnitId:c,dependencyRanges:m,getDirtyData:d}=o;if(this._dependencyManagerService.hasFeatureFormulaDependency(l,c,u))return this._makePassiveDirtyForFeatureFormulas(this._dependencyManagerService.getFeatureFormulaDependency(l,c,u)),!0;const p=new fn;p.unitId=l,p.subUnitId=c,p.getDirtyData=d,p.featureId=u,p.rangeList=m.map(R=>({gridRange:R,token:yt({...R,sheetName:this._currentConfigService.getSheetName(R.unitId,R.sheetId)})})),this._dependencyManagerService.addFeatureFormulaDependency(l,c,u,p),this._makePassiveDirtyForFeatureFormulas(p),a.push(p)})})})}_makePassiveDirtyForFeatureFormulas(a){var s,i;const e=a.featureId;if(e==null){a.isPassive=!0;return}const t=this._currentConfigService.getDirtyUnitFeatureMap();if(t==null){a.isPassive=!0;return}if(((i=(s=t[a.unitId])==null?void 0:s[a.subUnitId])==null?void 0:i[e])==null){a.isPassive=!0;return}a.isPassive=!1}_registerOtherFormulas(a,e,t){for(const r of e){const s=a[r];if(s==null)continue;const i=Object.keys(s);for(const o of i){const u=s[o];if(u==null)continue;const l=Object.keys(u);for(const c of l){if(this._dependencyManagerService.hasOtherFormulaDependency(r,o,c))continue;const m=u[c],{f:d}=m,p=this._generateAstNode(r,d),R=new fn;R.node=p,R.formula=d,R.unitId=r,R.subUnitId=o,R.formulaId=c,this._dependencyManagerService.addOtherFormulaDependency(r,o,c,R),t.push(R)}}}}_registerFormulas(a,e,t,r){for(const s of a){const i=e[s];if(i==null)continue;const o=Object.keys(i);for(const u of o)new y.ObjectMatrix(i[u]||{}).forValue((c,m,d)=>{if(d==null)return!0;const{f:p,x:R,y:_}=d;if(this._dependencyManagerService.hasFormulaDependency(s,u,c,m))return!0;const S=this._generateAstNode(s,p,R,_),L=new fn,w=t[s][u];L.node=S,L.formula=p,L.unitId=s,L.subUnitId=u,L.row=c,L.column=m,L.rowCount=w.rowCount,L.columnCount=w.columnCount,this._dependencyManagerService.addFormulaDependency(s,u,c,m,L),r.push(L)})}}_updateRangeFlatten(){const a=this._currentConfigService.isForceCalculate(),e=this._currentConfigService.getDirtyRanges();if(!a){this._updateRangeFlattenCache.clear();for(let t=0;t<e.length;t++){const r=e[t],s=r.range,i=r.sheetId,o=r.unitId;this._addFlattenCache(o,i,s)}this._dirtyUnitSheetNameMap=this._currentConfigService.getDirtyNameMap()}}_generateAstNode(a,e,t=0,r=0){let s=this._formulaASTCache.get(`${a}${e}##${t}-${r}`);if(s&&!this._isDirtyDefinedForNode(s))return s;const i=this._lexer.treeBuilder(e);if(Ft.has(i))return Ve.create(i);if(s=this._astTreeBuilder.parse(i,t,r),s==null)throw new Error("astNode is null");return this._formulaASTCache.set(`${a}${e}##${t}-${r}`,s),s}_addFlattenCache(a,e,t){let r=this._updateRangeFlattenCache.get(a);r==null&&(r=new Map,this._updateRangeFlattenCache.set(a,r));let s=r.get(e);s==null&&(s=[],r.set(e,s)),s.push(t)}_isPreCalculateNode(a){return a.nodeType===te.UNION||a.nodeType===te.PREFIX&&a.getToken()===ye.AT||a.nodeType===te.SUFFIX&&a.getToken()===Je.POUND}_nodeTraversalRef(a,e){const t=a.getChildren(),r=t.length;for(let s=0;s<r;s++){const i=t[s];if(this._isPreCalculateNode(i)){e.push(i);continue}else i.nodeType===te.REFERENCE&&e.push(i);this._nodeTraversalRef(i,e)}}_nodeTraversalReferenceFunction(a,e){const t=a.getChildren(),r=t.length;for(let s=0;s<r;s++){const i=t[s];if(i.nodeType===te.FUNCTION&&i.isAddress()){e.push(i);continue}this._nodeTraversalReferenceFunction(i,e)}}async _executeNode(a){let e;return this._interpreter.checkAsyncNode(a)?e=await this._interpreter.executeAsync(a):e=this._interpreter.execute(a),e}async _getRangeListByNode(a){const e=[],t=[];this._nodeTraversalRef(a,e),this._nodeTraversalReferenceFunction(a,t);const r=[];for(let s=0,i=e.length;s<i;s++){const o=e[s],l=(await this._executeNode(o)).toUnitRange(),c=yt({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)});r.push({gridRange:l,token:c})}for(let s=0,i=t.length;s<i;s++){const o=t[s],l=(await this._executeNode(o)).toUnitRange(),c=yt({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)});r.push({gridRange:l,token:c})}return r}_isDirtyDefinedForNode(a){const e=this._currentConfigService.getDirtyDefinedNameMap(),t=this._currentConfigService.getExecuteUnitId();if(t!=null&&e[t]!=null){const r=Object.keys(e[t]);for(let s=0,i=r.length;s<i;s++){const o=r[s];if(a.hasDefinedName(o))return!0}}return!1}_getUpdateTreeListAndMakeDependency(a,e){const t=[],r=new Set,s=this._currentConfigService.isForceCalculate();let i=[];e.size()>a.length?i=this._dependencyManagerService.buildDependencyTree(a):i=this._dependencyManagerService.buildDependencyTree(e,a);for(let o=0,u=i.length;o<u;o++){const l=i[o];(s||l.dependencyRange(this._updateRangeFlattenCache,this._dirtyUnitSheetNameMap,this._currentConfigService.getExcludedRange())||this._includeTree(l))&&!r.has(l)&&(t.push(l),r.add(l))}return e.dispose(),t}_includeTreeFeature(a){var s,i;const e=a.unitId,t=a.subUnitId,r=a.featureId;if(r!=null){const o=this._currentConfigService.getDirtyUnitFeatureMap();if(((i=(s=o==null?void 0:o[e])==null?void 0:s[t])==null?void 0:i[r])!=null)return!0}return!1}_includeOtherFormula(a){var s,i;const e=a.unitId,t=a.subUnitId,r=a.formulaId;if(r!=null){const o=this._currentConfigService.getDirtyUnitOtherFormulaMap();if(((i=(s=o==null?void 0:o[e])==null?void 0:s[t])==null?void 0:i[r])!=null)return!0}return!1}_includeDefinedName(a){const e=a.node;return!!(e!=null&&this._isDirtyDefinedForNode(e))}_includeTree(a){var u,l,c;const e=a.unitId,t=a.subUnitId;if(this._includeTreeFeature(a)===!0||this._includeOtherFormula(a)===!0||this._includeDefinedName(a)===!0)return!0;const r=(l=(u=this._currentConfigService.getExcludedRange())==null?void 0:u[e])==null?void 0:l[t];let s=!1;if(r==null||r.forValue((m,d)=>{if(a.row===m&&a.column===d)return s=!0,!1}),s)return!1;if(((c=this._dirtyUnitSheetNameMap[e])==null?void 0:c[t])!=null)return!0;if(!this._updateRangeFlattenCache.has(e))return!1;const i=this._updateRangeFlattenCache.get(e);if(!i.has(t))return!1;const o=i.get(t);for(const m of o)if(a.inRangeData(m))return!0;return!1}_calculateRunList(a){let e=a;const t=[];for(;e.length>0;){const r=e.pop();if(r===void 0||r.isSkip())continue;if(r.isAdded()){t.push(r);continue}const s=[];for(let i=0,o=r.parents.length;i<o;i++){const u=r.parents[i];u.isAdded()||r.isSkip()||s.push(u)}s.length===0?(t.push(r),r.setSkip()):(r.setAdded(),e.push(r),e=e.concat(s))}return t.reverse()}};Ht=af([y.OnLifecycle(y.LifecycleStages.Rendered,Ht),at(0,rt),at(1,Ne),at(2,Kr),at(3,Ut),at(4,y.Inject(Mt)),at(5,y.Inject(Kt)),at(6,y.Inject(wt)),at(7,qr)],Ht);var uf=Object.defineProperty,lf=Object.getOwnPropertyDescriptor,cf=(n,a,e,t)=>{for(var r=t>1?void 0:t?lf(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&uf(a,e,r),r},dt=(n,a)=>(e,t)=>a(e,t,n);const ff=1;exports.CalculateFormulaService=class extends y.Disposable{constructor(e,t,r,s,i,o,u){super();g(this,"_executionStartListener$",new Et.Subject);g(this,"executionStartListener$",this._executionStartListener$.asObservable());g(this,"_executionCompleteListener$",new Et.Subject);g(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());g(this,"_executionInProgressListener$",new Et.Subject);g(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable());this._configService=e,this._lexer=t,this._currentConfigService=r,this._runtimeService=s,this._formulaDependencyGenerator=i,this._interpreter=o,this._astTreeBuilder=u}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._executionStartListener$.next(!0),this._currentConfigService.load(e),this._runtimeService.reset();const t=this._configService.getConfig("CYCLE_REFERENCE_COUNT")||ff;for(let r=0;r<t&&(this._runtimeService.setFormulaCycleIndex(r),await this._execute(),Cn.clear(),!!this._runtimeService.isCycleDependency());r++);this._runtimeService.setFormulaExecuteStage(Ye.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),it.clear()}async _execute(){const e=await this._apply();if(e==null)return;const{arrayFormulaRange:t,runtimeFeatureRange:r}=e,{dirtyRanges:s,excludedCell:i}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,r);return s==null||s.length===0||(this._currentConfigService.loadDirtyRangesAndExcludedCell(s,i),await this._apply(!0)),!0}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){const r=[],s={};return Object.keys(e).forEach(i=>{const o=e[i];if(o==null)return!0;Object.keys(o).forEach(u=>{const l=new y.ObjectMatrix(o[u]);if(l==null)return!0;const c=new y.ObjectMatrix;l.forValue((m,d,p)=>{c.setValue(m,d,!0),r.push({unitId:i,sheetId:u,range:p})}),s[i]==null&&(s[i]={}),s[i][u]=c})}),Object.keys(t).forEach(i=>{const o=t[i];Object.keys(o).forEach(u=>{const l=o[u];if(l==null)return!0;Object.keys(l).forEach(c=>{const m=l[c];if(m==null)return!0;for(const d of m)r.push({unitId:u,sheetId:c,range:d})})})}),{dirtyRanges:r,excludedCell:s}}async _apply(e=!1){e?this._runtimeService.setFormulaExecuteStage(Ye.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage(Ye.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());const t=await this._formulaDependencyGenerator.generate(),r=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage(Ye.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage(Ye.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let s=[];for(let i=0,o=t.length;i<o;i++){if(await new Promise(d=>{const p=y.requestImmediateMacroTask(d);s.push(p)}),this._runtimeService.isStopExecution()){this._runtimeService.setFormulaExecuteStage(Ye.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}const u=t[i],l=u.node,c=u.getDirtyData;let m;if(l==null&&c==null)throw new Error("AstNode or executor is null");if(this._runtimeService.setCurrent(u.row,u.column,u.rowCount,u.columnCount,u.subUnitId,u.unitId),c!=null&&u.featureId!=null){const{runtimeCellData:d,dirtyRanges:p}=c(u,this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());this._runtimeService.setRuntimeFeatureCellData(u.featureId,d),this._runtimeService.setRuntimeFeatureRange(u.featureId,p)}else l!=null&&(r.checkAsyncNode(l)?m=await r.executeAsync(l):m=r.execute(l),u.formulaId!=null?this._runtimeService.setRuntimeOtherData(u.formulaId,m):this._runtimeService.setRuntimeData(m));e?(this._runtimeService.setFormulaExecuteStage(Ye.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(i+1)):(this._runtimeService.setFormulaExecuteStage(Ye.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(i+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState())}return s.forEach(i=>i()),s=[],t.length>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}calculate(e,t=!0){const r=this._lexer.treeBuilder(e,t);if(Object.values(f).includes(r))return Ve.create(r);const s=this._astTreeBuilder.parse(r);s==null||s.serialize()}};exports.CalculateFormulaService=cf([y.OnLifecycle(y.LifecycleStages.Rendered,exports.CalculateFormulaService),dt(0,y.IConfigService),dt(1,y.Inject(wt)),dt(2,rt),dt(3,Ne),dt(4,y.Inject(Ht)),dt(5,y.Inject(Mt)),dt(6,y.Inject(Kt))],exports.CalculateFormulaService);var hf=Object.defineProperty,mf=Object.getOwnPropertyDescriptor,gf=(n,a,e,t)=>{for(var r=t>1?void 0:t?mf(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&hf(a,e,r),r},mr=(n,a)=>(e,t)=>a(e,t,n);let Cr=class extends y.Disposable{constructor(n,a,e,t){super(),this._commandService=n,this._calculateFormulaService=a,this._univerInstanceService=e,this._formulaDataModel=t,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener(),this._initialExecuteFormulaProcessListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((n,a)=>{if(n.id===Un.id)this._calculateFormulaService.stopFormulaExecution();else if(n.id===Gr.id){const e=n.params.formulaData;this._formulaDataModel.mergeFormulaData(e)}else if(n.id===Mn.id){const e=n.params;if(e.forceCalculation===!0)this._calculate(!0);else{const{dirtyRanges:t,dirtyNameMap:r,dirtyDefinedNameMap:s,dirtyUnitFeatureMap:i,dirtyUnitOtherFormulaMap:o}=e;this._calculate(!1,t,r,s,i,o)}}else if(n.id===Mr.id){const e=n.params;if(e==null)return;const{arrayFormulaRange:t,arrayFormulaCellData:r}=e;this._formulaDataModel.setArrayFormulaRange(t),this._formulaDataModel.setArrayFormulaCellData(r)}}))}async _calculate(n=!1,a=[],e={},t={},r={},s={}){if(a.length===0&&Object.keys(e).length===0&&Object.keys(t).length===0&&Object.keys(r).length===0&&Object.keys(s).length===0&&n===!1)return;const i=this._formulaDataModel.getFormulaData(),o=this._formulaDataModel.getArrayFormulaCellData();this._calculateFormulaService.execute({formulaData:i,arrayFormulaCellData:o,forceCalculate:n,dirtyRanges:a,dirtyNameMap:e,dirtyDefinedNameMap:t,dirtyUnitFeatureMap:r,dirtyUnitOtherFormulaMap:s})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(n=>{const a=n.functionsExecutedState;switch(a){case Lt.NOT_EXECUTED:break;case Lt.STOP_EXECUTION:break;case Lt.SUCCESS:this._applyFormula(n);break;case Lt.INITIAL:break}this._commandService.executeCommand(Ur.id,{functionsExecutedState:a},{onlyLocal:!0})})}_initialExecuteFormulaProcessListener(){this._calculateFormulaService.executionInProgressListener$.subscribe(n=>{this._commandService.executeCommand(Ur.id,{stageInfo:n},{onlyLocal:!0})})}async _applyFormula(n){const{unitData:a,unitOtherData:e,arrayFormulaRange:t,arrayFormulaCellData:r,clearArrayFormulaCellData:s}=n;if(!a){console.error("No sheetData from Formula Engine!");return}t&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(s),this._formulaDataModel.mergeArrayFormulaCellData(r),this._formulaDataModel.mergeArrayFormulaRange(t),this._commandService.executeCommand(Mr.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0})),this._commandService.executeCommand(Fn.id,{unitData:li(a),unitOtherData:e},{onlyLocal:!0})}};Cr=gf([y.OnLifecycle(y.LifecycleStages.Ready,Cr),mr(0,y.ICommandService),mr(1,y.Inject(exports.CalculateFormulaService)),mr(2,y.IUniverInstanceService),mr(3,y.Inject(exports.FormulaDataModel))],Cr);const ka={id:"formula.mutation.register-function",type:y.CommandType.MUTATION,handler:()=>!0},Xr={id:"formula.mutation.set-defined-name",type:y.CommandType.MUTATION,handler:()=>!0},Zr={id:"formula.mutation.remove-defined-name",type:y.CommandType.MUTATION,handler:()=>!0},Jr={id:"formula.mutation.set-feature-calculation",type:y.CommandType.MUTATION,handler:()=>!0},en={id:"formula.mutation.remove-feature-calculation",type:y.CommandType.MUTATION,handler:()=>!0},tn={id:"formula.mutation.set-other-formula",type:y.CommandType.MUTATION,handler:()=>!0},rn={id:"formula.mutation.remove-other-formula",type:y.CommandType.MUTATION,handler:()=>!0},Ia={id:"formula.mutation.set-super-table",type:y.CommandType.MUTATION,handler:()=>!0},$a={id:"formula.mutation.remove-super-table",type:y.CommandType.MUTATION,handler:()=>!0},On={id:"formula.mutation.set-super-table-option",type:y.CommandType.MUTATION,handler:()=>!0};var df=Object.defineProperty,pf=Object.getOwnPropertyDescriptor,Rf=(n,a,e,t)=>{for(var r=t>1?void 0:t?pf(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&df(a,e,r),r},hn=(n,a)=>(e,t)=>a(e,t,n);let Qt=class extends y.Disposable{constructor(n=[],a,e,t){super(),this._function=n,this._commandService=a,this._functionService=e,this._dataSyncPrimaryController=t,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[Gr,Mr,Mn,Un,Ur,Fn,Xr,Zr,Jr,en,tn,rn,Ia,$a,On,ka].forEach(n=>{var a;this._commandService.registerCommand(n),(a=this._dataSyncPrimaryController)==null||a.registerSyncingMutations(n)})}_registerFunctions(){const n=[...Ks,...ta,...ra,...sa,...ca,...fa,...ma,...da,...pa,...Ra,...Ca,..._a,...Ea,...ya,...Da,...Sa].concat(this._function).map(a=>{const e=a[0],t=a[1];return new e(t)});this._functionService.registerExecutors(...n)}};Qt=Rf([y.OnLifecycle(y.LifecycleStages.Ready,Qt),hn(1,y.ICommandService),hn(2,nt),hn(3,y.Optional(ni.DataSyncPrimaryController))],Qt);var Cf=Object.defineProperty,_f=Object.getOwnPropertyDescriptor,Ef=(n,a,e,t)=>{for(var r=t>1?void 0:t?_f(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&Cf(a,e,r),r},As=(n,a)=>(e,t)=>a(e,t,n);let _r=class extends y.Disposable{constructor(n,a){super(),this._commandService=n,this._definedNamesService=a,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Xr.id){const a=n.params;if(a==null)return;const{id:e,unitId:t,name:r,formulaOrRefString:s,comment:i,hidden:o,localSheetId:u}=a;this._definedNamesService.registerDefinedName(t,{id:e,name:r.trim(),formulaOrRefString:s.trim(),comment:i==null?void 0:i.trim(),hidden:o,localSheetId:u})}else if(n.id===Zr.id){const a=n.params;if(a==null)return;const{unitId:e,id:t}=a;this._definedNamesService.removeDefinedName(e,t)}}))}};_r=Ef([y.OnLifecycle(y.LifecycleStages.Ready,_r),As(0,y.ICommandService),As(1,rr)],_r);var yf=Object.defineProperty,Df=Object.getOwnPropertyDescriptor,Af=(n,a,e,t)=>{for(var r=t>1?void 0:t?Df(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&yf(a,e,r),r},Ss=(n,a)=>(e,t)=>a(e,t,n);let Er=class extends y.Disposable{constructor(n,a){super(),this._commandService=n,this._featureCalculationManagerService=a,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Jr.id){const a=n.params;if(a==null)return;const{featureId:e,calculationParam:t}=a,{unitId:r,subUnitId:s}=t;this._featureCalculationManagerService.register(r,s,e,t)}else if(n.id===en.id){const a=n.params;if(a==null)return;const{featureIds:e,unitId:t,subUnitId:r}=a;this._featureCalculationManagerService.remove(t,r,e)}}))}};Er=Af([y.OnLifecycle(y.LifecycleStages.Ready,Er),Ss(0,y.ICommandService),Ss(1,Ut)],Er);var Sf=Object.defineProperty,Vf=Object.getOwnPropertyDescriptor,Pf=(n,a,e,t)=>{for(var r=t>1?void 0:t?Vf(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&Sf(a,e,r),r},mn=(n,a)=>(e,t)=>a(e,t,n);let yr=class extends y.Disposable{constructor(n,a,e){super(),this._commandService=n,this._otherFormulaManagerService=a,this._dependencyManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===tn.id){const a=n.params;if(a==null)return;const e={[a.unitId]:{[a.subUnitId]:a.formulaMap}};this._otherFormulaManagerService.batchRegister(e)}else if(n.id===rn.id){const a=n.params;if(a==null)return;const e={};a.formulaIdList.forEach(r=>e[r]=!0);const t={[a.unitId]:{[a.subUnitId]:e}};this._otherFormulaManagerService.batchRemove(t)}}))}};yr=Pf([y.OnLifecycle(y.LifecycleStages.Ready,yr),mn(0,y.ICommandService),mn(1,Kr),mn(2,qr)],yr);var Lf=Object.defineProperty,bf=Object.getOwnPropertyDescriptor,xf=(n,a,e,t)=>{for(var r=t>1?void 0:t?bf(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&Lf(a,e,r),r},Vs=(n,a)=>(e,t)=>a(e,t,n);let Dr=class extends y.Disposable{constructor(n,a){super(),this._commandService=n,this._superTableService=a,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Xr.id){const a=n.params;if(a==null)return;const{unitId:e,tableName:t,reference:r}=a;this._superTableService.registerTable(e,t,r)}else if(n.id===Zr.id){const a=n.params;if(a==null)return;const{unitId:e,tableName:t}=a;this._superTableService.remove(e,t)}else if(n.id===On.id){const a=n.params;if(a==null)return;const{tableOption:e,tableOptionType:t}=a;this._superTableService.registerTableOptionMap(e,t)}}))}};Dr=xf([y.OnLifecycle(y.LifecycleStages.Ready,Dr),Vs(0,y.ICommandService),Vs(1,Bn)],Dr);class wf extends y.Disposable{constructor(){super(...arguments);g(this,"_dirtyConversionMap",new Map)}dispose(){this._dirtyConversionMap.clear()}remove(e){this._dirtyConversionMap.delete(e)}get(e){return this._dirtyConversionMap.get(e)}has(e){return this._dirtyConversionMap.has(e)}register(e,t){this._dirtyConversionMap.set(e,t)}getDirtyConversionMap(){return this._dirtyConversionMap}}const Na=y.createIdentifier("univer.formula.active-dirty-manager.service");var Mf=Object.defineProperty,Uf=Object.getOwnPropertyDescriptor,Ff=(n,a,e,t)=>{for(var r=t>1?void 0:t?Uf(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&Mf(a,e,r),r},gr=(n,a)=>(e,t)=>a(e,t,n);let Ar=class extends y.Disposable{constructor(n,a,e){super(),this._commandService=n,this._dependencyManagerService=a,this._featureCalculationManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener(),this._featureCalculationManagerServiceListener()}_featureCalculationManagerServiceListener(){this.disposeWithMe(this._featureCalculationManagerService.onChanged$.subscribe(n=>{const{unitId:a,subUnitId:e,featureIds:t}=n;this._dependencyManagerService.removeFeatureFormulaDependency(a,e,t)}))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===en.id){const a=n.params;if(a==null)return;const{featureIds:e,unitId:t,subUnitId:r}=a;this._dependencyManagerService.removeFeatureFormulaDependency(t,r,e)}else if(n.id===Jr.id){const a=n.params;if(a==null)return;const{featureId:e,calculationParam:t}=a,{unitId:r,subUnitId:s}=t;this._dependencyManagerService.removeFeatureFormulaDependency(r,s,[e])}else if(n.id===rn.id){const a=n.params;if(a==null)return;this._dependencyManagerService.removeOtherFormulaDependency(a.unitId,a.subUnitId,a.formulaIdList)}else if(n.id===tn.id){const a=n.params;if(a==null)return;const e=a.formulaMap,t=[];Object.keys(e).forEach(r=>{t.push(r)}),this._dependencyManagerService.removeOtherFormulaDependency(a.unitId,a.subUnitId,t)}else if(n.id===Gr.id){const a=n.params.formulaData;Object.keys(a).forEach(e=>{if(a[e]==null)return!0;Object.keys(a[e]).forEach(t=>{const r=a[e][t];if(r==null)return this._dependencyManagerService.clearFormulaDependency(e,t),!0;new y.ObjectMatrix(r).forValue((s,i)=>{this._dependencyManagerService.removeFormulaDependency(e,t,s,i)})})})}}))}};Ar=Ff([y.OnLifecycle(y.LifecycleStages.Ready,Ar),gr(0,y.ICommandService),gr(1,Ut),gr(1,qr),gr(2,Ut)],Ar);var vf=Object.defineProperty,Bf=Object.getOwnPropertyDescriptor,Of=(n,a,e,t)=>{for(var r=t>1?void 0:t?Bf(a,e):a,s=n.length-1,i;s>=0;s--)(i=n[s])&&(r=(t?i(a,e,r):i(r))||r);return t&&r&&vf(a,e,r),r},Tf=(n,a)=>(e,t)=>a(e,t,n);const kf="base-formula-engine";var gn;exports.UniverFormulaEnginePlugin=(gn=class extends y.Plugin{constructor(a,e){super(),this._config=a,this._injector=e}onStarting(){this._initialize()}_initialize(){var e;const a=[[nt,{useClass:xa}],[rr,{useClass:La}],[Na,{useClass:wf}],[Bn,{useClass:kc}],[exports.FormulaDataModel],[jr],[Qt,{useFactory:()=>{var t;return this._injector.createInstance(Qt,(t=this._config)==null?void 0:t.function)}}],[_r],[Dr]];(e=this._config)!=null&&e.notExecuteFormula||a.push([exports.CalculateFormulaService],[Kr,{useClass:Ta}],[Ne,{useClass:exports.FormulaRuntimeService}],[rt,{useClass:exports.FormulaCurrentConfigService}],[qr,{useClass:rf}],[Ut,{useClass:Oa}],[Cr],[yr],[Ar],[Er],[Ht],[Mt],[Kt],[wt],[ba],[Br],[Or],[va],[Tr],[vr],[kr],[Ir],[$r],[Ba]),a.forEach(t=>this._injector.add(t))}},g(gn,"pluginName",kf),gn);exports.UniverFormulaEnginePlugin=Of([Tf(1,y.Inject(y.Injector))],exports.UniverFormulaEnginePlugin);function ja(n,a){const e=n.sequenceNodesBuilder(a);return!(!e||e.every(t=>typeof t=="string"||t.nodeType!==we.REFERENCE))}function If(n,a,e,t,r,s){if(!ja(n,a))return a;const i=n.sequenceNodesBuilder(a),o=(p,R)=>({startRow:p,endRow:p,startColumn:R,endColumn:R}),u=o(e,t),l=y.Rectangle.getRelativeRange(o(r,s),u),c=y.Tools.deepClone(i),m=Array.isArray(c)?c.map(p=>{if(typeof p=="object"&&p.nodeType===we.REFERENCE){const R=Qe(p.token),_=y.Rectangle.getPositionRange(l,R.range),S=et(_);return{...p,token:S}}return p}):c;return`=${m&&Pr(m)}`}exports.ArrayValueObject=Ce;exports.AsyncArrayObject=Ws;exports.AsyncObject=zs;exports.BaseFunction=P;exports.BaseReferenceObject=Ot;exports.BaseValueObject=tt;exports.BooleanValue=ct;exports.BooleanValueObject=j;exports.CustomFunction=Ji;exports.DefinedNamesService=La;exports.ERROR_TYPE_SET=Ft;exports.ErrorType=f;exports.ErrorValueObject=h;exports.FUNCTION_NAMES_ARRAY=qs;exports.FUNCTION_NAMES_COMPATIBILITY=Pt;exports.FUNCTION_NAMES_CUBE=na;exports.FUNCTION_NAMES_DATABASE=aa;exports.FUNCTION_NAMES_DATE=de;exports.FUNCTION_NAMES_ENGINEERING=ha;exports.FUNCTION_NAMES_FINANCIAL=ga;exports.FUNCTION_NAMES_INFORMATION=Le;exports.FUNCTION_NAMES_LOGICAL=ot;exports.FUNCTION_NAMES_LOOKUP=Pe;exports.FUNCTION_NAMES_MATH=Y;exports.FUNCTION_NAMES_STATISTICAL=Re;exports.FUNCTION_NAMES_TEXT=Xe;exports.FUNCTION_NAMES_UNIVER=Aa;exports.FUNCTION_NAMES_WEB=Va;exports.FeatureCalculationManagerService=Oa;exports.FormulaExecuteStageType=Ye;exports.FormulaExecutedStateType=Lt;exports.FunctionService=xa;exports.FunctionType=Ls;exports.IActiveDirtyManagerService=Na;exports.IDefinedNamesService=rr;exports.IFeatureCalculationManagerService=Ut;exports.IFormulaCurrentConfigService=rt;exports.IFormulaRuntimeService=Ne;exports.IFunctionService=nt;exports.IOtherFormulaManagerService=Kr;exports.LexerNode=Z;exports.LexerTreeBuilder=jr;exports.NullValueObject=se;exports.NumberValueObject=C;exports.OtherFormulaManagerService=Ta;exports.RangeReferenceObject=Wt;exports.RegisterFunctionMutation=ka;exports.RemoveDefinedNameMutation=Zr;exports.RemoveFeatureCalculationMutation=en;exports.RemoveOtherFormulaMutation=rn;exports.RemoveSuperTableMutation=$a;exports.SetArrayFormulaDataMutation=Mr;exports.SetDefinedNameMutation=Xr;exports.SetFeatureCalculationMutation=Jr;exports.SetFormulaCalculationNotificationMutation=Ur;exports.SetFormulaCalculationResultMutation=Fn;exports.SetFormulaCalculationStartMutation=Mn;exports.SetFormulaCalculationStopMutation=Un;exports.SetFormulaDataMutation=Gr;exports.SetOtherFormulaMutation=tn;exports.SetSuperTableMutation=Ia;exports.SetSuperTableOptionMutation=On;exports.StringValueObject=fe;exports.ValueObjectFactory=ft;exports.compareToken=v;exports.convertUnitDataToRuntime=ws;exports.deserializeRangeForR1C1=Gs;exports.deserializeRangeWithSheet=Qe;exports.functionArray=Ks;exports.functionCompatibility=ta;exports.functionCube=ra;exports.functionDatabase=sa;exports.functionDate=ca;exports.functionEngineering=fa;exports.functionFinancial=ma;exports.functionInformation=da;exports.functionLogical=pa;exports.functionLookup=Ra;exports.functionMath=Ca;exports.functionMeta=_a;exports.functionStatistical=Ea;exports.functionText=ya;exports.functionUniver=Da;exports.functionWeb=Sa;exports.generateStringWithSequence=Pr;exports.getAbsoluteRefTypeWitString=Ri;exports.getAbsoluteRefTypeWithSingleString=Yt;exports.getRangeWithRefsString=Ci;exports.handleNumfmtInCell=$i;exports.includeFormulaLexerToken=xs;exports.initSheetFormulaData=Pa;exports.isFormulaLexerToken=jt;exports.isFormulaTransformable=ja;exports.isInDirtyRange=Ps;exports.isReferenceString=Ts;exports.isReferenceStringWithEffectiveColumn=Lr;exports.isReferenceStrings=Ns;exports.matchRefDrawToken=ui;exports.matchToken=K;exports.normalizeSheetName=oi;exports.operatorToken=oe;exports.sequenceNodeType=we;exports.serializeRange=et;exports.serializeRangeToRefString=yt;exports.serializeRangeWithSheet=ks;exports.serializeRangeWithSpreadsheet=Is;exports.singleReferenceToGrid=pr;exports.strip=Rn;exports.stripErrorMargin=Ys;exports.transformFormula=If;