/*!
 * Copyright (c) HANDSONCODE sp. z o. o.
 *
 * HANDSONTABLE is a software distributed by HANDSONCODE sp. z o. o., a Polish corporation based in
 * Gdynia, Poland, at Aleja Zwyciestwa 96-98, registered by the District Court in Gdansk under number
 * 538651, EU tax ID number: PL5862294002, share capital: PLN 62,800.00.
 *
 * This software is protected by applicable copyright laws, including international treaties, and dual-
 * licensed - depending on whether your use for commercial purposes, meaning intended for or
 * resulting in commercial advantage or monetary compensation, or not.
 *
 * If your use is strictly personal or solely for evaluation purposes, meaning for the purposes of testing
 * the suitability, performance, and usefulness of this software outside the production environment,
 * you agree to be bound by the terms included in the "handsontable-non-commercial-license.pdf" file.
 *
 * Your use of this software for commercial purposes is subject to the terms included in an applicable
 * license agreement.
 *
 * In any case, you must not make any such use of this software as to develop software which may be
 * considered competitive with this software.
 *
 * UNLESS EXPRESSLY AGREED OTHERWISE, HANDSONCODE PROVIDES THIS SOFTWARE ON AN "AS IS"
 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, AND IN NO EVENT AND UNDER NO
 * LEGAL THEORY, SHALL HANDSONCODE BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT,
 * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
 * USE OR INABILITY TO USE THIS SOFTWARE.
 *
 * Version: 15.1.0
 * Release date: 20/02/2025 (built at 19/02/2025 10:01:18)
 */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("Handsontable",[],t):"object"==typeof exports?exports.Handsontable=t():e.Handsontable=t()}("undefined"!=typeof self?self:this,(()=>(()=>{var e={88088:()=>{},98339:(e,t,r)=>{"use strict";
/*! @license DOMPurify 3.2.4 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.4/LICENSE */const{entries:n,setPrototypeOf:s,isFrozen:i,getPrototypeOf:o,getOwnPropertyDescriptor:a}=Object;let{freeze:l,seal:h,create:u}=Object,{apply:c,construct:d}="undefined"!=typeof Reflect&&Reflect;l||(l=function(e){return e}),h||(h=function(e){return e}),c||(c=function(e,t,r){return e.apply(t,r)}),d||(d=function(e,t){return new e(...t)});const p=b(Array.prototype.forEach),g=b(Array.prototype.lastIndexOf),f=b(Array.prototype.pop),m=b(Array.prototype.push),y=b(Array.prototype.splice),E=b(String.prototype.toLowerCase),w=b(String.prototype.toString),C=b(String.prototype.match),v=b(String.prototype.replace),R=b(String.prototype.indexOf),S=b(String.prototype.trim),T=b(Object.prototype.hasOwnProperty),N=b(RegExp.prototype.test),M=(_=TypeError,function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return d(_,t)});var _;function b(e){return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),s=1;s<r;s++)n[s-1]=arguments[s];return c(e,t,n)}}function O(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:E;s&&s(e,null);let n=t.length;for(;n--;){let s=t[n];if("string"==typeof s){const e=r(s);e!==s&&(i(t)||(t[n]=e),s=e)}e[s]=!0}return e}function A(e){for(let t=0;t<e.length;t++){T(e,t)||(e[t]=null)}return e}function I(e){const t=u(null);for(const[r,s]of n(e)){T(e,r)&&(Array.isArray(s)?t[r]=A(s):s&&"object"==typeof s&&s.constructor===Object?t[r]=I(s):t[r]=s)}return t}function x(e,t){for(;null!==e;){const r=a(e,t);if(r){if(r.get)return b(r.get);if("function"==typeof r.value)return b(r.value)}e=o(e)}return function(){return null}}const P=l(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),L=l(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),D=l(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),k=l(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),H=l(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),F=l(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),U=l(["#text"]),V=l(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),B=l(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),W=l(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Y=l(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),G=h(/\{\{[\w\W]*|[\w\W]*\}\}/gm),j=h(/<%[\w\W]*|[\w\W]*%>/gm),z=h(/\$\{[\w\W]*/gm),$=h(/^data-[\-\w.\u00B7-\uFFFF]+$/),K=h(/^aria-[\-\w]+$/),X=h(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),q=h(/^(?:\w+script|data):/i),Q=h(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Z=h(/^html$/i),J=h(/^[a-z][.\w]*(-[.\w]+)+$/i);var ee=Object.freeze({__proto__:null,ARIA_ATTR:K,ATTR_WHITESPACE:Q,CUSTOM_ELEMENT:J,DATA_ATTR:$,DOCTYPE_NAME:Z,ERB_EXPR:j,IS_ALLOWED_URI:X,IS_SCRIPT_OR_DATA:q,MUSTACHE_EXPR:G,TMPLIT_EXPR:z});const te=1,re=3,ne=7,se=8,ie=9,oe=function(){return"undefined"==typeof window?null:window};var ae=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:oe();const r=t=>e(t);if(r.version="3.2.4",r.removed=[],!t||!t.document||t.document.nodeType!==ie||!t.Element)return r.isSupported=!1,r;let{document:s}=t;const i=s,o=i.currentScript,{DocumentFragment:a,HTMLTemplateElement:h,Node:c,Element:d,NodeFilter:_,NamedNodeMap:b=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:A,DOMParser:G,trustedTypes:j}=t,z=d.prototype,$=x(z,"cloneNode"),K=x(z,"remove"),q=x(z,"nextSibling"),Q=x(z,"childNodes"),J=x(z,"parentNode");if("function"==typeof h){const e=s.createElement("template");e.content&&e.content.ownerDocument&&(s=e.content.ownerDocument)}let ae,le="";const{implementation:he,createNodeIterator:ue,createDocumentFragment:ce,getElementsByTagName:de}=s,{importNode:pe}=i;let ge={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};r.isSupported="function"==typeof n&&"function"==typeof J&&he&&void 0!==he.createHTMLDocument;const{MUSTACHE_EXPR:fe,ERB_EXPR:me,TMPLIT_EXPR:ye,DATA_ATTR:Ee,ARIA_ATTR:we,IS_SCRIPT_OR_DATA:Ce,ATTR_WHITESPACE:ve,CUSTOM_ELEMENT:Re}=ee;let{IS_ALLOWED_URI:Se}=ee,Te=null;const Ne=O({},[...P,...L,...D,...H,...U]);let Me=null;const _e=O({},[...V,...B,...W,...Y]);let be=Object.seal(u(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Oe=null,Ae=null,Ie=!0,xe=!0,Pe=!1,Le=!0,De=!1,ke=!0,He=!1,Fe=!1,Ue=!1,Ve=!1,Be=!1,We=!1,Ye=!0,Ge=!1,je=!0,ze=!1,$e={},Ke=null;const Xe=O({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let qe=null;const Qe=O({},["audio","video","img","source","image","track"]);let Ze=null;const Je=O({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),et="http://www.w3.org/1998/Math/MathML",tt="http://www.w3.org/2000/svg",rt="http://www.w3.org/1999/xhtml";let nt=rt,st=!1,it=null;const ot=O({},[et,tt,rt],w);let at=O({},["mi","mo","mn","ms","mtext"]),lt=O({},["annotation-xml"]);const ht=O({},["title","style","font","a","script"]);let ut=null;const ct=["application/xhtml+xml","text/html"];let dt=null,pt=null;const gt=s.createElement("form"),ft=function(e){return e instanceof RegExp||e instanceof Function},mt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!pt||pt!==e){if(e&&"object"==typeof e||(e={}),e=I(e),ut=-1===ct.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,dt="application/xhtml+xml"===ut?w:E,Te=T(e,"ALLOWED_TAGS")?O({},e.ALLOWED_TAGS,dt):Ne,Me=T(e,"ALLOWED_ATTR")?O({},e.ALLOWED_ATTR,dt):_e,it=T(e,"ALLOWED_NAMESPACES")?O({},e.ALLOWED_NAMESPACES,w):ot,Ze=T(e,"ADD_URI_SAFE_ATTR")?O(I(Je),e.ADD_URI_SAFE_ATTR,dt):Je,qe=T(e,"ADD_DATA_URI_TAGS")?O(I(Qe),e.ADD_DATA_URI_TAGS,dt):Qe,Ke=T(e,"FORBID_CONTENTS")?O({},e.FORBID_CONTENTS,dt):Xe,Oe=T(e,"FORBID_TAGS")?O({},e.FORBID_TAGS,dt):{},Ae=T(e,"FORBID_ATTR")?O({},e.FORBID_ATTR,dt):{},$e=!!T(e,"USE_PROFILES")&&e.USE_PROFILES,Ie=!1!==e.ALLOW_ARIA_ATTR,xe=!1!==e.ALLOW_DATA_ATTR,Pe=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Le=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,De=e.SAFE_FOR_TEMPLATES||!1,ke=!1!==e.SAFE_FOR_XML,He=e.WHOLE_DOCUMENT||!1,Ve=e.RETURN_DOM||!1,Be=e.RETURN_DOM_FRAGMENT||!1,We=e.RETURN_TRUSTED_TYPE||!1,Ue=e.FORCE_BODY||!1,Ye=!1!==e.SANITIZE_DOM,Ge=e.SANITIZE_NAMED_PROPS||!1,je=!1!==e.KEEP_CONTENT,ze=e.IN_PLACE||!1,Se=e.ALLOWED_URI_REGEXP||X,nt=e.NAMESPACE||rt,at=e.MATHML_TEXT_INTEGRATION_POINTS||at,lt=e.HTML_INTEGRATION_POINTS||lt,be=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&ft(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(be.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&ft(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(be.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(be.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),De&&(xe=!1),Be&&(Ve=!0),$e&&(Te=O({},U),Me=[],!0===$e.html&&(O(Te,P),O(Me,V)),!0===$e.svg&&(O(Te,L),O(Me,B),O(Me,Y)),!0===$e.svgFilters&&(O(Te,D),O(Me,B),O(Me,Y)),!0===$e.mathMl&&(O(Te,H),O(Me,W),O(Me,Y))),e.ADD_TAGS&&(Te===Ne&&(Te=I(Te)),O(Te,e.ADD_TAGS,dt)),e.ADD_ATTR&&(Me===_e&&(Me=I(Me)),O(Me,e.ADD_ATTR,dt)),e.ADD_URI_SAFE_ATTR&&O(Ze,e.ADD_URI_SAFE_ATTR,dt),e.FORBID_CONTENTS&&(Ke===Xe&&(Ke=I(Ke)),O(Ke,e.FORBID_CONTENTS,dt)),je&&(Te["#text"]=!0),He&&O(Te,["html","head","body"]),Te.table&&(O(Te,["tbody"]),delete Oe.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw M('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw M('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ae=e.TRUSTED_TYPES_POLICY,le=ae.createHTML("")}else void 0===ae&&(ae=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let r=null;const n="data-tt-policy-suffix";t&&t.hasAttribute(n)&&(r=t.getAttribute(n));const s="dompurify"+(r?"#"+r:"");try{return e.createPolicy(s,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+s+" could not be created."),null}}(j,o)),null!==ae&&"string"==typeof le&&(le=ae.createHTML(""));l&&l(e),pt=e}},yt=O({},[...L,...D,...k]),Et=O({},[...H,...F]),wt=function(e){m(r.removed,{element:e});try{J(e).removeChild(e)}catch(t){K(e)}},Ct=function(e,t){try{m(r.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){m(r.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e)if(Ve||Be)try{wt(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},vt=function(e){let t=null,r=null;if(Ue)e="<remove></remove>"+e;else{const t=C(e,/^[\r\n\t ]+/);r=t&&t[0]}"application/xhtml+xml"===ut&&nt===rt&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");const n=ae?ae.createHTML(e):e;if(nt===rt)try{t=(new G).parseFromString(n,ut)}catch(e){}if(!t||!t.documentElement){t=he.createDocument(nt,"template",null);try{t.documentElement.innerHTML=st?le:n}catch(e){}}const i=t.body||t.documentElement;return e&&r&&i.insertBefore(s.createTextNode(r),i.childNodes[0]||null),nt===rt?de.call(t,He?"html":"body")[0]:He?t.documentElement:i},Rt=function(e){return ue.call(e.ownerDocument||e,e,_.SHOW_ELEMENT|_.SHOW_COMMENT|_.SHOW_TEXT|_.SHOW_PROCESSING_INSTRUCTION|_.SHOW_CDATA_SECTION,null)},St=function(e){return e instanceof A&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof b)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},Tt=function(e){return"function"==typeof c&&e instanceof c};function Nt(e,t,n){p(e,(e=>{e.call(r,t,n,pt)}))}const Mt=function(e){let t=null;if(Nt(ge.beforeSanitizeElements,e,null),St(e))return wt(e),!0;const n=dt(e.nodeName);if(Nt(ge.uponSanitizeElement,e,{tagName:n,allowedTags:Te}),e.hasChildNodes()&&!Tt(e.firstElementChild)&&N(/<[/\w]/g,e.innerHTML)&&N(/<[/\w]/g,e.textContent))return wt(e),!0;if(e.nodeType===ne)return wt(e),!0;if(ke&&e.nodeType===se&&N(/<[/\w]/g,e.data))return wt(e),!0;if(!Te[n]||Oe[n]){if(!Oe[n]&&bt(n)){if(be.tagNameCheck instanceof RegExp&&N(be.tagNameCheck,n))return!1;if(be.tagNameCheck instanceof Function&&be.tagNameCheck(n))return!1}if(je&&!Ke[n]){const t=J(e)||e.parentNode,r=Q(e)||e.childNodes;if(r&&t){for(let n=r.length-1;n>=0;--n){const s=$(r[n],!0);s.__removalCount=(e.__removalCount||0)+1,t.insertBefore(s,q(e))}}}return wt(e),!0}return e instanceof d&&!function(e){let t=J(e);t&&t.tagName||(t={namespaceURI:nt,tagName:"template"});const r=E(e.tagName),n=E(t.tagName);return!!it[e.namespaceURI]&&(e.namespaceURI===tt?t.namespaceURI===rt?"svg"===r:t.namespaceURI===et?"svg"===r&&("annotation-xml"===n||at[n]):Boolean(yt[r]):e.namespaceURI===et?t.namespaceURI===rt?"math"===r:t.namespaceURI===tt?"math"===r&&lt[n]:Boolean(Et[r]):e.namespaceURI===rt?!(t.namespaceURI===tt&&!lt[n])&&!(t.namespaceURI===et&&!at[n])&&!Et[r]&&(ht[r]||!yt[r]):!("application/xhtml+xml"!==ut||!it[e.namespaceURI]))}(e)?(wt(e),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!N(/<\/no(script|embed|frames)/i,e.innerHTML)?(De&&e.nodeType===re&&(t=e.textContent,p([fe,me,ye],(e=>{t=v(t,e," ")})),e.textContent!==t&&(m(r.removed,{element:e.cloneNode()}),e.textContent=t)),Nt(ge.afterSanitizeElements,e,null),!1):(wt(e),!0)},_t=function(e,t,r){if(Ye&&("id"===t||"name"===t)&&(r in s||r in gt))return!1;if(xe&&!Ae[t]&&N(Ee,t));else if(Ie&&N(we,t));else if(!Me[t]||Ae[t]){if(!(bt(e)&&(be.tagNameCheck instanceof RegExp&&N(be.tagNameCheck,e)||be.tagNameCheck instanceof Function&&be.tagNameCheck(e))&&(be.attributeNameCheck instanceof RegExp&&N(be.attributeNameCheck,t)||be.attributeNameCheck instanceof Function&&be.attributeNameCheck(t))||"is"===t&&be.allowCustomizedBuiltInElements&&(be.tagNameCheck instanceof RegExp&&N(be.tagNameCheck,r)||be.tagNameCheck instanceof Function&&be.tagNameCheck(r))))return!1}else if(Ze[t]);else if(N(Se,v(r,ve,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==R(r,"data:")||!qe[e]){if(Pe&&!N(Ce,v(r,ve,"")));else if(r)return!1}else;return!0},bt=function(e){return"annotation-xml"!==e&&C(e,Re)},Ot=function(e){Nt(ge.beforeSanitizeAttributes,e,null);const{attributes:t}=e;if(!t||St(e))return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Me,forceKeepAttr:void 0};let s=t.length;for(;s--;){const i=t[s],{name:o,namespaceURI:a,value:l}=i,h=dt(o);let u="value"===o?l:S(l);if(n.attrName=h,n.attrValue=u,n.keepAttr=!0,n.forceKeepAttr=void 0,Nt(ge.uponSanitizeAttribute,e,n),u=n.attrValue,!Ge||"id"!==h&&"name"!==h||(Ct(o,e),u="user-content-"+u),ke&&N(/((--!?|])>)|<\/(style|title)/i,u)){Ct(o,e);continue}if(n.forceKeepAttr)continue;if(Ct(o,e),!n.keepAttr)continue;if(!Le&&N(/\/>/i,u)){Ct(o,e);continue}De&&p([fe,me,ye],(e=>{u=v(u,e," ")}));const c=dt(e.nodeName);if(_t(c,h,u)){if(ae&&"object"==typeof j&&"function"==typeof j.getAttributeType)if(a);else switch(j.getAttributeType(c,h)){case"TrustedHTML":u=ae.createHTML(u);break;case"TrustedScriptURL":u=ae.createScriptURL(u)}try{a?e.setAttributeNS(a,o,u):e.setAttribute(o,u),St(e)?wt(e):f(r.removed)}catch(e){}}}Nt(ge.afterSanitizeAttributes,e,null)},At=function e(t){let r=null;const n=Rt(t);for(Nt(ge.beforeSanitizeShadowDOM,t,null);r=n.nextNode();)Nt(ge.uponSanitizeShadowNode,r,null),Mt(r),Ot(r),r.content instanceof a&&e(r.content);Nt(ge.afterSanitizeShadowDOM,t,null)};return r.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,s=null,o=null,l=null;if(st=!e,st&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Tt(e)){if("function"!=typeof e.toString)throw M("toString is not a function");if("string"!=typeof(e=e.toString()))throw M("dirty is not a string, aborting")}if(!r.isSupported)return e;if(Fe||mt(t),r.removed=[],"string"==typeof e&&(ze=!1),ze){if(e.nodeName){const t=dt(e.nodeName);if(!Te[t]||Oe[t])throw M("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof c)n=vt("\x3c!----\x3e"),s=n.ownerDocument.importNode(e,!0),s.nodeType===te&&"BODY"===s.nodeName||"HTML"===s.nodeName?n=s:n.appendChild(s);else{if(!Ve&&!De&&!He&&-1===e.indexOf("<"))return ae&&We?ae.createHTML(e):e;if(n=vt(e),!n)return Ve?null:We?le:""}n&&Ue&&wt(n.firstChild);const h=Rt(ze?e:n);for(;o=h.nextNode();)Mt(o),Ot(o),o.content instanceof a&&At(o.content);if(ze)return e;if(Ve){if(Be)for(l=ce.call(n.ownerDocument);n.firstChild;)l.appendChild(n.firstChild);else l=n;return(Me.shadowroot||Me.shadowrootmode)&&(l=pe.call(i,l,!0)),l}let u=He?n.outerHTML:n.innerHTML;return He&&Te["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&N(Z,n.ownerDocument.doctype.name)&&(u="<!DOCTYPE "+n.ownerDocument.doctype.name+">\n"+u),De&&p([fe,me,ye],(e=>{u=v(u,e," ")})),ae&&We?ae.createHTML(u):u},r.setConfig=function(){mt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Fe=!0},r.clearConfig=function(){pt=null,Fe=!1},r.isValidAttribute=function(e,t,r){pt||mt({});const n=dt(e),s=dt(t);return _t(n,s,r)},r.addHook=function(e,t){"function"==typeof t&&m(ge[e],t)},r.removeHook=function(e,t){if(void 0!==t){const r=g(ge[e],t);return-1===r?void 0:y(ge[e],r,1)[0]}return f(ge[e])},r.removeHooks=function(e){ge[e]=[]},r.removeAllHooks=function(){ge={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},r}();e.exports=ae,window.DOMPurify=r(98339)},37086:()=>{},17289:()=>{},65145:()=>{},70872:()=>{},66569:()=>{},90470:()=>{},25819:()=>{},39685:()=>{},73762:()=>{},38906:()=>{},22956:()=>{},11414:()=>{},42516:()=>{},49888:()=>{},63933:()=>{},30718:()=>{},44169:()=>{},96954:()=>{},97417:()=>{},97527:()=>{},92556:()=>{},67105:()=>{},14130:()=>{},18158:()=>{},98952:()=>{},21918:()=>{},53611:()=>{},25496:()=>{},28809:()=>{},7275:()=>{},57306:()=>{},2609:()=>{},82970:()=>{},46192:()=>{},20851:()=>{},97953:()=>{},5137:()=>{},30147:()=>{},49999:()=>{},17778:()=>{},18741:()=>{},75712:()=>{},65431:()=>{},61716:()=>{},61388:()=>{},7858:()=>{},89098:()=>{},55218:()=>{},58713:()=>{},72237:()=>{},31260:()=>{},25485:()=>{},39842:()=>{},4986:()=>{},18691:()=>{},87812:()=>{},28833:()=>{},63434:()=>{},24254:()=>{},87235:()=>{},26074:()=>{},63237:()=>{},58844:()=>{},86937:()=>{},4566:()=>{},5324:()=>{},38728:()=>{},49165:()=>{},17905:()=>{},82759:()=>{},7525:()=>{},77788:()=>{},59427:()=>{},92022:()=>{},88029:()=>{},5881:()=>{},60039:()=>{},45284:()=>{},5909:()=>{},47891:()=>{},52047:()=>{},4163:()=>{},47301:()=>{},46800:()=>{},84122:()=>{},17886:()=>{},11680:()=>{},51101:()=>{},70888:()=>{},18227:()=>{},78629:()=>{},12304:()=>{},45745:()=>{},40847:()=>{},11249:()=>{},45617:()=>{},24532:()=>{},51001:()=>{},77498:()=>{},43793:()=>{},95758:()=>{},34220:()=>{},34646:()=>{},26709:()=>{},37089:()=>{},18271:()=>{},11422:()=>{},67401:()=>{},65775:()=>{},17040:()=>{},40263:()=>{},92764:()=>{},74403:()=>{},65026:()=>{},58830:()=>{},4048:()=>{},86436:()=>{},18505:()=>{},33968:()=>{},63422:()=>{},45441:()=>{},92671:()=>{},4659:()=>{},67956:()=>{},80204:()=>{},65191:()=>{},21949:()=>{},23174:()=>{},19286:()=>{},26158:()=>{},12284:()=>{},14912:()=>{},59357:()=>{},1313:()=>{},73021:()=>{},21312:()=>{},16629:()=>{},6671:function(e,t,r){(e=r.nmd(e)).exports=function(){"use strict";var t,n;function s(){return t.apply(null,arguments)}function i(e){t=e}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function a(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function l(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function h(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(l(e,t))return!1;return!0}function u(e){return void 0===e}function c(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function d(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function p(e,t){var r,n=[],s=e.length;for(r=0;r<s;++r)n.push(t(e[r],r));return n}function g(e,t){for(var r in t)l(t,r)&&(e[r]=t[r]);return l(t,"toString")&&(e.toString=t.toString),l(t,"valueOf")&&(e.valueOf=t.valueOf),e}function f(e,t,r,n){return Kr(e,t,r,n,!0).utc()}function m(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function y(e){return null==e._pf&&(e._pf=m()),e._pf}function E(e){var t=null,r=!1,s=e._d&&!isNaN(e._d.getTime());return s&&(t=y(e),r=n.call(t.parsedDateParts,(function(e){return null!=e})),s=t.overflow<0&&!t.empty&&!t.invalidEra&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&r),e._strict&&(s=s&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour)),null!=Object.isFrozen&&Object.isFrozen(e)?s:(e._isValid=s,e._isValid)}function w(e){var t=f(NaN);return null!=e?g(y(t),e):y(t).userInvalidated=!0,t}n=Array.prototype.some?Array.prototype.some:function(e){var t,r=Object(this),n=r.length>>>0;for(t=0;t<n;t++)if(t in r&&e.call(this,r[t],t,r))return!0;return!1};var C=s.momentProperties=[],v=!1;function R(e,t){var r,n,s,i=C.length;if(u(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),u(t._i)||(e._i=t._i),u(t._f)||(e._f=t._f),u(t._l)||(e._l=t._l),u(t._strict)||(e._strict=t._strict),u(t._tzm)||(e._tzm=t._tzm),u(t._isUTC)||(e._isUTC=t._isUTC),u(t._offset)||(e._offset=t._offset),u(t._pf)||(e._pf=y(t)),u(t._locale)||(e._locale=t._locale),i>0)for(r=0;r<i;r++)u(s=t[n=C[r]])||(e[n]=s);return e}function S(e){R(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===v&&(v=!0,s.updateOffset(this),v=!1)}function T(e){return e instanceof S||null!=e&&null!=e._isAMomentObject}function N(e){!1===s.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function M(e,t){var r=!0;return g((function(){if(null!=s.deprecationHandler&&s.deprecationHandler(null,e),r){var n,i,o,a=[],h=arguments.length;for(i=0;i<h;i++){if(n="","object"==typeof arguments[i]){for(o in n+="\n["+i+"] ",arguments[0])l(arguments[0],o)&&(n+=o+": "+arguments[0][o]+", ");n=n.slice(0,-2)}else n=arguments[i];a.push(n)}N(e+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),r=!1}return t.apply(this,arguments)}),t)}var _,b={};function O(e,t){null!=s.deprecationHandler&&s.deprecationHandler(e,t),b[e]||(N(t),b[e]=!0)}function A(e){return"undefined"!=typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function I(e){var t,r;for(r in e)l(e,r)&&(A(t=e[r])?this[r]=t:this["_"+r]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function x(e,t){var r,n=g({},e);for(r in t)l(t,r)&&(a(e[r])&&a(t[r])?(n[r]={},g(n[r],e[r]),g(n[r],t[r])):null!=t[r]?n[r]=t[r]:delete n[r]);for(r in e)l(e,r)&&!l(t,r)&&a(e[r])&&(n[r]=g({},n[r]));return n}function P(e){null!=e&&this.set(e)}s.suppressDeprecationWarnings=!1,s.deprecationHandler=null,_=Object.keys?Object.keys:function(e){var t,r=[];for(t in e)l(e,t)&&r.push(t);return r};var L={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function D(e,t,r){var n=this._calendar[e]||this._calendar.sameElse;return A(n)?n.call(t,r):n}function k(e,t,r){var n=""+Math.abs(e),s=t-n.length;return(e>=0?r?"+":"":"-")+Math.pow(10,Math.max(0,s)).toString().substr(1)+n}var H=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,F=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,U={},V={};function B(e,t,r,n){var s=n;"string"==typeof n&&(s=function(){return this[n]()}),e&&(V[e]=s),t&&(V[t[0]]=function(){return k(s.apply(this,arguments),t[1],t[2])}),r&&(V[r]=function(){return this.localeData().ordinal(s.apply(this,arguments),e)})}function W(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function Y(e){var t,r,n=e.match(H);for(t=0,r=n.length;t<r;t++)V[n[t]]?n[t]=V[n[t]]:n[t]=W(n[t]);return function(t){var s,i="";for(s=0;s<r;s++)i+=A(n[s])?n[s].call(t,e):n[s];return i}}function G(e,t){return e.isValid()?(t=j(t,e.localeData()),U[t]=U[t]||Y(t),U[t](e)):e.localeData().invalidDate()}function j(e,t){var r=5;function n(e){return t.longDateFormat(e)||e}for(F.lastIndex=0;r>=0&&F.test(e);)e=e.replace(F,n),F.lastIndex=0,r-=1;return e}var z={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function $(e){var t=this._longDateFormat[e],r=this._longDateFormat[e.toUpperCase()];return t||!r?t:(this._longDateFormat[e]=r.match(H).map((function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e})).join(""),this._longDateFormat[e])}var K="Invalid date";function X(){return this._invalidDate}var q="%d",Q=/\d{1,2}/;function Z(e){return this._ordinal.replace("%d",e)}var J={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function ee(e,t,r,n){var s=this._relativeTime[r];return A(s)?s(e,t,r,n):s.replace(/%d/i,e)}function te(e,t){var r=this._relativeTime[e>0?"future":"past"];return A(r)?r(t):r.replace(/%s/i,t)}var re={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function ne(e){return"string"==typeof e?re[e]||re[e.toLowerCase()]:void 0}function se(e){var t,r,n={};for(r in e)l(e,r)&&(t=ne(r))&&(n[t]=e[r]);return n}var ie={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function oe(e){var t,r=[];for(t in e)l(e,t)&&r.push({unit:t,priority:ie[t]});return r.sort((function(e,t){return e.priority-t.priority})),r}var ae,le=/\d/,he=/\d\d/,ue=/\d{3}/,ce=/\d{4}/,de=/[+-]?\d{6}/,pe=/\d\d?/,ge=/\d\d\d\d?/,fe=/\d\d\d\d\d\d?/,me=/\d{1,3}/,ye=/\d{1,4}/,Ee=/[+-]?\d{1,6}/,we=/\d+/,Ce=/[+-]?\d+/,ve=/Z|[+-]\d\d:?\d\d/gi,Re=/Z|[+-]\d\d(?::?\d\d)?/gi,Se=/[+-]?\d+(\.\d{1,3})?/,Te=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,Ne=/^[1-9]\d?/,Me=/^([1-9]\d|\d)/;function _e(e,t,r){ae[e]=A(t)?t:function(e,n){return e&&r?r:t}}function be(e,t){return l(ae,e)?ae[e](t._strict,t._locale):new RegExp(Oe(e))}function Oe(e){return Ae(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(e,t,r,n,s){return t||r||n||s})))}function Ae(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Ie(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function xe(e){var t=+e,r=0;return 0!==t&&isFinite(t)&&(r=Ie(t)),r}ae={};var Pe={};function Le(e,t){var r,n,s=t;for("string"==typeof e&&(e=[e]),c(t)&&(s=function(e,r){r[t]=xe(e)}),n=e.length,r=0;r<n;r++)Pe[e[r]]=s}function De(e,t){Le(e,(function(e,r,n,s){n._w=n._w||{},t(e,n._w,n,s)}))}function ke(e,t,r){null!=t&&l(Pe,e)&&Pe[e](t,r._a,r,e)}function He(e){return e%4==0&&e%100!=0||e%400==0}var Fe=0,Ue=1,Ve=2,Be=3,We=4,Ye=5,Ge=6,je=7,ze=8;function $e(e){return He(e)?366:365}B("Y",0,0,(function(){var e=this.year();return e<=9999?k(e,4):"+"+e})),B(0,["YY",2],0,(function(){return this.year()%100})),B(0,["YYYY",4],0,"year"),B(0,["YYYYY",5],0,"year"),B(0,["YYYYYY",6,!0],0,"year"),_e("Y",Ce),_e("YY",pe,he),_e("YYYY",ye,ce),_e("YYYYY",Ee,de),_e("YYYYYY",Ee,de),Le(["YYYYY","YYYYYY"],Fe),Le("YYYY",(function(e,t){t[Fe]=2===e.length?s.parseTwoDigitYear(e):xe(e)})),Le("YY",(function(e,t){t[Fe]=s.parseTwoDigitYear(e)})),Le("Y",(function(e,t){t[Fe]=parseInt(e,10)})),s.parseTwoDigitYear=function(e){return xe(e)+(xe(e)>68?1900:2e3)};var Ke,Xe=Qe("FullYear",!0);function qe(){return He(this.year())}function Qe(e,t){return function(r){return null!=r?(Je(this,e,r),s.updateOffset(this,t),this):Ze(this,e)}}function Ze(e,t){if(!e.isValid())return NaN;var r=e._d,n=e._isUTC;switch(t){case"Milliseconds":return n?r.getUTCMilliseconds():r.getMilliseconds();case"Seconds":return n?r.getUTCSeconds():r.getSeconds();case"Minutes":return n?r.getUTCMinutes():r.getMinutes();case"Hours":return n?r.getUTCHours():r.getHours();case"Date":return n?r.getUTCDate():r.getDate();case"Day":return n?r.getUTCDay():r.getDay();case"Month":return n?r.getUTCMonth():r.getMonth();case"FullYear":return n?r.getUTCFullYear():r.getFullYear();default:return NaN}}function Je(e,t,r){var n,s,i,o,a;if(e.isValid()&&!isNaN(r)){switch(n=e._d,s=e._isUTC,t){case"Milliseconds":return void(s?n.setUTCMilliseconds(r):n.setMilliseconds(r));case"Seconds":return void(s?n.setUTCSeconds(r):n.setSeconds(r));case"Minutes":return void(s?n.setUTCMinutes(r):n.setMinutes(r));case"Hours":return void(s?n.setUTCHours(r):n.setHours(r));case"Date":return void(s?n.setUTCDate(r):n.setDate(r));case"FullYear":break;default:return}i=r,o=e.month(),a=29!==(a=e.date())||1!==o||He(i)?a:28,s?n.setUTCFullYear(i,o,a):n.setFullYear(i,o,a)}}function et(e){return A(this[e=ne(e)])?this[e]():this}function tt(e,t){if("object"==typeof e){var r,n=oe(e=se(e)),s=n.length;for(r=0;r<s;r++)this[n[r].unit](e[n[r].unit])}else if(A(this[e=ne(e)]))return this[e](t);return this}function rt(e,t){return(e%t+t)%t}function nt(e,t){if(isNaN(e)||isNaN(t))return NaN;var r=rt(t,12);return e+=(t-r)/12,1===r?He(e)?29:28:31-r%7%2}Ke=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},B("M",["MM",2],"Mo",(function(){return this.month()+1})),B("MMM",0,0,(function(e){return this.localeData().monthsShort(this,e)})),B("MMMM",0,0,(function(e){return this.localeData().months(this,e)})),_e("M",pe,Ne),_e("MM",pe,he),_e("MMM",(function(e,t){return t.monthsShortRegex(e)})),_e("MMMM",(function(e,t){return t.monthsRegex(e)})),Le(["M","MM"],(function(e,t){t[Ue]=xe(e)-1})),Le(["MMM","MMMM"],(function(e,t,r,n){var s=r._locale.monthsParse(e,n,r._strict);null!=s?t[Ue]=s:y(r).invalidMonth=e}));var st="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),it="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),ot=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,at=Te,lt=Te;function ht(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||ot).test(t)?"format":"standalone"][e.month()]:o(this._months)?this._months:this._months.standalone}function ut(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[ot.test(t)?"format":"standalone"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function ct(e,t,r){var n,s,i,o=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],n=0;n<12;++n)i=f([2e3,n]),this._shortMonthsParse[n]=this.monthsShort(i,"").toLocaleLowerCase(),this._longMonthsParse[n]=this.months(i,"").toLocaleLowerCase();return r?"MMM"===t?-1!==(s=Ke.call(this._shortMonthsParse,o))?s:null:-1!==(s=Ke.call(this._longMonthsParse,o))?s:null:"MMM"===t?-1!==(s=Ke.call(this._shortMonthsParse,o))||-1!==(s=Ke.call(this._longMonthsParse,o))?s:null:-1!==(s=Ke.call(this._longMonthsParse,o))||-1!==(s=Ke.call(this._shortMonthsParse,o))?s:null}function dt(e,t,r){var n,s,i;if(this._monthsParseExact)return ct.call(this,e,t,r);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),n=0;n<12;n++){if(s=f([2e3,n]),r&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp("^"+this.months(s,"").replace(".","")+"$","i"),this._shortMonthsParse[n]=new RegExp("^"+this.monthsShort(s,"").replace(".","")+"$","i")),r||this._monthsParse[n]||(i="^"+this.months(s,"")+"|^"+this.monthsShort(s,""),this._monthsParse[n]=new RegExp(i.replace(".",""),"i")),r&&"MMMM"===t&&this._longMonthsParse[n].test(e))return n;if(r&&"MMM"===t&&this._shortMonthsParse[n].test(e))return n;if(!r&&this._monthsParse[n].test(e))return n}}function pt(e,t){if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=xe(t);else if(!c(t=e.localeData().monthsParse(t)))return e;var r=t,n=e.date();return n=n<29?n:Math.min(n,nt(e.year(),r)),e._isUTC?e._d.setUTCMonth(r,n):e._d.setMonth(r,n),e}function gt(e){return null!=e?(pt(this,e),s.updateOffset(this,!0),this):Ze(this,"Month")}function ft(){return nt(this.year(),this.month())}function mt(e){return this._monthsParseExact?(l(this,"_monthsRegex")||Et.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(l(this,"_monthsShortRegex")||(this._monthsShortRegex=at),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)}function yt(e){return this._monthsParseExact?(l(this,"_monthsRegex")||Et.call(this),e?this._monthsStrictRegex:this._monthsRegex):(l(this,"_monthsRegex")||(this._monthsRegex=lt),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)}function Et(){function e(e,t){return t.length-e.length}var t,r,n,s,i=[],o=[],a=[];for(t=0;t<12;t++)r=f([2e3,t]),n=Ae(this.monthsShort(r,"")),s=Ae(this.months(r,"")),i.push(n),o.push(s),a.push(s),a.push(n);i.sort(e),o.sort(e),a.sort(e),this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+i.join("|")+")","i")}function wt(e,t,r,n,s,i,o){var a;return e<100&&e>=0?(a=new Date(e+400,t,r,n,s,i,o),isFinite(a.getFullYear())&&a.setFullYear(e)):a=new Date(e,t,r,n,s,i,o),a}function Ct(e){var t,r;return e<100&&e>=0?((r=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,r)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function vt(e,t,r){var n=7+t-r;return-(7+Ct(e,0,n).getUTCDay()-t)%7+n-1}function Rt(e,t,r,n,s){var i,o,a=1+7*(t-1)+(7+r-n)%7+vt(e,n,s);return a<=0?o=$e(i=e-1)+a:a>$e(e)?(i=e+1,o=a-$e(e)):(i=e,o=a),{year:i,dayOfYear:o}}function St(e,t,r){var n,s,i=vt(e.year(),t,r),o=Math.floor((e.dayOfYear()-i-1)/7)+1;return o<1?n=o+Tt(s=e.year()-1,t,r):o>Tt(e.year(),t,r)?(n=o-Tt(e.year(),t,r),s=e.year()+1):(s=e.year(),n=o),{week:n,year:s}}function Tt(e,t,r){var n=vt(e,t,r),s=vt(e+1,t,r);return($e(e)-n+s)/7}function Nt(e){return St(e,this._week.dow,this._week.doy).week}B("w",["ww",2],"wo","week"),B("W",["WW",2],"Wo","isoWeek"),_e("w",pe,Ne),_e("ww",pe,he),_e("W",pe,Ne),_e("WW",pe,he),De(["w","ww","W","WW"],(function(e,t,r,n){t[n.substr(0,1)]=xe(e)}));var Mt={dow:0,doy:6};function _t(){return this._week.dow}function bt(){return this._week.doy}function Ot(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")}function At(e){var t=St(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")}function It(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}function xt(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function Pt(e,t){return e.slice(t,7).concat(e.slice(0,t))}B("d",0,"do","day"),B("dd",0,0,(function(e){return this.localeData().weekdaysMin(this,e)})),B("ddd",0,0,(function(e){return this.localeData().weekdaysShort(this,e)})),B("dddd",0,0,(function(e){return this.localeData().weekdays(this,e)})),B("e",0,0,"weekday"),B("E",0,0,"isoWeekday"),_e("d",pe),_e("e",pe),_e("E",pe),_e("dd",(function(e,t){return t.weekdaysMinRegex(e)})),_e("ddd",(function(e,t){return t.weekdaysShortRegex(e)})),_e("dddd",(function(e,t){return t.weekdaysRegex(e)})),De(["dd","ddd","dddd"],(function(e,t,r,n){var s=r._locale.weekdaysParse(e,n,r._strict);null!=s?t.d=s:y(r).invalidWeekday=e})),De(["d","e","E"],(function(e,t,r,n){t[n]=xe(e)}));var Lt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Dt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),kt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ht=Te,Ft=Te,Ut=Te;function Vt(e,t){var r=o(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?Pt(r,this._week.dow):e?r[e.day()]:r}function Bt(e){return!0===e?Pt(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Wt(e){return!0===e?Pt(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Yt(e,t,r){var n,s,i,o=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],n=0;n<7;++n)i=f([2e3,1]).day(n),this._minWeekdaysParse[n]=this.weekdaysMin(i,"").toLocaleLowerCase(),this._shortWeekdaysParse[n]=this.weekdaysShort(i,"").toLocaleLowerCase(),this._weekdaysParse[n]=this.weekdays(i,"").toLocaleLowerCase();return r?"dddd"===t?-1!==(s=Ke.call(this._weekdaysParse,o))?s:null:"ddd"===t?-1!==(s=Ke.call(this._shortWeekdaysParse,o))?s:null:-1!==(s=Ke.call(this._minWeekdaysParse,o))?s:null:"dddd"===t?-1!==(s=Ke.call(this._weekdaysParse,o))||-1!==(s=Ke.call(this._shortWeekdaysParse,o))||-1!==(s=Ke.call(this._minWeekdaysParse,o))?s:null:"ddd"===t?-1!==(s=Ke.call(this._shortWeekdaysParse,o))||-1!==(s=Ke.call(this._weekdaysParse,o))||-1!==(s=Ke.call(this._minWeekdaysParse,o))?s:null:-1!==(s=Ke.call(this._minWeekdaysParse,o))||-1!==(s=Ke.call(this._weekdaysParse,o))||-1!==(s=Ke.call(this._shortWeekdaysParse,o))?s:null}function Gt(e,t,r){var n,s,i;if(this._weekdaysParseExact)return Yt.call(this,e,t,r);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;n<7;n++){if(s=f([2e3,1]).day(n),r&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=new RegExp("^"+this.weekdays(s,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[n]=new RegExp("^"+this.weekdaysShort(s,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[n]=new RegExp("^"+this.weekdaysMin(s,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[n]||(i="^"+this.weekdays(s,"")+"|^"+this.weekdaysShort(s,"")+"|^"+this.weekdaysMin(s,""),this._weekdaysParse[n]=new RegExp(i.replace(".",""),"i")),r&&"dddd"===t&&this._fullWeekdaysParse[n].test(e))return n;if(r&&"ddd"===t&&this._shortWeekdaysParse[n].test(e))return n;if(r&&"dd"===t&&this._minWeekdaysParse[n].test(e))return n;if(!r&&this._weekdaysParse[n].test(e))return n}}function jt(e){if(!this.isValid())return null!=e?this:NaN;var t=Ze(this,"Day");return null!=e?(e=It(e,this.localeData()),this.add(e-t,"d")):t}function zt(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")}function $t(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=xt(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function Kt(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Qt.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=Ht),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function Xt(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Qt.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Ft),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function qt(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Qt.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ut),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qt(){function e(e,t){return t.length-e.length}var t,r,n,s,i,o=[],a=[],l=[],h=[];for(t=0;t<7;t++)r=f([2e3,1]).day(t),n=Ae(this.weekdaysMin(r,"")),s=Ae(this.weekdaysShort(r,"")),i=Ae(this.weekdays(r,"")),o.push(n),a.push(s),l.push(i),h.push(n),h.push(s),h.push(i);o.sort(e),a.sort(e),l.sort(e),h.sort(e),this._weekdaysRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function Zt(){return this.hours()%12||12}function Jt(){return this.hours()||24}function er(e,t){B(e,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)}))}function tr(e,t){return t._meridiemParse}function rr(e){return"p"===(e+"").toLowerCase().charAt(0)}B("H",["HH",2],0,"hour"),B("h",["hh",2],0,Zt),B("k",["kk",2],0,Jt),B("hmm",0,0,(function(){return""+Zt.apply(this)+k(this.minutes(),2)})),B("hmmss",0,0,(function(){return""+Zt.apply(this)+k(this.minutes(),2)+k(this.seconds(),2)})),B("Hmm",0,0,(function(){return""+this.hours()+k(this.minutes(),2)})),B("Hmmss",0,0,(function(){return""+this.hours()+k(this.minutes(),2)+k(this.seconds(),2)})),er("a",!0),er("A",!1),_e("a",tr),_e("A",tr),_e("H",pe,Me),_e("h",pe,Ne),_e("k",pe,Ne),_e("HH",pe,he),_e("hh",pe,he),_e("kk",pe,he),_e("hmm",ge),_e("hmmss",fe),_e("Hmm",ge),_e("Hmmss",fe),Le(["H","HH"],Be),Le(["k","kk"],(function(e,t,r){var n=xe(e);t[Be]=24===n?0:n})),Le(["a","A"],(function(e,t,r){r._isPm=r._locale.isPM(e),r._meridiem=e})),Le(["h","hh"],(function(e,t,r){t[Be]=xe(e),y(r).bigHour=!0})),Le("hmm",(function(e,t,r){var n=e.length-2;t[Be]=xe(e.substr(0,n)),t[We]=xe(e.substr(n)),y(r).bigHour=!0})),Le("hmmss",(function(e,t,r){var n=e.length-4,s=e.length-2;t[Be]=xe(e.substr(0,n)),t[We]=xe(e.substr(n,2)),t[Ye]=xe(e.substr(s)),y(r).bigHour=!0})),Le("Hmm",(function(e,t,r){var n=e.length-2;t[Be]=xe(e.substr(0,n)),t[We]=xe(e.substr(n))})),Le("Hmmss",(function(e,t,r){var n=e.length-4,s=e.length-2;t[Be]=xe(e.substr(0,n)),t[We]=xe(e.substr(n,2)),t[Ye]=xe(e.substr(s))}));var nr=/[ap]\.?m?\.?/i,sr=Qe("Hours",!0);function ir(e,t,r){return e>11?r?"pm":"PM":r?"am":"AM"}var or,ar={calendar:L,longDateFormat:z,invalidDate:K,ordinal:q,dayOfMonthOrdinalParse:Q,relativeTime:J,months:st,monthsShort:it,week:Mt,weekdays:Lt,weekdaysMin:kt,weekdaysShort:Dt,meridiemParse:nr},lr={},hr={};function ur(e,t){var r,n=Math.min(e.length,t.length);for(r=0;r<n;r+=1)if(e[r]!==t[r])return r;return n}function cr(e){return e?e.toLowerCase().replace("_","-"):e}function dr(e){for(var t,r,n,s,i=0;i<e.length;){for(t=(s=cr(e[i]).split("-")).length,r=(r=cr(e[i+1]))?r.split("-"):null;t>0;){if(n=gr(s.slice(0,t).join("-")))return n;if(r&&r.length>=t&&ur(s,r)>=t-1)break;t--}i++}return or}function pr(e){return!(!e||!e.match("^[^/\\\\]*$"))}function gr(t){var n=null;if(void 0===lr[t]&&e&&e.exports&&pr(t))try{n=or._abbr,r(35358)("./"+t),fr(n)}catch(e){lr[t]=null}return lr[t]}function fr(e,t){var r;return e&&((r=u(t)?Er(e):mr(e,t))?or=r:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),or._abbr}function mr(e,t){if(null!==t){var r,n=ar;if(t.abbr=e,null!=lr[e])O("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=lr[e]._config;else if(null!=t.parentLocale)if(null!=lr[t.parentLocale])n=lr[t.parentLocale]._config;else{if(null==(r=gr(t.parentLocale)))return hr[t.parentLocale]||(hr[t.parentLocale]=[]),hr[t.parentLocale].push({name:e,config:t}),null;n=r._config}return lr[e]=new P(x(n,t)),hr[e]&&hr[e].forEach((function(e){mr(e.name,e.config)})),fr(e),lr[e]}return delete lr[e],null}function yr(e,t){if(null!=t){var r,n,s=ar;null!=lr[e]&&null!=lr[e].parentLocale?lr[e].set(x(lr[e]._config,t)):(null!=(n=gr(e))&&(s=n._config),t=x(s,t),null==n&&(t.abbr=e),(r=new P(t)).parentLocale=lr[e],lr[e]=r),fr(e)}else null!=lr[e]&&(null!=lr[e].parentLocale?(lr[e]=lr[e].parentLocale,e===fr()&&fr(e)):null!=lr[e]&&delete lr[e]);return lr[e]}function Er(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return or;if(!o(e)){if(t=gr(e))return t;e=[e]}return dr(e)}function wr(){return _(lr)}function Cr(e){var t,r=e._a;return r&&-2===y(e).overflow&&(t=r[Ue]<0||r[Ue]>11?Ue:r[Ve]<1||r[Ve]>nt(r[Fe],r[Ue])?Ve:r[Be]<0||r[Be]>24||24===r[Be]&&(0!==r[We]||0!==r[Ye]||0!==r[Ge])?Be:r[We]<0||r[We]>59?We:r[Ye]<0||r[Ye]>59?Ye:r[Ge]<0||r[Ge]>999?Ge:-1,y(e)._overflowDayOfYear&&(t<Fe||t>Ve)&&(t=Ve),y(e)._overflowWeeks&&-1===t&&(t=je),y(e)._overflowWeekday&&-1===t&&(t=ze),y(e).overflow=t),e}var vr=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Rr=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Sr=/Z|[+-]\d\d(?::?\d\d)?/,Tr=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Nr=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Mr=/^\/?Date\((-?\d+)/i,_r=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,br={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Or(e){var t,r,n,s,i,o,a=e._i,l=vr.exec(a)||Rr.exec(a),h=Tr.length,u=Nr.length;if(l){for(y(e).iso=!0,t=0,r=h;t<r;t++)if(Tr[t][1].exec(l[1])){s=Tr[t][0],n=!1!==Tr[t][2];break}if(null==s)return void(e._isValid=!1);if(l[3]){for(t=0,r=u;t<r;t++)if(Nr[t][1].exec(l[3])){i=(l[2]||" ")+Nr[t][0];break}if(null==i)return void(e._isValid=!1)}if(!n&&null!=i)return void(e._isValid=!1);if(l[4]){if(!Sr.exec(l[4]))return void(e._isValid=!1);o="Z"}e._f=s+(i||"")+(o||""),Br(e)}else e._isValid=!1}function Ar(e,t,r,n,s,i){var o=[Ir(e),it.indexOf(t),parseInt(r,10),parseInt(n,10),parseInt(s,10)];return i&&o.push(parseInt(i,10)),o}function Ir(e){var t=parseInt(e,10);return t<=49?2e3+t:t<=999?1900+t:t}function xr(e){return e.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function Pr(e,t,r){return!e||Dt.indexOf(e)===new Date(t[0],t[1],t[2]).getDay()||(y(r).weekdayMismatch=!0,r._isValid=!1,!1)}function Lr(e,t,r){if(e)return br[e];if(t)return 0;var n=parseInt(r,10),s=n%100;return(n-s)/100*60+s}function Dr(e){var t,r=_r.exec(xr(e._i));if(r){if(t=Ar(r[4],r[3],r[2],r[5],r[6],r[7]),!Pr(r[1],t,e))return;e._a=t,e._tzm=Lr(r[8],r[9],r[10]),e._d=Ct.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),y(e).rfc2822=!0}else e._isValid=!1}function kr(e){var t=Mr.exec(e._i);null===t?(Or(e),!1===e._isValid&&(delete e._isValid,Dr(e),!1===e._isValid&&(delete e._isValid,e._strict?e._isValid=!1:s.createFromInputFallback(e)))):e._d=new Date(+t[1])}function Hr(e,t,r){return null!=e?e:null!=t?t:r}function Fr(e){var t=new Date(s.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}function Ur(e){var t,r,n,s,i,o=[];if(!e._d){for(n=Fr(e),e._w&&null==e._a[Ve]&&null==e._a[Ue]&&Vr(e),null!=e._dayOfYear&&(i=Hr(e._a[Fe],n[Fe]),(e._dayOfYear>$e(i)||0===e._dayOfYear)&&(y(e)._overflowDayOfYear=!0),r=Ct(i,0,e._dayOfYear),e._a[Ue]=r.getUTCMonth(),e._a[Ve]=r.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=n[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[Be]&&0===e._a[We]&&0===e._a[Ye]&&0===e._a[Ge]&&(e._nextDay=!0,e._a[Be]=0),e._d=(e._useUTC?Ct:wt).apply(null,o),s=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Be]=24),e._w&&void 0!==e._w.d&&e._w.d!==s&&(y(e).weekdayMismatch=!0)}}function Vr(e){var t,r,n,s,i,o,a,l,h;null!=(t=e._w).GG||null!=t.W||null!=t.E?(i=1,o=4,r=Hr(t.GG,e._a[Fe],St(Xr(),1,4).year),n=Hr(t.W,1),((s=Hr(t.E,1))<1||s>7)&&(l=!0)):(i=e._locale._week.dow,o=e._locale._week.doy,h=St(Xr(),i,o),r=Hr(t.gg,e._a[Fe],h.year),n=Hr(t.w,h.week),null!=t.d?((s=t.d)<0||s>6)&&(l=!0):null!=t.e?(s=t.e+i,(t.e<0||t.e>6)&&(l=!0)):s=i),n<1||n>Tt(r,i,o)?y(e)._overflowWeeks=!0:null!=l?y(e)._overflowWeekday=!0:(a=Rt(r,n,s,i,o),e._a[Fe]=a.year,e._dayOfYear=a.dayOfYear)}function Br(e){if(e._f!==s.ISO_8601)if(e._f!==s.RFC_2822){e._a=[],y(e).empty=!0;var t,r,n,i,o,a,l,h=""+e._i,u=h.length,c=0;for(l=(n=j(e._f,e._locale).match(H)||[]).length,t=0;t<l;t++)i=n[t],(r=(h.match(be(i,e))||[])[0])&&((o=h.substr(0,h.indexOf(r))).length>0&&y(e).unusedInput.push(o),h=h.slice(h.indexOf(r)+r.length),c+=r.length),V[i]?(r?y(e).empty=!1:y(e).unusedTokens.push(i),ke(i,r,e)):e._strict&&!r&&y(e).unusedTokens.push(i);y(e).charsLeftOver=u-c,h.length>0&&y(e).unusedInput.push(h),e._a[Be]<=12&&!0===y(e).bigHour&&e._a[Be]>0&&(y(e).bigHour=void 0),y(e).parsedDateParts=e._a.slice(0),y(e).meridiem=e._meridiem,e._a[Be]=Wr(e._locale,e._a[Be],e._meridiem),null!==(a=y(e).era)&&(e._a[Fe]=e._locale.erasConvertYear(a,e._a[Fe])),Ur(e),Cr(e)}else Dr(e);else Or(e)}function Wr(e,t,r){var n;return null==r?t:null!=e.meridiemHour?e.meridiemHour(t,r):null!=e.isPM?((n=e.isPM(r))&&t<12&&(t+=12),n||12!==t||(t=0),t):t}function Yr(e){var t,r,n,s,i,o,a=!1,l=e._f.length;if(0===l)return y(e).invalidFormat=!0,void(e._d=new Date(NaN));for(s=0;s<l;s++)i=0,o=!1,t=R({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[s],Br(t),E(t)&&(o=!0),i+=y(t).charsLeftOver,i+=10*y(t).unusedTokens.length,y(t).score=i,a?i<n&&(n=i,r=t):(null==n||i<n||o)&&(n=i,r=t,o&&(a=!0));g(e,r||t)}function Gr(e){if(!e._d){var t=se(e._i),r=void 0===t.day?t.date:t.day;e._a=p([t.year,t.month,r,t.hour,t.minute,t.second,t.millisecond],(function(e){return e&&parseInt(e,10)})),Ur(e)}}function jr(e){var t=new S(Cr(zr(e)));return t._nextDay&&(t.add(1,"d"),t._nextDay=void 0),t}function zr(e){var t=e._i,r=e._f;return e._locale=e._locale||Er(e._l),null===t||void 0===r&&""===t?w({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),T(t)?new S(Cr(t)):(d(t)?e._d=t:o(r)?Yr(e):r?Br(e):$r(e),E(e)||(e._d=null),e))}function $r(e){var t=e._i;u(t)?e._d=new Date(s.now()):d(t)?e._d=new Date(t.valueOf()):"string"==typeof t?kr(e):o(t)?(e._a=p(t.slice(0),(function(e){return parseInt(e,10)})),Ur(e)):a(t)?Gr(e):c(t)?e._d=new Date(t):s.createFromInputFallback(e)}function Kr(e,t,r,n,s){var i={};return!0!==t&&!1!==t||(n=t,t=void 0),!0!==r&&!1!==r||(n=r,r=void 0),(a(e)&&h(e)||o(e)&&0===e.length)&&(e=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=s,i._l=r,i._i=e,i._f=t,i._strict=n,jr(i)}function Xr(e,t,r,n){return Kr(e,t,r,n,!1)}s.createFromInputFallback=M("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))})),s.ISO_8601=function(){},s.RFC_2822=function(){};var qr=M("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var e=Xr.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:w()})),Qr=M("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var e=Xr.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:w()}));function Zr(e,t){var r,n;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return Xr();for(r=t[0],n=1;n<t.length;++n)t[n].isValid()&&!t[n][e](r)||(r=t[n]);return r}function Jr(){return Zr("isBefore",[].slice.call(arguments,0))}function en(){return Zr("isAfter",[].slice.call(arguments,0))}var tn=function(){return Date.now?Date.now():+new Date},rn=["year","quarter","month","week","day","hour","minute","second","millisecond"];function nn(e){var t,r,n=!1,s=rn.length;for(t in e)if(l(e,t)&&(-1===Ke.call(rn,t)||null!=e[t]&&isNaN(e[t])))return!1;for(r=0;r<s;++r)if(e[rn[r]]){if(n)return!1;parseFloat(e[rn[r]])!==xe(e[rn[r]])&&(n=!0)}return!0}function sn(){return this._isValid}function on(){return On(NaN)}function an(e){var t=se(e),r=t.year||0,n=t.quarter||0,s=t.month||0,i=t.week||t.isoWeek||0,o=t.day||0,a=t.hour||0,l=t.minute||0,h=t.second||0,u=t.millisecond||0;this._isValid=nn(t),this._milliseconds=+u+1e3*h+6e4*l+1e3*a*60*60,this._days=+o+7*i,this._months=+s+3*n+12*r,this._data={},this._locale=Er(),this._bubble()}function ln(e){return e instanceof an}function hn(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function un(e,t,r){var n,s=Math.min(e.length,t.length),i=Math.abs(e.length-t.length),o=0;for(n=0;n<s;n++)(r&&e[n]!==t[n]||!r&&xe(e[n])!==xe(t[n]))&&o++;return o+i}function cn(e,t){B(e,0,0,(function(){var e=this.utcOffset(),r="+";return e<0&&(e=-e,r="-"),r+k(~~(e/60),2)+t+k(~~e%60,2)}))}cn("Z",":"),cn("ZZ",""),_e("Z",Re),_e("ZZ",Re),Le(["Z","ZZ"],(function(e,t,r){r._useUTC=!0,r._tzm=pn(Re,e)}));var dn=/([\+\-]|\d\d)/gi;function pn(e,t){var r,n,s=(t||"").match(e);return null===s?null:0===(n=60*(r=((s[s.length-1]||[])+"").match(dn)||["-",0,0])[1]+xe(r[2]))?0:"+"===r[0]?n:-n}function gn(e,t){var r,n;return t._isUTC?(r=t.clone(),n=(T(e)||d(e)?e.valueOf():Xr(e).valueOf())-r.valueOf(),r._d.setTime(r._d.valueOf()+n),s.updateOffset(r,!1),r):Xr(e).local()}function fn(e){return-Math.round(e._d.getTimezoneOffset())}function mn(e,t,r){var n,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if("string"==typeof e){if(null===(e=pn(Re,e)))return this}else Math.abs(e)<16&&!r&&(e*=60);return!this._isUTC&&t&&(n=fn(this)),this._offset=e,this._isUTC=!0,null!=n&&this.add(n,"m"),i!==e&&(!t||this._changeInProgress?Ln(this,On(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,s.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?i:fn(this)}function yn(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}function En(e){return this.utcOffset(0,e)}function wn(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(fn(this),"m")),this}function Cn(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=pn(ve,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this}function vn(e){return!!this.isValid()&&(e=e?Xr(e).utcOffset():0,(this.utcOffset()-e)%60==0)}function Rn(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Sn(){if(!u(this._isDSTShifted))return this._isDSTShifted;var e,t={};return R(t,this),(t=zr(t))._a?(e=t._isUTC?f(t._a):Xr(t._a),this._isDSTShifted=this.isValid()&&un(t._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function Tn(){return!!this.isValid()&&!this._isUTC}function Nn(){return!!this.isValid()&&this._isUTC}function Mn(){return!!this.isValid()&&this._isUTC&&0===this._offset}s.updateOffset=function(){};var _n=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,bn=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function On(e,t){var r,n,s,i=e,o=null;return ln(e)?i={ms:e._milliseconds,d:e._days,M:e._months}:c(e)||!isNaN(+e)?(i={},t?i[t]=+e:i.milliseconds=+e):(o=_n.exec(e))?(r="-"===o[1]?-1:1,i={y:0,d:xe(o[Ve])*r,h:xe(o[Be])*r,m:xe(o[We])*r,s:xe(o[Ye])*r,ms:xe(hn(1e3*o[Ge]))*r}):(o=bn.exec(e))?(r="-"===o[1]?-1:1,i={y:An(o[2],r),M:An(o[3],r),w:An(o[4],r),d:An(o[5],r),h:An(o[6],r),m:An(o[7],r),s:An(o[8],r)}):null==i?i={}:"object"==typeof i&&("from"in i||"to"in i)&&(s=xn(Xr(i.from),Xr(i.to)),(i={}).ms=s.milliseconds,i.M=s.months),n=new an(i),ln(e)&&l(e,"_locale")&&(n._locale=e._locale),ln(e)&&l(e,"_isValid")&&(n._isValid=e._isValid),n}function An(e,t){var r=e&&parseFloat(e.replace(",","."));return(isNaN(r)?0:r)*t}function In(e,t){var r={};return r.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(r.months,"M").isAfter(t)&&--r.months,r.milliseconds=+t-+e.clone().add(r.months,"M"),r}function xn(e,t){var r;return e.isValid()&&t.isValid()?(t=gn(t,e),e.isBefore(t)?r=In(e,t):((r=In(t,e)).milliseconds=-r.milliseconds,r.months=-r.months),r):{milliseconds:0,months:0}}function Pn(e,t){return function(r,n){var s;return null===n||isNaN(+n)||(O(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=r,r=n,n=s),Ln(this,On(r,n),e),this}}function Ln(e,t,r,n){var i=t._milliseconds,o=hn(t._days),a=hn(t._months);e.isValid()&&(n=null==n||n,a&&pt(e,Ze(e,"Month")+a*r),o&&Je(e,"Date",Ze(e,"Date")+o*r),i&&e._d.setTime(e._d.valueOf()+i*r),n&&s.updateOffset(e,o||a))}On.fn=an.prototype,On.invalid=on;var Dn=Pn(1,"add"),kn=Pn(-1,"subtract");function Hn(e){return"string"==typeof e||e instanceof String}function Fn(e){return T(e)||d(e)||Hn(e)||c(e)||Vn(e)||Un(e)||null==e}function Un(e){var t,r,n=a(e)&&!h(e),s=!1,i=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],o=i.length;for(t=0;t<o;t+=1)r=i[t],s=s||l(e,r);return n&&s}function Vn(e){var t=o(e),r=!1;return t&&(r=0===e.filter((function(t){return!c(t)&&Hn(e)})).length),t&&r}function Bn(e){var t,r,n=a(e)&&!h(e),s=!1,i=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(t=0;t<i.length;t+=1)r=i[t],s=s||l(e,r);return n&&s}function Wn(e,t){var r=e.diff(t,"days",!0);return r<-6?"sameElse":r<-1?"lastWeek":r<0?"lastDay":r<1?"sameDay":r<2?"nextDay":r<7?"nextWeek":"sameElse"}function Yn(e,t){1===arguments.length&&(arguments[0]?Fn(arguments[0])?(e=arguments[0],t=void 0):Bn(arguments[0])&&(t=arguments[0],e=void 0):(e=void 0,t=void 0));var r=e||Xr(),n=gn(r,this).startOf("day"),i=s.calendarFormat(this,n)||"sameElse",o=t&&(A(t[i])?t[i].call(this,r):t[i]);return this.format(o||this.localeData().calendar(i,this,Xr(r)))}function Gn(){return new S(this)}function jn(e,t){var r=T(e)?e:Xr(e);return!(!this.isValid()||!r.isValid())&&("millisecond"===(t=ne(t)||"millisecond")?this.valueOf()>r.valueOf():r.valueOf()<this.clone().startOf(t).valueOf())}function zn(e,t){var r=T(e)?e:Xr(e);return!(!this.isValid()||!r.isValid())&&("millisecond"===(t=ne(t)||"millisecond")?this.valueOf()<r.valueOf():this.clone().endOf(t).valueOf()<r.valueOf())}function $n(e,t,r,n){var s=T(e)?e:Xr(e),i=T(t)?t:Xr(t);return!!(this.isValid()&&s.isValid()&&i.isValid())&&("("===(n=n||"()")[0]?this.isAfter(s,r):!this.isBefore(s,r))&&(")"===n[1]?this.isBefore(i,r):!this.isAfter(i,r))}function Kn(e,t){var r,n=T(e)?e:Xr(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=ne(t)||"millisecond")?this.valueOf()===n.valueOf():(r=n.valueOf(),this.clone().startOf(t).valueOf()<=r&&r<=this.clone().endOf(t).valueOf()))}function Xn(e,t){return this.isSame(e,t)||this.isAfter(e,t)}function qn(e,t){return this.isSame(e,t)||this.isBefore(e,t)}function Qn(e,t,r){var n,s,i;if(!this.isValid())return NaN;if(!(n=gn(e,this)).isValid())return NaN;switch(s=6e4*(n.utcOffset()-this.utcOffset()),t=ne(t)){case"year":i=Zn(this,n)/12;break;case"month":i=Zn(this,n);break;case"quarter":i=Zn(this,n)/3;break;case"second":i=(this-n)/1e3;break;case"minute":i=(this-n)/6e4;break;case"hour":i=(this-n)/36e5;break;case"day":i=(this-n-s)/864e5;break;case"week":i=(this-n-s)/6048e5;break;default:i=this-n}return r?i:Ie(i)}function Zn(e,t){if(e.date()<t.date())return-Zn(t,e);var r=12*(t.year()-e.year())+(t.month()-e.month()),n=e.clone().add(r,"months");return-(r+(t-n<0?(t-n)/(n-e.clone().add(r-1,"months")):(t-n)/(e.clone().add(r+1,"months")-n)))||0}function Jn(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function es(e){if(!this.isValid())return null;var t=!0!==e,r=t?this.clone().utc():this;return r.year()<0||r.year()>9999?G(r,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):A(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",G(r,"Z")):G(r,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function ts(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t,r,n,s="moment",i="";return this.isLocal()||(s=0===this.utcOffset()?"moment.utc":"moment.parseZone",i="Z"),e="["+s+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",r="-MM-DD[T]HH:mm:ss.SSS",n=i+'[")]',this.format(e+t+r+n)}function rs(e){e||(e=this.isUtc()?s.defaultFormatUtc:s.defaultFormat);var t=G(this,e);return this.localeData().postformat(t)}function ns(e,t){return this.isValid()&&(T(e)&&e.isValid()||Xr(e).isValid())?On({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function ss(e){return this.from(Xr(),e)}function is(e,t){return this.isValid()&&(T(e)&&e.isValid()||Xr(e).isValid())?On({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function os(e){return this.to(Xr(),e)}function as(e){var t;return void 0===e?this._locale._abbr:(null!=(t=Er(e))&&(this._locale=t),this)}s.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",s.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var ls=M("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(e){return void 0===e?this.localeData():this.locale(e)}));function hs(){return this._locale}var us=1e3,cs=60*us,ds=60*cs,ps=3506328*ds;function gs(e,t){return(e%t+t)%t}function fs(e,t,r){return e<100&&e>=0?new Date(e+400,t,r)-ps:new Date(e,t,r).valueOf()}function ms(e,t,r){return e<100&&e>=0?Date.UTC(e+400,t,r)-ps:Date.UTC(e,t,r)}function ys(e){var t,r;if(void 0===(e=ne(e))||"millisecond"===e||!this.isValid())return this;switch(r=this._isUTC?ms:fs,e){case"year":t=r(this.year(),0,1);break;case"quarter":t=r(this.year(),this.month()-this.month()%3,1);break;case"month":t=r(this.year(),this.month(),1);break;case"week":t=r(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=r(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=r(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=gs(t+(this._isUTC?0:this.utcOffset()*cs),ds);break;case"minute":t=this._d.valueOf(),t-=gs(t,cs);break;case"second":t=this._d.valueOf(),t-=gs(t,us)}return this._d.setTime(t),s.updateOffset(this,!0),this}function Es(e){var t,r;if(void 0===(e=ne(e))||"millisecond"===e||!this.isValid())return this;switch(r=this._isUTC?ms:fs,e){case"year":t=r(this.year()+1,0,1)-1;break;case"quarter":t=r(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=r(this.year(),this.month()+1,1)-1;break;case"week":t=r(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=r(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=r(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=ds-gs(t+(this._isUTC?0:this.utcOffset()*cs),ds)-1;break;case"minute":t=this._d.valueOf(),t+=cs-gs(t,cs)-1;break;case"second":t=this._d.valueOf(),t+=us-gs(t,us)-1}return this._d.setTime(t),s.updateOffset(this,!0),this}function ws(){return this._d.valueOf()-6e4*(this._offset||0)}function Cs(){return Math.floor(this.valueOf()/1e3)}function vs(){return new Date(this.valueOf())}function Rs(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function Ss(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function Ts(){return this.isValid()?this.toISOString():null}function Ns(){return E(this)}function Ms(){return g({},y(this))}function _s(){return y(this).overflow}function bs(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Os(e,t){var r,n,i,o=this._eras||Er("en")._eras;for(r=0,n=o.length;r<n;++r)switch("string"==typeof o[r].since&&(i=s(o[r].since).startOf("day"),o[r].since=i.valueOf()),typeof o[r].until){case"undefined":o[r].until=1/0;break;case"string":i=s(o[r].until).startOf("day").valueOf(),o[r].until=i.valueOf()}return o}function As(e,t,r){var n,s,i,o,a,l=this.eras();for(e=e.toUpperCase(),n=0,s=l.length;n<s;++n)if(i=l[n].name.toUpperCase(),o=l[n].abbr.toUpperCase(),a=l[n].narrow.toUpperCase(),r)switch(t){case"N":case"NN":case"NNN":if(o===e)return l[n];break;case"NNNN":if(i===e)return l[n];break;case"NNNNN":if(a===e)return l[n]}else if([i,o,a].indexOf(e)>=0)return l[n]}function Is(e,t){var r=e.since<=e.until?1:-1;return void 0===t?s(e.since).year():s(e.since).year()+(t-e.offset)*r}function xs(){var e,t,r,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e){if(r=this.clone().startOf("day").valueOf(),n[e].since<=r&&r<=n[e].until)return n[e].name;if(n[e].until<=r&&r<=n[e].since)return n[e].name}return""}function Ps(){var e,t,r,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e){if(r=this.clone().startOf("day").valueOf(),n[e].since<=r&&r<=n[e].until)return n[e].narrow;if(n[e].until<=r&&r<=n[e].since)return n[e].narrow}return""}function Ls(){var e,t,r,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e){if(r=this.clone().startOf("day").valueOf(),n[e].since<=r&&r<=n[e].until)return n[e].abbr;if(n[e].until<=r&&r<=n[e].since)return n[e].abbr}return""}function Ds(){var e,t,r,n,i=this.localeData().eras();for(e=0,t=i.length;e<t;++e)if(r=i[e].since<=i[e].until?1:-1,n=this.clone().startOf("day").valueOf(),i[e].since<=n&&n<=i[e].until||i[e].until<=n&&n<=i[e].since)return(this.year()-s(i[e].since).year())*r+i[e].offset;return this.year()}function ks(e){return l(this,"_erasNameRegex")||Ys.call(this),e?this._erasNameRegex:this._erasRegex}function Hs(e){return l(this,"_erasAbbrRegex")||Ys.call(this),e?this._erasAbbrRegex:this._erasRegex}function Fs(e){return l(this,"_erasNarrowRegex")||Ys.call(this),e?this._erasNarrowRegex:this._erasRegex}function Us(e,t){return t.erasAbbrRegex(e)}function Vs(e,t){return t.erasNameRegex(e)}function Bs(e,t){return t.erasNarrowRegex(e)}function Ws(e,t){return t._eraYearOrdinalRegex||we}function Ys(){var e,t,r,n,s,i=[],o=[],a=[],l=[],h=this.eras();for(e=0,t=h.length;e<t;++e)r=Ae(h[e].name),n=Ae(h[e].abbr),s=Ae(h[e].narrow),o.push(r),i.push(n),a.push(s),l.push(r),l.push(n),l.push(s);this._erasRegex=new RegExp("^("+l.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+o.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+i.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+a.join("|")+")","i")}function Gs(e,t){B(0,[e,e.length],0,t)}function js(e){return Qs.call(this,e,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)}function zs(e){return Qs.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)}function $s(){return Tt(this.year(),1,4)}function Ks(){return Tt(this.isoWeekYear(),1,4)}function Xs(){var e=this.localeData()._week;return Tt(this.year(),e.dow,e.doy)}function qs(){var e=this.localeData()._week;return Tt(this.weekYear(),e.dow,e.doy)}function Qs(e,t,r,n,s){var i;return null==e?St(this,n,s).year:(t>(i=Tt(e,n,s))&&(t=i),Zs.call(this,e,t,r,n,s))}function Zs(e,t,r,n,s){var i=Rt(e,t,r,n,s),o=Ct(i.year,0,i.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}function Js(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}B("N",0,0,"eraAbbr"),B("NN",0,0,"eraAbbr"),B("NNN",0,0,"eraAbbr"),B("NNNN",0,0,"eraName"),B("NNNNN",0,0,"eraNarrow"),B("y",["y",1],"yo","eraYear"),B("y",["yy",2],0,"eraYear"),B("y",["yyy",3],0,"eraYear"),B("y",["yyyy",4],0,"eraYear"),_e("N",Us),_e("NN",Us),_e("NNN",Us),_e("NNNN",Vs),_e("NNNNN",Bs),Le(["N","NN","NNN","NNNN","NNNNN"],(function(e,t,r,n){var s=r._locale.erasParse(e,n,r._strict);s?y(r).era=s:y(r).invalidEra=e})),_e("y",we),_e("yy",we),_e("yyy",we),_e("yyyy",we),_e("yo",Ws),Le(["y","yy","yyy","yyyy"],Fe),Le(["yo"],(function(e,t,r,n){var s;r._locale._eraYearOrdinalRegex&&(s=e.match(r._locale._eraYearOrdinalRegex)),r._locale.eraYearOrdinalParse?t[Fe]=r._locale.eraYearOrdinalParse(e,s):t[Fe]=parseInt(e,10)})),B(0,["gg",2],0,(function(){return this.weekYear()%100})),B(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),Gs("gggg","weekYear"),Gs("ggggg","weekYear"),Gs("GGGG","isoWeekYear"),Gs("GGGGG","isoWeekYear"),_e("G",Ce),_e("g",Ce),_e("GG",pe,he),_e("gg",pe,he),_e("GGGG",ye,ce),_e("gggg",ye,ce),_e("GGGGG",Ee,de),_e("ggggg",Ee,de),De(["gggg","ggggg","GGGG","GGGGG"],(function(e,t,r,n){t[n.substr(0,2)]=xe(e)})),De(["gg","GG"],(function(e,t,r,n){t[n]=s.parseTwoDigitYear(e)})),B("Q",0,"Qo","quarter"),_e("Q",le),Le("Q",(function(e,t){t[Ue]=3*(xe(e)-1)})),B("D",["DD",2],"Do","date"),_e("D",pe,Ne),_e("DD",pe,he),_e("Do",(function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient})),Le(["D","DD"],Ve),Le("Do",(function(e,t){t[Ve]=xe(e.match(pe)[0])}));var ei=Qe("Date",!0);function ti(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")}B("DDD",["DDDD",3],"DDDo","dayOfYear"),_e("DDD",me),_e("DDDD",ue),Le(["DDD","DDDD"],(function(e,t,r){r._dayOfYear=xe(e)})),B("m",["mm",2],0,"minute"),_e("m",pe,Me),_e("mm",pe,he),Le(["m","mm"],We);var ri=Qe("Minutes",!1);B("s",["ss",2],0,"second"),_e("s",pe,Me),_e("ss",pe,he),Le(["s","ss"],Ye);var ni,si,ii=Qe("Seconds",!1);for(B("S",0,0,(function(){return~~(this.millisecond()/100)})),B(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),B(0,["SSS",3],0,"millisecond"),B(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),B(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),B(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),B(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),B(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),B(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),_e("S",me,le),_e("SS",me,he),_e("SSS",me,ue),ni="SSSS";ni.length<=9;ni+="S")_e(ni,we);function oi(e,t){t[Ge]=xe(1e3*("0."+e))}for(ni="S";ni.length<=9;ni+="S")Le(ni,oi);function ai(){return this._isUTC?"UTC":""}function li(){return this._isUTC?"Coordinated Universal Time":""}si=Qe("Milliseconds",!1),B("z",0,0,"zoneAbbr"),B("zz",0,0,"zoneName");var hi=S.prototype;function ui(e){return Xr(1e3*e)}function ci(){return Xr.apply(null,arguments).parseZone()}function di(e){return e}hi.add=Dn,hi.calendar=Yn,hi.clone=Gn,hi.diff=Qn,hi.endOf=Es,hi.format=rs,hi.from=ns,hi.fromNow=ss,hi.to=is,hi.toNow=os,hi.get=et,hi.invalidAt=_s,hi.isAfter=jn,hi.isBefore=zn,hi.isBetween=$n,hi.isSame=Kn,hi.isSameOrAfter=Xn,hi.isSameOrBefore=qn,hi.isValid=Ns,hi.lang=ls,hi.locale=as,hi.localeData=hs,hi.max=Qr,hi.min=qr,hi.parsingFlags=Ms,hi.set=tt,hi.startOf=ys,hi.subtract=kn,hi.toArray=Rs,hi.toObject=Ss,hi.toDate=vs,hi.toISOString=es,hi.inspect=ts,"undefined"!=typeof Symbol&&null!=Symbol.for&&(hi[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),hi.toJSON=Ts,hi.toString=Jn,hi.unix=Cs,hi.valueOf=ws,hi.creationData=bs,hi.eraName=xs,hi.eraNarrow=Ps,hi.eraAbbr=Ls,hi.eraYear=Ds,hi.year=Xe,hi.isLeapYear=qe,hi.weekYear=js,hi.isoWeekYear=zs,hi.quarter=hi.quarters=Js,hi.month=gt,hi.daysInMonth=ft,hi.week=hi.weeks=Ot,hi.isoWeek=hi.isoWeeks=At,hi.weeksInYear=Xs,hi.weeksInWeekYear=qs,hi.isoWeeksInYear=$s,hi.isoWeeksInISOWeekYear=Ks,hi.date=ei,hi.day=hi.days=jt,hi.weekday=zt,hi.isoWeekday=$t,hi.dayOfYear=ti,hi.hour=hi.hours=sr,hi.minute=hi.minutes=ri,hi.second=hi.seconds=ii,hi.millisecond=hi.milliseconds=si,hi.utcOffset=mn,hi.utc=En,hi.local=wn,hi.parseZone=Cn,hi.hasAlignedHourOffset=vn,hi.isDST=Rn,hi.isLocal=Tn,hi.isUtcOffset=Nn,hi.isUtc=Mn,hi.isUTC=Mn,hi.zoneAbbr=ai,hi.zoneName=li,hi.dates=M("dates accessor is deprecated. Use date instead.",ei),hi.months=M("months accessor is deprecated. Use month instead",gt),hi.years=M("years accessor is deprecated. Use year instead",Xe),hi.zone=M("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",yn),hi.isDSTShifted=M("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Sn);var pi=P.prototype;function gi(e,t,r,n){var s=Er(),i=f().set(n,t);return s[r](i,e)}function fi(e,t,r){if(c(e)&&(t=e,e=void 0),e=e||"",null!=t)return gi(e,t,r,"month");var n,s=[];for(n=0;n<12;n++)s[n]=gi(e,n,r,"month");return s}function mi(e,t,r,n){"boolean"==typeof e?(c(t)&&(r=t,t=void 0),t=t||""):(r=t=e,e=!1,c(t)&&(r=t,t=void 0),t=t||"");var s,i=Er(),o=e?i._week.dow:0,a=[];if(null!=r)return gi(t,(r+o)%7,n,"day");for(s=0;s<7;s++)a[s]=gi(t,(s+o)%7,n,"day");return a}function yi(e,t){return fi(e,t,"months")}function Ei(e,t){return fi(e,t,"monthsShort")}function wi(e,t,r){return mi(e,t,r,"weekdays")}function Ci(e,t,r){return mi(e,t,r,"weekdaysShort")}function vi(e,t,r){return mi(e,t,r,"weekdaysMin")}pi.calendar=D,pi.longDateFormat=$,pi.invalidDate=X,pi.ordinal=Z,pi.preparse=di,pi.postformat=di,pi.relativeTime=ee,pi.pastFuture=te,pi.set=I,pi.eras=Os,pi.erasParse=As,pi.erasConvertYear=Is,pi.erasAbbrRegex=Hs,pi.erasNameRegex=ks,pi.erasNarrowRegex=Fs,pi.months=ht,pi.monthsShort=ut,pi.monthsParse=dt,pi.monthsRegex=yt,pi.monthsShortRegex=mt,pi.week=Nt,pi.firstDayOfYear=bt,pi.firstDayOfWeek=_t,pi.weekdays=Vt,pi.weekdaysMin=Wt,pi.weekdaysShort=Bt,pi.weekdaysParse=Gt,pi.weekdaysRegex=Kt,pi.weekdaysShortRegex=Xt,pi.weekdaysMinRegex=qt,pi.isPM=rr,pi.meridiem=ir,fr("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===xe(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),s.lang=M("moment.lang is deprecated. Use moment.locale instead.",fr),s.langData=M("moment.langData is deprecated. Use moment.localeData instead.",Er);var Ri=Math.abs;function Si(){var e=this._data;return this._milliseconds=Ri(this._milliseconds),this._days=Ri(this._days),this._months=Ri(this._months),e.milliseconds=Ri(e.milliseconds),e.seconds=Ri(e.seconds),e.minutes=Ri(e.minutes),e.hours=Ri(e.hours),e.months=Ri(e.months),e.years=Ri(e.years),this}function Ti(e,t,r,n){var s=On(t,r);return e._milliseconds+=n*s._milliseconds,e._days+=n*s._days,e._months+=n*s._months,e._bubble()}function Ni(e,t){return Ti(this,e,t,1)}function Mi(e,t){return Ti(this,e,t,-1)}function _i(e){return e<0?Math.floor(e):Math.ceil(e)}function bi(){var e,t,r,n,s,i=this._milliseconds,o=this._days,a=this._months,l=this._data;return i>=0&&o>=0&&a>=0||i<=0&&o<=0&&a<=0||(i+=864e5*_i(Ai(a)+o),o=0,a=0),l.milliseconds=i%1e3,e=Ie(i/1e3),l.seconds=e%60,t=Ie(e/60),l.minutes=t%60,r=Ie(t/60),l.hours=r%24,o+=Ie(r/24),a+=s=Ie(Oi(o)),o-=_i(Ai(s)),n=Ie(a/12),a%=12,l.days=o,l.months=a,l.years=n,this}function Oi(e){return 4800*e/146097}function Ai(e){return 146097*e/4800}function Ii(e){if(!this.isValid())return NaN;var t,r,n=this._milliseconds;if("month"===(e=ne(e))||"quarter"===e||"year"===e)switch(t=this._days+n/864e5,r=this._months+Oi(t),e){case"month":return r;case"quarter":return r/3;case"year":return r/12}else switch(t=this._days+Math.round(Ai(this._months)),e){case"week":return t/7+n/6048e5;case"day":return t+n/864e5;case"hour":return 24*t+n/36e5;case"minute":return 1440*t+n/6e4;case"second":return 86400*t+n/1e3;case"millisecond":return Math.floor(864e5*t)+n;default:throw new Error("Unknown unit "+e)}}function xi(e){return function(){return this.as(e)}}var Pi=xi("ms"),Li=xi("s"),Di=xi("m"),ki=xi("h"),Hi=xi("d"),Fi=xi("w"),Ui=xi("M"),Vi=xi("Q"),Bi=xi("y"),Wi=Pi;function Yi(){return On(this)}function Gi(e){return e=ne(e),this.isValid()?this[e+"s"]():NaN}function ji(e){return function(){return this.isValid()?this._data[e]:NaN}}var zi=ji("milliseconds"),$i=ji("seconds"),Ki=ji("minutes"),Xi=ji("hours"),qi=ji("days"),Qi=ji("months"),Zi=ji("years");function Ji(){return Ie(this.days()/7)}var eo=Math.round,to={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function ro(e,t,r,n,s){return s.relativeTime(t||1,!!r,e,n)}function no(e,t,r,n){var s=On(e).abs(),i=eo(s.as("s")),o=eo(s.as("m")),a=eo(s.as("h")),l=eo(s.as("d")),h=eo(s.as("M")),u=eo(s.as("w")),c=eo(s.as("y")),d=i<=r.ss&&["s",i]||i<r.s&&["ss",i]||o<=1&&["m"]||o<r.m&&["mm",o]||a<=1&&["h"]||a<r.h&&["hh",a]||l<=1&&["d"]||l<r.d&&["dd",l];return null!=r.w&&(d=d||u<=1&&["w"]||u<r.w&&["ww",u]),(d=d||h<=1&&["M"]||h<r.M&&["MM",h]||c<=1&&["y"]||["yy",c])[2]=t,d[3]=+e>0,d[4]=n,ro.apply(null,d)}function so(e){return void 0===e?eo:"function"==typeof e&&(eo=e,!0)}function io(e,t){return void 0!==to[e]&&(void 0===t?to[e]:(to[e]=t,"s"===e&&(to.ss=t-1),!0))}function oo(e,t){if(!this.isValid())return this.localeData().invalidDate();var r,n,s=!1,i=to;return"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(s=e),"object"==typeof t&&(i=Object.assign({},to,t),null!=t.s&&null==t.ss&&(i.ss=t.s-1)),n=no(this,!s,i,r=this.localeData()),s&&(n=r.pastFuture(+this,n)),r.postformat(n)}var ao=Math.abs;function lo(e){return(e>0)-(e<0)||+e}function ho(){if(!this.isValid())return this.localeData().invalidDate();var e,t,r,n,s,i,o,a,l=ao(this._milliseconds)/1e3,h=ao(this._days),u=ao(this._months),c=this.asSeconds();return c?(e=Ie(l/60),t=Ie(e/60),l%=60,e%=60,r=Ie(u/12),u%=12,n=l?l.toFixed(3).replace(/\.?0+$/,""):"",s=c<0?"-":"",i=lo(this._months)!==lo(c)?"-":"",o=lo(this._days)!==lo(c)?"-":"",a=lo(this._milliseconds)!==lo(c)?"-":"",s+"P"+(r?i+r+"Y":"")+(u?i+u+"M":"")+(h?o+h+"D":"")+(t||e||l?"T":"")+(t?a+t+"H":"")+(e?a+e+"M":"")+(l?a+n+"S":"")):"P0D"}var uo=an.prototype;return uo.isValid=sn,uo.abs=Si,uo.add=Ni,uo.subtract=Mi,uo.as=Ii,uo.asMilliseconds=Pi,uo.asSeconds=Li,uo.asMinutes=Di,uo.asHours=ki,uo.asDays=Hi,uo.asWeeks=Fi,uo.asMonths=Ui,uo.asQuarters=Vi,uo.asYears=Bi,uo.valueOf=Wi,uo._bubble=bi,uo.clone=Yi,uo.get=Gi,uo.milliseconds=zi,uo.seconds=$i,uo.minutes=Ki,uo.hours=Xi,uo.days=qi,uo.weeks=Ji,uo.months=Qi,uo.years=Zi,uo.humanize=oo,uo.toISOString=ho,uo.toString=ho,uo.toJSON=ho,uo.locale=as,uo.localeData=hs,uo.toIsoString=M("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",ho),uo.lang=ls,B("X",0,0,"unix"),B("x",0,0,"valueOf"),_e("x",Ce),_e("X",Se),Le("X",(function(e,t,r){r._d=new Date(1e3*parseFloat(e))})),Le("x",(function(e,t,r){r._d=new Date(xe(e))})),
//! moment.js
s.version="2.30.1",i(Xr),s.fn=hi,s.min=Jr,s.max=en,s.now=tn,s.utc=f,s.unix=ui,s.months=yi,s.isDate=d,s.locale=fr,s.invalid=w,s.duration=On,s.isMoment=T,s.weekdays=wi,s.parseZone=ci,s.localeData=Er,s.isDuration=ln,s.monthsShort=Ei,s.weekdaysMin=vi,s.defineLocale=mr,s.updateLocale=yr,s.locales=wr,s.weekdaysShort=Ci,s.normalizeUnits=ne,s.relativeTimeRounding=so,s.relativeTimeThreshold=io,s.calendarFormat=Wn,s.prototype=hi,s.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},s}(),window.moment=r(6671)},80586:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>K});var n,s,i,o,a,l,h="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}
/*!
 * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */function c(){return s?n:(s=1,n={languageTag:"en-US",delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},spaceSeparated:!1,ordinal:function(e){let t=e%10;return 1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th"},bytes:{binarySuffixes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],decimalSuffixes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]},currency:{symbol:"$",position:"prefix",code:"USD"},currencyFormat:{thousandSeparated:!0,totalLength:4,spaceSeparated:!0,spaceSeparatedCurrency:!0},formats:{fourDigits:{totalLength:4,spaceSeparated:!0},fullWithTwoDecimals:{output:"currency",thousandSeparated:!0,mantissa:2},fullWithTwoDecimalsNoCurrency:{thousandSeparated:!0,mantissa:2},fullWithNoDecimals:{output:"currency",thousandSeparated:!0,mantissa:0}}})}
/*!
 * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */function d(){if(o)return i;o=1;const e=[{key:"ZiB",factor:Math.pow(1024,7)},{key:"ZB",factor:Math.pow(1e3,7)},{key:"YiB",factor:Math.pow(1024,8)},{key:"YB",factor:Math.pow(1e3,8)},{key:"TiB",factor:Math.pow(1024,4)},{key:"TB",factor:Math.pow(1e3,4)},{key:"PiB",factor:Math.pow(1024,5)},{key:"PB",factor:Math.pow(1e3,5)},{key:"MiB",factor:Math.pow(1024,2)},{key:"MB",factor:Math.pow(1e3,2)},{key:"KiB",factor:Math.pow(1024,1)},{key:"KB",factor:Math.pow(1e3,1)},{key:"GiB",factor:Math.pow(1024,3)},{key:"GB",factor:Math.pow(1e3,3)},{key:"EiB",factor:Math.pow(1024,6)},{key:"EB",factor:Math.pow(1e3,6)},{key:"B",factor:1}];function t(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}function r(n,s,i,o,a,l,h){if(!isNaN(+n))return+n;let u="",c=n.replace(/(^[^(]*)\((.*)\)([^)]*$)/,"$1$2$3");if(c!==n)return-1*r(c,s,i,o,a,l);for(let t=0;t<e.length;t++){let h=e[t];if(u=n.replace(RegExp(`([0-9 ])(${h.key})$`),"$1"),u!==n)return r(u,s,i,o,a,l)*h.factor}if(u=n.replace("%",""),u!==n)return r(u,s,i,o,a,l)/100;let d=parseFloat(n);if(isNaN(d))return;let p=o(d);if(p&&"."!==p&&(u=n.replace(new RegExp(`${t(p)}$`),""),u!==n))return r(u,s,i,o,a,l);let g={};Object.keys(l).forEach((e=>{g[l[e]]=e}));let f=Object.keys(g).sort().reverse(),m=f.length;for(let e=0;e<m;e++){let t=f[e],h=g[t];if(u=n.replace(t,""),u!==n){let e;switch(h){case"thousand":e=Math.pow(10,3);break;case"million":e=Math.pow(10,6);break;case"billion":e=Math.pow(10,9);break;case"trillion":e=Math.pow(10,12)}return r(u,s,i,o,a,l)*e}}}function n(e,n,s="",i,o,a,l){if(""===e)return;if(e===o)return 0;let h=function(e,r,n){let s=e.replace(n,"");return s=s.replace(new RegExp(`([0-9])${t(r.thousands)}([0-9])`,"g"),"$1$2"),s=s.replace(r.decimal,"."),s}(e,n,s);return r(h,n,s,i,o,a)}return i={unformat:function(e,t){const r=y();let s,i=r.currentDelimiters(),o=r.currentCurrency().symbol,a=r.currentOrdinal(),l=r.getZeroFormat(),h=r.currentAbbreviations();if("string"==typeof e)s=function(e,t){if(!e.indexOf(":")||":"===t.thousands)return!1;let r=e.split(":");if(3!==r.length)return!1;let n=+r[0],s=+r[1],i=+r[2];return!isNaN(n)&&!isNaN(s)&&!isNaN(i)}(e,i)?function(e){let t=e.split(":"),r=+t[0],n=+t[1];return+t[2]+60*n+3600*r}(e):n(e,i,o,a,l,h);else{if("number"!=typeof e)return;s=e}if(void 0!==s)return s}},i}
/*!
 * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */function p(){if(l)return a;l=1;let e=d();const t=/^[a-z]{2,3}(-[a-zA-Z]{4})?(-([A-Z]{2}|[0-9]{3}))?$/,r={output:{type:"string",validValues:["currency","percent","byte","time","ordinal","number"]},base:{type:"string",validValues:["decimal","binary","general"],restriction:(e,t)=>"byte"===t.output,message:"`base` must be provided only when the output is `byte`",mandatory:e=>"byte"===e.output},characteristic:{type:"number",restriction:e=>e>=0,message:"value must be positive"},prefix:"string",postfix:"string",forceAverage:{type:"string",validValues:["trillion","billion","million","thousand"]},average:"boolean",lowPrecision:{type:"boolean",restriction:(e,t)=>!0===t.average,message:"`lowPrecision` must be provided only when the option `average` is set"},currencyPosition:{type:"string",validValues:["prefix","infix","postfix"]},currencySymbol:"string",totalLength:{type:"number",restrictions:[{restriction:e=>e>=0,message:"value must be positive"},{restriction:(e,t)=>!t.exponential,message:"`totalLength` is incompatible with `exponential`"}]},mantissa:{type:"number",restriction:e=>e>=0,message:"value must be positive"},optionalMantissa:"boolean",trimMantissa:"boolean",roundingFunction:"function",optionalCharacteristic:"boolean",thousandSeparated:"boolean",spaceSeparated:"boolean",spaceSeparatedCurrency:"boolean",spaceSeparatedAbbreviation:"boolean",abbreviations:{type:"object",children:{thousand:"string",million:"string",billion:"string",trillion:"string"}},negative:{type:"string",validValues:["sign","parenthesis"]},forceSign:"boolean",exponential:{type:"boolean"},prefixSymbol:{type:"boolean",restriction:(e,t)=>"percent"===t.output,message:"`prefixSymbol` can be provided only when the output is `percent`"}},n={languageTag:{type:"string",mandatory:!0,restriction:e=>e.match(t),message:"the language tag must follow the BCP 47 specification (see https://tools.ieft.org/html/bcp47)"},delimiters:{type:"object",children:{thousands:"string",decimal:"string",thousandsSize:"number"},mandatory:!0},abbreviations:{type:"object",children:{thousand:{type:"string",mandatory:!0},million:{type:"string",mandatory:!0},billion:{type:"string",mandatory:!0},trillion:{type:"string",mandatory:!0}},mandatory:!0},spaceSeparated:"boolean",spaceSeparatedCurrency:"boolean",ordinal:{type:"function",mandatory:!0},bytes:{type:"object",children:{binarySuffixes:"object",decimalSuffixes:"object"}},currency:{type:"object",children:{symbol:"string",position:"string",code:"string"},mandatory:!0},defaults:"format",ordinalFormat:"format",byteFormat:"format",percentageFormat:"format",currencyFormat:"format",timeDefaults:"format",formats:{type:"object",children:{fourDigits:{type:"format",mandatory:!0},fullWithTwoDecimals:{type:"format",mandatory:!0},fullWithTwoDecimalsNoCurrency:{type:"format",mandatory:!0},fullWithNoDecimals:{type:"format",mandatory:!0}}}};function s(t){return void 0!==e.unformat(t)}function i(e,t,n,s=!1){let o=Object.keys(e).map((s=>{if(!t[s])return console.error(`${n} Invalid key: ${s}`),!1;let o=e[s],a=t[s];if("string"==typeof a&&(a={type:a}),"format"===a.type){if(!i(o,r,`[Validate ${s}]`,!0))return!1}else if(typeof o!==a.type)return console.error(`${n} ${s} type mismatched: "${a.type}" expected, "${typeof o}" provided`),!1;if(a.restrictions&&a.restrictions.length){let t=a.restrictions.length;for(let r=0;r<t;r++){let{restriction:t,message:i}=a.restrictions[r];if(!t(o,e))return console.error(`${n} ${s} invalid value: ${i}`),!1}}if(a.restriction&&!a.restriction(o,e))return console.error(`${n} ${s} invalid value: ${a.message}`),!1;if(a.validValues&&-1===a.validValues.indexOf(o))return console.error(`${n} ${s} invalid value: must be among ${JSON.stringify(a.validValues)}, "${o}" provided`),!1;if(a.children){if(!i(o,a.children,`[Validate ${s}]`))return!1}return!0}));return s||o.push(...Object.keys(t).map((r=>{let s=t[r];if("string"==typeof s&&(s={type:s}),s.mandatory){let t=s.mandatory;if("function"==typeof t&&(t=t(e)),t&&void 0===e[r])return console.error(`${n} Missing mandatory key "${r}"`),!1}return!0}))),o.reduce(((e,t)=>e&&t),!0)}function o(e){return i(e,r,"[Validate format]")}return a={validate:function(e,t){let r=s(e),n=o(t);return r&&n},validateFormat:o,validateInput:s,validateLanguage:function(e){return i(e,n,"[Validate language]")}},a}
/*!
 * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */var g,f,m={parseFormat:function(e,t={}){return"string"!=typeof e?e:(function(e,t){if(-1===e.indexOf("$")){if(-1===e.indexOf("%"))return-1!==e.indexOf("bd")?(t.output="byte",void(t.base="general")):-1!==e.indexOf("b")?(t.output="byte",void(t.base="binary")):-1!==e.indexOf("d")?(t.output="byte",void(t.base="decimal")):void(-1===e.indexOf(":")?-1!==e.indexOf("o")&&(t.output="ordinal"):t.output="time");t.output="percent"}else t.output="currency"}(e=function(e,t){let r=e.match(/{([^}]*)}$/);return r?(t.postfix=r[1],e.slice(0,-r[0].length)):e}(e=function(e,t){let r=e.match(/^{([^}]*)}/);return r?(t.prefix=r[1],e.slice(r[0].length)):e}(e,t),t),t),function(e,t){let r=e.match(/[1-9]+[0-9]*/);r&&(t.totalLength=+r[0])}(e,t),function(e,t){let r=e.split(".")[0].match(/0+/);r&&(t.characteristic=r[0].length)}(e,t),function(e,t){if(-1!==e.indexOf(".")){let r=e.split(".")[0];t.optionalCharacteristic=-1===r.indexOf("0")}}(e,t),function(e,t){-1!==e.indexOf("a")&&(t.average=!0)}(e,t),function(e,t){-1!==e.indexOf("K")?t.forceAverage="thousand":-1!==e.indexOf("M")?t.forceAverage="million":-1!==e.indexOf("B")?t.forceAverage="billion":-1!==e.indexOf("T")&&(t.forceAverage="trillion")}(e,t),function(e,t){let r=e.split(".")[1];if(r){let e=r.match(/0+/);e&&(t.mantissa=e[0].length)}}(e,t),function(e,t){e.match(/\[\.]/)?t.optionalMantissa=!0:e.match(/\./)&&(t.optionalMantissa=!1)}(e,t),function(e,t){const r=e.split(".")[1];r&&(t.trimMantissa=-1!==r.indexOf("["))}(e,t),function(e,t){-1!==e.indexOf(",")&&(t.thousandSeparated=!0)}(e,t),function(e,t){-1!==e.indexOf(" ")&&(t.spaceSeparated=!0,t.spaceSeparatedCurrency=!0,(t.average||t.forceAverage)&&(t.spaceSeparatedAbbreviation=!0))}(e,t),function(e,t){e.match(/^\+?\([^)]*\)$/)&&(t.negative="parenthesis"),e.match(/^\+?-/)&&(t.negative="sign")}(e,t),function(e,t){e.match(/^\+/)&&(t.forceSign=!0)}(e,t),t)}};
/*!
 * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */function y(){if(f)return g;f=1;const e=c(),t=p(),r=m;let n,s={},i={},o=null,a={};function l(e){n=e}function h(){return i[n]}return s.languages=()=>Object.assign({},i),s.currentLanguage=()=>n,s.currentBytes=()=>h().bytes||{},s.currentCurrency=()=>h().currency,s.currentAbbreviations=()=>h().abbreviations,s.currentDelimiters=()=>h().delimiters,s.currentOrdinal=()=>h().ordinal,s.currentDefaults=()=>Object.assign({},h().defaults,a),s.currentOrdinalDefaultFormat=()=>Object.assign({},s.currentDefaults(),h().ordinalFormat),s.currentByteDefaultFormat=()=>Object.assign({},s.currentDefaults(),h().byteFormat),s.currentPercentageDefaultFormat=()=>Object.assign({},s.currentDefaults(),h().percentageFormat),s.currentCurrencyDefaultFormat=()=>Object.assign({},s.currentDefaults(),h().currencyFormat),s.currentTimeDefaultFormat=()=>Object.assign({},s.currentDefaults(),h().timeFormat),s.setDefaults=e=>{e=r.parseFormat(e),t.validateFormat(e)&&(a=e)},s.getZeroFormat=()=>o,s.setZeroFormat=e=>o="string"==typeof e?e:null,s.hasZeroFormat=()=>null!==o,s.languageData=e=>{if(e){if(i[e])return i[e];throw new Error(`Unknown tag "${e}"`)}return h()},s.registerLanguage=(e,r=!1)=>{if(!t.validateLanguage(e))throw new Error("Invalid language data");i[e.languageTag]=e,r&&l(e.languageTag)},s.setLanguage=(t,r=e.languageTag)=>{if(!i[t]){let e=t.split("-")[0],n=Object.keys(i).find((t=>t.split("-")[0]===e));return i[n]?void l(n):void l(r)}l(t)},s.registerLanguage(e),n=e.languageTag,g=s}
/*!
 * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */
function E(e,t){e.forEach((e=>{let r;try{r=function(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}(`../languages/${e}`)}catch(t){console.error(`Unable to load "${e}". No matching language file found.`)}r&&t.registerLanguage(r)}))}var w={exports:{}};!function(e){!function(t){var r,n=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,s=Math.ceil,i=Math.floor,o="[BigNumber Error] ",a=o+"Number primitive has more than 15 significant digits: ",l=1e14,h=14,u=9007199254740991,c=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],d=1e7,p=1e9;function g(e){var t=0|e;return e>0||e===t?t:t-1}function f(e){for(var t,r,n=1,s=e.length,i=e[0]+"";n<s;){for(t=e[n++]+"",r=h-t.length;r--;t="0"+t);i+=t}for(s=i.length;48===i.charCodeAt(--s););return i.slice(0,s+1||1)}function m(e,t){var r,n,s=e.c,i=t.c,o=e.s,a=t.s,l=e.e,h=t.e;if(!o||!a)return null;if(r=s&&!s[0],n=i&&!i[0],r||n)return r?n?0:-a:o;if(o!=a)return o;if(r=o<0,n=l==h,!s||!i)return n?0:!s^r?1:-1;if(!n)return l>h^r?1:-1;for(a=(l=s.length)<(h=i.length)?l:h,o=0;o<a;o++)if(s[o]!=i[o])return s[o]>i[o]^r?1:-1;return l==h?0:l>h^r?1:-1}function y(e,t,r,n){if(e<t||e>r||e!==i(e))throw Error(o+(n||"Argument")+("number"==typeof e?e<t||e>r?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function E(e){var t=e.c.length-1;return g(e.e/h)==t&&e.c[t]%2!=0}function w(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function C(e,t,r){var n,s;if(t<0){for(s=r+".";++t;s+=r);e=s+e}else if(++t>(n=e.length)){for(s=r,t-=n;--t;s+=r);e+=s}else t<n&&(e=e.slice(0,t)+"."+e.slice(t));return e}r=function e(t){var r,v,R,S,T,N,M,_,b,O,A=G.prototype={constructor:G,toString:null,valueOf:null},I=new G(1),x=20,P=4,L=-7,D=21,k=-1e7,H=1e7,F=!1,U=1,V=0,B={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},W="0123456789abcdefghijklmnopqrstuvwxyz",Y=!0;function G(e,t){var r,s,o,l,c,d,p,g,f=this;if(!(f instanceof G))return new G(e,t);if(null==t){if(e&&!0===e._isBigNumber)return f.s=e.s,void(!e.c||e.e>H?f.c=f.e=null:e.e<k?f.c=[f.e=0]:(f.e=e.e,f.c=e.c.slice()));if((d="number"==typeof e)&&0*e==0){if(f.s=1/e<0?(e=-e,-1):1,e===~~e){for(l=0,c=e;c>=10;c/=10,l++);return void(l>H?f.c=f.e=null:(f.e=l,f.c=[e]))}g=String(e)}else{if(!n.test(g=String(e)))return R(f,g,d);f.s=45==g.charCodeAt(0)?(g=g.slice(1),-1):1}(l=g.indexOf("."))>-1&&(g=g.replace(".","")),(c=g.search(/e/i))>0?(l<0&&(l=c),l+=+g.slice(c+1),g=g.substring(0,c)):l<0&&(l=g.length)}else{if(y(t,2,W.length,"Base"),10==t&&Y)return K(f=new G(e),x+f.e+1,P);if(g=String(e),d="number"==typeof e){if(0*e!=0)return R(f,g,d,t);if(f.s=1/e<0?(g=g.slice(1),-1):1,G.DEBUG&&g.replace(/^0\.0*|\./,"").length>15)throw Error(a+e)}else f.s=45===g.charCodeAt(0)?(g=g.slice(1),-1):1;for(r=W.slice(0,t),l=c=0,p=g.length;c<p;c++)if(r.indexOf(s=g.charAt(c))<0){if("."==s){if(c>l){l=p;continue}}else if(!o&&(g==g.toUpperCase()&&(g=g.toLowerCase())||g==g.toLowerCase()&&(g=g.toUpperCase()))){o=!0,c=-1,l=0;continue}return R(f,String(e),d,t)}d=!1,(l=(g=v(g,t,10,f.s)).indexOf("."))>-1?g=g.replace(".",""):l=g.length}for(c=0;48===g.charCodeAt(c);c++);for(p=g.length;48===g.charCodeAt(--p););if(g=g.slice(c,++p)){if(p-=c,d&&G.DEBUG&&p>15&&(e>u||e!==i(e)))throw Error(a+f.s*e);if((l=l-c-1)>H)f.c=f.e=null;else if(l<k)f.c=[f.e=0];else{if(f.e=l,f.c=[],c=(l+1)%h,l<0&&(c+=h),c<p){for(c&&f.c.push(+g.slice(0,c)),p-=h;c<p;)f.c.push(+g.slice(c,c+=h));c=h-(g=g.slice(c)).length}else c-=p;for(;c--;g+="0");f.c.push(+g)}}else f.c=[f.e=0]}function j(e,t,r,n){var s,i,o,a,l;if(null==r?r=P:y(r,0,8),!e.c)return e.toString();if(s=e.c[0],o=e.e,null==t)l=f(e.c),l=1==n||2==n&&(o<=L||o>=D)?w(l,o):C(l,o,"0");else if(i=(e=K(new G(e),t,r)).e,a=(l=f(e.c)).length,1==n||2==n&&(t<=i||i<=L)){for(;a<t;l+="0",a++);l=w(l,i)}else if(t-=o,l=C(l,i,"0"),i+1>a){if(--t>0)for(l+=".";t--;l+="0");}else if((t+=i-a)>0)for(i+1==a&&(l+=".");t--;l+="0");return e.s<0&&s?"-"+l:l}function z(e,t){for(var r,n,s=1,i=new G(e[0]);s<e.length;s++)(!(n=new G(e[s])).s||(r=m(i,n))===t||0===r&&i.s===t)&&(i=n);return i}function $(e,t,r){for(var n=1,s=t.length;!t[--s];t.pop());for(s=t[0];s>=10;s/=10,n++);return(r=n+r*h-1)>H?e.c=e.e=null:r<k?e.c=[e.e=0]:(e.e=r,e.c=t),e}function K(e,t,r,n){var o,a,u,d,p,g,f,m=e.c,y=c;if(m){e:{for(o=1,d=m[0];d>=10;d/=10,o++);if((a=t-o)<0)a+=h,u=t,p=m[g=0],f=i(p/y[o-u-1]%10);else if((g=s((a+1)/h))>=m.length){if(!n)break e;for(;m.length<=g;m.push(0));p=f=0,o=1,u=(a%=h)-h+1}else{for(p=d=m[g],o=1;d>=10;d/=10,o++);f=(u=(a%=h)-h+o)<0?0:i(p/y[o-u-1]%10)}if(n=n||t<0||null!=m[g+1]||(u<0?p:p%y[o-u-1]),n=r<4?(f||n)&&(0==r||r==(e.s<0?3:2)):f>5||5==f&&(4==r||n||6==r&&(a>0?u>0?p/y[o-u]:0:m[g-1])%10&1||r==(e.s<0?8:7)),t<1||!m[0])return m.length=0,n?(t-=e.e+1,m[0]=y[(h-t%h)%h],e.e=-t||0):m[0]=e.e=0,e;if(0==a?(m.length=g,d=1,g--):(m.length=g+1,d=y[h-a],m[g]=u>0?i(p/y[o-u]%y[u])*d:0),n)for(;;){if(0==g){for(a=1,u=m[0];u>=10;u/=10,a++);for(u=m[0]+=d,d=1;u>=10;u/=10,d++);a!=d&&(e.e++,m[0]==l&&(m[0]=1));break}if(m[g]+=d,m[g]!=l)break;m[g--]=0,d=1}for(a=m.length;0===m[--a];m.pop());}e.e>H?e.c=e.e=null:e.e<k&&(e.c=[e.e=0])}return e}function X(e){var t,r=e.e;return null===r?e.toString():(t=f(e.c),t=r<=L||r>=D?w(t,r):C(t,r,"0"),e.s<0?"-"+t:t)}return G.clone=e,G.ROUND_UP=0,G.ROUND_DOWN=1,G.ROUND_CEIL=2,G.ROUND_FLOOR=3,G.ROUND_HALF_UP=4,G.ROUND_HALF_DOWN=5,G.ROUND_HALF_EVEN=6,G.ROUND_HALF_CEIL=7,G.ROUND_HALF_FLOOR=8,G.EUCLID=9,G.config=G.set=function(e){var t,r;if(null!=e){if("object"!=typeof e)throw Error(o+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(y(r=e[t],0,p,t),x=r),e.hasOwnProperty(t="ROUNDING_MODE")&&(y(r=e[t],0,8,t),P=r),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((r=e[t])&&r.pop?(y(r[0],-p,0,t),y(r[1],0,p,t),L=r[0],D=r[1]):(y(r,-p,p,t),L=-(D=r<0?-r:r))),e.hasOwnProperty(t="RANGE"))if((r=e[t])&&r.pop)y(r[0],-p,-1,t),y(r[1],1,p,t),k=r[0],H=r[1];else{if(y(r,-p,p,t),!r)throw Error(o+t+" cannot be zero: "+r);k=-(H=r<0?-r:r)}if(e.hasOwnProperty(t="CRYPTO")){if((r=e[t])!==!!r)throw Error(o+t+" not true or false: "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw F=!r,Error(o+"crypto unavailable");F=r}else F=r}if(e.hasOwnProperty(t="MODULO_MODE")&&(y(r=e[t],0,9,t),U=r),e.hasOwnProperty(t="POW_PRECISION")&&(y(r=e[t],0,p,t),V=r),e.hasOwnProperty(t="FORMAT")){if("object"!=typeof(r=e[t]))throw Error(o+t+" not an object: "+r);B=r}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(r=e[t])||/^.?$|[+\-.\s]|(.).*\1/.test(r))throw Error(o+t+" invalid: "+r);Y="0123456789"==r.slice(0,10),W=r}}return{DECIMAL_PLACES:x,ROUNDING_MODE:P,EXPONENTIAL_AT:[L,D],RANGE:[k,H],CRYPTO:F,MODULO_MODE:U,POW_PRECISION:V,FORMAT:B,ALPHABET:W}},G.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!G.DEBUG)return!0;var t,r,n=e.c,s=e.e,a=e.s;e:if("[object Array]"=={}.toString.call(n)){if((1===a||-1===a)&&s>=-p&&s<=p&&s===i(s)){if(0===n[0]){if(0===s&&1===n.length)return!0;break e}if((t=(s+1)%h)<1&&(t+=h),String(n[0]).length==t){for(t=0;t<n.length;t++)if((r=n[t])<0||r>=l||r!==i(r))break e;if(0!==r)return!0}}}else if(null===n&&null===s&&(null===a||1===a||-1===a))return!0;throw Error(o+"Invalid BigNumber: "+e)},G.maximum=G.max=function(){return z(arguments,-1)},G.minimum=G.min=function(){return z(arguments,1)},G.random=(S=9007199254740992,T=Math.random()*S&2097151?function(){return i(Math.random()*S)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,r,n,a,l,u=0,d=[],g=new G(I);if(null==e?e=x:y(e,0,p),a=s(e/h),F)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(a*=2));u<a;)(l=131072*t[u]+(t[u+1]>>>11))>=9e15?(r=crypto.getRandomValues(new Uint32Array(2)),t[u]=r[0],t[u+1]=r[1]):(d.push(l%1e14),u+=2);u=a/2}else{if(!crypto.randomBytes)throw F=!1,Error(o+"crypto unavailable");for(t=crypto.randomBytes(a*=7);u<a;)(l=281474976710656*(31&t[u])+1099511627776*t[u+1]+4294967296*t[u+2]+16777216*t[u+3]+(t[u+4]<<16)+(t[u+5]<<8)+t[u+6])>=9e15?crypto.randomBytes(7).copy(t,u):(d.push(l%1e14),u+=7);u=a/7}if(!F)for(;u<a;)(l=T())<9e15&&(d[u++]=l%1e14);for(a=d[--u],e%=h,a&&e&&(l=c[h-e],d[u]=i(a/l)*l);0===d[u];d.pop(),u--);if(u<0)d=[n=0];else{for(n=-1;0===d[0];d.splice(0,1),n-=h);for(u=1,l=d[0];l>=10;l/=10,u++);u<h&&(n-=h-u)}return g.e=n,g.c=d,g}),G.sum=function(){for(var e=1,t=arguments,r=new G(t[0]);e<t.length;)r=r.plus(t[e++]);return r},v=function(){var e="0123456789";function t(e,t,r,n){for(var s,i,o=[0],a=0,l=e.length;a<l;){for(i=o.length;i--;o[i]*=t);for(o[0]+=n.indexOf(e.charAt(a++)),s=0;s<o.length;s++)o[s]>r-1&&(null==o[s+1]&&(o[s+1]=0),o[s+1]+=o[s]/r|0,o[s]%=r)}return o.reverse()}return function(n,s,i,o,a){var l,h,u,c,d,p,g,m,y=n.indexOf("."),E=x,w=P;for(y>=0&&(c=V,V=0,n=n.replace(".",""),p=(m=new G(s)).pow(n.length-y),V=c,m.c=t(C(f(p.c),p.e,"0"),10,i,e),m.e=m.c.length),u=c=(g=t(n,s,i,a?(l=W,e):(l=e,W))).length;0==g[--c];g.pop());if(!g[0])return l.charAt(0);if(y<0?--u:(p.c=g,p.e=u,p.s=o,g=(p=r(p,m,E,w,i)).c,d=p.r,u=p.e),y=g[h=u+E+1],c=i/2,d=d||h<0||null!=g[h+1],d=w<4?(null!=y||d)&&(0==w||w==(p.s<0?3:2)):y>c||y==c&&(4==w||d||6==w&&1&g[h-1]||w==(p.s<0?8:7)),h<1||!g[0])n=d?C(l.charAt(1),-E,l.charAt(0)):l.charAt(0);else{if(g.length=h,d)for(--i;++g[--h]>i;)g[h]=0,h||(++u,g=[1].concat(g));for(c=g.length;!g[--c];);for(y=0,n="";y<=c;n+=l.charAt(g[y++]));n=C(n,u,l.charAt(0))}return n}}(),r=function(){function e(e,t,r){var n,s,i,o,a=0,l=e.length,h=t%d,u=t/d|0;for(e=e.slice();l--;)a=((s=h*(i=e[l]%d)+(n=u*i+(o=e[l]/d|0)*h)%d*d+a)/r|0)+(n/d|0)+u*o,e[l]=s%r;return a&&(e=[a].concat(e)),e}function t(e,t,r,n){var s,i;if(r!=n)i=r>n?1:-1;else for(s=i=0;s<r;s++)if(e[s]!=t[s]){i=e[s]>t[s]?1:-1;break}return i}function r(e,t,r,n){for(var s=0;r--;)e[r]-=s,s=e[r]<t[r]?1:0,e[r]=s*n+e[r]-t[r];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(n,s,o,a,u){var c,d,p,f,m,y,E,w,C,v,R,S,T,N,M,_,b,O=n.s==s.s?1:-1,A=n.c,I=s.c;if(!(A&&A[0]&&I&&I[0]))return new G(n.s&&s.s&&(A?!I||A[0]!=I[0]:I)?A&&0==A[0]||!I?0*O:O/0:NaN);for(C=(w=new G(O)).c=[],O=o+(d=n.e-s.e)+1,u||(u=l,d=g(n.e/h)-g(s.e/h),O=O/h|0),p=0;I[p]==(A[p]||0);p++);if(I[p]>(A[p]||0)&&d--,O<0)C.push(1),f=!0;else{for(N=A.length,_=I.length,p=0,O+=2,(m=i(u/(I[0]+1)))>1&&(I=e(I,m,u),A=e(A,m,u),_=I.length,N=A.length),T=_,R=(v=A.slice(0,_)).length;R<_;v[R++]=0);b=I.slice(),b=[0].concat(b),M=I[0],I[1]>=u/2&&M++;do{if(m=0,(c=t(I,v,_,R))<0){if(S=v[0],_!=R&&(S=S*u+(v[1]||0)),(m=i(S/M))>1)for(m>=u&&(m=u-1),E=(y=e(I,m,u)).length,R=v.length;1==t(y,v,E,R);)m--,r(y,_<E?b:I,E,u),E=y.length,c=1;else 0==m&&(c=m=1),E=(y=I.slice()).length;if(E<R&&(y=[0].concat(y)),r(v,y,R,u),R=v.length,-1==c)for(;t(I,v,_,R)<1;)m++,r(v,_<R?b:I,R,u),R=v.length}else 0===c&&(m++,v=[0]);C[p++]=m,v[0]?v[R++]=A[T]||0:(v=[A[T]],R=1)}while((T++<N||null!=v[0])&&O--);f=null!=v[0],C[0]||C.splice(0,1)}if(u==l){for(p=1,O=C[0];O>=10;O/=10,p++);K(w,o+(w.e=p+d*h-1)+1,a,f)}else w.e=d,w.r=+f;return w}}(),N=/^(-?)0([xbo])(?=\w[\w.]*$)/i,M=/^([^.]+)\.$/,_=/^\.([^.]+)$/,b=/^-?(Infinity|NaN)$/,O=/^\s*\+(?=[\w.])|^\s+|\s+$/g,R=function(e,t,r,n){var s,i=r?t:t.replace(O,"");if(b.test(i))e.s=isNaN(i)?null:i<0?-1:1;else{if(!r&&(i=i.replace(N,(function(e,t,r){return s="x"==(r=r.toLowerCase())?16:"b"==r?2:8,n&&n!=s?e:t})),n&&(s=n,i=i.replace(M,"$1").replace(_,"0.$1")),t!=i))return new G(i,s);if(G.DEBUG)throw Error(o+"Not a"+(n?" base "+n:"")+" number: "+t);e.s=null}e.c=e.e=null},A.absoluteValue=A.abs=function(){var e=new G(this);return e.s<0&&(e.s=1),e},A.comparedTo=function(e,t){return m(this,new G(e,t))},A.decimalPlaces=A.dp=function(e,t){var r,n,s,i=this;if(null!=e)return y(e,0,p),null==t?t=P:y(t,0,8),K(new G(i),e+i.e+1,t);if(!(r=i.c))return null;if(n=((s=r.length-1)-g(this.e/h))*h,s=r[s])for(;s%10==0;s/=10,n--);return n<0&&(n=0),n},A.dividedBy=A.div=function(e,t){return r(this,new G(e,t),x,P)},A.dividedToIntegerBy=A.idiv=function(e,t){return r(this,new G(e,t),0,1)},A.exponentiatedBy=A.pow=function(e,t){var r,n,a,l,u,c,d,p,g=this;if((e=new G(e)).c&&!e.isInteger())throw Error(o+"Exponent not an integer: "+X(e));if(null!=t&&(t=new G(t)),u=e.e>14,!g.c||!g.c[0]||1==g.c[0]&&!g.e&&1==g.c.length||!e.c||!e.c[0])return p=new G(Math.pow(+X(g),u?e.s*(2-E(e)):+X(e))),t?p.mod(t):p;if(c=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new G(NaN);(n=!c&&g.isInteger()&&t.isInteger())&&(g=g.mod(t))}else{if(e.e>9&&(g.e>0||g.e<-1||(0==g.e?g.c[0]>1||u&&g.c[1]>=24e7:g.c[0]<8e13||u&&g.c[0]<=9999975e7)))return l=g.s<0&&E(e)?-0:0,g.e>-1&&(l=1/l),new G(c?1/l:l);V&&(l=s(V/h+2))}for(u?(r=new G(.5),c&&(e.s=1),d=E(e)):d=(a=Math.abs(+X(e)))%2,p=new G(I);;){if(d){if(!(p=p.times(g)).c)break;l?p.c.length>l&&(p.c.length=l):n&&(p=p.mod(t))}if(a){if(0===(a=i(a/2)))break;d=a%2}else if(K(e=e.times(r),e.e+1,1),e.e>14)d=E(e);else{if(0===(a=+X(e)))break;d=a%2}g=g.times(g),l?g.c&&g.c.length>l&&(g.c.length=l):n&&(g=g.mod(t))}return n?p:(c&&(p=I.div(p)),t?p.mod(t):l?K(p,V,P,undefined):p)},A.integerValue=function(e){var t=new G(this);return null==e?e=P:y(e,0,8),K(t,t.e+1,e)},A.isEqualTo=A.eq=function(e,t){return 0===m(this,new G(e,t))},A.isFinite=function(){return!!this.c},A.isGreaterThan=A.gt=function(e,t){return m(this,new G(e,t))>0},A.isGreaterThanOrEqualTo=A.gte=function(e,t){return 1===(t=m(this,new G(e,t)))||0===t},A.isInteger=function(){return!!this.c&&g(this.e/h)>this.c.length-2},A.isLessThan=A.lt=function(e,t){return m(this,new G(e,t))<0},A.isLessThanOrEqualTo=A.lte=function(e,t){return-1===(t=m(this,new G(e,t)))||0===t},A.isNaN=function(){return!this.s},A.isNegative=function(){return this.s<0},A.isPositive=function(){return this.s>0},A.isZero=function(){return!!this.c&&0==this.c[0]},A.minus=function(e,t){var r,n,s,i,o=this,a=o.s;if(t=(e=new G(e,t)).s,!a||!t)return new G(NaN);if(a!=t)return e.s=-t,o.plus(e);var u=o.e/h,c=e.e/h,d=o.c,p=e.c;if(!u||!c){if(!d||!p)return d?(e.s=-t,e):new G(p?o:NaN);if(!d[0]||!p[0])return p[0]?(e.s=-t,e):new G(d[0]?o:3==P?-0:0)}if(u=g(u),c=g(c),d=d.slice(),a=u-c){for((i=a<0)?(a=-a,s=d):(c=u,s=p),s.reverse(),t=a;t--;s.push(0));s.reverse()}else for(n=(i=(a=d.length)<(t=p.length))?a:t,a=t=0;t<n;t++)if(d[t]!=p[t]){i=d[t]<p[t];break}if(i&&(s=d,d=p,p=s,e.s=-e.s),(t=(n=p.length)-(r=d.length))>0)for(;t--;d[r++]=0);for(t=l-1;n>a;){if(d[--n]<p[n]){for(r=n;r&&!d[--r];d[r]=t);--d[r],d[n]+=l}d[n]-=p[n]}for(;0==d[0];d.splice(0,1),--c);return d[0]?$(e,d,c):(e.s=3==P?-1:1,e.c=[e.e=0],e)},A.modulo=A.mod=function(e,t){var n,s,i=this;return e=new G(e,t),!i.c||!e.s||e.c&&!e.c[0]?new G(NaN):!e.c||i.c&&!i.c[0]?new G(i):(9==U?(s=e.s,e.s=1,n=r(i,e,0,3),e.s=s,n.s*=s):n=r(i,e,0,U),(e=i.minus(n.times(e))).c[0]||1!=U||(e.s=i.s),e)},A.multipliedBy=A.times=function(e,t){var r,n,s,i,o,a,u,c,p,f,m,y,E,w,C,v=this,R=v.c,S=(e=new G(e,t)).c;if(!(R&&S&&R[0]&&S[0]))return!v.s||!e.s||R&&!R[0]&&!S||S&&!S[0]&&!R?e.c=e.e=e.s=null:(e.s*=v.s,R&&S?(e.c=[0],e.e=0):e.c=e.e=null),e;for(n=g(v.e/h)+g(e.e/h),e.s*=v.s,(u=R.length)<(f=S.length)&&(E=R,R=S,S=E,s=u,u=f,f=s),s=u+f,E=[];s--;E.push(0));for(w=l,C=d,s=f;--s>=0;){for(r=0,m=S[s]%C,y=S[s]/C|0,i=s+(o=u);i>s;)r=((c=m*(c=R[--o]%C)+(a=y*c+(p=R[o]/C|0)*m)%C*C+E[i]+r)/w|0)+(a/C|0)+y*p,E[i--]=c%w;E[i]=r}return r?++n:E.splice(0,1),$(e,E,n)},A.negated=function(){var e=new G(this);return e.s=-e.s||null,e},A.plus=function(e,t){var r,n=this,s=n.s;if(t=(e=new G(e,t)).s,!s||!t)return new G(NaN);if(s!=t)return e.s=-t,n.minus(e);var i=n.e/h,o=e.e/h,a=n.c,u=e.c;if(!i||!o){if(!a||!u)return new G(s/0);if(!a[0]||!u[0])return u[0]?e:new G(a[0]?n:0*s)}if(i=g(i),o=g(o),a=a.slice(),s=i-o){for(s>0?(o=i,r=u):(s=-s,r=a),r.reverse();s--;r.push(0));r.reverse()}for((s=a.length)-(t=u.length)<0&&(r=u,u=a,a=r,t=s),s=0;t;)s=(a[--t]=a[t]+u[t]+s)/l|0,a[t]=l===a[t]?0:a[t]%l;return s&&(a=[s].concat(a),++o),$(e,a,o)},A.precision=A.sd=function(e,t){var r,n,s,i=this;if(null!=e&&e!==!!e)return y(e,1,p),null==t?t=P:y(t,0,8),K(new G(i),e,t);if(!(r=i.c))return null;if(n=(s=r.length-1)*h+1,s=r[s]){for(;s%10==0;s/=10,n--);for(s=r[0];s>=10;s/=10,n++);}return e&&i.e+1>n&&(n=i.e+1),n},A.shiftedBy=function(e){return y(e,-9007199254740991,u),this.times("1e"+e)},A.squareRoot=A.sqrt=function(){var e,t,n,s,i,o=this,a=o.c,l=o.s,h=o.e,u=x+4,c=new G("0.5");if(1!==l||!a||!a[0])return new G(!l||l<0&&(!a||a[0])?NaN:a?o:1/0);if(0==(l=Math.sqrt(+X(o)))||l==1/0?(((t=f(a)).length+h)%2==0&&(t+="0"),l=Math.sqrt(+t),h=g((h+1)/2)-(h<0||h%2),n=new G(t=l==1/0?"5e"+h:(t=l.toExponential()).slice(0,t.indexOf("e")+1)+h)):n=new G(l+""),n.c[0])for((l=(h=n.e)+u)<3&&(l=0);;)if(i=n,n=c.times(i.plus(r(o,i,u,1))),f(i.c).slice(0,l)===(t=f(n.c)).slice(0,l)){if(n.e<h&&--l,"9999"!=(t=t.slice(l-3,l+1))&&(s||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(K(n,n.e+x+2,1),e=!n.times(n).eq(o));break}if(!s&&(K(i,i.e+x+2,0),i.times(i).eq(o))){n=i;break}u+=4,l+=4,s=1}return K(n,n.e+x+1,P,e)},A.toExponential=function(e,t){return null!=e&&(y(e,0,p),e++),j(this,e,t,1)},A.toFixed=function(e,t){return null!=e&&(y(e,0,p),e=e+this.e+1),j(this,e,t)},A.toFormat=function(e,t,r){var n,s=this;if(null==r)null!=e&&t&&"object"==typeof t?(r=t,t=null):e&&"object"==typeof e?(r=e,e=t=null):r=B;else if("object"!=typeof r)throw Error(o+"Argument not an object: "+r);if(n=s.toFixed(e,t),s.c){var i,a=n.split("."),l=+r.groupSize,h=+r.secondaryGroupSize,u=r.groupSeparator||"",c=a[0],d=a[1],p=s.s<0,g=p?c.slice(1):c,f=g.length;if(h&&(i=l,l=h,h=i,f-=i),l>0&&f>0){for(i=f%l||l,c=g.substr(0,i);i<f;i+=l)c+=u+g.substr(i,l);h>0&&(c+=u+g.slice(i)),p&&(c="-"+c)}n=d?c+(r.decimalSeparator||"")+((h=+r.fractionGroupSize)?d.replace(new RegExp("\\d{"+h+"}\\B","g"),"$&"+(r.fractionGroupSeparator||"")):d):c}return(r.prefix||"")+n+(r.suffix||"")},A.toFraction=function(e){var t,n,s,i,a,l,u,d,p,g,m,y,E=this,w=E.c;if(null!=e&&(!(u=new G(e)).isInteger()&&(u.c||1!==u.s)||u.lt(I)))throw Error(o+"Argument "+(u.isInteger()?"out of range: ":"not an integer: ")+X(u));if(!w)return new G(E);for(t=new G(I),p=n=new G(I),s=d=new G(I),y=f(w),a=t.e=y.length-E.e-1,t.c[0]=c[(l=a%h)<0?h+l:l],e=!e||u.comparedTo(t)>0?a>0?t:p:u,l=H,H=1/0,u=new G(y),d.c[0]=0;g=r(u,t,0,1),1!=(i=n.plus(g.times(s))).comparedTo(e);)n=s,s=i,p=d.plus(g.times(i=p)),d=i,t=u.minus(g.times(i=t)),u=i;return i=r(e.minus(n),s,0,1),d=d.plus(i.times(p)),n=n.plus(i.times(s)),d.s=p.s=E.s,m=r(p,s,a*=2,P).minus(E).abs().comparedTo(r(d,n,a,P).minus(E).abs())<1?[p,s]:[d,n],H=l,m},A.toNumber=function(){return+X(this)},A.toPrecision=function(e,t){return null!=e&&y(e,1,p),j(this,e,t,2)},A.toString=function(e){var t,r=this,n=r.s,s=r.e;return null===s?n?(t="Infinity",n<0&&(t="-"+t)):t="NaN":(null==e?t=s<=L||s>=D?w(f(r.c),s):C(f(r.c),s,"0"):10===e&&Y?t=C(f((r=K(new G(r),x+s+1,P)).c),r.e,"0"):(y(e,2,W.length,"Base"),t=v(C(f(r.c),s,"0"),10,e,n,!0)),n<0&&r.c[0]&&(t="-"+t)),t},A.valueOf=A.toJSON=function(){return X(this)},A._isBigNumber=!0,null!=t&&G.set(t),G}(),r.default=r.BigNumber=r,e.exports?e.exports=r:(t||(t="undefined"!=typeof self&&self?self:window),t.BigNumber=r)}(h)}(w);var C=w.exports;
/*!
 * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */const v=y(),R=p(),S=m,T=C,N={trillion:Math.pow(10,12),billion:Math.pow(10,9),million:Math.pow(10,6),thousand:Math.pow(10,3)},M={totalLength:0,characteristic:0,forceAverage:!1,average:!1,mantissa:-1,optionalMantissa:!0,thousandSeparated:!1,spaceSeparated:!1,negative:"sign",forceSign:!1,roundingFunction:Math.round,spaceSeparatedAbbreviation:!1},{binarySuffixes:_,decimalSuffixes:b}=v.currentBytes(),O={general:{scale:1024,suffixes:b,marker:"bd"},binary:{scale:1024,suffixes:_,marker:"b"},decimal:{scale:1e3,suffixes:b,marker:"d"}};function A(e,t={},r){if("string"==typeof t&&(t=S.parseFormat(t)),!R.validateFormat(t))return"ERROR: invalid format";let n=t.prefix||"",s=t.postfix||"",i=function(e,t,r){switch(t.output){case"currency":return function(e,t,r){const n=r.currentCurrency();let s,i=Object.assign({},t),o=Object.assign({},M,i),a="",l=!!o.totalLength||!!o.forceAverage||o.average,h=i.currencyPosition||n.position,u=i.currencySymbol||n.symbol;const c=void 0!==o.spaceSeparatedCurrency?o.spaceSeparatedCurrency:o.spaceSeparated;void 0===i.lowPrecision&&(i.lowPrecision=!1);c&&(a=" ");"infix"===h&&(s=a+u+a);let d=L({instance:e,providedFormat:i,state:r,decimalSeparator:s});"prefix"===h&&(d=e._value<0&&"sign"===o.negative?`-${a}${u}${d.slice(1)}`:e._value>0&&o.forceSign?`+${a}${u}${d.slice(1)}`:u+a+d);h&&"postfix"!==h||(a=!o.spaceSeparatedAbbreviation&&l?"":a,d=d+a+u);return d}(e,t=D(t,v.currentCurrencyDefaultFormat()),v);case"percent":return function(e,t,r,n){let s=t.prefixSymbol,i=L({instance:n(100*e._value),providedFormat:t,state:r}),o=Object.assign({},M,t);if(s)return`%${o.spaceSeparated?" ":""}${i}`;return`${i}${o.spaceSeparated?" ":""}%`}(e,t=D(t,v.currentPercentageDefaultFormat()),v,r);case"byte":return function(e,t,r,n){let s=t.base||"binary",i=Object.assign({},M,t);const{binarySuffixes:o,decimalSuffixes:a}=r.currentBytes();let l={general:{scale:1024,suffixes:a||b,marker:"bd"},binary:{scale:1024,suffixes:o||_,marker:"b"},decimal:{scale:1e3,suffixes:a||b,marker:"d"}}[s],{value:h,suffix:u}=I(e._value,l.suffixes,l.scale),c=L({instance:n(h),providedFormat:t,state:r,defaults:r.currentByteDefaultFormat()});return`${c}${i.spaceSeparated?" ":""}${u}`}(e,t=D(t,v.currentByteDefaultFormat()),v,r);case"time":return t=D(t,v.currentTimeDefaultFormat()),function(e){let t=Math.floor(e._value/60/60),r=Math.floor((e._value-60*t*60)/60),n=Math.round(e._value-60*t*60-60*r);return`${t}:${r<10?"0":""}${r}:${n<10?"0":""}${n}`}(e);case"ordinal":return function(e,t,r){let n=r.currentOrdinal(),s=Object.assign({},M,t),i=L({instance:e,providedFormat:t,state:r}),o=n(e._value);return`${i}${s.spaceSeparated?" ":""}${o}`}(e,t=D(t,v.currentOrdinalDefaultFormat()),v);default:return L({instance:e,providedFormat:t,numbro:r})}}(e,t,r);return i=function(e,t){return t+e}(i,n),i=function(e,t){return e+t}(i,s),i}function I(e,t,r){let n=t[0],s=Math.abs(e);if(s>=r){for(let i=1;i<t.length;++i){let o=Math.pow(r,i),a=Math.pow(r,i+1);if(s>=o&&s<a){n=t[i],e/=o;break}}n===t[0]&&(e/=Math.pow(r,t.length-1),n=t[t.length-1])}return{value:e,suffix:n}}function x(e){let t="";for(let r=0;r<e;r++)t+="0";return t}function P(e,t,r=Math.round){if(-1!==e.toString().indexOf("e"))return function(e,t){let r=e.toString(),[n,s]=r.split("e"),[i,o=""]=n.split(".");if(+s>0)r=i+o+x(s-o.length);else{let e=".";e=+i<0?`-0${e}`:`0${e}`;let n=(x(-s-1)+Math.abs(i)+o).substr(0,t);n.length<t&&(n+=x(t-n.length)),r=e+n}return+s>0&&t>0&&(r+=`.${x(t)}`),r}(e,t);return new T(r(+`${e}e+${t}`)/Math.pow(10,t)).toFixed(t)}function L({instance:e,providedFormat:t,state:r=v,decimalSeparator:n,defaults:s=r.currentDefaults()}){let i=e._value;if(0===i&&r.hasZeroFormat())return r.getZeroFormat();if(!isFinite(i))return i.toString();let o=Object.assign({},M,s,t),a=o.totalLength,l=a?0:o.characteristic,h=o.optionalCharacteristic,u=o.forceAverage,c=o.lowPrecision,d=!!a||!!u||o.average,p=a?-1:d&&void 0===t.mantissa?0:o.mantissa,g=!a&&(void 0===t.optionalMantissa?-1===p:o.optionalMantissa),f=o.trimMantissa,m=o.thousandSeparated,y=o.spaceSeparated,E=o.negative,w=o.forceSign,C=o.exponential,R=o.roundingFunction,S="";if(d){let e=function({value:e,forceAverage:t,lowPrecision:r=!0,abbreviations:n,spaceSeparated:s=!1,totalLength:i=0,roundingFunction:o=Math.round}){let a="",l=Math.abs(e),h=-1;if(t&&n[t]&&N[t]?(a=n[t],e/=N[t]):l>=N.trillion||r&&1===o(l/N.trillion)?(a=n.trillion,e/=N.trillion):l<N.trillion&&l>=N.billion||r&&1===o(l/N.billion)?(a=n.billion,e/=N.billion):l<N.billion&&l>=N.million||r&&1===o(l/N.million)?(a=n.million,e/=N.million):(l<N.million&&l>=N.thousand||r&&1===o(l/N.thousand))&&(a=n.thousand,e/=N.thousand),a&&(a=(s?" ":"")+a),i){let t=e<0,r=e.toString().split(".")[0],n=t?r.length-1:r.length;h=Math.max(i-n,0)}return{value:e,abbreviation:a,mantissaPrecision:h}}({value:i,forceAverage:u,lowPrecision:c,abbreviations:r.currentAbbreviations(),spaceSeparated:y,roundingFunction:R,totalLength:a});i=e.value,S+=e.abbreviation,a&&(p=e.mantissaPrecision)}if(C){let e=function({value:e,characteristicPrecision:t}){let[r,n]=e.toExponential().split("e"),s=+r;return t?(1<t&&(s*=Math.pow(10,t-1),n=+n-(t-1),n=n>=0?`+${n}`:n),{value:s,abbreviation:`e${n}`}):{value:s,abbreviation:`e${n}`}}({value:i,characteristicPrecision:l});i=e.value,S=e.abbreviation+S}let T=function(e,t,r,n,s,i){if(-1===n)return e;let o=P(t,n,i),[a,l=""]=o.toString().split(".");if(l.match(/^0+$/)&&(r||s))return a;let h=l.match(/0+$/);return s&&h?`${a}.${l.toString().slice(0,h.index)}`:o.toString()}(i.toString(),i,g,p,f,R);return T=function(e,t,r,n){let s=e,[i,o]=s.toString().split(".");if(i.match(/^-?0$/)&&r)return o?`${i.replace("0","")}.${o}`:i.replace("0","");const a=t<0&&0===i.indexOf("-");if(a&&(i=i.slice(1),s=s.slice(1)),i.length<n){let e=n-i.length;for(let t=0;t<e;t++)s=`0${s}`}return a&&(s=`-${s}`),s.toString()}(T,i,h,l),T=function(e,t,r,n,s){let i=n.currentDelimiters(),o=i.thousands;s=s||i.decimal;let a=i.thousandsSize||3,l=e.toString(),h=l.split(".")[0],u=l.split(".")[1];const c=t<0&&0===h.indexOf("-");if(r){c&&(h=h.slice(1));let e=function(e,t){let r=[],n=0;for(let s=e;s>0;s--)n===t&&(r.unshift(s),n=0),n++;return r}(h.length,a);e.forEach(((e,t)=>{h=h.slice(0,e+t)+o+h.slice(e+t)})),c&&(h=`-${h}`)}return l=u?h+s+u:h,l}(T,i,m,r,n),(d||C)&&(T=function(e,t){return e+t}(T,S)),(w||i<0)&&(T=function(e,t,r){return 0===t?e:0==+e?e.replace("-",""):t>0?`+${e}`:"sign"===r?e:`(${e.replace("-","")})`}(T,i,E)),T}function D(e,t){if(!e)return t;let r=Object.keys(e);return 1===r.length&&"output"===r[0]?t:e}
/*!
 * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */
const k=C;function H(e,t,r){let n=new k(e._value),s=t;return r.isNumbro(t)&&(s=t._value),s=new k(s),e._value=n.minus(s).toNumber(),e}
/*!
 * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */
const F=y(),U=p(),V=(e=>({loadLanguagesInNode:t=>E(t,e)}))($),B=d();let W=(e=>({format:(...t)=>A(...t,e),getByteUnit:(...t)=>function(e){let t=O.general;return I(e._value,t.suffixes,t.scale).suffix}(...t,e),getBinaryByteUnit:(...t)=>function(e){let t=O.binary;return I(e._value,t.suffixes,t.scale).suffix}(...t,e),getDecimalByteUnit:(...t)=>function(e){let t=O.decimal;return I(e._value,t.suffixes,t.scale).suffix}(...t,e),formatOrDefault:D}))($),Y=(e=>({add:(t,r)=>function(e,t,r){let n=new k(e._value),s=t;return r.isNumbro(t)&&(s=t._value),s=new k(s),e._value=n.plus(s).toNumber(),e}(t,r,e),subtract:(t,r)=>H(t,r,e),multiply:(t,r)=>function(e,t,r){let n=new k(e._value),s=t;return r.isNumbro(t)&&(s=t._value),s=new k(s),e._value=n.times(s).toNumber(),e}(t,r,e),divide:(t,r)=>function(e,t,r){let n=new k(e._value),s=t;return r.isNumbro(t)&&(s=t._value),s=new k(s),e._value=n.dividedBy(s).toNumber(),e}(t,r,e),set:(t,r)=>function(e,t,r){let n=t;return r.isNumbro(t)&&(n=t._value),e._value=n,e}(t,r,e),difference:(t,r)=>function(e,t,r){let n=r(e._value);return H(n,t,r),Math.abs(n._value)}(t,r,e),BigNumber:k}))($);const G=m;class j{constructor(e){this._value=e}clone(){return $(this._value)}format(e={}){return W.format(this,e)}formatCurrency(e){return"string"==typeof e&&(e=G.parseFormat(e)),(e=W.formatOrDefault(e,F.currentCurrencyDefaultFormat())).output="currency",W.format(this,e)}formatTime(e={}){return e.output="time",W.format(this,e)}binaryByteUnits(){return W.getBinaryByteUnit(this)}decimalByteUnits(){return W.getDecimalByteUnit(this)}byteUnits(){return W.getByteUnit(this)}difference(e){return Y.difference(this,e)}add(e){return Y.add(this,e)}subtract(e){return Y.subtract(this,e)}multiply(e){return Y.multiply(this,e)}divide(e){return Y.divide(this,e)}set(e){return Y.set(this,z(e))}value(){return this._value}valueOf(){return this._value}}function z(e){let t=e;return $.isNumbro(e)?t=e._value:"string"==typeof e?t=$.unformat(e):isNaN(e)&&(t=NaN),t}function $(e){return new j(z(e))}$.version="2.5.0",$.isNumbro=function(e){return e instanceof j},$.language=F.currentLanguage,$.registerLanguage=F.registerLanguage,$.setLanguage=F.setLanguage,$.languages=F.languages,$.languageData=F.languageData,$.zeroFormat=F.setZeroFormat,$.defaultFormat=F.currentDefaults,$.setDefaults=F.setDefaults,$.defaultCurrencyFormat=F.currentCurrencyDefaultFormat,$.validate=U.validate,$.loadLanguagesInNode=V.loadLanguagesInNode,$.unformat=B.unformat,$.BigNumber=Y.BigNumber;var K=u($);window.numbro=r(80586).default},35358:(e,t,r)=>{var n={"./af":37086,"./af.js":37086,"./ar":73762,"./ar-dz":17289,"./ar-dz.js":17289,"./ar-kw":65145,"./ar-kw.js":65145,"./ar-ly":70872,"./ar-ly.js":70872,"./ar-ma":66569,"./ar-ma.js":66569,"./ar-ps":90470,"./ar-ps.js":90470,"./ar-sa":25819,"./ar-sa.js":25819,"./ar-tn":39685,"./ar-tn.js":39685,"./ar.js":73762,"./az":38906,"./az.js":38906,"./be":22956,"./be.js":22956,"./bg":11414,"./bg.js":11414,"./bm":42516,"./bm.js":42516,"./bn":63933,"./bn-bd":49888,"./bn-bd.js":49888,"./bn.js":63933,"./bo":30718,"./bo.js":30718,"./br":44169,"./br.js":44169,"./bs":96954,"./bs.js":96954,"./ca":97417,"./ca.js":97417,"./cs":97527,"./cs.js":97527,"./cv":92556,"./cv.js":92556,"./cy":67105,"./cy.js":67105,"./da":14130,"./da.js":14130,"./de":21918,"./de-at":18158,"./de-at.js":18158,"./de-ch":98952,"./de-ch.js":98952,"./de.js":21918,"./dv":53611,"./dv.js":53611,"./el":25496,"./el.js":25496,"./en-au":28809,"./en-au.js":28809,"./en-ca":7275,"./en-ca.js":7275,"./en-gb":57306,"./en-gb.js":57306,"./en-ie":2609,"./en-ie.js":2609,"./en-il":82970,"./en-il.js":82970,"./en-in":46192,"./en-in.js":46192,"./en-nz":20851,"./en-nz.js":20851,"./en-sg":97953,"./en-sg.js":97953,"./eo":5137,"./eo.js":5137,"./es":18741,"./es-do":30147,"./es-do.js":30147,"./es-mx":49999,"./es-mx.js":49999,"./es-us":17778,"./es-us.js":17778,"./es.js":18741,"./et":75712,"./et.js":75712,"./eu":65431,"./eu.js":65431,"./fa":61716,"./fa.js":61716,"./fi":61388,"./fi.js":61388,"./fil":7858,"./fil.js":7858,"./fo":89098,"./fo.js":89098,"./fr":72237,"./fr-ca":55218,"./fr-ca.js":55218,"./fr-ch":58713,"./fr-ch.js":58713,"./fr.js":72237,"./fy":31260,"./fy.js":31260,"./ga":25485,"./ga.js":25485,"./gd":39842,"./gd.js":39842,"./gl":4986,"./gl.js":4986,"./gom-deva":18691,"./gom-deva.js":18691,"./gom-latn":87812,"./gom-latn.js":87812,"./gu":28833,"./gu.js":28833,"./he":63434,"./he.js":63434,"./hi":24254,"./hi.js":24254,"./hr":87235,"./hr.js":87235,"./hu":26074,"./hu.js":26074,"./hy-am":63237,"./hy-am.js":63237,"./id":58844,"./id.js":58844,"./is":86937,"./is.js":86937,"./it":5324,"./it-ch":4566,"./it-ch.js":4566,"./it.js":5324,"./ja":38728,"./ja.js":38728,"./jv":49165,"./jv.js":49165,"./ka":17905,"./ka.js":17905,"./kk":82759,"./kk.js":82759,"./km":7525,"./km.js":7525,"./kn":77788,"./kn.js":77788,"./ko":59427,"./ko.js":59427,"./ku":88029,"./ku-kmr":92022,"./ku-kmr.js":92022,"./ku.js":88029,"./ky":5881,"./ky.js":5881,"./lb":60039,"./lb.js":60039,"./lo":45284,"./lo.js":45284,"./lt":5909,"./lt.js":5909,"./lv":47891,"./lv.js":47891,"./me":52047,"./me.js":52047,"./mi":4163,"./mi.js":4163,"./mk":47301,"./mk.js":47301,"./ml":46800,"./ml.js":46800,"./mn":84122,"./mn.js":84122,"./mr":17886,"./mr.js":17886,"./ms":51101,"./ms-my":11680,"./ms-my.js":11680,"./ms.js":51101,"./mt":70888,"./mt.js":70888,"./my":18227,"./my.js":18227,"./nb":78629,"./nb.js":78629,"./ne":12304,"./ne.js":12304,"./nl":40847,"./nl-be":45745,"./nl-be.js":45745,"./nl.js":40847,"./nn":11249,"./nn.js":11249,"./oc-lnc":45617,"./oc-lnc.js":45617,"./pa-in":24532,"./pa-in.js":24532,"./pl":51001,"./pl.js":51001,"./pt":43793,"./pt-br":77498,"./pt-br.js":77498,"./pt.js":43793,"./ro":95758,"./ro.js":95758,"./ru":34220,"./ru.js":34220,"./sd":34646,"./sd.js":34646,"./se":26709,"./se.js":26709,"./si":37089,"./si.js":37089,"./sk":18271,"./sk.js":18271,"./sl":11422,"./sl.js":11422,"./sq":67401,"./sq.js":67401,"./sr":17040,"./sr-cyrl":65775,"./sr-cyrl.js":65775,"./sr.js":17040,"./ss":40263,"./ss.js":40263,"./sv":92764,"./sv.js":92764,"./sw":74403,"./sw.js":74403,"./ta":65026,"./ta.js":65026,"./te":58830,"./te.js":58830,"./tet":4048,"./tet.js":4048,"./tg":86436,"./tg.js":86436,"./th":18505,"./th.js":18505,"./tk":33968,"./tk.js":33968,"./tl-ph":63422,"./tl-ph.js":63422,"./tlh":45441,"./tlh.js":45441,"./tr":92671,"./tr.js":92671,"./tzl":4659,"./tzl.js":4659,"./tzm":80204,"./tzm-latn":67956,"./tzm-latn.js":67956,"./tzm.js":80204,"./ug-cn":65191,"./ug-cn.js":65191,"./uk":21949,"./uk.js":21949,"./ur":23174,"./ur.js":23174,"./uz":26158,"./uz-latn":19286,"./uz-latn.js":19286,"./uz.js":26158,"./vi":12284,"./vi.js":12284,"./x-pseudo":14912,"./x-pseudo.js":14912,"./yo":59357,"./yo.js":59357,"./zh-cn":1313,"./zh-cn.js":1313,"./zh-hk":73021,"./zh-hk.js":73021,"./zh-mo":21312,"./zh-mo.js":21312,"./zh-tw":16629,"./zh-tw.js":16629};function s(e){var t=i(e);return r(t)}function i(e){if(!r.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}s.keys=function(){return Object.keys(n)},s.resolve=i,e.exports=s,s.id=35358},72679:(e,t)=>{"use strict";t.__esModule=!0,t.parse=function(e){const t=[[""]];if(0===e.length)return t;let i,o=0,a=0;for(;e.length>0&&i!==e.length;)if(i=e.length,e.match(s))e=e.replace(s,""),o+=1,t[a][o]="";else if(e.match(r))e=e.replace(r,""),o=0,a+=1,t[a]=[""];else{let r="";if(e.startsWith('"')){let t=0,n=!0;for(;n;){const s=e.slice(0,1);'"'===s&&(t+=1),r+=s,(0===(e=e.slice(1)).length||e.match(/^[\t\r\n]/)&&t%2==0)&&(n=!1)}r=r.replace(/^"/,"").replace(/"$/,"").replace(/["]*/g,(e=>new Array(Math.floor(e.length/2)).fill('"').join("")))}else{const t=e.match(n);r=t?t[0]:"",e=e.slice(r.length)}t[a][o]=r}return t},t.stringify=function(e){let t,r,n,s,i,o="";for(t=0,r=e.length;t<r;t+=1){for(s=e[t].length,n=0;n<s;n+=1)n>0&&(o+="\t"),i=e[t][n],"string"==typeof i?i.indexOf("\n")>-1?o+=`"${i.replace(/"/g,'""')}"`:o+=i:o+=null==i?"":i;t!==r-1&&(o+="\n")}return o};const r=/^(\r\n|\n\r|\r|\n)/,n=/^[^\t\r\n]+/,s=/^\t/},42354:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(72679);t.parse=n.parse,t.stringify=n.stringify},60512:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(95913),r(12587);var s=n(r(85707));t.FullyVisibleColumnsCalculationType=class{constructor(){(0,s.default)(this,"count",0),(0,s.default)(this,"startColumn",null),(0,s.default)(this,"endColumn",null),(0,s.default)(this,"startPosition",null),(0,s.default)(this,"isVisibleInTrimmingContainer",!1)}initialize(){}process(e,t){const{totalCalculatedWidth:r,zeroBasedScrollOffset:n,viewportWidth:s,columnWidth:i}=t;r>=n&&r+i<=n+(n>0?s+1:s)&&(null!==this.startColumn&&void 0!==this.startColumn||(this.startColumn=e),this.endColumn=e)}finalize(e){var t;const{scrollOffset:r,viewportWidth:n,inlineStartOffset:s,zeroBasedScrollOffset:i,totalColumns:o,needReverse:a,startPositions:l,columnWidth:h}=e;if(this.endColumn===o-1&&a)for(this.startColumn=this.endColumn;this.startColumn>0;){const e=l[this.endColumn]+h-l[this.startColumn-1];if(e<=n&&(this.startColumn-=1),e>=n)break}this.startPosition=null!==(t=l[this.startColumn])&&void 0!==t?t:null;const u=r+n-(i>0?n+1:n),c=null===this.startColumn?0:e.getColumnWidth(this.startColumn);u<-1*s||r>l.at(-1)||-1*r-n>-1*c?this.isVisibleInTrimmingContainer=!1:this.isVisibleInTrimmingContainer=!0,o<this.endColumn&&(this.endColumn=o-1),null!==this.startColumn&&(this.count=this.endColumn-this.startColumn+1)}}},71782:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(95913),r(12587);var s=n(r(85707));t.FullyVisibleRowsCalculationType=class{constructor(){(0,s.default)(this,"count",0),(0,s.default)(this,"startRow",null),(0,s.default)(this,"endRow",null),(0,s.default)(this,"startPosition",null),(0,s.default)(this,"isVisibleInTrimmingContainer",!1)}initialize(){}process(e,t){const{totalCalculatedHeight:r,zeroBasedScrollOffset:n,innerViewportHeight:s,rowHeight:i}=t;r>=n&&r+i<=s&&(null===this.startRow&&(this.startRow=e),this.endRow=e)}finalize(e){var t;const{scrollOffset:r,viewportHeight:n,horizontalScrollbarHeight:s,totalRows:i,needReverse:o,startPositions:a,rowHeight:l}=e;if(this.endRow===i-1&&o)for(this.startRow=this.endRow;this.startRow>0;){const e=a[this.endRow]+l-a[this.startRow-1];if(e<=n-s&&(this.startRow-=1),e>=n-s)break}this.startPosition=null!==(t=a[this.startRow])&&void 0!==t?t:null;r+n-s<(null===this.startRow?0:e.getRowHeight(this.startRow))||r>a.at(-1)?this.isVisibleInTrimmingContainer=!1:this.isVisibleInTrimmingContainer=!0,i<this.endRow&&(this.endRow=i-1),null!==this.startRow&&(this.count=this.endRow-this.startRow+1)}}},48454:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(95913),r(12587);var s=n(r(85707));t.PartiallyVisibleColumnsCalculationType=class{constructor(){(0,s.default)(this,"count",0),(0,s.default)(this,"startColumn",null),(0,s.default)(this,"endColumn",null),(0,s.default)(this,"startPosition",null),(0,s.default)(this,"isVisibleInTrimmingContainer",!1)}initialize(){}process(e,t){const{totalCalculatedWidth:r,zeroBasedScrollOffset:n,viewportWidth:s}=t;r<=n&&(this.startColumn=e);r>=n&&r<=n+(n>0?s+1:s)&&(null!==this.startColumn&&void 0!==this.startColumn||(this.startColumn=e)),this.endColumn=e}finalize(e){var t;const{scrollOffset:r,viewportWidth:n,inlineStartOffset:s,zeroBasedScrollOffset:i,totalColumns:o,needReverse:a,startPositions:l,columnWidth:h}=e;if(this.endColumn===o-1&&a)for(this.startColumn=this.endColumn;this.startColumn>0;){const e=l[this.endColumn]+h-l[this.startColumn-1];if(this.startColumn-=1,e>n)break}this.startPosition=null!==(t=l[this.startColumn])&&void 0!==t?t:null;r+n-(i>0?n+1:n)<-1*s||r>l.at(-1)+h||-1*r-n>0?this.isVisibleInTrimmingContainer=!1:this.isVisibleInTrimmingContainer=!0,o<this.endColumn&&(this.endColumn=o-1),null!==this.startColumn&&(this.count=this.endColumn-this.startColumn+1)}}},22488:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(95913),r(12587);var s=n(r(85707));t.PartiallyVisibleRowsCalculationType=class{constructor(){(0,s.default)(this,"count",0),(0,s.default)(this,"startRow",null),(0,s.default)(this,"endRow",null),(0,s.default)(this,"startPosition",null),(0,s.default)(this,"isVisibleInTrimmingContainer",!1)}initialize(){}process(e,t){const{totalCalculatedHeight:r,zeroBasedScrollOffset:n,innerViewportHeight:s}=t;r<=n&&(this.startRow=e),r>=n&&r<=s&&null===this.startRow&&(this.startRow=e),this.endRow=e}finalize(e){var t;const{scrollOffset:r,viewportHeight:n,horizontalScrollbarHeight:s,totalRows:i,needReverse:o,startPositions:a,rowHeight:l}=e;if(this.endRow===i-1&&o)for(this.startRow=this.endRow;this.startRow>0;){const e=a[this.endRow]+l-a[this.startRow-1];if(this.startRow-=1,e>=n-s)break}this.startPosition=null!==(t=a[this.startRow])&&void 0!==t?t:null;r+n-s<0||r>a.at(-1)+l?this.isVisibleInTrimmingContainer=!1:this.isVisibleInTrimmingContainer=!0,i<this.endRow&&(this.endRow=i-1),null!==this.startRow&&(this.count=this.endRow-this.startRow+1)}}},24746:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));t.RenderedAllColumnsCalculationType=class{constructor(){(0,s.default)(this,"count",0),(0,s.default)(this,"startColumn",0),(0,s.default)(this,"endColumn",0),(0,s.default)(this,"startPosition",0),(0,s.default)(this,"isVisibleInTrimmingContainer",!0)}initialize(e){let{totalColumns:t}=e;this.count=t,this.endColumn=this.count-1}process(){}finalize(){}}},74892:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));t.RenderedAllRowsCalculationType=class{constructor(){(0,s.default)(this,"count",0),(0,s.default)(this,"startRow",0),(0,s.default)(this,"endRow",0),(0,s.default)(this,"startPosition",0),(0,s.default)(this,"isVisibleInTrimmingContainer",!0)}initialize(e){let{totalRows:t}=e;this.count=t,this.endRow=this.count-1}process(){}finalize(){}}},2069:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(48454);class o extends i.PartiallyVisibleColumnsCalculationType{constructor(){super(...arguments),(0,s.default)(this,"columnStartOffset",0),(0,s.default)(this,"columnEndOffset",0)}finalize(e){var t;super.finalize(e);const{overrideFn:r,totalColumns:n,startPositions:s}=e;if(null!==this.startColumn&&"function"==typeof r){const e=this.startColumn,t=this.endColumn;r(this),this.columnStartOffset=e-this.startColumn,this.columnEndOffset=this.endColumn-t}this.startColumn<0&&(this.startColumn=0),this.startPosition=null!==(t=s[this.startColumn])&&void 0!==t?t:null,n<this.endColumn&&(this.endColumn=n-1),null!==this.startColumn&&(this.count=this.endColumn-this.startColumn+1)}}t.RenderedColumnsCalculationType=o},79221:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(22488);class o extends i.PartiallyVisibleRowsCalculationType{constructor(){super(...arguments),(0,s.default)(this,"rowStartOffset",0),(0,s.default)(this,"rowEndOffset",0)}finalize(e){var t;super.finalize(e);const{overrideFn:r,totalRows:n,startPositions:s}=e;if(null!==this.startRow&&"function"==typeof r){const e=this.startRow,t=this.endRow;r(this),this.rowStartOffset=e-this.startRow,this.rowEndOffset=this.endRow-t}this.startRow<0&&(this.startRow=0),this.startPosition=null!==(t=s[this.startRow])&&void 0!==t?t:null,n<this.endRow&&(this.endRow=n-1),null!==this.startRow&&(this.count=this.endRow-this.startRow+1)}}t.RenderedRowsCalculationType=o},63059:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(60512);t.FullyVisibleColumnsCalculationType=n.FullyVisibleColumnsCalculationType;var s=r(71782);t.FullyVisibleRowsCalculationType=s.FullyVisibleRowsCalculationType;var i=r(48454);t.PartiallyVisibleColumnsCalculationType=i.PartiallyVisibleColumnsCalculationType;var o=r(22488);t.PartiallyVisibleRowsCalculationType=o.PartiallyVisibleRowsCalculationType;var a=r(24746);t.RenderedAllColumnsCalculationType=a.RenderedAllColumnsCalculationType;var l=r(74892);t.RenderedAllRowsCalculationType=l.RenderedAllRowsCalculationType;var h=r(2069);t.RenderedColumnsCalculationType=h.RenderedColumnsCalculationType;var u=r(79221);t.RenderedRowsCalculationType=u.RenderedRowsCalculationType;var c=r(83786);t.ViewportColumnsCalculator=c.ViewportColumnsCalculator,t.DEFAULT_COLUMN_WIDTH=c.DEFAULT_WIDTH;var d=r(7628);t.ViewportRowsCalculator=d.ViewportRowsCalculator},83820:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(14846),r(69655);var s=n(r(85707));t.ViewportBaseCalculator=class{constructor(e){(0,s.default)(this,"calculationTypes",[]),(0,s.default)(this,"calculationResults",new Map),this.calculationTypes=e}_initialize(e){this.calculationTypes.forEach((t=>{let[r,n]=t;this.calculationResults.set(r,n),n.initialize(e)}))}_process(e,t){this.calculationTypes.forEach((r=>{let[,n]=r;return n.process(e,t)}))}_finalize(e){this.calculationTypes.forEach((t=>{let[,r]=t;return r.finalize(e)}))}getResultsFor(e){return this.calculationResults.get(e)}}},83786:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707)),i=r(83820);const o=t.DEFAULT_WIDTH=50;class a extends i.ViewportBaseCalculator{constructor(e){let{calculationTypes:t,viewportWidth:r,scrollOffset:n,totalColumns:i,columnWidthFn:o,overrideFn:a,inlineStartOffset:l}=e;super(t),(0,s.default)(this,"viewportWidth",0),(0,s.default)(this,"scrollOffset",0),(0,s.default)(this,"zeroBasedScrollOffset",0),(0,s.default)(this,"totalColumns",0),(0,s.default)(this,"columnWidthFn",null),(0,s.default)(this,"columnWidth",0),(0,s.default)(this,"overrideFn",null),(0,s.default)(this,"inlineStartOffset",0),(0,s.default)(this,"totalCalculatedWidth",0),(0,s.default)(this,"startPositions",[]),(0,s.default)(this,"needReverse",!0),this.viewportWidth=r,this.scrollOffset=n,this.zeroBasedScrollOffset=Math.max(n,0),this.totalColumns=i,this.columnWidthFn=o,this.overrideFn=a,this.inlineStartOffset=l,this.calculate()}calculate(){this._initialize(this);for(let e=0;e<this.totalColumns;e++)if(this.columnWidth=this.getColumnWidth(e),this._process(e,this),this.startPositions.push(this.totalCalculatedWidth),this.totalCalculatedWidth+=this.columnWidth,this.totalCalculatedWidth>=this.zeroBasedScrollOffset+this.viewportWidth){this.needReverse=!1;break}this._finalize(this)}getColumnWidth(e){const t=this.columnWidthFn(e);return isNaN(t)?o:t}}t.ViewportColumnsCalculator=a},7628:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707)),i=r(83820);class o extends i.ViewportBaseCalculator{constructor(e){let{calculationTypes:t,viewportHeight:r,scrollOffset:n,totalRows:i,defaultRowHeight:o,rowHeightFn:a,overrideFn:l,horizontalScrollbarHeight:h}=e;super(t),(0,s.default)(this,"viewportHeight",0),(0,s.default)(this,"scrollOffset",0),(0,s.default)(this,"zeroBasedScrollOffset",0),(0,s.default)(this,"totalRows",0),(0,s.default)(this,"rowHeightFn",null),(0,s.default)(this,"rowHeight",0),(0,s.default)(this,"overrideFn",null),(0,s.default)(this,"horizontalScrollbarHeight",0),(0,s.default)(this,"innerViewportHeight",0),(0,s.default)(this,"totalCalculatedHeight",0),(0,s.default)(this,"startPositions",[]),(0,s.default)(this,"needReverse",!0),this.defaultHeight=o,this.viewportHeight=r,this.scrollOffset=n,this.zeroBasedScrollOffset=Math.max(n,0),this.totalRows=i,this.rowHeightFn=a,this.overrideFn=l,this.horizontalScrollbarHeight=null!=h?h:0,this.innerViewportHeight=this.zeroBasedScrollOffset+this.viewportHeight-this.horizontalScrollbarHeight,this.calculate()}calculate(){this._initialize(this);for(let e=0;e<this.totalRows;e++)if(this.rowHeight=this.getRowHeight(e),this._process(e,this),this.startPositions.push(this.totalCalculatedHeight),this.totalCalculatedHeight+=this.rowHeight,this.totalCalculatedHeight>=this.innerViewportHeight){this.needReverse=!1;break}this._finalize(this)}getRowHeight(e){const t=this.rowHeightFn(e);return isNaN(t)?this.defaultHeight:t}}t.ViewportRowsCalculator=o},2141:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707));function i(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function o(e,t){return e.get(l(e,t))}function a(e,t,r){return e.set(l(e,t),r),r}function l(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var h=new WeakMap;class u{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,s.default)(this,"row",null),(0,s.default)(this,"col",null),i(this,h,!1),a(h,this,r),void 0!==e&&void 0!==t&&(this.row=e,this.col=t)}isValid(e){const{countRows:t,countCols:r,countRowHeaders:n,countColHeaders:s}={countRows:0,countCols:0,countRowHeaders:0,countColHeaders:0,...e};return!(!Number.isInteger(this.row)||!Number.isInteger(this.col))&&(!(this.row<-s||this.col<-n)&&!(this.row>=t||this.col>=r))}isEqual(e){return e===this||this.row===e.row&&this.col===e.col}isHeader(){return!this.isCell()}isCell(){return this.row>=0&&this.col>=0}isRtl(){return o(h,this)}isSouthEastOf(e){return this.row>=e.row&&(o(h,this)?this.col<=e.col:this.col>=e.col)}isNorthWestOf(e){return this.row<=e.row&&(o(h,this)?this.col>=e.col:this.col<=e.col)}isSouthWestOf(e){return this.row>=e.row&&(o(h,this)?this.col>=e.col:this.col<=e.col)}isNorthEastOf(e){return this.row<=e.row&&(o(h,this)?this.col<=e.col:this.col>=e.col)}normalize(){return this.row=null===this.row?this.row:Math.max(this.row,0),this.col=null===this.col?this.col:Math.max(this.col,0),this}assign(e){return Number.isInteger(null==e?void 0:e.row)&&(this.row=e.row),Number.isInteger(null==e?void 0:e.col)&&(this.col=e.col),e instanceof u&&a(h,this,e.isRtl()),this}clone(){return new u(this.row,this.col,o(h,this))}toObject(){return{row:this.row,col:this.col}}}t.default=u},16818:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724);var s=n(r(85707)),i=n(r(2141));function o(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function a(e,t){return e.get(l(e,t))}function l(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var h=new WeakMap;class u{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];var i,a,u;(0,s.default)(this,"highlight",null),(0,s.default)(this,"from",null),(0,s.default)(this,"to",null),o(this,h,!1),this.highlight=e.clone(),this.from=t.clone(),this.to=r.clone(),a=this,u=n,(i=h).set(l(i,a),u)}setHighlight(e){return this.highlight=e.clone(),this}setFrom(e){return this.from=e.clone(),this}setTo(e){return this.to=e.clone(),this}isValid(e){return this.from.isValid(e)&&this.to.isValid(e)}isSingle(){return this.isSingleCell()||this.isSingleHeader()}isSingleCell(){return this.from.row>=0&&this.from.row===this.to.row&&this.from.col>=0&&this.from.col===this.to.col}isSingleHeader(){return(this.from.row<0||this.from.col<0)&&this.from.row===this.to.row&&this.from.col===this.to.col}isHeader(){return!(!this.from.isHeader()||!this.to.isHeader())||(this.from.col<0&&this.to.col<0||this.from.row<0&&this.to.row<0)}containsHeaders(){return this.from.isHeader()||this.to.isHeader()}getOuterHeight(){return Math.max(this.from.row,this.to.row)-Math.min(this.from.row,this.to.row)+1}getOuterWidth(){return Math.max(this.from.col,this.to.col)-Math.min(this.from.col,this.to.col)+1}getHeight(){if(this.from.row<0&&this.to.row<0)return 0;const e=Math.max(this.from.row,0),t=Math.max(this.to.row,0);return Math.max(e,t)-Math.min(e,t)+1}getWidth(){if(this.from.col<0&&this.to.col<0)return 0;const e=Math.max(this.from.col,0),t=Math.max(this.to.col,0);return Math.max(e,t)-Math.min(e,t)+1}getCellsCount(){return this.getWidth()*this.getHeight()}includes(e){const{row:t,col:r}=e,n=this.getOuterTopStartCorner(),s=this.getOuterBottomEndCorner();return n.row<=t&&s.row>=t&&n.col<=r&&s.col>=r}includesRange(e){return this.includes(e.getOuterTopStartCorner())&&this.includes(e.getOuterBottomEndCorner())}isEqual(e){return Math.min(this.from.row,this.to.row)===Math.min(e.from.row,e.to.row)&&Math.max(this.from.row,this.to.row)===Math.max(e.from.row,e.to.row)&&Math.min(this.from.col,this.to.col)===Math.min(e.from.col,e.to.col)&&Math.max(this.from.col,this.to.col)===Math.max(e.from.col,e.to.col)}overlaps(e){return e.isSouthEastOf(this.getOuterTopLeftCorner())&&e.isNorthWestOf(this.getOuterBottomRightCorner())}isSouthEastOf(e){return this.getOuterTopLeftCorner().isSouthEastOf(e)||this.getOuterBottomRightCorner().isSouthEastOf(e)}isNorthWestOf(e){return this.getOuterTopLeftCorner().isNorthWestOf(e)||this.getOuterBottomRightCorner().isNorthWestOf(e)}isOverlappingHorizontally(e){return this.getOuterTopEndCorner().col>=e.getOuterTopStartCorner().col&&this.getOuterTopEndCorner().col<=e.getOuterTopEndCorner().col||this.getOuterTopStartCorner().col<=e.getOuterTopEndCorner().col&&this.getOuterTopStartCorner().col>=e.getOuterTopStartCorner().col}isOverlappingVertically(e){return this.getOuterBottomStartCorner().row>=e.getOuterTopRightCorner().row&&this.getOuterBottomStartCorner().row<=e.getOuterBottomStartCorner().row||this.getOuterTopEndCorner().row<=e.getOuterBottomStartCorner().row&&this.getOuterTopEndCorner().row>=e.getOuterTopRightCorner().row}expand(e){const t=this.getOuterTopStartCorner(),r=this.getOuterBottomEndCorner();return(e.row<t.row||e.col<t.col||e.row>r.row||e.col>r.col)&&(this.from=this._createCellCoords(Math.min(t.row,e.row),Math.min(t.col,e.col)),this.to=this._createCellCoords(Math.max(r.row,e.row),Math.max(r.col,e.col)),!0)}expandByRange(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.includesRange(e)||!this.overlaps(e))return!1;const r=this.getOuterTopStartCorner(),n=this.getOuterBottomEndCorner(),s=this.getDirection(),i=e.getOuterTopStartCorner(),o=e.getOuterBottomEndCorner(),a=Math.min(r.row,i.row),l=Math.min(r.col,i.col),h=Math.max(n.row,o.row),u=Math.max(n.col,o.col),c=this._createCellCoords(a,l),d=this._createCellCoords(h,u);return this.from=c,this.to=d,this.setDirection(s),t&&(this.highlight.row===this.getOuterBottomRightCorner().row&&"N-S"===this.getVerticalDirection()&&this.flipDirectionVertically(),this.highlight.col===this.getOuterTopRightCorner().col&&"W-E"===this.getHorizontalDirection()&&this.flipDirectionHorizontally()),!0}getDirection(){return this.from.isNorthWestOf(this.to)?"NW-SE":this.from.isNorthEastOf(this.to)?"NE-SW":this.from.isSouthEastOf(this.to)?"SE-NW":this.from.isSouthWestOf(this.to)?"SW-NE":void 0}setDirection(e){switch(e){case"NW-SE":[this.from,this.to]=[this.getOuterTopLeftCorner(),this.getOuterBottomRightCorner()];break;case"NE-SW":[this.from,this.to]=[this.getOuterTopRightCorner(),this.getOuterBottomLeftCorner()];break;case"SE-NW":[this.from,this.to]=[this.getOuterBottomRightCorner(),this.getOuterTopLeftCorner()];break;case"SW-NE":[this.from,this.to]=[this.getOuterBottomLeftCorner(),this.getOuterTopRightCorner()]}}getVerticalDirection(){return["NE-SW","NW-SE"].indexOf(this.getDirection())>-1?"N-S":"S-N"}getHorizontalDirection(){return["NW-SE","SW-NE"].indexOf(this.getDirection())>-1?"W-E":"E-W"}flipDirectionVertically(){switch(this.getDirection()){case"NW-SE":this.setDirection("SW-NE");break;case"NE-SW":this.setDirection("SE-NW");break;case"SE-NW":this.setDirection("NE-SW");break;case"SW-NE":this.setDirection("NW-SE")}}flipDirectionHorizontally(){switch(this.getDirection()){case"NW-SE":this.setDirection("NE-SW");break;case"NE-SW":this.setDirection("NW-SE");break;case"SE-NW":this.setDirection("SW-NE");break;case"SW-NE":this.setDirection("SE-NW")}}getTopStartCorner(){return this._createCellCoords(Math.min(this.from.row,this.to.row),Math.min(this.from.col,this.to.col)).normalize()}getTopLeftCorner(){return a(h,this)?this.getTopEndCorner():this.getTopStartCorner()}getBottomEndCorner(){return this._createCellCoords(Math.max(this.from.row,this.to.row),Math.max(this.from.col,this.to.col)).normalize()}getBottomRightCorner(){return a(h,this)?this.getBottomStartCorner():this.getBottomEndCorner()}getTopEndCorner(){return this._createCellCoords(Math.min(this.from.row,this.to.row),Math.max(this.from.col,this.to.col)).normalize()}getTopRightCorner(){return a(h,this)?this.getTopStartCorner():this.getTopEndCorner()}getBottomStartCorner(){return this._createCellCoords(Math.max(this.from.row,this.to.row),Math.min(this.from.col,this.to.col)).normalize()}getBottomLeftCorner(){return a(h,this)?this.getBottomEndCorner():this.getBottomStartCorner()}getOuterTopStartCorner(){return this._createCellCoords(Math.min(this.from.row,this.to.row),Math.min(this.from.col,this.to.col))}getOuterTopLeftCorner(){return a(h,this)?this.getOuterTopEndCorner():this.getOuterTopStartCorner()}getOuterBottomEndCorner(){return this._createCellCoords(Math.max(this.from.row,this.to.row),Math.max(this.from.col,this.to.col))}getOuterBottomRightCorner(){return a(h,this)?this.getOuterBottomStartCorner():this.getOuterBottomEndCorner()}getOuterTopEndCorner(){return this._createCellCoords(Math.min(this.from.row,this.to.row),Math.max(this.from.col,this.to.col))}getOuterTopRightCorner(){return a(h,this)?this.getOuterTopStartCorner():this.getOuterTopEndCorner()}getOuterBottomStartCorner(){return this._createCellCoords(Math.max(this.from.row,this.to.row),Math.min(this.from.col,this.to.col))}getOuterBottomLeftCorner(){return a(h,this)?this.getOuterBottomEndCorner():this.getOuterBottomStartCorner()}isCorner(e){return e.isEqual(this.getOuterTopLeftCorner())||e.isEqual(this.getOuterTopRightCorner())||e.isEqual(this.getOuterBottomLeftCorner())||e.isEqual(this.getOuterBottomRightCorner())}getOppositeCorner(e){return e instanceof i.default&&(e.isEqual(this.getOuterBottomEndCorner())?this.getOuterTopStartCorner():e.isEqual(this.getOuterTopStartCorner())?this.getOuterBottomEndCorner():e.isEqual(this.getOuterTopEndCorner())?this.getOuterBottomStartCorner():e.isEqual(this.getOuterBottomStartCorner())?this.getOuterTopEndCorner():void 0)}getBordersSharedWith(e){if(!this.includesRange(e))return[];const t=Math.min(this.from.row,this.to.row),r=Math.max(this.from.row,this.to.row),n=Math.min(this.from.col,this.to.col),s=Math.max(this.from.col,this.to.col),i=Math.min(e.from.row,e.to.row),o=Math.max(e.from.row,e.to.row),l=Math.min(e.from.col,e.to.col),u=Math.max(e.from.col,e.to.col),c=[];return t===i&&c.push("top"),s===u&&c.push(a(h,this)?"left":"right"),r===o&&c.push("bottom"),n===l&&c.push(a(h,this)?"right":"left"),c}getInner(){const e=this.getOuterTopStartCorner(),t=this.getOuterBottomEndCorner(),r=[];for(let n=e.row;n<=t.row;n++)for(let s=e.col;s<=t.col;s++)this.from.row===n&&this.from.col===s||this.to.row===n&&this.to.col===s||r.push(this._createCellCoords(n,s));return r}getAll(){const e=this.getOuterTopStartCorner(),t=this.getOuterBottomEndCorner(),r=[];for(let n=e.row;n<=t.row;n++)for(let s=e.col;s<=t.col;s++)e.row===n&&e.col===s?r.push(e):t.row===n&&t.col===s?r.push(t):r.push(this._createCellCoords(n,s));return r}forAll(e){const t=this.getOuterTopStartCorner(),r=this.getOuterBottomEndCorner();for(let n=t.row;n<=r.row;n++)for(let s=t.col;s<=r.col;s++){if(!1===e(n,s))return}}clone(){return new u(this.highlight,this.from,this.to,a(h,this))}toObject(){return{from:this.from.toObject(),to:this.to.toObject()}}_createCellCoords(e,t){return new i.default(e,t,a(h,this))}}t.default=u},40564:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707)),i=r(62577),o=r(5893),a=n(r(3849)),l=n(r(15401)),h=n(r(2141)),u=n(r(16818));t.default=class{get eventManager(){return new a.default(this)}constructor(e,t){(0,s.default)(this,"wtTable",void 0),(0,s.default)(this,"wtScroll",void 0),(0,s.default)(this,"wtViewport",void 0),(0,s.default)(this,"wtOverlays",void 0),(0,s.default)(this,"selectionManager",void 0),(0,s.default)(this,"wtEvent",void 0),(0,s.default)(this,"guid",`wt_${(0,o.randomString)()}`),(0,s.default)(this,"drawInterrupted",!1),(0,s.default)(this,"drawn",!1),(0,s.default)(this,"activeOverlayName","master"),(0,s.default)(this,"domBindings",void 0),(0,s.default)(this,"wtSettings",void 0),this.domBindings={rootTable:e,rootDocument:e.ownerDocument,rootWindow:e.ownerDocument.defaultView},this.wtSettings=t,this.wtScroll=new l.default(this.createScrollDao())}findOriginalHeaders(){const e=[];if(this.wtTable.THEAD.childNodes.length&&this.wtTable.THEAD.childNodes[0].childNodes.length){for(let t=0,r=this.wtTable.THEAD.childNodes[0].childNodes.length;t<r;t++)e.push(this.wtTable.THEAD.childNodes[0].childNodes[t].innerHTML);this.wtSettings.getSetting("columnHeaders").length||this.wtSettings.update("columnHeaders",[function(t,r){(0,i.fastInnerText)(r,e[t])}])}}createCellCoords(e,t){return new h.default(e,t,this.wtSettings.getSetting("rtlMode"))}createCellRange(e,t,r){return new u.default(e,t,r,this.wtSettings.getSetting("rtlMode"))}draw(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.drawInterrupted=!1,this.wtTable.isVisible()?this.wtTable.draw(e):this.drawInterrupted=!0,this}getCell(e){if(!(arguments.length>1&&void 0!==arguments[1]&&arguments[1]))return this.wtTable.getCell(e);const t=this.wtSettings.getSetting("totalRows"),r=this.wtSettings.getSetting("fixedRowsTop"),n=this.wtSettings.getSetting("fixedRowsBottom"),s=this.wtSettings.getSetting("fixedColumnsStart");if(e.row<r&&e.col<s)return this.wtOverlays.topInlineStartCornerOverlay.clone.wtTable.getCell(e);if(e.row<r)return this.wtOverlays.topOverlay.clone.wtTable.getCell(e);if(e.col<s&&e.row>=t-n){if(this.wtOverlays.bottomInlineStartCornerOverlay&&this.wtOverlays.bottomInlineStartCornerOverlay.clone)return this.wtOverlays.bottomInlineStartCornerOverlay.clone.wtTable.getCell(e)}else{if(e.col<s)return this.wtOverlays.inlineStartOverlay.clone.wtTable.getCell(e);if(e.row<t&&e.row>=t-n&&this.wtOverlays.bottomOverlay&&this.wtOverlays.bottomOverlay.clone)return this.wtOverlays.bottomOverlay.clone.wtTable.getCell(e)}return this.wtTable.getCell(e)}scrollViewport(e,t,r){return this.wtScroll.scrollViewport(e,t,r)}scrollViewportHorizontally(e,t){return this.wtScroll.scrollViewportHorizontally(e,t)}scrollViewportVertically(e,t){return this.wtScroll.scrollViewportVertically(e,t)}getViewport(){return[this.wtTable.getFirstVisibleRow(),this.wtTable.getFirstVisibleColumn(),this.wtTable.getLastVisibleRow(),this.wtTable.getLastVisibleColumn()]}destroy(){this.wtOverlays.destroy(),this.wtEvent.destroy()}createScrollDao(){const e=this;return{get drawn(){return e.drawn},get topOverlay(){return e.wtOverlays.topOverlay},get inlineStartOverlay(){return e.wtOverlays.inlineStartOverlay},get wtTable(){return e.wtTable},get wtViewport(){return e.wtViewport},get wtSettings(){return e.wtSettings},get rootWindow(){return e.domBindings.rootWindow},get totalRows(){return e.wtSettings.getSetting("totalRows")},get totalColumns(){return e.wtSettings.getSetting("totalColumns")},get fixedRowsTop(){return e.wtSettings.getSetting("fixedRowsTop")},get fixedRowsBottom(){return e.wtSettings.getSetting("fixedRowsBottom")},get fixedColumnsStart(){return e.wtSettings.getSetting("fixedColumnsStart")}}}getTableDao(){const e=this;return{get wot(){return e},get parentTableOffset(){return e.cloneSource.wtTable.tableOffset},get cloneSource(){return e.cloneSource},get workspaceWidth(){return e.wtViewport.getWorkspaceWidth()},get wtViewport(){return e.wtViewport},get wtOverlays(){return e.wtOverlays},get selectionManager(){return e.selectionManager},get stylesHandler(){return e.stylesHandler},get drawn(){return e.drawn},set drawn(t){e.drawn=t},get wtTable(){return e.wtTable},get startColumnRendered(){return e.wtViewport.columnsRenderCalculator.startColumn},get startColumnVisible(){return e.wtViewport.columnsVisibleCalculator.startColumn},get startColumnPartiallyVisible(){return e.wtViewport.columnsPartiallyVisibleCalculator.startColumn},get endColumnRendered(){return e.wtViewport.columnsRenderCalculator.endColumn},get endColumnVisible(){return e.wtViewport.columnsVisibleCalculator.endColumn},get endColumnPartiallyVisible(){return e.wtViewport.columnsPartiallyVisibleCalculator.endColumn},get countColumnsRendered(){return e.wtViewport.columnsRenderCalculator.count},get countColumnsVisible(){return e.wtViewport.columnsVisibleCalculator.count},get startRowRendered(){return e.wtViewport.rowsRenderCalculator.startRow},get startRowVisible(){return e.wtViewport.rowsVisibleCalculator.startRow},get startRowPartiallyVisible(){return e.wtViewport.rowsPartiallyVisibleCalculator.startRow},get endRowRendered(){return e.wtViewport.rowsRenderCalculator.endRow},get endRowVisible(){return e.wtViewport.rowsVisibleCalculator.endRow},get endRowPartiallyVisible(){return e.wtViewport.rowsPartiallyVisibleCalculator.endRow},get countRowsRendered(){return e.wtViewport.rowsRenderCalculator.count},get countRowsVisible(){return e.wtViewport.rowsVisibleCalculator.count},get columnHeaders(){return e.wtSettings.getSetting("columnHeaders")},get rowHeaders(){return e.wtSettings.getSetting("rowHeaders")}}}}},36817:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=n(r(15478)),o=n(r(40564));class a extends o.default{constructor(e,t,r){super(e,t),(0,s.default)(this,"cloneSource",void 0),(0,s.default)(this,"cloneOverlay",void 0);const n=this.wtSettings.getSetting("facade",this);this.cloneSource=r.source,this.cloneOverlay=r.overlay,this.stylesHandler=r.stylesHandler,this.wtTable=this.cloneOverlay.createTable(this.getTableDao(),n,this.domBindings,this.wtSettings),this.wtViewport=r.viewport,this.selectionManager=r.selectionManager,this.wtEvent=new i.default(n,this.domBindings,this.wtSettings,this.eventManager,this.wtTable,this.selectionManager,r.event),this.findOriginalHeaders()}}t.default=a},9717:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(15478)),i=n(r(66925)),o=r(69397),a=n(r(34117)),l=n(r(78951)),h=n(r(16598)),u=n(r(40564)),c=r(67600),d=r(25499),p=r(62577),g=r(52714);class f extends u.default{constructor(e,t){super(e,new a.default(t)),this.stylesHandler=new g.StylesHandler(this.domBindings);const r=this.wtSettings.getSetting("facade",this);this.wtTable=new l.default(this.getTableDao(),r,this.domBindings,this.wtSettings),this.wtViewport=new h.default(this.getViewportDao(),this.domBindings,this.wtSettings,this.eventManager,this.wtTable),this.selectionManager=new c.SelectionManager(this.wtSettings.getSetting("selections")),this.wtEvent=new s.default(r,this.domBindings,this.wtSettings,this.eventManager,this.wtTable,this.selectionManager),this.wtOverlays=new i.default(this,r,this.domBindings,this.wtSettings,this.eventManager,this.wtTable),this.exportSettingsAsClassNames(),this.findOriginalHeaders()}exportSettingsAsClassNames(){const e=[],t=[];(0,d.objectEach)({rowHeaders:"htRowHeaders",columnHeaders:"htColumnHeaders"},((r,n)=>{this.wtSettings.getSetting(n).length&&t.push(r),e.push(r)})),(0,p.removeClass)(this.wtTable.wtRootElement.parentNode,e),(0,p.addClass)(this.wtTable.wtRootElement.parentNode,t)}getOverlayByName(e){var t;if(!o.CLONE_TYPES.includes(e))return null;const r=e.replace(/_([a-z])/g,(e=>e[1].toUpperCase()));return null!==(t=this.wtOverlays[`${r}Overlay`])&&void 0!==t?t:null}getViewportDao(){const e=this;return{get wot(){return e},get topOverlayTrimmingContainer(){return e.wtOverlays.topOverlay.trimmingContainer},get inlineStartOverlayTrimmingContainer(){return e.wtOverlays.inlineStartOverlay.trimmingContainer},get topScrollPosition(){return e.wtOverlays.topOverlay.getScrollPosition()},get topParentOffset(){return e.wtOverlays.topOverlay.getTableParentOffset()},get inlineStartScrollPosition(){return e.wtOverlays.inlineStartOverlay.getScrollPosition()},get inlineStartParentOffset(){return e.wtOverlays.inlineStartOverlay.getTableParentOffset()},get topOverlay(){return e.wtOverlays.topOverlay},get inlineStartOverlay(){return e.wtOverlays.inlineStartOverlay},get bottomOverlay(){return e.wtOverlays.bottomOverlay}}}}t.default=f},15478:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834);var n=r(62577),s=r(89804),i=r(85992),o=r(25046),a=r(70505);function l(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function h(e,t){return e.get(c(e,t))}function u(e,t,r){return e.set(c(e,t),r),r}function c(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var d=new WeakMap,p=new WeakMap,g=new WeakMap,f=new WeakMap,m=new WeakMap,y=new WeakMap,E=new WeakMap,w=new WeakMap,C=new WeakMap,v=new WeakMap;t.default=class{constructor(e,t,r,n,s,i){let o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null;l(this,d,void 0),l(this,p,void 0),l(this,g,void 0),l(this,f,void 0),l(this,m,void 0),l(this,y,void 0),l(this,E,void 0),l(this,w,void 0),l(this,C,[null,null]),l(this,v,[null,null]),u(d,this,r),u(p,this,t),u(g,this,s),u(f,this,i),u(m,this,o),u(y,this,n),u(E,this,e),this.registerEvents()}registerEvents(){h(y,this).addEventListener(h(g,this).holder,"contextmenu",(e=>this.onContextMenu(e))),h(y,this).addEventListener(h(g,this).TABLE,"mouseover",(e=>this.onMouseOver(e))),h(y,this).addEventListener(h(g,this).TABLE,"mouseout",(e=>this.onMouseOut(e)));const e=()=>{h(y,this).addEventListener(h(g,this).holder,"touchstart",(e=>this.onTouchStart(e))),h(y,this).addEventListener(h(g,this).holder,"touchend",(e=>this.onTouchEnd(e))),this.momentumScrolling||(this.momentumScrolling={}),h(y,this).addEventListener(h(g,this).holder,"scroll",(()=>{clearTimeout(this.momentumScrolling._timeout),this.momentumScrolling.ongoing||h(d,this).getSetting("onBeforeTouchScroll"),this.momentumScrolling.ongoing=!0,this.momentumScrolling._timeout=setTimeout((()=>{this.touchApplied||(this.momentumScrolling.ongoing=!1,h(d,this).getSetting("onAfterMomentumScroll"))}),200)}))},t=()=>{h(y,this).addEventListener(h(g,this).holder,"mouseup",(e=>this.onMouseUp(e))),h(y,this).addEventListener(h(g,this).holder,"mousedown",(e=>this.onMouseDown(e)))};(0,o.isMobileBrowser)()?e():((0,i.isTouchSupported)()&&e(),t())}selectedCellWasTouched(e){const t=this.parentCell(e).coords;if(h(w,this)&&t){const[e,r]=[t.row,h(w,this).from.row],[n,s]=[t.col,h(w,this).from.col];return e===r&&n===s}return!1}parentCell(e){const t={},r=h(g,this).TABLE,s=(0,n.closestDown)(e,["TD","TH"],r);return s?(t.coords=h(g,this).getCoords(s),t.TD=s):(0,n.hasClass)(e,"wtBorder")&&(0,n.hasClass)(e,"current")?(t.coords=h(f,this).getFocusSelection().cellRange.highlight,t.TD=h(g,this).getCell(t.coords)):(0,n.hasClass)(e,"wtBorder")&&(0,n.hasClass)(e,"area")&&h(f,this).getAreaSelection().cellRange&&(t.coords=h(f,this).getAreaSelection().cellRange.to,t.TD=h(g,this).getCell(t.coords)),t}onMouseDown(e){const t=h(p,this).rootDocument.activeElement,r=(0,s.partial)(n.getParent,e.target),i=e.target;if(!["TD","TH"].includes(t.nodeName)&&(i===t||r(0)===t||r(1)===t))return;const o=this.parentCell(i);(0,n.hasClass)(i,"corner")?h(d,this).getSetting("onCellCornerMouseDown",e,i):o.TD&&h(d,this).has("onCellMouseDown")&&this.callListener("onCellMouseDown",e,o.coords,o.TD),(0===e.button||this.touchApplied)&&o.TD&&(h(v,this)[0]=o.TD,clearTimeout(h(C,this)[0]),h(C,this)[0]=setTimeout((()=>{h(v,this)[0]=null}),1e3))}onContextMenu(e){if(h(d,this).has("onCellContextMenu")){const t=this.parentCell(e.target);t.TD&&this.callListener("onCellContextMenu",e,t.coords,t.TD)}}onMouseOver(e){if(!h(d,this).has("onCellMouseOver"))return;const t=h(g,this).TABLE,r=(0,n.closestDown)(e.target,["TD","TH"],t),s=h(m,this)||this;r&&r!==s.lastMouseOver&&(0,n.isChildOf)(r,t)&&(s.lastMouseOver=r,this.callListener("onCellMouseOver",e,h(g,this).getCoords(r),r))}onMouseOut(e){if(!h(d,this).has("onCellMouseOut"))return;const t=h(g,this).TABLE,r=(0,n.closestDown)(e.target,["TD","TH"],t),s=(0,n.closestDown)(e.relatedTarget,["TD","TH"],t),i=h(m,this)||this;r&&r!==s&&(0,n.isChildOf)(r,t)&&(this.callListener("onCellMouseOut",e,h(g,this).getCoords(r),r),null===s&&(i.lastMouseOver=null))}onMouseUp(e){const t=this.parentCell(e.target);t.TD&&h(d,this).has("onCellMouseUp")&&this.callListener("onCellMouseUp",e,t.coords,t.TD),(0===e.button||this.touchApplied)&&(t.TD===h(v,this)[0]&&t.TD===h(v,this)[1]?((0,n.hasClass)(e.target,"corner")?this.callListener("onCellCornerDblClick",e,t.coords,t.TD):this.callListener("onCellDblClick",e,t.coords,t.TD),h(v,this)[0]=null,h(v,this)[1]=null):t.TD===h(v,this)[0]&&(h(v,this)[1]=t.TD,clearTimeout(h(C,this)[1]),h(C,this)[1]=setTimeout((()=>{h(v,this)[1]=null}),500)))}onTouchStart(e){u(w,this,h(f,this).getFocusSelection().cellRange),this.touchApplied=!0,this.onMouseDown(e)}onTouchEnd(e){var t;const r=e.target,n=null===(t=this.parentCell(r))||void 0===t?void 0:t.coords,s=(0,a.isDefined)(n)&&n.row>=0&&n.col>=0;if(e.cancelable&&s&&h(d,this).getSetting("isDataViewInstance")){const t=["A","BUTTON","INPUT"];(0,o.isIOS)()&&((0,o.isChromeWebKit)()||(0,o.isFirefoxWebKit)())&&this.selectedCellWasTouched(r)&&!t.includes(r.tagName)?e.preventDefault():this.selectedCellWasTouched(r)||e.preventDefault()}this.onMouseUp(e),this.touchApplied=!1}callListener(e,t,r,n){const s=h(d,this).getSettingPure(e);s&&s(t,r,n,h(E,this).call(this))}destroy(){clearTimeout(h(C,this)[0]),clearTimeout(h(C,this)[1]),h(y,this).destroy()}}},11322:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(9717)),i=n(r(40564));class o{constructor(e){e instanceof i.default?this._wot=e:this._initFromSettings(e)}_initFromSettings(e){e.facade=e=>{const t=new o(e);return()=>t},this._wot=new s.default(e.table,e)}get guid(){return this._wot.guid}get rootDocument(){return this._wot.domBindings.rootDocument}get rootWindow(){return this._wot.domBindings.rootWindow}get wtSettings(){return this._wot.wtSettings}get cloneSource(){return this._wot.cloneSource}get cloneOverlay(){return this._wot.cloneOverlay}get selectionManager(){return this._wot.selectionManager}get wtViewport(){return this._wot.wtViewport}get wtOverlays(){return this._wot.wtOverlays}get wtTable(){return this._wot.wtTable}get wtEvent(){return this._wot.wtEvent}get wtScroll(){return this._wot.wtScroll}get drawn(){return this._wot.drawn}set drawn(e){this._wot.drawn=e}get activeOverlayName(){return this._wot.activeOverlayName}get drawInterrupted(){return this._wot.drawInterrupted}set drawInterrupted(e){this._wot.drawInterrupted=e}get lastMouseOver(){return this._wot.lastMouseOver}set lastMouseOver(e){this._wot.lastMouseOver=e}get momentumScrolling(){return this._wot.momentumScrolling}set momentumScrolling(e){this._wot.momentumScrolling=e}get touchApplied(){return this._wot.touchApplied}set touchApplied(e){this._wot.touchApplied=e}get domBindings(){return this._wot.domBindings}get eventListeners(){return this._wot.eventListeners}set eventListeners(e){this._wot.eventListeners=e}get eventManager(){return this._wot.eventManager}get stylesHandler(){return this._wot.stylesHandler}createCellCoords(e,t){return this._wot.createCellCoords(e,t)}createCellRange(e,t,r){return this._wot.createCellRange(e,t,r)}draw(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._wot.draw(e),this}getCell(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this._wot.getCell(e,t)}scrollViewport(e,t,r){return this._wot.scrollViewport(e,t,r)}scrollViewportHorizontally(e,t){return this._wot.scrollViewportHorizontally(e,t)}scrollViewportVertically(e,t){return this._wot.scrollViewportVertically(e,t)}getViewport(){return this._wot.getViewport()}getOverlayName(){return this._wot.cloneOverlay?this._wot.cloneOverlay.type:"master"}getOverlayByName(e){return this._wot.getOverlayByName(e)}exportSettingsAsClassNames(){return this._wot.exportSettingsAsClassNames()}update(e,t){return this._wot.wtSettings.update(e,t),this}getSetting(e,t,r,n,s){return this._wot.wtSettings.getSetting(e,t,r,n,s)}hasSetting(e){return this._wot.wtSettings.hasSetting(e)}destroy(){this._wot.destroy()}}t.default=o},62383:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));t.default=class{constructor(e,t,r){(0,s.default)(this,"offset",void 0),(0,s.default)(this,"total",void 0),(0,s.default)(this,"countTH",void 0),this.offset=e,this.total=t,this.countTH=r}offsetted(e){return e+this.offset}unOffsetted(e){return e-this.offset}renderedToSource(e){return this.offsetted(e)}sourceToRendered(e){return this.unOffsetted(e)}offsettedTH(e){return e-this.countTH}unOffsettedTH(e){return e+this.countTH}visibleRowHeadedColumnToSourceColumn(e){return this.renderedToSource(this.offsettedTH(e))}sourceColumnToVisibleRowHeadedColumn(e){return this.unOffsettedTH(this.sourceToRendered(e))}}},82217:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));t.default=class{constructor(e,t,r){(0,s.default)(this,"offset",void 0),(0,s.default)(this,"total",void 0),(0,s.default)(this,"countTH",void 0),this.offset=e,this.total=t,this.countTH=r}offsetted(e){return e+this.offset}unOffsetted(e){return e-this.offset}renderedToSource(e){return this.offsetted(e)}sourceToRendered(e){return this.unOffsetted(e)}offsettedTH(e){return e-this.countTH}unOffsettedTH(e){return e+this.countTH}visibleColHeadedRowToSourceRow(e){return this.renderedToSource(this.offsettedTH(e))}sourceRowToVisibleColHeadedRow(e){return this.unOffsettedTH(this.sourceToRendered(e))}}},50206:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=r(63059);t.ViewportColumnsCalculator=s.ViewportColumnsCalculator,t.ViewportRowsCalculator=s.ViewportRowsCalculator,t.DEFAULT_COLUMN_WIDTH=s.DEFAULT_COLUMN_WIDTH;var i=n(r(2141));t.CellCoords=i.default;var o=n(r(16818));t.CellRange=o.default;var a=n(r(11322));t.default=a.default,t.Core=a.default;var l=r(70471);t.Selection=l.Selection,t.HIGHLIGHT_ACTIVE_HEADER_TYPE=l.ACTIVE_HEADER_TYPE,t.HIGHLIGHT_AREA_TYPE=l.AREA_TYPE,t.HIGHLIGHT_FOCUS_TYPE=l.FOCUS_TYPE,t.HIGHLIGHT_FILL_TYPE=l.FILL_TYPE,t.HIGHLIGHT_HEADER_TYPE=l.HEADER_TYPE,t.HIGHLIGHT_ROW_TYPE=l.ROW_TYPE,t.HIGHLIGHT_COLUMN_TYPE=l.COLUMN_TYPE,t.HIGHLIGHT_CUSTOM_SELECTION_TYPE=l.CUSTOM_SELECTION_TYPE;var h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=p(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(36936));t.Renderer=h;var u=r(97646);t.OrderView=u.OrderView,t.SharedOrderView=u.SharedOrderView;var c=r(76095);t.NodesPool=c.NodesPool;var d=r(3849);function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(p=function(e){return e?r:t})(e)}t.getListenersCounter=d.getListenersCounter},18113:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(14846),r(69655);var s=n(r(85707)),i=r(62577),o=r(25499),a=r(14859),l=r(85484),h=n(r(36817)),u=r(71120);t.Overlay=class{constructor(e,t,r,n,a){(0,s.default)(this,"wtSettings",null),(0,o.defineGetter)(this,"wot",e,{writable:!1}),this.domBindings=a,this.facadeGetter=t,this.wtSettings=n;const{TABLE:l,hider:h,spreader:u,holder:c,wtRootElement:d}=this.wot.wtTable;this.instance=this.wot,this.type=r,this.mainTableScrollableElement=null,this.TABLE=l,this.hider=h,this.spreader=u,this.holder=c,this.wtRootElement=d,this.trimmingContainer=(0,i.getTrimmingContainer)(this.hider.parentNode.parentNode),this.needFullRender=this.shouldBeRendered(),this.clone=this.makeClone()}hasRenderingStateChanged(){return this.needFullRender!==this.shouldBeRendered()}updateStateOfRendering(e){"before"===e&&this.shouldBeRendered()?this.needFullRender=!0:"after"!==e||this.shouldBeRendered()||(this.needFullRender=!1)}shouldBeRendered(){return!0}updateTrimmingContainer(){this.trimmingContainer=(0,i.getTrimmingContainer)(this.hider.parentNode.parentNode)}updateMainScrollableElement(){const{wtTable:e}=this.wot,{rootWindow:t}=this.domBindings;"hidden"===t.getComputedStyle(e.wtRootElement.parentNode).getPropertyValue("overflow")?this.mainTableScrollableElement=this.wot.wtTable.holder:this.mainTableScrollableElement=(0,i.getScrollableElement)(e.TABLE)}getRelativeCellPosition(e,t,r){if(!1===this.clone.wtTable.holder.contains(e))return void(0,a.warn)(`The provided element is not a child of the ${this.type} overlay`);const n=this.mainTableScrollableElement===this.domBindings.rootWindow,s=r<this.wtSettings.getSetting("fixedColumnsStart"),i=t<this.wtSettings.getSetting("fixedRowsTop"),o=t>=this.wtSettings.getSetting("totalRows")-this.wtSettings.getSetting("fixedRowsBottom"),l=this.clone.wtTable.spreader,h={start:this.getRelativeStartPosition(l),top:l.offsetTop},u={start:this.getRelativeStartPosition(e),top:e.offsetTop};let c=null;return c=n?this.getRelativeCellPositionWithinWindow(i,s,u,h):this.getRelativeCellPositionWithinHolder(i,o,s,u,h),c}getRelativeStartPosition(e){return this.isRtl()?e.offsetParent.offsetWidth-e.offsetLeft-e.offsetWidth:e.offsetLeft}getRelativeCellPositionWithinWindow(e,t,r,n){const s=this.wot.wtTable.wtRootElement.getBoundingClientRect();let o=0,a=0;if(t){let e=s.left;this.isRtl()&&(e=this.domBindings.rootWindow.innerWidth-(s.left+s.width+(0,i.getScrollbarWidth)())),o=e<=0?-1*e:0}else o=n.start;if(e){a=this.clone.wtTable.TABLE.getBoundingClientRect().top-s.top}else a=n.top;return{start:r.start+o,top:r.top+a}}getRelativeCellPositionWithinHolder(e,t,r,n,s){const i=this.wot.wtOverlays.inlineStartOverlay.getScrollPosition(),o=this.wot.wtOverlays.topOverlay.getScrollPosition();let a=0,l=0;if(r||(a=i-s.start),t){const e=this.wot.wtTable.wtRootElement.getBoundingClientRect();l=-1*this.clone.wtTable.TABLE.getBoundingClientRect().top+e.top}else e||(l=o-s.top);return{start:n.start-a,top:n.top-l}}makeClone(){if(-1===l.CLONE_TYPES.indexOf(this.type))throw new Error(`Clone type "${this.type}" is not supported.`);const{wtTable:e,wtSettings:t}=this.wot,{rootDocument:r,rootWindow:n}=this.domBindings,s=r.createElement("div"),o=r.createElement("table"),a=e.wtRootElement.parentNode;s.className=`${l.CLONE_CLASS_NAMES.get(this.type)} handsontable`,s.setAttribute("dir",this.isRtl()?"rtl":"ltr"),s.style.position="absolute",s.style.top=0,s.style.overflow="visible",this.isRtl()?s.style.right=0:s.style.left=0,t.getSetting("ariaTags")&&(0,i.setAttribute)(s,[(0,u.A11Y_PRESENTATION)()]),o.className=e.TABLE.className;e.TABLE.getAttribute("role")&&o.setAttribute("role",e.TABLE.getAttribute("role")),s.appendChild(o),a.appendChild(s);const c=this.wtSettings.getSetting("preventOverflow");return!0===c||"horizontal"===c&&this.type===l.CLONE_TOP||"vertical"===c&&this.type===l.CLONE_INLINE_START?this.mainTableScrollableElement=n:"hidden"===n.getComputedStyle(a).getPropertyValue("overflow")?this.mainTableScrollableElement=e.holder:this.mainTableScrollableElement=(0,i.getScrollableElement)(e.TABLE),new h.default(o,this.wtSettings,{source:this.wot,overlay:this,viewport:this.wot.wtViewport,event:this.wot.wtEvent,selectionManager:this.wot.selectionManager,stylesHandler:this.wot.stylesHandler})}refresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.needFullRender){const t=this.clone.cloneSource;t.activeOverlayName=this.clone.wtTable.name,this.clone.draw(e),t.activeOverlayName="master"}}reset(){const e=this.clone.wtTable.holder,t=this.clone.wtTable.hider;[e.style,t.style,e.parentNode.style].forEach((e=>{e.width="",e.height=""}))}isRtl(){return this.wtSettings.getSetting("rtlMode")}destroy(){this.clone.eventManager.destroy()}}},12942:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=r(62577),o=n(r(55538)),a=r(18113),l=r(85484);class h extends a.Overlay{constructor(e,t,r,n){super(e,t,l.CLONE_BOTTOM,r,n),(0,s.default)(this,"cachedFixedRowsBottom",-1),this.cachedFixedRowsBottom=this.wtSettings.getSetting("fixedRowsBottom")}createTable(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return new o.default(...t)}shouldBeRendered(){return this.wtSettings.getSetting("shouldRenderBottomOverlay")}resetFixedPosition(){if(!this.needFullRender||!this.shouldBeRendered()||!this.wot.wtTable.holder.parentNode)return!1;const{rootWindow:e}=this.domBindings,t=this.clone.wtTable.holder.parentNode;t.style.top="";let r=0;const n=this.wtSettings.getSetting("preventOverflow");this.trimmingContainer!==e||n&&"vertical"===n?(r=this.getScrollPosition(),this.repositionOverlay()):(r=this.getOverlayOffset(),t.style.bottom=`${r}px`);const s=this.adjustHeaderBordersPosition(r);return this.adjustElementsSize(),s}repositionOverlay(){const{wtTable:e,wtViewport:t}=this.wot,{rootDocument:r}=this.domBindings,n=this.clone.wtTable.holder.parentNode;let s=0;t.hasVerticalScroll()||(s+=t.getWorkspaceHeight()-e.getTotalHeight()),t.hasVerticalScroll()&&t.hasHorizontalScroll()&&(s+=(0,i.getScrollbarWidth)(r)),n.style.bottom=`${s}px`}setScrollPosition(e){const{rootWindow:t}=this.domBindings;let r=!1;return this.mainTableScrollableElement===t?(t.scrollTo((0,i.getWindowScrollLeft)(t),e),r=!0):this.mainTableScrollableElement.scrollTop!==e&&(this.mainTableScrollableElement.scrollTop=e,r=!0),r}onScroll(){this.wtSettings.getSetting("onScrollHorizontally")}sumCellSizes(e,t){const{wtTable:r,stylesHandler:n}=this.wot,s=n.getDefaultRowHeight();let i=e,o=0;for(;i<t;){const e=r.getRowHeight(i);o+=void 0===e?s:e,i+=1}return o}adjustElementsSize(){this.updateTrimmingContainer(),this.needFullRender&&(this.adjustRootElementSize(),this.adjustRootChildrenSize())}adjustRootElementSize(){const{wtTable:e,wtViewport:t}=this.wot,{rootDocument:r,rootWindow:n}=this.domBindings,s=this.clone.wtTable.holder.parentNode.style,o=this.wtSettings.getSetting("preventOverflow");if(this.trimmingContainer!==n||"horizontal"===o){let n=t.getWorkspaceWidth();t.hasVerticalScroll()&&(n-=(0,i.getScrollbarWidth)(r)),n=Math.min(n,e.wtRootElement.scrollWidth),s.width=`${n}px`}else s.width="";this.clone.wtTable.holder.style.width=s.width;let a=(0,i.outerHeight)(this.clone.wtTable.TABLE);e.hasDefinedSize()||(a=0),s.height=`${a}px`}adjustRootChildrenSize(){const{holder:e}=this.clone.wtTable;this.clone.wtTable.hider.style.width=this.hider.style.width,e.style.width=e.parentNode.style.width,e.style.height=e.parentNode.style.height}applyToDOM(){const e=this.wtSettings.getSetting("totalRows");if("number"==typeof this.wot.wtViewport.rowsRenderCalculator.startPosition)this.spreader.style.top=`${this.wot.wtViewport.rowsRenderCalculator.startPosition}px`;else{if(0!==e)throw new Error("Incorrect value of the rowsRenderCalculator");this.spreader.style.top="0"}this.spreader.style.bottom="",this.needFullRender&&this.syncOverlayOffset()}syncOverlayOffset(){const e=this.isRtl()?"right":"left",{spreader:t}=this.clone.wtTable;"number"==typeof this.wot.wtViewport.columnsRenderCalculator.startPosition?t.style[e]=`${this.wot.wtViewport.columnsRenderCalculator.startPosition}px`:t.style[e]=""}scrollTo(e,t){let r=this.getTableParentOffset();const n=(this.wot.cloneSource?this.wot.cloneSource:this.wot).wtTable.holder;let s=0;t&&n.offsetHeight!==n.clientHeight&&(s=(0,i.getScrollbarWidth)(this.domBindings.rootDocument)),t?(r+=this.sumCellSizes(0,e+1),r-=this.wot.wtViewport.getViewportHeight(),r+=1):r+=this.sumCellSizes(this.wtSettings.getSetting("fixedRowsBottom"),e),r+=s,this.setScrollPosition(r)}getTableParentOffset(){return this.mainTableScrollableElement===this.domBindings.rootWindow?this.wot.wtTable.holderOffset.top:0}getScrollPosition(){return(0,i.getScrollTop)(this.mainTableScrollableElement,this.domBindings.rootWindow)}getOverlayOffset(){const{rootWindow:e}=this.domBindings,t=this.wtSettings.getSetting("preventOverflow");let r=0;if(this.trimmingContainer===e&&(!t||"vertical"!==t)){const e=this.wot.wtTable.getTotalHeight(),t=e-this.clone.wtTable.getTotalHeight(),n=this.domBindings.rootDocument.documentElement.clientHeight;r=Math.max(this.getTableParentOffset()-this.getScrollPosition()-n+e,0),r>t&&(r=0)}return r}adjustHeaderBordersPosition(e){const t=this.wtSettings.getSetting("fixedRowsBottom"),r=this.cachedFixedRowsBottom!==t,n=this.wtSettings.getSetting("columnHeaders");let s=!1;if((r||0===t)&&n.length>0){const t=this.wot.wtTable.holder.parentNode,r=(0,i.hasClass)(t,"innerBorderBottom");this.cachedFixedRowsBottom=this.wtSettings.getSetting("fixedRowsBottom"),e||0===this.wtSettings.getSetting("totalRows")?((0,i.addClass)(t,"innerBorderBottom"),s=!r):((0,i.removeClass)(t,"innerBorderBottom"),s=r)}return s}}t.BottomOverlay=h},72478:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=r(62577),i=n(r(41618)),o=r(18113),a=r(85484);class l extends o.Overlay{constructor(e,t,r,n,s,i){super(e,t,a.CLONE_BOTTOM_INLINE_START_CORNER,r,n),this.bottomOverlay=s,this.inlineStartOverlay=i}createTable(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return new i.default(...t)}shouldBeRendered(){return this.wtSettings.getSetting("shouldRenderBottomOverlay")&&this.wtSettings.getSetting("shouldRenderInlineStartOverlay")}resetFixedPosition(){const{wot:e}=this;if(this.updateTrimmingContainer(),!e.wtTable.holder.parentNode)return!1;const t=this.clone.wtTable.holder.parentNode;if(t.style.top="",this.trimmingContainer===this.domBindings.rootWindow){const e=this.inlineStartOverlay.getOverlayOffset(),r=this.bottomOverlay.getOverlayOffset();t.style[this.isRtl()?"right":"left"]=`${e}px`,t.style.bottom=`${r}px`}else(0,s.resetCssTransform)(t),this.repositionOverlay();let r=(0,s.outerHeight)(this.clone.wtTable.TABLE);const n=(0,s.outerWidth)(this.clone.wtTable.TABLE);return this.wot.wtTable.hasDefinedSize()||(r=0),t.style.height=`${r}px`,t.style.width=`${n}px`,!1}repositionOverlay(){const{wtTable:e,wtViewport:t}=this.wot,{rootDocument:r}=this.domBindings,n=this.clone.wtTable.holder.parentNode;let i=0;t.hasVerticalScroll()||(i+=t.getWorkspaceHeight()-e.getTotalHeight()),t.hasVerticalScroll()&&t.hasHorizontalScroll()&&(i+=(0,s.getScrollbarWidth)(r)),n.style.bottom=`${i}px`}}t.BottomInlineStartCornerOverlay=l},85484:(e,t)=>{"use strict";t.__esModule=!0;const r=t.CLONE_TOP="top",n=t.CLONE_BOTTOM="bottom",s=t.CLONE_INLINE_START="inline_start",i=t.CLONE_TOP_INLINE_START_CORNER="top_inline_start_corner",o=t.CLONE_BOTTOM_INLINE_START_CORNER="bottom_inline_start_corner";t.CLONE_TYPES=[r,n,s,i,o],t.CLONE_CLASS_NAMES=new Map([[r,`ht_clone_${r}`],[n,`ht_clone_${n}`],[s,`ht_clone_${s} ht_clone_left`],[i,`ht_clone_${i} ht_clone_top_left_corner`],[o,`ht_clone_${o} ht_clone_bottom_left_corner`]])},69397:(e,t,r)=>{"use strict";r(14846),r(69655),t.__esModule=!0;var n={BottomInlineStartCornerOverlay:!0,BottomOverlay:!0,InlineStartOverlay:!0,Overlay:!0,TopInlineStartCornerOverlay:!0,TopOverlay:!0},s=r(72478);t.BottomInlineStartCornerOverlay=s.BottomInlineStartCornerOverlay;var i=r(12942);t.BottomOverlay=i.BottomOverlay;var o=r(90122);t.InlineStartOverlay=o.InlineStartOverlay;var a=r(18113);t.Overlay=a.Overlay;var l=r(76922);t.TopInlineStartCornerOverlay=l.TopInlineStartCornerOverlay;var h=r(73114);t.TopOverlay=h.TopOverlay;var u=r(85484);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===u[e]||(t[e]=u[e]))}))},90122:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=r(62577),i=n(r(80222)),o=r(18113),a=r(70471),l=r(85484);class h extends o.Overlay{constructor(e,t,r,n){super(e,t,l.CLONE_INLINE_START,r,n)}createTable(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return new i.default(...t)}shouldBeRendered(){return this.wtSettings.getSetting("shouldRenderInlineStartOverlay")}resetFixedPosition(){const{wtTable:e}=this.wot;if(!this.needFullRender||!this.shouldBeRendered()||!e.holder.parentNode)return!1;const{rootWindow:t}=this.domBindings,r=this.clone.wtTable.holder.parentNode,n=this.wtSettings.getSetting("preventOverflow");let i=0;this.trimmingContainer!==t||n&&"horizontal"===n?(i=this.getScrollPosition(),(0,s.resetCssTransform)(r)):(i=this.getOverlayOffset()*(this.isRtl()?-1:1),(0,s.setOverlayPosition)(r,`${i}px`,"0px"));const o=this.adjustHeaderBordersPosition(i);return this.adjustElementsSize(),o}setScrollPosition(e){const{rootWindow:t}=this.domBindings;let r=!1;return this.isRtl()&&(e=-e),this.mainTableScrollableElement===t&&t.scrollX!==e?(t.scrollTo(e,(0,s.getWindowScrollTop)(t)),r=!0):this.mainTableScrollableElement.scrollLeft!==e&&(this.mainTableScrollableElement.scrollLeft=e,r=!0),r}onScroll(){this.wtSettings.getSetting("onScrollVertically")}sumCellSizes(e,t){const r=this.wtSettings.getSetting("defaultColumnWidth");let n=e,s=0;for(;n<t;)s+=this.wot.wtTable.getColumnWidth(n)||r,n+=1;return s}adjustElementsSize(){this.updateTrimmingContainer(),this.needFullRender&&(this.adjustRootElementSize(),this.adjustRootChildrenSize())}adjustRootElementSize(){const{wtTable:e,wtViewport:t}=this.wot,{rootDocument:r,rootWindow:n}=this.domBindings,i=this.clone.wtTable.holder.parentNode.style,o=this.wtSettings.getSetting("preventOverflow");if(this.trimmingContainer!==n||"vertical"===o){let n=t.getWorkspaceHeight();t.hasHorizontalScroll()&&(n-=(0,s.getScrollbarWidth)(r)),n=Math.min(n,e.wtRootElement.scrollHeight),i.height=`${n}px`}else i.height="";this.clone.wtTable.holder.style.height=i.height;const a=(0,s.outerWidth)(this.clone.wtTable.TABLE);i.width=`${a}px`}adjustRootChildrenSize(){const{holder:e}=this.clone.wtTable,t=(0,a.getCornerStyle)(this.wot),r=this.wot.selectionManager.getFocusSelection()?parseInt(t.width,10)/2:0;this.clone.wtTable.hider.style.height=this.hider.style.height,e.style.height=e.parentNode.style.height,e.style.width=`${parseInt(e.parentNode.style.width,10)+r}px`}applyToDOM(){const e=this.wtSettings.getSetting("totalColumns"),t=this.isRtl()?"right":"left";if("number"==typeof this.wot.wtViewport.columnsRenderCalculator.startPosition)this.spreader.style[t]=`${this.wot.wtViewport.columnsRenderCalculator.startPosition}px`;else{if(0!==e)throw new Error("Incorrect value of the columnsRenderCalculator");this.spreader.style[t]="0"}this.isRtl()?this.spreader.style.left="":this.spreader.style.right="",this.needFullRender&&this.syncOverlayOffset()}syncOverlayOffset(){"number"==typeof this.wot.wtViewport.rowsRenderCalculator.startPosition?this.clone.wtTable.spreader.style.top=`${this.wot.wtViewport.rowsRenderCalculator.startPosition}px`:this.clone.wtTable.spreader.style.top=""}scrollTo(e,t){const{wtSettings:r}=this,n=r.getSetting("rowHeaders"),i=r.getSetting("fixedColumnsStart"),o=(this.wot.cloneSource?this.wot.cloneSource:this.wot).wtTable.holder,a=0===i&&n.length>0&&!(0,s.hasClass)(o.parentNode,"innerBorderInlineStart")?1:0;let l=this.getTableParentOffset(),h=0;if(t){this.wot.wtTable.getColumnWidth(e)>this.wot.wtViewport.getViewportWidth()&&(t=!1)}return t&&o.offsetWidth!==o.clientWidth&&(h=(0,s.getScrollbarWidth)(this.domBindings.rootDocument)),t?(l+=this.sumCellSizes(0,e+1),l-=this.wot.wtViewport.getViewportWidth(),l+=a):l+=this.sumCellSizes(this.wtSettings.getSetting("fixedColumnsStart"),e),l+=h,(0,s.getMaximumScrollLeft)(this.mainTableScrollableElement)===l-a&&a>0&&this.wot.wtOverlays.expandHiderHorizontallyBy(a),this.setScrollPosition(l)}getTableParentOffset(){let e=0;return this.wtSettings.getSetting("preventOverflow")||this.trimmingContainer!==this.domBindings.rootWindow||(e=this.wot.wtTable.holderOffset.left),e}getScrollPosition(){return Math.abs((0,s.getScrollLeft)(this.mainTableScrollableElement,this.domBindings.rootWindow))}getOverlayOffset(){const{rootWindow:e}=this.domBindings,t=this.wtSettings.getSetting("preventOverflow");let r=0;if(this.trimmingContainer===e&&(!t||"horizontal"!==t)){r=this.isRtl()?Math.abs(Math.min(this.getTableParentOffset()-this.getScrollPosition(),0)):Math.max(this.getScrollPosition()-this.getTableParentOffset(),0);r>this.wot.wtTable.getTotalWidth()-this.clone.wtTable.getTotalWidth()&&(r=0)}return r}adjustHeaderBordersPosition(e){const{wtSettings:t}=this,r=this.wot.wtTable.holder.parentNode,n=t.getSetting("rowHeaders"),i=t.getSetting("fixedColumnsStart"),o=t.getSetting("totalRows"),a="vertical"===t.getSetting("preventOverflow");o?(0,s.removeClass)(r,"emptyRows"):(0,s.addClass)(r,"emptyRows");let l=!1;if(!a)if(i&&!n.length)(0,s.addClass)(r,"innerBorderLeft innerBorderInlineStart");else if(!i&&n.length){const t=(0,s.hasClass)(r,"innerBorderInlineStart");e?((0,s.addClass)(r,"innerBorderLeft innerBorderInlineStart"),l=!t):((0,s.removeClass)(r,"innerBorderLeft innerBorderInlineStart"),l=t)}return l}}t.InlineStartOverlay=h},73114:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=r(62577),o=n(r(94318)),a=r(18113),l=r(70471),h=r(85484);class u extends a.Overlay{constructor(e,t,r,n){super(e,t,h.CLONE_TOP,r,n),(0,s.default)(this,"cachedFixedRowsTop",-1),this.cachedFixedRowsTop=this.wtSettings.getSetting("fixedRowsTop")}createTable(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return new o.default(...t)}shouldBeRendered(){return this.wtSettings.getSetting("shouldRenderTopOverlay")}resetFixedPosition(){if(!this.needFullRender||!this.shouldBeRendered()||!this.wot.wtTable.holder.parentNode)return!1;const e=this.clone.wtTable.holder.parentNode,{rootWindow:t}=this.domBindings,r=this.wtSettings.getSetting("preventOverflow");let n=0,s=!1;if(this.trimmingContainer!==t||r&&"vertical"===r)n=this.getScrollPosition(),(0,i.resetCssTransform)(e);else{const{wtTable:t}=this.wot,r=t.hider.getBoundingClientRect();s=Math.ceil(r.bottom)===e.offsetHeight,n=this.getOverlayOffset(),(0,i.setOverlayPosition)(e,"0px",`${n}px`)}const o=this.adjustHeaderBordersPosition(n,s);return this.adjustElementsSize(),o}setScrollPosition(e){const t=this.domBindings.rootWindow;let r=!1;return this.mainTableScrollableElement===t&&t.scrollY!==e?(t.scrollTo((0,i.getWindowScrollLeft)(t),e),r=!0):this.mainTableScrollableElement.scrollTop!==e&&(this.mainTableScrollableElement.scrollTop=e,r=!0),r}onScroll(){this.wtSettings.getSetting("onScrollHorizontally")}sumCellSizes(e,t){const r=this.wot.stylesHandler.getDefaultRowHeight();let n=e,s=0;for(;n<t;){const e=this.wot.wtTable.getRowHeight(n);s+=void 0===e?r:e,n+=1}return s}adjustElementsSize(){this.updateTrimmingContainer(),this.needFullRender&&(this.adjustRootElementSize(),this.adjustRootChildrenSize())}adjustRootElementSize(){const{wtTable:e,wtViewport:t}=this.wot,{rootDocument:r,rootWindow:n}=this.domBindings,s=this.clone.wtTable.holder.parentNode.style,o=this.wtSettings.getSetting("preventOverflow");if(this.trimmingContainer!==n||"horizontal"===o){let n=t.getWorkspaceWidth();t.hasVerticalScroll()&&(n-=(0,i.getScrollbarWidth)(r)),n=Math.min(n,e.wtRootElement.scrollWidth),s.width=`${n}px`}else s.width="";this.clone.wtTable.holder.style.width=s.width;let a=(0,i.outerHeight)(this.clone.wtTable.TABLE);e.hasDefinedSize()||(a=0),s.height=`${a}px`}adjustRootChildrenSize(){const{holder:e}=this.clone.wtTable,t=(0,l.getCornerStyle)(this.wot),r=this.wot.selectionManager.getFocusSelection()?parseInt(t.height,10)/2:0;this.clone.wtTable.hider.style.width=this.hider.style.width,e.style.width=e.parentNode.style.width,e.style.height=`${parseInt(e.parentNode.style.height,10)+r}px`}applyToDOM(){const e=this.wtSettings.getSetting("totalRows");if("number"==typeof this.wot.wtViewport.rowsRenderCalculator.startPosition)this.spreader.style.top=`${this.wot.wtViewport.rowsRenderCalculator.startPosition}px`;else{if(0!==e)throw new Error("Incorrect value of the rowsRenderCalculator");this.spreader.style.top="0"}this.spreader.style.bottom="",this.needFullRender&&this.syncOverlayOffset()}syncOverlayOffset(){const e=this.isRtl()?"right":"left",{spreader:t}=this.clone.wtTable;"number"==typeof this.wot.wtViewport.columnsRenderCalculator.startPosition?t.style[e]=`${this.wot.wtViewport.columnsRenderCalculator.startPosition}px`:t.style[e]=""}scrollTo(e,t){const{wot:r,wtSettings:n}=this,s=(r.cloneSource?r.cloneSource:r).wtTable.holder,o=n.getSetting("columnHeaders"),a=0===n.getSetting("fixedRowsTop")&&o.length>0&&!(0,i.hasClass)(s.parentNode,"innerBorderTop")?1:0;let l=this.getTableParentOffset(),h=0;if(t){this.wot.wtTable.getRowHeight(e)>this.wot.wtViewport.getViewportHeight()&&(t=!1)}if(t&&s.offsetHeight!==s.clientHeight&&(h=(0,i.getScrollbarWidth)(this.domBindings.rootDocument)),t){const t=n.getSetting("fixedRowsBottom"),s=n.getSetting("totalRows");l+=this.sumCellSizes(0,e+1),l-=r.wtViewport.getViewportHeight()-this.sumCellSizes(s-t,s),l+=1,l+=a}else l+=this.sumCellSizes(n.getSetting("fixedRowsTop"),e);return l+=h,(0,i.getMaximumScrollTop)(this.mainTableScrollableElement)===l-a&&a>0&&this.wot.wtOverlays.expandHiderVerticallyBy(a),this.setScrollPosition(l)}getTableParentOffset(){return this.mainTableScrollableElement===this.domBindings.rootWindow?this.wot.wtTable.holderOffset.top:0}getScrollPosition(){return(0,i.getScrollTop)(this.mainTableScrollableElement,this.domBindings.rootWindow)}getOverlayOffset(){const{rootWindow:e}=this.domBindings,t=this.wtSettings.getSetting("preventOverflow");let r=0;if(this.trimmingContainer===e&&(!t||"vertical"!==t)){const e=this.wot.wtTable.getTotalHeight()-this.clone.wtTable.getTotalHeight();r=Math.max(this.getScrollPosition()-this.getTableParentOffset(),0),r>e&&(r=0)}return r}adjustHeaderBordersPosition(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const{wtSettings:r}=this,n=this.wot.wtTable.holder.parentNode,s=r.getSetting("totalColumns"),o="horizontal"===r.getSetting("preventOverflow");s?(0,i.removeClass)(n,"emptyColumns"):(0,i.addClass)(n,"emptyColumns");let a=!1;if(!t&&!o){const t=r.getSetting("fixedRowsTop"),s=this.cachedFixedRowsTop!==t,o=r.getSetting("columnHeaders");if((s||0===t)&&o.length>0){const t=(0,i.hasClass)(n,"innerBorderTop");this.cachedFixedRowsTop=r.getSetting("fixedRowsTop"),e||0===r.getSetting("totalRows")?((0,i.addClass)(n,"innerBorderTop"),a=!t):((0,i.removeClass)(n,"innerBorderTop"),a=t)}}return a}}t.TopOverlay=u},76922:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(62577),o=n(r(16318)),a=r(18113),l=r(85484);class h extends a.Overlay{constructor(e,t,r,n,i,o){super(e,t,l.CLONE_TOP_INLINE_START_CORNER,r,n),(0,s.default)(this,"topOverlay",void 0),(0,s.default)(this,"inlineStartOverlay",void 0),this.topOverlay=i,this.inlineStartOverlay=o}createTable(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return new o.default(...t)}shouldBeRendered(){return this.wtSettings.getSetting("shouldRenderTopOverlay")&&this.wtSettings.getSetting("shouldRenderInlineStartOverlay")}resetFixedPosition(){if(this.updateTrimmingContainer(),!this.wot.wtTable.holder.parentNode)return!1;const e=this.clone.wtTable.holder.parentNode;if(this.trimmingContainer===this.domBindings.rootWindow){const t=this.inlineStartOverlay.getOverlayOffset()*(this.isRtl()?-1:1),r=this.topOverlay.getOverlayOffset();(0,i.setOverlayPosition)(e,`${t}px`,`${r}px`)}else(0,i.resetCssTransform)(e);let t=(0,i.outerHeight)(this.clone.wtTable.TABLE);const r=(0,i.outerWidth)(this.clone.wtTable.TABLE);return this.wot.wtTable.hasDefinedSize()||(t=0),e.style.height=`${t}px`,e.style.width=`${r}px`,!1}}t.TopInlineStartCornerOverlay=h},66925:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(69655),r(90458);var s=n(r(85707)),i=r(62577),o=r(85992),a=r(10587),l=r(83445),h=r(25046),u=r(14859),c=r(69397);function d(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function p(e,t,r){return e.set(f(e,t),r),r}function g(e,t){return e.get(f(e,t))}function f(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var m=new WeakMap,y=new WeakMap,E=new WeakMap,w=new WeakMap;t.default=class{constructor(e,t,r,n,a,l){(0,s.default)(this,"wot",null),d(this,m,[]),(0,s.default)(this,"topOverlay",null),(0,s.default)(this,"bottomOverlay",null),(0,s.default)(this,"inlineStartOverlay",null),(0,s.default)(this,"topInlineStartCornerOverlay",null),(0,s.default)(this,"bottomInlineStartCornerOverlay",null),(0,s.default)(this,"browserLineHeight",void 0),(0,s.default)(this,"wtSettings",null),d(this,y,!1),d(this,E,0),d(this,w,null),(0,s.default)(this,"resizeObserver",new ResizeObserver((e=>{(0,o.requestAnimationFrame)((()=>{Array.isArray(e)&&e.length&&(p(E,this,g(E,this)+1),100===g(E,this)&&((0,u.warn)("The ResizeObserver callback was fired too many times in direct succession.\nThis may be due to an infinite loop caused by setting a dynamic height/width (for example, with the `dvh` units) to a Handsontable container's parent. \nThe observer will be disconnected."),this.resizeObserver.disconnect()),null!==g(w,this)&&clearTimeout(g(w,this)),p(w,this,setTimeout((()=>{p(E,this,0)}),100)),this.wtSettings.getSetting("onContainerElementResize"))}))}))),this.wot=e,this.wtSettings=n,this.domBindings=r,this.facadeGetter=t,this.wtTable=l;const{rootDocument:h,rootWindow:c}=this.domBindings;this.instance=this.wot,this.eventManager=a,this.scrollbarSize=(0,i.getScrollbarWidth)(h);const f="hidden"===c.getComputedStyle(l.wtRootElement.parentNode).getPropertyValue("overflow");this.scrollableElement=f?l.holder:(0,i.getScrollableElement)(l.TABLE),this.initOverlays(),this.destroyed=!1,this.keyPressed=!1,this.spreaderLastSize={width:null,height:null},this.verticalScrolling=!1,this.horizontalScrolling=!1,this.initBrowserLineHeight(),this.registerListeners(),this.lastScrollX=c.scrollX,this.lastScrollY=c.scrollY}getOverlays(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=[...g(m,this)];return e&&t.push(this.wtTable),t}initBrowserLineHeight(){const{rootWindow:e,rootDocument:t}=this.domBindings,r=e.getComputedStyle(t.body),n=parseInt(r.lineHeight,10),s=1.2*parseInt(r.fontSize,10);this.browserLineHeight=n||s}initOverlays(){const e=[this.wot,this.facadeGetter,this.wtSettings,this.domBindings];this.topOverlay=new c.TopOverlay(...e),this.bottomOverlay=new c.BottomOverlay(...e),this.inlineStartOverlay=new c.InlineStartOverlay(...e),this.topInlineStartCornerOverlay=new c.TopInlineStartCornerOverlay(...e,this.topOverlay,this.inlineStartOverlay),this.bottomInlineStartCornerOverlay=new c.BottomInlineStartCornerOverlay(...e,this.bottomOverlay,this.inlineStartOverlay),p(m,this,[this.topOverlay,this.bottomOverlay,this.inlineStartOverlay,this.topInlineStartCornerOverlay,this.bottomInlineStartCornerOverlay])}beforeDraw(){p(y,this,g(m,this).reduce(((e,t)=>t.hasRenderingStateChanged()||e),!1)),g(m,this).forEach((e=>e.updateStateOfRendering("before")))}afterDraw(){this.syncScrollWithMaster(),g(m,this).forEach((e=>{const t=e.hasRenderingStateChanged();e.updateStateOfRendering("after"),t&&!e.needFullRender&&e.reset()}))}refreshAll(){this.wot.drawn&&(this.wtTable.holder.parentNode?(this.wot.draw(!0),this.verticalScrolling&&this.inlineStartOverlay.onScroll(),this.horizontalScrolling&&this.topOverlay.onScroll(),this.verticalScrolling=!1,this.horizontalScrolling=!1):this.destroy())}registerListeners(){const{rootDocument:e,rootWindow:t}=this.domBindings,{mainTableScrollableElement:r}=this.topOverlay,{mainTableScrollableElement:n}=this.inlineStartOverlay;this.eventManager.addEventListener(e.documentElement,"keydown",(e=>this.onKeyDown(e))),this.eventManager.addEventListener(e.documentElement,"keyup",(()=>this.onKeyUp())),this.eventManager.addEventListener(e,"visibilitychange",(()=>this.onKeyUp())),this.eventManager.addEventListener(r,"scroll",(e=>this.onTableScroll(e)),{passive:!0}),r!==n&&this.eventManager.addEventListener(n,"scroll",(e=>this.onTableScroll(e)),{passive:!0});const s=t.devicePixelRatio&&t.devicePixelRatio>1,i=this.scrollableElement===t,a=this.wtSettings.getSetting("preventWheel"),l={passive:i};(a||s||!(0,h.isChrome)())&&this.eventManager.addEventListener(this.wtTable.wtRootElement,"wheel",(e=>this.onCloneWheel(e,a)),l);let u;[this.topOverlay,this.bottomOverlay,this.inlineStartOverlay,this.topInlineStartCornerOverlay,this.bottomInlineStartCornerOverlay].forEach((e=>{this.eventManager.addEventListener(e.clone.wtTable.holder,"wheel",(e=>this.onCloneWheel(e,a)),l)})),this.eventManager.addEventListener(t,"resize",(()=>{(0,o.requestAnimationFrame)((()=>{clearTimeout(u),this.wtSettings.getSetting("onWindowResize"),u=setTimeout((()=>{p(E,this,0)}),200)}))})),i||this.resizeObserver.observe(this.wtTable.wtRootElement.parentElement)}onTableScroll(e){const t=this.domBindings.rootWindow,r=this.inlineStartOverlay.mainTableScrollableElement,n=this.topOverlay.mainTableScrollableElement,s=e.target;this.keyPressed&&(n!==t&&s!==t&&!e.target.contains(n)||r!==t&&s!==t&&!e.target.contains(r))||this.syncScrollPositions(e)}onCloneWheel(e,t){const{rootWindow:r}=this.domBindings,n=this.inlineStartOverlay.mainTableScrollableElement,s=this.topOverlay.mainTableScrollableElement,i=e.target,o=s!==r&&i!==r&&!i.contains(s),a=n!==r&&i!==r&&!i.contains(n);if(this.keyPressed&&(o||a)||this.scrollableElement===r)return;const l=this.translateMouseWheelToScroll(e);(t||this.scrollableElement!==r&&l)&&e.preventDefault()}onKeyDown(e){this.keyPressed=(0,l.isKey)(e.keyCode,"ARROW_UP|ARROW_RIGHT|ARROW_DOWN|ARROW_LEFT")}onKeyUp(){this.keyPressed=!1}translateMouseWheelToScroll(e){let t=isNaN(e.deltaY)?-1*e.wheelDeltaY:e.deltaY,r=isNaN(e.deltaX)?-1*e.wheelDeltaX:e.deltaX;1===e.deltaMode&&(r+=r*this.browserLineHeight,t+=t*this.browserLineHeight);const n=this.scrollVertically(t),s=this.scrollHorizontally(r);return n||s}scrollVertically(e){const t=this.scrollableElement.scrollTop;return this.scrollableElement.scrollTop+=e,t!==this.scrollableElement.scrollTop}scrollHorizontally(e){const t=this.scrollableElement.scrollLeft;return this.scrollableElement.scrollLeft+=e,t!==this.scrollableElement.scrollLeft}syncScrollPositions(){if(this.destroyed)return;const{rootWindow:e}=this.domBindings,t=this.topOverlay.clone.wtTable.holder,r=this.inlineStartOverlay.clone.wtTable.holder,[n,s]=[this.scrollableElement.scrollLeft,this.scrollableElement.scrollTop];if(this.horizontalScrolling=t.scrollLeft!==n||this.lastScrollX!==e.scrollX,this.verticalScrolling=r.scrollTop!==s||this.lastScrollY!==e.scrollY,this.lastScrollX=e.scrollX,this.lastScrollY=e.scrollY,this.horizontalScrolling){t.scrollLeft=n;const e=this.bottomOverlay.needFullRender?this.bottomOverlay.clone.wtTable.holder:null;e&&(e.scrollLeft=n)}this.verticalScrolling&&(r.scrollTop=s),this.refreshAll()}syncScrollWithMaster(){if(!g(y,this))return;const e=this.topOverlay.mainTableScrollableElement,{scrollLeft:t,scrollTop:r}=e;this.topOverlay.needFullRender&&(this.topOverlay.clone.wtTable.holder.scrollLeft=t),this.bottomOverlay.needFullRender&&(this.bottomOverlay.clone.wtTable.holder.scrollLeft=t),this.inlineStartOverlay.needFullRender&&(this.inlineStartOverlay.clone.wtTable.holder.scrollTop=r),p(y,this,!1)}updateMainScrollableElements(){this.eventManager.clearEvents(!0),this.inlineStartOverlay.updateMainScrollableElement(),this.topOverlay.updateMainScrollableElement(),this.bottomOverlay.needFullRender&&this.bottomOverlay.updateMainScrollableElement();const{wtTable:e}=this,{rootWindow:t}=this.domBindings;"hidden"===t.getComputedStyle(e.wtRootElement.parentNode).getPropertyValue("overflow")?this.scrollableElement=e.holder:this.scrollableElement=(0,i.getScrollableElement)(e.TABLE),this.registerListeners()}destroy(){this.resizeObserver.disconnect(),this.eventManager.destroy(),this.topOverlay.destroy(),this.bottomOverlay.clone&&this.bottomOverlay.destroy(),this.inlineStartOverlay.destroy(),this.topInlineStartCornerOverlay&&this.topInlineStartCornerOverlay.destroy(),this.bottomInlineStartCornerOverlay&&this.bottomInlineStartCornerOverlay.clone&&this.bottomInlineStartCornerOverlay.destroy(),this.destroyed=!0}refresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.updateLastSpreaderSize()&&this.adjustElementsSize(),this.bottomOverlay.clone&&this.bottomOverlay.refresh(e),this.inlineStartOverlay.refresh(e),this.topOverlay.refresh(e),this.topInlineStartCornerOverlay&&this.topInlineStartCornerOverlay.refresh(e),this.bottomInlineStartCornerOverlay&&this.bottomInlineStartCornerOverlay.clone&&this.bottomInlineStartCornerOverlay.refresh(e)}updateLastSpreaderSize(){const e=this.wtTable.spreader,t=e.clientWidth,r=e.clientHeight,n=t!==this.spreaderLastSize.width||r!==this.spreaderLastSize.height;return n&&(this.spreaderLastSize.width=t,this.spreaderLastSize.height=r),n}adjustElementsSize(){const{wtViewport:e}=this.wot,{wtTable:t}=this,{rootWindow:r}=this.domBindings,n=this.scrollableElement===r,s=this.wtSettings.getSetting("totalColumns"),i=this.wtSettings.getSetting("totalRows"),o=e.getRowHeaderWidth(),a=e.getColumnHeaderHeight()+this.topOverlay.sumCellSizes(0,i)+1,l=o+this.inlineStartOverlay.sumCellSizes(0,s),h=t.hider.style,u=(()=>!n&&this.scrollableElement.scrollTop>Math.max(0,a-t.holder.clientHeight))()?1:0,c=(()=>!n&&this.scrollableElement.scrollLeft>Math.max(0,l-t.holder.clientWidth))()?1:0;h.width=`${l+c}px`,h.height=`${a+u}px`,this.topOverlay.adjustElementsSize(),this.inlineStartOverlay.adjustElementsSize(),this.bottomOverlay.adjustElementsSize()}expandHiderVerticallyBy(e){const{wtTable:t}=this;t.hider.style.height=`${parseInt(t.hider.style.height,10)+e}px`}expandHiderHorizontallyBy(e){const{wtTable:t}=this;t.hider.style.width=`${parseInt(t.hider.style.width,10)+e}px`}applyToDOM(){this.wtTable.isVisible()&&(this.topOverlay.applyToDOM(),this.bottomOverlay.clone&&this.bottomOverlay.applyToDOM(),this.inlineStartOverlay.applyToDOM())}getParentOverlay(e){if(!e)return null;const t=[this.topOverlay,this.inlineStartOverlay,this.bottomOverlay,this.topInlineStartCornerOverlay,this.bottomInlineStartCornerOverlay];let r=null;return(0,a.arrayEach)(t,(t=>{t&&t.clone&&t.clone.wtTable.TABLE.contains(e)&&(r=t.clone)})),r}syncOverlayTableClassNames(){const e=this.wtTable.TABLE,t=[this.topOverlay,this.inlineStartOverlay,this.bottomOverlay,this.topInlineStartCornerOverlay,this.bottomInlineStartCornerOverlay];(0,a.arrayEach)(t,(t=>{t&&(t.clone.wtTable.TABLE.className=e.className)}))}}},41608:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(76095);t.BaseRenderer=class{constructor(e,t){(0,s.default)(this,"nodesPool",null),(0,s.default)(this,"nodeType",void 0),(0,s.default)(this,"rootNode",void 0),(0,s.default)(this,"table",null),(0,s.default)(this,"renderedNodes",0),this.nodesPool="string"==typeof e?new i.NodesPool(e):null,this.nodeType=e,this.rootNode=t}setTable(e){this.nodesPool&&this.nodesPool.setRootDocument(e.rootDocument),this.table=e}adjust(){}render(){}}},62861:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(62577),o=r(97646),a=r(41608),l=r(71120);class h extends a.BaseRenderer{constructor(){super("TD"),(0,s.default)(this,"orderViews",new WeakMap),(0,s.default)(this,"sourceRowIndex",0)}obtainOrderView(e){let t;return this.orderViews.has(e)?t=this.orderViews.get(e):(t=new o.SharedOrderView(e,(e=>this.nodesPool.obtain(this.sourceRowIndex,e)),this.nodeType),this.orderViews.set(e,t)),t}render(){const{rowsToRender:e,columnsToRender:t,rows:r,rowHeaders:n}=this.table;for(let a=0;a<e;a++){const e=this.table.renderedRowToSource(a),h=r.getRenderedNode(a);this.sourceRowIndex=e;const u=this.obtainOrderView(h),c=n.obtainOrderView(h);u.prependView(c).setSize(t).setOffset(0).start();for(let r=0;r<t;r++){u.render();const t=this.table.renderedColumnToSource(r),n=u.getCurrentNode();var s,o;if((0,i.hasClass)(n,"hide")||(n.className=""),n.removeAttribute("style"),n.removeAttribute("dir"),(0,i.removeAttribute)(n,[new RegExp("aria-(.*)"),new RegExp("role")]),this.table.cellRenderer(e,t,n),this.table.isAriaEnabled())(0,i.setAttribute)(n,[...n.hasAttribute("role")?[]:[(0,l.A11Y_GRIDCELL)()],(0,l.A11Y_TABINDEX)(-1),(0,l.A11Y_COLINDEX)(t+(null!==(s=null===(o=this.table.rowUtils)||void 0===o||null===(o=o.dataAccessObject)||void 0===o?void 0:o.rowHeaders.length)&&void 0!==s?s:0)+1)])}u.end()}}}t.CellsRenderer=h},16951:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(41608),s=r(14859),i=r(21595),o=r(62577);let a=!1;class l extends n.BaseRenderer{constructor(e){super(null,e)}adjust(){const{columnsToRender:e,rowHeadersCount:t}=this.table,r=e+t;for(;this.renderedNodes<r;)this.rootNode.appendChild(this.table.rootDocument.createElement("col")),this.renderedNodes+=1;for(;this.renderedNodes>r;)this.rootNode.removeChild(this.rootNode.lastChild),this.renderedNodes-=1}render(){this.adjust();const{columnsToRender:e,rowHeadersCount:t}=this.table;!a&&e>1e3&&(a=!0,(0,s.warn)(i.toSingleLine`Performance tip: Handsontable rendered more than 1000 visible columns.\x20
        Consider limiting the number of rendered columns by specifying the table width and/or\x20
        turning off the "renderAllColumns" option.`));for(let e=0;e<t;e++){const t=this.table.renderedColumnToSource(e),r=this.table.columnUtils.getHeaderWidth(t);this.rootNode.childNodes[e].style.width=`${r}px`}for(let r=0;r<e;r++){const e=this.table.renderedColumnToSource(r),n=this.table.columnUtils.getWidth(e);this.rootNode.childNodes[r+t].style.width=`${n}px`}const r=this.rootNode.firstChild;r&&(0,o.addClass)(r,"rowHeader")}}t.ColGroupRenderer=l},75396:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(62577),s=r(41608),i=r(71120);class o extends s.BaseRenderer{constructor(e){super(null,e)}adjust(){const{columnHeadersCount:e,rowHeadersCount:t}=this.table;let r=this.rootNode.firstChild;if(e){const{columnsToRender:n}=this.table,s=n+t;for(let t=0,n=e;t<n;t++){for(r=this.rootNode.childNodes[t],r||(r=this.table.rootDocument.createElement("tr"),this.rootNode.appendChild(r)),this.renderedNodes=r.childNodes.length;this.renderedNodes<s;)r.appendChild(this.table.rootDocument.createElement("th")),this.renderedNodes+=1;for(;this.renderedNodes>s;)r.removeChild(r.lastChild),this.renderedNodes-=1}const i=this.rootNode.childNodes.length;if(i>e)for(let t=e;t<i;t++)this.rootNode.removeChild(this.rootNode.lastChild)}else r&&(0,n.empty)(r)}render(){const{columnHeadersCount:e}=this.table;this.table.isAriaEnabled()&&(0,n.setAttribute)(this.rootNode,[(0,i.A11Y_ROWGROUP)()]);for(let t=0;t<e;t+=1){const{columnHeaderFunctions:e,columnsToRender:r,rowHeadersCount:s}=this.table,o=this.rootNode.childNodes[t];this.table.isAriaEnabled()&&(0,n.setAttribute)(o,[(0,i.A11Y_ROW)(),(0,i.A11Y_ROWINDEX)(t+1)]);for(let a=-1*s;a<r;a+=1){const r=this.table.renderedColumnToSource(a),l=o.childNodes[a+s];l.className="",l.removeAttribute("style"),(0,n.removeAttribute)(l,[new RegExp("aria-(.*)"),new RegExp("role")]),this.table.isAriaEnabled()&&(0,n.setAttribute)(l,[(0,i.A11Y_COLINDEX)(a+1+this.table.rowHeadersCount),(0,i.A11Y_TABINDEX)(-1),(0,i.A11Y_COLUMNHEADER)(),...a>=0?[(0,i.A11Y_SCOPE_COL)()]:[(0,i.A11Y_ROW)()]]),e[t](r,l,t)}}}}t.ColumnHeadersRenderer=o},36936:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(59376);t.RowHeadersRenderer=n.RowHeadersRenderer;var s=r(75396);t.ColumnHeadersRenderer=s.ColumnHeadersRenderer;var i=r(16951);t.ColGroupRenderer=i.ColGroupRenderer;var o=r(98575);t.RowsRenderer=o.RowsRenderer;var a=r(62861);t.CellsRenderer=a.CellsRenderer;var l=r(85604);t.TableRenderer=l.TableRenderer;t.Renderer=class{constructor(){let{TABLE:e,THEAD:t,COLGROUP:r,TBODY:h,rowUtils:u,columnUtils:c,cellRenderer:d,stylesHandler:p}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.renderer=new l.TableRenderer(e,{cellRenderer:d,stylesHandler:p}),this.renderer.setRenderers({rowHeaders:new n.RowHeadersRenderer,columnHeaders:new s.ColumnHeadersRenderer(t),colGroup:new i.ColGroupRenderer(r),rows:new o.RowsRenderer(h),cells:new a.CellsRenderer}),this.renderer.setAxisUtils(u,c)}setActiveOverlayName(e){return this.renderer.setActiveOverlayName(e),this}setFilters(e,t){return this.renderer.setFilters(e,t),this}setViewportSize(e,t){return this.renderer.setViewportSize(e,t),this}setHeaderContentRenderers(e,t){return this.renderer.setHeaderContentRenderers(e,t),this}adjust(){this.renderer.adjust()}render(){this.renderer.render()}}},59376:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(97646),o=r(41608),a=r(62577),l=r(71120);class h extends o.BaseRenderer{constructor(){super("TH"),(0,s.default)(this,"orderViews",new WeakMap),(0,s.default)(this,"sourceRowIndex",0)}obtainOrderView(e){let t;return this.orderViews.has(e)?t=this.orderViews.get(e):(t=new i.SharedOrderView(e,(e=>this.nodesPool.obtain(this.sourceRowIndex,e))),this.orderViews.set(e,t)),t}render(){const{rowsToRender:e,rowHeaderFunctions:t,rowHeadersCount:r,rows:n,cells:s}=this.table;for(let i=0;i<e;i++){const e=this.table.renderedRowToSource(i),o=n.getRenderedNode(i);this.sourceRowIndex=e;const h=this.obtainOrderView(o),u=s.obtainOrderView(o);h.appendView(u).setSize(r).setOffset(0).start();for(let n=0;n<r;n++){h.render();const r=h.getCurrentNode();r.className="",r.removeAttribute("style"),(0,a.removeAttribute)(r,[new RegExp("aria-(.*)"),new RegExp("role")]),this.table.isAriaEnabled()&&(0,a.setAttribute)(r,[(0,l.A11Y_ROWHEADER)(),(0,l.A11Y_SCOPE_ROW)(),(0,l.A11Y_COLINDEX)(n+1),(0,l.A11Y_TABINDEX)(-1)]),t[n](e,r,n)}h.end()}}}t.RowHeadersRenderer=h},98575:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(41608),o=r(14859),a=r(21595),l=r(97646),h=r(62577),u=r(71120);const c="ht__row_even",d="ht__row_odd";let p=!1;class g extends i.BaseRenderer{constructor(e){super("TR",e),(0,s.default)(this,"orderView",void 0),this.orderView=new l.OrderView(e,(e=>this.nodesPool.obtain(e)))}getRenderedNode(e){return this.orderView.getNode(e)}hasStaleContent(e){return this.orderView.hasStaleContent(e)}render(){const{rowsToRender:e}=this.table;!p&&e>1e3&&(p=!0,(0,o.warn)(a.toSingleLine`Performance tip: Handsontable rendered more than 1000 visible rows.\x20
        Consider limiting the number of rendered rows by specifying the table height and/or\x20
        turning off the "renderAllRows" option.`)),this.table.isAriaEnabled()&&(0,h.setAttribute)(this.rootNode,[(0,u.A11Y_ROWGROUP)()]),this.orderView.setSize(e).setOffset(this.table.renderedRowToSource(0)).start();for(let n=0;n<e;n++){this.orderView.render();const e=this.orderView.getCurrentNode(),s=this.table.renderedRowToSource(n);var t,r;if(this.table.isAriaEnabled())(0,h.setAttribute)(e,[(0,u.A11Y_ROW)(),(0,u.A11Y_ROWINDEX)(s+(null!==(t=null===(r=this.table.rowUtils)||void 0===r||null===(r=r.dataAccessObject)||void 0===r?void 0:r.columnHeaders.length)&&void 0!==t?t:0)+1)]);(s+1)%2==0?(0,h.hasClass)(e,c)||((0,h.removeClass)(e,d),(0,h.addClass)(e,c)):(0,h.hasClass)(e,d)||((0,h.removeClass)(e,c),(0,h.addClass)(e,d))}this.orderView.end()}}t.RowsRenderer=g},85604:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));t.TableRenderer=class{constructor(e){let{cellRenderer:t,stylesHandler:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,s.default)(this,"rootNode",void 0),(0,s.default)(this,"rootDocument",void 0),(0,s.default)(this,"rowHeaders",null),(0,s.default)(this,"columnHeaders",null),(0,s.default)(this,"colGroup",null),(0,s.default)(this,"rows",null),(0,s.default)(this,"cells",null),(0,s.default)(this,"rowFilter",null),(0,s.default)(this,"columnFilter",null),(0,s.default)(this,"rowUtils",null),(0,s.default)(this,"columnUtils",null),(0,s.default)(this,"rowsToRender",0),(0,s.default)(this,"columnsToRender",0),(0,s.default)(this,"rowHeaderFunctions",[]),(0,s.default)(this,"rowHeadersCount",0),(0,s.default)(this,"columnHeaderFunctions",[]),(0,s.default)(this,"columnHeadersCount",0),(0,s.default)(this,"cellRenderer",void 0),(0,s.default)(this,"activeOverlayName",void 0),(0,s.default)(this,"stylesHandler",void 0),this.rootNode=e,this.rootDocument=this.rootNode.ownerDocument,this.cellRenderer=t,this.stylesHandler=r}setActiveOverlayName(e){this.activeOverlayName=e}setAxisUtils(e,t){this.rowUtils=e,this.columnUtils=t}setViewportSize(e,t){this.rowsToRender=e,this.columnsToRender=t}setFilters(e,t){this.rowFilter=e,this.columnFilter=t}setHeaderContentRenderers(e,t){this.rowHeaderFunctions=e,this.rowHeadersCount=e.length,this.columnHeaderFunctions=t,this.columnHeadersCount=t.length}setRenderers(){let{rowHeaders:e,columnHeaders:t,colGroup:r,rows:n,cells:s}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.setTable(this),t.setTable(this),r.setTable(this),n.setTable(this),s.setTable(this),this.rowHeaders=e,this.columnHeaders=t,this.colGroup=r,this.rows=n,this.cells=s}renderedRowToSource(e){return this.rowFilter.renderedToSource(e)}renderedColumnToSource(e){return this.columnFilter.renderedToSource(e)}isAriaEnabled(){return this.rowUtils.wtSettings.getSetting("ariaTags")}render(){this.colGroup.adjust(),this.columnHeaders.adjust(),this.rows.adjust(),this.rowHeaders.adjust(),this.columnHeaders.render(),this.rows.render(),this.rowHeaders.render(),this.cells.render(),this.columnUtils.calculateWidths(),this.colGroup.render();const{rowsToRender:e,rows:t}=this;for(let r=0;r<e;r++){const e=t.getRenderedNode(r),n=this.rowUtils;if(e.firstChild){const t=this.renderedRowToSource(r),s=n.getHeightByOverlayName(t,this.activeOverlayName),i=this.stylesHandler.areCellsBorderBox()?0:1;e.firstChild.style.height=s?s-i+"px":""}}}}},15401:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=r(62577),o=r(25499);function a(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function l(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var h=new WeakSet;function u(e){const{wtSettings:t,inlineStartOverlay:r,wtTable:n,wtViewport:s,totalColumns:o,rootWindow:a}=this.dataAccessObject;if(r.mainTableScrollableElement===a){let l=null;if(t.getSetting("rtlMode")){const e=n.TABLE.getBoundingClientRect(),t=this.dataAccessObject.rootWindow.document.documentElement.offsetWidth;l=Math.abs(e.right-t)}else{l=(0,i.offset)(n.wtRootElement).left}const h=Math.abs((0,i.getScrollLeft)(a,a));if(l>h){const t=(0,i.innerWidth)(a);let n=s.getRowHeaderWidth();for(let s=1;s<=o;s++)if(n+=r.sumCellSizes(s-1,s),l+n-h>=t){e=s-2;break}}}return e}function c(e){const{topOverlay:t,wtTable:r,wtViewport:n,totalRows:s,rootWindow:o}=this.dataAccessObject;if(t.mainTableScrollableElement===o){const a=(0,i.offset)(r.wtRootElement),l=(0,i.getScrollTop)(o,o);if(a.top>l){const r=(0,i.innerHeight)(o);let h=n.getColumnHeaderHeight();for(let n=1;n<=s;n++)if(h+=t.sumCellSizes(n-1,n),a.top+h-l>=r){e=n-2;break}}}return e}t.default=class{constructor(e){a(this,h),(0,s.default)(this,"dataAccessObject",void 0),this.dataAccessObject=e}scrollViewport(e,t,r){if(e.col<0||e.row<0)return!1;const n=this.scrollViewportHorizontally(e.col,t),s=this.scrollViewportVertically(e.row,r);return n||s}scrollViewportHorizontally(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto";const{drawn:r,totalColumns:n}=this.dataAccessObject;if(!r)return!1;const s=(0,o.createObjectPropListener)(t);if(e=this.dataAccessObject.wtSettings.getSetting("onBeforeViewportScrollHorizontally",e,s),!Number.isInteger(e)||e<0||e>n)return!1;t=s.value;const{fixedColumnsStart:i,inlineStartOverlay:a}=this.dataAccessObject,l="auto"===t;if(l&&e<i)return!1;const h=this.getFirstVisibleColumn(),u=this.getLastVisibleColumn();let c=!1;return(l&&(e<h||e>u)||!l)&&(c=a.scrollTo(e,l?e>=this.getLastPartiallyVisibleColumn():"end"===t)),c}scrollViewportVertically(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto";const{drawn:r,totalRows:n}=this.dataAccessObject;if(!r)return!1;const s=(0,o.createObjectPropListener)(t);if(e=this.dataAccessObject.wtSettings.getSetting("onBeforeViewportScrollVertically",e,s),!Number.isInteger(e)||e<0||e>n)return!1;t=s.value;const{fixedRowsBottom:i,fixedRowsTop:a,topOverlay:l}=this.dataAccessObject,h="auto"===t;if(h&&(e<a||e>n-i-1))return!1;const u=this.getFirstVisibleRow(),c=this.getLastVisibleRow();let d=!1;return(h&&(e<u||e>c)||!h)&&(d=l.scrollTo(e,h?e>=this.getLastPartiallyVisibleRow():"bottom"===t)),d}getFirstVisibleRow(){return this.dataAccessObject.wtTable.getFirstVisibleRow()}getLastVisibleRow(){return l(h,this,c).call(this,this.dataAccessObject.wtTable.getLastVisibleRow())}getFirstPartiallyVisibleRow(){return this.dataAccessObject.wtTable.getFirstPartiallyVisibleRow()}getLastPartiallyVisibleRow(){return l(h,this,c).call(this,this.dataAccessObject.wtTable.getLastPartiallyVisibleRow())}getFirstVisibleColumn(){return this.dataAccessObject.wtTable.getFirstVisibleColumn()}getLastVisibleColumn(){return l(h,this,u).call(this,this.dataAccessObject.wtTable.getLastVisibleColumn())}getFirstPartiallyVisibleColumn(){return this.dataAccessObject.wtTable.getFirstPartiallyVisibleColumn()}getLastPartiallyVisibleColumn(){return l(h,this,u).call(this,this.dataAccessObject.wtTable.getLastPartiallyVisibleColumn())}}},32506:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(62577),s=r(77661),i=r(25499),o=r(25046),a=r(38087);t.default=class{constructor(e,t){t&&(this.eventManager=e.eventManager,this.instance=e,this.wot=e,this.settings=t,this.mouseDown=!1,this.main=null,this.top=null,this.bottom=null,this.start=null,this.end=null,this.topStyle=null,this.bottomStyle=null,this.startStyle=null,this.endStyle=null,this.cornerDefaultStyle=(0,a.getCornerStyle)(this.instance),this.cornerCenterPointOffset=-Math.ceil(parseInt(this.cornerDefaultStyle.width,10)/2),this.corner=null,this.cornerStyle=null,this.createBorders(t),this.registerListeners())}registerListeners(){const e=this.wot.rootDocument.body;this.eventManager.addEventListener(e,"mousedown",(()=>this.onMouseDown())),this.eventManager.addEventListener(e,"mouseup",(()=>this.onMouseUp()));for(let e=0,t=this.main.childNodes.length;e<t;e++){const t=this.main.childNodes[e];this.eventManager.addEventListener(t,"mouseenter",(t=>this.onMouseEnter(t,this.main.childNodes[e])))}}onMouseDown(){this.mouseDown=!0}onMouseUp(){this.mouseDown=!1}onMouseEnter(e,t){if(!this.mouseDown||!this.wot.getSetting("hideBorderOnMouseDownOver"))return;e.preventDefault(),(0,s.stopImmediatePropagation)(e);const r=this,n=this.wot.rootDocument.body,i=t.getBoundingClientRect();t.style.display="none",this.eventManager.addEventListener(n,"mousemove",(function e(s){var o;((o=s).clientY<Math.floor(i.top)||o.clientY>Math.ceil(i.top+i.height)||o.clientX<Math.floor(i.left)||o.clientX>Math.ceil(i.left+i.width))&&(r.eventManager.removeEventListener(n,"mousemove",e),t.style.display="block")}))}createBorders(e){const{rootDocument:t}=this.wot;this.main=t.createElement("div");const r=["top","start","bottom","end","corner"];let n=this.main.style;n.position="absolute",n.top=0,n.left=0;for(let s=0;s<5;s++){const i=r[s],o=t.createElement("div");o.className=`wtBorder ${this.settings.className||""}`,this.settings[i]&&this.settings[i].hide&&(o.className+=" hidden"),n=o.style,n.backgroundColor=this.settings[i]&&this.settings[i].color?this.settings[i].color:e.border.color,n.height=this.settings[i]&&this.settings[i].width?`${this.settings[i].width}px`:`${e.border.width}px`,n.width=this.settings[i]&&this.settings[i].width?`${this.settings[i].width}px`:`${e.border.width}px`,this.main.appendChild(o)}this.top=this.main.childNodes[0],this.start=this.main.childNodes[1],this.bottom=this.main.childNodes[2],this.end=this.main.childNodes[3],this.topStyle=this.top.style,this.startStyle=this.start.style,this.bottomStyle=this.bottom.style,this.endStyle=this.end.style,this.corner=this.main.childNodes[4],this.corner.className+=" corner",this.cornerStyle=this.corner.style,this.cornerStyle.width=`${this.cornerDefaultStyle.width}px`,this.cornerStyle.height=`${this.cornerDefaultStyle.height}px`,this.cornerStyle.border=[`${this.cornerDefaultStyle.borderWidth}px`,this.cornerDefaultStyle.borderStyle,this.cornerDefaultStyle.borderColor].join(" "),(0,o.isMobileBrowser)()&&this.instance.getSetting("isDataViewInstance")&&this.createMultipleSelectorHandles(),this.disappear();const{wtTable:s}=this.wot;let i=s.bordersHolder;i||(i=t.createElement("div"),i.className="htBorders",s.bordersHolder=i,s.spreader.appendChild(i)),i.appendChild(this.main)}createMultipleSelectorHandles(){const{rootDocument:e}=this.wot;this.selectionHandles={top:e.createElement("DIV"),topHitArea:e.createElement("DIV"),bottom:e.createElement("DIV"),bottomHitArea:e.createElement("DIV")};this.selectionHandles.top.className="topSelectionHandle topLeftSelectionHandle",this.selectionHandles.topHitArea.className="topSelectionHandle-HitArea topLeftSelectionHandle-HitArea",this.selectionHandles.bottom.className="bottomSelectionHandle bottomRightSelectionHandle",this.selectionHandles.bottomHitArea.className="bottomSelectionHandle-HitArea bottomRightSelectionHandle-HitArea",this.selectionHandles.styles={top:this.selectionHandles.top.style,topHitArea:this.selectionHandles.topHitArea.style,bottom:this.selectionHandles.bottom.style,bottomHitArea:this.selectionHandles.bottomHitArea.style};const t={position:"absolute",height:"40px",width:"40px","border-radius":`${parseInt(40/1.5,10)}px`};(0,i.objectEach)(t,((e,t)=>{this.selectionHandles.styles.bottomHitArea[t]=e,this.selectionHandles.styles.topHitArea[t]=e}));const r={position:"absolute",height:"10px",width:"10px","border-radius":`${parseInt(10/1.5,10)}px`,background:"#F5F5FF",border:"1px solid #4285c8"};(0,i.objectEach)(r,((e,t)=>{this.selectionHandles.styles.bottom[t]=e,this.selectionHandles.styles.top[t]=e})),this.main.appendChild(this.selectionHandles.top),this.main.appendChild(this.selectionHandles.bottom),this.main.appendChild(this.selectionHandles.topHitArea),this.main.appendChild(this.selectionHandles.bottomHitArea)}isPartRange(e,t){const r=this.wot.selectionManager.getAreaSelection();return!(!r.cellRange||e===r.cellRange.to.row&&t===r.cellRange.to.col)}updateMultipleSelectionHandlesPosition(e,t,r,n,s,i){const o=this.wot.wtSettings.getSetting("rtlMode")?"right":"left",{top:a,topHitArea:l,bottom:h,bottomHitArea:u}=this.selectionHandles.styles,c=parseInt(a.borderWidth,10),d=parseInt(a.width,10),p=parseInt(l.width,10),g=this.wot.wtTable.getWidth(),f=this.wot.wtTable.getHeight();a.top=`${parseInt(r-d-1,10)}px`,a[o]=`${parseInt(n-d-1,10)}px`,l.top=`${parseInt(r-p/4*3,10)}px`,l[o]=`${parseInt(n-p/4*3,10)}px`;const m=Math.min(parseInt(n+s,10),g-d-2*c),y=Math.min(parseInt(n+s-p/4,10),g-p-2*c);h[o]=`${m}px`,u[o]=`${y}px`;const E=Math.min(parseInt(r+i,10),f-d-2*c),w=Math.min(parseInt(r+i-p/4,10),f-p-2*c);h.top=`${E}px`,u.top=`${w}px`,this.settings.border.cornerVisible&&this.settings.border.cornerVisible()?(a.display="block",l.display="block",this.isPartRange(e,t)?(h.display="none",u.display="none"):(h.display="block",u.display="block")):(a.display="none",h.display="none",l.display="none",u.display="none"),e===this.wot.wtSettings.getSetting("fixedRowsTop")||t===this.wot.wtSettings.getSetting("fixedColumnsStart")?(a.zIndex="9999",l.zIndex="9999"):(a.zIndex="",l.zIndex="")}appear(e){if(this.disabled)return;let[t,r,s,i]=e;if(t<0&&s<0||r<0&&i<0)return void this.disappear();const{wtTable:a,rootDocument:l,rootWindow:h}=this.wot,u=t!==s||r!==i,c=a.getFirstRenderedRow(),d=a.getLastRenderedRow(),p=a.getFirstRenderedColumn(),g=a.getLastRenderedColumn();let f;if(u){if(r=Math.max(r,p),i=Math.min(i,g),t=Math.max(t,c),s=Math.min(s,d),i<r||s<t)return void this.disappear();f=a.getCell(this.wot.createCellCoords(t,r))}else if(f=a.getCell(this.wot.createCellCoords(t,r)),!(f instanceof HTMLElement))return void this.disappear();const m=u?a.getCell(this.wot.createCellCoords(s,i)):f,y=(0,n.offset)(f),E=u?(0,n.offset)(m):y,w=(0,n.offset)(a.TABLE),C=y.top,v=y.left,R=this.wot.wtSettings.getSetting("rtlMode");let S=0,T=0;if(R){const e=(0,n.outerWidth)(a.TABLE),t=(0,n.outerWidth)(f),r=h.innerWidth-w.left-e;T=v+t-E.left,S=h.innerWidth-v-t-r-1}else T=E.left+(0,n.outerWidth)(m)-v,S=v-w.left-1;if(this.isEntireColumnSelected(t,s)){const e=t,n=this.getDimensionsFromHeader("columns",r,i,e,w);let s=null;n&&([s,S,T]=n),s&&(f=s)}let N=C-w.top-1,M=E.top+(0,n.outerHeight)(m)-C;if(this.isEntireRowSelected(r,i)){const e=r,n=this.getDimensionsFromHeader("rows",t,s,e,w);let i=null;n&&([i,N,M]=n),i&&(f=i)}const _=h.getComputedStyle(f);parseInt(_.borderTopWidth,10)>0&&(N+=1,M=M>0?M-1:0),parseInt(_[R?"borderRightWidth":"borderLeftWidth"],10)>0&&(S+=1,T=T>0?T-1:0);const b=R?"right":"left";this.topStyle.top=`${N}px`,this.topStyle[b]=`${S}px`,this.topStyle.width=`${T}px`,this.topStyle.display="block",this.startStyle.top=`${N}px`,this.startStyle[b]=`${S}px`,this.startStyle.height=`${M}px`,this.startStyle.display="block";const O=Math.floor(this.settings.border.width/2);this.bottomStyle.top=N+M-O+"px",this.bottomStyle[b]=`${S}px`,this.bottomStyle.width=`${T}px`,this.bottomStyle.display="block",this.endStyle.top=`${N}px`,this.endStyle[b]=S+T-O+"px",this.endStyle.height=`${M+1}px`,this.endStyle.display="block";let A=this.settings.border.cornerVisible;A="function"==typeof A?A(this.settings.layerLevel):A;const I=this.wot.getSetting("onModifyGetCellCoords",s,i,!1,"render");let[x,P]=[s,i];if(I&&Array.isArray(I)&&([,,x,P]=I),(0,o.isMobileBrowser)()||!A||this.isPartRange(x,P))this.cornerStyle.display="none";else{this.cornerStyle.top=N+M+this.cornerCenterPointOffset-this.cornerDefaultStyle.borderWidth+"px",this.cornerStyle[b]=S+T+this.cornerCenterPointOffset-this.cornerDefaultStyle.borderWidth+"px",this.cornerStyle.borderRightWidth=`${this.cornerDefaultStyle.borderWidth}px`,this.cornerStyle.borderLeftWidth=`${this.cornerDefaultStyle.borderWidth}px`,this.cornerStyle.borderBottomWidth=`${this.cornerDefaultStyle.borderWidth}px`,this.cornerStyle.width=this.cornerDefaultStyle.width,this.cornerStyle.display="none";let e=(0,n.getTrimmingContainer)(a.TABLE);const t=e===h;t&&(e=l.documentElement);const r=parseInt(this.cornerDefaultStyle.borderWidth,10)-1,o=Math.ceil(parseInt(this.cornerDefaultStyle.width,10)/2),u=Math.ceil(parseInt(this.cornerDefaultStyle.height,10)/2);if(i===this.wot.getSetting("totalColumns")-1){const s=t?m.getBoundingClientRect().left:m.offsetLeft;let i=!1,a=0;R?(a=s-parseInt(this.cornerDefaultStyle.width,10)/2,i=a<0):(a=s+(0,n.outerWidth)(m)+parseInt(this.cornerDefaultStyle.width,10)/2,i=a>=(0,n.innerWidth)(e)),i&&(this.cornerStyle[b]=`${Math.floor(S+T+this.cornerCenterPointOffset-o-r)}px`,this.cornerStyle[R?"borderLeftWidth":"borderRightWidth"]=0)}if(s===this.wot.getSetting("totalRows")-1){const s=(t?m.getBoundingClientRect().top:m.offsetTop)+(0,n.outerHeight)(m)+parseInt(this.cornerDefaultStyle.height,10)/2>=(0,n.innerHeight)(e),i=this.wot.stylesHandler.isClassicTheme();if(s){const e=Math.floor(N+M+this.cornerCenterPointOffset-u-r);i?(this.cornerStyle.top=`${e}px`,this.cornerStyle.borderBottomWidth=0):this.cornerStyle.top=e-1+"px"}}this.cornerStyle.display="block"}(0,o.isMobileBrowser)()&&this.instance.getSetting("isDataViewInstance")&&this.updateMultipleSelectionHandlesPosition(s,i,N,S,T,M)}isEntireColumnSelected(e,t){return e===this.wot.wtTable.getFirstRenderedRow()&&t===this.wot.wtTable.getLastRenderedRow()}isEntireRowSelected(e,t){return e===this.wot.wtTable.getFirstRenderedColumn()&&t===this.wot.wtTable.getLastRenderedColumn()}getDimensionsFromHeader(e,t,r,s,i){const{wtTable:o}=this.wot,a=o.wtRootElement.parentNode;let l=null,h=null,u=null,c=null,d=null,p=null,g=null,f=null;switch(e){case"rows":l=function(){return o.getRowHeader(...arguments)},h=function(){return(0,n.outerHeight)(...arguments)},u="ht__selection--rows",p="top";break;case"columns":l=function(){return o.getColumnHeader(...arguments)},h=function(){return(0,n.outerWidth)(...arguments)},u="ht__selection--columns",p="left"}if(a.classList.contains(u)){const e=this.wot.getSetting("columnHeaders").length;if(g=l(t,e-s),f=l(r,e-s),!g||!f)return!1;const o=(0,n.offset)(g),a=(0,n.offset)(f);return g&&f&&(c=o[p]-i[p]-1,d=a[p]+h(f)-o[p]),[g,c,d]}return!1}changeBorderStyle(e,t){const r=this[e].style,s=t[e];!s||s.hide?(0,n.addClass)(this[e],"hidden"):((0,n.hasClass)(this[e],"hidden")&&(0,n.removeClass)(this[e],"hidden"),r.backgroundColor=s.color,"top"!==e&&"bottom"!==e||(r.height=`${s.width}px`),"start"!==e&&"end"!==e||(r.width=`${s.width}px`))}changeBorderToDefaultStyle(e){const t=1,r="#000",n=this[e].style;n.backgroundColor=r,n.width=`${t}px`,n.height=`${t}px`}toggleHiddenClass(e,t){this.changeBorderToDefaultStyle(e),t?(0,n.addClass)(this[e],"hidden"):(0,n.removeClass)(this[e],"hidden")}disappear(){this.topStyle.display="none",this.bottomStyle.display="none",this.startStyle.display="none",this.endStyle.display="none",this.cornerStyle.display="none",(0,o.isMobileBrowser)()&&this.instance.getSetting("isDataViewInstance")&&(this.selectionHandles.styles.top.display="none",this.selectionHandles.styles.topHitArea.display="none",this.selectionHandles.styles.bottom.display="none",this.selectionHandles.styles.bottomHitArea.display="none")}destroy(){this.eventManager.destroyWithOwnEventsOnly(),this.main.parentNode.removeChild(this.main)}}},38087:(e,t)=>{"use strict";t.__esModule=!0;t.getCornerStyle=e=>{const t=e.stylesHandler;if(t.isClassicTheme())return Object.freeze({width:6,height:6,borderWidth:1,borderStyle:"solid",borderColor:"#FFF"});const r=t.getCSSVariableValue("cell-autofill-size"),n=t.getCSSVariableValue("cell-autofill-border-width"),s=t.getCSSVariableValue("cell-autofill-border-color");return Object.freeze({width:r,height:r,borderWidth:n,borderStyle:"solid",borderColor:s})}},20746:(e,t)=>{"use strict";t.__esModule=!0;t.ACTIVE_HEADER_TYPE="active-header",t.HEADER_TYPE="header",t.AREA_TYPE="area",t.FOCUS_TYPE="focus",t.FILL_TYPE="fill",t.ROW_TYPE="row",t.COLUMN_TYPE="column",t.CUSTOM_SELECTION_TYPE="custom-selection"},70471:(e,t,r)=>{"use strict";r(14846),r(69655);var n=r(96784);t.__esModule=!0;var s={SelectionManager:!0,Selection:!0},i=n(r(42157));t.Selection=i.default;var o=r(20746);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(s,e)||e in t&&t[e]===o[e]||(t[e]=o[e]))}));var a=r(38087);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(s,e)||e in t&&t[e]===a[e]||(t[e]=a[e]))}));var l=r(67600);t.SelectionManager=l.SelectionManager},67600:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(25352),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(69655),r(94364);var s=r(62577),i=r(10917),o=n(r(32506));function a(e,t,r){l(e,t),t.set(e,r)}function l(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function h(e,t){return e.get(c(e,t))}function u(e,t,r){return e.set(c(e,t),r),r}function c(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var d=new WeakMap,p=new WeakMap,g=new WeakMap,f=new WeakMap,m=new WeakMap,y=new WeakMap,E=new WeakSet;function w(){const e=h(f,this).get(h(d,this)),t=h(d,this).wtSettings.getSetting("onBeforeRemoveCellClassNames");if(Array.isArray(t))for(let r=0;r<t.length;r++)e.add(t[r]);e.forEach((e=>{var t,r;const n=h(d,this).wtTable.TABLE.querySelectorAll(`.${e}`);let i=[];Array.isArray(null===(t=h(p,this).options)||void 0===t?void 0:t.cellAttributes)&&(i=h(p,this).options.cellAttributes.map((e=>e[0]))),Array.isArray(null===(r=h(p,this).options)||void 0===r?void 0:r.headerAttributes)&&(i=[...i,...h(p,this).options.headerAttributes.map((e=>e[0]))]);for(let t=0,r=n.length;t<r;t++)(0,s.removeClass)(n[t],e),(0,s.removeAttribute)(n[t],i)})),e.clear()}t.SelectionManager=class{constructor(e){var t,r;l(t=this,r=E),r.add(t),a(this,d,void 0),a(this,p,void 0),a(this,g,new i.SelectionScanner),a(this,f,new WeakMap),a(this,m,new WeakSet),a(this,y,new Map),u(p,this,e)}setActiveOverlay(e){return u(d,this,e),h(g,this).setActiveOverlay(h(d,this)),h(f,this).has(h(d,this))||h(f,this).set(h(d,this),new Set),this}getFocusSelection(){return null!==h(p,this)?h(p,this).getFocus():null}getAreaSelection(){return null!==h(p,this)?h(p,this).createLayeredArea():null}getBorderInstance(e){if(!e.settings.border)return null;if(h(y,this).has(e)){const t=h(y,this).get(e);if(t.has(h(d,this)))return t.get(h(d,this));const r=new o.default(h(d,this),e.settings);return t.set(h(d,this),r),r}const t=new o.default(h(d,this),e.settings);return h(y,this).set(e,new Map([[h(d,this),t]])),t}getBorderInstances(e){var t,r;return Array.from(null!==(t=null===(r=h(y,this).get(e))||void 0===r?void 0:r.values())&&void 0!==t?t:[])}destroyBorders(e){h(y,this).get(e).forEach((e=>e.destroy())),h(y,this).delete(e)}render(e){if(null===h(p,this))return;e&&c(E,this,w).call(this);const t=Array.from(h(p,this)),r=new Map,n=new Map;for(let e=0;e<t.length;e++){const s=t[e],{className:i,headerAttributes:o,createLayers:a,selectionType:l}=s.settings;h(m,this).has(s)||(h(m,this).add(s),s.addLocalHook("destroy",(()=>this.destroyBorders(s))));const u=this.getBorderInstance(s);if(s.isEmpty()){null==u||u.disappear();continue}if(i){h(g,this).setActiveSelection(s).scan().forEach((e=>{if(r.has(e)){const t=r.get(e);t.has(i)&&!0===a?t.set(i,t.get(i)+1):t.set(i,1)}else r.set(e,new Map([[i,1]]));o&&(n.has(e)||n.set(e,[]),"TH"===e.nodeName&&n.get(e).push(...o))}))}const c=s.getCorners();h(d,this).getSetting("onBeforeDrawBorders",c,l),null==u||u.appear(c)}r.forEach(((e,t)=>{var r;const n=Array.from(e).map((e=>{let[t,r]=e;return 1===r?t:[t,...Array.from({length:r-1},((e,r)=>`${t}-${r+1}`))]})).flat();n.forEach((e=>h(f,this).get(h(d,this)).add(e))),(0,s.addClass)(t,n),"TD"===t.nodeName&&Array.isArray(null===(r=h(p,this).options)||void 0===r?void 0:r.cellAttributes)&&(0,s.setAttribute)(t,h(p,this).options.cellAttributes)})),Array.from(n.keys()).forEach((e=>{(0,s.setAttribute)(e,[...n.get(e)])}))}}},10917:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620);var n=r(62577);function s(e,t,r){i(e,t),t.set(e,r)}function i(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function o(e,t){return e.get(l(e,t))}function a(e,t,r){return e.set(l(e,t),r),r}function l(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var h=new WeakMap,u=new WeakMap,c=new WeakSet;function d(e){let[t,r,n,s]=o(h,this).getCorners();if(t<0&&n<0||r<0&&s<0)return;const{wtTable:i}=o(u,this),a=t!==n||r!==s;if(r=Math.max(r,0),s=Math.max(s,0),t=Math.max(t,0),n=Math.max(n,0),a){if(r=Math.max(r,i.getFirstRenderedColumn()),s=Math.min(s,i.getLastRenderedColumn()),t=Math.max(t,i.getFirstRenderedRow()),n=Math.min(n,i.getLastRenderedRow()),s<r||n<t)return}else{if(!(i.getCell(o(u,this).createCellCoords(t,r))instanceof HTMLElement))return}for(let i=t;i<=n;i+=1)for(let t=r;t<=s;t+=1)e(i,t)}function p(e){const{wtTable:t}=o(u,this),r=t.getRenderedRowsCount(),n=t.getRenderedColumnsCount();for(let s=0;s<r;s+=1){const r=t.rowFilter.renderedToSource(s);for(let s=0;s<n;s+=1)e(r,t.columnFilter.renderedToSource(s))}}t.SelectionScanner=class{constructor(){var e,t;i(e=this,t=c),t.add(e),s(this,h,void 0),s(this,u,void 0)}setActiveOverlay(e){return a(u,this,e),this}setActiveSelection(e){return a(h,this,e),this}scan(){const e=o(h,this).settings.selectionType,t=new Set;return"active-header"===e?(this.scanColumnsInHeadersRange((e=>t.add(e))),this.scanRowsInHeadersRange((e=>t.add(e)))):"area"===e?this.scanCellsRange((e=>t.add(e))):"focus"===e?(this.scanColumnsInHeadersRange((e=>t.add(e))),this.scanRowsInHeadersRange((e=>t.add(e))),this.scanCellsRange((e=>t.add(e)))):"fill"===e?this.scanCellsRange((e=>t.add(e))):"header"===e?(this.scanColumnsInHeadersRange((e=>t.add(e))),this.scanRowsInHeadersRange((e=>t.add(e)))):"row"===e?(this.scanRowsInHeadersRange((e=>t.add(e))),this.scanRowsInCellsRange((e=>t.add(e)))):"column"===e&&(this.scanColumnsInHeadersRange((e=>t.add(e))),this.scanColumnsInCellsRange((e=>t.add(e)))),t}scanColumnsInHeadersRange(e){const[t,r,n,s]=o(h,this).getCorners(),{wtTable:i}=o(u,this),a=i.getRenderedColumnsCount(),l=i.getColumnHeadersCount();let c=0;for(let d=-i.getRowHeadersCount();d<a;d++){const a=i.columnFilter.renderedToSource(d);if(!(a<r||a>s)){for(let d=-l;d<0;d++){if(d<t||d>n)continue;const p=d+l;let g=i.getColumnHeader(a,p);const f=o(u,this).getSetting("onBeforeHighlightingColumnHeader",a,p,{selectionType:o(h,this).settings.selectionType,columnCursor:c,selectionWidth:s-r+1});null!==f&&(f!==a&&(g=i.getColumnHeader(f,p)),e(g))}c+=1}}}scanRowsInHeadersRange(e){const[t,r,n,s]=o(h,this).getCorners(),{wtTable:i}=o(u,this),a=i.getRenderedRowsCount(),l=i.getRowHeadersCount();let c=0;for(let d=-i.getColumnHeadersCount();d<a;d++){const a=i.rowFilter.renderedToSource(d);if(!(a<t||a>n)){for(let d=-l;d<0;d++){if(d<r||d>s)continue;const p=d+l;let g=i.getRowHeader(a,p);const f=o(u,this).getSetting("onBeforeHighlightingRowHeader",a,p,{selectionType:o(h,this).settings.selectionType,rowCursor:c,selectionHeight:n-t+1});null!==f&&(f!==a&&(g=i.getRowHeader(f,p)),e(g))}c+=1}}}scanCellsRange(e){const{wtTable:t}=o(u,this);l(c,this,d).call(this,((r,s)=>{const i=t.getCell(o(u,this).createCellCoords(r,s)),a=o(u,this).getSetting("onAfterDrawSelection",r,s,o(h,this).settings.layerLevel);"string"==typeof a&&(0,n.addClass)(i,a),e(i)}))}scanRowsInCellsRange(e){const[t,,r]=o(h,this).getCorners(),{wtTable:n}=o(u,this);l(c,this,p).call(this,((s,i)=>{if(s>=t&&s<=r){const t=n.getCell(o(u,this).createCellCoords(s,i));e(t)}}))}scanColumnsInCellsRange(e){const[,t,,r]=o(h,this).getCorners(),{wtTable:n}=o(u,this);l(c,this,p).call(this,((s,i)=>{if(i>=t&&i<=r){const t=n.getCell(o(u,this).createCellCoords(s,i));e(t)}}))}}},42157:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=r(25499),i=n(r(16050));class o{constructor(e,t){this.settings=e,this.cellRange=t||null}isEmpty(){return null===this.cellRange}add(e){return this.isEmpty()?this.cellRange=this.settings.createCellRange(e):this.cellRange.expand(e),this}replace(e,t){if(!this.isEmpty()){if(this.cellRange.from.isEqual(e))return this.cellRange.from=t,!0;if(this.cellRange.to.isEqual(e))return this.cellRange.to=t,!0}return!1}clear(){return this.cellRange=null,this}getCorners(){const e=this.cellRange.getOuterTopStartCorner(),t=this.cellRange.getOuterBottomEndCorner();return[e.row,e.col,t.row,t.col]}destroy(){this.runLocalHooks("destroy")}}(0,s.mixin)(o,i.default);t.default=o},34117:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=r(62577),o=r(25499);t.default=class{constructor(e){(0,s.default)(this,"settings",{}),(0,s.default)(this,"defaults",Object.freeze(this.getDefaults())),(0,o.objectEach)(this.defaults,((t,r)=>{if(void 0!==e[r])this.settings[r]=e[r];else{if(void 0===t)throw new Error(`A required setting "${r}" was not provided`);this.settings[r]=t}}))}getDefaults(){return{facade:void 0,table:void 0,isDataViewInstance:!0,externalRowCalculator:!1,currentRowClassName:null,currentColumnClassName:null,preventOverflow:()=>!1,preventWheel:!1,data:void 0,fixedColumnsStart:0,fixedRowsTop:0,fixedRowsBottom:0,shouldRenderInlineStartOverlay:()=>this.getSetting("fixedColumnsStart")>0||this.getSetting("rowHeaders").length>0,shouldRenderTopOverlay:()=>this.getSetting("fixedRowsTop")>0||this.getSetting("columnHeaders").length>0,shouldRenderBottomOverlay:()=>this.getSetting("fixedRowsBottom")>0,minSpareRows:0,rowHeaders:()=>[],columnHeaders:()=>[],totalRows:void 0,totalColumns:void 0,cellRenderer:(e,t,r)=>{const n=this.getSetting("data",e,t);(0,i.fastInnerText)(r,null==n?"":n)},columnWidth(){},rowHeight(){},rowHeightByOverlayName(){},defaultColumnWidth:50,selections:null,hideBorderOnMouseDownOver:!1,viewportRowCalculatorOverride:null,viewportColumnCalculatorOverride:null,viewportRowRenderingThreshold:null,viewportColumnRenderingThreshold:null,onCellMouseDown:null,onCellContextMenu:null,onCellMouseOver:null,onCellMouseOut:null,onCellMouseUp:null,onCellDblClick:null,onCellCornerMouseDown:null,onCellCornerDblClick:null,beforeDraw:null,onDraw:null,onBeforeRemoveCellClassNames:null,onAfterDrawSelection:null,onBeforeDrawBorders:null,onBeforeViewportScrollHorizontally:e=>e,onBeforeViewportScrollVertically:e=>e,onScrollHorizontally:null,onScrollVertically:null,onBeforeTouchScroll:null,onAfterMomentumScroll:null,onModifyRowHeaderWidth:null,onModifyGetCellCoords:null,onModifyGetCoordsElement:null,onModifyGetCoords:null,onBeforeHighlightingRowHeader:e=>e,onBeforeHighlightingColumnHeader:e=>e,onWindowResize:null,onContainerElementResize:null,renderAllColumns:!1,renderAllRows:!1,groups:!1,rowHeaderWidth:null,columnHeaderHeight:null,headerClassName:null,rtlMode:!1,ariaTags:!0}}update(e,t){return void 0===t?(0,o.objectEach)(e,((e,t)=>{this.settings[t]=e})):this.settings[e]=t,this}getSetting(e,t,r,n,s){return"function"==typeof this.settings[e]?this.settings[e](t,r,n,s):void 0!==t&&Array.isArray(this.settings[e])?this.settings[e][t]:this.settings[e]}getSettingPure(e){return this.settings[e]}has(e){return!!this.settings[e]}}},7346:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(69655);var s=n(r(85707)),i=r(62577),o=r(89804),a=n(r(62383)),l=n(r(82217)),h=r(36936),u=n(r(92020)),c=n(r(67920)),d=r(69397),p=r(71120);t.default=class{constructor(e,t,r,n,o){(0,s.default)(this,"wtSettings",null),(0,s.default)(this,"domBindings",void 0),(0,s.default)(this,"TBODY",null),(0,s.default)(this,"THEAD",null),(0,s.default)(this,"COLGROUP",null),(0,s.default)(this,"hasTableHeight",!0),(0,s.default)(this,"hasTableWidth",!0),(0,s.default)(this,"isTableVisible",!1),(0,s.default)(this,"tableOffset",0),(0,s.default)(this,"holderOffset",0),this.domBindings=r,this.isMaster="master"===o,this.name=o,this.dataAccessObject=e,this.facadeGetter=t,this.wtSettings=n,this.instance=this.dataAccessObject.wot,this.wot=this.dataAccessObject.wot,this.TABLE=r.rootTable,(0,i.removeTextNodes)(this.TABLE),this.spreader=this.createSpreader(this.TABLE),this.hider=this.createHider(this.spreader),this.holder=this.createHolder(this.hider),this.wtRootElement=this.holder.parentNode,this.isMaster&&this.alignOverlaysWithTrimmingContainer(),this.fixTableDomTree(),this.rowFilter=null,this.columnFilter=null,this.correctHeaderWidth=!1;const a=this.wtSettings.getSettingPure("rowHeaderWidth");this.wtSettings.update("rowHeaderWidth",(()=>this._modifyRowHeaderWidth(a))),this.rowUtils=new c.default(this.dataAccessObject,this.wtSettings),this.columnUtils=new u.default(this.dataAccessObject,this.wtSettings),this.tableRenderer=new h.Renderer({TABLE:this.TABLE,THEAD:this.THEAD,COLGROUP:this.COLGROUP,TBODY:this.TBODY,rowUtils:this.rowUtils,columnUtils:this.columnUtils,cellRenderer:this.wtSettings.getSettingPure("cellRenderer"),stylesHandler:this.dataAccessObject.stylesHandler})}is(e){return this.name===e}fixTableDomTree(){const e=this.domBindings.rootDocument;this.TBODY=this.TABLE.querySelector("tbody"),this.TBODY||(this.TBODY=e.createElement("tbody"),this.TABLE.appendChild(this.TBODY)),this.THEAD=this.TABLE.querySelector("thead"),this.THEAD||(this.THEAD=e.createElement("thead"),this.TABLE.insertBefore(this.THEAD,this.TBODY)),this.COLGROUP=this.TABLE.querySelector("colgroup"),this.COLGROUP||(this.COLGROUP=e.createElement("colgroup"),this.TABLE.insertBefore(this.COLGROUP,this.THEAD))}createSpreader(e){const t=e.parentNode;let r;return t&&t.nodeType===Node.ELEMENT_NODE&&(0,i.hasClass)(t,"wtHolder")||(r=this.domBindings.rootDocument.createElement("div"),r.className="wtSpreader",t&&t.insertBefore(r,e),r.appendChild(e)),r.style.position="relative",this.wtSettings.getSetting("ariaTags")&&(0,i.setAttribute)(r,[(0,p.A11Y_PRESENTATION)()]),r}createHider(e){const t=e.parentNode;let r;return t&&t.nodeType===Node.ELEMENT_NODE&&(0,i.hasClass)(t,"wtHolder")||(r=this.domBindings.rootDocument.createElement("div"),r.className="wtHider",t&&t.insertBefore(r,e),r.appendChild(e)),this.wtSettings.getSetting("ariaTags")&&(0,i.setAttribute)(r,[(0,p.A11Y_PRESENTATION)()]),r}createHolder(e){const t=e.parentNode;let r;return t&&t.nodeType===Node.ELEMENT_NODE&&(0,i.hasClass)(t,"wtHolder")||(r=this.domBindings.rootDocument.createElement("div"),r.style.position="relative",r.className="wtHolder",t&&t.insertBefore(r,e),this.isMaster&&(r.parentNode.className+="ht_master handsontable",r.parentNode.setAttribute("dir",this.wtSettings.getSettingPure("rtlMode")?"rtl":"ltr"),this.wtSettings.getSetting("ariaTags")&&(0,i.setAttribute)(r.parentNode,[(0,p.A11Y_PRESENTATION)()])),r.appendChild(e)),this.wtSettings.getSetting("ariaTags")&&(0,i.setAttribute)(r,[(0,p.A11Y_PRESENTATION)()]),r}draw(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{wtSettings:t}=this,{wtOverlays:r,wtViewport:n}=this.dataAccessObject,s=t.getSetting("totalRows"),o=t.getSetting("totalColumns"),h=t.getSetting("rowHeaders"),u=h.length,c=t.getSetting("columnHeaders"),p=c.length;let g=e;if(this.isMaster&&(r.beforeDraw(),this.holderOffset=(0,i.offset)(this.holder),g=n.createCalculators(g),u&&!t.getSetting("fixedColumnsStart"))){const e=r.inlineStartOverlay.getScrollPosition(),t=this.correctHeaderWidth;this.correctHeaderWidth=0!==e,t!==this.correctHeaderWidth&&(g=!1)}if(g)this.isMaster&&r.refresh(!0);else{this.isMaster?this.tableOffset=(0,i.offset)(this.TABLE):this.tableOffset=this.dataAccessObject.parentTableOffset;const e=s>0?this.getFirstRenderedRow():0,t=o>0?this.getFirstRenderedColumn():0;this.rowFilter=new l.default(e,s,p),this.columnFilter=new a.default(t,o,u);let g=!0;if(this.isMaster){this.alignOverlaysWithTrimmingContainer();const e={};this.wtSettings.getSetting("beforeDraw",!0,e),g=!0!==e.skipRender}g&&(this.tableRenderer.setHeaderContentRenderers(h,c),(this.is(d.CLONE_BOTTOM)||this.is(d.CLONE_BOTTOM_INLINE_START_CORNER))&&this.tableRenderer.setHeaderContentRenderers(h,[]),this.resetOversizedRows(),this.tableRenderer.setActiveOverlayName(this.name).setViewportSize(this.getRenderedRowsCount(),this.getRenderedColumnsCount()).setFilters(this.rowFilter,this.columnFilter).render(),this.isMaster&&this.markOversizedColumnHeaders(),this.adjustColumnHeaderHeights(),(this.isMaster||this.is(d.CLONE_BOTTOM))&&this.markOversizedRows(),this.isMaster?(this.wtSettings.getSetting("externalRowCalculator")||n.createVisibleCalculators(),r.refresh(!1),r.applyToDOM(),this.wtSettings.getSetting("onDraw",!0)):this.is(d.CLONE_BOTTOM)&&this.dataAccessObject.cloneSource.wtOverlays.adjustElementsSize())}let f=!1;return this.isMaster&&(f=r.topOverlay.resetFixedPosition(),r.bottomOverlay.clone&&(f=r.bottomOverlay.resetFixedPosition()||f),f=r.inlineStartOverlay.resetFixedPosition()||f,r.topInlineStartCornerOverlay&&r.topInlineStartCornerOverlay.resetFixedPosition(),r.bottomInlineStartCornerOverlay&&r.bottomInlineStartCornerOverlay.clone&&r.bottomInlineStartCornerOverlay.resetFixedPosition()),f?(r.refreshAll(),r.adjustElementsSize()):this.dataAccessObject.selectionManager.setActiveOverlay(this.facadeGetter()).render(g),this.isMaster&&r.afterDraw(),this.dataAccessObject.drawn=!0,this}markIfOversizedColumnHeader(e){const t=this.columnFilter.renderedToSource(e);let r=this.wtSettings.getSetting("columnHeaders").length;const n=this.dataAccessObject.stylesHandler.getDefaultRowHeight();let s,o,a;const l=this.wtSettings.getSetting("columnHeaderHeight")||[];for(;r;)r-=1,s=this.getColumnHeaderHeight(r),o=this.getColumnHeader(t,r),o&&(a=(0,i.innerHeight)(o),(!s&&n<a||s<a)&&(this.dataAccessObject.wtViewport.oversizedColumnHeaders[r]=a),Array.isArray(l)?null!==l[r]&&void 0!==l[r]&&(this.dataAccessObject.wtViewport.oversizedColumnHeaders[r]=l[r]):isNaN(l)||(this.dataAccessObject.wtViewport.oversizedColumnHeaders[r]=l),this.dataAccessObject.wtViewport.oversizedColumnHeaders[r]<(l[r]||l)&&(this.dataAccessObject.wtViewport.oversizedColumnHeaders[r]=l[r]||l))}adjustColumnHeaderHeights(){const{wtSettings:e}=this,t=this.THEAD.childNodes,r=this.dataAccessObject.wtViewport.oversizedColumnHeaders;for(let n=0,s=e.getSetting("columnHeaders").length;n<s;n++)if(r[n]){if(!t[n]||0===t[n].childNodes.length)return;t[n].childNodes[0].style.height=`${r[n]}px`}}resetOversizedRows(){const{wtSettings:e}=this,{wtViewport:t}=this.dataAccessObject;if((this.isMaster||this.is(d.CLONE_BOTTOM))&&!e.getSetting("externalRowCalculator")){const e=this.getRenderedRowsCount();for(let r=0;r<e;r++){const e=this.rowFilter.renderedToSource(r);t.oversizedRows&&t.oversizedRows[e]&&(t.oversizedRows[e]=void 0)}}}getCell(e){let t=e.row,r=e.col;const n=this.wtSettings.getSetting("onModifyGetCellCoords",t,r,!this.isMaster,"render");if(n&&Array.isArray(n)&&([t,r]=n),this.isRowBeforeRenderedRows(t))return-1;if(this.isRowAfterRenderedRows(t))return-2;if(this.isColumnBeforeRenderedColumns(r))return-3;if(this.isColumnAfterRenderedColumns(r))return-4;const s=this.getRow(t);if(!s&&t>=0)throw new Error("TR was expected to be rendered but is not");const i=s.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(r)];if(!i&&r>=0)throw new Error("TD or TH was expected to be rendered but is not");return i}getRow(e){let t=null,r=null;var n,s;e<0?(t=null===(n=this.rowFilter)||void 0===n?void 0:n.sourceRowToVisibleColHeadedRow(e),r=this.THEAD):(t=null===(s=this.rowFilter)||void 0===s?void 0:s.sourceToRendered(e),r=this.TBODY);return void 0!==t&&void 0!==r&&(!(r.childNodes.length<t+1)&&r.childNodes[t])}getColumnHeader(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const r=this.THEAD.childNodes[t];return null==r?void 0:r.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(e)]}getColumnHeaders(e){const t=[],r=this.columnFilter.sourceColumnToVisibleRowHeadedColumn(e);return this.THEAD.childNodes.forEach((e=>{const n=e.childNodes[r];n&&t.push(n)})),t}getRowHeader(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(t>=this.wtSettings.getSetting("rowHeaders").length)return;const r=this.rowFilter.sourceToRendered(e),n=r<0?this.rowFilter.sourceRowToVisibleColHeadedRow(e):r,s=(r<0?this.THEAD:this.TBODY).childNodes[n];return null==s?void 0:s.childNodes[t]}getRowHeaders(e){const t=[],r=this.wtSettings.getSetting("rowHeaders").length;for(let n=0;n<r;n++){const r=this.TBODY.childNodes[this.rowFilter.sourceToRendered(e)],s=null==r?void 0:r.childNodes[n];s&&t.push(s)}return t}getCoords(e){let t=e;if("TD"!==t.nodeName&&"TH"!==t.nodeName&&(t=(0,i.closest)(t,["TD","TH"])),null===t)return null;const r=t.parentNode,n=r.parentNode;let s=(0,i.index)(r),o=t.cellIndex;if((0,i.overlayContainsElement)(d.CLONE_TOP_INLINE_START_CORNER,t,this.wtRootElement)||(0,i.overlayContainsElement)(d.CLONE_TOP,t,this.wtRootElement))"THEAD"===n.nodeName&&(s-=n.childNodes.length);else if((0,i.overlayContainsElement)(d.CLONE_BOTTOM_INLINE_START_CORNER,t,this.wtRootElement)||(0,i.overlayContainsElement)(d.CLONE_BOTTOM,t,this.wtRootElement)){s=this.wtSettings.getSetting("totalRows")-n.childNodes.length+s}else s=n===this.THEAD?this.rowFilter.visibleColHeadedRowToSourceRow(s):this.rowFilter.renderedToSource(s);o=(0,i.overlayContainsElement)(d.CLONE_TOP_INLINE_START_CORNER,t,this.wtRootElement)||(0,i.overlayContainsElement)(d.CLONE_INLINE_START,t,this.wtRootElement)||(0,i.overlayContainsElement)(d.CLONE_BOTTOM_INLINE_START_CORNER,t,this.wtRootElement)?this.columnFilter.offsettedTH(o):this.columnFilter.visibleRowHeadedColumnToSourceColumn(o);const a=this.wtSettings.getSetting("onModifyGetCoordsElement",s,o);return a&&Array.isArray(a)&&([s,o]=a),this.wot.createCellCoords(s,o)}markOversizedRows(){if(this.wtSettings.getSetting("externalRowCalculator"))return;let e=this.TBODY.childNodes.length;const t=e*this.dataAccessObject.stylesHandler.getDefaultRowHeight(),r=(0,i.innerHeight)(this.TBODY)-1,n=this.wot.stylesHandler.areCellsBorderBox(),s=n?i.outerHeight:i.innerHeight,o=n?0:1,a=n?1:0;let l,h,u,c,d;if(t!==r||this.wtSettings.getSetting("fixedRowsBottom"))for(;e;){e-=1,u=this.rowFilter.renderedToSource(e),l=this.getRowHeight(u),c=this.getTrForRow(u),d=c.querySelector("th");const t=0===u?a:0;h=d?s(d):s(c)-o,(!l&&this.dataAccessObject.stylesHandler.getDefaultRowHeight()<h-t||l<h)&&(n||(h+=1),this.dataAccessObject.wtViewport.oversizedRows[u]=h)}}getTrForRow(e){return this.TBODY.childNodes[this.rowFilter.sourceToRendered(e)]}isColumnHeaderRendered(e){if(e>=0)return!1;const t=this.wtSettings.getSetting("rowHeaders").length;return Math.abs(e)<=t}isRowHeaderRendered(e){if(e>=0)return!1;const t=this.wtSettings.getSetting("columnHeaders").length;return Math.abs(e)<=t}isRowBeforeRenderedRows(e){const t=this.getFirstRenderedRow();return e<0&&t<=0?!this.isRowHeaderRendered(e):e<t}isRowAfterRenderedRows(e){return e>this.getLastRenderedRow()}isColumnBeforeRenderedColumns(e){const t=this.getFirstRenderedColumn();return e<0&&t<=0?!this.isColumnHeaderRendered(e):e<t}isColumnAfterRenderedColumns(e){return this.columnFilter&&e>this.getLastRenderedColumn()}isColumnAfterViewport(e){return this.columnFilter&&e>this.getLastVisibleColumn()}isRowAfterViewport(e){return this.rowFilter&&e>this.getLastVisibleRow()}isColumnBeforeViewport(e){return this.columnFilter&&this.columnFilter.sourceToRendered(e)<0&&e>=0}isLastRowFullyVisible(){return this.getLastVisibleRow()===this.getLastRenderedRow()}isLastColumnFullyVisible(){return this.getLastVisibleColumn()===this.getLastRenderedColumn()}allRowsInViewport(){return this.wtSettings.getSetting("totalRows")===this.getVisibleRowsCount()}allColumnsInViewport(){return this.wtSettings.getSetting("totalColumns")===this.getVisibleColumnsCount()}getRowHeight(e){return this.rowUtils.getHeight(e)}getColumnHeaderHeight(e){return this.columnUtils.getHeaderHeight(e)}getColumnWidth(e){return this.columnUtils.getWidth(e)}hasDefinedSize(){return this.hasTableHeight&&this.hasTableWidth}getWidth(){return(0,i.outerWidth)(this.TABLE)}getHeight(){return(0,i.outerHeight)(this.TABLE)}getTotalWidth(){const e=(0,i.outerWidth)(this.hider);return 0!==e?e:this.getWidth()}getTotalHeight(){const e=(0,i.outerHeight)(this.hider);return 0!==e?e:this.getHeight()}isVisible(){return(0,i.isVisible)(this.TABLE)}_modifyRowHeaderWidth(e){let t=(0,o.isFunction)(e)?e():null;return Array.isArray(t)?(t=[...t],t[t.length-1]=this._correctRowHeaderWidth(t[t.length-1])):t=this._correctRowHeaderWidth(t),t}_correctRowHeaderWidth(e){let t=e;return"number"!=typeof e&&(t=this.wtSettings.getSetting("defaultColumnWidth")),this.correctHeaderWidth&&(t+=1),t}}},55538:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(7346)),i=n(r(96514)),o=n(r(29220)),a=r(25499),l=r(69397);class h extends s.default{constructor(e,t,r,n){super(e,t,r,n,l.CLONE_BOTTOM)}}(0,a.mixin)(h,i.default),(0,a.mixin)(h,o.default);t.default=h},41618:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(7346)),i=n(r(96514)),o=n(r(11381)),a=r(25499),l=r(69397);class h extends s.default{constructor(e,t,r,n){super(e,t,r,n,l.CLONE_BOTTOM_INLINE_START_CORNER)}}(0,a.mixin)(h,i.default),(0,a.mixin)(h,o.default);t.default=h},80222:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(7346)),i=n(r(9898)),o=n(r(11381)),a=r(25499),l=r(69397);class h extends s.default{constructor(e,t,r,n){super(e,t,r,n,l.CLONE_INLINE_START)}}(0,a.mixin)(h,i.default),(0,a.mixin)(h,o.default);t.default=h},78951:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=r(62577),i=n(r(7346)),o=n(r(9898)),a=n(r(29220)),l=r(25499);class h extends i.default{constructor(e,t,r,n){super(e,t,r,n,"master")}alignOverlaysWithTrimmingContainer(){const e=(0,s.getTrimmingContainer)(this.wtRootElement),{rootWindow:t}=this.domBindings;if(e===t){this.wtSettings.getSetting("preventOverflow")||(this.holder.style.overflow="visible",this.wtRootElement.style.overflow="visible")}else{const r=e.parentElement,n=(0,s.getStyle)(e,"height",t),i=(0,s.getStyle)(e,"overflow",t),o=this.holder.style,{scrollWidth:a,scrollHeight:l}=e;let h=e.offsetWidth,u=e.offsetHeight;if(r&&["auto","hidden","scroll"].includes(i)){const n=e.cloneNode(!1);n.style.overflow="auto",n.style.position="absolute",e.nextElementSibling?r.insertBefore(n,e.nextElementSibling):r.appendChild(n);const s=parseInt(t.getComputedStyle(n).height,10);r.removeChild(n),0===s&&(u=0)}u=Math.min(u,l),o.height="auto"===n?"auto":`${u}px`,h=Math.min(h,a),o.width=`${h}px`,o.overflow="",this.hasTableHeight="auto"===o.height||u>0,this.hasTableWidth=h>0}this.isTableVisible=(0,s.isVisible)(this.TABLE)}markOversizedColumnHeaders(){const{wtSettings:e}=this,{wtViewport:t}=this.dataAccessObject,r="master",n=e.getSetting("columnHeaders").length;if(n&&!t.hasOversizedColumnHeadersMarked[r]){const s=e.getSetting("rowHeaders").length,i=this.getRenderedColumnsCount();for(let e=0;e<n;e++)for(let e=-1*s;e<i;e++)this.markIfOversizedColumnHeader(e);t.hasOversizedColumnHeadersMarked[r]=!0}}}(0,l.mixin)(h,o.default),(0,l.mixin)(h,a.default);t.default=h},29220:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(25499);const s={getFirstRenderedColumn(){const e=this.dataAccessObject.startColumnRendered;return null===e?-1:e},getFirstVisibleColumn(){const e=this.dataAccessObject.startColumnVisible;return null===e?-1:e},getFirstPartiallyVisibleColumn(){const e=this.dataAccessObject.startColumnPartiallyVisible;return null===e?-1:e},getLastRenderedColumn(){const e=this.dataAccessObject.endColumnRendered;return null===e?-1:e},getLastVisibleColumn(){const e=this.dataAccessObject.endColumnVisible;return null===e?-1:e},getLastPartiallyVisibleColumn(){const e=this.dataAccessObject.endColumnPartiallyVisible;return null===e?-1:e},getRenderedColumnsCount(){return this.dataAccessObject.countColumnsRendered},getVisibleColumnsCount(){return this.dataAccessObject.countColumnsVisible},getRowHeadersCount(){return this.dataAccessObject.rowHeaders.length}};(0,n.defineGetter)(s,"MIXIN_NAME","calculatedColumns",{writable:!1,enumerable:!1});t.default=s},9898:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(25499);const s={getFirstRenderedRow(){const e=this.dataAccessObject.startRowRendered;return null===e?-1:e},getFirstVisibleRow(){const e=this.dataAccessObject.startRowVisible;return null===e?-1:e},getFirstPartiallyVisibleRow(){const e=this.dataAccessObject.startRowPartiallyVisible;return null===e?-1:e},getLastRenderedRow(){const e=this.dataAccessObject.endRowRendered;return null===e?-1:e},getLastVisibleRow(){const e=this.dataAccessObject.endRowVisible;return null===e?-1:e},getLastPartiallyVisibleRow(){const e=this.dataAccessObject.endRowPartiallyVisible;return null===e?-1:e},getRenderedRowsCount(){return this.dataAccessObject.countRowsRendered},getVisibleRowsCount(){return this.dataAccessObject.countRowsVisible},getColumnHeadersCount(){return this.dataAccessObject.columnHeaders.length}};(0,n.defineGetter)(s,"MIXIN_NAME","calculatedRows",{writable:!1,enumerable:!1});t.default=s},11381:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(25499);const s={getFirstRenderedColumn(){return 0===this.wtSettings.getSetting("totalColumns")?-1:0},getFirstVisibleColumn(){return this.getFirstRenderedColumn()},getFirstPartiallyVisibleColumn(){return this.getFirstRenderedColumn()},getLastRenderedColumn(){return this.getRenderedColumnsCount()-1},getLastVisibleColumn(){return this.getLastRenderedColumn()},getLastPartiallyVisibleColumn(){return this.getLastRenderedColumn()},getRenderedColumnsCount(){const e=this.wtSettings.getSetting("totalColumns");return Math.min(this.wtSettings.getSetting("fixedColumnsStart"),e)},getVisibleColumnsCount(){return this.getRenderedColumnsCount()},getRowHeadersCount(){return this.dataAccessObject.rowHeaders.length}};(0,n.defineGetter)(s,"MIXIN_NAME","stickyColumnsStart",{writable:!1,enumerable:!1});t.default=s},96514:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(25499);const s={getFirstRenderedRow(){const e=this.wtSettings.getSetting("totalRows"),t=this.wtSettings.getSetting("fixedRowsBottom"),r=e-t;return 0===e||0===t?-1:r<0?0:r},getFirstVisibleRow(){return this.getFirstRenderedRow()},getFirstPartiallyVisibleRow(){return this.getFirstRenderedRow()},getLastRenderedRow(){return this.wtSettings.getSetting("totalRows")-1},getLastVisibleRow(){return this.getLastRenderedRow()},getLastPartiallyVisibleRow(){return this.getLastRenderedRow()},getRenderedRowsCount(){const e=this.wtSettings.getSetting("totalRows");return Math.min(this.wtSettings.getSetting("fixedRowsBottom"),e)},getVisibleRowsCount(){return this.getRenderedRowsCount()},getColumnHeadersCount:()=>0};(0,n.defineGetter)(s,"MIXIN_NAME","stickyRowsBottom",{writable:!1,enumerable:!1});t.default=s},26814:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(25499);const s={getFirstRenderedRow(){return 0===this.wtSettings.getSetting("totalRows")?-1:0},getFirstVisibleRow(){return this.getFirstRenderedRow()},getFirstPartiallyVisibleRow(){return this.getFirstRenderedRow()},getLastRenderedRow(){return this.getRenderedRowsCount()-1},getLastVisibleRow(){return this.getLastRenderedRow()},getLastPartiallyVisibleRow(){return this.getLastRenderedRow()},getRenderedRowsCount(){const e=this.wtSettings.getSetting("totalRows");return Math.min(this.wtSettings.getSetting("fixedRowsTop"),e)},getVisibleRowsCount(){return this.getRenderedRowsCount()},getColumnHeadersCount(){return this.dataAccessObject.columnHeaders.length}};(0,n.defineGetter)(s,"MIXIN_NAME","stickyRowsTop",{writable:!1,enumerable:!1});t.default=s},94318:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(7346)),i=n(r(26814)),o=n(r(29220)),a=r(25499),l=r(69397);class h extends s.default{constructor(e,t,r,n){super(e,t,r,n,l.CLONE_TOP)}}(0,a.mixin)(h,i.default),(0,a.mixin)(h,o.default);t.default=h},16318:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(7346)),i=n(r(26814)),o=n(r(11381)),a=r(25499),l=r(69397);class h extends s.default{constructor(e,t,r,n){super(e,t,r,n,l.CLONE_TOP_INLINE_START_CORNER)}}(0,a.mixin)(h,i.default),(0,a.mixin)(h,o.default);t.default=h},92020:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));t.default=class{constructor(e,t){(0,s.default)(this,"dataAccessObject",void 0),(0,s.default)(this,"wtSettings",void 0),(0,s.default)(this,"headerWidths",new Map),this.dataAccessObject=e,this.wtSettings=t}getWidth(e){return this.wtSettings.getSetting("columnWidth",e)||this.wtSettings.getSetting("defaultColumnWidth")}getHeaderHeight(e){let t=this.dataAccessObject.stylesHandler.getDefaultRowHeight();const r=this.dataAccessObject.wtViewport.oversizedColumnHeaders[e];return void 0!==r&&(t=t?Math.max(t,r):r),t}getHeaderWidth(e){return this.headerWidths.get(this.dataAccessObject.wtTable.columnFilter.sourceToRendered(e))}calculateWidths(){const{wtSettings:e}=this;let t=e.getSetting("rowHeaderWidth");if(t=e.getSetting("onModifyRowHeaderWidth",t),null!=t){const r=e.getSetting("rowHeaders").length,n=e.getSetting("defaultColumnWidth");for(let e=0;e<r;e++){let r=Array.isArray(t)?t[e]:t;r=null==r?n:r,this.headerWidths.set(e,r)}}}}},76095:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));t.NodesPool=class{constructor(e){(0,s.default)(this,"nodeType",void 0),(0,s.default)(this,"pool",new Map),this.nodeType=e.toUpperCase()}setRootDocument(e){this.rootDocument=e}obtain(e,t){const r="number"==typeof t?`${e}x${t}`:e.toString();if(this.pool.has(r))return this.pool.get(r);const n=this.rootDocument.createElement(this.nodeType);return this.pool.set(r,n),n}}},30303:(e,t)=>{"use strict";t.__esModule=!0;t.WORKING_SPACE_ALL=0,t.WORKING_SPACE_TOP=1,t.WORKING_SPACE_BOTTOM=2},97646:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(44653);t.OrderView=n.OrderView;var s=r(7620);t.SharedOrderView=s.SharedOrderView},7620:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(44653);class s extends n.OrderView{prependView(e){return this.sizeSet.prepend(e.sizeSet),e.sizeSet.append(this.sizeSet),this}appendView(e){return this.sizeSet.append(e.sizeSet),e.sizeSet.prepend(this.sizeSet),this}}t.SharedOrderView=s},44653:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707)),i=r(70074),o=r(64230);t.OrderView=class{constructor(e,t){(0,s.default)(this,"rootNode",void 0),(0,s.default)(this,"nodesPool",void 0),(0,s.default)(this,"sizeSet",new i.ViewSizeSet),(0,s.default)(this,"collectedNodes",[]),(0,s.default)(this,"viewDiffer",new o.ViewDiffer(this.sizeSet)),(0,s.default)(this,"leads",[]),this.rootNode=e,this.nodesPool=t}setSize(e){return this.sizeSet.setSize(e),this}setOffset(e){return this.sizeSet.setOffset(e),this}isSharedViewSet(){return this.sizeSet.isShared()}getNode(e){return e<this.collectedNodes.length?this.collectedNodes[e]:null}getCurrentNode(){const e=this.collectedNodes.length;return e>0?this.collectedNodes[e-1]:null}applyCommand(e){const{rootNode:t}=this,[r,n,s,i]=e,o=this.nodesPool(n);switch(this.collectedNodes.push(o),r){case"prepend":t.insertBefore(o,t.firstChild);break;case"append":t.appendChild(o);break;case"insert_before":t.insertBefore(o,this.nodesPool(s)),t.removeChild(this.nodesPool(i));break;case"replace":t.replaceChild(o,this.nodesPool(s));break;case"remove":t.removeChild(o)}}start(){this.collectedNodes.length=0,this.leads=this.viewDiffer.diff()}render(){this.leads.length>0&&this.applyCommand(this.leads.shift())}end(){for(;this.leads.length>0;)this.applyCommand(this.leads.shift())}}},64230:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707)),i=r(30303),o=r(26349);t.ViewDiffer=class{constructor(e){(0,s.default)(this,"sizeSet",void 0),this.sizeSet=e}diff(){const{sizeSet:e}=this,{currentSize:t,nextSize:r}=e.getViewSize();let n=Math.max(r,t);if(0===n)return[];const{currentOffset:s,nextOffset:a}=e.getViewSize(),l=new o.ViewOrder(s,t),h=new o.ViewOrder(a,r),u=[];for(let t=0;t<n;t++){const s=l.get(t),o=h.get(t);if(-1===o)u.push(["remove",s]);else if(-1===s)!e.isShared()||e.isShared()&&e.isPlaceOn(i.WORKING_SPACE_BOTTOM)?u.push(["append",o]):u.push(["prepend",o]);else if(o>s)l.has(o)&&(l.remove(o),r<=l.length&&(n-=1)),u.push(["replace",o,s]);else if(o<s){const e=l.prepend(o);u.push(["insert_before",o,s,e])}else u.push(["none",o])}return u}}},26349:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(54999),r(94364);var s=n(r(85707));t.ViewOrder=class{constructor(e,t){(0,s.default)(this,"order",[]),this.order=[...Array(t).keys()].map((t=>e+t))}get length(){return this.order.length}has(e){return this.order.indexOf(e)>-1}get(e){return e<this.order.length?this.order[e]:-1}remove(e){this.order.splice(this.order.indexOf(e),1)}prepend(e){return this.order.unshift(e),this.order.pop()}}},67744:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));t.ViewSize=class{constructor(){(0,s.default)(this,"currentSize",0),(0,s.default)(this,"nextSize",0),(0,s.default)(this,"currentOffset",0),(0,s.default)(this,"nextOffset",0)}setSize(e){this.currentSize=this.nextSize,this.nextSize=e}setOffset(e){this.currentOffset=this.nextOffset,this.nextOffset=e}}},70074:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(67744),o=r(30303);t.ViewSizeSet=class{constructor(){(0,s.default)(this,"size",new i.ViewSize),(0,s.default)(this,"workingSpace",o.WORKING_SPACE_ALL),(0,s.default)(this,"sharedSize",null)}setSize(e){this.size.setSize(e)}setOffset(e){this.size.setOffset(e)}getViewSize(){return this.size}isShared(){return null!==this.sharedSize}isPlaceOn(e){return this.workingSpace===e}append(e){this.workingSpace=o.WORKING_SPACE_TOP,e.workingSpace=o.WORKING_SPACE_BOTTOM,this.sharedSize=e.getViewSize()}prepend(e){this.workingSpace=o.WORKING_SPACE_BOTTOM,e.workingSpace=o.WORKING_SPACE_TOP,this.sharedSize=e.getViewSize()}}},67920:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));t.default=class{constructor(e,t){(0,s.default)(this,"dataAccessObject",void 0),(0,s.default)(this,"wtSettings",void 0),this.dataAccessObject=e,this.wtSettings=t}getHeight(e){let t=this.wtSettings.getSetting("rowHeight",e);const r=this.dataAccessObject.wtViewport.oversizedRows[e];return void 0!==r&&(t=void 0===t?r:Math.max(t,r)),t}getHeightByOverlayName(e,t){let r=this.wtSettings.getSetting("rowHeightByOverlayName",e,t);const n=this.dataAccessObject.wtViewport.oversizedRows[e];return void 0!==n&&(r=void 0===r?n:Math.max(r,n)),r}}},52714:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834),r(14846),r(69655);var n=r(62577),s=r(14859);function i(e,t,r){o(e,t),t.set(e,r)}function o(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function a(e,t){return e.get(h(e,t))}function l(e,t,r){return e.set(h(e,t),r),r}function h(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var u=new WeakMap,c=new WeakMap,d=new WeakMap,p=new WeakMap,g=new WeakMap,f=new WeakMap,m=new WeakMap,y=new WeakSet;function E(){const e=this.getCSSVariableValue("line-height"),t=this.getCSSVariableValue("cell-vertical-padding"),r=Math.ceil(parseFloat(this.getStyleForTD("border-bottom-width")));return null===e||null===t||isNaN(r)?null:e+2*t+r}function w(){(0,n.removeClass)(a(c,this),/ht-theme-.*/g),(0,n.addClass)(a(c,this),a(u,this))}function C(){this.isClassicTheme()||l(d,this,getComputedStyle(a(c,this)));const e=h(y,this,v).call(this,["box-sizing","border-bottom-width"]);a(m,this).td={...a(m,this).td,"box-sizing":e["box-sizing"],"border-bottom-width":e["border-bottom-width"]}}function v(e){const t=a(p,this),r=a(c,this),n=t.createElement("table"),s=t.createElement("tbody"),i=t.createElement("tr"),o=t.createElement("tr"),l=t.createElement("td");o.appendChild(l),s.appendChild(i),s.appendChild(o),n.appendChild(s),r.appendChild(n);const h=getComputedStyle(l),u={};return e.forEach((e=>{u[e]=h.getPropertyValue(e)})),r.removeChild(n),u}function R(e){const t=Math.ceil(parseFloat(h(y,this,S).call(this,e)));return Number.isNaN(t)?null:t}function S(e){const t=a(d,this).getPropertyValue(e);return""===t?null:t}function T(){l(m,this,{}),l(f,this,{}),l(g,this,!0)}t.StylesHandler=class{constructor(e){var t,r;o(t=this,r=y),r.add(t),i(this,u,void 0),i(this,c,void 0),i(this,d,void 0),i(this,p,void 0),i(this,g,!0),i(this,f,{}),i(this,m,{}),l(c,this,e.rootTable.parentElement.parentElement),l(p,this,e.rootDocument)}isClassicTheme(){return a(g,this)}getCSSVariableValue(e){var t;if(a(g,this))return null;if(a(f,this)[`--ht-${e}`])return a(f,this)[`--ht-${e}`];const r=null!==(t=h(y,this,R).call(this,`--ht-${e}`))&&void 0!==t?t:h(y,this,S).call(this,`--ht-${e}`);return null!==r?(a(f,this)[`--ht-${e}`]=r,r):void 0}getStyleForTD(e){var t;return null===(t=a(m,this))||void 0===t?void 0:t.td[e]}getDefaultRowHeight(){if(a(g,this))return 23;const e=h(y,this,E).call(this);return!e&&(0,n.hasClass)(a(c,this),"ht-wrapper")?((0,s.warn)(`The "${a(u,this)}" theme is enabled, but its stylesheets are missing or not imported correctly. Import the correct CSS files in order to use that theme.`),l(g,this,!0),this.useTheme(),23):e}areCellsBorderBox(){return"border-box"===this.getStyleForTD("box-sizing")}useTheme(e){if(!e)return h(y,this,C).call(this),l(g,this,!0),void l(u,this,e||void 0);e&&e!==a(u,this)&&(a(u,this)&&h(y,this,T).call(this),l(u,this,e),l(g,this,!1),h(y,this,w).call(this),h(y,this,C).call(this))}getThemeName(){return a(u,this)}removeClassNames(){(0,n.hasClass)(a(c,this),a(u,this))&&(0,n.removeClass)(a(c,this),a(u,this))}}},16598:(e,t,r)=>{"use strict";t.__esModule=!0,r(94364);var n=r(62577),s=r(25499),i=r(63059);t.default=class{constructor(e,t,r,n,s){this.dataAccessObject=e,this.wot=e.wot,this.instance=this.wot,this.domBindings=t,this.wtSettings=r,this.wtTable=s,this.oversizedRows=[],this.oversizedColumnHeaders=[],this.hasOversizedColumnHeadersMarked={},this.clientHeight=0,this.rowHeaderWidth=NaN,this.rowsVisibleCalculator=null,this.columnsVisibleCalculator=null,this.rowsCalculatorTypes=new Map([["rendered",()=>this.wtSettings.getSetting("renderAllRows")?new i.RenderedAllRowsCalculationType:new i.RenderedRowsCalculationType],["fullyVisible",()=>new i.FullyVisibleRowsCalculationType],["partiallyVisible",()=>new i.PartiallyVisibleRowsCalculationType]]),this.columnsCalculatorTypes=new Map([["rendered",()=>this.wtSettings.getSetting("renderAllColumns")?new i.RenderedAllColumnsCalculationType:new i.RenderedColumnsCalculationType],["fullyVisible",()=>new i.FullyVisibleColumnsCalculationType],["partiallyVisible",()=>new i.PartiallyVisibleColumnsCalculationType]]),this.eventManager=n,this.eventManager.addEventListener(this.domBindings.rootWindow,"resize",(()=>{this.clientHeight=this.getWorkspaceHeight()}))}getWorkspaceHeight(){const e=this.domBindings.rootDocument,t=this.dataAccessObject.topOverlayTrimmingContainer;let r=0;if(t===this.domBindings.rootWindow)r=e.documentElement.clientHeight;else{r=(0,n.outerHeight)(t)>0&&t.clientHeight>0?t.clientHeight:1/0}return r}getViewportHeight(){let e=this.getWorkspaceHeight();if(e===1/0)return e;const t=this.getColumnHeaderHeight();return t>0&&(e-=t),e}getWorkspaceWidth(){const{rootDocument:e,rootWindow:t}=this.domBindings,r=this.dataAccessObject.inlineStartOverlayTrimmingContainer;let n;if(r===t){const t=this.wtSettings.getSetting("totalColumns");n=this.wtTable.holder.offsetWidth,this.getRowHeaderWidth()+this.sumColumnWidths(0,t)>n&&(n=e.documentElement.clientWidth)}else n=r.clientWidth;return n}getViewportWidth(){const e=this.getWorkspaceWidth();if(e===1/0)return e;const t=this.getRowHeaderWidth();return t>0?e-t:e}hasVerticalScroll(){return this.wtTable.hider.offsetHeight>this.getWorkspaceHeight()}hasHorizontalScroll(){return this.wtTable.hider.offsetWidth>this.getWorkspaceWidth()}isVerticallyScrollableByWindow(){return this.dataAccessObject.topOverlayTrimmingContainer===this.domBindings.rootWindow}isHorizontallyScrollableByWindow(){return this.dataAccessObject.inlineStartOverlayTrimmingContainer===this.domBindings.rootWindow}sumColumnWidths(e,t){let r=0,n=e;for(;n<t;)r+=this.wtTable.getColumnWidth(n),n+=1;return r}getWorkspaceOffset(){return(0,n.offset)(this.wtTable.TABLE)}getColumnHeaderHeight(){return this.wtSettings.getSetting("columnHeaders").length?isNaN(this.columnHeaderHeight)&&(this.columnHeaderHeight=(0,n.outerHeight)(this.wtTable.THEAD)):this.columnHeaderHeight=0,this.columnHeaderHeight}getRowHeaderWidth(){const e=this.wtSettings.getSetting("rowHeaderWidth"),t=this.wtSettings.getSetting("rowHeaders");if(e){this.rowHeaderWidth=0;for(let r=0,n=t.length;r<n;r++)this.rowHeaderWidth+=e[r]||e}if(isNaN(this.rowHeaderWidth))if(t.length){let e=this.wtTable.TABLE.querySelector("TH");this.rowHeaderWidth=0;for(let r=0,s=t.length;r<s;r++)e?(this.rowHeaderWidth+=(0,n.outerWidth)(e),e=e.nextSibling):this.rowHeaderWidth+=50}else this.rowHeaderWidth=0;return this.rowHeaderWidth=this.wtSettings.getSetting("onModifyRowHeaderWidth",this.rowHeaderWidth)||this.rowHeaderWidth,this.rowHeaderWidth}createRowsCalculator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["rendered","fullyVisible","partiallyVisible"];const{wtSettings:t,wtTable:r}=this;let s,o,a=this.getViewportHeight();this.rowHeaderWidth=NaN;let l=this.dataAccessObject.topScrollPosition-this.dataAccessObject.topParentOffset;const h=t.getSetting("fixedRowsTop"),u=t.getSetting("fixedRowsBottom"),c=t.getSetting("totalRows");return h&&l>=0&&(o=this.dataAccessObject.topOverlay.sumCellSizes(0,h),l+=o,a-=o),u&&this.dataAccessObject.bottomOverlay.clone&&(o=this.dataAccessObject.bottomOverlay.sumCellSizes(c-u,c),a-=o),s=r.holder.clientHeight===r.holder.offsetHeight?0:(0,n.getScrollbarWidth)(this.domBindings.rootDocument),new i.ViewportRowsCalculator({calculationTypes:e.map((e=>[e,this.rowsCalculatorTypes.get(e)()])),viewportHeight:a,scrollOffset:l,totalRows:t.getSetting("totalRows"),defaultRowHeight:this.instance.stylesHandler.getDefaultRowHeight(),rowHeightFn:e=>r.getRowHeight(e),overrideFn:t.getSettingPure("viewportRowCalculatorOverride"),horizontalScrollbarHeight:s})}createColumnsCalculator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["rendered","fullyVisible","partiallyVisible"];const{wtSettings:t,wtTable:r}=this;let s=this.getViewportWidth(),o=Math.abs(this.dataAccessObject.inlineStartScrollPosition)-this.dataAccessObject.inlineStartParentOffset;this.columnHeaderHeight=NaN;const a=t.getSetting("fixedColumnsStart");if(a&&o>=0){const e=this.dataAccessObject.inlineStartOverlay.sumCellSizes(0,a);o+=e,s-=e}return r.holder.clientWidth!==r.holder.offsetWidth&&(s-=(0,n.getScrollbarWidth)(this.domBindings.rootDocument)),new i.ViewportColumnsCalculator({calculationTypes:e.map((e=>[e,this.columnsCalculatorTypes.get(e)()])),viewportWidth:s,scrollOffset:o,totalColumns:t.getSetting("totalColumns"),columnWidthFn:e=>r.getColumnWidth(e),overrideFn:t.getSettingPure("viewportColumnCalculatorOverride"),inlineStartOffset:this.dataAccessObject.inlineStartParentOffset})}createCalculators(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{wtSettings:t}=this,r=this.createRowsCalculator(),n=this.createColumnsCalculator();if(e&&!t.getSetting("renderAllRows")){const t=r.getResultsFor("fullyVisible");e=this.areAllProposedVisibleRowsAlreadyRendered(t)}if(e&&!t.getSetting("renderAllColumns")){const t=n.getResultsFor("fullyVisible");e=this.areAllProposedVisibleColumnsAlreadyRendered(t)}return e||(this.rowsRenderCalculator=r.getResultsFor("rendered"),this.columnsRenderCalculator=n.getResultsFor("rendered")),this.rowsVisibleCalculator=r.getResultsFor("fullyVisible"),this.columnsVisibleCalculator=n.getResultsFor("fullyVisible"),this.rowsPartiallyVisibleCalculator=r.getResultsFor("partiallyVisible"),this.columnsPartiallyVisibleCalculator=n.getResultsFor("partiallyVisible"),e}createVisibleCalculators(){const e=this.createRowsCalculator(["fullyVisible","partiallyVisible"]),t=this.createColumnsCalculator(["fullyVisible","partiallyVisible"]);this.rowsVisibleCalculator=e.getResultsFor("fullyVisible"),this.columnsVisibleCalculator=t.getResultsFor("fullyVisible"),this.rowsPartiallyVisibleCalculator=e.getResultsFor("partiallyVisible"),this.columnsPartiallyVisibleCalculator=t.getResultsFor("partiallyVisible")}areAllProposedVisibleRowsAlreadyRendered(e){if(!this.rowsVisibleCalculator)return!1;let{startRow:t,endRow:r}=e;if(null===t&&null===r){if(!e.isVisibleInTrimmingContainer)return!0;t=this.rowsPartiallyVisibleCalculator.startRow,r=this.rowsPartiallyVisibleCalculator.endRow}const{startRow:n,endRow:s,rowStartOffset:i,rowEndOffset:o}=this.rowsRenderCalculator,a=this.wtSettings.getSetting("totalRows")-1,l=this.wtSettings.getSetting("viewportRowRenderingThreshold");return Number.isInteger(l)&&l>0?(t=Math.max(0,t-Math.min(i,l)),r=Math.min(a,r+Math.min(o,l))):"auto"===l&&(t=Math.max(0,t-Math.ceil(i/2)),r=Math.min(a,r+Math.ceil(o/2))),!(t<n||t===n&&t>0)&&!(r>s||r===s&&r<a)}areAllProposedVisibleColumnsAlreadyRendered(e){if(!this.columnsVisibleCalculator)return!1;let{startColumn:t,endColumn:r}=e;if(null===t&&null===r){if(!e.isVisibleInTrimmingContainer)return!0;t=this.columnsPartiallyVisibleCalculator.startColumn,r=this.columnsPartiallyVisibleCalculator.endColumn}const{startColumn:n,endColumn:s,columnStartOffset:i,columnEndOffset:o}=this.columnsRenderCalculator,a=this.wtSettings.getSetting("totalColumns")-1,l=this.wtSettings.getSetting("viewportColumnRenderingThreshold");return Number.isInteger(l)&&l>0?(t=Math.max(0,t-Math.min(i,l)),r=Math.min(a,r+Math.min(o,l))):"auto"===l&&(t=Math.max(0,t-Math.ceil(i/2)),r=Math.min(a,r+Math.ceil(o/2))),!(t<n||t===n&&t>0)&&!(r>s||r===s&&r<a)}resetHasOversizedColumnHeadersMarked(){(0,s.objectEach)(this.hasOversizedColumnHeadersMarked,((e,t,r)=>{r[t]=void 0}))}}},87935:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(88088);var s=n(r(83497)),i=r(45435),o=r(6521),a=r(28197),l=r(58570),h=r(1791),u=r(10912),c=r(74854),d=r(50206);function p(e,t){const r=new s.default(e,t||{},i.rootInstanceSymbol);return r.init(),r}t.CellCoords=d.CellCoords,t.CellRange=d.CellRange,(0,h.registerCellType)(u.TextCellType),p.editors={BaseEditor:c.BaseEditor},p.Core=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new s.default(e,t,i.rootInstanceSymbol)},p.DefaultSettings=(0,o.metaSchemaFactory)(),p.hooks=a.Hooks.getSingleton(),p.CellCoords=d.CellCoords,p.CellRange=d.CellRange,p.packageName="handsontable",p.buildDate="19/02/2025 10:01:18",p.version="15.1.0",p.languages={dictionaryKeys:l.dictionaryKeys,getLanguageDictionary:l.getLanguageDictionary,getLanguagesDictionaries:l.getLanguagesDictionaries,registerLanguageDictionary:l.registerLanguageDictionary,getTranslatedPhrase:l.getTranslatedPhrase};t.default=p},76527:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(10463),s=r(36759),i=r(25799);const o=t.CELL_TYPE="autocomplete";t.AutocompleteCellType={CELL_TYPE:o,editor:n.AutocompleteEditor,renderer:s.autocompleteRenderer,validator:i.autocompleteValidator}},33023:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(76527);t.AutocompleteCellType=n.AutocompleteCellType,t.CELL_TYPE=n.CELL_TYPE},65829:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(12302),s=r(86510);const i=t.CELL_TYPE="checkbox";t.CheckboxCellType={CELL_TYPE:i,editor:n.CheckboxEditor,renderer:s.checkboxRenderer}},40834:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(65829);t.CELL_TYPE=n.CELL_TYPE,t.CheckboxCellType=n.CheckboxCellType},34135:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(16339),s=r(72375),i=r(5535);const o=t.CELL_TYPE="date";t.DateCellType={CELL_TYPE:o,editor:n.DateEditor,renderer:s.dateRenderer,validator:i.dateValidator}},41031:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(34135);t.CELL_TYPE=n.CELL_TYPE,t.DateCellType=n.DateCellType},62277:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(51034),s=r(24682),i=r(96);const o=t.CELL_TYPE="dropdown";t.DropdownCellType={CELL_TYPE:o,editor:n.DropdownEditor,renderer:s.dropdownRenderer,validator:i.dropdownValidator,filter:!1,strict:!0}},96306:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(62277);t.CELL_TYPE=n.CELL_TYPE,t.DropdownCellType=n.DropdownCellType},74845:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(82518),s=r(32278);const i=t.CELL_TYPE="handsontable";t.HandsontableCellType={CELL_TYPE:i,editor:n.HandsontableEditor,renderer:s.handsontableRenderer}},96618:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(74845);t.CELL_TYPE=n.CELL_TYPE,t.HandsontableCellType=n.HandsontableCellType},14758:(e,t,r)=>{"use strict";t.__esModule=!0,t.registerAllCellTypes=function(){(0,p.registerCellType)(n.AutocompleteCellType),(0,p.registerCellType)(s.CheckboxCellType),(0,p.registerCellType)(i.DateCellType),(0,p.registerCellType)(o.DropdownCellType),(0,p.registerCellType)(a.HandsontableCellType),(0,p.registerCellType)(l.NumericCellType),(0,p.registerCellType)(h.PasswordCellType),(0,p.registerCellType)(u.SelectCellType),(0,p.registerCellType)(c.TextCellType),(0,p.registerCellType)(d.TimeCellType)};var n=r(33023);t.AutocompleteCellType=n.AutocompleteCellType,t.AUTOCOMPLETE_TYPE=n.CELL_TYPE;var s=r(40834);t.CheckboxCellType=s.CheckboxCellType,t.CHECKBOX_TYPE=s.CELL_TYPE;var i=r(41031);t.DateCellType=i.DateCellType,t.DATE_TYPE=i.CELL_TYPE;var o=r(96306);t.DropdownCellType=o.DropdownCellType,t.DROPDOWN_TYPE=o.CELL_TYPE;var a=r(96618);t.HandsontableCellType=a.HandsontableCellType,t.HANDSONTABLE_TYPE=a.CELL_TYPE;var l=r(15718);t.NumericCellType=l.NumericCellType,t.NUMERIC_TYPE=l.CELL_TYPE;var h=r(20210);t.PasswordCellType=h.PasswordCellType,t.PASSWORD_TYPE=h.CELL_TYPE;var u=r(22315);t.SelectCellType=u.SelectCellType,t.SELECT_TYPE=u.CELL_TYPE;var c=r(10912);t.TextCellType=c.TextCellType,t.TEXT_TYPE=c.CELL_TYPE;var d=r(92858);t.TimeCellType=d.TimeCellType,t.TIME_TYPE=d.CELL_TYPE;var p=r(1791);t.registerCellType=p.registerCellType,t.getCellType=p.getCellType,t.getRegisteredCellTypeNames=p.getRegisteredCellTypeNames,t.getRegisteredCellTypes=p.getRegisteredCellTypes,t.hasCellType=p.hasCellType},15718:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(3421);t.CELL_TYPE=n.CELL_TYPE,t.NumericCellType=n.NumericCellType},3421:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(82304),s=r(17756),i=r(48636);const o=t.CELL_TYPE="numeric";t.NumericCellType={CELL_TYPE:o,editor:n.NumericEditor,renderer:s.numericRenderer,validator:i.numericValidator,dataType:"number"}},20210:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(24157);t.CELL_TYPE=n.CELL_TYPE,t.PasswordCellType=n.PasswordCellType},24157:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(14150),s=r(64910);const i=t.CELL_TYPE="password";t.PasswordCellType={CELL_TYPE:i,editor:n.PasswordEditor,renderer:s.passwordRenderer,copyable:!1}},1791:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.getCellType=function(e){if(!u(e))throw Error(`You declared cell type "${e}" as a string that is not mapped to a known object.\n                 Cell type must be an object or a string mapped to an object registered by\n                 "Handsontable.cellTypes.registerCellType" method`);return h(e)},t.registerCellType=function(e,t){"string"!=typeof e&&(e=(t=e).CELL_TYPE);const{editor:r,renderer:n,validator:s}=t;r&&(0,i.registerEditor)(e,r);n&&(0,o.registerRenderer)(e,n);s&&(0,a.registerValidator)(e,s);l(e,t)},r(67834);var s=n(r(28651)),i=r(8266),o=r(54852),a=r(17027);const{register:l,getItem:h,hasItem:u,getNames:c,getValues:d}=(0,s.default)("cellTypes");t.getRegisteredCellTypes=d,t.getRegisteredCellTypeNames=c,t.hasCellType=u},22315:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(19908);t.CELL_TYPE=n.CELL_TYPE,t.SelectCellType=n.SelectCellType},19908:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(63303),s=r(15651);const i=t.CELL_TYPE="select";t.SelectCellType={CELL_TYPE:i,editor:n.SelectEditor,renderer:s.selectRenderer}},10912:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(57489);t.CELL_TYPE=n.CELL_TYPE,t.TextCellType=n.TextCellType},57489:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(66420),s=r(85096);const i=t.CELL_TYPE="text";t.TextCellType={CELL_TYPE:i,editor:n.TextEditor,renderer:s.textRenderer}},92858:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(99421);t.CELL_TYPE=n.CELL_TYPE,t.TimeCellType=n.TimeCellType},99421:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(35442),s=r(70350),i=r(68864);const o=t.CELL_TYPE="time";t.TimeCellType={CELL_TYPE:o,editor:n.TimeEditor,renderer:s.timeRenderer,validator:i.timeValidator}},83497:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.default=function(e,t){var r,n=this;let F=arguments.length>2&&void 0!==arguments[2]&&arguments[2],U=this;const V=new h.default(U);let B,W,Y,G,j,z,$=!0;(0,T.hasValidParameter)(F)&&(0,T.registerAsRootInstance)(this);this.rootElement=e,this.rootDocument=e.ownerDocument,this.rootWindow=this.rootDocument.defaultView,this.isDestroyed=!1,this.renderSuspendedCounter=0,this.executionSuspendedCounter=0;const K=null!==(r=null==t?void 0:t.layoutDirection)&&void 0!==r?r:"inherit",X=["rtl","ltr"].includes(K)?K:this.rootWindow.getComputedStyle(this.rootElement).direction;this.rootElement.setAttribute("dir",X),this.isRtl=function(){return"rtl"===X},this.isLtr=function(){return!U.isRtl()},this.getDirectionFactor=function(){return U.isLtr()?1:-1},t.language=(0,_.getValidLanguageCode)(t.language);const q=new A.MetaManager(U,t,[A.DynamicCellMetaMod,A.ExtendMetaPropertiesMod]),Q=q.getTableMeta(),Z=q.getGlobalMeta(),J=(0,x.createUniqueMap)();this.container=this.rootDocument.createElement("div"),this.renderCall=!1,e.insertBefore(this.container,e.firstChild),(0,T.isRootInstance)(this)&&((0,o._injectProductInfo)(t.licenseKey,e),(0,s.addClass)(e,"ht-wrapper"));this.guid=`ht_${(0,E.randomString)()}`,H.set(this.guid,this),this.columnIndexMapper=new S.IndexMapper,this.rowIndexMapper=new S.IndexMapper,this.columnIndexMapper.addLocalHook("indexesSequenceChange",(e=>{U.runHooks("afterColumnSequenceChange",e)})),this.rowIndexMapper.addLocalHook("indexesSequenceChange",(e=>{U.runHooks("afterRowSequenceChange",e)})),W=new v.default(U),this.rootElement.id&&"ht_"!==this.rootElement.id.substring(0,3)||(this.rootElement.id=this.guid);let ee=new O.Selection(Q,{rowIndexMapper:U.rowIndexMapper,columnIndexMapper:U.columnIndexMapper,countCols:()=>U.countCols(),countRows:()=>U.countRows(),propToCol:e=>B.propToCol(e),isEditorOpened:()=>!!U.getActiveEditor()&&U.getActiveEditor().isOpened(),countRenderableColumns:()=>this.view.countRenderableColumns(),countRenderableRows:()=>this.view.countRenderableRows(),countRowHeaders:()=>this.countRowHeaders(),countColHeaders:()=>this.countColHeaders(),countRenderableRowsInRange:function(){return n.view.countRenderableRowsInRange(...arguments)},countRenderableColumnsInRange:function(){return n.view.countRenderableColumnsInRange(...arguments)},getShortcutManager:()=>U.getShortcutManager(),createCellCoords:(e,t)=>U._createCellCoords(e,t),createCellRange:(e,t,r)=>U._createCellRange(e,t,r),visualToRenderableCoords:e=>{const{row:t,col:r}=e;return U._createCellCoords(t>=0?U.rowIndexMapper.getRenderableFromVisualIndex(t):t,r>=0?U.columnIndexMapper.getRenderableFromVisualIndex(r):r)},renderableToVisualCoords:e=>{const{row:t,col:r}=e;return U._createCellCoords(t>=0?U.rowIndexMapper.getVisualFromRenderableIndex(t):t,r>=0?U.columnIndexMapper.getVisualFromRenderableIndex(r):r)},findFirstNonHiddenRenderableRow:(e,t)=>{const r=t>e?1:-1,n=Math.min(e,t),s=Math.max(e,t),i=U.rowIndexMapper.getNearestNotHiddenIndex(e,r);return null===i||1===r&&i>s||-1===r&&i<n?null:i>=0?U.rowIndexMapper.getRenderableFromVisualIndex(i):i},findFirstNonHiddenRenderableColumn:(e,t)=>{const r=t>e?1:-1,n=Math.min(e,t),s=Math.max(e,t),i=U.columnIndexMapper.getNearestNotHiddenIndex(e,r);return null===i||1===r&&i>s||-1===r&&i<n?null:i>=0?U.columnIndexMapper.getRenderableFromVisualIndex(i):i},isDisabledCellSelection:(e,t)=>e<0||t<0?U.getSettings().disableVisualSelection:U.getCellMeta(e,t).disableVisualSelection});this.selection=ee;const te=e=>{let{hiddenIndexesChanged:t}=e;t&&this.selection.commit()};function re(e){const t=(0,b.normalizeLanguageCode)(e);(0,_.hasLanguageDictionary)(t)?(U.runHooks("beforeLanguageChange",t),Z.language=t,U.runHooks("afterLanguageChange",t)):(0,b.warnUserAboutLanguageRegistration)(e)}function ne(e,t){const r="className"===e?U.rootElement:U.table;if($)(0,s.addClass)(r,t);else{let n=[],i=[];Z[e]&&(n=Array.isArray(Z[e])?Z[e]:(0,d.stringToArray)(Z[e])),t&&(i=Array.isArray(t)?t:(0,d.stringToArray)(t));const o=(0,d.getDifferenceOfArrays)(n,i),a=(0,d.getDifferenceOfArrays)(i,n);o.length&&(0,s.removeClass)(r,o),a.length&&(0,s.addClass)(r,a)}Z[e]=t}function se(){let e=!1;return{validatorsInQueue:0,valid:!0,addValidatorToQueue(){this.validatorsInQueue+=1,e=!1},removeValidatorFormQueue(){this.validatorsInQueue=this.validatorsInQueue-1<0?0:this.validatorsInQueue-1,this.checkIfQueueIsEmpty()},onQueueEmpty(){},checkIfQueueIsEmpty(){0===this.validatorsInQueue&&!1===e&&(e=!0,this.onQueueEmpty(this.valid))}}}function ie(e){const t=e.replace(",",".");return!1===isNaN(parseFloat(t))?parseFloat(t):e}function oe(e,t,r){if(!e.length)return void r();const n=U.getActiveEditor(),s=new se;let i=!0;s.onQueueEmpty=()=>{n&&i&&n.cancelChanges(),r()};for(let r=e.length-1;r>=0;r--){const[n,o]=e[r],a=B.propToCol(o);let l;l=Number.isInteger(a)?U.getCellMeta(n,a):{...Object.getPrototypeOf(Q),...Q},U.getCellValidator(l)&&(s.addValidatorToQueue(),U.validateCell(e[r][3],l,function(t,r){return function(n){if("boolean"!=typeof n)throw new Error("Validation error: result is not boolean");!1===n&&!1===r.allowInvalid&&(i=!1,e.splice(t,1),r.valid=!0),s.removeValidatorFormQueue()}}(r,l),t))}s.checkIfQueueIsEmpty()}function ae(e,t){for(let t=e.length-1;t>=0;t--){let r=!1;if(null!==e[t]){if(null!==e[t][2]&&void 0!==e[t][2]||null!==e[t][3]&&void 0!==e[t][3]){if(Q.allowInsertRow)for(;e[t][0]>U.countRows()-1;){const{delta:e}=B.createRow(void 0,void 0,{source:"auto"});if(0===e){r=!0;break}}if("array"===U.dataType&&(!Q.columns||0===Q.columns.length)&&Q.allowInsertColumn)for(;B.propToCol(e[t][1])>U.countCols()-1;){const{delta:e}=B.createCol(void 0,void 0,{source:"auto"});if(0===e){r=!0;break}}r||B.set(e[t][0],e[t][1],e[t][3])}}else e.splice(t,1)}const r=e.length>0;if(U.forceFullRender=!0,r){Y.adjustRowsAndCols(),U.runHooks("beforeChangeRender",e,t),G.closeEditor(),U.view.render(),G.prepareEditor(),U.view.adjustElementsSize(),U.runHooks("afterChange",e,t||"edit");const r=U.getActiveEditor();r&&(0,o.isDefined)(r.refreshValue)&&r.refreshValue()}else U.view.render()}function le(e,t,r){return Array.isArray(e)?e:[[e,t,r]]}function he(e,t){const r=U.runHooks("beforeChange",e,t||"edit"),n=e.filter((e=>null!==e));var s;if(!1===r||0===n.length)return null===(s=U.getActiveEditor())||void 0===s||s.cancelChanges(),[];for(let e=n.length-1;e>=0;e--){const[t,r,,s]=n[e],i=B.propToCol(r);let o;o=Number.isInteger(i)?U.getCellMeta(t,i):{...Object.getPrototypeOf(Q),...Q},"numeric"===o.type&&"string"==typeof s&&(0,w.isNumericLike)(s)&&(n[e][3]=ie(s))}return n}this.columnIndexMapper.addLocalHook("cacheUpdated",te),this.rowIndexMapper.addLocalHook("cacheUpdated",te),this.selection.addLocalHook("afterSetRangeEnd",((e,t)=>{const r=(0,u.createObjectPropListener)(!1),n=this.selection.getSelectedRange(),{from:i,to:o}=n.current(),a=n.size()-1;this.runHooks("afterSelection",i.row,i.col,o.row,o.col,r,a),this.runHooks("afterSelectionByProp",i.row,U.colToProp(i.col),o.row,U.colToProp(o.col),r,a),t&&(!r.isTouched()||r.isTouched()&&!r.value)&&z.scrollTo(e);const l=ee.isSelectedByRowHeader(),h=ee.isSelectedByColumnHeader();l&&h?(0,s.addClass)(this.rootElement,["ht__selection--rows","ht__selection--columns"]):l?((0,s.removeClass)(this.rootElement,"ht__selection--columns"),(0,s.addClass)(this.rootElement,"ht__selection--rows")):h?((0,s.removeClass)(this.rootElement,"ht__selection--rows"),(0,s.addClass)(this.rootElement,"ht__selection--columns")):(0,s.removeClass)(this.rootElement,["ht__selection--rows","ht__selection--columns"]),"shift"!==ee.getSelectionSource()&&G.closeEditor(null),U.view.render(),G.prepareEditor()})),this.selection.addLocalHook("beforeSetFocus",(e=>{this.runHooks("beforeSelectionFocusSet",e.row,e.col)})),this.selection.addLocalHook("afterSetFocus",(e=>{const t=(0,u.createObjectPropListener)(!1);this.runHooks("afterSelectionFocusSet",e.row,e.col,t),(!t.isTouched()||t.isTouched()&&!t.value)&&z.scrollTo(e),G.closeEditor(),U.view.render(),G.prepareEditor()})),this.selection.addLocalHook("afterSelectionFinished",(e=>{const t=e.length-1,{from:r,to:n}=e[t];this.runHooks("afterSelectionEnd",r.row,r.col,n.row,n.col,t),this.runHooks("afterSelectionEndByProp",r.row,U.colToProp(r.col),n.row,U.colToProp(n.col),t)})),this.selection.addLocalHook("afterIsMultipleSelection",(e=>{const t=this.runHooks("afterIsMultipleSelection",e.value);e.value&&(e.value=t)})),this.selection.addLocalHook("afterDeselect",(()=>{G.closeEditor(),U.view.render(),(0,s.removeClass)(this.rootElement,["ht__selection--rows","ht__selection--columns"]),this.runHooks("afterDeselect")})),this.selection.addLocalHook("beforeHighlightSet",(()=>this.runHooks("beforeSelectionHighlightSet"))).addLocalHook("beforeSetRangeStart",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("beforeSetRangeStart",...t)})).addLocalHook("beforeSetRangeStartOnly",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("beforeSetRangeStartOnly",...t)})).addLocalHook("beforeSetRangeEnd",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("beforeSetRangeEnd",...t)})).addLocalHook("beforeSelectColumns",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("beforeSelectColumns",...t)})).addLocalHook("afterSelectColumns",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("afterSelectColumns",...t)})).addLocalHook("beforeSelectRows",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("beforeSelectRows",...t)})).addLocalHook("afterSelectRows",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("afterSelectRows",...t)})).addLocalHook("beforeModifyTransformStart",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("modifyTransformStart",...t)})).addLocalHook("afterModifyTransformStart",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("afterModifyTransformStart",...t)})).addLocalHook("beforeModifyTransformFocus",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("modifyTransformFocus",...t)})).addLocalHook("afterModifyTransformFocus",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("afterModifyTransformFocus",...t)})).addLocalHook("beforeModifyTransformEnd",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("modifyTransformEnd",...t)})).addLocalHook("afterModifyTransformEnd",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("afterModifyTransformEnd",...t)})).addLocalHook("beforeRowWrap",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("beforeRowWrap",...t)})).addLocalHook("beforeColumnWrap",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.runHooks("beforeColumnWrap",...t)})).addLocalHook("insertRowRequire",(e=>this.alter("insert_row_above",e,1,"auto"))).addLocalHook("insertColRequire",(e=>this.alter("insert_col_start",e,1,"auto"))),Y={alter(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3?arguments[3]:void 0,s=arguments.length>4?arguments[4]:void 0;const i=e=>{if(0===e.length)return[];const t=[...e];t.sort(((e,t)=>{let[r]=e,[n]=t;return r===n?0:r>n?1:-1}));return(0,d.arrayReduce)(t,((e,t)=>{let[r,n]=t;const s=e[e.length-1],[i,o]=s,a=i+o;if(r<=a){const e=Math.max(n-(a-r),0);s[1]+=e}else e.push([r,n]);return e}),[t[0]])};switch(e){case"insert_row_below":case"insert_row_above":const s=U.countSourceRows();if(Q.maxRows===s)return;const a="insert_row_below"===e?"below":"above";t=null!=t?t:"below"===a?s:0;const{delta:l,startPhysicalIndex:h}=B.createRow(t,r,{source:n,mode:a});ee.shiftRows(U.toVisualRow(h),l);break;case"insert_col_start":case"insert_col_end":const u="insert_col_end"===e?"end":"start";t=null!=t?t:"end"===u?U.countSourceCols():0;const{delta:c,startPhysicalIndex:p}=B.createCol(t,r,{source:n,mode:u});if(c){if(Array.isArray(Q.colHeaders)){const e=[U.toVisualColumn(p),0];e.length+=c,Array.prototype.splice.apply(Q.colHeaders,e)}ee.shiftColumns(U.toVisualColumn(p),c)}break;case"remove_row":const g=e=>{let t=0;(0,d.arrayEach)(e,(e=>{let[r,s]=e;const i=(0,o.isEmpty)(r)?U.countRows()-1:Math.max(r-t,0);Number.isInteger(r)&&(r=Math.max(r-t,0));if(!B.removeRow(r,s,n))return;if(ee.isSelected()){const{row:e}=U.getSelectedRangeLast().highlight;e>=r&&e<=r+s-1&&G.closeEditor(!0)}const a=U.countRows();0===a?ee.deselect():"ContextMenu.removeRow"===n?ee.refresh():ee.shiftRows(r,-s);const l=Q.fixedRowsTop;l>=i+1&&(Q.fixedRowsTop-=Math.min(s,l-i));const h=Q.fixedRowsBottom;h&&i>=a-h&&(Q.fixedRowsBottom-=Math.min(s,h)),t+=s}))};Array.isArray(t)?g(i(t)):g([[t,r]]);break;case"remove_col":const f=e=>{let t=0;(0,d.arrayEach)(e,(e=>{let[r,s]=e;const i=(0,o.isEmpty)(r)?U.countCols()-1:Math.max(r-t,0);let a=U.toPhysicalColumn(i);Number.isInteger(r)&&(r=Math.max(r-t,0));if(!B.removeCol(r,s,n))return;if(ee.isSelected()){const{col:e}=U.getSelectedRangeLast().highlight;e>=r&&e<=r+s-1&&G.closeEditor(!0)}0===U.countCols()?ee.deselect():"ContextMenu.removeColumn"===n?ee.refresh():ee.shiftColumns(r,-s);const l=Q.fixedColumnsStart;l>=i+1&&(Q.fixedColumnsStart-=Math.min(s,l-i)),Array.isArray(Q.colHeaders)&&(void 0===a&&(a=-1),Q.colHeaders.splice(a,s)),t+=s}))};Array.isArray(t)?f(i(t)):f([[t,r]]);break;default:throw new Error(`There is no such action "${e}"`)}s||Y.adjustRowsAndCols(),U.view.render(),U.view.adjustElementsSize()},adjustRowsAndCols(){const e=Q.minRows,t=Q.minSpareRows,r=Q.minCols,n=Q.minSpareCols;if(e){const t=U.countRows();t<e&&B.createRow(t,e-t,{source:"auto"})}if(t){const e=U.countEmptyRows(!0);if(e<t){const r=t-e,n=Math.min(r,Q.maxRows-U.countSourceRows());B.createRow(U.countRows(),n,{source:"auto"})}}{let e;(r||n)&&(e=U.countEmptyCols(!0));let t=U.countCols();if(r&&!Q.columns&&t<r){const n=r-t;e+=n,B.createCol(t,n,{source:"auto"})}if(n&&!Q.columns&&"array"===U.dataType&&e<n){t=U.countCols();const r=n-e,s=Math.min(r,Q.maxCols-t);B.createCol(t,s,{source:"auto"})}}},populateFromArray(e,t,r,n,s){let i,o,a,l;const h=[],c={},p=[],g=e.row,f=e.col;if(o=t.length,0===o)return!1;let m=0,y=0;switch((0,u.isObject)(r)&&(m=r.col-f+1,y=r.row-g+1),s){case"shift_down":const s=(0,d.pivot)(t),E=s.length,w=Math.max(E,m),C=U.getData().slice(g),v=(0,d.pivot)(C).slice(f,f+w);for(a=0;a<w;a+=1)if(a<E){for(i=0,o=s[a].length;i<y-o;i+=1)s[a].push(s[a][i%o]);a<v.length?p.push(s[a].concat(v[a])):p.push(s[a].concat(new Array(C.length).fill(null)))}else p.push(s[a%E].concat(v[a]));U.populateFromArray(g,f,(0,d.pivot)(p));break;case"shift_right":const R=t.length,S=Math.max(R,y),T=U.getData().slice(g).map((e=>e.slice(f)));for(i=0;i<S;i+=1)if(i<R){for(a=0,l=t[i].length;a<m-l;a+=1)t[i].push(t[i][a%l]);if(i<T.length)for(let e=0;e<T[i].length;e+=1)t[i].push(T[i][e]);else t[i].push(...new Array(T[0].length).fill(null))}else t.push(t[i%o].slice(0,S).concat(T[i]));U.populateFromArray(g,f,t);break;default:c.row=e.row,c.col=e.col;let N,M=0,_=0,b=!0;const O=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const n=t[e%t.length];return null!==r?n[r%n.length]:n},A=t.length,I=r?r.row-e.row+1:0;for(o=r?I:Math.max(A,I),i=0;i<o&&!(r&&c.row>r.row&&I>A||!Q.allowInsertRow&&c.row>U.countRows()-1||c.row>=Q.maxRows);i++){const t=i-M,s=O(t).length,d=r?r.col-e.col+1:0;if(l=r?d:Math.max(s,d),c.col=e.col,N=U.getCellMeta(c.row,c.col),"CopyPaste.paste"!==n&&"Autofill.fill"!==n||!N.skipRowOnPaste){for(_=0,a=0;a<l&&!(r&&c.col>r.col&&d>s||!Q.allowInsertColumn&&c.col>U.countCols()-1||c.col>=Q.maxCols);a++){if(N=U.getCellMeta(c.row,c.col),("CopyPaste.paste"===n||"Autofill.fill"===n)&&N.skipColumnOnPaste){_+=1,c.col+=1,l+=1;continue}if(N.readOnly&&"UndoRedo.undo"!==n){c.col+=1;continue}let e=O(t,a-_),r=U.getDataAtCell(c.row,c.col);if(null!==e&&"object"==typeof e)if(Array.isArray(e)&&null===r&&(r=[]),null===r||"object"!=typeof r)b=!1;else{const t=(0,u.duckSchema)(Array.isArray(r)?r:r[0]||r),n=(0,u.duckSchema)(Array.isArray(e)?e:e[0]||e);(0,u.isObjectEqual)(t,n)||Array.isArray(t)&&Array.isArray(n)?e=(0,u.deepClone)(e):b=!1}else null!==r&&"object"==typeof r&&(b=!1);b&&h.push([c.row,c.col,e]),b=!0,c.col+=1}c.row+=1}else M+=1,c.row+=1,o+=1}U.setDataAtCell(h,null,null,n||"populateFromArray")}}},this.init=function(){W.setData(Q.data),U.runHooks("beforeInit"),((0,a.isMobileBrowser)()||(0,a.isIpadOS)())&&(0,s.addClass)(U.rootElement,"mobile"),this.updateSettings(Q,!0),this.view=new C.default(this);const e=Q.themeName||(0,D.getThemeClassName)(U.rootElement);U.useTheme(e),U.view.addClassNameToLicenseElement(U.getCurrentThemeName()),G=l.default.getInstance(U,Q,ee),z=(0,I.createViewportScroller)(U),j=new c.FocusManager(U),(0,T.isRootInstance)(this)&&(0,I.installFocusCatcher)(U),U.runHooks("init"),this.forceFullRender=!0,this.view.render(),$&&null===U.rootElement.offsetParent&&(0,s.observeVisibilityChangeOnce)(U.rootElement,(()=>{U.view._wt.wtOverlays.updateLastSpreaderSize(),U.render(),U.view.adjustElementsSize()})),"object"==typeof $&&(U.runHooks("afterChange",$[0],$[1]),$=!1),U.runHooks("afterInit")},this._createCellCoords=function(e,t){return U.view._wt.createCellCoords(e,t)},this._createCellRange=function(e,t,r){return U.view._wt.createCellRange(e,t,r)},this.validateCell=function(e,t,r,n){let s=U.getCellValidator(t);function a(e){if(!(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])||!0===t.hidden)return void r(e);const n=t.visualCol,s=t.visualRow,i=U.getCell(s,n,!0);if(i&&"TH"!==i.nodeName){const e=U.rowIndexMapper.getRenderableFromVisualIndex(s),t=U.columnIndexMapper.getRenderableFromVisualIndex(n);U.view._wt.getSetting("cellRenderer",e,t,i)}r(e)}var l;(0,o.isRegExp)(s)&&(l=s,s=function(e,t){t(l.test(e))}),(0,i.isFunction)(s)?(e=U.runHooks("beforeValidate",e,t.visualRow,t.prop,n),U._registerImmediate((()=>{s.call(t,e,(r=>{U&&(r=U.runHooks("afterValidate",r,e,t.visualRow,t.prop,n),t.valid=r,a(r),U.runHooks("postAfterValidate",r,e,t.visualRow,t.prop,n))}))}))):U._registerImmediate((()=>{t.valid=!0,a(t.valid,!1)}))},this.setDataAtCell=function(e,t,r,n){const s=le(e,t,r),i=[];let o,a,l,h=n;for(o=0,a=s.length;o<a;o++){if("object"!=typeof s[o])throw new Error("Method `setDataAtCell` accepts row number or changes array of arrays as its first parameter");if("number"!=typeof s[o][1])throw new Error("Method `setDataAtCell` accepts row and column number as its parameters. If you want to use object property name, use method `setDataAtRowProp`");l=s[o][1]>=this.countCols()?s[o][1]:B.colToProp(s[o][1]),i.push([s[o][0],l,W.getAtCell(this.toPhysicalRow(s[o][0]),s[o][1]),s[o][2]])}h||"object"!=typeof e||(h=t);const u=he(i,h);U.runHooks("afterSetDataAtCell",u,h),oe(u,h,(()=>{ae(u,h)}))},this.setDataAtRowProp=function(e,t,r,n){const s=le(e,t,r),i=[];let o,a,l=n;for(o=0,a=s.length;o<a;o++)i.push([s[o][0],s[o][1],W.getAtCell(this.toPhysicalRow(s[o][0]),s[o][1]),s[o][2]]);l||"object"!=typeof e||(l=t);const h=he(i,n);U.runHooks("afterSetDataAtRowProp",h,l),oe(h,l,(()=>{ae(h,l)}))},this.listen=function(){U&&!U.isListening()&&(H.forEach((e=>{U!==e&&e.unlisten()})),k=U.guid,U.runHooks("afterListen"))},this.unlisten=function(){this.isListening()&&(k=null,U.runHooks("afterUnlisten"))},this.isListening=function(){return k===U.guid},this.destroyEditor=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];G.closeEditor(e),U.view.render(),t&&ee.isSelected()&&G.prepareEditor()},this.populateFromArray=function(e,t,r,n,s,i,o){if("object"!=typeof r||"object"!=typeof r[0])throw new Error("populateFromArray parameter `input` must be an array of arrays");const a="number"==typeof n?U._createCellCoords(n,s):null;return Y.populateFromArray(U._createCellCoords(e,t),r,a,i,o)},this.spliceCol=function(e,t,r){for(var n=arguments.length,s=new Array(n>3?n-3:0),i=3;i<n;i++)s[i-3]=arguments[i];return B.spliceCol(e,t,r,...s)},this.spliceRow=function(e,t,r){for(var n=arguments.length,s=new Array(n>3?n-3:0),i=3;i<n;i++)s[i-3]=arguments[i];return B.spliceRow(e,t,r,...s)},this.getSelected=function(){if(ee.isSelected())return(0,d.arrayMap)(ee.getSelectedRange(),(e=>{let{from:t,to:r}=e;return[t.row,t.col,r.row,r.col]}))},this.getSelectedLast=function(){const e=this.getSelected();let t;return e&&e.length>0&&(t=e[e.length-1]),t},this.getSelectedRange=function(){if(ee.isSelected())return Array.from(ee.getSelectedRange())},this.getSelectedRangeLast=function(){const e=this.getSelectedRange();let t;return e&&e.length>0&&(t=e[e.length-1]),t},this.emptySelectedCells=function(e){if(!ee.isSelected()||0===this.countRows()||0===this.countCols())return;const t=[];(0,d.arrayEach)(ee.getSelectedRange(),(e=>{if(e.isSingleHeader())return;const r=e.getTopStartCorner(),n=e.getBottomEndCorner();(0,w.rangeEach)(r.row,n.row,(e=>{(0,w.rangeEach)(r.col,n.col,(r=>{this.getCellMeta(e,r).readOnly||t.push([e,r,null])}))}))})),t.length>0&&this.setDataAtCell(t,e)},this.isRenderSuspended=function(){return this.renderSuspendedCounter>0},this.suspendRender=function(){this.renderSuspendedCounter+=1},this.resumeRender=function(){const e=this.renderSuspendedCounter-1;this.renderSuspendedCounter=Math.max(e,0),this.isRenderSuspended()||e!==this.renderSuspendedCounter||(this.renderCall?this.render():U.view.render())},this.render=function(){this.view&&(this.renderCall=!0,this.forceFullRender=!0,this.isRenderSuspended()||U.view.render())},this.batchRender=function(e){this.suspendRender();const t=e();return this.resumeRender(),t},this.isExecutionSuspended=function(){return this.executionSuspendedCounter>0},this.suspendExecution=function(){this.executionSuspendedCounter+=1,this.columnIndexMapper.suspendOperations(),this.rowIndexMapper.suspendOperations()},this.resumeExecution=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=this.executionSuspendedCounter-1;this.executionSuspendedCounter=Math.max(t,0),(!this.isExecutionSuspended()&&t===this.executionSuspendedCounter||e)&&(this.columnIndexMapper.resumeOperations(),this.rowIndexMapper.resumeOperations())},this.batchExecution=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.suspendExecution();const r=e();return this.resumeExecution(t),r},this.batch=function(e){this.suspendRender(),this.suspendExecution();const t=e();return this.resumeExecution(),this.resumeRender(),t},this.refreshDimensions=function(){if(!U.view)return;const e=U.view,{width:t,height:r}=e.getLastSize(),{width:n,height:s}=U.rootElement.getBoundingClientRect(),i=n!==t||s!==r;!1===U.runHooks("beforeRefreshDimensions",{width:t,height:r},{width:n,height:s},i)||((i||e._wt.wtOverlays.scrollableElement===U.rootWindow)&&(e.setLastSize(n,s),U.render(),e.adjustElementsSize()),U.runHooks("afterRefreshDimensions",{width:t,height:r},{width:n,height:s},i))},this.updateData=function(e,t){(0,A.replaceData)(e,(e=>{B=e}),(e=>{B=e,U.columnIndexMapper.fitToLength(this.getInitialColumnCount()),U.rowIndexMapper.fitToLength(this.countSourceRows()),Y.adjustRowsAndCols(),ee.refresh()}),{hotInstance:U,dataMap:B,dataSource:W,internalSource:"updateData",source:t,metaManager:q,firstRun:$})},this.loadData=function(e,t){(0,A.replaceData)(e,(e=>{B=e}),(()=>{q.clearCellsCache(),U.initIndexMappers(),Y.adjustRowsAndCols(),ee.refresh(),$&&($=[null,"loadData"])}),{hotInstance:U,dataMap:B,dataSource:W,internalSource:"loadData",source:t,metaManager:q,firstRun:$})},this.getInitialColumnCount=function(){const e=Q.columns;let t=0;if(Array.isArray(e))t=e.length;else if((0,i.isFunction)(e))if("array"===U.dataType){const r=this.countSourceCols();for(let n=0;n<r;n+=1)e(n)&&(t+=1)}else"object"!==U.dataType&&"function"!==U.dataType||(t=B.colToPropCache.length);else if((0,o.isDefined)(Q.dataSchema)){const e=B.getSchema();t=Array.isArray(e)?e.length:(0,u.deepObjectSize)(e)}else t=this.countSourceCols();return t},this.initIndexMappers=function(){this.columnIndexMapper.initToLength(this.getInitialColumnCount()),this.rowIndexMapper.initToLength(this.countSourceRows())},this.getData=function(e,t,r,n){return(0,o.isUndefined)(e)?B.getAll():B.getRange(U._createCellCoords(e,t),U._createCellCoords(r,n),B.DESTINATION_RENDERER)},this.getCopyableText=function(e,t,r,n){return B.getCopyableText(U._createCellCoords(e,t),U._createCellCoords(r,n))},this.getCopyableData=function(e,t){return B.getCopyable(e,B.colToProp(t))},this.getSchema=function(){return B.getSchema()},this.updateSettings=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=($?U.loadData:U.updateData).bind(this);let n,s,a=!1;if((0,o.isDefined)(e.rows))throw new Error('The "rows" setting is no longer supported. Do you mean startRows, minRows or maxRows?');if((0,o.isDefined)(e.cols))throw new Error('The "cols" setting is no longer supported. Do you mean startCols, minCols or maxCols?');if((0,o.isDefined)(e.ganttChart))throw new Error('Since 8.0.0 the "ganttChart" setting is no longer supported.');for(n in e)"data"===n||("language"===n?re(e.language):"className"===n?ne("className",e.className):"tableClassName"===n&&U.table?(ne("tableClassName",e.tableClassName),U.view._wt.wtOverlays.syncOverlayTableClassNames()):M.Hooks.getSingleton().isRegistered(n)||M.Hooks.getSingleton().isDeprecated(n)?(0,i.isFunction)(e[n])?M.Hooks.getSingleton().addAsFixed(n,e[n],U):Array.isArray(e[n])&&M.Hooks.getSingleton().add(n,e[n],U):!t&&(0,u.hasOwnProperty)(e,n)&&(Z[n]=e[n]));void 0===e.data&&void 0===Q.data?r(null,"updateSettings"):void 0!==e.data?r(e.data,"updateSettings"):void 0!==e.columns&&(B.createMap(),U.initIndexMappers());const l=U.countCols(),h=Q.columns;if(h&&(0,i.isFunction)(h)&&(a=!0),void 0===e.cell&&void 0===e.cells&&void 0===e.columns||q.clearCache(),l>0)for(n=0,s=0;n<l;n++){if(h){const e=a?h(n):h[s];e&&q.updateColumnMeta(s,e)}s+=1}(0,o.isDefined)(e.cell)&&(0,u.objectEach)(e.cell,(e=>{U.setCellMetaObject(e.row,e.col,e)})),U.runHooks("afterCellMetaReset");let c=U.rootElement.style.height;""!==c&&(c=parseInt(U.rootElement.style.height,10));let d=e.height;if((0,i.isFunction)(d)&&(d=d()),t){U.rootElement.getAttribute("style")&&U.rootElement.setAttribute("data-initialstyle",U.rootElement.getAttribute("style"))}if(null===d){const e=U.rootElement.getAttribute("data-initialstyle");e&&(e.indexOf("height")>-1||e.indexOf("overflow")>-1)?U.rootElement.setAttribute("style",e):(U.rootElement.style.height="",U.rootElement.style.overflow="")}else void 0!==d&&(U.rootElement.style.height=isNaN(d)?`${d}`:`${d}px`,U.rootElement.style.overflow="hidden");if(void 0!==e.width){let t=e.width;(0,i.isFunction)(t)&&(t=t()),U.rootElement.style.width=isNaN(t)?`${t}`:`${t}px`}if(!t){if(U.view){U.view._wt.wtViewport.resetHasOversizedColumnHeadersMarked(),U.view._wt.exportSettingsAsClassNames();const t=U.getCurrentThemeName(),r=(0,u.hasOwnProperty)(e,"themeName");t&&r&&t!==e.themeName&&(U.view.getStylesHandler().removeClassNames(),U.view.removeClassNameFromLicenseElement(t));const n=r&&e.themeName||(0,D.getThemeClassName)(U.rootElement);U.useTheme(n),U.view.addClassNameToLicenseElement(U.getCurrentThemeName())}U.runHooks("afterUpdateSettings",e)}Y.adjustRowsAndCols(),U.view&&!$&&(U.forceFullRender=!0,U.view.render(),U.view._wt.wtOverlays.adjustElementsSize()),t||!U.view||""!==c&&""!==d&&void 0!==d||c===d||U.view._wt.wtOverlays.updateMainScrollableElements()},this.getValue=function(){const e=U.getSelectedLast();if(Q.getValue){if((0,i.isFunction)(Q.getValue))return Q.getValue.call(U);if(e)return U.getData()[e[0][0]][Q.getValue]}else if(e)return U.getDataAtCell(e[0],e[1])},this.getSettings=function(){return Q},this.clear=function(){this.selectAll(),this.emptySelectedCells()},this.alter=function(e,t,r,n,s){Y.alter(e,t,r,n,s)},this.getCell=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=t,s=e;if(t>=0){if(this.columnIndexMapper.isHidden(this.toPhysicalColumn(t)))return null;n=this.columnIndexMapper.getRenderableFromVisualIndex(t)}if(e>=0){if(this.rowIndexMapper.isHidden(this.toPhysicalRow(e)))return null;s=this.rowIndexMapper.getRenderableFromVisualIndex(e)}return null===s||null===n||void 0===s||void 0===n?null:U.view.getCellAtCoords(U._createCellCoords(s,n),r)},this.getCoords=function(e){const t=this.view._wt.wtTable.getCoords(e);if(null===t)return null;const{row:r,col:n}=t;let s=r,i=n;return r>=0&&(s=this.rowIndexMapper.getVisualFromRenderableIndex(r)),n>=0&&(i=this.columnIndexMapper.getVisualFromRenderableIndex(n)),U._createCellCoords(s,i)},this.colToProp=function(e){return B.colToProp(e)},this.propToCol=function(e){return B.propToCol(e)},this.toVisualRow=e=>this.rowIndexMapper.getVisualFromPhysicalIndex(e),this.toVisualColumn=e=>this.columnIndexMapper.getVisualFromPhysicalIndex(e),this.toPhysicalRow=e=>this.rowIndexMapper.getPhysicalFromVisualIndex(e),this.toPhysicalColumn=e=>this.columnIndexMapper.getPhysicalFromVisualIndex(e),this.getDataAtCell=function(e,t){return B.get(e,B.colToProp(t))},this.getDataAtRowProp=function(e,t){return B.get(e,t)},this.getDataAtCol=function(e){const t=[],r=B.getRange(U._createCellCoords(0,e),U._createCellCoords(Q.data.length-1,e),B.DESTINATION_RENDERER);for(let e=0;e<r.length;e+=1)for(let n=0;n<r[e].length;n+=1)t.push(r[e][n]);return t},this.getDataAtProp=function(e){const t=[],r=B.getRange(U._createCellCoords(0,B.propToCol(e)),U._createCellCoords(Q.data.length-1,B.propToCol(e)),B.DESTINATION_RENDERER);for(let e=0;e<r.length;e+=1)for(let n=0;n<r[e].length;n+=1)t.push(r[e][n]);return t},this.getSourceData=function(e,t,r,n){let s;return s=void 0===e?W.getData():W.getByRange(U._createCellCoords(e,t),U._createCellCoords(r,n)),s},this.getSourceDataArray=function(e,t,r,n){let s;return s=void 0===e?W.getData(!0):W.getByRange(U._createCellCoords(e,t),U._createCellCoords(r,n),!0),s},this.getSourceDataAtCol=function(e){return W.getAtColumn(e)},this.setSourceDataAtCell=function(e,t,r,n){const s=le(e,t,r),i=this.hasHook("afterSetSourceDataAtCell"),a=[];i&&(0,d.arrayEach)(s,(e=>{let[t,r,n]=e;a.push([t,r,W.getAtCell(t,r),n])})),(0,d.arrayEach)(s,(e=>{let[t,r,n]=e;W.setAtCell(t,r,n)})),i&&this.runHooks("afterSetSourceDataAtCell",a,n),this.render();const l=U.getActiveEditor();l&&(0,o.isDefined)(l.refreshValue)&&l.refreshValue()},this.getSourceDataAtRow=function(e){return W.getAtRow(e)},this.getSourceDataAtCell=function(e,t){return W.getAtCell(e,t)},this.getDataAtRow=function(e){return B.getRange(U._createCellCoords(e,0),U._createCellCoords(e,this.countCols()-1),B.DESTINATION_RENDERER)[0]||[]},this.getDataType=function(e,t,r,n){const s=void 0===e?[0,0,this.countRows(),this.countCols()]:[e,t,r,n],[i,o]=s;let[,,a,l]=s,h=null,u=null;void 0===a&&(a=i),void 0===l&&(l=o);let c="mixed";return(0,w.rangeEach)(Math.max(Math.min(i,a),0),Math.max(i,a),(e=>{let t=!0;return(0,w.rangeEach)(Math.max(Math.min(o,l),0),Math.max(o,l),(r=>{const n=this.getCellMeta(e,r);return u=n.type,h?t=h===u:h=u,t})),c=t?u:"mixed",t})),c},this.removeCellMeta=function(e,t,r){const[n,s]=[this.toPhysicalRow(e),this.toPhysicalColumn(t)];let i=q.getCellMetaKeyValue(n,s,r);!1!==U.runHooks("beforeRemoveCellMeta",e,t,r,i)&&(q.removeCellMeta(n,s,r),U.runHooks("afterRemoveCellMeta",e,t,r,i)),i=null},this.spliceCellsMeta=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(var r=arguments.length,n=new Array(r>2?r-2:0),s=2;s<r;s++)n[s-2]=arguments[s];if(n.length>0&&!Array.isArray(n[0]))throw new Error("The 3rd argument (cellMetaRows) has to be passed as an array of cell meta objects array.");t>0&&q.removeRow(this.toPhysicalRow(e),t),n.length>0&&(0,d.arrayEach)(n.reverse(),(t=>{q.createRow(this.toPhysicalRow(e)),(0,d.arrayEach)(t,((t,r)=>this.setCellMetaObject(e,r,t)))})),U.render()},this.setCellMetaObject=function(e,t,r){"object"==typeof r&&(0,u.objectEach)(r,((r,n)=>{this.setCellMeta(e,t,n,r)}))},this.setCellMeta=function(e,t,r,n){if(!1===U.runHooks("beforeSetCellMeta",e,t,r,n))return;let s=e,i=t;e<this.countRows()&&(s=this.toPhysicalRow(e)),t<this.countCols()&&(i=this.toPhysicalColumn(t)),q.setCellMeta(s,i,r,n),U.runHooks("afterSetCellMeta",e,t,r,n)},this.getCellsMeta=function(){return q.getCellsMeta()},this.getCellMeta=function(e,t){let r=this.toPhysicalRow(e),n=this.toPhysicalColumn(t);return null===r&&(r=e),null===n&&(n=t),q.getCellMeta(r,n,{visualRow:e,visualColumn:t})},this.getColumnMeta=function(e){return q.getColumnMeta(this.toPhysicalColumn(e))},this.getCellMetaAtRow=function(e){return q.getCellsMetaAtRow(e)},this.isColumnModificationAllowed=function(){return!("object"===U.dataType||Q.columns)},this.getCellRenderer=function(e,t){const r="number"==typeof e?U.getCellMeta(e,t).renderer:e.renderer;return"string"==typeof r?(0,f.getRenderer)(r):(0,o.isUndefined)(r)?(0,f.getRenderer)("text"):r},this.getCellEditor=function(e,t){const r="number"==typeof e?U.getCellMeta(e,t).editor:e.editor;return"string"==typeof r?(0,m.getEditor)(r):(0,o.isUndefined)(r)?(0,m.getEditor)("text"):r},this.getCellValidator=function(e,t){const r="number"==typeof e?U.getCellMeta(e,t).validator:e.validator;return"string"==typeof r?(0,y.getValidator)(r):r},this.validateCells=function(e){this._validateCells(e)},this.validateRows=function(e,t){if(!Array.isArray(e))throw new Error("validateRows parameter `rows` must be an array");this._validateCells(t,e)},this.validateColumns=function(e,t){if(!Array.isArray(e))throw new Error("validateColumns parameter `columns` must be an array");this._validateCells(t,void 0,e)},this._validateCells=function(e,t,r){const n=new se;e&&(n.onQueueEmpty=e);let s=U.countRows()-1;for(;s>=0;){if(void 0!==t&&-1===t.indexOf(s)){s-=1;continue}let e=U.countCols()-1;for(;e>=0;)void 0===r||-1!==r.indexOf(e)?(n.addValidatorToQueue(),U.validateCell(U.getDataAtCell(s,e),U.getCellMeta(s,e),(e=>{if("boolean"!=typeof e)throw new Error("Validation error: result is not boolean");!1===e&&(n.valid=!1),n.removeValidatorFormQueue()}),"validateCells"),e-=1):e-=1;s-=1}n.checkIfQueueIsEmpty()},this.getRowHeader=function(e){let t=Q.rowHeaders,r=e;return void 0!==r&&(r=U.runHooks("modifyRowHeader",r)),void 0===r?(t=[],(0,w.rangeEach)(U.countRows()-1,(e=>{t.push(U.getRowHeader(e))}))):Array.isArray(t)&&void 0!==t[r]?t=t[r]:(0,i.isFunction)(t)?t=t(r):t&&"string"!=typeof t&&"number"!=typeof t&&(t=r+1),t},this.hasRowHeaders=function(){return!!Q.rowHeaders},this.hasColHeaders=function(){if(void 0!==Q.colHeaders&&null!==Q.colHeaders)return!!Q.colHeaders;for(let e=0,t=U.countCols();e<t;e++)if(U.getColHeader(e))return!0;return!1},this.getColHeader=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;const r=U.runHooks("modifyColHeader",e);if(void 0===r){const e=[],t=U.countCols();for(let r=0;r<t;r++)e.push(U.getColHeader(r));return e}let n=Q.colHeaders;const s=U.toPhysicalColumn(r),o=function(e){const t=[],r=U.countCols();let n=0;for(;n<r;n++)(0,i.isFunction)(Q.columns)&&Q.columns(n)&&t.push(n);return t[e]}(s);return!1===Q.colHeaders?n=null:Q.columns&&(0,i.isFunction)(Q.columns)&&Q.columns(o)&&Q.columns(o).title?n=Q.columns(o).title:Q.columns&&Q.columns[s]&&Q.columns[s].title?n=Q.columns[s].title:Array.isArray(Q.colHeaders)&&void 0!==Q.colHeaders[s]?n=Q.colHeaders[s]:(0,i.isFunction)(Q.colHeaders)?n=Q.colHeaders(s):Q.colHeaders&&"string"!=typeof Q.colHeaders&&"number"!=typeof Q.colHeaders&&(n=(0,R.spreadsheetColumnLabel)(r)),n=U.runHooks("modifyColumnHeaderValue",n,e,t),n},this._getColWidthFromSettings=function(e){let t;if(e>=0){t=U.getCellMeta(0,e).width}if(void 0!==t&&t!==Q.width||(t=Q.colWidths),null!=t){switch(typeof t){case"object":t=t[e];break;case"function":t=t(e)}"string"==typeof t&&(t=parseInt(t,10))}return t},this.getColWidth=function(e,t){let r=U._getColWidthFromSettings(e);return r=U.runHooks("modifyColWidth",r,e,t),void 0===r&&(r=N.DEFAULT_COLUMN_WIDTH),r},this._getRowHeightFromSettings=function(e){let t=Q.rowHeights;if(null!=t){switch(typeof t){case"object":t=t[e];break;case"function":t=t(e)}"string"==typeof t&&(t=parseInt(t,10))}return t},this.getRowHeight=function(e,t){let r=U._getRowHeightFromSettings(e);return r=U.runHooks("modifyRowHeight",r,e,t),r},this.countSourceRows=function(){return W.countRows()},this.countSourceCols=function(){return W.countFirstRowKeys()},this.countRows=function(){return B.getLength()},this.countCols=function(){const e=Q.maxCols,t=this.columnIndexMapper.getNotTrimmedIndexesLength();return Math.min(e,t)},this.countRenderedRows=function(){return U.view._wt.drawn?U.view._wt.wtTable.getRenderedRowsCount():-1},this.countVisibleRows=function(){return U.view._wt.drawn?U.view._wt.wtTable.getVisibleRowsCount():-1},this.countRenderedCols=function(){return U.view._wt.drawn?U.view._wt.wtTable.getRenderedColumnsCount():-1},this.countVisibleCols=function(){return U.view._wt.drawn?U.view._wt.wtTable.getVisibleColumnsCount():-1},this.countRowHeaders=function(){return this.view.getRowHeadersCount()},this.countColHeaders=function(){return this.view.getColumnHeadersCount()},this.countEmptyRows=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=0;return(0,w.rangeEachReverse)(U.countRows()-1,(r=>{if(U.isEmptyRow(r))t+=1;else if(!0===e)return!1})),t},this.countEmptyCols=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=0;return(0,w.rangeEachReverse)(U.countCols()-1,(r=>{if(U.isEmptyCol(r))t+=1;else if(!0===e)return!1})),t},this.isEmptyRow=function(e){return Q.isEmptyRow.call(U,e)},this.isEmptyCol=function(e){return Q.isEmptyCol.call(U,e)},this.selectCell=function(e,t,r,n){let s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];return!(0,o.isUndefined)(e)&&!(0,o.isUndefined)(t)&&this.selectCells([[e,t,r,n]],s,i)},this.selectCells=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[[]],t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];!1===(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&z.suspend();const r=ee.selectCells(e);return r&&t&&U.listen(),z.resume(),r},this.selectColumns=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2?arguments[2]:void 0;return ee.selectColumns(e,t,r)},this.selectRows=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2?arguments[2]:void 0;return ee.selectRows(e,t,r)},this.deselectCell=function(){ee.deselect()},this.selectAll=function(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2?arguments[2]:void 0;z.skipNextScrollCycle(),ee.selectAll(e,t,r)};const ue=(e,t)=>e.getNearestNotHiddenIndex(t,1,!0);this.scrollViewportTo=function(e){var t;"number"==typeof e&&(e={row:arguments[0],col:arguments[1],verticalSnap:arguments[2]?"bottom":"top",horizontalSnap:arguments[3]?"end":"start",considerHiddenIndexes:null===(t=arguments[4])||void 0===t||t});const{row:r,col:n,considerHiddenIndexes:s}=null!=e?e:{};let i=r,o=n;if(void 0===s||s){const e=Number.isInteger(r)&&r>=0,t=Number.isInteger(n)&&n>=0,s=e?ue(this.rowIndexMapper,r):void 0,a=t?ue(this.columnIndexMapper,n):void 0;if(null===s||null===a)return!1;i=e?U.rowIndexMapper.getRenderableFromVisualIndex(s):r,o=t?U.columnIndexMapper.getRenderableFromVisualIndex(a):n}const a=Number.isInteger(i),l=Number.isInteger(o);return a&&i>=0&&l&&o>=0?U.view.scrollViewport(U._createCellCoords(i,o),e.horizontalSnap,e.verticalSnap):a&&i>=0&&(l&&o<0||!l)?U.view.scrollViewportVertically(i,e.verticalSnap):!!(l&&o>=0&&(a&&i<0||!a))&&U.view.scrollViewportHorizontally(o,e.horizontalSnap)},this.scrollToFocusedCell=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>{};if(!this.selection.isSelected())return;this.addHookOnce("afterScroll",e);const{highlight:t}=this.getSelectedRangeLast();this.scrollViewportTo(t.toObject())?this.view.render():(this.removeHook("afterScroll",e),this._registerImmediate((()=>e())))},this.destroy=function(){if(U._clearTimeouts(),U._clearImmediates(),U.view&&U.view.destroy(),W&&W.destroy(),W=null,this.getShortcutManager().destroy(),q.clearCache(),H.delete(this.guid),(0,T.isRootInstance)(U)){const e=this.rootDocument.querySelector(".hot-display-license-info");e&&e.parentNode.removeChild(e)}(0,s.empty)(U.rootElement),V.destroy(),G&&G.destroy(),U.batchExecution((()=>{U.rowIndexMapper.unregisterAll(),U.columnIndexMapper.unregisterAll(),J.getItems().forEach((e=>{let[,t]=e;t.destroy()})),J.clear(),U.runHooks("afterDestroy")}),!0),M.Hooks.getSingleton().destroy(U),(0,u.objectEach)(U,((e,t,r)=>{var n;(0,i.isFunction)(e)?r[t]=(n=t,()=>{throw new Error(`The "${n}" method cannot be called because this Handsontable instance has been destroyed`)}):"guid"!==t&&(r[t]=null)})),U.isDestroyed=!0,B&&B.destroy(),B=null,Y=null,ee=null,G=null,U=null},this.getActiveEditor=function(){return G.getActiveEditor()},this.getFirstRenderedVisibleRow=function(){return U.view.getFirstRenderedVisibleRow()},this.getLastRenderedVisibleRow=function(){return U.view.getLastRenderedVisibleRow()},this.getFirstRenderedVisibleColumn=function(){return U.view.getFirstRenderedVisibleColumn()},this.getLastRenderedVisibleColumn=function(){return U.view.getLastRenderedVisibleColumn()},this.getFirstFullyVisibleRow=function(){return U.view.getFirstFullyVisibleRow()},this.getLastFullyVisibleRow=function(){return U.view.getLastFullyVisibleRow()},this.getFirstFullyVisibleColumn=function(){return U.view.getFirstFullyVisibleColumn()},this.getLastFullyVisibleColumn=function(){return U.view.getLastFullyVisibleColumn()},this.getFirstPartiallyVisibleRow=function(){return U.view.getFirstPartiallyVisibleRow()},this.getLastPartiallyVisibleRow=function(){return U.view.getLastPartiallyVisibleRow()},this.getFirstPartiallyVisibleColumn=function(){return U.view.getFirstPartiallyVisibleColumn()},this.getLastPartiallyVisibleColumn=function(){return U.view.getLastPartiallyVisibleColumn()},this.getPlugin=function(e){return J.getItem((0,E.toUpperCaseFirst)(e))},this.getPluginName=function(e){return e===this.undoRedo?this.undoRedo.constructor.PLUGIN_KEY:J.getId(e)},this.getInstance=function(){return U},this.addHook=function(e,t,r){M.Hooks.getSingleton().add(e,t,U,r)},this.hasHook=function(e){return M.Hooks.getSingleton().has(e,U)||M.Hooks.getSingleton().has(e)},this.addHookOnce=function(e,t,r){M.Hooks.getSingleton().once(e,t,U,r)},this.removeHook=function(e,t){M.Hooks.getSingleton().remove(e,t,U)},this.runHooks=function(e,t,r,n,s,i,o){return M.Hooks.getSingleton().run(U,e,t,r,n,s,i,o)},this.getTranslatedPhrase=function(e,t){return(0,_.getTranslatedPhrase)(Q.language,e,t)},this.toHTML=()=>(0,p.instanceToHTML)(this),this.toTableElement=()=>{const e=this.rootDocument.createElement("div");return e.insertAdjacentHTML("afterbegin",(0,p.instanceToHTML)(this)),e.firstElementChild},this.timeouts=[],this.useTheme=e=>{this.view.getStylesHandler().useTheme(e),this.runHooks("afterSetTheme",e,!!$)},this.getCurrentThemeName=()=>this.view.getStylesHandler().getThemeName(),this._registerTimeout=function(e){let t=e;"function"==typeof t&&(t=setTimeout(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)),this.timeouts.push(t)},this._clearTimeouts=function(){(0,d.arrayEach)(this.timeouts,(e=>{clearTimeout(e)}))},this.immediates=[],this._registerImmediate=function(e){this.immediates.push(setImmediate(e))},this._clearImmediates=function(){(0,d.arrayEach)(this.immediates,(e=>{clearImmediate(e)}))},this._getEditorManager=function(){return G},this.isRtl=function(){return"rtl"===U.rootWindow.getComputedStyle(U.rootElement).direction},this.isLtr=function(){return!U.isRtl()},this.getDirectionFactor=function(){return U.isLtr()?1:-1};const ce=(0,P.createShortcutManager)({handleEvent:()=>U.isListening(),beforeKeyDown:e=>this.runHooks("beforeKeyDown",e),afterKeyDown:e=>{this.isDestroyed||U.runHooks("afterDocumentKeyDown",e)},ownerWindow:this.rootWindow});this.addHook("beforeOnCellMouseDown",(e=>{!1===e.ctrlKey&&!1===e.metaKey&&ce.releasePressedKeys()})),this.getShortcutManager=function(){return ce},this.getFocusManager=function(){return j},(0,g.getPluginsNames)().forEach((e=>{const t=(0,g.getPlugin)(e);J.addItem(e,new t(this))})),(0,L.registerAllShortcutContexts)(U),ce.setActiveContextName("grid"),M.Hooks.getSingleton().run(U,"construct")},r(67834),r(15724),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(27458),r(69655),r(94364),r(71766);var s=r(62577),i=r(89804),o=r(70505),a=r(25046),l=n(r(70892)),h=n(r(3849)),u=r(25499),c=r(19053),d=r(10587),p=r(96173),g=r(74672),f=r(54852),m=r(8266),y=r(17027),E=r(5893),w=r(22137),C=n(r(33925)),v=n(r(61068)),R=r(87124),S=r(61149),T=r(45435),N=r(50206),M=r(28197),_=r(58570),b=r(1052),O=r(76717),A=r(6521),I=r(97826),x=r(54394),P=r(89616),L=r(92399),D=r(73618);let k=null;const H=new Map;new Set},32741:(e,t,r)=>{"use strict";t.__esModule=!0,t.installFocusDetector=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=e.rootElement,n=i(e),s=i(e);return n.addEventListener("focus",(()=>null==t?void 0:t.onFocusFromTop())),s.addEventListener("focus",(()=>null==t?void 0:t.onFocusFromBottom())),r.firstChild.before(n),r.lastChild.after(s),{activate(){e._registerTimeout((()=>{n.tabIndex=0,s.tabIndex=0}),10)},deactivate(){e._registerTimeout((()=>{n.tabIndex=-1,s.tabIndex=-1}),10)}}};var n=r(62577),s=r(71120);function i(e){const t=e.rootDocument.createElement("input");return t.type="text",t.name="__htFocusCatcher",t.classList.add("htFocusCatcher"),e.getSettings().ariaTags&&(0,n.setAttribute)(t,[(0,s.A11Y_PRESENTATION)(),(0,s.A11Y_HIDDEN)()]),t}},20511:(e,t,r)=>{"use strict";t.__esModule=!0,t.installFocusCatcher=function(e){const t=function(e){return t=>{if(!t)return null;const r=i(e),n=o(e);return t.col<r.col&&(t.col=r.col),t.col>n.col&&(t.col=n.col),t.row<r.row&&(t.row=r.row),t.row>n.row&&(t.row=n.row),t}}(e);let r;const{activate:a,deactivate:l}=(0,s.installFocusDetector)(e,{onFocusFromTop(){var n;const s=null!==(n=t(r))&&void 0!==n?n:i(e);s&&(e.runHooks("modifyFocusOnTabNavigation","from_above",s),e.selectCell(s.row,s.col)),e.listen()},onFocusFromBottom(){var n;const s=null!==(n=t(r))&&void 0!==n?n:o(e);s&&(e.runHooks("modifyFocusOnTabNavigation","from_below",s),e.selectCell(s.row,s.col)),e.listen()}}),h={wrapped:!1,flipped:!1};let u=!0,c=!1,d=!1;e.addHook("afterListen",(()=>l())),e.addHook("afterUnlisten",(()=>a())),e.addHook("afterSelection",((t,n,s,i,o)=>{var a;(c&&(h.wrapped&&h.flipped||d)&&(d=!1,o.value=!0),u)&&(r=null===(a=e.getSelectedRangeLast())||void 0===a?void 0:a.highlight)})),e.addHook("beforeRowWrap",((e,t,r)=>{h.wrapped=!0,h.flipped=r}));const p={keys:[["Tab"],["Shift","Tab"]],preventDefault:!1,stopPropagation:!1,relativeToGroup:n.GRID_GROUP,group:"focusCatcher"};e.getShortcutManager().getContext("grid").addShortcuts([{...p,callback:()=>{const{tabNavigation:t}=e.getSettings();c=!0,e.getSelectedRangeLast()&&!t&&(u=!1),t||(d=!0)},position:"before"},{...p,callback:t=>{const{tabNavigation:n,autoWrapRow:s}=e.getSettings();if(c=!1,u=!0,!n||!e.selection.isSelected()||s&&h.wrapped&&h.flipped||!s&&h.wrapped)return s&&h.wrapped&&h.flipped&&(r=t.shiftKey?i(e):o(e)),h.wrapped=!1,h.flipped=!1,e.deselectCell(),e.unlisten(),!1;t.preventDefault()},position:"after"}])};var n=r(92399),s=r(32741);function i(e){const{rowIndexMapper:t,columnIndexMapper:r}=e,{navigableHeaders:n}=e.getSettings();let s=n&&e.countColHeaders()>0?-e.countColHeaders():0,i=n&&e.countRowHeaders()>0?-e.countRowHeaders():0;return 0===s&&(s=t.getVisualFromRenderableIndex(s)),0===i&&(i=r.getVisualFromRenderableIndex(i)),null===s||null===i?null:e._createCellCoords(s,i)}function o(e){var t,r;const{rowIndexMapper:n,columnIndexMapper:s}=e,{navigableHeaders:i}=e.getSettings();let o=n.getRenderableIndexesLength()-1,a=s.getRenderableIndexesLength()-1;if(o<0){if(!i||0===e.countColHeaders())return null;o=-1}if(a<0){if(!i||0===e.countColHeaders())return null;a=-1}return e._createCellCoords(null!==(t=n.getVisualFromRenderableIndex(o))&&void 0!==t?t:o,null!==(r=s.getVisualFromRenderableIndex(a))&&void 0!==r?r:a)}},39631:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834),r(15724),r(79747),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(27458),r(6211),r(69655);var n=r(64924);function s(e,t,r){i(e,t),t.set(e,r)}function i(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function o(e,t,r){return e.set(l(e,t),r),r}function a(e,t){return e.get(l(e,t))}function l(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var h=new WeakMap,u=new WeakMap,c=new WeakMap,d=new WeakSet;function p(e){a(h,this).set(e,[]),a(u,this).set(e,0)}t.HooksBucket=class{constructor(){var e,t;i(e=this,t=d),t.add(e),s(this,h,new Map),s(this,u,new Map),s(this,c,new Set),n.REGISTERED_HOOKS.forEach((e=>l(d,this,p).call(this,e)))}getHooks(e){var t;return null!==(t=a(h,this).get(e))&&void 0!==t?t:[]}add(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};a(h,this).has(e)||(l(d,this,p).call(this,e),n.REGISTERED_HOOKS.push(e));const s=a(h,this).get(e);if(s.find((e=>e.callback===t)))return;const i=Number.isInteger(r.orderIndex)?r.orderIndex:0,o=!!r.runOnce,u=!!r.initialHook;let g=!1;if(u){const e=s.find((e=>e.initialHook));e&&(e.callback=t,g=!0)}if(!g){s.push({callback:t,orderIndex:i,runOnce:o,initialHook:u,skip:!1});let r=a(c,this).has(e);r||0===i||(r=!0,a(c,this).add(e)),r&&s.length>1&&a(h,this).set(e,s.toSorted(((e,t)=>e.orderIndex-t.orderIndex)))}}has(e){return a(h,this).has(e)&&a(h,this).get(e).length>0}remove(e,t){if(!a(h,this).has(e))return!1;const r=a(h,this).get(e),n=r.find((e=>e.callback===t));if(n){let t=a(u,this).get(e);return n.skip=!0,t+=1,t>100&&(a(h,this).set(e,r.filter((e=>!e.skip))),t=0),a(u,this).set(e,t),!0}return!1}destroy(){a(h,this).clear(),a(u,this).clear(),o(h,this,null),o(u,this,null)}}},64924:(e,t)=>{"use strict";t.__esModule=!0;t.REGISTERED_HOOKS=["afterCellMetaReset","afterChange","afterContextMenuDefaultOptions","beforeContextMenuSetItems","afterDropdownMenuDefaultOptions","beforeDropdownMenuSetItems","afterContextMenuHide","beforeContextMenuShow","afterContextMenuShow","afterCopyLimit","beforeCreateCol","afterColumnSequenceChange","afterCreateCol","beforeCreateRow","afterCreateRow","afterDeselect","afterDestroy","afterDocumentKeyDown","afterDrawSelection","beforeRemoveCellClassNames","afterGetCellMeta","afterGetColHeader","afterGetRowHeader","afterInit","afterLoadData","afterUpdateData","afterMomentumScroll","afterOnCellCornerMouseDown","afterOnCellCornerDblClick","afterOnCellMouseDown","afterOnCellMouseUp","afterOnCellContextMenu","afterOnCellMouseOver","afterOnCellMouseOut","afterRemoveCol","afterRemoveRow","beforeRenderer","afterRenderer","afterRowSequenceChange","beforeViewportScrollVertically","beforeViewportScrollHorizontally","beforeViewportScroll","afterScrollHorizontally","afterScrollVertically","afterScroll","afterSelection","afterSelectionByProp","afterSelectionEnd","afterSelectionEndByProp","afterSelectionFocusSet","beforeSelectColumns","afterSelectColumns","beforeSelectRows","afterSelectRows","afterSetCellMeta","afterRemoveCellMeta","afterSetDataAtCell","afterSetDataAtRowProp","afterSetSourceDataAtCell","afterSetTheme","afterUpdateSettings","afterValidate","beforeLanguageChange","afterLanguageChange","beforeAutofill","afterAutofill","beforeCellAlignment","beforeChange","beforeChangeRender","beforeDrawBorders","beforeGetCellMeta","beforeRemoveCellMeta","beforeInit","beforeInitWalkontable","beforeLoadData","beforeUpdateData","beforeKeyDown","beforeOnCellMouseDown","beforeOnCellMouseUp","beforeOnCellContextMenu","beforeOnCellMouseOver","beforeOnCellMouseOut","beforeRemoveCol","beforeRemoveRow","beforeViewRender","afterViewRender","beforeRender","afterRender","beforeRowWrap","beforeColumnWrap","beforeSetCellMeta","beforeSelectionFocusSet","beforeSetRangeStartOnly","beforeSetRangeStart","beforeSetRangeEnd","beforeSelectionHighlightSet","beforeTouchScroll","beforeValidate","beforeValueRender","construct","init","modifyColHeader","modifyColWidth","modifyFiltersMultiSelectValue","modifyFocusedElement","modifyRowHeader","modifyRowHeight","modifyRowHeightByOverlayName","modifyData","modifySourceData","modifyRowData","modifyGetCellCoords","modifyGetCoordsElement","modifyFocusOnTabNavigation","beforeHighlightingRowHeader","beforeHighlightingColumnHeader","persistentStateLoad","persistentStateReset","persistentStateSave","beforeColumnSort","afterColumnSort","modifyAutofillRange","modifyCopyableRange","beforeCut","afterCut","beforeCopy","afterCopy","beforePaste","afterPaste","beforeColumnFreeze","afterColumnFreeze","beforeColumnMove","afterColumnMove","beforeColumnUnfreeze","afterColumnUnfreeze","beforeRowMove","afterRowMove","beforeColumnResize","afterColumnResize","beforeRowResize","afterRowResize","afterGetColumnHeaderRenderers","afterGetRowHeaderRenderers","beforeStretchingColumnWidth","beforeFilter","afterFilter","afterFormulasValuesUpdate","afterNamedExpressionAdded","afterNamedExpressionRemoved","afterSheetAdded","afterSheetRenamed","afterSheetRemoved","modifyColumnHeaderHeight","modifyColumnHeaderValue","beforeUndo","beforeUndoStackChange","afterUndo","afterUndoStackChange","beforeRedo","beforeRedoStackChange","afterRedo","afterRedoStackChange","modifyRowHeaderWidth","modifyTransformFocus","modifyTransformStart","modifyTransformEnd","afterModifyTransformFocus","afterModifyTransformStart","afterModifyTransformEnd","afterViewportRowCalculatorOverride","afterViewportColumnCalculatorOverride","afterPluginsInitialized","beforeHideRows","afterHideRows","beforeUnhideRows","afterUnhideRows","beforeHideColumns","afterHideColumns","beforeUnhideColumns","afterUnhideColumns","beforeTrimRow","afterTrimRow","beforeUntrimRow","afterUntrimRow","beforeDropdownMenuShow","afterDropdownMenuShow","afterDropdownMenuHide","beforeAddChild","afterAddChild","beforeDetachChild","afterDetachChild","beforeBeginEditing","afterBeginEditing","beforeMergeCells","afterMergeCells","beforeUnmergeCells","afterUnmergeCells","afterListen","afterUnlisten","afterRefreshDimensions","beforeRefreshDimensions","beforeColumnCollapse","afterColumnCollapse","beforeColumnExpand","afterColumnExpand","modifyAutoColumnSizeSeed"],t.REMOVED_HOOKS=new Map([["modifyRow","8.0.0"],["modifyCol","8.0.0"],["unmodifyRow","8.0.0"],["unmodifyCol","8.0.0"],["skipLengthCache","8.0.0"],["hiddenColumn","8.0.0"],["hiddenRow","8.0.0"]]),t.DEPRECATED_HOOKS=new Map([[]])},28197:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707)),i=r(10587),o=r(5893),a=r(14859),l=r(21595),h=r(89804),u=r(64924),c=r(39631);const d=l.toSingleLine`The plugin hook "[hookName]" was removed in Handsontable [removedInVersion].\x20
  Please consult release notes https://github.com/handsontable/handsontable/releases/tag/[removedInVersion] to\x20
  learn about the migration path.`;class p{constructor(){(0,s.default)(this,"globalBucket",new c.HooksBucket)}static getSingleton(){return g}getBucket(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?(e.pluginHookBucket||(e.pluginHookBucket=new c.HooksBucket),e.pluginHookBucket):this.globalBucket}add(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=arguments.length>3?arguments[3]:void 0;return Array.isArray(t)?(0,i.arrayEach)(t,(t=>this.add(e,t,r))):(u.REMOVED_HOOKS.has(e)&&(0,a.warn)((0,o.substitute)(d,{hookName:e,removedInVersion:u.REMOVED_HOOKS.get(e)})),u.DEPRECATED_HOOKS.has(e)&&(0,a.warn)(u.DEPRECATED_HOOKS.get(e)),this.getBucket(r).add(e,t,{orderIndex:n,runOnce:!1})),this}once(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=arguments.length>3?arguments[3]:void 0;return Array.isArray(t)?(0,i.arrayEach)(t,(t=>this.once(e,t,r))):this.getBucket(r).add(e,t,{orderIndex:n,runOnce:!0}),this}addAsFixed(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return Array.isArray(t)?(0,i.arrayEach)(t,(t=>this.addAsFixed(e,t,r))):this.getBucket(r).add(e,t,{initialHook:!0}),this}remove(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return this.getBucket(r).remove(e,t)}has(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.getBucket(t).has(e)}run(e,t,r,n,s,i,o,a){{const l=this.getBucket().getHooks(t),u=l?l.length:0;let c=0;if(u)for(;c<u;){if(!l[c]||l[c].skip){c+=1;continue}const u=(0,h.fastCall)(l[c].callback,e,r,n,s,i,o,a);void 0!==u&&(r=u),l[c]&&l[c].runOnce&&this.remove(t,l[c].callback),c+=1}}{const l=this.getBucket(e).getHooks(t),u=l?l.length:0;let c=0;if(u)for(;c<u;){if(!l[c]||l[c].skip){c+=1;continue}const u=(0,h.fastCall)(l[c].callback,e,r,n,s,i,o,a);void 0!==u&&(r=u),l[c]&&l[c].runOnce&&this.remove(t,l[c].callback,e),c+=1}}return r}destroy(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.getBucket(e).destroy()}register(e){this.isRegistered(e)||u.REGISTERED_HOOKS.push(e)}deregister(e){this.isRegistered(e)&&u.REGISTERED_HOOKS.splice(u.REGISTERED_HOOKS.indexOf(e),1)}isDeprecated(e){return u.DEPRECATED_HOOKS.has(e)||u.REMOVED_HOOKS.has(e)}isRegistered(e){return u.REGISTERED_HOOKS.indexOf(e)>=0}getRegistered(){return u.REGISTERED_HOOKS}}t.Hooks=p;const g=new p;t.default=p},97826:(e,t,r)=>{"use strict";r(14846),r(69655),t.__esModule=!0;var n=r(20511);Object.keys(n).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===n[e]||(t[e]=n[e]))}));var s=r(92104);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||(t[e]=s[e]))}))},92104:(e,t,r)=>{"use strict";t.__esModule=!0,t.createViewportScroller=function(e){const{selection:t}=e;let r=!1,u=!1;return{resume(){u=!1},suspend(){u=!0},skipNextScrollCycle(){r=!0},scrollTo(c){var d;if(r||u)return void(r=!1);let p;t.isFocusSelectionChanged()?p=(0,i.focusScrollStrategy)(e):t.isSelectedByCorner()?p=(0,s.cornerHeaderScrollStrategy)(e):t.isSelectedByRowHeader()?p=(0,l.rowHeaderScrollStrategy)(e):t.isSelectedByColumnHeader()?p=(0,n.columnHeaderScrollStrategy)(e):1===t.getSelectedRange().size()&&t.isMultiple()?p=(0,o.multipleScrollStrategy)(e):1!==t.getSelectedRange().size()||t.isMultiple()?t.getSelectedRange().size()>1&&(p=(0,a.noncontiguousScrollStrategy)(e)):p=(0,h.singleScrollStrategy)(e),null===(d=p)||void 0===d||d(c)}}};var n=r(58007),s=r(85924),i=r(53720),o=r(13312),a=r(70671),l=r(71725),h=r(39068)},58007:(e,t)=>{"use strict";t.__esModule=!0,t.columnHeaderScrollStrategy=function(e){return t=>{let{col:r}=t;e.scrollViewportTo({col:r})}}},85924:(e,t)=>{"use strict";t.__esModule=!0,t.cornerHeaderScrollStrategy=function(){return()=>{}}},53720:(e,t)=>{"use strict";t.__esModule=!0,t.focusScrollStrategy=function(e){return t=>{e.scrollViewportTo(t.toObject())}}},13312:(e,t)=>{"use strict";t.__esModule=!0,t.multipleScrollStrategy=function(e){return t=>{e.scrollViewportTo(t.toObject())}}},70671:(e,t)=>{"use strict";t.__esModule=!0,t.noncontiguousScrollStrategy=function(e){return t=>{e.scrollViewportTo(t.toObject())}}},71725:(e,t)=>{"use strict";t.__esModule=!0,t.rowHeaderScrollStrategy=function(e){return t=>{let{row:r}=t;e.scrollViewportTo({row:r})}}},39068:(e,t)=>{"use strict";t.__esModule=!0,t.singleScrollStrategy=function(e){return t=>{const r=e.selection.getSelectionSource(),{row:n,col:s}=t;if(n<0&&s>=0)e.scrollViewportTo({col:s});else if(s<0&&n>=0)e.scrollViewportTo({row:n});else{if("mouse"===r&&(s===e.view.getLastPartiallyVisibleColumn()||n===e.view.getLastPartiallyVisibleRow()))return;e.scrollViewportTo({row:n,col:s})}}}},78747:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(27458),r(69655);var s=n(r(85707)),i=r(42354),o=r(87124),a=r(25499),l=r(10587),h=r(22137),u=r(70505);class c{static get DESTINATION_RENDERER(){return 1}static get DESTINATION_CLIPBOARD_GENERATOR(){return 2}constructor(e,t,r){(0,s.default)(this,"hot",void 0),(0,s.default)(this,"metaManager",void 0),(0,s.default)(this,"tableMeta",void 0),(0,s.default)(this,"dataSource",void 0),(0,s.default)(this,"duckSchema",void 0),(0,s.default)(this,"colToPropCache",void 0),(0,s.default)(this,"propToColCache",void 0),this.hot=e,this.metaManager=r,this.tableMeta=r.getTableMeta(),this.dataSource=t,this.duckSchema=this.createDuckSchema(),this.createMap()}createMap(){const e=this.getSchema();if(void 0===e)throw new Error("trying to create `columns` definition but you didn't provide `schema` nor `data`");const t=this.tableMeta.columns;let r;if(this.colToPropCache=[],this.propToColCache=new Map,t){let n=0,s=0,i=!1;if("function"==typeof t){const t=(0,a.deepObjectSize)(e);n=t>0?t:this.countFirstRowKeys(),i=!0}else{const e=this.tableMeta.maxCols;n=Math.min(e,t.length)}for(r=0;r<n;r++){const e=i?t(r):t[r];if((0,a.isObject)(e)){if(void 0!==e.data){const t=i?s:r;this.colToPropCache[t]=e.data,this.propToColCache.set(e.data,t)}s+=1}}}else this.recursiveDuckColumns(e)}countFirstRowKeys(){return(0,o.countFirstRowKeys)(this.dataSource)}recursiveDuckColumns(e,t,r){let n,s=t,i=r;return void 0===s&&(s=0,i=""),"object"!=typeof e||Array.isArray(e)||(0,a.objectEach)(e,((e,t)=>{null===e?(n=i+t,this.colToPropCache.push(n),this.propToColCache.set(n,s),s+=1):s=this.recursiveDuckColumns(e,s,`${t}.`)})),s}colToProp(e){if(!1===Number.isInteger(e))return e;const t=this.hot.toPhysicalColumn(e);return null===t?e:this.colToPropCache&&(0,u.isDefined)(this.colToPropCache[t])?this.colToPropCache[t]:t}propToCol(e){const t=this.propToColCache.get(e);if((0,u.isDefined)(t))return this.hot.toVisualColumn(t);const r=this.hot.toVisualColumn(e);return null===r?e:r}getSchema(){const e=this.tableMeta.dataSchema;return e?"function"==typeof e?e():e:this.duckSchema}createDuckSchema(){return this.dataSource&&this.dataSource[0]?(0,a.duckSchema)(this.dataSource[0]):{}}refreshDuckSchema(){this.duckSchema=this.createDuckSchema()}createRow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,{source:r,mode:n="above"}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s=this.hot.countSourceRows();let i=s,o=0,l=e;("number"!=typeof l||l>=s)&&(l=s),l<this.hot.countRows()&&(i=this.hot.toPhysicalRow(l));if(!1===this.hot.runHooks("beforeCreateRow",l,t,r)||null===i)return{delta:0};const u=this.tableMeta.maxRows,c=this.getSchema().length,d=[];for(;o<t&&s+o<u;){let e=null;"array"===this.hot.dataType?this.tableMeta.dataSchema?e=(0,a.deepClone)(this.getSchema()):(e=[],(0,h.rangeEach)(c-1,(()=>e.push(null)))):"function"===this.hot.dataType?e=this.tableMeta.dataSchema(l+o):(e={},(0,a.deepExtend)(e,this.getSchema())),d.push(e),o+=1}this.hot.rowIndexMapper.insertIndexes(l,o),"below"===n&&(i=Math.min(i+1,s)),this.spliceData(i,0,d);const p=this.hot.toVisualRow(i);return this.hot.countSourceRows()===d.length&&this.hot.columnIndexMapper.initToLength(this.hot.getInitialColumnCount()),o>0&&(null==e?this.metaManager.createRow(null,o):"auto"!==r&&this.metaManager.createRow(i,t)),this.hot.runHooks("afterCreateRow",p,o,r),this.hot.forceFullRender=!0,{delta:o,startPhysicalIndex:i}}createCol(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,{source:r,mode:n="start"}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!this.hot.isColumnModificationAllowed())throw new Error("Cannot create new column. When data source in an object, you can only have as much columns as defined in first data row, data schema or in the 'columns' setting.If you want to be able to add new columns, you have to use array datasource.");const s=this.dataSource,i=this.tableMeta.maxCols,o=this.hot.countSourceCols();let a=e;("number"!=typeof a||a>=o)&&(a=o);if(!1===this.hot.runHooks("beforeCreateCol",a,t,r))return{delta:0};let l=o;a<this.hot.countCols()&&(l=this.hot.toPhysicalColumn(a));const h=this.hot.countSourceRows();let u=this.hot.countCols(),c=0,d=l;"end"===n&&(d=Math.min(d+1,o));const p=d;for(;c<t&&u<i;){if("number"!=typeof a||a>=u)if(h>0)for(let e=0;e<h;e+=1)void 0===s[e]&&(s[e]=[]),s[e].push(null);else s.push([null]);else for(let e=0;e<h;e++)s[e].splice(d,0,null);c+=1,d+=1,u+=1}this.hot.columnIndexMapper.insertIndexes(a,c),c>0&&(null==e?this.metaManager.createColumn(null,c):"auto"!==r&&this.metaManager.createColumn(p,t));const g=this.hot.toVisualColumn(p);return this.hot.runHooks("afterCreateCol",g,c,r),this.hot.forceFullRender=!0,this.refreshDuckSchema(),{delta:c,startPhysicalIndex:p}}removeRow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2?arguments[2]:void 0,n=Number.isInteger(e)?e:-t;const s=this.visualRowsToPhysical(n,t),i=this.hot.countSourceRows();n=(i+n)%i;if(!1===this.hot.runHooks("beforeRemoveRow",n,s.length,s,r))return!1;const o=s.length;if(this.filterData(n,o,s),n<this.hot.countRows()){this.hot.rowIndexMapper.removeIndexes(s);const e=(0,u.isDefined)(this.tableMeta.columns)||(0,u.isDefined)(this.tableMeta.dataSchema);0===this.hot.rowIndexMapper.getNotTrimmedIndexesLength()&&!1===e&&this.hot.columnIndexMapper.setIndexesSequence([])}return s.slice(0).sort(((e,t)=>t-e)).forEach((e=>{this.metaManager.removeRow(e,1)})),this.hot.runHooks("afterRemoveRow",n,o,s,r),this.hot.forceFullRender=!0,!0}removeCol(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2?arguments[2]:void 0;if("object"===this.hot.dataType||this.tableMeta.columns)throw new Error("cannot remove column with object data source or columns option specified");let n="number"!=typeof e?-t:e;n=(this.hot.countCols()+n)%this.hot.countCols();const s=this.visualColumnsToPhysical(n,t),i=s.slice(0).sort(((e,t)=>t-e));if(!1===this.hot.runHooks("beforeRemoveCol",n,t,s,r))return!1;let o=!0;const a=i.length,l=this.dataSource;for(let e=0;e<a;e++)o&&s[0]!==s[e]-e&&(o=!1);if(o)for(let e=0,r=this.hot.countSourceRows();e<r;e++)l[e].splice(s[0],t),0===e&&this.metaManager.removeColumn(s[0],t);else for(let e=0,t=this.hot.countSourceRows();e<t;e++)for(let t=0;t<a;t++)l[e].splice(i[t],1),0===e&&this.metaManager.removeColumn(i[t],1);return n<this.hot.countCols()&&(this.hot.columnIndexMapper.removeIndexes(s),0===this.hot.columnIndexMapper.getNotTrimmedIndexesLength()&&this.hot.rowIndexMapper.setIndexesSequence([])),this.hot.runHooks("afterRemoveCol",n,t,s,r),this.hot.forceFullRender=!0,this.refreshDuckSchema(),!0}spliceCol(e,t,r){const n=this.hot.getDataAtCol(e),s=n.slice(t,t+r),i=n.slice(t+r);for(var o=arguments.length,a=new Array(o>3?o-3:0),h=3;h<o;h++)a[h-3]=arguments[h];(0,l.extendArray)(a,i);let u=0;for(;u<r;)a.push(null),u+=1;return(0,l.to2dArray)(a),this.hot.populateFromArray(t,e,a,null,null,"spliceCol"),s}spliceRow(e,t,r){const n=this.hot.getSourceDataAtRow(e),s=n.slice(t,t+r),i=n.slice(t+r);for(var o=arguments.length,a=new Array(o>3?o-3:0),h=3;h<o;h++)a[h-3]=arguments[h];(0,l.extendArray)(a,i);let u=0;for(;u<r;)a.push(null),u+=1;return this.hot.populateFromArray(e,t,[a],null,null,"spliceRow"),s}spliceData(e,t,r){if(!1!==this.hot.runHooks("beforeDataSplice",e,t,r)){const t=[...this.dataSource.slice(0,e),...r,...this.dataSource.slice(e)];this.dataSource.length=0,t.forEach((e=>this.dataSource.push(e)))}}filterData(e,t,r){let n=this.hot.runHooks("filterData",e,t,r);!1===Array.isArray(n)&&(n=this.dataSource.filter(((e,t)=>-1===r.indexOf(t)))),this.dataSource.length=0,Array.prototype.push.apply(this.dataSource,n)}get(e,t){const r=this.hot.toPhysicalRow(e);let n=this.dataSource[r];const s=this.hot.runHooks("modifyRowData",r);n=isNaN(s)?s:n;const{dataDotNotation:i}=this.hot.getSettings();let o=null;if(n&&n.hasOwnProperty&&(0,a.hasOwnProperty)(n,t))o=n[t];else if(i&&"string"==typeof t&&t.indexOf(".")>-1){let e=n;if(!e)return null;const r=t.split(".");for(let t=0,n=r.length;t<n;t++)if(e=e[r[t]],void 0===e)return null;o=e}else"function"==typeof t&&(o=t(this.dataSource.slice(r,r+1)[0]));if(this.hot.hasHook("modifyData")){const e=(0,a.createObjectPropListener)(o);this.hot.runHooks("modifyData",r,this.propToCol(t),e,"get"),e.isTouched()&&(o=e.value)}return o}getCopyable(e,t){return this.hot.getCellMeta(e,this.propToCol(t)).copyable?this.get(e,t):""}set(e,t,r){const n=this.hot.toPhysicalRow(e);let s=r,i=this.dataSource[n];const o=this.hot.runHooks("modifyRowData",n);if(i=isNaN(o)?o:i,this.hot.hasHook("modifyData")){const e=(0,a.createObjectPropListener)(s);this.hot.runHooks("modifyData",n,this.propToCol(t),e,"set"),e.isTouched()&&(s=e.value)}const{dataDotNotation:l}=this.hot.getSettings();if(i&&i.hasOwnProperty&&(0,a.hasOwnProperty)(i,t))i[t]=s;else if(l&&"string"==typeof t&&t.indexOf(".")>-1){let e,r=i,n=0;const o=t.split(".");for(n=0,e=o.length-1;n<e;n++){if("__proto__"===o[n]||"constructor"===o[n]||"prototype"===o[n])return;void 0===r[o[n]]&&(r[o[n]]={}),r=r[o[n]]}r[o[n]]=s}else if("function"==typeof t)t(this.dataSource.slice(n,n+1)[0],s);else{if("__proto__"===t||"constructor"===t||"prototype"===t)return;i[t]=s}}visualRowsToPhysical(e,t){const r=this.hot.countSourceRows(),n=[];let s,i=(r+e)%r,o=t;for(;i<r&&o;)s=this.hot.toPhysicalRow(i),n.push(s),o-=1,i+=1;return n}visualColumnsToPhysical(e,t){const r=this.hot.countCols(),n=[];let s=(r+e)%r,i=t;for(;s<r&&i;){const e=this.hot.toPhysicalColumn(s);n.push(e),i-=1,s+=1}return n}clear(){for(let e=0;e<this.hot.countSourceRows();e++)for(let t=0;t<this.hot.countCols();t++)this.set(e,this.colToProp(t),"")}getLength(){const e=this.tableMeta.maxRows;let t;t=e<0||0===e?0:e||1/0;const r=this.hot.rowIndexMapper.getNotTrimmedIndexesLength();return Math.min(r,t)}getAll(){const e={row:0,col:0},t={row:Math.max(this.hot.countRows()-1,0),col:Math.max(this.hot.countCols()-1,0)};return e.row-t.row!=0||this.hot.countSourceRows()?this.getRange(e,t,c.DESTINATION_RENDERER):[]}countCachedColumns(){return this.colToPropCache.length}getRange(e,t,r){const n=[];let s,i,o;const a=this.tableMeta.maxRows,l=this.tableMeta.maxCols;if(0===a||0===l)return[];const h=r===c.DESTINATION_CLIPBOARD_GENERATOR?this.getCopyable:this.get,u=Math.min(Math.max(a-1,0),Math.max(e.row,t.row)),d=Math.min(Math.max(l-1,0),Math.max(e.col,t.col));for(s=Math.min(e.row,t.row);s<=u;s++){o=[];const r=s>=0?this.hot.toPhysicalRow(s):s;for(i=Math.min(e.col,t.col);i<=d&&null!==r;i++)o.push(h.call(this,s,this.colToProp(i)));null!==r&&n.push(o)}return n}getText(e,t){return(0,i.stringify)(this.getRange(e,t,c.DESTINATION_RENDERER))}getCopyableText(e,t){return(0,i.stringify)(this.getRange(e,t,c.DESTINATION_CLIPBOARD_GENERATOR))}destroy(){this.hot=null,this.metaManager=null,this.dataSource=null,this.duckSchema=null,this.colToPropCache.length=0,this.propToColCache.clear(),this.propToColCache=void 0}}t.default=c},61068:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724),r(14846),r(69655);var s=n(r(85707)),i=r(25499),o=r(87124),a=r(10587),l=r(22137),h=r(89804);t.default=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];(0,s.default)(this,"hot",void 0),(0,s.default)(this,"data",void 0),(0,s.default)(this,"dataType","array"),(0,s.default)(this,"colToProp",(()=>{})),(0,s.default)(this,"propToCol",(()=>{})),this.hot=e,this.data=t}modifyRowData(e){let t;return this.hot.hasHook("modifyRowData")&&(t=this.hot.runHooks("modifyRowData",e)),void 0===t||Number.isInteger(t)?this.data[e]:t}getData(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.data&&0!==this.data.length?this.getByRange(null,null,e):this.data}setData(e){this.data=e}getAtColumn(e){const t=[];return(0,a.arrayEach)(this.data,((r,n)=>{const s=this.getAtCell(n,e);t.push(s)})),t}getAtRow(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const s=void 0===t&&void 0===r,{dataDotNotation:o}=this.hot.getSettings();let a=null,u=null;if(a=this.modifyRowData(e),Array.isArray(a))u=[],s?a.forEach(((t,r)=>{u[r]=this.getAtPhysicalCell(e,r,a)})):(0,l.rangeEach)(t,r,(r=>{u[r-t]=this.getAtPhysicalCell(e,r,a)}));else if((0,i.isObject)(a)||(0,h.isFunction)(a))if(u=n?[]:{},!s||n){const s=0,h=this.countFirstRowKeys()-1;(0,l.rangeEach)(s,h,(l=>{const c=this.colToProp(l);if(l>=(t||s)&&l<=(r||h)&&!Number.isInteger(c)){const t=this.getAtPhysicalCell(e,c,a);n?u.push(t):o?(0,i.setProperty)(u,c,t):u[c]=t}}))}else(0,i.objectEach)(a,((t,r)=>{const n=this.getAtPhysicalCell(e,r,a);o?(0,i.setProperty)(u,r,n):u[r]=n}));return u}setAtCell(e,t,r){if(!(e>=this.countRows()||t>=this.countFirstRowKeys())){if(this.hot.hasHook("modifySourceData")){const n=(0,i.createObjectPropListener)(r);this.hot.runHooks("modifySourceData",e,t,n,"set"),n.isTouched()&&(r=n.value)}Number.isInteger(e)&&(Number.isInteger(t)?this.data[e][t]=r:(0,i.setProperty)(this.data[e],t,r))}}getAtPhysicalCell(e,t,r){let n=null;if(r)if("string"==typeof t){const{dataDotNotation:e}=this.hot.getSettings();n=e?(0,i.getProperty)(r,t):r[t]}else n="function"==typeof t?t(r):r[t];if(this.hot.hasHook("modifySourceData")){const r=(0,i.createObjectPropListener)(n);this.hot.runHooks("modifySourceData",e,t,r,"get"),r.isTouched()&&(n=r.value)}return n}getAtCell(e,t){const r=this.modifyRowData(e);return this.getAtPhysicalCell(e,this.colToProp(t),r)}getByRange(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=!1,s=null,i=null,o=null,a=null;null===e||null===t?(n=!0,s=0,o=this.countRows()-1):(s=Math.min(e.row,t.row),i=Math.min(e.col,t.col),o=Math.max(e.row,t.row),a=Math.max(e.col,t.col));const h=[];return(0,l.rangeEach)(s,o,(e=>{h.push(n?this.getAtRow(e,void 0,void 0,r):this.getAtRow(e,i,a,r))})),h}countRows(){if(this.hot.hasHook("modifySourceLength")){const e=this.hot.runHooks("modifySourceLength");if(Number.isInteger(e))return e}return this.data.length}countFirstRowKeys(){return(0,o.countFirstRowKeys)(this.data)}destroy(){this.data=null,this.hot=null}}},6521:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(78747));t.DataMap=s.default;var i=n(r(47746));t.MetaManager=i.default;var o=n(r(954));t.metaSchemaFactory=o.default;var a=r(32465);t.replaceData=a.replaceData;var l=r(59594);t.DynamicCellMetaMod=l.DynamicCellMetaMod;var h=r(13944);t.ExtendMetaPropertiesMod=h.ExtendMetaPropertiesMod},47746:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(14846),r(69655);var s=n(r(98960)),i=n(r(7229)),o=n(r(72653)),a=n(r(66535)),l=n(r(16050)),h=r(25499);class u{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];this.hot=e,this.globalMeta=new s.default(e),this.tableMeta=new i.default(this.globalMeta),this.columnMeta=new o.default(this.globalMeta),this.cellMeta=new a.default(this.columnMeta),r.forEach((e=>new e(this))),this.globalMeta.updateMeta(t)}getGlobalMeta(){return this.globalMeta.getMeta()}updateGlobalMeta(e){this.globalMeta.updateMeta(e)}getTableMeta(){return this.tableMeta.getMeta()}updateTableMeta(e){this.tableMeta.updateMeta(e)}getColumnMeta(e){return this.columnMeta.getMeta(e)}updateColumnMeta(e,t){this.columnMeta.updateMeta(e,t)}getCellMeta(e,t,r){let{visualRow:n,visualColumn:s}=r;const i=this.cellMeta.getMeta(e,t);return i.visualRow=n,i.visualCol=s,i.row=e,i.col=t,this.runLocalHooks("afterGetCellMeta",i),i}getCellMetaKeyValue(e,t,r){if("string"!=typeof r)throw new Error("The passed cell meta object key is not a string");return this.cellMeta.getMeta(e,t,r)}setCellMeta(e,t,r,n){this.cellMeta.setMeta(e,t,r,n)}updateCellMeta(e,t,r){this.cellMeta.updateMeta(e,t,r)}removeCellMeta(e,t,r){this.cellMeta.removeMeta(e,t,r)}getCellsMeta(){return this.cellMeta.getMetas()}getCellsMetaAtRow(e){return this.cellMeta.getMetasAtRow(e)}createRow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cellMeta.createRow(e,t)}removeRow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cellMeta.removeRow(e,t)}createColumn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cellMeta.createColumn(e,t),this.columnMeta.createColumn(e,t)}removeColumn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cellMeta.removeColumn(e,t),this.columnMeta.removeColumn(e,t)}clearCellsCache(){this.cellMeta.clearCache()}clearCache(){this.cellMeta.clearCache(),this.columnMeta.clearCache()}}t.default=u,(0,h.mixin)(u,l.default)},86310:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(27458);var s=n(r(85707)),i=r(62979);class o{constructor(e){(0,s.default)(this,"valueFactory",void 0),(0,s.default)(this,"data",[]),(0,s.default)(this,"index",[]),(0,s.default)(this,"holes",new Set),this.valueFactory=e}obtain(e){(0,i.assert)((()=>(0,i.isUnsignedNumber)(e)),"Expecting an unsigned number.");const t=this._getStorageIndexByKey(e);let r;if(t>=0)r=this.data[t],void 0===r&&(r=this.valueFactory(e),this.data[t]=r);else if(r=this.valueFactory(e),this.holes.size>0){const t=this.holes.values().next().value;this.holes.delete(t),this.data[t]=r,this.index[e]=t}else this.data.push(r),this.index[e]=this.data.length-1;return r}insert(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;(0,i.assert)((()=>(0,i.isUnsignedNumber)(e)||(0,i.isNullish)(e)),"Expecting an unsigned number or null/undefined argument.");const r=[],n=this.data.length;for(let e=0;e<t;e++)r.push(n+e),this.data.push(void 0);const s=(0,i.isNullish)(e)?this.index.length:e;this.index=[...this.index.slice(0,s),...r,...this.index.slice(s)]}remove(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;(0,i.assert)((()=>(0,i.isUnsignedNumber)(e)||(0,i.isNullish)(e)),"Expecting an unsigned number or null/undefined argument.");const r=this.index.splice((0,i.isNullish)(e)?this.index.length-t:e,t);for(let e=0;e<r.length;e++){const t=r[e];"number"==typeof t&&this.holes.add(t)}}size(){return this.data.length-this.holes.size}values(){return this.data.filter(((e,t)=>void 0!==e&&!this.holes.has(t)))[Symbol.iterator]()}entries(){const e=[];for(let t=0;t<this.data.length;t++){const r=this._getKeyByStorageIndex(t);-1!==r&&void 0!==this.data[t]&&e.push([r,this.data[t]])}let t=0;return{next:()=>{if(t<e.length){const r=e[t];return t+=1,{value:r,done:!1}}return{done:!0}}}}clear(){this.data=[],this.index=[],this.holes.clear()}_getStorageIndexByKey(e){return this.index.length>e?this.index[e]:-1}_getKeyByStorageIndex(e){return this.index.indexOf(e)}[Symbol.iterator](){return this.entries()}}t.default=o},66535:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707)),i=r(25499),o=r(62979),a=n(r(86310)),l=r(70505);t.default=class{constructor(e){(0,s.default)(this,"columnMeta",void 0),(0,s.default)(this,"metas",new a.default((()=>this._createRow()))),this.columnMeta=e}updateMeta(e,t,r){const n=this.getMeta(e,t);(0,i.extend)(n,r),(0,o.extendByMetaType)(n,r)}createRow(e,t){this.metas.insert(e,t)}createColumn(e,t){for(let r=0;r<this.metas.size();r++)this.metas.obtain(r).insert(e,t)}removeRow(e,t){this.metas.remove(e,t)}removeColumn(e,t){for(let r=0;r<this.metas.size();r++)this.metas.obtain(r).remove(e,t)}getMeta(e,t,r){const n=this.metas.obtain(e).obtain(t);return void 0===r?n:n[r]}setMeta(e,t,r,n){var s;const i=this.metas.obtain(e).obtain(t);null===(s=i._automaticallyAssignedMetaProps)||void 0===s||s.delete(r),i[r]=n}removeMeta(e,t,r){delete this.metas.obtain(e).obtain(t)[r]}getMetas(){const e=[],t=Array.from(this.metas.values());for(let r=0;r<t.length;r++)(0,l.isDefined)(t[r])&&e.push(...t[r].values());return e}getMetasAtRow(e){(0,o.assert)((()=>(0,o.isUnsignedNumber)(e)),"Expecting an unsigned number.");const t=new Map(this.metas);return t.has(e)?Array.from(t.get(e).values()):[]}clearCache(){this.metas.clear()}_createRow(){return new a.default((e=>this._createMeta(e)))}_createMeta(e){return new(this.columnMeta.getMetaConstructor(e))}}},72653:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(25499),o=r(62979),a=n(r(86310));const l=["data","width"];t.default=class{constructor(e){(0,s.default)(this,"globalMeta",void 0),(0,s.default)(this,"metas",new a.default((()=>this._createMeta()))),this.globalMeta=e,this.metas=new a.default((()=>this._createMeta()))}updateMeta(e,t){const r=this.getMeta(e);(0,i.extend)(r,t),(0,o.extendByMetaType)(r,t)}createColumn(e,t){this.metas.insert(e,t)}removeColumn(e,t){this.metas.remove(e,t)}getMeta(e){return this.metas.obtain(e)}getMetaConstructor(e){return this.metas.obtain(e).constructor}clearCache(){this.metas.clear()}_createMeta(){return(0,o.columnFactory)(this.globalMeta.getMetaConstructor(),l).prototype}}},98960:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(25499),o=r(62979),a=n(r(954));t.default=class{constructor(e){(0,s.default)(this,"metaCtor",class{}),(0,s.default)(this,"meta",void 0),this.meta=this.metaCtor.prototype,(0,i.extend)(this.meta,(0,a.default)()),this.meta.instance=e}getMetaConstructor(){return this.metaCtor}getMeta(){return this.meta}updateMeta(e){var t;(0,i.extend)(this.meta,e),(0,o.extendByMetaType)(this.meta,{...e,type:null!==(t=e.type)&&void 0!==t?t:this.meta.type},e)}}},7229:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(25499),o=r(62979);t.default=class{constructor(e){(0,s.default)(this,"meta",void 0);const t=e.getMetaConstructor();this.meta=new t}getMeta(){return this.meta}updateMeta(e){(0,i.extend)(this.meta,e),(0,o.extendByMetaType)(this.meta,e,e)}}},954:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(70505),s=r(25499);t.default=()=>({_automaticallyAssignedMetaProps:void 0,activeHeaderClassName:"ht__active_highlight",allowEmpty:!0,allowHtml:!1,allowInsertColumn:!0,allowInsertRow:!0,allowInvalid:!0,allowRemoveColumn:!0,allowRemoveRow:!0,ariaTags:!0,autoColumnSize:void 0,autoRowSize:void 0,autoWrapCol:!1,autoWrapRow:!1,bindRowsWithHeaders:void 0,cell:[],cells:void 0,checkedTemplate:void 0,className:void 0,colHeaders:null,collapsibleColumns:void 0,columnHeaderHeight:void 0,columns:void 0,columnSorting:void 0,columnSummary:void 0,colWidths:void 0,commentedCellClassName:"htCommentCell",comments:!1,contextMenu:void 0,copyable:!0,copyPaste:!0,correctFormat:!1,currentColClassName:void 0,currentHeaderClassName:"ht__highlight",currentRowClassName:void 0,customBorders:!1,data:void 0,dataDotNotation:!0,dataSchema:void 0,dateFormat:"DD/MM/YYYY",timeFormat:"h:mm:ss a",datePickerConfig:void 0,defaultDate:void 0,disableVisualSelection:!1,dragToScroll:!0,dropdownMenu:void 0,editor:void 0,enterBeginsEditing:!0,enterMoves:{col:0,row:1},fillHandle:{autoInsertRow:!1},filter:!0,filteringCaseSensitive:!1,filters:void 0,fixedColumnsLeft:0,fixedColumnsStart:0,fixedRowsBottom:0,fixedRowsTop:0,formulas:void 0,fragmentSelection:!1,headerClassName:void 0,height:void 0,hiddenColumns:void 0,hiddenRows:void 0,invalidCellClassName:"htInvalid",imeFastEdit:!1,isEmptyCol(e){let t,r,s;for(t=0,r=this.countRows();t<r;t++)if(s=this.getDataAtCell(t,e),!1===(0,n.isEmpty)(s))return!1;return!0},isEmptyRow(e){let t,r,i,o;for(t=0,r=this.countCols();t<r;t++)if(i=this.getDataAtCell(e,t),!1===(0,n.isEmpty)(i))return"object"==typeof i&&(o=this.getCellMeta(e,t),(0,s.isObjectEqual)(this.getSchema()[o.prop],i));return!0},label:void 0,language:"en-US",layoutDirection:"inherit",licenseKey:void 0,locale:"en-US",manualColumnFreeze:void 0,manualColumnMove:void 0,manualColumnResize:void 0,manualRowMove:void 0,manualRowResize:void 0,maxCols:1/0,maxRows:1/0,mergeCells:!1,minCols:0,minRows:0,minSpareCols:0,minSpareRows:0,multiColumnSorting:void 0,navigableHeaders:!1,tabNavigation:!0,nestedHeaders:void 0,nestedRows:void 0,noWordWrapClassName:"htNoWrap",numericFormat:void 0,observeDOMVisibility:!0,outsideClickDeselects:!0,persistentState:void 0,placeholder:void 0,placeholderCellClassName:"htPlaceholder",preventOverflow:!1,preventWheel:!1,readOnly:!1,readOnlyCellClassName:"htDimmed",renderAllRows:!1,renderAllColumns:!1,renderer:void 0,rowHeaders:void 0,rowHeaderWidth:void 0,rowHeights:void 0,search:!1,selectionMode:"multiple",selectOptions:void 0,skipColumnOnPaste:!1,skipRowOnPaste:!1,sortByRelevance:!0,source:void 0,startCols:5,startRows:5,stretchH:"none",strict:void 0,tableClassName:void 0,themeName:void 0,tabMoves:{row:0,col:1},title:void 0,trimDropdown:!0,trimRows:void 0,trimWhitespace:!0,type:"text",uncheckedTemplate:void 0,undo:!0,validator:void 0,viewportColumnRenderingOffset:"auto",viewportRowRenderingOffset:"auto",viewportColumnRenderingThreshold:0,viewportRowRenderingThreshold:0,visibleRows:10,width:void 0,wordWrap:!0})},59594:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620);var s=n(r(85707)),i=r(28197),o=r(25499),a=r(89804);t.DynamicCellMetaMod=class{constructor(e){(0,s.default)(this,"metaManager",void 0),(0,s.default)(this,"metaSyncMemo",new Map),this.metaManager=e,e.addLocalHook("afterGetCellMeta",(e=>this.extendCellMeta(e))),i.Hooks.getSingleton().add("beforeRender",(e=>{e&&this.metaSyncMemo.clear()}),this.metaManager.hot)}extendCellMeta(e){var t;const{row:r,col:n}=e;if(null!==(t=this.metaSyncMemo.get(r))&&void 0!==t&&t.has(n))return;const{visualRow:s,visualCol:i}=e,l=this.metaManager.hot,h=l.colToProp(i);e.prop=h,l.runHooks("beforeGetCellMeta",s,i,e);const u=(0,o.hasOwnProperty)(e,"type")?e.type:null;let c=(0,a.isFunction)(e.cells)?e.cells(r,n,h):null;var d;u&&(c?c.type=null!==(d=c.type)&&void 0!==d?d:u:c={type:u});c&&this.metaManager.updateCellMeta(r,n,c),l.runHooks("afterGetCellMeta",s,i,e),this.metaSyncMemo.has(r)||this.metaSyncMemo.set(r,new Set),this.metaSyncMemo.get(r).add(n)}}},13944:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(69655);var s=n(r(85707));function i(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function o(e,t){return e.get(function(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}(e,t))}var a=new WeakMap;t.ExtendMetaPropertiesMod=class{constructor(e){(0,s.default)(this,"metaManager",void 0),(0,s.default)(this,"usageTracker",new Set),(0,s.default)(this,"propDescriptors",new Map([["ariaTags",{initOnly:!0}],["fixedColumnsLeft",{target:"fixedColumnsStart",onChange(e){if(this.metaManager.hot.isRtl()&&"fixedColumnsLeft"===e)throw new Error("The `fixedColumnsLeft` is not supported for RTL. Please use option `fixedColumnsStart`.");if(this.usageTracker.has("fixedColumnsLeft")&&this.usageTracker.has("fixedColumnsStart"))throw new Error("The `fixedColumnsLeft` and `fixedColumnsStart` should not be used together. Please use only the option `fixedColumnsStart`.")}}],["layoutDirection",{initOnly:!0}],["renderAllColumns",{initOnly:!0}],["renderAllRows",{initOnly:!0}]])),i(this,a,((e,t,r)=>{if(!r)throw new Error(`The \`${e}\` option can not be updated after the Handsontable is initialized.`)})),this.metaManager=e,this.extendMetaProps()}extendMetaProps(){this.propDescriptors.forEach(((e,t)=>{const{initOnly:r,target:n,onChange:s}=e,i="string"==typeof n,l=i?n:t,h=`_${l}`;this.metaManager.globalMeta.meta[h]=this.metaManager.globalMeta.meta[l],s?(this.installPropWatcher(t,h,s),i&&this.installPropWatcher(n,h,s)):r&&(this.installPropWatcher(t,h,o(a,this)),this.metaManager.globalMeta.meta._initOnlySettings||(this.metaManager.globalMeta.meta._initOnlySettings=[]),this.metaManager.globalMeta.meta._initOnlySettings.push(t))}))}installPropWatcher(e,t,r){const n=this;Object.defineProperty(this.metaManager.globalMeta.meta,e,{get(){return this[t]},set(s){const i=!n.usageTracker.has(e);n.usageTracker.add(e),r.call(n,e,s,i),this[t]=s},enumerable:!0,configurable:!0})}}},62979:(e,t,r)=>{"use strict";t.__esModule=!0,t.assert=function(e,t){if(!e())throw new Error(`Assertion failed: ${t}`)},t.columnFactory=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];function r(){}(0,n.inherit)(r,e);for(let e=0;e<t.length;e++)r.prototype[t[e]]=void 0;return r},t.extendByMetaType=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e;const i="string"==typeof t.type?(0,s.getCellType)(t.type):t.type;e._automaticallyAssignedMetaProps&&(0,n.objectEach)(t,((t,r)=>{e._automaticallyAssignedMetaProps.delete(r)}));if(!(0,n.isObject)(i))return;r!==e||e._automaticallyAssignedMetaProps||(e._automaticallyAssignedMetaProps=new Set);const o={};(0,n.objectEach)(i,((t,s)=>{var i;(function(e,t){var r;if("CELL_TYPE"===e)return!1;return(null===(r=t._automaticallyAssignedMetaProps)||void 0===r?void 0:r.has(e))||!(0,n.hasOwnProperty)(t,e)})(s,r)&&(o[s]=t,null===(i=e._automaticallyAssignedMetaProps)||void 0===i||i.add(s))})),(0,n.extend)(e,o)},t.isNullish=function(e){return null==e},t.isUnsignedNumber=function(e){return Number.isInteger(e)&&e>=0},r(67834),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620);var n=r(25499),s=r(1791)},32465:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.replaceData=function(e,t,r,n){const{hotInstance:u,dataMap:c,dataSource:d,internalSource:p,source:g,metaManager:f,firstRun:m}=n,y=(0,s.toUpperCaseFirst)(p),E=u.getSettings();Array.isArray(E.dataSchema)?u.dataType="array":(0,i.isFunction)(E.dataSchema)?u.dataType="function":u.dataType="object";c&&c.destroy();e=u.runHooks(`before${y}`,e,m,g);const w=new o.default(u,e,f);if(t(w),"object"==typeof e&&null!==e)e.push&&e.splice||(e=[e]);else{if(null!==e)throw new Error(`${p} only accepts array of objects or array of arrays (${typeof e} given)`);{const t=w.getSchema();let r;e=[];let n=0,s=0;for(n=0,s=E.startRows;n<s;n++)if("object"!==u.dataType&&"function"!==u.dataType||!E.dataSchema)if("array"===u.dataType)r=(0,a.deepClone)(t[0]),e.push(r);else{r=[];for(let e=0,t=E.startCols;e<t;e++)r.push(null);e.push(r)}else r=(0,a.deepClone)(t),e.push(r)}}Array.isArray(e[0])&&(u.dataType="array");E.data=e,w.dataSource=e,d.data=e,d.dataType=u.dataType,d.colToProp=w.colToProp.bind(w),d.propToCol=w.propToCol.bind(w),d.countCachedColumns=w.countCachedColumns.bind(w),r(w),u.runHooks(`after${y}`,e,m,g),m||(u.runHooks("afterChange",null,p),u.render());u.getSettings().ariaTags&&(0,l.setAttribute)(u.rootElement,[(0,h.A11Y_ROWCOUNT)(-1),(0,h.A11Y_COLCOUNT)(u.countCols()+(u.view?u.countRowHeaders():0))])},r(67834),r(15724);var s=r(5893),i=r(89804),o=n(r(78747)),a=r(25499),l=r(62577),h=r(71120)},70892:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=r(83445),o=r(77661),a=r(8266),l=n(r(3849));function h(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function u(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var c=new WeakSet;class d{constructor(e,t,r){h(this,c),(0,s.default)(this,"hot",void 0),(0,s.default)(this,"tableMeta",void 0),(0,s.default)(this,"selection",void 0),(0,s.default)(this,"eventManager",void 0),(0,s.default)(this,"destroyed",!1),(0,s.default)(this,"activeEditor",void 0),(0,s.default)(this,"cellProperties",void 0),this.hot=e,this.tableMeta=t,this.selection=r,this.eventManager=new l.default(e),this.hot.addHook("afterDocumentKeyDown",(e=>u(c,this,p).call(this,e))),this.eventManager.addEventListener(this.hot.rootDocument.documentElement,"compositionstart",(e=>{!this.destroyed&&this.hot.isListening()&&this.openEditor("",e)})),this.hot.view._wt.update("onCellDblClick",((e,t,r)=>u(c,this,g).call(this,e,t,r)))}getActiveEditor(){return this.activeEditor}prepareEditor(){var e;if(this.activeEditor&&this.activeEditor.isWaiting())return void this.closeEditor(!1,!1,(e=>{e&&this.prepareEditor()}));const t=null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight;if(!t||t.isHeader())return;const{row:r,col:n}=t,s=this.hot.runHooks("modifyGetCellCoords",r,n,!1,"meta");let i=r,o=n;if(Array.isArray(s)&&([i,o]=s),this.cellProperties=this.hot.getCellMeta(i,o),!this.isCellEditable())return void this.clearActiveEditor();const l=this.hot.getCell(r,n,!0);if(l){const e=this.hot.getCellEditor(this.cellProperties),t=this.hot.colToProp(o),s=this.hot.getSourceDataAtCell(this.hot.toPhysicalRow(i),o);this.activeEditor=(0,a.getEditorInstance)(e,this.hot),this.activeEditor.prepare(r,n,t,l,s,this.cellProperties)}}isEditorOpened(){return this.activeEditor&&this.activeEditor.isOpened()}openEditor(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!this.isCellEditable())return void this.clearActiveEditor();const n=this.hot.getSelectedRangeLast();let s=this.hot.runHooks("beforeBeginEditing",n.highlight.row,n.highlight.col,e,t,r);t instanceof MouseEvent&&"boolean"!=typeof s&&(s=0===this.hot.selection.getLayerLevel()&&n.isSingle()),!1!==s?(this.activeEditor||(this.hot.scrollToFocusedCell(),this.prepareEditor()),this.activeEditor&&(r&&this.activeEditor.enableFullEditMode(),this.activeEditor.beginEditing(e,t))):this.clearActiveEditor()}closeEditor(e,t,r){this.activeEditor?this.activeEditor.finishEditing(e,t,r):r&&r(!1)}closeEditorAndSaveChanges(e){this.closeEditor(!1,e)}closeEditorAndRestoreOriginalValue(e){this.closeEditor(!0,e)}clearActiveEditor(){this.activeEditor=void 0}isCellEditable(){const e=this.hot.getSelectedRangeLast();if(!e)return!1;const t=this.hot.getCellEditor(this.cellProperties),{row:r,col:n}=e.highlight,{rowIndexMapper:s,columnIndexMapper:i}=this.hot,o=s.isHidden(this.hot.toPhysicalRow(r))||i.isHidden(this.hot.toPhysicalColumn(n));return!(this.cellProperties.readOnly||!t||o)}moveSelectionAfterEnter(e){const t={..."function"==typeof this.tableMeta.enterMoves?this.tableMeta.enterMoves(e):this.tableMeta.enterMoves};e.shiftKey&&(t.row=-t.row,t.col=-t.col),this.hot.selection.isMultiple()?this.selection.transformFocus(t.row,t.col):this.selection.transformStart(t.row,t.col,!0)}destroy(){this.destroyed=!0,this.eventManager.destroy()}}function p(e){const t=this.hot.getSelectedRangeLast();if(!this.hot.isListening()||!t||t.highlight.isHeader()||(0,o.isImmediatePropagationStopped)(e))return;const{keyCode:r}=e,n=(e.ctrlKey||e.metaKey)&&!e.altKey;(!this.activeEditor||this.activeEditor&&!this.activeEditor.isWaiting())&&((0,i.isFunctionKey)(r)||(0,i.isCtrlMetaKey)(r)||n||this.isEditorOpened()||this.openEditor("",e))}function g(e,t){t.isCell()&&this.openEditor(null,e,!0)}const f=new WeakMap;d.getInstance=function(e,t,r){let n=f.get(e);return n||(n=new d(e,t,r),f.set(e,n)),n};t.default=d},28474:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(27458),r(6211),r(90458);var s=n(r(85707)),i=r(82518),o=r(10587),a=r(62577),l=r(70505),h=r(5893),u=r(83445),c=r(85096),d=r(71120);function p(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function g(e,t){return e.get(function(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}(e,t))}const f=t.EDITOR_TYPE="autocomplete";var m=new WeakMap;class y extends i.HandsontableEditor{constructor(){super(...arguments),(0,s.default)(this,"query",null),(0,s.default)(this,"strippedChoices",[]),(0,s.default)(this,"rawChoices",[]),p(this,m,this.hot.guid.slice(0,9)),(0,s.default)(this,"sortByRelevance",(function(e,t,r){const n=[],s=[],i=e.length;let o,a,u,c,d=t.length;if(0===i){for(u=0;u<d;u++)s.push(u);return s}for(u=0;u<d;u++){if(a=(0,h.stripTags)((0,l.stringify)(t[u])),r)c=a.indexOf(e);else{const t=this.cellProperties.locale;c=a.toLocaleLowerCase(t).indexOf(e.toLocaleLowerCase(t))}-1!==c&&(o=a.length-c-i,n.push({baseIndex:u,index:c,charsLeft:o,value:a}))}for(n.sort(((e,t)=>{if(-1===t.index)return-1;if(-1===e.index)return 1;if(e.index<t.index)return-1;if(t.index<e.index)return 1;if(e.index===t.index){if(e.charsLeft<t.charsLeft)return-1;if(e.charsLeft>t.charsLeft)return 1}return 0})),u=0,d=n.length;u<d;u++)s.push(n[u].baseIndex);return s}))}static get EDITOR_TYPE(){return f}getValue(){const e=this.rawChoices.find((e=>this.stripValueIfNeeded(e)===this.TEXTAREA.value));return(0,l.isDefined)(e)?e:this.TEXTAREA.value}createElements(){super.createElements(),(0,a.addClass)(this.htContainer,"autocompleteEditor"),(0,a.addClass)(this.htContainer,-1===this.hot.rootWindow.navigator.platform.indexOf("Mac")?"":"htMacScroll"),this.hot.getSettings().ariaTags&&(0,a.setAttribute)(this.TEXTAREA,[(0,d.A11Y_TEXT)(),(0,d.A11Y_COMBOBOX)(),(0,d.A11Y_HASPOPUP)("listbox"),(0,d.A11Y_AUTOCOMPLETE)()])}prepare(e,t,r,n,s,i){super.prepare(e,t,r,n,s,i),this.hot.getSettings().ariaTags&&(0,a.setAttribute)(this.TEXTAREA,[(0,d.A11Y_EXPANDED)("false"),(0,d.A11Y_CONTROLS)(`${g(m,this)}-listbox-${e}-${t}`)])}open(){super.open();const e=void 0===this.cellProperties.trimDropdown||this.cellProperties.trimDropdown,t=this.hot.getSettings().ariaTags,r=Array.isArray(this.cellProperties.source)?this.cellProperties.source:null,n=null==r?void 0:r.length,{row:s,col:i}=this;this.showEditableElement(),this.focus(),this.addHook("beforeKeyDown",(e=>this.onBeforeKeyDown(e))),this.htEditor.updateSettings({colWidths:e?[(0,a.outerWidth)(this.TEXTAREA)-2]:void 0,autoColumnSize:!0,autoRowSize:!0,renderer:(e,s,i,o,h,u,p)=>{(0,c.textRenderer)(e,s,i,o,h,u,p);const{filteringCaseSensitive:g,allowHtml:f,locale:m}=this.cellProperties,y=this.query;let E,w,C=(0,l.stringify)(u);C&&!f&&(E=!0===g?C.indexOf(y):C.toLocaleLowerCase(m).indexOf(y.toLocaleLowerCase(m)),-1!==E&&(w=C.substr(E,y.length),C=C.replace(w,`<strong>${w}</strong>`))),t&&(0,a.setAttribute)(s,[(0,d.A11Y_OPTION)(),...r?[(0,d.A11Y_SETSIZE)(n)]:[],...r?[(0,d.A11Y_POSINSET)(r.indexOf(u)+1)]:[],["id",`${this.htEditor.rootElement.id}_${i}-${o}`]]),s.innerHTML=C},afterSelectionEnd:(e,r)=>{if(t){const t=this.htEditor.getCell(e,r,!0);(0,a.setAttribute)(t,[(0,d.A11Y_SELECTED)()]),(0,a.setAttribute)(this.TEXTAREA,...(0,d.A11Y_ACTIVEDESCENDANT)(t.id))}}}),t&&((0,a.setAttribute)(this.htEditor.view._wt.wtOverlays.wtTable.TABLE,...(0,d.A11Y_PRESENTATION)()),(0,a.setAttribute)(this.htEditor.rootElement,[(0,d.A11Y_LISTBOX)(),(0,d.A11Y_LIVE)("polite"),(0,d.A11Y_RELEVANT)("text"),["id",`${g(m,this)}-listbox-${s}-${i}`]]),(0,a.setAttribute)(this.TEXTAREA,...(0,d.A11Y_EXPANDED)("true"))),this.hot._registerTimeout((()=>{this.queryChoices(this.TEXTAREA.value)}))}close(){this.removeHooksByKey("beforeKeyDown"),super.close(),this.hot.getSettings().ariaTags&&(0,a.setAttribute)(this.TEXTAREA,[(0,d.A11Y_EXPANDED)("false")])}discardEditor(e){super.discardEditor(e),this.hot.view.render()}queryChoices(e){const t=this.cellProperties.source;this.query=e,"function"==typeof t?t.call(this.cellProperties,e,(e=>{this.rawChoices=e,this.updateChoicesList(this.stripValuesIfNeeded(e))})):Array.isArray(t)?(this.rawChoices=t,this.updateChoicesList(this.stripValuesIfNeeded(t))):this.updateChoicesList([])}updateChoicesList(e){const t=(0,a.getCaretPosition)(this.TEXTAREA),r=(0,a.getSelectionEndPosition)(this.TEXTAREA),n=this.cellProperties.sortByRelevance,s=this.cellProperties.filter;let i=null,l=null,h=e;n&&(i=this.sortByRelevance(this.stripValueIfNeeded(this.getValue()),h,this.cellProperties.filteringCaseSensitive));const u=Array.isArray(i)?i.length:0;if(!1===s)l=u>0?i[0]:0;else{const e=[];for(let t=0,r=h.length;t<r&&!(n&&u<=t);t++)u?e.push(h[i[t]]):e.push(h[t]);l=0,h=e}this.strippedChoices=h,0===h.length?this.htEditor.rootElement.style.display="none":this.htEditor.rootElement.style.display="",this.htEditor.loadData((0,o.pivot)([h])),h.length>0&&(this.updateDropdownDimensions(),this.flipDropdownIfNeeded(),!0===this.cellProperties.strict&&this.highlightBestMatchingChoice(l)),this.hot.listen(),(0,a.setCaretPosition)(this.TEXTAREA,t,t===r?void 0:r)}flipDropdownIfNeeded(){const e=(0,a.getTrimmingContainer)(this.hot.view._wt.wtTable.TABLE),t=e===this.hot.rootWindow,r=this.cellProperties.preventOverflow;if(t||!t&&(r||"horizontal"===r))return!1;const n=(0,a.offset)(this.TEXTAREA),s=(0,a.outerHeight)(this.TEXTAREA),i=this.getHeight(),o=e.scrollTop,l=(0,a.outerHeight)(this.hot.view._wt.wtTable.THEAD),h=(0,a.offset)(e),u=n.top-h.top-l+o,c=e.scrollHeight-u-l-s,d=i>c&&u>c;return d?this.flipDropdown(i):this.unflipDropdown(),this.limitDropdownIfNeeded(d?u:c,i),d}limitDropdownIfNeeded(e,t){if(t>e){let r=0,n=0,s=0,i=null;do{s=this.htEditor.getRowHeight(n)||this.htEditor.view.getDefaultRowHeight(),r+=s,n+=1}while(r<e);i=r-s,this.htEditor.flipped&&(this.htEditor.rootElement.style.top=parseInt(this.htEditor.rootElement.style.top,10)+t-i+"px"),this.setDropdownHeight(r-s)}}flipDropdown(e){const t=this.htEditor.rootElement.style;t.position="absolute",t.top=-e+"px",this.htEditor.flipped=!0}unflipDropdown(){const e=this.htEditor.rootElement.style;e.position="absolute",e.top="",this.htEditor.flipped=void 0}updateDropdownDimensions(){this.htEditor.updateSettings({width:this.getWidth(),height:this.getHeight()}),this.htEditor.view.hasVerticalScroll()&&this.htEditor.updateSettings({width:this.htEditor.getSettings().width+(0,a.getScrollbarWidth)(this.hot.rootDocument)}),this.htEditor.view._wt.wtTable.alignOverlaysWithTrimmingContainer()}setDropdownHeight(e){this.htEditor.updateSettings({height:e})}highlightBestMatchingChoice(e){"number"==typeof e?this.htEditor.selectCell(e,0,void 0,void 0,void 0,!1):this.htEditor.deselectCell()}getHeight(){const e=this.hot.rootWindow.getComputedStyle(this.htContainer.querySelector(".htCore")),t=parseInt(e.borderTopWidth,10)+parseInt(e.borderBottomWidth,10),r=Math.min(this.cellProperties.visibleRows,this.strippedChoices.length);return Array.from({length:r},((e,t)=>t)).reduce(((e,t)=>e+this.htEditor.getRowHeight(t)),0)+t+1}getWidth(){const e=this.hot.rootWindow.getComputedStyle(this.htContainer.querySelector(".htCore")),t=parseInt(e.borderInlineStartWidth,10)+parseInt(e.borderInlineEndWidth,10);return this.htEditor.getColWidth(0)+t}stripValueIfNeeded(e){return this.stripValuesIfNeeded([e])[0]}stripValuesIfNeeded(e){const{allowHtml:t}=this.cellProperties,r=(0,o.arrayMap)(e,(e=>(0,l.stringify)(e)));return(0,o.arrayMap)(r,(e=>t?e:(0,h.stripTags)(e)))}allowKeyEventPropagation(e){const t=this.htEditor.getSelectedRangeLast(),r=t?t.from.row:-1;let n=!1;return e===u.KEY_CODES.ARROW_DOWN&&r>0&&r<this.htEditor.countRows()-1&&(n=!0),e===u.KEY_CODES.ARROW_UP&&r>-1&&(n=!0),n}onBeforeKeyDown(e){if((0,u.isPrintableChar)(e.keyCode)||e.keyCode===u.KEY_CODES.BACKSPACE||e.keyCode===u.KEY_CODES.DELETE||e.keyCode===u.KEY_CODES.INSERT){let t=10;if(e.keyCode===u.KEY_CODES.C&&(e.ctrlKey||e.metaKey))return;this.isOpened()||(t+=10),this.htEditor&&this.hot._registerTimeout((()=>{this.queryChoices(this.TEXTAREA.value)}),t)}}}t.AutocompleteEditor=y},10463:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(28474);t.EDITOR_TYPE=n.EDITOR_TYPE,t.AutocompleteEditor=n.AutocompleteEditor},60448:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=r(70505),o=r(25499),a=n(r(70292)),l=r(62577);const h=t.EDITOR_TYPE="base",u=t.EDITOR_STATE=Object.freeze({VIRGIN:"STATE_VIRGIN",EDITING:"STATE_EDITING",WAITING:"STATE_WAITING",FINISHED:"STATE_FINISHED"});class c{static get EDITOR_TYPE(){return h}constructor(e){(0,s.default)(this,"hot",void 0),(0,s.default)(this,"state",u.VIRGIN),(0,s.default)(this,"_opened",!1),(0,s.default)(this,"_fullEditMode",!1),(0,s.default)(this,"_closeCallback",null),(0,s.default)(this,"TD",null),(0,s.default)(this,"row",null),(0,s.default)(this,"col",null),(0,s.default)(this,"prop",null),(0,s.default)(this,"originalValue",null),(0,s.default)(this,"cellProperties",null),this.hot=e,this.init()}_fireCallbacks(e){this._closeCallback&&(this._closeCallback(e),this._closeCallback=null)}init(){}getValue(){throw Error("Editor getValue() method unimplemented")}setValue(){throw Error("Editor setValue() method unimplemented")}open(){throw Error("Editor open() method unimplemented")}close(){throw Error("Editor close() method unimplemented")}prepare(e,t,r,n,s,i){this.TD=n,this.row=e,this.col=t,this.prop=r,this.originalValue=s,this.cellProperties=i,this.state=this.isOpened()?this.state:u.VIRGIN}extend(){return class extends this.constructor{}}saveValue(e,t){let r,n,s,i;if(t){const e=this.hot.getSelectedLast();r=Math.max(Math.min(e[0],e[2]),0),n=Math.max(Math.min(e[1],e[3]),0),s=Math.max(e[0],e[2]),i=Math.max(e[1],e[3])}else[r,n,s,i]=[this.row,this.col,null,null];const o=this.hot.runHooks("modifyGetCellCoords",r,n,!1,"meta");Array.isArray(o)&&([r,n]=o),this.hot.populateFromArray(r,n,e,s,i,"edit")}beginEditing(e,t){if(this.state!==u.VIRGIN)return;const r=this.hot,n=r.rowIndexMapper.getRenderableFromVisualIndex(this.row),s=r.columnIndexMapper.getRenderableFromVisualIndex(this.col),o=()=>{if(this.state=u.EDITING,this.isInFullEditMode()){const t="string"==typeof e?e:(0,i.stringify)(this.originalValue);this.setValue(t)}this.open(t),this._opened=!0,this.focus(),r.view.render(),r.runHooks("afterBeginEditing",this.row,this.col)};this.hot.addHookOnce("afterScroll",o);r.view.scrollViewport(r._createCellCoords(n,s))||(this.hot.removeHook("afterScroll",o),o())}finishEditing(e,t,r){let n;if(r){const e=this._closeCallback;this._closeCallback=t=>{e&&e(t),r(t),this.hot.view.render()}}if(!this.isWaiting())if(this.state!==u.VIRGIN){if(this.state===u.EDITING){if(e)return this.cancelChanges(),void this.hot.view.render();const r=this.getValue();n=this.cellProperties.trimWhitespace?[["string"==typeof r?String.prototype.trim.call(r||""):r]]:[[r]],this.state=u.WAITING,this.saveValue(n,t),this.hot.getCellValidator(this.cellProperties)?this.hot.addHookOnce("postAfterValidate",(e=>{this.state=u.FINISHED,this.discardEditor(e)})):(this.state=u.FINISHED,this.discardEditor(!0))}}else this.hot._registerTimeout((()=>{this._fireCallbacks(!0)}))}cancelChanges(){this.state=u.FINISHED,this.discardEditor()}discardEditor(e){if(this.state===u.FINISHED)if(!1===e&&!0!==this.cellProperties.allowInvalid)this.hot.selectCell(this.row,this.col),this.focus(),this.state=u.EDITING,this._fireCallbacks(!1);else{this.close(),this._opened=!1,this._fullEditMode=!1,this.state=u.VIRGIN,this._fireCallbacks(!0);this.hot.getShortcutManager().setActiveContextName("grid")}}enableFullEditMode(){this._fullEditMode=!0}isInFullEditMode(){return this._fullEditMode}isOpened(){return this._opened}isWaiting(){return this.state===u.WAITING}getEditedCellRect(){var e;const t=this.getEditedCell();if(!t)return;const{wtOverlays:r,wtViewport:n}=this.hot.view._wt,s=this.hot.rootWindow,i=(0,l.offset)(t),o=(0,l.outerWidth)(t),a=(0,l.offset)(this.hot.rootElement),h=(0,l.outerWidth)(this.hot.rootElement),u=r.topOverlay.holder,c=r.inlineStartOverlay.holder,d=u!==s?u.scrollTop:0,p=c!==s?c.scrollLeft:0,g=s.innerWidth-a.left-h,{wtTable:f}=null!==(e=r.getParentOverlay(t))&&void 0!==e?e:this.hot.view._wt,m=f.name,y=["master","inline_start"].includes(m)?d:0,E=["master","top","bottom"].includes(m)?p:0,w=i.top===a.top?0:1;let C=i.top-a.top-w-y,v=0;v=this.hot.isRtl()?s.innerWidth-i.left-o-g-1+E:i.left-a.left-1-E,["top","top_inline_start_corner"].includes(m)&&(C+=r.topOverlay.getOverlayOffset()),["inline_start","top_inline_start_corner"].includes(m)&&(v+=Math.abs(r.inlineStartOverlay.getOverlayOffset()));const R=this.hot.hasColHeaders(),S=this.hot.rowIndexMapper.getRenderableFromVisualIndex(this.row),T=this.hot.columnIndexMapper.getRenderableFromVisualIndex(this.col),N=this.hot.rowIndexMapper.getRenderableIndexesLength()-this.hot.view._wt.getSetting("fixedRowsBottom");(R&&S<=0||S===N)&&(C+=1),T<=0&&(v+=1);const M=n.rowsRenderCalculator.startPosition,_=n.columnsRenderCalculator.startPosition,b=Math.abs(r.inlineStartOverlay.getScrollPosition()),O=r.topOverlay.getScrollPosition(),A=(0,l.getScrollbarWidth)(this.hot.rootDocument);let I=t.offsetTop;if(["inline_start","master"].includes(m)&&(I+=M-O),["bottom","bottom_inline_start_corner"].includes(m)){const{wtViewport:e,wtTable:t}=r.bottomOverlay.clone;I+=e.getWorkspaceHeight()-t.getHeight()-A}let x=t.offsetLeft;this.hot.isRtl()?(x=x>=0?f.getWidth()-t.offsetLeft:Math.abs(x),x+=_-b-o):["top","master","bottom"].includes(m)&&(x+=_-b);const P=s.getComputedStyle(this.TD),L=this.hot.isRtl()?"borderRightWidth":"borderLeftWidth",D=parseInt(P[L],10)>0?0:1,k=parseInt(P.borderTopWidth,10)>0?0:1,H=(0,l.outerWidth)(t)+D,F=(0,l.outerHeight)(t)+k,U=(0,l.hasVerticalScrollbar)(u)?A:0,V=(0,l.hasHorizontalScrollbar)(c)?A:0,B=this.hot.view.maximumVisibleElementWidth(x)-U+D;return{top:C,start:v,height:F,maxHeight:Math.max(this.hot.view.maximumVisibleElementHeight(I)-V+k,this.hot.view.getDefaultRowHeight()),width:H,maxWidth:B}}getEditedCellsLayerClass(){switch(this.checkEditorSection()){case"inline-start":return"ht_clone_left ht_clone_inline_start";case"bottom":return"ht_clone_bottom";case"bottom-inline-start-corner":return"ht_clone_bottom_left_corner ht_clone_bottom_inline_start_corner";case"top":return"ht_clone_top";case"top-inline-start-corner":return"ht_clone_top_left_corner ht_clone_top_inline_start_corner";default:return"ht_clone_master"}}getEditedCell(){return this.hot.getCell(this.row,this.col,!0)}checkEditorSection(){const e=this.hot.countRows();let t="";return this.row<this.hot.getSettings().fixedRowsTop?t=this.col<this.hot.getSettings().fixedColumnsStart?"top-inline-start-corner":"top":this.hot.getSettings().fixedRowsBottom&&this.row>=e-this.hot.getSettings().fixedRowsBottom?t=this.col<this.hot.getSettings().fixedColumnsStart?"bottom-inline-start-corner":"bottom":this.col<this.hot.getSettings().fixedColumnsStart&&(t="inline-start"),t}}t.BaseEditor=c,(0,o.mixin)(c,a.default)},74854:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(60448);t.EDITOR_STATE=n.EDITOR_STATE,t.EDITOR_TYPE=n.EDITOR_TYPE,t.BaseEditor=n.BaseEditor},11476:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(74854),s=r(62577);const i=t.EDITOR_TYPE="checkbox";class o extends n.BaseEditor{static get EDITOR_TYPE(){return i}beginEditing(e,t){if(t&&"mouseup"===t.type&&"TD"===t.target.nodeName){const e=this.TD.querySelector('input[type="checkbox"]');(0,s.hasClass)(e,"htBadValue")||e.click()}}finishEditing(){}init(){}open(){}close(){}getValue(){}setValue(){}focus(){}}t.CheckboxEditor=o},12302:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(11476);t.EDITOR_TYPE=n.EDITOR_TYPE,t.CheckboxEditor=n.CheckboxEditor},28150:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=n(r(6671)),o=n(r(44499)),a=r(74854),l=r(66420),h=r(62577),u=r(25499),c=r(83445),d=r(25046);const p=t.EDITOR_TYPE="date",g="dateEditor";class f extends l.TextEditor{constructor(){super(...arguments),(0,s.default)(this,"defaultDateFormat","DD/MM/YYYY"),(0,s.default)(this,"parentDestroyed",!1),(0,s.default)(this,"$datePicker",null)}static get EDITOR_TYPE(){return p}init(){if("function"!=typeof i.default)throw new Error("You need to include moment.js to your project.");if("function"!=typeof o.default)throw new Error("You need to include Pikaday to your project.");super.init(),this.hot.addHook("afterDestroy",(()=>{this.parentDestroyed=!0,this.destroyElements()})),this.hot.addHook("afterSetTheme",((e,t)=>{t||((0,h.removeClass)(this.datePicker,/ht-theme-.*/g),(0,h.addClass)(this.datePicker,e))}))}createElements(){super.createElements(),this.datePicker=this.hot.rootDocument.createElement("DIV"),this.datePickerStyle=this.datePicker.style,this.datePickerStyle.position="absolute",this.datePickerStyle.top=0,this.datePickerStyle.left=0,this.datePickerStyle.zIndex=9999,this.datePicker.setAttribute("dir",this.hot.isRtl()?"rtl":"ltr"),(0,h.addClass)(this.datePicker,"htDatepickerHolder");const e=this.hot.getCurrentThemeName();(0,h.removeClass)(this.datePicker,/ht-theme-.*/g),(0,h.addClass)(this.datePicker,e),this.hot.rootDocument.body.appendChild(this.datePicker),this.eventManager.addEventListener(this.datePicker,"mousedown",(e=>{(0,h.hasClass)(e.target,"pika-day")&&this.hideDatepicker(),e.stopPropagation()}))}destroyElements(){const e=this.datePicker.parentNode;this.$datePicker&&this.$datePicker.destroy(),e&&e.removeChild(this.datePicker)}prepare(e,t,r,n,s,i){super.prepare(e,t,r,n,s,i)}open(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=this.hot.getShortcutManager().getContext("editor");this.showDatepicker(e),super.open(),t.addShortcuts([{keys:[["ArrowLeft"]],callback:()=>{this.$datePicker.adjustDate("subtract",1)}},{keys:[["ArrowRight"]],callback:()=>{this.$datePicker.adjustDate("add",1)}},{keys:[["ArrowUp"]],callback:()=>{this.$datePicker.adjustDate("subtract",7)}},{keys:[["ArrowDown"]],callback:()=>{this.$datePicker.adjustDate("add",7)}}],{group:g})}close(){var e;this._opened=!1,null!==(e=this.$datePicker)&&void 0!==e&&e.destroy&&this.$datePicker.destroy(),this.hot._registerTimeout((()=>{const e=this.hot._getEditorManager();e.closeEditor(),this.hot.view.render(),e.prepareEditor()}));this.hot.getShortcutManager().getContext("editor").removeShortcutsByGroup(g),super.close()}finishEditing(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super.finishEditing(e,t)}showDatepicker(e){const t=this.cellProperties.dateFormat||this.defaultDateFormat,r=this.hot.view.isMouseDown(),n=!!e&&(0,c.isFunctionKey)(e.keyCode);let s;this.datePicker.style.display="block",this.$datePicker=new o.default(this.getDatePickerConfig()),"function"==typeof this.$datePicker.useMoment&&this.$datePicker.useMoment(i.default),this.$datePicker._onInputFocus=function(){},this.originalValue?(s=this.originalValue,(0,i.default)(s,t,!0).isValid()&&this.$datePicker.setMoment((0,i.default)(s,t),!0),this.getValue()!==this.originalValue&&this.setValue(this.originalValue),n||r||this.setValue("")):this.cellProperties.defaultDate?(s=this.cellProperties.defaultDate,(0,i.default)(s,t,!0).isValid()&&this.$datePicker.setMoment((0,i.default)(s,t),!0),n||r||this.setValue("")):this.$datePicker.gotoToday()}hideDatepicker(){this.datePickerStyle.display="none",this.$datePicker.hide()}getDatePickerConfig(){const e=this.TEXTAREA,t={};this.cellProperties&&this.cellProperties.datePickerConfig&&(0,u.deepExtend)(t,this.cellProperties.datePickerConfig);const r=t.onSelect,n=t.onClose;return t.field=e,t.trigger=e,t.container=this.datePicker,t.bound=!1,t.keyboardInput=!1,t.format=t.format||this.defaultDateFormat,t.reposition=t.reposition||!1,t.isRTL=!1,t.onSelect=e=>{let t=e;isNaN(t.getTime())||(t=(0,i.default)(t).format(this.cellProperties.dateFormat||this.defaultDateFormat)),this.setValue(t),r&&r(),(0,d.isMobileBrowser)()&&this.hideDatepicker()},t.onClose=()=>{this.parentDestroyed||this.finishEditing(!1),n&&n()},t}refreshDimensions(e){var t;if(super.refreshDimensions(e),this.state!==a.EDITOR_STATE.EDITING)return;if(this.TD=this.getEditedCell(),!this.TD)return void this.hideDatepicker();const{rowIndexMapper:r,columnIndexMapper:n}=this.hot,{wtOverlays:s}=this.hot.view._wt,{wtTable:i}=null!==(t=s.getParentOverlay(this.TD))&&void 0!==t?t:this.hot.view._wt,o=r.getVisualFromRenderableIndex(i.getFirstPartiallyVisibleRow()),l=r.getVisualFromRenderableIndex(i.getLastPartiallyVisibleRow()),u=n.getVisualFromRenderableIndex(i.getFirstPartiallyVisibleColumn()),c=n.getVisualFromRenderableIndex(i.getLastPartiallyVisibleColumn());if(this.row>=o&&this.row<=l&&this.col>=u&&this.col<=c){const e=this.TD.getBoundingClientRect();this.datePickerStyle.top=`${this.hot.rootWindow.pageYOffset+e.top+(0,h.outerHeight)(this.TD)}px`;let t=this.hot.rootWindow.pageXOffset;this.hot.isRtl()?t+=e.right-(0,h.outerWidth)(this.datePicker):t+=e.left,this.datePickerStyle.left=`${t}px`}else this.hideDatepicker()}}t.DateEditor=f},16339:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(28150);t.EDITOR_TYPE=n.EDITOR_TYPE,t.DateEditor=n.DateEditor},97328:(e,t,r)=>{"use strict";t.__esModule=!0,r(14846),r(27458);var n=r(10463);const s=t.EDITOR_TYPE="dropdown";class i extends n.AutocompleteEditor{static get EDITOR_TYPE(){return s}prepare(e,t,r,n,s,i){i.filter=!1,i.strict=!0,super.prepare(e,t,r,n,s,i)}}t.DropdownEditor=i},51034:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(97328);t.EDITOR_TYPE=n.EDITOR_TYPE,t.DropdownEditor=n.DropdownEditor},37300:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(66420),s=r(62577),i=r(77661),o=r(25499),a=r(92399);const l="handsontableEditor",h=t.EDITOR_TYPE="handsontable";class u extends n.TextEditor{static get EDITOR_TYPE(){return h}open(){super.open();const e=this.htContainer.style;this.htEditor&&(this.htEditor.destroy(),e.width="",e.height="",e.overflow=""),"none"===e.display&&(e.display=""),this.htEditor=new this.hot.constructor(this.htContainer,this.htOptions),this.htEditor.init(),this.htEditor.rootElement.style.display="",this.cellProperties.strict?this.htEditor.selectCell(0,0):this.htEditor.deselectCell(),(0,s.setCaretPosition)(this.TEXTAREA,0,this.TEXTAREA.value.length),this.htEditor.updateSettings({width:this.getWidth(),height:this.getHeight()}),this.refreshDimensions()}close(){this.htEditor&&(this.htEditor.rootElement.style.display="none"),this.removeHooksByKey("beforeKeyDown"),super.close()}prepare(e,t,r,n,s,i){super.prepare(e,t,r,n,s,i);const a=this,l={startRows:0,startCols:0,minRows:0,minCols:0,className:"listbox",copyPaste:!1,autoColumnSize:!1,autoRowSize:!1,readOnly:!0,fillHandle:!1,autoWrapCol:!1,autoWrapRow:!1,ariaTags:!1,themeName:this.hot.getCurrentThemeName(),afterOnCellMouseDown(e,t){const r=this.getSourceData(t.row,t.col);void 0!==r&&a.setValue(r),a.hot.destroyEditor()},preventWheel:!0,layoutDirection:this.hot.isRtl()?"rtl":"ltr"};this.cellProperties.handsontable&&(0,o.extend)(l,i.handsontable),this.htOptions=l}beginEditing(e,t){const r=this.hot.getSettings().onBeginEditing;r&&!1===r()||super.beginEditing(e,t)}createElements(){super.createElements();const e=this.hot.rootDocument.createElement("DIV");e.className="handsontableEditor",this.TEXTAREA_PARENT.appendChild(e),this.htContainer=e,this.assignHooks()}finishEditing(e,t,r){if(this.htEditor&&this.htEditor.isListening()&&this.hot.listen(),this.htEditor&&this.htEditor.getSelectedLast()){const e=this.htEditor.getValue();void 0!==e&&this.setValue(e)}super.finishEditing(e,t,r)}getHeight(){return this.htEditor.view.getTableHeight()+1}getWidth(){return this.htEditor.view.getTableWidth()}assignHooks(){this.hot.addHook("afterDestroy",(()=>{var e;null===(e=this.htEditor)||void 0===e||e.destroy()})),this.hot.addHook("afterSetTheme",((e,t)=>{var r;t||(null===(r=this.htEditor)||void 0===r||r.useTheme(e))}))}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor");super.registerShortcuts();const t={group:l,relativeToGroup:a.EDITOR_EDIT_GROUP,position:"before"},r=(e,t)=>{const r=this.htEditor;if(void 0!==e&&(e<0||r.flipped&&e>r.countRows()-1?r.deselectCell():r.selectCell(e,0),r.getData().length))return t.preventDefault(),(0,i.stopImmediatePropagation)(t),this.hot.listen(),this.TEXTAREA.focus(),!1};e.addShortcuts([{keys:[["ArrowUp"]],callback:e=>{const t=this.htEditor;let n,s;return!t.getSelectedLast()&&t.flipped?n=t.countRows()-1:t.getSelectedLast()&&(t.flipped?(s=t.getSelectedLast()[0],n=Math.max(0,s-1)):(s=t.getSelectedLast()[0],n=s-1)),r(n,e)},preventDefault:!1},{keys:[["ArrowDown"]],callback:e=>{const t=this.htEditor;let n,s;if(t.getSelectedLast()||t.flipped){if(t.getSelectedLast())if(t.flipped)n=t.getSelectedLast()[0]+1;else if(!t.flipped){const e=t.countRows()-1;s=t.getSelectedLast()[0],n=Math.min(e,s+1)}}else n=0;return r(n,e)},preventDefault:!1}],t)}unregisterShortcuts(){super.unregisterShortcuts();this.hot.getShortcutManager().getContext("editor").removeShortcutsByGroup(l)}}t.HandsontableEditor=u},82518:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(37300);t.EDITOR_TYPE=n.EDITOR_TYPE,t.HandsontableEditor=n.HandsontableEditor},14417:(e,t,r)=>{"use strict";t.__esModule=!0,t.registerAllEditors=function(){(0,g.registerEditor)(s.BaseEditor),(0,g.registerEditor)(n.AutocompleteEditor),(0,g.registerEditor)(i.CheckboxEditor),(0,g.registerEditor)(o.DateEditor),(0,g.registerEditor)(a.DropdownEditor),(0,g.registerEditor)(l.HandsontableEditor),(0,g.registerEditor)(h.NumericEditor),(0,g.registerEditor)(u.PasswordEditor),(0,g.registerEditor)(c.SelectEditor),(0,g.registerEditor)(d.TextEditor),(0,g.registerEditor)(p.TimeEditor)};var n=r(10463);t.AutocompleteEditor=n.AutocompleteEditor,t.AUTOCOMPLETE_EDITOR=n.EDITOR_TYPE;var s=r(74854);t.BaseEditor=s.BaseEditor,t.BASE_EDITOR=s.EDITOR_TYPE;var i=r(12302);t.CheckboxEditor=i.CheckboxEditor,t.CHECKBOX_EDITOR=i.EDITOR_TYPE;var o=r(16339);t.DateEditor=o.DateEditor,t.DATE_EDITOR=o.EDITOR_TYPE;var a=r(51034);t.DropdownEditor=a.DropdownEditor,t.DROPDOWN_EDITOR=a.EDITOR_TYPE;var l=r(82518);t.HandsontableEditor=l.HandsontableEditor,t.HANDSONTABLE_EDITOR=l.EDITOR_TYPE;var h=r(82304);t.NumericEditor=h.NumericEditor,t.NUMERIC_EDITOR=h.EDITOR_TYPE;var u=r(14150);t.PasswordEditor=u.PasswordEditor,t.PASSWORD_EDITOR=u.EDITOR_TYPE;var c=r(63303);t.SelectEditor=c.SelectEditor,t.SELECT_EDITOR=c.EDITOR_TYPE;var d=r(66420);t.TextEditor=d.TextEditor,t.TEXT_EDITOR=d.EDITOR_TYPE;var p=r(35442);t.TimeEditor=p.TimeEditor,t.TIME_EDITOR=p.EDITOR_TYPE;var g=r(8266);t.registerEditor=g.registerEditor,t.RegisteredEditor=g.RegisteredEditor,t._getEditorInstance=g._getEditorInstance,t.getEditor=g.getEditor,t.getEditorInstance=g.getEditorInstance,t.getRegisteredEditorNames=g.getRegisteredEditorNames,t.getRegisteredEditors=g.getRegisteredEditors,t.hasEditor=g.hasEditor},82304:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(90146);t.EDITOR_TYPE=n.EDITOR_TYPE,t.NumericEditor=n.NumericEditor},90146:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(66420);const s=t.EDITOR_TYPE="numeric";class i extends n.TextEditor{static get EDITOR_TYPE(){return s}}t.NumericEditor=i},14150:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(93884);t.EDITOR_TYPE=n.EDITOR_TYPE,t.PasswordEditor=n.PasswordEditor},93884:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(66420),o=r(17207),a=r(62577);const l=t.EDITOR_TYPE="password";class h extends i.TextEditor{constructor(){super(...arguments),(0,s.default)(this,"autoResize",(0,o.createInputElementResizer)(this.hot.rootDocument,{textContent:e=>"•".repeat(e.value.length)}))}static get EDITOR_TYPE(){return l}createElements(){super.createElements(),this.TEXTAREA=this.hot.rootDocument.createElement("input"),this.TEXTAREA.setAttribute("type","password"),this.TEXTAREA.setAttribute("data-hot-input",""),this.TEXTAREA.className="handsontableInput",this.textareaStyle=this.TEXTAREA.style,this.textareaStyle.width=0,this.textareaStyle.height=0,(0,a.empty)(this.TEXTAREA_PARENT),this.TEXTAREA_PARENT.appendChild(this.TEXTAREA)}}t.PasswordEditor=h},8266:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.RegisteredEditor=d,t.getEditorInstance=t._getEditorInstance=function(e,t){let r;if("function"==typeof e)o.get(e)||p(null,e),r=o.get(e);else{if("string"!=typeof e)throw Error('Only strings and functions can be passed as "editor" parameter');r=l(e)}if(!r)throw Error(`No editor registered under name "${e}"`);return r.getInstance(t)},t.getEditor=function(e){if("function"==typeof e)return e;if(!h(e))throw Error(`No registered editor found under "${e}" name`);return l(e).getConstructor()},t.registerEditor=p,r(67834);var s=r(28197),i=n(r(28651));const o=new WeakMap,{register:a,getItem:l,hasItem:h,getNames:u,getValues:c}=(0,i.default)("editors");function d(e){const t={},r=e;this.getConstructor=function(){return e},this.getInstance=function(e){return e.guid in t||(t[e.guid]=new r(e)),t[e.guid]},s.Hooks.getSingleton().add("afterDestroy",(function(){t[this.guid]=null}))}function p(e,t){e&&"string"!=typeof e&&(e=(t=e).EDITOR_TYPE);const r=new d(t);"string"==typeof e&&a(e,r),o.set(t,r)}t.getRegisteredEditors=c,t.getRegisteredEditorNames=u,t.hasEditor=h},63303:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(70638);t.EDITOR_TYPE=n.EDITOR_TYPE,t.SelectEditor=n.SelectEditor},70638:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(74854),s=r(62577),i=r(25499),o=r(71120);const a="ht_editor_visible",l="selectEditor",h=t.EDITOR_TYPE="select";class u extends n.BaseEditor{static get EDITOR_TYPE(){return h}init(){this.selectWrapper=this.hot.rootDocument.createElement("div"),this.select=this.hot.rootDocument.createElement("select"),this.select.setAttribute("data-hot-input","true"),this.selectWrapper.style.display="none";const e=this.hot.rootDocument.createElement("DIV"),t=this.hot.getSettings().ariaTags;e.className="htAutocompleteArrow",t&&e.setAttribute(...(0,o.A11Y_HIDDEN)()),e.appendChild(this.hot.rootDocument.createTextNode(String.fromCharCode(9660))),(0,s.addClass)(this.selectWrapper,"htSelectEditor"),this.selectWrapper.appendChild(this.select),this.selectWrapper.insertBefore(e,this.selectWrapper.firstChild),this.hot.rootElement.appendChild(this.selectWrapper),this.registerHooks()}getValue(){return this.select.value}setValue(e){this.select.value=e}open(){this._opened=!0,this.refreshDimensions(),this.selectWrapper.style.display="";this.hot.getShortcutManager().setActiveContextName("editor"),this.registerShortcuts()}close(){this._opened=!1,this.selectWrapper.style.display="none",(0,s.hasClass)(this.selectWrapper,a)&&(0,s.removeClass)(this.selectWrapper,a),this.unregisterShortcuts(),this.clearHooks()}focus(){this.select.focus()}registerHooks(){this.addHook("afterScrollHorizontally",(()=>this.refreshDimensions())),this.addHook("afterScrollVertically",(()=>this.refreshDimensions())),this.addHook("afterColumnResize",(()=>this.refreshDimensions())),this.addHook("afterRowResize",(()=>this.refreshDimensions()))}prepare(e,t,r,n,o,a){super.prepare(e,t,r,n,o,a);const l=this.cellProperties.selectOptions;let h;h="function"==typeof l?this.prepareOptions(l(this.row,this.col,this.prop)):this.prepareOptions(l),(0,s.empty)(this.select),(0,i.objectEach)(h,((e,t)=>{const r=this.hot.rootDocument.createElement("OPTION");r.value=t,(0,s.fastInnerHTML)(r,e),this.select.appendChild(r)}))}prepareOptions(e){let t={};if(Array.isArray(e))for(let r=0,n=e.length;r<n;r++)t[e[r]]=e[r];else"object"==typeof e&&(t=e);return t}refreshValue(){const e=this.hot.getSourceDataAtCell(this.row,this.prop);this.originalValue=e,this.setValue(e),this.refreshDimensions()}refreshDimensions(){if(this.state!==n.EDITOR_STATE.EDITING)return;if(this.TD=this.getEditedCell(),!this.TD)return void this.close();const{top:e,start:t,width:r,height:i}=this.getEditedCellRect(),o=this.selectWrapper.style;o.height=`${i}px`,o.width=`${r}px`,o.top=`${e}px`,o[this.hot.isRtl()?"right":"left"]=`${t}px`,o.margin="0px",(0,s.addClass)(this.selectWrapper,a)}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor"),t={group:l};this.isInFullEditMode()&&e.addShortcuts([{keys:[["ArrowUp"]],callback:()=>{const e=this.select.selectedIndex-1;e>=0&&(this.select[e].selected=!0)}},{keys:[["ArrowDown"]],callback:()=>{const e=this.select.selectedIndex+1;e<=this.select.length-1&&(this.select[e].selected=!0)}}],t)}unregisterShortcuts(){this.hot.getShortcutManager().getContext("editor").removeShortcutsByGroup(l)}}t.SelectEditor=u},96667:(e,t,r)=>{"use strict";t.__esModule=!0,t.updateCaretPosition=function(e,t){const r=(0,n.getCaretPosition)(t),s=t.value.split("\n");let i=r,o=0;for(let t=0;t<s.length;t++){const n=s[t];0!==t&&(o+=s[t-1].length+1);const a=o+n.length;if("home"===e?i=o:"end"===e&&(i=a),r<=a)break}(0,n.setCaretPosition)(t,i)};var n=r(62577)},66420:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(85856);t.EDITOR_TYPE=n.EDITOR_TYPE,t.TextEditor=n.TextEditor},85856:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(74854),o=n(r(3849)),a=r(25046),l=r(62577),h=r(22137),u=r(17207),c=r(70505),d=r(96667),p=r(71120);const g="ht_editor_hidden",f="textEditor",m=t.EDITOR_TYPE="text";class y extends i.BaseEditor{static get EDITOR_TYPE(){return m}constructor(e){super(e),(0,s.default)(this,"eventManager",new o.default(this)),(0,s.default)(this,"autoResize",(0,u.createInputElementResizer)(this.hot.rootDocument)),(0,s.default)(this,"TEXTAREA",void 0),(0,s.default)(this,"textareaStyle",void 0),(0,s.default)(this,"TEXTAREA_PARENT",void 0),(0,s.default)(this,"textareaParentStyle",void 0),(0,s.default)(this,"layerClass",void 0),this.eventManager=new o.default(this),this.createElements(),this.bindEvents(),this.hot.addHookOnce("afterDestroy",(()=>this.destroy()))}getValue(){return this.TEXTAREA.value}setValue(e){this.TEXTAREA.value=e}open(){this.refreshDimensions(),this.showEditableElement(),this.hot.getShortcutManager().setActiveContextName("editor"),this.registerShortcuts()}close(){this.autoResize.unObserve(),(0,l.isThisHotChild)(this.hot.rootDocument.activeElement,this.hot.rootElement)&&this.hot.listen(),this.hideEditableElement(),this.unregisterShortcuts()}prepare(e,t,r,n,s,o){const a=this.state;if(super.prepare(e,t,r,n,s,o),!o.readOnly){this.refreshDimensions(!0);const{allowInvalid:e}=o;e&&!this.isOpened()&&(this.TEXTAREA.value=""),a===i.EDITOR_STATE.FINISHED||this.isOpened()||this.hideEditableElement()}}beginEditing(e,t){this.state===i.EDITOR_STATE.VIRGIN&&(this.TEXTAREA.value="",super.beginEditing(e,t))}focus(){this.TEXTAREA.select(),(0,l.setCaretPosition)(this.TEXTAREA,this.TEXTAREA.value.length)}createElements(){const{rootDocument:e}=this.hot;this.TEXTAREA=e.createElement("TEXTAREA"),(0,l.setAttribute)(this.TEXTAREA,[["data-hot-input",""],(0,p.A11Y_TABINDEX)(-1)]),(0,l.addClass)(this.TEXTAREA,"handsontableInput"),this.textareaStyle=this.TEXTAREA.style,this.textareaStyle.width=0,this.textareaStyle.height=0,this.textareaStyle.overflowY="visible",this.TEXTAREA_PARENT=e.createElement("DIV"),(0,l.addClass)(this.TEXTAREA_PARENT,"handsontableInputHolder"),(0,l.hasClass)(this.TEXTAREA_PARENT,this.layerClass)&&(0,l.removeClass)(this.TEXTAREA_PARENT,this.layerClass),(0,l.addClass)(this.TEXTAREA_PARENT,g),this.textareaParentStyle=this.TEXTAREA_PARENT.style,this.TEXTAREA_PARENT.appendChild(this.TEXTAREA),this.hot.rootElement.appendChild(this.TEXTAREA_PARENT)}hideEditableElement(){(0,a.isEdge)()&&(this.textareaStyle.textIndent="-99999px"),this.textareaStyle.overflowY="visible",this.textareaParentStyle.opacity="0",this.textareaParentStyle.height="1px",(0,l.removeClass)(this.TEXTAREA_PARENT,this.layerClass),(0,l.addClass)(this.TEXTAREA_PARENT,g)}showEditableElement(){this.textareaParentStyle.height="",this.textareaParentStyle.overflow="",this.textareaParentStyle.position="",this.textareaParentStyle[this.hot.isRtl()?"left":"right"]="auto",this.textareaParentStyle.opacity="1",this.textareaStyle.textIndent="";const e=this.TEXTAREA_PARENT.childNodes;let t=!1;(0,h.rangeEach)(e.length-1,(r=>{const n=e[r];if((0,l.hasClass)(n,"handsontableEditor"))return t=!0,!1})),(0,l.hasClass)(this.TEXTAREA_PARENT,g)&&(0,l.removeClass)(this.TEXTAREA_PARENT,g),t?(this.layerClass="ht_editor_visible",(0,l.addClass)(this.TEXTAREA_PARENT,this.layerClass)):(this.layerClass=this.getEditedCellsLayerClass(),(0,l.addClass)(this.TEXTAREA_PARENT,this.layerClass))}refreshValue(){const e=this.hot.toPhysicalRow(this.row),t=this.hot.getSourceDataAtCell(e,this.col);this.originalValue=t,this.setValue(t),this.refreshDimensions()}refreshDimensions(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.state!==i.EDITOR_STATE.EDITING&&!e)return;if(this.TD=this.getEditedCell(),!this.TD)return void(e||this.close());const{top:t,start:r,width:n,maxWidth:s,height:o,maxHeight:a}=this.getEditedCellRect();this.textareaParentStyle.top=`${t}px`,this.textareaParentStyle[this.hot.isRtl()?"right":"left"]=`${r}px`,this.showEditableElement();const l=this.hot.rootWindow.getComputedStyle(this.TD);this.TEXTAREA.style.fontSize=l.fontSize,this.TEXTAREA.style.fontFamily=l.fontFamily,this.TEXTAREA.style.backgroundColor=this.TD.style.backgroundColor,this.autoResize.init(this.TEXTAREA,{minWidth:Math.min(n,s),minHeight:Math.min(o,a),maxWidth:s,maxHeight:a},!0)}bindEvents(){(0,a.isIOS)()&&this.eventManager.addEventListener(this.TEXTAREA,"focusout",(()=>this.finishEditing(!1))),this.addHook("afterScrollHorizontally",(()=>this.refreshDimensions())),this.addHook("afterScrollVertically",(()=>this.refreshDimensions())),this.addHook("afterColumnResize",(()=>{this.refreshDimensions(),this.state===i.EDITOR_STATE.EDITING&&this.focus()})),this.addHook("afterRowResize",(()=>{this.refreshDimensions(),this.state===i.EDITOR_STATE.EDITING&&this.focus()}))}allowKeyEventPropagation(){}destroy(){this.eventManager.destroy(),this.clearHooks()}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("editor"),t={runOnlyIf:()=>(0,c.isDefined)(this.hot.getSelected()),group:f},r=()=>{this.hot.rootDocument.execCommand("insertText",!1,"\n")};e.addShortcuts([{keys:[["Control","Enter"]],callback:()=>(r(),!1),runOnlyIf:e=>!this.hot.selection.isMultiple()&&!e.altKey},{keys:[["Meta","Enter"]],callback:()=>(r(),!1),runOnlyIf:()=>!this.hot.selection.isMultiple()},{keys:[["Alt","Enter"]],callback:()=>(r(),!1)},{keys:[["Home"]],callback:(e,t)=>{let[r]=t;(0,d.updateCaretPosition)(r,this.TEXTAREA)}},{keys:[["End"]],callback:(e,t)=>{let[r]=t;(0,d.updateCaretPosition)(r,this.TEXTAREA)}}],t)}unregisterShortcuts(){this.hot.getShortcutManager().getContext("editor").removeShortcutsByGroup(f)}}t.TextEditor=y},35442:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(55736);t.EDITOR_TYPE=n.EDITOR_TYPE,t.TimeEditor=n.TimeEditor},55736:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(66420);const s=t.EDITOR_TYPE="time";class i extends n.TextEditor{static get EDITOR_TYPE(){return s}prepare(e,t,r,n,s,i){super.prepare(e,t,r,n,s,i),this.TEXTAREA.dir="ltr"}}t.TimeEditor=i},3849:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.getListenersCounter=function(){return o},r(15724);var s=n(r(85707)),i=r(77661);let o=0;t.default=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;(0,s.default)(this,"context",void 0),this.context=e||this,this.context.eventListeners||(this.context.eventListeners=[])}addEventListener(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];function s(e){r.call(this,function(e){const t=e.stopImmediatePropagation;return e.stopImmediatePropagation=function(){t.apply(this),(0,i.stopImmediatePropagation)(this)},e}(e))}return this.context.eventListeners.push({element:e,event:t,callback:r,callbackProxy:s,options:n,eventManager:this}),e.addEventListener(t,s,n),o+=1,()=>{this.removeEventListener(e,t,r)}}removeEventListener(e,t,r){let n,s=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this.context.eventListeners.length;for(;i;)if(i-=1,n=this.context.eventListeners[i],n.event===t&&n.element===e){if(r&&r!==n.callback)continue;if(s&&n.eventManager!==this)continue;this.context.eventListeners.splice(i,1),n.element.removeEventListener(n.event,n.callbackProxy,n.options),o-=1}}clearEvents(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.context)return;let t=this.context.eventListeners.length;for(;t;){t-=1;const r=this.context.eventListeners[t];e&&r.eventManager!==this||(this.context.eventListeners.splice(t,1),r.element.removeEventListener(r.event,r.callbackProxy,r.options),o-=1)}}clear(){this.clearEvents()}destroy(){this.clearEvents(),this.context=null}destroyWithOwnEventsOnly(){this.clearEvents(!0),this.context=null}fireEvent(e,t){let r=e.document,n=e;r||(r=e.ownerDocument?e.ownerDocument:e,n=r.defaultView);const s={bubbles:!0,cancelable:"mousemove"!==t,view:n,detail:0,screenX:0,screenY:0,clientX:1,clientY:1,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:void 0};let i;r.createEvent?(i=r.createEvent("MouseEvents"),i.initMouseEvent(t,s.bubbles,s.cancelable,s.view,s.detail,s.screenX,s.screenY,s.clientX,s.clientY,s.ctrlKey,s.altKey,s.shiftKey,s.metaKey,s.button,s.relatedTarget||r.body.parentNode)):i=r.createEventObject(),e.dispatchEvent?e.dispatchEvent(i):e.fireEvent(`on${t}`,i)}}},19053:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834);var n=r(14859),s=r(62577),i=r(89804);function o(e,t,r){a(e,t),t.set(e,r)}function a(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function l(e,t){return e.get(u(e,t))}function h(e,t,r){return e.set(u(e,t),r),r}function u(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const c=Object.freeze({CELL:"cell",MIXED:"mixed"});var d=new WeakMap,p=new WeakMap,g=new WeakMap,f=new WeakMap,m=new WeakMap,y=new WeakSet;function E(e){var t;const r=null===(t=l(d,this).getSelectedRangeLast())||void 0===t?void 0:t.highlight;if(!r||!l(d,this).selection.isCellVisible(r))return void e(null);const n=l(d,this).getCell(r.row,r.col,!0);null===n?l(d,this).addHookOnce("afterScroll",(()=>{e(l(d,this).getCell(r.row,r.col,!0))})):e(n)}function w(){u(y,this,E).call(this,(e=>{const{activeElement:t}=l(d,this).rootDocument;t&&(0,s.isOutsideInput)(t)&&t.blur(),this.focusOnHighlightedCell(e)}))}function C(){u(y,this,E).call(this,(e=>{this.getFocusMode()===c.MIXED&&"TD"===(null==e?void 0:e.nodeName)&&this.refocusToEditorTextarea()}))}function v(e){"boolean"==typeof e.imeFastEdit&&this.setFocusMode(e.imeFastEdit?c.MIXED:c.CELL)}t.FocusManager=class{constructor(e){var t,r,n=this;a(t=this,r=y),r.add(t),o(this,d,void 0),o(this,p,void 0),o(this,g,1),o(this,f,null),o(this,m,new Map);const s=e.getSettings();h(d,this,e),h(p,this,s.imeFastEdit?c.MIXED:c.CELL),l(d,this).addHook("afterUpdateSettings",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return u(y,n,v).call(n,...t)})),l(d,this).addHook("afterSelection",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return u(y,n,w).call(n,...t)})),l(d,this).addHook("afterSelectionFocusSet",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return u(y,n,w).call(n,...t)})),l(d,this).addHook("afterSelectionEnd",(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return u(y,n,C).call(n,...t)}))}getFocusMode(){return l(p,this)}setFocusMode(e){Object.values(c).includes(e)?h(p,this,e):(0,n.warn)(`"${e}" is not a valid focus mode.`)}getRefocusDelay(){return l(g,this)}setRefocusDelay(e){h(g,this,e)}setRefocusElementGetter(e){h(f,this,e)}getRefocusElement(){var e;return"function"==typeof l(f,this)?l(f,this).call(this):null===(e=l(d,this).getActiveEditor())||void 0===e?void 0:e.TEXTAREA}focusOnHighlightedCell(e){const t=e=>{var t,r;const n=null===(t=l(d,this).getSelectedRangeLast())||void 0===t?void 0:t.highlight;if(!n)return;let s=l(d,this).runHooks("modifyFocusedElement",n.row,n.col,e);s instanceof HTMLElement||(s=e),!s||null!==(r=l(d,this).getActiveEditor())&&void 0!==r&&r.isOpened()||s.focus({preventScroll:!0})};e?t(e):u(y,this,E).call(this,(e=>t(e)))}refocusToEditorTextarea(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l(g,this);!l(d,this).getSettings().imeFastEdit||null!==(e=l(d,this).getActiveEditor())&&void 0!==e&&e.isOpened()||(l(m,this).has(t)||l(m,this).set(t,(0,i.debounce)((()=>{var e;null===(e=this.getRefocusElement())||void 0===e||e.select()}),t)),l(m,this).get(t)())}}},71120:(e,t)=>{"use strict";t.__esModule=!0;t.A11Y_TABINDEX=e=>["tabindex",e];t.A11Y_TREEGRID=()=>["role","treegrid"];t.A11Y_PRESENTATION=()=>["role","presentation"];t.A11Y_GRIDCELL=()=>["role","gridcell"];t.A11Y_ROWHEADER=()=>["role","rowheader"];t.A11Y_ROWGROUP=()=>["role","rowgroup"];t.A11Y_COLUMNHEADER=()=>["role","columnheader"];t.A11Y_ROW=()=>["role","row"];t.A11Y_MENU=()=>["role","menu"];t.A11Y_MENU_ITEM=()=>["role","menuitem"];t.A11Y_MENU_ITEM_CHECKBOX=()=>["role","menuitemcheckbox"];t.A11Y_COMBOBOX=()=>["role","combobox"];t.A11Y_LISTBOX=()=>["role","listbox"];t.A11Y_OPTION=()=>["role","option"];t.A11Y_CHECKBOX=()=>["role","checkbox"];t.A11Y_SCOPE_COL=()=>["scope","col"];t.A11Y_SCOPE_ROW=()=>["scope","row"];t.A11Y_TEXT=()=>["type","text"];t.A11Y_LABEL=e=>["aria-label",e];t.A11Y_HIDDEN=()=>["aria-hidden","true"];t.A11Y_DISABLED=()=>["aria-disabled","true"];t.A11Y_MULTISELECTABLE=()=>["aria-multiselectable","true"];t.A11Y_HASPOPUP=e=>["aria-haspopup",e];t.A11Y_ROWCOUNT=e=>["aria-rowcount",e];t.A11Y_COLCOUNT=e=>["aria-colcount",e];t.A11Y_ROWINDEX=e=>["aria-rowindex",e];t.A11Y_COLINDEX=e=>["aria-colindex",e];t.A11Y_EXPANDED=e=>["aria-expanded",e];t.A11Y_SORT=e=>["aria-sort",e];t.A11Y_READONLY=()=>["aria-readonly","true"];t.A11Y_INVALID=()=>["aria-invalid","true"];t.A11Y_CHECKED=e=>["aria-checked",e];t.A11Y_SELECTED=()=>["aria-selected","true"];t.A11Y_AUTOCOMPLETE=()=>["aria-autocomplete","list"];t.A11Y_CONTROLS=e=>["aria-controls",e];t.A11Y_ACTIVEDESCENDANT=e=>["aria-activedescendant",e];t.A11Y_LIVE=e=>["aria-live",e];t.A11Y_RELEVANT=e=>["aria-relevant",e];t.A11Y_SETSIZE=e=>["aria-setsize",e];t.A11Y_POSINSET=e=>["aria-posinset",e]},10587:(e,t,r)=>{"use strict";function n(e,t,r,n){let s=-1,i=e,o=r;Array.isArray(e)||(i=Array.from(e));const a=i.length;for(n&&a&&(s+=1,o=i[s]),s+=1;s<a;)o=t(o,i[s],s,i),s+=1;return o}function s(e,t){let r=0,n=e;Array.isArray(e)||(n=Array.from(e));const s=n.length;for(;r<s&&!1!==t(n[r],r,n);)r+=1;return e}function i(e){return n(e,((e,t)=>e+t),0)}t.__esModule=!0,t.arrayAvg=function(e){if(!e.length)return 0;return i(e)/e.length},t.arrayEach=s,t.arrayFilter=function(e,t){let r=0,n=e;Array.isArray(e)||(n=Array.from(e));const s=n.length,i=[];let o=-1;for(;r<s;){const e=n[r];t(e,r,n)&&(o+=1,i[o]=e),r+=1}return i},t.arrayFlatten=function e(t){return n(t,((t,r)=>t.concat(Array.isArray(r)?e(r):r)),[])},t.arrayMap=function(e,t){let r=0,n=e;Array.isArray(e)||(n=Array.from(e));const s=n.length,i=[];let o=-1;for(;r<s;){const e=n[r];o+=1,i[o]=t(e,r,n),r+=1}return i},t.arrayMax=function(e){return n(e,((e,t)=>e>t?e:t),Array.isArray(e)?e[0]:void 0)},t.arrayMin=function(e){return n(e,((e,t)=>e<t?e:t),Array.isArray(e)?e[0]:void 0)},t.arrayReduce=n,t.arraySum=i,t.arrayUnique=function(e){const t=[];return s(e,(e=>{-1===t.indexOf(e)&&t.push(e)})),t},t.extendArray=function(e,t){const r=t.length;let n=0;for(;n<r;)e.push(t[n]),n+=1},t.getDifferenceOfArrays=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];const[n,...i]=[...t];let o=n;return s(i,(e=>{o=o.filter((t=>!e.includes(t)))})),o},t.getIntersectionOfArrays=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];const[n,...i]=[...t];let o=n;return s(i,(e=>{o=o.filter((t=>e.includes(t)))})),o},t.getUnionOfArrays=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];const[n,...i]=[...t],o=new Set(n);return s(i,(e=>{s(e,(e=>{o.has(e)||o.add(e)}))})),Array.from(o)},t.pivot=function(e){const t=[];if(!e||0===e.length||!e[0]||0===e[0].length)return t;const r=e.length,n=e[0].length;for(let s=0;s<r;s++)for(let r=0;r<n;r++)t[r]||(t[r]=[]),t[r][s]=e[s][r];return t},t.stringToArray=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ";return e.split(t)},t.to2dArray=function(e){const t=e.length;let r=0;for(;r<t;)e[r]=[e[r]],r+=1},r(15724),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(27458)},25046:(e,t,r)=>{"use strict";t.__esModule=!0,t.isChrome=function(){return o.chrome.value},t.isChromeWebKit=function(){return o.chromeWebKit.value},t.isEdge=function(){return o.edge.value},t.isEdgeWebKit=function(){return o.edgeWebKit.value},t.isFirefox=function(){return o.firefox.value},t.isFirefoxWebKit=function(){return o.firefoxWebKit.value},t.isIOS=function(){return a.ios.value},t.isIpadOS=function(){let{maxTouchPoints:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:navigator;return e>2&&a.mac.value},t.isLinuxOS=function(){return a.linux.value},t.isMacOS=function(){return a.mac.value},t.isMobileBrowser=function(){return o.mobile.value},t.isSafari=function(){return o.safari.value},t.isWindowsOS=function(){return a.win.value},t.setBrowserMeta=l,t.setPlatformMeta=h;var n=r(25499),s=r(85992);const i=e=>{const t={value:!1,test:(r,n)=>{t.value=e(r,n)}};return t},o={chrome:i(((e,t)=>/Chrome/.test(e)&&/Google/.test(t))),chromeWebKit:i((e=>/CriOS/.test(e))),edge:i((e=>/Edge/.test(e))),edgeWebKit:i((e=>/EdgiOS/.test(e))),firefox:i((e=>/Firefox/.test(e))),firefoxWebKit:i((e=>/FxiOS/.test(e))),mobile:i((e=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(e))),safari:i(((e,t)=>/Safari/.test(e)&&/Apple Computer/.test(t)))},a={mac:i((e=>/^Mac/.test(e))),win:i((e=>/^Win/.test(e))),linux:i((e=>/^Linux/.test(e))),ios:i((e=>/iPhone|iPad|iPod/i.test(e)))};function l(){let{userAgent:e=navigator.userAgent,vendor:t=navigator.vendor}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,n.objectEach)(o,(r=>{let{test:n}=r;n(e,t)}))}function h(){let{platform:e=navigator.platform}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,n.objectEach)(a,(t=>{let{test:r}=t;r(e)}))}(0,s.isCSR)()&&(l(),h())},14859:(e,t,r)=>{"use strict";t.__esModule=!0,t.error=function(){(0,n.isDefined)(console)&&console.error(...arguments)},t.info=function(){(0,n.isDefined)(console)&&console.info(...arguments)},t.log=function(){(0,n.isDefined)(console)&&console.log(...arguments)},t.warn=function(){(0,n.isDefined)(console)&&console.warn(...arguments)};var n=r(70505)},87124:(e,t,r)=>{"use strict";t.__esModule=!0,t.countFirstRowKeys=function(e){let t=0;Array.isArray(e)&&(e[0]&&Array.isArray(e[0])?t=e[0].length:e[0]&&(0,n.isObject)(e[0])&&(t=(0,n.deepObjectSize)(e[0])));return t},t.createEmptySpreadsheetData=function(e,t){const r=[];let n;for(let s=0;s<e;s++){n=[];for(let e=0;e<t;e++)n.push("");r.push(n)}return r},t.createSpreadsheetData=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;const r=[];let n,s;for(n=0;n<e;n++){const e=[];for(s=0;s<t;s++)e.push(o(s)+(n+1));r.push(e)}return r},t.createSpreadsheetObjectData=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;const r=[];let n,s;for(n=0;n<e;n++){const e={};for(s=0;s<t;s++)e[`prop${s}`]=o(s)+(n+1);r.push(e)}return r},t.dataRowToChangesArray=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e;const n=[];Array.isArray(e)&&Array.isArray(e[0])||(r=[e]);return r.forEach(((e,r)=>{Array.isArray(e)?e.forEach(((e,s)=>{n.push([r+t,s,e])})):Object.keys(e).forEach((s=>{n.push([r+t,s,e[s]])}))})),n},t.isArrayOfArrays=function(e){return!!(Array.isArray(e)&&e.length&&e.every((e=>Array.isArray(e))))},t.isArrayOfObjects=function(e){return!!(Array.isArray(e)&&e.length&&e.every((e=>"object"==typeof e&&!Array.isArray(e)&&null!==e)))},t.spreadsheetColumnIndex=function(e){let t=0;if(e)for(let r=0,n=e.length-1;r<e.length;r+=1,n-=1)t+=i**n*(s.indexOf(e[r])+1);return t-=1,t},t.spreadsheetColumnLabel=o,r(15724),r(14846),r(63333),r(69655);var n=r(25499);const s="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i=s.length;function o(e){let t,r=e+1,n="";for(;r>0;)t=(r-1)%i,n=String.fromCharCode(65+t)+n,r=parseInt((r-t)/i,10);return n}},95976:(e,t)=>{"use strict";t.__esModule=!0,t.getNormalizedDate=function(e){const t=new Date(e);if(!isNaN(new Date(`${e}T00:00`).getDate()))return new Date(t.getTime()+6e4*t.getTimezoneOffset());return t}},62577:(e,t,r)=>{"use strict";t.__esModule=!0,t.addClass=h,t.addEvent=function(e,t,r){e.addEventListener(t,r,!1)},t.clearTextSelection=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window;e.getSelection&&(e.getSelection().empty?e.getSelection().empty():e.getSelection().removeAllRanges&&e.getSelection().removeAllRanges())},t.closest=o,t.closestDown=function(e,t,r){const n=[];let s=e;for(;s&&(s=o(s,t,r),s&&(!r||r.contains(s)));)n.push(s),s=s.host&&s.nodeType===Node.DOCUMENT_FRAGMENT_NODE?s.host:s.parentNode;const i=n.length;return i?n[i-1]:null},t.empty=d,t.fastInnerHTML=function(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];p.test(t)?e.innerHTML=r?(0,n.sanitize)(t):t:g(e,t)},t.fastInnerText=g,t.findFirstParentWithClass=function(e,t){const r={element:void 0,classNames:[]};let n=e;for(;null!==n&&n!==e.ownerDocument.documentElement&&!r.element;){if("string"==typeof t&&n.classList.contains(t))r.element=n,r.classNames.push(t);else if(t instanceof RegExp){const e=Array.from(n.classList).filter((e=>t.test(e)));e.length&&(r.element=n,r.classNames.push(...e))}n=n.parentElement}return r},t.getCaretPosition=function(e){if(e.selectionStart)return e.selectionStart;return 0},t.getCssTransform=function(e){let t;if(e.style.transform&&""!==(t=e.style.transform))return["transform",t];return-1},t.getFrameElement=i,t.getMaximumScrollLeft=function(e){return e.scrollWidth-e.clientWidth},t.getMaximumScrollTop=function(e){return e.scrollHeight-e.clientHeight},t.getParent=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=-1,n=null,s=e;for(;null!==s;){if(r===t){n=s;break}s.host&&s.nodeType===Node.DOCUMENT_FRAGMENT_NODE?s=s.host:(r+=1,s=s.parentNode)}return n},t.getParentWindow=function(e){return i(e)&&e.parent},t.getScrollLeft=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;if(e===t)return m(t);return e.scrollLeft},t.getScrollTop=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;if(e===t)return f(t);return e.scrollTop},t.getScrollableElement=function(e){let t=e.ownerDocument,r=t?t.defaultView:void 0;t||(t=e.document?e.document:e,r=t.defaultView);const n=["auto","scroll"];let s=e.parentNode;for(;s&&s.style&&t.body!==s;){let{overflow:e,overflowX:t,overflowY:i}=s.style;if([e,t,i].includes("scroll"))return s;if(({overflow:e,overflowX:t,overflowY:i}=r.getComputedStyle(s)),n.includes(e)||n.includes(t)||n.includes(i))return s;if(s.clientHeight<=s.scrollHeight+1&&(n.includes(i)||n.includes(e)))return s;if(s.clientWidth<=s.scrollWidth+1&&(n.includes(t)||n.includes(e)))return s;s=s.parentNode}return r},t.getScrollbarWidth=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;void 0===y&&(y=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;const t=e.createElement("div");t.style.height="200px",t.style.width="100%";const r=e.createElement("div");r.style.boxSizing="content-box",r.style.height="150px",r.style.left="0px",r.style.overflow="hidden",r.style.position="absolute",r.style.top="0px",r.style.width="200px",r.style.visibility="hidden",r.appendChild(t),(e.body||e.documentElement).appendChild(r);const n=t.offsetWidth;r.style.overflow="scroll";let s=t.offsetWidth;n===s&&(s=r.clientWidth);return(e.body||e.documentElement).removeChild(r),n-s}(e));return y},t.getSelectionEndPosition=function(e){if(e.selectionEnd)return e.selectionEnd;return 0},t.getSelectionText=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window;const t=e.document;let r="";e.getSelection?r=e.getSelection().toString():t.selection&&"Control"!==t.selection.type&&(r=t.selection.createRange().text);return r},t.getStyle=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window;if(!e)return;if(e===r)return"width"===t?`${r.innerWidth}px`:"height"===t?`${r.innerHeight}px`:void 0;const n=e.style[t];if(""!==n&&void 0!==n)return n;const s=r.getComputedStyle(e);if(""!==s[t]&&void 0!==s[t])return s[t]},t.getTrimmingContainer=function(e){const t=e.ownerDocument,r=t.defaultView;let n=e.parentNode;for(;n&&n.style&&t.body!==n;){if("visible"!==n.style.overflow&&""!==n.style.overflow)return n;const e=r.getComputedStyle(n),t=["scroll","hidden","auto"],s=e.getPropertyValue("overflow"),i=e.getPropertyValue("overflow-y"),o=e.getPropertyValue("overflow-x");if(t.includes(s)||t.includes(i)||t.includes(o))return n;n=n.parentNode}return r},t.getWindowScrollLeft=m,t.getWindowScrollTop=f,t.hasAccessToParentWindow=function(e){return!!Object.getPrototypeOf(e.parent)},t.hasClass=function(e,t){if(void 0===e.classList||"string"!=typeof t||""===t)return!1;return e.classList.contains(t)},t.hasHorizontalScrollbar=function(e){return e.offsetHeight!==e.clientHeight},t.hasVerticalScrollbar=function(e){return e.offsetWidth!==e.clientWidth},t.index=function(e){let t=0,r=e;if(r.previousSibling)for(;r=r.previousSibling;)t+=1;return t},t.innerHeight=function(e){return e.clientHeight||e.innerHeight},t.innerWidth=function(e){return e.clientWidth||e.innerWidth},t.isChildOf=function(e,t){let r=e.parentNode,n=[];"string"==typeof t?n=e.defaultView?Array.prototype.slice.call(e.querySelectorAll(t),0):Array.prototype.slice.call(e.ownerDocument.querySelectorAll(t),0):n.push(t);for(;null!==r;){if(n.indexOf(r)>-1)return!0;r=r.parentNode}return!1},t.isDetached=function(e){return!e.parentNode},t.isInput=E,t.isOutsideInput=w,t.isThisHotChild=function(e,t){const r=e.closest(".handsontable");return!!r&&(r.parentNode===t||r===t)},t.isVisible=function e(t){const r=t.ownerDocument.documentElement,n=t.ownerDocument.defaultView;let s=t;for(;s!==r;){if(null===s)return!1;if(s.nodeType===Node.DOCUMENT_FRAGMENT_NODE){if(s.host){if(s.host.impl)return e(s.host.impl);if(s.host)return e(s.host);throw new Error("Lost in Web Components world")}return!1}if("none"===n.getComputedStyle(s).display)return!1;s=s.parentNode}return!0},t.makeElementContentEditableAndSelectItsContent=C,t.matchesCSSRules=function(e,t){const{selectorText:r}=t;let n=!1;t.type===CSSRule.STYLE_RULE&&r&&(e.msMatchesSelector?n=e.msMatchesSelector(r):e.matches&&(n=e.matches(r)));return n},t.observeVisibilityChangeOnce=function(e,t){new IntersectionObserver(((r,n)=>{r.forEach((r=>{r.isIntersecting&&null!==e.offsetParent&&(t(),n.unobserve(e))}))}),{root:e.ownerDocument.body}).observe(e)},t.offset=function(e){const t=e.ownerDocument,r=t.defaultView,n=t.documentElement;let s,i,o,a=e;s=a.offsetLeft,i=a.offsetTop,o=a;for(;(a=a.offsetParent)&&a!==t.body&&"offsetLeft"in a;)s+=a.offsetLeft,i+=a.offsetTop,o=a;o&&"fixed"===o.style.position&&(s+=r.pageXOffset||n.scrollLeft,i+=r.pageYOffset||n.scrollTop);return{left:s,top:i}},t.outerHeight=function(e){return e.offsetHeight},t.outerWidth=function(e){return e.offsetWidth},t.overlayContainsElement=function(e,t,r){const n=r.parentElement.querySelector(`.ht_clone_${e}`);return n?n.contains(t):null},t.removeAttribute=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];"string"==typeof t?t=t.split(" "):t instanceof RegExp&&(t=[t]);const{regexFree:r,regexes:n}=l(t,!0);r.forEach((t=>{""!==t&&e.removeAttribute(t)})),n.forEach((t=>{e.getAttributeNames().forEach((r=>{t.test(r)&&e.removeAttribute(r)}))}))},t.removeClass=u,t.removeContentEditableFromElementAndDeselect=v,t.removeEvent=function(e,t,r){e.removeEventListener(t,r,!1)},t.removeTextNodes=function e(t){if(3===t.nodeType)t.parentNode.removeChild(t);else if(["TABLE","THEAD","TBODY","TFOOT","TR"].indexOf(t.nodeName)>-1){const r=t.childNodes;for(let t=r.length-1;t>=0;t--)e(r[t])}},t.resetCssTransform=function(e){e.style.transform&&""!==e.style.transform&&(e.style.transform="")},t.runWithSelectedContendEditableElement=function(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];C(e,r),t(),v(e,r)},t.selectElementIfAllowed=function(e){w(e.ownerDocument.activeElement)||e.select()},t.setAttribute=c,t.setCaretPosition=function(e,t,r){void 0===r&&(r=t);if(e.setSelectionRange){e.focus();try{e.setSelectionRange(t,r)}catch(n){const s=e.parentNode,i=s.style.display;s.style.display="block",e.setSelectionRange(t,r),s.style.display=i}}},t.setOverlayPosition=function(e,t,r){e.style.transform=`translate3d(${t},${r},0)`},r(67834),r(15724),r(14846),r(27458),r(69655);var n=r(5893),s=r(71120);function i(e){return Object.getPrototypeOf(e.parent)&&e.frameElement}function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0;const{ELEMENT_NODE:n,DOCUMENT_FRAGMENT_NODE:s}=Node;let i=e;for(;null!=i&&i!==r;){const{nodeType:e,nodeName:r}=i;if(e===n&&(t.includes(r)||t.includes(i)))return i;const{host:o}=i;i=o&&e===s?o:i.parentNode}return null}function a(e){return e&&e.length?e.filter((e=>!!e)):[]}function l(e,t){if(!e||!e.length)return t?{regexFree:[],regexes:[]}:[];const r=[],n=[];return n.push(...e.filter((e=>{const n=e instanceof RegExp;return n&&t&&r.push(e),!n}))),t?{regexFree:n,regexes:r}:n}function h(e,t){"string"==typeof t&&(t=t.split(" ")),(t=a(t)).length>0&&e.classList.add(...t)}function u(e,t){"string"==typeof t?t=t.split(" "):t instanceof RegExp&&(t=[t]);let{regexFree:r,regexes:n}=l(t,!0);r=a(r),r.length>0&&e.classList.remove(...r),n.forEach((t=>{e.classList.forEach((r=>{t.test(r)&&e.classList.remove(r)}))}))}function c(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0;Array.isArray(t)||(t=[[t,r]]),t.forEach((t=>{Array.isArray(t)&&""!==t[0]&&e.setAttribute(...t)}))}function d(e){let t;for(;t=e.lastChild;)e.removeChild(t)}const p=t.HTML_CHARACTERS=/(<(.*)>|&(.*);)/;function g(e,t){const r=e.firstChild;r&&3===r.nodeType&&null===r.nextSibling?r.textContent=t:(d(e),e.appendChild(e.ownerDocument.createTextNode(t)))}function f(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window).scrollY}function m(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window).scrollX}let y;function E(e){return e&&(["INPUT","SELECT","TEXTAREA"].indexOf(e.nodeName)>-1||"true"===e.contentEditable)}function w(e){return E(e)&&!1===e.hasAttribute("data-hot-input")}function C(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const n=e.ownerDocument,i=n.createRange(),o=n.defaultView.getSelection();c(e,"contenteditable",!0),r&&c(e,...(0,s.A11Y_HIDDEN)()),t&&h(e,"invisibleSelection"),i.selectNodeContents(e),o.removeAllRanges(),o.addRange(i)}function v(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const r=e.ownerDocument.defaultView.getSelection();e.hasAttribute("aria-hidden")&&e.removeAttribute("aria-hidden"),r.removeAllRanges(),t&&u(e,"invisibleSelection"),e.removeAttribute("contenteditable")}},77661:(e,t)=>{"use strict";t.__esModule=!0,t.isImmediatePropagationStopped=function(e){return!1===e.isImmediatePropagationEnabled},t.isLeftClick=function(e){return 0===e.button},t.isRightClick=function(e){return 2===e.button},t.isTouchEvent=function(e){return e instanceof TouchEvent},t.offsetRelativeTo=function(e,t){const r={x:e.offsetX,y:e.offsetY};let n=e.target;if(!(t instanceof HTMLElement)||n!==t&&n.contains(t))return r;for(;n!==t;)r.x+=n.offsetLeft,r.y+=n.offsetTop,n=n.offsetParent;return r},t.stopImmediatePropagation=function(e){e.isImmediatePropagationEnabled=!1,e.cancelBubble=!0}},85992:(e,t)=>{"use strict";let r;t.__esModule=!0,t.cancelAnimationFrame=function(e){window.cancelAnimationFrame(e)},t.getComparisonFunction=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r)return r;r="object"==typeof Intl?new Intl.Collator(e,t).compare:"function"==typeof String.prototype.localeCompare?(e,t)=>`${e}`.localeCompare(t):(e,t)=>e===t?0:e>t?-1:1;return r},t.isCSR=function(){return"undefined"!=typeof window},t.isTouchSupported=function(){return"ontouchstart"in window},t.requestAnimationFrame=function(e){return window.requestAnimationFrame(e)}},89804:(e,t,r)=>{"use strict";t.__esModule=!0,t.curry=function(e){const t=e.length;return function r(n){return function(){for(var s=arguments.length,i=new Array(s),o=0;o<s;o++)i[o]=arguments[o];const a=n.concat(i);let l;return l=a.length>=t?e.apply(this,a):r(a),l}}([])},t.curryRight=function(e){const t=e.length;return function r(n){return function(){for(var s=arguments.length,i=new Array(s),o=0;o<s;o++)i[o]=arguments[o];const a=n.concat(i.reverse());let l;return l=a.length>=t?e.apply(this,a):r(a),l}}([])},t.debounce=function(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,n=null;return function(){for(var s=arguments.length,i=new Array(s),o=0;o<s;o++)i[o]=arguments[o];return n&&clearTimeout(n),n=setTimeout((()=>{t=e.apply(this,i)}),r),t}},t.fastCall=function(e,t,r,n,i,o,a,l){if((0,s.isDefined)(l))return e.call(t,r,n,i,o,a,l);if((0,s.isDefined)(a))return e.call(t,r,n,i,o,a);if((0,s.isDefined)(o))return e.call(t,r,n,i,o);if((0,s.isDefined)(i))return e.call(t,r,n,i);if((0,s.isDefined)(n))return e.call(t,r,n);if((0,s.isDefined)(r))return e.call(t,r);return e.call(t)},t.isFunction=function(e){return"function"==typeof e},t.partial=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return function(){for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e.apply(this,r.concat(n))}},t.pipe=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];const[s,...i]=t;return function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.arrayReduce)(i,((e,t)=>t(e)),s.apply(this,t))}},t.throttle=i,t.throttleAfterHits=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;const n=i(e,t);let s=r;function o(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return s?(s-=1,e.apply(this,r)):n.apply(this,r)}return o.clearHits=function(){s=r},o};var n=r(10587),s=r(70505);function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,r=0;const n={lastCallThrottled:!0};let s=null;return function(){for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];const l=Date.now();let h=!1;n.lastCallThrottled=!0,r||(r=l,h=!0);const u=t-(l-r);return h?(n.lastCallThrottled=!1,e.apply(this,o)):(s&&clearTimeout(s),s=setTimeout((()=>{n.lastCallThrottled=!1,e.apply(this,o),r=0,s=void 0}),u)),n}}},70505:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t._injectProductInfo=function(e,t){const r=!a(e),n="string"==typeof e&&"non-commercial-and-evaluation"===e.toLowerCase(),i="15.1.0";let o,w="invalid",C="invalid";const v=function(e){let t=[][l],r=t;if(e[l]!==d("Z"))return!1;for(let t="",n="B<H4P+".split(""),s=d(n.shift());s;s=d(n.shift()||"A"))--s<""[l]?r|=(u(`${u(h(t)+(h(c(e,Math.abs(s),2))+[]).padStart(2,"0"))}`)%97||2)>>1:t=c(e,s,s?1===n[l]?9:8:6);return r===t}(e=p(e||""));if(r||n||v)if(v){const t=(0,s.default)("20/02/2025","DD/MM/YYYY"),r=Math.floor(t.toDate().getTime()/864e5),n=g(e);o=(0,s.default)(864e5*(n+1),"x").format("MMMM DD, YYYY"),r>n?(w="expired",C="expired"):(w="valid",C="valid")}else n?(w="non_commercial",C="valid"):(w="invalid",C="invalid");else w="missing",C="missing";f()&&(w="valid",C="valid");if(!m&&"valid"!==w){y[w]({keyValidityDate:o,hotVersion:i})&&console["non_commercial"===w?"info":"warn"](y[w]({keyValidityDate:o,hotVersion:i})),m=!0}if("valid"!==C&&t.parentNode){if(E[C]({keyValidityDate:o,hotVersion:i})){const e=document.createElement("div");e.className="handsontable hot-display-license-info",e.innerHTML=E[C]({keyValidityDate:o,hotVersion:i}),t.parentNode.insertBefore(e,t.nextSibling)}}},t.isDefined=function(e){return void 0!==e},t.isEmpty=a,t.isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},t.isUndefined=o,t.stringify=function(e){let t;switch(typeof e){case"string":case"number":t=`${e}`;break;case"object":t=null===e?"":e.toString();break;case"undefined":t="";break;default:t=e.toString()}return t};var s=n(r(6671)),i=r(21595);function o(e){return void 0===e}function a(e){return null===e||""===e||o(e)}const l="length",h=e=>parseInt(e,16),u=e=>parseInt(e,10),c=(e,t,r)=>e.substr(t,r),d=e=>e.codePointAt(0)-65,p=e=>`${e}`.replace(/\-/g,""),g=e=>h(c(p(e),h("12"),d("F")))/(h(c(p(e),d("B"),~~![][l]))||9),f=()=>"undefined"!=typeof location&&/^([a-z0-9\-]+\.)?\x68\x61\x6E\x64\x73\x6F\x6E\x74\x61\x62\x6C\x65\x2E\x63\x6F\x6D$/i.test(location.host);let m=!1;const y={invalid:()=>i.toSingleLine`
    The license key for Handsontable is invalid.\x20
    If you need any help, contact us at support@handsontable.com.`,expired:e=>{let{keyValidityDate:t,hotVersion:r}=e;return i.toSingleLine`
    The license key for Handsontable expired on ${t}, and is not valid for the installed\x20
    version ${r}. Renew your license key at handsontable.com or downgrade to a version released prior\x20
    to ${t}. If you need any help, contact us at sales@handsontable.com.`},missing:()=>i.toSingleLine`
    The license key for Handsontable is missing. Use your purchased key to activate the product.\x20
    Alternatively, you can activate Handsontable to use for non-commercial purposes by\x20
    passing the key: 'non-commercial-and-evaluation'. If you need any help, contact\x20
    us at support@handsontable.com.`,non_commercial:()=>""},E={invalid:()=>i.toSingleLine`
    The license key for Handsontable is invalid.\x20
    <a href="https://handsontable.com/docs/tutorial-license-key.html" target="_blank">Read more</a> on how to\x20
    install it properly or contact us at <a href="mailto:support@handsontable.com">support@handsontable.com</a>.`,expired:e=>{let{keyValidityDate:t,hotVersion:r}=e;return i.toSingleLine`
    The license key for Handsontable expired on ${t}, and is not valid for the installed\x20
    version ${r}. <a href="https://handsontable.com/pricing" target="_blank">Renew</a> your\x20
    license key or downgrade to a version released prior to ${t}. If you need any\x20
    help, contact us at <a href="mailto:sales@handsontable.com">sales@handsontable.com</a>.`},missing:()=>i.toSingleLine`
    The license key for Handsontable is missing. Use your purchased key to activate the product.\x20
    Alternatively, you can activate Handsontable to use for non-commercial purposes by\x20
    passing the key: 'non-commercial-and-evaluation'.\x20
    <a href="https://handsontable.com/docs/tutorial-license-key.html" target="_blank">Read more</a> about it in\x20
    the documentation or contact us at <a href="mailto:support@handsontable.com">support@handsontable.com</a>.`,non_commercial:()=>""}},4980:(e,t,r)=>{"use strict";t.__esModule=!0,t.getMoves=function(e,t,r){return function(e){return e.forEach(((t,r)=>{e.slice(r+1).forEach((e=>{const r=e.from<e.to;e.from>t.from&&r&&(e.from-=1)}))})),e}(function(e,t){const r=[];return e.forEach((e=>{const n={from:e,to:t};r.forEach((e=>{const t=e.from>e.to,r=e.to<=n.from;e.from>n.from&&r&&t&&(n.from+=1)})),n.from>=t&&(t+=1),r.push(n)})),r}(e,function(e,t,r){const n=Array.from(Array(r).keys()).filter((t=>!1===e.includes(t)));var s;return 0===t?null!==(s=n[t])&&void 0!==s?s:0:n[t-1]+1}(e,t,r)))},r(15724),r(14846),r(27458),r(69655)},22137:(e,t,r)=>{"use strict";function n(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=typeof e;if("number"===r)return!isNaN(e)&&isFinite(e);if("string"===r){if(0===e.length)return!1;if(1===e.length)return/\d/.test(e);const r=Array.from(new Set([".",...t])).map((e=>`\\${e}`)).join("|");return new RegExp(`^[+-]?(((${r})?\\d+((${r})\\d+)?(e[+-]?\\d+)?)|(0x[a-f\\d]+))$`,"i").test(e.trim())}return"object"===r&&!(!e||"number"!=typeof e.valueOf()||e instanceof Date)}t.__esModule=!0,t.clamp=function(e,t,r){if(Math.min(e,t)===e)return t;if(Math.max(e,r)===e)return r;return e},t.isNumeric=n,t.isNumericLike=function(e){return n(e,[","])},t.rangeEach=function(e,t,r){let n=-1;"function"==typeof t?(r=t,t=e):n=e-1;for(;++n<=t&&!1!==r(n););},t.rangeEachReverse=function(e,t,r){let n=e+1;"function"==typeof t&&(r=t,t=0);for(;--n>=t&&!1!==r(n););},t.valueAccordingPercent=function(e,t){return t=parseInt(t.toString().replace("%",""),10),t=isNaN(t)?0:t,parseInt(e*t/100,10)},r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(94364)},25499:(e,t,r)=>{"use strict";t.__esModule=!0,t.clone=function(e){const t={};return o(e,((e,r)=>{t[r]=e})),t},t.createObjectPropListener=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"value";const r=`_${t}`,n={_touched:!1,[r]:e,isTouched(){return this._touched}};return Object.defineProperty(n,t,{get(){return this[r]},set(e){this._touched=!0,this[r]=e},enumerable:!0,configurable:!0}),n},t.deepClone=s,t.deepExtend=function e(t,r){o(r,((n,s)=>{r[s]&&"object"==typeof r[s]?(t[s]||(Array.isArray(r[s])?t[s]=[]:"[object Date]"===Object.prototype.toString.call(r[s])?t[s]=r[s]:t[s]={}),e(t[s],r[s])):t[s]=r[s]}))},t.deepObjectSize=function(e){if(!i(e))return 0;const t=function(e){let r=0;return i(e)?o(e,((e,n)=>{"__children"!==n&&(r+=t(e))})):r+=1,r};return t(e)},t.defineGetter=function(e,t,r,n){n.value=r,n.writable=!1!==n.writable,n.enumerable=!1!==n.enumerable,n.configurable=!1!==n.configurable,Object.defineProperty(e,t,n)},t.duckSchema=function e(t){let r;Array.isArray(t)?r=t.length?new Array(t.length).fill(null):[]:(r={},o(t,((t,n)=>{"__children"!==n&&(t&&"object"==typeof t&&!Array.isArray(t)?r[n]=e(t):Array.isArray(t)?t.length&&"object"==typeof t[0]&&!Array.isArray(t[0])?r[n]=[e(t[0])]:r[n]=[]:r[n]=null)})));return r},t.extend=function(e,t,r){const n=Array.isArray(r);return o(t,((t,s)=>{(!1===n||r.includes(s))&&(e[s]=t)})),e},t.getProperty=function(e,t){const r=t.split(".");let n=e;return o(r,(e=>{if(n=n[e],void 0===n)return n=void 0,!1})),n},t.hasOwnProperty=a,t.inherit=function(e,t){return t.prototype.constructor=t,e.prototype=new t,e.prototype.constructor=e,e},t.isObject=i,t.isObjectEqual=function(e,t){return JSON.stringify(e)===JSON.stringify(t)},t.mixin=function(e){e.MIXINS||(e.MIXINS=[]);for(var t=arguments.length,r=new Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];return(0,n.arrayEach)(r,(t=>{e.MIXINS.push(t.MIXIN_NAME),o(t,((t,r)=>{if(void 0!==e.prototype[r])throw new Error(`Mixin conflict. Property '${r}' already exist and cannot be overwritten.`);if("function"==typeof t)e.prototype[r]=t;else{const n=function(e,t){const r=`_${e}`;return function(){return void 0===this[r]&&(this[r]=(e=>{let t=e;return(Array.isArray(t)||i(t))&&(t=s(t)),t})(t)),this[r]}},o=function(e){const t=`_${e}`;return function(e){this[t]=e}};Object.defineProperty(e.prototype,r,{get:n(r,t),set:o(r),configurable:!0})}}))})),e},t.objectEach=o,t.setProperty=function(e,t,r){const n=t.split(".");let s=e;n.forEach(((e,t)=>{"__proto__"!==e&&"constructor"!==e&&"prototype"!==e&&(t!==n.length-1?(a(s,e)||(s[e]={}),s=s[e]):s[e]=r)}))},r(67834),r(15724),r(66184),r(14846),r(69655);var n=r(10587);function s(e){return"object"==typeof e?JSON.parse(JSON.stringify(e)):e}function i(e){return"[object Object]"===Object.prototype.toString.call(e)}function o(e,t){for(const r in e)if((!e.hasOwnProperty||e.hasOwnProperty&&Object.prototype.hasOwnProperty.call(e,r))&&!1===t(e[r],r,e))break;return e}function a(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},5893:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.equalsIgnoreCase=function(){const e=[];for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];let s=r.length;for(;s;){s-=1;const t=(0,i.stringify)(r[s]).toLowerCase();-1===e.indexOf(t)&&e.push(t)}return 1===e.length},t.isPercentValue=function(e){return/^([0-9][0-9]?%$)|(^100%$)/.test(e)},t.randomString=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+e()+e()},t.sanitize=o,t.stripTags=function(e){return o(`${e}`,{ALLOWED_TAGS:[]})},t.substitute=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return`${e}`.replace(/(?:\\)?\[([^[\]]+)]/g,((e,r)=>"\\"===e.charAt(0)?e.substr(1,e.length-1):void 0===t[r]?"":t[r]))},t.toUpperCaseFirst=function(e){return e[0].toUpperCase()+e.substr(1)},r(15724);var s=n(r(98339)),i=r(70505);function o(e,t){return s.default.sanitize(e,t)}},21595:(e,t,r)=>{"use strict";t.__esModule=!0,t.toSingleLine=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),s=1;s<t;s++)r[s-1]=arguments[s];return(0,n.arrayReduce)(e,((e,t,n)=>e+t.replace(/\r?\n\s*/g,"")+(r[n]?r[n]:"")),"").trim()};var n=r(10587)},73618:(e,t,r)=>{"use strict";t.__esModule=!0,t.getThemeClassName=function(e){const{classNames:t}=(0,n.findFirstParentWithClass)(e,/ht-theme-[a-zA-Z0-9_-]+/);return t.pop()};var n=r(62577)},83445:(e,t,r)=>{"use strict";t.__esModule=!0,t.isCtrlKey=function(e){const t=[];(0,s.isMacOS)()?t.push(i.COMMAND_LEFT,i.COMMAND_RIGHT,i.COMMAND_FIREFOX):t.push(i.CONTROL);return t.includes(e)},t.isCtrlMetaKey=function(e){return[i.CONTROL,i.COMMAND_LEFT,i.COMMAND_RIGHT,i.COMMAND_FIREFOX].includes(e)},t.isFunctionKey=function(e){return o.includes(e)},t.isKey=function(e,t){const r=t.split("|");let s=!1;return(0,n.arrayEach)(r,(t=>{if(e===i[t])return s=!0,!1})),s},t.isPrintableChar=function(e){return 32===e||e>=48&&e<=57||e>=96&&e<=111||e>=186&&e<=192||e>=219&&e<=222||e>=226||e>=65&&e<=90},r(15724);var n=r(10587),s=r(25046);const i=t.KEY_CODES={ALT:18,ARROW_DOWN:40,ARROW_LEFT:37,ARROW_RIGHT:39,ARROW_UP:38,AUDIO_DOWN:(0,s.isFirefox)()?182:174,AUDIO_MUTE:(0,s.isFirefox)()?181:173,AUDIO_UP:(0,s.isFirefox)()?183:175,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND_LEFT:91,COMMAND_RIGHT:93,COMMAND_FIREFOX:224,CONTROL:17,DELETE:46,END:35,ENTER:13,ESCAPE:27,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,F13:124,F14:125,F15:126,F16:127,F17:128,F18:129,F19:130,HOME:36,INSERT:45,MEDIA_NEXT:176,MEDIA_PLAY_PAUSE:179,MEDIA_PREV:177,MEDIA_STOP:178,NULL:0,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PERIOD:190,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,A:65,C:67,D:68,F:70,L:76,O:79,P:80,S:83,V:86,X:88,Y:89,Z:90},o=[i.ALT,i.ARROW_DOWN,i.ARROW_LEFT,i.ARROW_RIGHT,i.ARROW_UP,i.AUDIO_DOWN,i.AUDIO_MUTE,i.AUDIO_UP,i.BACKSPACE,i.CAPS_LOCK,i.DELETE,i.END,i.ENTER,i.ESCAPE,i.F1,i.F2,i.F3,i.F4,i.F5,i.F6,i.F7,i.F8,i.F9,i.F10,i.F11,i.F12,i.F13,i.F14,i.F15,i.F16,i.F17,i.F18,i.F19,i.HOME,i.INSERT,i.MEDIA_NEXT,i.MEDIA_PLAY_PAUSE,i.MEDIA_PREV,i.MEDIA_STOP,i.NULL,i.NUM_LOCK,i.PAGE_DOWN,i.PAGE_UP,i.PAUSE,i.SCROLL_LOCK,i.SHIFT,i.TAB]},29861:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){const t="undefined"!=typeof window&&window.jQuery;if(!t)return;t.fn.handsontable=function(t){const r=this.first();let n,s=r.data("handsontable");if("string"!=typeof t){const n=t||{};return s?s.updateSettings(n):(s=new e.Core(r[0],n),r.data("handsontable",s),s.init()),r}if(s){if(void 0===s[t])throw new Error(`Handsontable do not provide action: ${t}`);for(var i=arguments.length,o=new Array(i>1?i-1:0),a=1;a<i;a++)o[a-1]=arguments[a];n=s[t].call(s,...o),"destroy"===t&&r.removeData()}return n}},r(67834)},23384:(e,t)=>{"use strict";t.__esModule=!0;const r=t.CONTEXT_MENU_ITEMS_NAMESPACE="ContextMenu:items",n=(t.CONTEXTMENU_ITEMS_NO_ITEMS=`${r}.noItems`,t.CONTEXTMENU_ITEMS_ROW_ABOVE=`${r}.insertRowAbove`,t.CONTEXTMENU_ITEMS_ROW_BELOW=`${r}.insertRowBelow`,t.CONTEXTMENU_ITEMS_INSERT_LEFT=`${r}.insertColumnOnTheLeft`,t.CONTEXTMENU_ITEMS_INSERT_RIGHT=`${r}.insertColumnOnTheRight`,t.CONTEXTMENU_ITEMS_REMOVE_ROW=`${r}.removeRow`,t.CONTEXTMENU_ITEMS_REMOVE_COLUMN=`${r}.removeColumn`,t.CONTEXTMENU_ITEMS_UNDO=`${r}.undo`,t.CONTEXTMENU_ITEMS_REDO=`${r}.redo`,t.CONTEXTMENU_ITEMS_READ_ONLY=`${r}.readOnly`,t.CONTEXTMENU_ITEMS_CLEAR_COLUMN=`${r}.clearColumn`,t.CONTEXTMENU_ITEMS_COPY=`${r}.copy`,t.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS=`${r}.copyWithHeaders`,t.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS=`${r}.copyWithGroupHeaders`,t.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY=`${r}.copyHeadersOnly`,t.CONTEXTMENU_ITEMS_CUT=`${r}.cut`,t.CONTEXTMENU_ITEMS_FREEZE_COLUMN=`${r}.freezeColumn`,t.CONTEXTMENU_ITEMS_UNFREEZE_COLUMN=`${r}.unfreezeColumn`,t.CONTEXTMENU_ITEMS_MERGE_CELLS=`${r}.mergeCells`,t.CONTEXTMENU_ITEMS_UNMERGE_CELLS=`${r}.unmergeCells`,t.CONTEXTMENU_ITEMS_ADD_COMMENT=`${r}.addComment`,t.CONTEXTMENU_ITEMS_EDIT_COMMENT=`${r}.editComment`,t.CONTEXTMENU_ITEMS_REMOVE_COMMENT=`${r}.removeComment`,t.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT=`${r}.readOnlyComment`,t.CONTEXTMENU_ITEMS_ALIGNMENT=`${r}.align`,t.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT=`${r}.align.left`,t.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER=`${r}.align.center`,t.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT=`${r}.align.right`,t.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY=`${r}.align.justify`,t.CONTEXTMENU_ITEMS_ALIGNMENT_TOP=`${r}.align.top`,t.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE=`${r}.align.middle`,t.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM=`${r}.align.bottom`,t.CONTEXTMENU_ITEMS_BORDERS=`${r}.borders`,t.CONTEXTMENU_ITEMS_BORDERS_TOP=`${r}.borders.top`,t.CONTEXTMENU_ITEMS_BORDERS_RIGHT=`${r}.borders.right`,t.CONTEXTMENU_ITEMS_BORDERS_BOTTOM=`${r}.borders.bottom`,t.CONTEXTMENU_ITEMS_BORDERS_LEFT=`${r}.borders.left`,t.CONTEXTMENU_ITEMS_REMOVE_BORDERS=`${r}.borders.remove`,t.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD=`${r}.nestedHeaders.insertChildRow`,t.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD=`${r}.nestedHeaders.detachFromParent`,t.CONTEXTMENU_ITEMS_HIDE_COLUMN=`${r}.hideColumn`,t.CONTEXTMENU_ITEMS_SHOW_COLUMN=`${r}.showColumn`,t.CONTEXTMENU_ITEMS_HIDE_ROW=`${r}.hideRow`,t.CONTEXTMENU_ITEMS_SHOW_ROW=`${r}.showRow`,t.FILTERS_NAMESPACE="Filters:"),s=t.FILTERS_CONDITIONS_NAMESPACE=`${n}conditions`,i=(t.FILTERS_CONDITIONS_NONE=`${s}.none`,t.FILTERS_CONDITIONS_EMPTY=`${s}.isEmpty`,t.FILTERS_CONDITIONS_NOT_EMPTY=`${s}.isNotEmpty`,t.FILTERS_CONDITIONS_EQUAL=`${s}.isEqualTo`,t.FILTERS_CONDITIONS_NOT_EQUAL=`${s}.isNotEqualTo`,t.FILTERS_CONDITIONS_BEGINS_WITH=`${s}.beginsWith`,t.FILTERS_CONDITIONS_ENDS_WITH=`${s}.endsWith`,t.FILTERS_CONDITIONS_CONTAINS=`${s}.contains`,t.FILTERS_CONDITIONS_NOT_CONTAIN=`${s}.doesNotContain`,t.FILTERS_CONDITIONS_BY_VALUE=`${s}.byValue`,t.FILTERS_CONDITIONS_GREATER_THAN=`${s}.greaterThan`,t.FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL=`${s}.greaterThanOrEqualTo`,t.FILTERS_CONDITIONS_LESS_THAN=`${s}.lessThan`,t.FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL=`${s}.lessThanOrEqualTo`,t.FILTERS_CONDITIONS_BETWEEN=`${s}.isBetween`,t.FILTERS_CONDITIONS_NOT_BETWEEN=`${s}.isNotBetween`,t.FILTERS_CONDITIONS_AFTER=`${s}.after`,t.FILTERS_CONDITIONS_BEFORE=`${s}.before`,t.FILTERS_CONDITIONS_TODAY=`${s}.today`,t.FILTERS_CONDITIONS_TOMORROW=`${s}.tomorrow`,t.FILTERS_CONDITIONS_YESTERDAY=`${s}.yesterday`,t.FILTERS_DIVS_FILTER_BY_CONDITION=`${n}labels.filterByCondition`,t.FILTERS_DIVS_FILTER_BY_VALUE=`${n}labels.filterByValue`,t.FILTERS_LABELS_CONJUNCTION=`${n}labels.conjunction`,t.FILTERS_LABELS_DISJUNCTION=`${n}labels.disjunction`,t.FILTERS_VALUES_BLANK_CELLS=`${n}values.blankCells`,t.FILTERS_BUTTONS_SELECT_ALL=`${n}buttons.selectAll`,t.FILTERS_BUTTONS_CLEAR=`${n}buttons.clear`,t.FILTERS_BUTTONS_OK=`${n}buttons.ok`,t.FILTERS_BUTTONS_CANCEL=`${n}buttons.cancel`,t.FILTERS_BUTTONS_PLACEHOLDER_SEARCH=`${n}buttons.placeholder.search`,t.FILTERS_BUTTONS_PLACEHOLDER_VALUE=`${n}buttons.placeholder.value`,t.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE=`${n}buttons.placeholder.secondValue`,t.CHECKBOX_RENDERER_NAMESPACE="CheckboxRenderer:");t.CHECKBOX_CHECKED=`${i}checked`,t.CHECKBOX_UNCHECKED=`${i}unchecked`},42303:(e,t,r)=>{"use strict";t.__esModule=!0;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n
/**
 * @preserve
 * Authors: Handsoncode
 * Last updated: Nov 15, 2017
 *
 * Description: Definition file for English - United States language-country.
 */}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}const i={languageCode:"en-US",[n.CONTEXTMENU_ITEMS_NO_ITEMS]:"No available options",[n.CONTEXTMENU_ITEMS_ROW_ABOVE]:"Insert row above",[n.CONTEXTMENU_ITEMS_ROW_BELOW]:"Insert row below",[n.CONTEXTMENU_ITEMS_INSERT_LEFT]:"Insert column left",[n.CONTEXTMENU_ITEMS_INSERT_RIGHT]:"Insert column right",[n.CONTEXTMENU_ITEMS_REMOVE_ROW]:["Remove row","Remove rows"],[n.CONTEXTMENU_ITEMS_REMOVE_COLUMN]:["Remove column","Remove columns"],[n.CONTEXTMENU_ITEMS_UNDO]:"Undo",[n.CONTEXTMENU_ITEMS_REDO]:"Redo",[n.CONTEXTMENU_ITEMS_READ_ONLY]:"Read only",[n.CONTEXTMENU_ITEMS_CLEAR_COLUMN]:"Clear column",[n.CONTEXTMENU_ITEMS_ALIGNMENT]:"Alignment",[n.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT]:"Left",[n.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER]:"Center",[n.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT]:"Right",[n.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY]:"Justify",[n.CONTEXTMENU_ITEMS_ALIGNMENT_TOP]:"Top",[n.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE]:"Middle",[n.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM]:"Bottom",[n.CONTEXTMENU_ITEMS_FREEZE_COLUMN]:"Freeze column",[n.CONTEXTMENU_ITEMS_UNFREEZE_COLUMN]:"Unfreeze column",[n.CONTEXTMENU_ITEMS_BORDERS]:"Borders",[n.CONTEXTMENU_ITEMS_BORDERS_TOP]:"Top",[n.CONTEXTMENU_ITEMS_BORDERS_RIGHT]:"Right",[n.CONTEXTMENU_ITEMS_BORDERS_BOTTOM]:"Bottom",[n.CONTEXTMENU_ITEMS_BORDERS_LEFT]:"Left",[n.CONTEXTMENU_ITEMS_REMOVE_BORDERS]:"Remove border(s)",[n.CONTEXTMENU_ITEMS_ADD_COMMENT]:"Add comment",[n.CONTEXTMENU_ITEMS_EDIT_COMMENT]:"Edit comment",[n.CONTEXTMENU_ITEMS_REMOVE_COMMENT]:"Delete comment",[n.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT]:"Read-only comment",[n.CONTEXTMENU_ITEMS_MERGE_CELLS]:"Merge cells",[n.CONTEXTMENU_ITEMS_UNMERGE_CELLS]:"Unmerge cells",[n.CONTEXTMENU_ITEMS_COPY]:"Copy",[n.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]:["Copy with header","Copy with headers"],[n.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]:["Copy with group header","Copy with group headers"],[n.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]:["Copy header only","Copy headers only"],[n.CONTEXTMENU_ITEMS_CUT]:"Cut",[n.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]:"Insert child row",[n.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]:"Detach from parent",[n.CONTEXTMENU_ITEMS_HIDE_COLUMN]:["Hide column","Hide columns"],[n.CONTEXTMENU_ITEMS_SHOW_COLUMN]:["Show column","Show columns"],[n.CONTEXTMENU_ITEMS_HIDE_ROW]:["Hide row","Hide rows"],[n.CONTEXTMENU_ITEMS_SHOW_ROW]:["Show row","Show rows"],[n.FILTERS_CONDITIONS_NONE]:"None",[n.FILTERS_CONDITIONS_EMPTY]:"Is empty",[n.FILTERS_CONDITIONS_NOT_EMPTY]:"Is not empty",[n.FILTERS_CONDITIONS_EQUAL]:"Is equal to",[n.FILTERS_CONDITIONS_NOT_EQUAL]:"Is not equal to",[n.FILTERS_CONDITIONS_BEGINS_WITH]:"Begins with",[n.FILTERS_CONDITIONS_ENDS_WITH]:"Ends with",[n.FILTERS_CONDITIONS_CONTAINS]:"Contains",[n.FILTERS_CONDITIONS_NOT_CONTAIN]:"Does not contain",[n.FILTERS_CONDITIONS_GREATER_THAN]:"Greater than",[n.FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL]:"Greater than or equal to",[n.FILTERS_CONDITIONS_LESS_THAN]:"Less than",[n.FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL]:"Less than or equal to",[n.FILTERS_CONDITIONS_BETWEEN]:"Is between",[n.FILTERS_CONDITIONS_NOT_BETWEEN]:"Is not between",[n.FILTERS_CONDITIONS_AFTER]:"After",[n.FILTERS_CONDITIONS_BEFORE]:"Before",[n.FILTERS_CONDITIONS_TODAY]:"Today",[n.FILTERS_CONDITIONS_TOMORROW]:"Tomorrow",[n.FILTERS_CONDITIONS_YESTERDAY]:"Yesterday",[n.FILTERS_VALUES_BLANK_CELLS]:"Blank cells",[n.FILTERS_DIVS_FILTER_BY_CONDITION]:"Filter by condition",[n.FILTERS_DIVS_FILTER_BY_VALUE]:"Filter by value",[n.FILTERS_LABELS_CONJUNCTION]:"And",[n.FILTERS_LABELS_DISJUNCTION]:"Or",[n.FILTERS_BUTTONS_SELECT_ALL]:"Select all",[n.FILTERS_BUTTONS_CLEAR]:"Clear",[n.FILTERS_BUTTONS_OK]:"OK",[n.FILTERS_BUTTONS_CANCEL]:"Cancel",[n.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]:"Search",[n.FILTERS_BUTTONS_PLACEHOLDER_VALUE]:"Value",[n.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]:"Second value",[n.CHECKBOX_CHECKED]:"Checked",[n.CHECKBOX_UNCHECKED]:"Unchecked"};t.default=i},83048:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.getPhraseFormatters=t.getAll=function(){return a()},t.registerPhraseFormatter=t.register=l;var s=n(r(28651)),i=n(r(11796));const{register:o,getValues:a}=(0,s.default)("phraseFormatters");function l(e,t){o(e,t)}l("pluralize",i.default)},11796:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e,t){if(Array.isArray(e)&&Number.isInteger(t))return e[t];return e}},58570:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.getDefaultLanguageDictionary=function(){return u.default},t.getLanguageDictionary=w,t.getLanguagesDictionaries=function(){return y()},t.getTranslatedPhrase=function(e,t,r){const n=w(e);if(null===n)return null;const s=n[t];if((0,o.isUndefined)(s))return null;const a=function(e,t){let r=e;return(0,i.arrayEach)((0,h.getPhraseFormatters)(),(n=>{r=n(e,t)})),r}(s,r);if(Array.isArray(a))return a[0];return a},t.getValidLanguageCode=function(e){let t=(0,a.normalizeLanguageCode)(e);C(t)||(t=p,(0,a.warnUserAboutLanguageRegistration)(e));return t},t.hasLanguageDictionary=C,t.registerLanguageDictionary=E;var s=r(25499),i=r(10587),o=r(70505),a=r(1052),l=n(r(28651)),h=r(83048),u=n(r(42303)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=d(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384));function d(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(d=function(e){return e?r:t})(e)}t.dictionaryKeys=c;const p=t.DEFAULT_LANGUAGE_CODE=u.default.languageCode,{register:g,getItem:f,hasItem:m,getValues:y}=(0,l.default)("languagesDictionaries");function E(e,t){let r=e,n=t;return(0,s.isObject)(e)&&(n=e,r=n.languageCode),function(e,t){e!==p&&(0,a.extendNotExistingKeys)(t,f(p))}(r,n),g(r,(0,s.deepClone)(n)),(0,s.deepClone)(n)}function w(e){return C(e)?(0,s.deepClone)(f(e)):null}function C(e){return m(e)}E(u.default)},1052:(e,t,r)=>{"use strict";t.__esModule=!0,t.createCellHeadersRange=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t,[s,i]=[r,n];e>t&&([s,i]=[i,s]);return`${s}-${i}`},t.extendNotExistingKeys=function(e,t){return(0,s.objectEach)(t,((t,r)=>{(0,n.isUndefined)(e[r])&&(e[r]=t)})),e},t.normalizeLanguageCode=function(e){const t=/^([a-zA-Z]{2})-([a-zA-Z]{2})$/.exec(e);if(t)return`${t[1].toLowerCase()}-${t[2].toUpperCase()}`;return e},t.warnUserAboutLanguageRegistration=function(e){(0,n.isDefined)(e)&&(0,i.error)(o.toSingleLine`Language with code "${e}" was not found. You should register particular language\x20
    before using it. Read more about this issue at: https://docs.handsontable.com/i18n/missing-language-code.`)};var n=r(70505),s=r(25499),i=r(14859),o=r(21595)},70292:(e,t,r)=>{"use strict";t.__esModule=!0,r(15724);var n=r(10587),s=r(25499);const i={_hooksStorage:Object.create(null),addHook(e,t){return this._hooksStorage[e]||(this._hooksStorage[e]=[]),this.hot.addHook(e,t),this._hooksStorage[e].push(t),this},removeHooksByKey(e){(0,n.arrayEach)(this._hooksStorage[e]||[],(t=>{this.hot.removeHook(e,t)}))},clearHooks(){(0,s.objectEach)(this._hooksStorage,((e,t)=>this.removeHooksByKey(t))),this._hooksStorage={}}};(0,s.defineGetter)(i,"MIXIN_NAME","hooksRefRegisterer",{writable:!1,enumerable:!1});t.default=i},16050:(e,t,r)=>{"use strict";t.__esModule=!0,r(15724);var n=r(25499),s=r(89804);const i={_localHooks:Object.create(null),addLocalHook(e,t){return this._localHooks[e]||(this._localHooks[e]=[]),this._localHooks[e].push(t),this},runLocalHooks(e,t,r,n,i,o,a){if(this._localHooks[e]){const l=this._localHooks[e].length;for(let h=0;h<l;h++)(0,s.fastCall)(this._localHooks[e][h],this,t,r,n,i,o,a)}},clearLocalHooks(){return this._localHooks={},this}};(0,n.defineGetter)(i,"MIXIN_NAME","localHooks",{writable:!1,enumerable:!1});t.default=i},2998:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(27458),r(69655),r(90458);var s=n(r(85707)),i=r(75089),o=r(85992),a=n(r(4965)),l=r(28197),h=r(25499),u=r(22137),c=n(r(93968)),d=r(5893),p=r(50206),g=r(61149);function f(e,t,r){m(e,t),t.set(e,r)}function m(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function y(e,t){return e.get(w(e,t))}function E(e,t,r){return e.set(w(e,t),r),r}function w(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}l.Hooks.getSingleton().register("modifyAutoColumnSizeSeed");const C=t.PLUGIN_KEY="autoColumnSize",v=t.PLUGIN_PRIORITY=10;var R=new WeakMap,S=new WeakMap,T=new WeakSet;class N extends i.BasePlugin{static get PLUGIN_KEY(){return C}static get PLUGIN_PRIORITY(){return v}static get SETTING_KEYS(){return!0}static get DEFAULT_SETTINGS(){return{useHeaders:!0,samplingRatio:null,allowSampleDuplicates:!1}}static get CALCULATION_STEP(){return 50}static get SYNC_CALCULATION_LIMIT(){return 50}constructor(e){var t,r;super(e),m(t=this,r=T),r.add(t),(0,s.default)(this,"ghostTable",new a.default(this.hot)),(0,s.default)(this,"samplesGenerator",new c.default(((e,t)=>{const r=this.hot.toPhysicalRow(e),n=this.hot.toPhysicalColumn(t);if(this.hot.rowIndexMapper.isHidden(r)||this.hot.columnIndexMapper.isHidden(n))return!1;const s=this.hot.getCellMeta(e,t);let i="";s.spanned||(i=this.hot.getDataAtCell(e,t));let o="";return this.hot.hasHook("modifyAutoColumnSizeSeed")&&(o=this.hot.runHooks("modifyAutoColumnSizeSeed",o,s,i)),{value:i,bundleSeed:o}}))),(0,s.default)(this,"inProgress",!1),(0,s.default)(this,"measuredColumns",0),(0,s.default)(this,"columnWidthsMap",new g.PhysicalIndexToValueMap),f(this,R,[]),f(this,S,[]),this.hot.columnIndexMapper.registerMap("autoColumnSize",this.columnWidthsMap),this.addHook("beforeColumnResize",((e,t,r)=>w(T,this,A).call(this,e,t,r)))}isEnabled(){return!1!==this.hot.getSettings()[C]&&!this.hot.getSettings().colWidths}enablePlugin(){var e=this;if(this.enabled)return;this.ghostTable.setSetting("useHeaders",this.getSetting("useHeaders")),this.samplesGenerator.setAllowDuplicates(this.getSetting("allowSampleDuplicates"));const t=this.getSetting("samplingRatio");t&&!isNaN(t)&&this.samplesGenerator.setSampleCount(parseInt(t,10)),this.addHook("afterLoadData",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(T,e,b).call(e,...r)})),this.addHook("beforeChangeRender",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(T,e,O).call(e,...r)})),this.addHook("afterFormulasValuesUpdate",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(T,e,x).call(e,...r)})),this.addHook("beforeRender",(()=>w(T,this,_).call(this))),this.addHook("modifyColWidth",((e,t)=>this.getColumnWidth(t,e))),this.addHook("init",(()=>w(T,this,I).call(this))),super.enablePlugin()}updatePlugin(){E(S,this,this.findColumnsWhereHeaderWasChanged()),super.updatePlugin()}disablePlugin(){super.disablePlugin(),this.addHook("beforeColumnResize",((e,t,r)=>w(T,this,A).call(this,e,t,r)))}calculateVisibleColumnsWidth(){if(!this.hot.countRows())return;const e=this.getFirstVisibleColumn(),t=this.getLastVisibleColumn();if(-1===e||-1===t)return;const r=this.hot.renderCall;this.calculateColumnsWidth({from:e,to:t},void 0,r)}calculateColumnsWidth(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{from:0,to:this.hot.countCols()-1},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{from:0,to:this.hot.countRows()-1},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n="number"==typeof e?{from:e,to:e}:e,s="number"==typeof t?{from:t,to:t}:t;(0,u.rangeEach)(n.from,n.to,(e=>{let t=this.hot.toPhysicalColumn(e);if(null===t&&(t=e),r||null===this.columnWidthsMap.getValueAtIndex(t)&&!this.hot._getColWidthFromSettings(t)){this.samplesGenerator.generateColumnSamples(e,s).forEach(((e,t)=>this.ghostTable.addColumn(t,e)))}})),this.ghostTable.columns.length&&(this.hot.batchExecution((()=>{this.ghostTable.getWidths(((e,t)=>{const r=this.hot.toPhysicalColumn(e);this.columnWidthsMap.setValueAtIndex(r,t)}))}),!0),this.measuredColumns=n.to+1,this.ghostTable.clean())}calculateAllColumnsWidth(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{from:0,to:this.hot.countRows()-1},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=0;const n=this.hot.countCols()-1;let s=null;this.inProgress=!0;const i=()=>{if(!this.hot)return(0,o.cancelAnimationFrame)(s),void(this.inProgress=!1);this.calculateColumnsWidth({from:r,to:Math.min(r+N.CALCULATION_STEP,n)},e,t),r=r+N.CALCULATION_STEP+1,r<n?s=(0,o.requestAnimationFrame)(i):((0,o.cancelAnimationFrame)(s),this.inProgress=!1,this.hot.view.adjustElementsSize())},a=this.getSyncCalculationLimit();a>=0&&(this.calculateColumnsWidth({from:0,to:a},e,t),r=a+1),r<n?i():this.inProgress=!1}recalculateAllColumnsWidth(){this.hot.view.isVisible()&&this.calculateAllColumnsWidth({from:0,to:this.hot.countRows()-1},!0)}getSyncCalculationLimit(){const e=this.hot.getSettings()[C];let t=N.SYNC_CALCULATION_LIMIT;const r=this.hot.countCols()-1;return(0,h.isObject)(e)&&(t=e.syncLimit,(0,d.isPercentValue)(t)?t=(0,u.valueAccordingPercent)(r,t):t>>=0),Math.min(t,r)}getColumnWidth(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=t;return void 0===n&&(n=this.columnWidthsMap.getValueAtIndex(this.hot.toPhysicalColumn(e)),r&&"number"==typeof n&&(n=Math.max(n,p.DEFAULT_COLUMN_WIDTH))),n}getFirstVisibleColumn(){var e;return null!==(e=this.hot.getFirstRenderedVisibleColumn())&&void 0!==e?e:-1}getLastVisibleColumn(){var e;return null!==(e=this.hot.getLastRenderedVisibleColumn())&&void 0!==e?e:-1}findColumnsWhereHeaderWasChanged(){return this.hot.getColHeader().reduce(((e,t,r)=>{const n=y(R,this).length;return(n-1<r||y(R,this)[r]!==t)&&e.push(this.hot.toVisualColumn(r)),n-1<r?y(R,this).push(t):y(R,this)[r]=t,e}),[])}clearCache(e){Array.isArray(e)?this.hot.batchExecution((()=>{e.forEach((e=>{this.columnWidthsMap.setValueAtIndex(e,null)}))}),!0):this.columnWidthsMap.clear()}isNeedRecalculate(){return!!this.columnWidthsMap.getValues().slice(0,this.measuredColumns).filter((e=>null===e)).length}destroy(){this.ghostTable.clean(),super.destroy()}}function M(e){const t={from:0,to:this.hot.countRows()-1};e.forEach((e=>{const r=this.hot.toPhysicalColumn(e);if(null!==r&&!this.hot._getColWidthFromSettings(r)){this.samplesGenerator.generateColumnSamples(e,t).forEach(((e,t)=>this.ghostTable.addColumn(t,e)))}})),this.ghostTable.columns.length&&(this.hot.batchExecution((()=>{this.ghostTable.getWidths(((e,t)=>{const r=this.hot.toPhysicalColumn(e);this.columnWidthsMap.setValueAtIndex(r,t)}))}),!0),this.ghostTable.clean())}function _(){this.calculateVisibleColumnsWidth(),this.inProgress||(w(T,this,M).call(this,y(S,this)),E(S,this,[]))}function b(e,t){t||this.recalculateAllColumnsWidth()}function O(e){const t=e.reduce(((e,t)=>{let[,r]=t;const n=this.hot.propToCol(r);return Number.isInteger(n)&&-1===e.indexOf(n)&&e.push(n),e}),[]);y(S,this).push(...t)}function A(e,t,r){let n=e;return r&&(this.calculateColumnsWidth(t,void 0,!0),n=this.getColumnWidth(t,void 0,!1)),n}function I(){E(R,this,this.hot.getColHeader()),this.recalculateAllColumnsWidth()}function x(e){const t=e.reduce(((e,t)=>{var r;const n=null===(r=t.address)||void 0===r?void 0:r.col;if(Number.isInteger(n)){const t=this.hot.toVisualColumn(n);-1===e.indexOf(t)&&e.push(t)}return e}),[]);y(S,this).push(...t)}t.AutoColumnSize=N},49912:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(2998);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.AutoColumnSize=n.AutoColumnSize},7496:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(27458),r(69655),r(90458);var s=n(r(85707)),i=r(75089),o=r(85992),a=n(r(4965)),l=r(25499),h=r(22137),u=n(r(93968)),c=r(5893),d=r(61149);function p(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function g(e,t){return e.get(f(e,t))}function f(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const m=t.PLUGIN_KEY="autoRowSize",y=t.PLUGIN_PRIORITY=40;var E=new WeakMap,w=new WeakSet;class C extends i.BasePlugin{static get PLUGIN_KEY(){return m}static get PLUGIN_PRIORITY(){return y}static get SETTING_KEYS(){return!0}static get DEFAULT_SETTINGS(){return{useHeaders:!0,samplingRatio:null,allowSampleDuplicates:!1}}static get CALCULATION_STEP(){return 50}static get SYNC_CALCULATION_LIMIT(){return 500}constructor(e){var t,r;super(e),p(t=this,r=w),r.add(t),(0,s.default)(this,"headerHeight",null),(0,s.default)(this,"ghostTable",new a.default(this.hot)),(0,s.default)(this,"samplesGenerator",new u.default(((e,t)=>{const r=this.hot.toPhysicalRow(e),n=this.hot.toPhysicalColumn(t);if(this.hot.rowIndexMapper.isHidden(r)||this.hot.columnIndexMapper.isHidden(n))return!1;if(e>=0&&t>=0){if(this.hot.getCellMeta(e,t).hidden)return!1}let s;return e>=0?s=this.hot.getDataAtCell(e,t):-1===e&&(s=this.hot.getColHeader(t)),{value:s}}))),(0,s.default)(this,"inProgress",!1),(0,s.default)(this,"measuredRows",0),(0,s.default)(this,"rowHeightsMap",new d.PhysicalIndexToValueMap),function(e,t,r){p(e,t),t.set(e,r)}(this,E,[]),this.hot.rowIndexMapper.registerMap("autoRowSize",this.rowHeightsMap),this.addHook("beforeRowResize",((e,t,r)=>f(w,this,S).call(this,e,t,r)))}isEnabled(){const e=this.hot.getSettings()[m];return!0===e||(0,l.isObject)(e)}enablePlugin(){var e=this;if(this.enabled)return;this.samplesGenerator.setAllowDuplicates(this.getSetting("allowSampleDuplicates"));const t=this.getSetting("samplingRatio");t&&!isNaN(t)&&this.samplesGenerator.setSampleCount(parseInt(t,10)),this.addHook("afterLoadData",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return f(w,e,T).call(e,...r)})),this.addHook("beforeChangeRender",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return f(w,e,N).call(e,...r)})),this.addHook("beforeColumnResize",(()=>this.recalculateAllRowsHeight())),this.addHook("afterFormulasValuesUpdate",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return f(w,e,_).call(e,...r)})),this.addHook("beforeRender",(()=>f(w,this,R).call(this))),this.addHook("modifyRowHeight",((e,t)=>this.getRowHeight(t,e))),this.addHook("init",(()=>f(w,this,M).call(this))),this.addHook("modifyColumnHeaderHeight",(()=>this.getColumnHeaderHeight())),super.enablePlugin()}disablePlugin(){this.headerHeight=null,super.disablePlugin(),this.addHook("beforeRowResize",((e,t,r)=>f(w,this,S).call(this,e,t,r)))}calculateVisibleRowsHeight(){if(!this.hot.countCols())return;const e=this.getFirstVisibleRow(),t=this.getLastVisibleRow();if(-1===e||-1===t)return;const r=this.hot.renderCall;this.calculateRowsHeight({from:e,to:t},void 0,r)}calculateRowsHeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{from:0,to:this.hot.countRows()-1},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{from:0,to:this.hot.countCols()-1},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n="number"==typeof e?{from:e,to:e}:e,s="number"==typeof t?{from:t,to:t}:t;if(null!==this.hot.getColHeader(0)){const e=this.samplesGenerator.generateRowSamples(-1,s);this.ghostTable.addColumnHeadersRow(e.get(-1))}(0,h.rangeEach)(n.from,n.to,(e=>{let t=this.hot.toPhysicalRow(e);if(null===t&&(t=e),r||null===this.rowHeightsMap.getValueAtIndex(t)){this.samplesGenerator.generateRowSamples(e,s).forEach(((e,t)=>this.ghostTable.addRow(t,e)))}})),this.ghostTable.rows.length&&(this.hot.batchExecution((()=>{this.ghostTable.getHeights(((e,t)=>{e<0?this.headerHeight=t:this.rowHeightsMap.setValueAtIndex(this.hot.toPhysicalRow(e),t)}))}),!0),this.measuredRows=n.to+1,this.ghostTable.clean())}calculateAllRowsHeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{from:0,to:this.hot.countCols()-1},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=0;const n=this.hot.countRows()-1;let s=null;this.inProgress=!0;const i=()=>{if(!this.hot)return(0,o.cancelAnimationFrame)(s),void(this.inProgress=!1);this.calculateRowsHeight({from:r,to:Math.min(r+C.CALCULATION_STEP,n)},e,t),r=r+C.CALCULATION_STEP+1,r<n?s=(0,o.requestAnimationFrame)(i):((0,o.cancelAnimationFrame)(s),this.inProgress=!1,this.hot.view.adjustElementsSize(),this.hot.view._wt.wtOverlays.inlineStartOverlay.needFullRender&&this.hot.view._wt.wtOverlays.inlineStartOverlay.clone.draw())},a=this.getSyncCalculationLimit();a>=0&&(this.calculateRowsHeight({from:0,to:a},e,t),r=a+1),r<n?i():(this.inProgress=!1,this.hot.view.adjustElementsSize())}recalculateAllRowsHeight(){this.hot.view.isVisible()&&this.calculateAllRowsHeight({from:0,to:this.hot.countCols()-1},!0)}getSyncCalculationLimit(){const e=this.hot.getSettings()[m];let t=C.SYNC_CALCULATION_LIMIT;const r=this.hot.countRows()-1;return(0,l.isObject)(e)&&(t=e.syncLimit,(0,c.isPercentValue)(t)?t=(0,h.valueAccordingPercent)(r,t):t>>=0),Math.min(t,r)}getRowHeight(e,t){const r=e<0?this.headerHeight:this.rowHeightsMap.getValueAtIndex(this.hot.toPhysicalRow(e));let n=t;return null!==r&&r>(t||0)&&(n=r),n}getColumnHeaderHeight(){return this.headerHeight}getFirstVisibleRow(){var e;return null!==(e=this.hot.getFirstRenderedVisibleRow())&&void 0!==e?e:-1}getLastVisibleRow(){var e;return null!==(e=this.hot.getLastRenderedVisibleRow())&&void 0!==e?e:-1}clearCache(e){this.headerHeight=null,Array.isArray(e)?this.hot.batchExecution((()=>{e.forEach((e=>{this.rowHeightsMap.setValueAtIndex(e,null)}))}),!0):this.rowHeightsMap.clear()}clearCacheByRange(e){const{from:t,to:r}="number"==typeof e?{from:e,to:e}:e;this.hot.batchExecution((()=>{(0,h.rangeEach)(Math.min(t,r),Math.max(t,r),(e=>{this.rowHeightsMap.setValueAtIndex(e,null)}))}),!0)}isNeedRecalculate(){return!!this.rowHeightsMap.getValues().slice(0,this.measuredRows).filter((e=>null===e)).length}destroy(){this.ghostTable.clean(),super.destroy()}}function v(e){const t={from:0,to:this.hot.countCols()-1};e.forEach((e=>{this.samplesGenerator.generateRowSamples(e,t).forEach(((e,t)=>this.ghostTable.addRow(t,e)))})),this.ghostTable.rows.length&&(this.hot.batchExecution((()=>{this.ghostTable.getHeights(((e,t)=>{const r=this.hot.toPhysicalRow(e);this.rowHeightsMap.setValueAtIndex(r,t)}))}),!0),this.ghostTable.clean())}function R(){var e,t,r;this.calculateVisibleRowsHeight(),this.inProgress||(f(w,this,v).call(this,g(E,this)),t=this,r=[],(e=E).set(f(e,t),r))}function S(e,t,r){let n=e;return r&&(this.calculateRowsHeight(t,void 0,!0),n=this.getRowHeight(t)),n}function T(e,t){t||this.recalculateAllRowsHeight()}function N(e){const t=e.reduce(((e,t)=>{let[r]=t;return-1===e.indexOf(r)&&e.push(r),e}),[]);g(E,this).push(...t)}function M(){this.recalculateAllRowsHeight()}function _(e){const t=e.reduce(((e,t)=>{var r;const n=null===(r=t.address)||void 0===r?void 0:r.row;if(Number.isInteger(n)){const t=this.hot.toVisualRow(n);-1===e.indexOf(t)&&e.push(t)}return e}),[]);g(E,this).push(...t)}t.AutoRowSize=C},27864:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(7496);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.AutoRowSize=n.AutoRowSize},46222:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724);var s=n(r(85707)),i=r(75089),o=r(28197),a=r(62577),l=r(10587),h=r(70505),u=r(69615);function c(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function d(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}o.Hooks.getSingleton().register("modifyAutofillRange"),o.Hooks.getSingleton().register("beforeAutofill"),o.Hooks.getSingleton().register("afterAutofill");const p=t.PLUGIN_KEY="autofill",g=t.PLUGIN_PRIORITY=20,f=["fillHandle"];var m=new WeakSet;class y extends i.BasePlugin{constructor(){super(...arguments),c(this,m),(0,s.default)(this,"addingStarted",!1),(0,s.default)(this,"mouseDownOnCellCorner",!1),(0,s.default)(this,"mouseDragOutside",!1),(0,s.default)(this,"handleDraggedCells",0),(0,s.default)(this,"directions",[]),(0,s.default)(this,"autoInsertRow",!1)}static get PLUGIN_KEY(){return p}static get PLUGIN_PRIORITY(){return g}static get SETTING_KEYS(){return[p,...f]}isEnabled(){return this.hot.getSettings().fillHandle}enablePlugin(){this.enabled||(this.mapSettings(),this.registerEvents(),this.addHook("afterOnCellCornerMouseDown",(e=>d(m,this,w).call(this,e))),this.addHook("afterOnCellCornerDblClick",(e=>d(m,this,E).call(this,e))),this.addHook("beforeOnCellMouseOver",((e,t)=>d(m,this,C).call(this,t))),super.enablePlugin())}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}disablePlugin(){this.clearMappedSettings(),super.disablePlugin()}getSelectionData(){const e=this.hot.getSelectedRangeLast(),{row:t,col:r}=e.getTopStartCorner(),{row:n,col:s}=e.getBottomEndCorner(),i=this.hot.runHooks("modifyCopyableRange",[{startRow:t,startCol:r,endRow:n,endCol:s}]),o=[],a=[],h=[];return(0,l.arrayEach)(i,(e=>{for(let t=e.startRow;t<=e.endRow;t+=1)-1===o.indexOf(t)&&o.push(t);for(let t=e.startCol;t<=e.endCol;t+=1)-1===a.indexOf(t)&&a.push(t)})),(0,l.arrayEach)(o,(e=>{const t=[];(0,l.arrayEach)(a,(r=>{t.push(this.hot.getCopyableData(e,r))})),h.push(t)})),h}fillIn(){if(this.hot.selection.highlight.getFill().isEmpty())return!1;const[e,t,r,n]=this.hot.selection.highlight.getFill().getVisualCorners(),s=this.hot.getSelectedRangeLast(),i=s.getTopStartCorner(),o=s.getBottomEndCorner();this.resetSelectionOfDraggedArea();const a=[i.row,i.col,o.row,o.col],l=this.hot.runHooks("modifyAutofillRange",[Math.min(i.row,e),Math.min(i.col,t),Math.max(o.row,r),Math.max(o.col,n)],a),{directionOfDrag:h,startOfDragCoords:c,endOfDragCoords:d}=(0,u.getDragDirectionAndRange)(a,l,((e,t)=>this.hot._createCellCoords(e,t)));if(c&&c.row>-1&&c.col>-1){const e=this.getSelectionData(),t=s.clone(),r=this.hot._createCellRange(c,c,d),n=this.hot.runHooks("beforeAutofill",e,t,r,h);if(!1===n)return this.hot.selection.highlight.getFill().clear(),this.hot.render(),!1;let i=n;const o=n;if(["up","left"].indexOf(h)>-1&&(1!==o.length||0!==o[0].length))if(i=[],"up"===h){const e=d.row-c.row+1,t=e%o.length;for(let r=0;r<e;r++)i.push(o[(r+(o.length-t))%o.length])}else{const e=d.col-c.col+1,t=e%o[0].length;for(let r=0;r<o.length;r++){i.push([]);for(let n=0;n<e;n++)i[r].push(o[r][(n+(o[r].length-t))%o[r].length])}}this.hot.populateFromArray(c.row,c.col,i,d.row,d.col,`${this.pluginName}.fill`,null),this.setSelection(l),this.hot.runHooks("afterAutofill",i,t,r,h),this.hot.render()}else this.hot.view.render();return!0}reduceSelectionAreaIfNeeded(e){return e.row<0&&(e.row=0),e.col<0&&(e.col=0),e}getCoordsOfDragAndDropBorders(e){const t=this.hot.getSelectedRangeLast(),r=t.getBottomEndCorner();let n=e;if(this.directions.includes(u.DIRECTIONS.vertical)&&this.directions.includes(u.DIRECTIONS.horizontal)){const s=t.getTopStartCorner();(r.col<=e.col||s.col>=e.col)&&(n=this.hot._createCellCoords(r.row,e.col)),(r.row<e.row||s.row>e.row)&&(n=this.hot._createCellCoords(e.row,r.col))}else if(this.directions.includes(u.DIRECTIONS.vertical))n=this.hot._createCellCoords(e.row,r.col);else{if(!this.directions.includes(u.DIRECTIONS.horizontal))return;n=this.hot._createCellCoords(r.row,e.col)}return this.reduceSelectionAreaIfNeeded(n)}showBorder(e){const t=this.getCoordsOfDragAndDropBorders(e);t&&this.redrawBorders(t)}addRow(){this.hot._registerTimeout((()=>{this.hot.alter("insert_row_below",void 0,1,`${this.pluginName}.fill`),this.addingStarted=!1}),200)}addNewRowIfNeeded(){if(!this.hot.selection.highlight.getFill().isEmpty()&&!1===this.addingStarted&&this.autoInsertRow){const e=this.hot.getSelectedLast(),t=this.hot.selection.highlight.getFill().getVisualCorners(),r=this.hot.countRows();e[2]<r-1&&t[2]===r-1&&(this.addingStarted=!0,this.addRow())}}getIndexOfLastAdjacentFilledInRow(e){const t=this.hot.getData(),r=this.hot.countRows();let n;for(let s=e[2]+1;s<r;s++){for(let r=e[1];r<=e[3];r++){const e=t[s][r];if(!(0,h.isEmpty)(e))return-1}const r=t[s][e[1]-1],i=t[s][e[3]+1];(0,h.isEmpty)(r)&&(0,h.isEmpty)(i)||(n=s)}return n}addSelectionFromStartAreaToSpecificRowIndex(e,t){this.hot.selection.highlight.getFill().clear().add(this.hot._createCellCoords(e[0],e[1])).add(this.hot._createCellCoords(t,e[3])).commit()}setSelection(e){this.hot.selectCell(...(0,l.arrayMap)(e,(e=>Math.max(e,0))),!1,!1)}selectAdjacent(){const e=this.hot.getSelectedLast(),t=this.getIndexOfLastAdjacentFilledInRow(e);return-1!==t&&void 0!==t&&(this.addSelectionFromStartAreaToSpecificRowIndex(e,t),!0)}resetSelectionOfDraggedArea(){this.handleDraggedCells=0,this.hot.selection.highlight.getFill().clear()}redrawBorders(e){this.hot.selection.highlight.getFill().clear().add(this.hot.getSelectedRangeLast().from).add(this.hot.getSelectedRangeLast().to).add(e).commit(),this.hot.view.render()}getIfMouseWasDraggedOutside(e){const{documentElement:t}=this.hot.rootDocument,r=(0,a.offset)(this.hot.table).top-(this.hot.rootWindow.pageYOffset||t.scrollTop)+(0,a.outerHeight)(this.hot.table),n=(0,a.offset)(this.hot.table).left-(this.hot.rootWindow.pageXOffset||t.scrollLeft)+(0,a.outerWidth)(this.hot.table);return e.clientY>r&&e.clientX<=n}registerEvents(){const{documentElement:e}=this.hot.rootDocument;this.eventManager.addEventListener(e,"mouseup",(()=>d(m,this,v).call(this))),this.eventManager.addEventListener(e,"mousemove",(e=>d(m,this,R).call(this,e)))}clearMappedSettings(){this.directions.length=0,this.autoInsertRow=!1}mapSettings(){const e=(0,u.getMappedFillHandleSetting)(this.hot.getSettings().fillHandle);this.directions=e.directions,this.autoInsertRow=e.autoInsertRow}destroy(){super.destroy()}}function E(){this.selectAdjacent()&&this.fillIn()}function w(){this.handleDraggedCells=1,this.mouseDownOnCellCorner=!0}function C(e){this.mouseDownOnCellCorner&&!this.hot.view.isMouseDown()&&this.handleDraggedCells&&(this.handleDraggedCells+=1,this.showBorder(e),this.addNewRowIfNeeded())}function v(){this.handleDraggedCells&&(this.handleDraggedCells>1&&this.fillIn(),this.handleDraggedCells=0,this.mouseDownOnCellCorner=!1)}function R(e){const t=this.getIfMouseWasDraggedOutside(e);!1===this.addingStarted&&this.handleDraggedCells>0&&t?(this.mouseDragOutside=!0,this.addingStarted=!0):this.mouseDragOutside=!1,this.mouseDragOutside&&this.autoInsertRow&&this.addRow()}t.Autofill=y},32894:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(46222);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.Autofill=n.Autofill},69615:(e,t,r)=>{"use strict";t.__esModule=!0,t.getDragDirectionAndRange=function(e,t,r){let n,s,i;t[0]===e[0]&&t[1]<e[1]?(i="left",n=r(t[0],t[1]),s=r(t[2],e[1]-1)):t[2]===e[2]&&t[0]===e[0]&&t[3]>e[3]?(i="right",n=r(t[0],e[3]+1),s=r(t[2],t[3])):t[0]<e[0]&&t[1]===e[1]?(i="up",n=r(t[0],t[1]),s=r(e[0]-1,t[3])):t[2]>e[2]&&t[1]===e[1]&&(i="down",n=r(e[2]+1,t[1]),s=r(t[2],t[3]));n&&n.normalize();s&&s.normalize();return{directionOfDrag:i,startOfDragCoords:n,endOfDragCoords:s}},t.getMappedFillHandleSetting=function(e){const t={};!0===e?(t.directions=Object.keys(i),t.autoInsertRow=!0):(0,n.isObject)(e)?((0,s.isDefined)(e.autoInsertRow)?e.direction===i.horizontal?t.autoInsertRow=!1:t.autoInsertRow=e.autoInsertRow:t.autoInsertRow=!1,(0,s.isDefined)(e.direction)?t.directions=[e.direction]:t.directions=Object.keys(i)):"string"==typeof e?(t.directions=[e],t.autoInsertRow=!0):(t.directions=[],t.autoInsertRow=!1);return t};var n=r(25499),s=r(70505);const i=t.DIRECTIONS={horizontal:"horizontal",vertical:"vertical"}},57764:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(69655);var s=n(r(85707)),i=r(25499),o=r(10587),a=r(74672),l=r(1791),h=r(8266),u=r(54852),c=r(17027),d=n(r(3849));function p(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function g(e,t){return e.get(f(e,t))}function f(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const m=new Map([["plugin",a.hasPlugin],["cell-type",l.hasCellType],["editor",h.hasEditor],["renderer",u.hasRenderer],["validator",c.hasValidator]]),y=t.defaultMainSettingSymbol=Symbol("mainSetting"),E=t.PLUGIN_KEY="base",w=[];let C=null;var v=new WeakMap,R=new WeakSet;function S(e){if(!e)return!1;const t=this.constructor.SETTING_KEYS;if("boolean"==typeof t)return t;for(let r=0;r<t.length;r++)if(void 0!==e[t[r]])return!0;return!1}t.BasePlugin=class{static get PLUGIN_KEY(){return E}static get SETTING_KEYS(){return[this.PLUGIN_KEY]}static get DEFAULT_SETTINGS(){return{}}constructor(e){var t,r;p(t=this,r=R),r.add(t),(0,s.default)(this,"eventManager",new d.default(this)),(0,s.default)(this,"pluginName",null),(0,s.default)(this,"pluginsInitializedCallbacks",[]),(0,s.default)(this,"isPluginsReady",!1),(0,s.default)(this,"enabled",!1),(0,s.default)(this,"initialized",!1),function(e,t,r){p(e,t),t.set(e,r)}(this,v,{}),(0,i.defineGetter)(this,"hot",e,{writable:!1}),C=null,this.hot.addHook("afterPluginsInitialized",(()=>this.onAfterPluginsInitialized())),this.hot.addHook("afterUpdateSettings",(e=>this.onUpdateSettings(e))),this.hot.addHook("beforeInit",(()=>this.init()))}init(){this.pluginName=this.hot.getPluginName(this);const e=this.constructor.PLUGIN_DEPS,t=Array.isArray(e)?e:[];if(t.length>0){const e=[];if(t.forEach((t=>{const[r,n]=t.split(":");if(!m.has(r))throw new Error(`Unknown plugin dependency type "${r}" was found.`);m.get(r)(n)||e.push(` - ${n} (${r})`)})),e.length>0){const t=[`The ${this.pluginName} plugin requires the following modules:\n`,`${e.join("\n")}\n`].join("");w.push(t)}}C||(C=(0,a.getPluginsNames)()),C.indexOf(this.pluginName)>=0&&C.splice(C.indexOf(this.pluginName),1),this.hot.addHookOnce("afterPluginsInitialized",(()=>{this.isEnabled&&this.isEnabled()&&this.enablePlugin()}));if(0===C.length){if(w.length>0){const e=[`${w.join("\n")}\n`,"You have to import and register them manually."].join("");throw w.length=0,new Error(e)}this.hot.runHooks("afterPluginsInitialized")}this.initialized=!0}enablePlugin(){this.enabled=!0}disablePlugin(){var e;null===(e=this.eventManager)||void 0===e||e.clear(),this.clearHooks(),this.enabled=!1}getSetting(e){const t=this.hot.getSettings()[this.constructor.PLUGIN_KEY];if(void 0===e)return t;const r=this.constructor.DEFAULT_SETTINGS;var n,s;return(Array.isArray(t)||(0,i.isObject)(t))&&r[y]===e?Array.isArray(t)?t:null!==(n=t[e])&&void 0!==n?n:r[e]:(0,i.isObject)(t)&&null!==(s=t[e])&&void 0!==s?s:r[e]}addHook(e,t,r){g(v,this)[e]=g(v,this)[e]||[];const n=g(v,this)[e];this.hot.addHook(e,t,r),n.push(t),g(v,this)[e]=n}removeHooks(e){(0,o.arrayEach)(g(v,this)[e]||[],(t=>{this.hot.removeHook(e,t)}))}clearHooks(){const e=g(v,this);(0,i.objectEach)(e,((e,t)=>this.removeHooks(t))),e.length=0}callOnPluginsReady(e){this.isPluginsReady?e():this.pluginsInitializedCallbacks.push(e)}onAfterPluginsInitialized(){(0,o.arrayEach)(this.pluginsInitializedCallbacks,(e=>e())),this.pluginsInitializedCallbacks.length=0,this.isPluginsReady=!0}onUpdateSettings(e){const t=f(R,this,S).call(this,e);this.isEnabled&&(this.enabled&&!this.isEnabled()&&this.disablePlugin(),!this.enabled&&this.isEnabled()&&this.enablePlugin(),this.enabled&&this.isEnabled()&&t&&this.updatePlugin(e))}updatePlugin(){}destroy(){var e;null===(e=this.eventManager)||void 0===e||e.destroy(),this.clearHooks(),(0,i.objectEach)(this,((e,t)=>{"hot"!==t&&(this[t]=null)})),delete this.t,delete this.hot}}},75089:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(57764);t.PLUGIN_KEY=n.PLUGIN_KEY,t.BasePlugin=n.BasePlugin,t.defaultMainSettingSymbol=n.defaultMainSettingSymbol},73296:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=r(75089),o=n(r(32022)),a=n(r(44147));function l(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}const h=t.PLUGIN_KEY="bindRowsWithHeaders",u=t.PLUGIN_PRIORITY=210,c=new Map([["loose",o.default],["strict",a.default]]);var d=new WeakSet;class p extends i.BasePlugin{constructor(){super(...arguments),l(this,d),(0,s.default)(this,"headerIndexes",null)}static get PLUGIN_KEY(){return h}static get PLUGIN_PRIORITY(){return u}isEnabled(){return!!this.hot.getSettings()[h]}enablePlugin(){var e;if(this.enabled)return;const t=null!==(e=c.get(this.getSetting()))&&void 0!==e?e:c.get("loose");this.headerIndexes=this.hot.rowIndexMapper.registerMap("bindRowsWithHeaders",new t),this.addHook("modifyRowHeader",(e=>function(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}(d,this,g).call(this,e))),super.enablePlugin()}disablePlugin(){this.hot.rowIndexMapper.unregisterMap("bindRowsWithHeaders"),super.disablePlugin()}destroy(){super.destroy()}}function g(e){return this.headerIndexes.getValueAtIndex(this.hot.toPhysicalRow(e))}t.BindRowsWithHeaders=p},816:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(73296);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.BindRowsWithHeaders=n.BindRowsWithHeaders},32022:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(61149);const{getListWithInsertedItems:s,getListWithRemovedItems:i}=(0,n.alterUtilsFactory)("physicallyIndexed");class o extends n.IndexMap{constructor(){super((e=>e))}insert(e,t){const r=(0,n.getIncreasedIndexes)(this.indexedValues,t);this.indexedValues=s(r,e,t,this.initValueOrFn),super.insert(e,t)}remove(e){const t=i(this.indexedValues,e);this.indexedValues=(0,n.getDecreasedIndexes)(t,e),super.remove(e)}}t.default=o},44147:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(61149);const{getListWithInsertedItems:s,getListWithRemovedItems:i}=(0,n.alterUtilsFactory)("physicallyIndexed");class o extends n.IndexMap{constructor(){super((e=>e))}insert(e,t){this.indexedValues=s(this.indexedValues,e,t,((e,t)=>this.getNextValue(t))),super.insert(e,t)}remove(e){this.indexedValues=i(this.indexedValues,e),super.remove(e)}getNextValue(e){return Math.max(...this.getValues())+1+e}}t.default=o},39152:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724);var s=n(r(85707)),i=r(75089),o=r(10587),a=r(22137),l=r(14859),h=r(62577),u=r(77661),c=r(92399),d=r(71120);function p(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function g(e,t){return e.get(m(e,t))}function f(e,t,r){return e.set(m(e,t),r),r}function m(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const y=t.PLUGIN_KEY="collapsibleColumns",E=t.PLUGIN_PRIORITY=290,w=["nestedHeaders"],C="collapsibleIndicator",v=y,R=new Map([["collapse",{hideColumn:!0,beforeHook:"beforeColumnCollapse",afterHook:"afterColumnCollapse"}],["expand",{hideColumn:!1,beforeHook:"beforeColumnExpand",afterHook:"afterColumnExpand"}]]);var S=new WeakMap,T=new WeakSet;class N extends i.BasePlugin{constructor(){var e,t;super(...arguments),p(e=this,t=T),t.add(e),(0,s.default)(this,"nestedHeadersPlugin",null),(0,s.default)(this,"headerStateManager",null),function(e,t,r){p(e,t),t.set(e,r)}(this,S,null)}static get PLUGIN_KEY(){return y}static get PLUGIN_PRIORITY(){return E}static get PLUGIN_DEPS(){return["plugin:NestedHeaders"]}static get SETTING_KEYS(){return[y,...w]}isEnabled(){return!!this.hot.getSettings()[y]}enablePlugin(){var e=this;if(this.enabled)return;const{nestedHeaders:t}=this.hot.getSettings();t||(0,l.warn)("You need to configure the Nested Headers plugin in order to use collapsible headers."),f(S,this,this.hot.columnIndexMapper.createAndRegisterIndexMap(this.pluginName,"hiding")),this.nestedHeadersPlugin=this.hot.getPlugin("nestedHeaders"),this.headerStateManager=this.nestedHeadersPlugin.getStateManager(),this.addHook("init",(()=>m(T,this,b).call(this))),this.addHook("afterLoadData",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return m(T,e,O).call(e,...r)})),this.addHook("afterGetColHeader",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return m(T,e,M).call(e,...r)})),this.addHook("beforeOnCellMouseDown",((e,t,r)=>m(T,this,_).call(this,e,t,r))),this.registerShortcuts(),super.enablePlugin(),this.updatePlugin()}updatePlugin(){if(this.hot.view){if(!this.nestedHeadersPlugin.detectedOverlappedHeaders){const{collapsibleColumns:e}=this.hot.getSettings();"boolean"==typeof e?this.headerStateManager.mapState((e=>({collapsible:e.origColspan>1}))):Array.isArray(e)&&(this.headerStateManager.mapState((()=>({collapsible:!1}))),this.headerStateManager.mergeStateWith(e))}super.updatePlugin()}}disablePlugin(){this.hot.columnIndexMapper.unregisterMap(this.pluginName),f(S,this,null),this.nestedHeadersPlugin=null,this.unregisterShortcuts(),this.clearButtons(),super.disablePlugin()}registerShortcuts(){this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Enter"]],callback:()=>{var e;const{row:t,col:r}=this.hot.getSelectedRangeLast().highlight,{collapsible:n,isCollapsed:s,columnIndex:i}=null!==(e=this.headerStateManager.getHeaderTreeNodeData(t,r))&&void 0!==e?e:{};if(n)return s?this.expandSection({row:t,col:i}):this.collapseSection({row:t,col:i}),!1},runOnlyIf:()=>{var e,t;return(null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.isSingle())&&(null===(t=this.hot.getSelectedRangeLast())||void 0===t?void 0:t.highlight.isHeader())},group:v,relativeToGroup:c.EDITOR_EDIT_GROUP,position:"before"})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(v)}clearButtons(){if(!this.hot.view)return;const e=this.hot.view._wt.getSetting("columnHeaders").length,t=this.hot.view._wt.wtTable.THEAD,r=this.hot.view._wt.wtOverlays.topOverlay.clone.wtTable.THEAD,n=this.hot.view._wt.wtOverlays.topInlineStartCornerOverlay?this.hot.view._wt.wtOverlays.topInlineStartCornerOverlay.clone.wtTable.THEAD:null,s=function(e){e&&e.parentNode.removeChild(e)};(0,a.rangeEach)(0,e-1,(e=>{const i=t.childNodes[e],o=r.childNodes[e],l=n?n.childNodes[e]:null;(0,a.rangeEach)(0,i.childNodes.length-1,(e=>{let t=i.childNodes[e].querySelector(`.${C}`);s(t),o&&o.childNodes[e]&&(t=o.childNodes[e].querySelector(`.${C}`),s(t)),n&&l&&l.childNodes[e]&&(t=l.childNodes[e].querySelector(`.${C}`),s(t))}))}),!0)}expandSection(e){this.toggleCollapsibleSection([e],"expand")}collapseSection(e){this.toggleCollapsibleSection([e],"collapse")}toggleAllCollapsibleSections(e){const t=this.headerStateManager.mapNodes((t=>{const{collapsible:r,origColspan:n,headerLevel:s,columnIndex:i,isCollapsed:o}=t;if(!0===r&&n>1&&(o&&"expand"===e||!o&&"collapse"===e))return{row:this.headerStateManager.levelToRowCoords(s),col:i}}));this.toggleCollapsibleSection(t,e)}collapseAll(){this.toggleAllCollapsibleSections("collapse")}expandAll(){this.toggleAllCollapsibleSections("expand")}toggleCollapsibleSection(e,t){if(!R.has(t))throw new Error(`Unsupported action is passed (${t}).`);if(!Array.isArray(e))return;const r=(0,o.arrayFilter)(e,(e=>{let{row:t}=e;return t<0}));let n=r.length>0;(0,o.arrayEach)(r,(e=>{var r;let{row:s,col:i}=e;const{collapsible:o,isCollapsed:a}=null!==(r=this.headerStateManager.getHeaderSettings(s,i))&&void 0!==r?r:{};if(!o||a&&"collapse"===t||!a&&"expand"===t)return n=!1,!1}));const s=[],i=[];n&&(0,o.arrayEach)(r,(e=>{let{row:r,col:n}=e;const{colspanCompensation:o,affectedColumns:a,rollbackModification:l}=this.headerStateManager.triggerNodeModification(t,r,n);o>0&&(i.push(...a),s.push(l))}));const a=this.getCollapsedColumns();let l=[];"collapse"===t?l=(0,o.arrayUnique)([...a,...i]):"expand"===t&&(l=(0,o.arrayFilter)(a,(e=>!i.includes(e))));const h=R.get(t);if(!1===this.hot.runHooks(h.beforeHook,a,l,n))return void(0,o.arrayEach)(s,(e=>{e()}));this.hot.batchExecution((()=>{(0,o.arrayEach)(i,(e=>{g(S,this).setValueAtIndex(this.hot.toPhysicalColumn(e),h.hideColumn)}))}),!0);const u=this.getCollapsedColumns().length!==a.length,c=this.hot.getSelectedRangeLast();if("collapse"===t&&u&&c){const{row:e,col:t}=c.highlight;if((this.hot.rowIndexMapper.isHidden(e)||this.hot.columnIndexMapper.isHidden(t))&&i.includes(t)){const r=e>=0?this.hot.rowIndexMapper.getNearestNotHiddenIndex(e,1,!0):e,n=t>=0?this.hot.columnIndexMapper.getNearestNotHiddenIndex(t,1,!0):t;null!==r&&null!==n&&this.hot.selectCell(r,n)}}this.hot.runHooks(h.afterHook,a,l,n,u),this.hot.render(),this.hot.view.adjustElementsSize()}getCollapsedColumns(){return g(S,this).getHiddenIndexes()}destroy(){f(S,this,null),super.destroy()}}function M(e,t,r){var n;const{collapsible:s,origColspan:i,isCollapsed:o}=null!==(n=this.headerStateManager.getHeaderSettings(r,e))&&void 0!==n?n:{},a=s&&i>1&&e>=this.hot.getSettings().fixedColumnsStart,l=this.hot.getSettings().ariaTags;let u=t.querySelector(`.${C}`);var c;((0,h.removeAttribute)(t,[(0,d.A11Y_EXPANDED)("")[0]]),a)?(u||(u=this.hot.rootDocument.createElement("div"),(0,h.addClass)(u,C),t.querySelector("div:first-child").appendChild(u)),(0,h.removeClass)(u,["collapsed","expanded"]),o?((0,h.addClass)(u,"collapsed"),(0,h.fastInnerText)(u,"+"),l&&(0,h.setAttribute)(t,...(0,d.A11Y_EXPANDED)(!1))):((0,h.addClass)(u,"expanded"),(0,h.fastInnerText)(u,"-"),l&&(0,h.setAttribute)(t,...(0,d.A11Y_EXPANDED)(!0))),l&&(0,h.setAttribute)(u,...(0,d.A11Y_HIDDEN)())):null===(c=u)||void 0===c||c.remove()}function _(e,t){(0,h.hasClass)(e.target,C)&&((0,h.hasClass)(e.target,"expanded")?(this.eventManager.fireEvent(e.target,"mouseup"),this.toggleCollapsibleSection([t],"collapse")):(0,h.hasClass)(e.target,"collapsed")&&(this.eventManager.fireEvent(e.target,"mouseup"),this.toggleCollapsibleSection([t],"expand")),(0,u.stopImmediatePropagation)(e))}function b(){this.updatePlugin()}function O(e,t){t||this.updatePlugin()}t.CollapsibleColumns=N},96987:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(39152);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.CollapsibleColumns=n.CollapsibleColumns},72036:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(63333);var s=n(r(85707)),i=r(62577),o=r(70505),a=r(25499),l=r(89804),h=r(10587),u=r(75089),c=r(61149),d=r(28197),p=r(6433),g=r(92399),f=r(41191),m=r(72061),y=r(4968),E=r(80118),w=r(71120);function C(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function v(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const R=t.PLUGIN_KEY="columnSorting",S=t.PLUGIN_PRIORITY=50,T=t.APPEND_COLUMN_CONFIG_STRATEGY="append",N=t.REPLACE_COLUMN_CONFIG_STRATEGY="replace",M=R;(0,E.registerRootComparator)(R,y.rootComparator),d.Hooks.getSingleton().register("beforeColumnSort"),d.Hooks.getSingleton().register("afterColumnSort");var _=new WeakSet;class b extends u.BasePlugin{constructor(){super(...arguments),C(this,_),(0,s.default)(this,"columnStatesManager",null),(0,s.default)(this,"columnMetaCache",null),(0,s.default)(this,"pluginKey",R),(0,s.default)(this,"indexesSequenceCache",null)}static get PLUGIN_KEY(){return R}static get PLUGIN_PRIORITY(){return S}isEnabled(){return!!this.hot.getSettings()[this.pluginKey]}enablePlugin(){var e=this;this.enabled||(this.columnStatesManager=new p.ColumnStatesManager(this.hot,`${this.pluginKey}.sortingStates`),this.columnMetaCache=new c.PhysicalIndexToValueMap((e=>{let t=this.hot.toVisualColumn(e);return null===t&&(t=e),this.getMergedPluginSettings(t)})),this.hot.columnIndexMapper.registerMap(`${this.pluginKey}.columnMeta`,this.columnMetaCache),this.addHook("afterGetColHeader",((e,t)=>v(_,this,A).call(this,e,t))),this.addHook("beforeOnCellMouseDown",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return v(_,e,x).call(e,...r)})),this.addHook("afterOnCellMouseDown",((e,t)=>this.onAfterOnCellMouseDown(e,t))),this.addHook("afterInit",(()=>v(_,this,O).call(this))),this.addHook("afterLoadData",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return v(_,e,I).call(e,...r)})),this.hot.view&&v(_,this,O).call(this),this.registerShortcuts(),super.enablePlugin())}disablePlugin(){const e=(e,t)=>{const r=(0,f.getHeaderSpanElement)(t);!1!==(0,f.isFirstLevelColumnHeader)(e,t)&&null!==r&&this.updateHeaderClasses(r)};this.hot.addHook("afterGetColHeader",e),this.hot.addHookOnce("afterViewRender",(()=>{this.hot.removeHook("afterGetColHeader",e)})),this.hot.batchExecution((()=>{null!==this.indexesSequenceCache&&(this.hot.rowIndexMapper.setIndexesSequence(this.indexesSequenceCache.getValues()),this.hot.rowIndexMapper.unregisterMap(this.pluginKey),this.indexesSequenceCache=null)}),!0),this.hot.columnIndexMapper.unregisterMap(`${this.pluginKey}.columnMeta`),this.columnStatesManager.destroy(),this.columnMetaCache=null,this.columnStatesManager=null,this.unregisterShortcuts(),super.disablePlugin()}registerShortcuts(){this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Enter"]],callback:()=>{const{highlight:e}=this.hot.getSelectedRangeLast();return this.sort(this.getColumnNextConfig(e.col)),!1},runOnlyIf:()=>{var e,t;const r=null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight;return r&&(null===(t=this.hot.getSelectedRangeLast())||void 0===t?void 0:t.isSingle())&&this.hot.selection.isCellVisible(r)&&-1===r.row&&r.col>=0},relativeToGroup:g.EDITOR_EDIT_GROUP,position:"before",group:M})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(M)}sort(e){const t=this.getSortConfig(),r=this.getNormalizedSortConfigs(e),n=this.areValidSortConfigs(r);!1!==this.hot.runHooks("beforeColumnSort",t,r,n)&&(0===t.length&&null===this.indexesSequenceCache&&(this.indexesSequenceCache=this.hot.rowIndexMapper.registerMap(this.pluginKey,new c.IndexesSequence),this.indexesSequenceCache.setValues(this.hot.rowIndexMapper.getIndexesSequence())),n&&(this.columnStatesManager.setSortStates(r),this.sortByPresetSortStates(r),this.saveAllSortSettings(r)),this.hot.runHooks("afterColumnSort",t,n?r:t,n),n&&(this.hot.render(),this.hot.forceFullRender=!1,this.hot.view.render()))}clearSort(){this.sort([])}isSorted(){return this.enabled&&!this.columnStatesManager.isListOfSortedColumnsEmpty()}getSortConfig(e){return(0,o.isDefined)(e)?this.columnStatesManager.getColumnSortState(e):this.columnStatesManager.getSortStates()}setSortConfig(e){const t=this.getNormalizedSortConfigs(e);this.areValidSortConfigs(t)&&this.columnStatesManager.setSortStates(t)}getNormalizedSortConfigs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Array.isArray(e)?e.slice(0,1):[e]}areValidSortConfigs(e){const t=this.hot.countCols();return(0,f.areValidSortStates)(e)&&e.every((e=>{let{column:r}=e;return r<=t&&r>=0}))}saveAllSortSettings(e){const t=this.columnStatesManager.getAllColumnsProperties();t.initialConfig=(0,h.arrayMap)(e,(e=>{let{column:t,...r}=e;return{column:this.hot.toPhysicalColumn(t),...r}})),this.hot.runHooks("persistentStateSave","columnSorting",t)}getAllSavedSortSettings(){const e={};this.hot.runHooks("persistentStateLoad","columnSorting",e);const t=e.value,r=e=>{let{column:t,...r}=e;return{column:this.hot.toVisualColumn(t),...r}};return(0,o.isDefined)(t)&&Array.isArray(t.initialConfig)&&(t.initialConfig=(0,h.arrayMap)(t.initialConfig,r)),t}getColumnNextConfig(e){const t=this.columnStatesManager.getSortOrderOfColumn(e);if((0,o.isDefined)(t)){const r=(0,f.getNextSortOrder)(t);return(0,o.isDefined)(r)?{column:e,sortOrder:r}:void 0}const r=this.hot.countCols();if(Number.isInteger(e)&&e>=0&&e<r)return{column:e,sortOrder:(0,f.getNextSortOrder)()}}getNextSortConfig(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:T;const r=this.columnStatesManager.getIndexOfColumnInSortQueue(e),n=-1!==r,s=this.getSortConfig(),i=this.getColumnNextConfig(e);if(n){if((0,o.isUndefined)(i))return[...s.slice(0,r),...s.slice(r+1)];if(t===T)return[...s.slice(0,r),...s.slice(r+1),i];if(t===N)return[...s.slice(0,r),i,...s.slice(r+1)]}return(0,o.isDefined)(i)?s.concat(i):s}getPluginColumnConfig(e){if((0,a.isObject)(e)){const t=e[this.pluginKey];if((0,a.isObject)(t))return t}return{}}getMergedPluginSettings(e){const t=this.hot.getSettings()[this.pluginKey],r=this.columnStatesManager.getAllColumnsProperties(),n=this.hot.getCellMeta(0,e),s=Object.getPrototypeOf(n);return Array.isArray(s.columns)?Object.assign(r,t,this.getPluginColumnConfig(s.columns[e])):(0,l.isFunction)(s.columns)?Object.assign(r,t,this.getPluginColumnConfig(s.columns(e))):Object.assign(r,t)}getFirstCellSettings(e){const t=this.hot.getCellMeta(0,e),r=Object.create(t);return r[this.pluginKey]=this.columnMetaCache.getValueAtIndex(this.hot.toPhysicalColumn(e)),r}getNumberOfRowsToSort(e){const t=this.hot.getSettings();return t.maxRows<=e?t.maxRows:e-t.minSpareRows}sortByPresetSortStates(e){if(this.hot.rowIndexMapper.setIndexesSequence(this.indexesSequenceCache.getValues()),0===e.length)return;const t=[],r=this.hot.countRows(),n=t=>(0,h.arrayMap)(e,(e=>this.hot.getDataAtCell(t,e.column)));for(let e=0;e<this.getNumberOfRowsToSort(r);e+=1)t.push([this.hot.toPhysicalRow(e)].concat(n(e)));const s=(0,h.arrayMap)(t,(e=>e[0]));(0,E.sort)(t,this.pluginKey,(0,h.arrayMap)(e,(e=>e.sortOrder)),(0,h.arrayMap)(e,(e=>this.getFirstCellSettings(e.column))));for(let e=t.length;e<r;e+=1)t.push([e].concat(n(e)));const i=(0,h.arrayMap)(t,(e=>e[0])),o=new Map((0,h.arrayMap)(s,((e,t)=>[e,i[t]]))),a=(0,h.arrayMap)(this.hot.rowIndexMapper.getIndexesSequence(),(e=>o.has(e)?o.get(e):e));this.hot.rowIndexMapper.setIndexesSequence(a)}sortBySettings(e){if((0,a.isObject)(e)){this.columnStatesManager.updateAllColumnsProperties(e);const t=e.initialConfig;(Array.isArray(t)||(0,a.isObject)(t))&&this.sort(t)}else this.hot.render()}updateHeaderClasses(e){if((0,i.removeClass)(e,(0,m.getClassesToRemove)(e)),!1!==this.enabled){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];(0,i.addClass)(e,(0,m.getClassesToAdd)(...r))}}onUpdateSettings(e){super.onUpdateSettings(),null!==this.columnMetaCache&&this.columnMetaCache.init(this.hot.columnIndexMapper.getNumberOfIndexes()),(0,o.isDefined)(e[this.pluginKey])&&this.sortBySettings(e[this.pluginKey])}wasClickableHeaderClicked(e,t){return this.getFirstCellSettings(t)[this.pluginKey].headerAction&&(0,i.hasClass)(e.target,f.HEADER_SPAN_CLASS)}onAfterOnCellMouseDown(e,t){if(!1!==(0,f.wasHeaderClickedProperly)(t.row,t.col,e)&&this.wasClickableHeaderClicked(e,t.col)){this.hot.getShortcutManager().isCtrlPressed()&&(this.hot.deselectCell(),this.hot.selectColumns(t.col));const e=this.hot.getActiveEditor(),r=this.getColumnNextConfig(t.col);null!=e&&e.isOpened()&&this.hot.getCellValidator(e.row,e.col)?this.hot.addHookOnce("postAfterValidate",(()=>{this.sort(r)})):this.sort(r)}}destroy(){var e;null===(e=this.columnStatesManager)||void 0===e||e.destroy(),super.destroy()}}function O(){const e=this.getAllSavedSortSettings();if((0,a.isObject)(e))this.sortBySettings(e);else{const e=this.hot.getSettings()[this.pluginKey];this.sortBySettings(e)}}function A(e,t){const r=(0,f.getHeaderSpanElement)(t);if(!1===(0,f.isFirstLevelColumnHeader)(e,t)||null===r)return;const n=this.getFirstCellSettings(e)[this.pluginKey],s=n.indicator,o=n.headerAction;if(this.updateHeaderClasses(r,this.columnStatesManager,e,s,o),this.hot.getSettings().ariaTags){const r=this.columnStatesManager.getSortOrderOfColumn(e);(0,i.setAttribute)(t,...(0,w.A11Y_SORT)(r?`${r}ending`:"none"))}}function I(e){!0===e&&this.hot.view&&v(_,this,O).call(this)}function x(e,t,r,n){!1!==(0,f.wasHeaderClickedProperly)(t.row,t.col,e)&&this.wasClickableHeaderClicked(e,t.col)&&this.hot.getShortcutManager().isCtrlPressed()&&(n.column=!0)}t.ColumnSorting=b},6433:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(94364);var s=n(r(85707)),i=r(25499),o=r(61149),a=r(70505);const l=["sortEmptyCells","indicator","headerAction","compareFunctionFactory"];t.ColumnStatesManager=class{constructor(e,t){(0,s.default)(this,"hot",void 0),(0,s.default)(this,"sortingStates",new o.LinkedPhysicalIndexToValueMap),(0,s.default)(this,"sortEmptyCells",false),(0,s.default)(this,"indicator",true),(0,s.default)(this,"headerAction",true),(0,s.default)(this,"compareFunctionFactory",void 0),(0,s.default)(this,"mapName",void 0),this.hot=e,this.mapName=t,this.hot.columnIndexMapper.registerMap(t,this.sortingStates)}updateAllColumnsProperties(e){(0,i.isObject)(e)&&(0,i.objectEach)(e,((e,t)=>{l.includes(t)&&(this[t]=e)}))}getAllColumnsProperties(){const e={sortEmptyCells:this.sortEmptyCells,indicator:this.indicator,headerAction:this.headerAction};return"function"==typeof this.compareFunctionFactory&&(e.compareFunctionFactory=this.compareFunctionFactory),e}getSortOrderOfColumn(e){var t;return null===(t=this.sortingStates.getValueAtIndex(this.hot.toPhysicalColumn(e)))||void 0===t?void 0:t.sortOrder}getIndexOfColumnInSortQueue(e){return e=this.hot.toPhysicalColumn(e),this.sortingStates.getEntries().findIndex((t=>{let[r]=t;return r===e}))}getNumberOfSortedColumns(){return this.sortingStates.getLength()}isListOfSortedColumnsEmpty(){return 0===this.getNumberOfSortedColumns()}isColumnSorted(e){return(0,i.isObject)(this.sortingStates.getValueAtIndex(this.hot.toPhysicalColumn(e)))}getSortStates(){if(null===this.sortingStates)return[];return this.sortingStates.getEntries().map((e=>{let[t,r]=e;return{column:this.hot.toVisualColumn(t),...r}}))}getColumnSortState(e){const t=this.getSortOrderOfColumn(e);if((0,a.isDefined)(t))return{column:e,sortOrder:t}}setSortStates(e){this.sortingStates.clear();for(let t=0;t<e.length;t+=1)this.sortingStates.setValueAtIndex(this.hot.toPhysicalColumn(e[t].column),{sortOrder:e[t].sortOrder})}destroy(){this.hot.columnIndexMapper.unregisterMap(this.mapName),this.sortingStates=null}}},72061:(e,t,r)=>{"use strict";t.__esModule=!0,t.getClassesToAdd=function(e,t,r,s){const h=[o];s&&h.push(a);if(!1===r)return h.push(i),h;const u=e.getSortOrderOfColumn(t);(0,n.isDefined)(u)&&h.push(l.get(u));return h},t.getClassesToRemove=function(){return Array.from(l.values()).concat(a,i,o)},r(15724);var n=r(70505),s=r(41191);const i="indicatorDisabled",o="columnSorting",a="sortAction",l=new Map([[s.ASC_SORT_STATE,"ascending"],[s.DESC_SORT_STATE,"descending"]])},51206:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(72036);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.ColumnSorting=n.ColumnSorting,t.APPEND_COLUMN_CONFIG_STRATEGY=n.APPEND_COLUMN_CONFIG_STRATEGY,t.REPLACE_COLUMN_CONFIG_STRATEGY=n.REPLACE_COLUMN_CONFIG_STRATEGY},4968:(e,t,r)=>{"use strict";t.__esModule=!0,t.rootComparator=function(e,t){return function(r,s){const[,...i]=r,[,...o]=s;return function(r){const s=e[r],a=t[r],l=i[r],h=o[r],u=a.columnSorting;return(u.compareFunctionFactory?u.compareFunctionFactory:(0,n.getCompareFunctionFactory)(a.type))(s,a,u)(l,h)}(0)}};var n=r(80118)},54626:(e,t,r)=>{"use strict";t.__esModule=!0,t.compareFunctionFactory=function(e,t,r){const o=t.checkedTemplate,a=t.uncheckedTemplate,{sortEmptyCells:l}=r;return function(h,u){const c=(0,i.isEmpty)(h),d=(0,i.isEmpty)(u),p=c?a:h,g=d?a:u,f=p===a||p===o,m=g===a||g===o;if(!1===l){if(c&&!1===d)return n.FIRST_AFTER_SECOND;if(!1===c&&d)return n.FIRST_BEFORE_SECOND}return!1===f&&m?"asc"===e?n.FIRST_BEFORE_SECOND:n.FIRST_AFTER_SECOND:f&&!1===m?"asc"===e?n.FIRST_AFTER_SECOND:n.FIRST_BEFORE_SECOND:!1===f&&!1===m?(0,s.compareFunctionFactory)(e,t,r)(h,u):p===a&&g===o?"asc"===e?n.FIRST_BEFORE_SECOND:n.FIRST_AFTER_SECOND:p===o&&g===a?"asc"===e?n.FIRST_AFTER_SECOND:n.FIRST_BEFORE_SECOND:n.DO_NOT_SWAP}};var n=r(80118),s=r(36654),i=r(70505);t.COLUMN_DATA_TYPE="checkbox"},57355:(e,t,r)=>{"use strict";t.__esModule=!0,t.compareFunctionFactory=function(e,t,r){return(0,n.createDateTimeCompareFunction)(e,t.dateFormat,r)};var n=r(41191);t.COLUMN_DATA_TYPE="date"},36654:(e,t,r)=>{"use strict";t.__esModule=!0,t.compareFunctionFactory=function(e,t,r){const i=t.locale;return function(t,o){const{sortEmptyCells:a}=r;return"string"==typeof t&&(t=t.toLocaleLowerCase(i)),"string"==typeof o&&(o=o.toLocaleLowerCase(i)),t===o?s.DO_NOT_SWAP:(0,n.isEmpty)(t)?(0,n.isEmpty)(o)?s.DO_NOT_SWAP:a&&"asc"===e?s.FIRST_BEFORE_SECOND:s.FIRST_AFTER_SECOND:(0,n.isEmpty)(o)?a&&"asc"===e?s.FIRST_AFTER_SECOND:s.FIRST_BEFORE_SECOND:isNaN(t)&&!isNaN(o)?"asc"===e?s.FIRST_AFTER_SECOND:s.FIRST_BEFORE_SECOND:!isNaN(t)&&isNaN(o)?"asc"===e?s.FIRST_BEFORE_SECOND:s.FIRST_AFTER_SECOND:(isNaN(t)||isNaN(o)||(t=parseFloat(t),o=parseFloat(o)),t<o?"asc"===e?s.FIRST_BEFORE_SECOND:s.FIRST_AFTER_SECOND:t>o?"asc"===e?s.FIRST_AFTER_SECOND:s.FIRST_BEFORE_SECOND:s.DO_NOT_SWAP)}};var n=r(70505),s=r(80118);t.COLUMN_DATA_TYPE="default"},10144:(e,t,r)=>{"use strict";t.__esModule=!0,t.compareFunctionFactory=function(e,t,r){return function(t,i){const o=parseFloat(t),a=parseFloat(i),{sortEmptyCells:l}=r;if(o===a||isNaN(o)&&isNaN(a))return s.DO_NOT_SWAP;if(l){if((0,n.isEmpty)(t))return"asc"===e?s.FIRST_BEFORE_SECOND:s.FIRST_AFTER_SECOND;if((0,n.isEmpty)(i))return"asc"===e?s.FIRST_AFTER_SECOND:s.FIRST_BEFORE_SECOND}return isNaN(o)?s.FIRST_AFTER_SECOND:isNaN(a)?s.FIRST_BEFORE_SECOND:o<a?"asc"===e?s.FIRST_BEFORE_SECOND:s.FIRST_AFTER_SECOND:o>a?"asc"===e?s.FIRST_AFTER_SECOND:s.FIRST_BEFORE_SECOND:s.DO_NOT_SWAP}};var n=r(70505),s=r(80118);t.COLUMN_DATA_TYPE="numeric"},64706:(e,t,r)=>{"use strict";t.__esModule=!0,t.compareFunctionFactory=function(e,t,r){return(0,n.createDateTimeCompareFunction)(e,t.timeFormat,r)};var n=r(41191);t.COLUMN_DATA_TYPE="time"},76242:(e,t,r)=>{"use strict";t.__esModule=!0,t.sort=function(e,t){const r=(0,n.getRootComparator)(t);for(var s=arguments.length,i=new Array(s>2?s-2:0),o=2;o<s;o++)i[o-2]=arguments[o];e.sort(r(...i))};var n=r(33263);t.DO_NOT_SWAP=0,t.FIRST_BEFORE_SECOND=-1,t.FIRST_AFTER_SECOND=1},80118:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(33263);t.registerRootComparator=n.registerRootComparator,t.getRootComparator=n.getRootComparator,t.getCompareFunctionFactory=n.getCompareFunctionFactory;var s=r(76242);t.FIRST_AFTER_SECOND=s.FIRST_AFTER_SECOND,t.FIRST_BEFORE_SECOND=s.FIRST_BEFORE_SECOND,t.DO_NOT_SWAP=s.DO_NOT_SWAP,t.sort=s.sort},33263:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.getCompareFunctionFactory=function(e){if(d(e))return c(e);return c(s.COLUMN_DATA_TYPE)};var s=r(36654),i=r(10144),o=r(54626),a=r(57355),l=r(64706),h=n(r(28651));const{register:u,getItem:c,hasItem:d}=(0,h.default)("sorting.compareFunctionFactory"),{register:p,getItem:g}=(0,h.default)("sorting.mainSortComparator");t.getRootComparator=g,t.registerRootComparator=p,u(o.COLUMN_DATA_TYPE,o.compareFunctionFactory),u(a.COLUMN_DATA_TYPE,a.compareFunctionFactory),u(s.COLUMN_DATA_TYPE,s.compareFunctionFactory),u(i.COLUMN_DATA_TYPE,i.compareFunctionFactory),u(l.COLUMN_DATA_TYPE,l.compareFunctionFactory)},41191:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.areValidSortStates=function(e){if(e.some((e=>!1===function(e){if(!1===(0,i.isObject)(e))return!1;const{column:t,sortOrder:r}=e;return Number.isInteger(t)&&[h,u].includes(r)}(e))))return!1;const t=e.map((e=>{let{column:t}=e;return t}));return new Set(t).size===t.length},t.createDateTimeCompareFunction=function(e,t,r){return function(n,i){const{sortEmptyCells:o}=r;if(n===i)return l.DO_NOT_SWAP;if((0,a.isEmpty)(n))return(0,a.isEmpty)(i)?l.DO_NOT_SWAP:o&&"asc"===e?l.FIRST_BEFORE_SECOND:l.FIRST_AFTER_SECOND;if((0,a.isEmpty)(i))return o&&"asc"===e?l.FIRST_AFTER_SECOND:l.FIRST_BEFORE_SECOND;const h=(0,s.default)(n,t),u=(0,s.default)(i,t);return h.isValid()?u.isValid()?u.isAfter(h)?"asc"===e?l.FIRST_BEFORE_SECOND:l.FIRST_AFTER_SECOND:u.isBefore(h)?"asc"===e?l.FIRST_AFTER_SECOND:l.FIRST_BEFORE_SECOND:l.DO_NOT_SWAP:l.FIRST_BEFORE_SECOND:l.FIRST_AFTER_SECOND}},t.getHeaderSpanElement=function(e){return e.querySelector(`.${c}`)},t.getNextSortOrder=function(e){if(e===u)return;if(e===h)return u;return h},t.isFirstLevelColumnHeader=function(e,t){if(e<0||!t.parentNode)return!1;const r=t.parentNode.parentNode.childNodes;if(Array.from(r).indexOf(t.parentNode)-r.length!=-1)return!1;return!0},t.wasHeaderClickedProperly=function(e,t,r){return-1===e&&t>=0&&!1===(0,o.isRightClick)(r)},r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(94364),r(75568);var s=n(r(6671)),i=r(25499),o=r(77661),a=r(70505),l=r(80118);const h=t.ASC_SORT_STATE="asc",u=t.DESC_SORT_STATE="desc",c=t.HEADER_SPAN_CLASS="colHeader"},25288:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=r(75089),o=r(25499),a=n(r(29664)),l=r(21595),h=r(19831);function u(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function c(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const d=t.PLUGIN_KEY="columnSummary",p=t.PLUGIN_PRIORITY=220;var g=new WeakSet;class f extends i.BasePlugin{constructor(){super(...arguments),u(this,g),(0,s.default)(this,"endpoints",null)}static get PLUGIN_KEY(){return d}static get PLUGIN_PRIORITY(){return p}isEnabled(){return!!this.hot.getSettings()[d]}enablePlugin(){var e=this;this.enabled||(this.settings=this.hot.getSettings()[d],this.endpoints=new a.default(this,this.settings),this.addHook("afterInit",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return c(g,e,m).call(e,...r)})),this.addHook("afterChange",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return c(g,e,E).call(e,...r)})),this.addHook("afterUpdateSettings",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return c(g,e,y).call(e,...r)})),this.addHook("beforeCreateRow",((e,t,r)=>this.endpoints.resetSetupBeforeStructureAlteration("insert_row",e,t,null,r))),this.addHook("beforeCreateCol",((e,t,r)=>this.endpoints.resetSetupBeforeStructureAlteration("insert_col",e,t,null,r))),this.addHook("beforeRemoveRow",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return e.endpoints.resetSetupBeforeStructureAlteration("remove_row",...r)})),this.addHook("beforeRemoveCol",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return e.endpoints.resetSetupBeforeStructureAlteration("remove_col",...r)})),this.addHook("afterCreateRow",((e,t,r)=>this.endpoints.resetSetupAfterStructureAlteration("insert_row",e,t,null,r))),this.addHook("afterCreateCol",((e,t,r)=>this.endpoints.resetSetupAfterStructureAlteration("insert_col",e,t,null,r))),this.addHook("afterRemoveRow",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return e.endpoints.resetSetupAfterStructureAlteration("remove_row",...r)})),this.addHook("afterRemoveCol",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return e.endpoints.resetSetupAfterStructureAlteration("remove_col",...r)})),this.addHook("afterRowMove",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return c(g,e,w).call(e,...r)})),super.enablePlugin())}disablePlugin(){this.endpoints=null,this.settings=null,this.currentEndpoint=null,super.disablePlugin()}updatePlugin(){this.disablePlugin(),this.enablePlugin(),this.endpoints.initEndpoints(),super.updatePlugin()}calculate(e){switch(e.type.toLowerCase()){case"sum":e.result=this.calculateSum(e);break;case"min":case"max":e.result=this.calculateMinMax(e,e.type);break;case"count":e.result=this.countEntries(e);break;case"average":e.result=this.calculateAverage(e);break;case"custom":e.result=e.customFunction.call(this,e)}}calculateSum(e){let t=0;return(0,o.objectEach)(e.ranges,(r=>{t+=this.getPartialSum(r,e.sourceColumn)})),t}getPartialSum(e,t){let r=0,n=e[1]||e[0],s=null,i=0;do{if(s=this.getCellValue(n,t),s=(0,h.isNullishOrNaN)(s)?null:s,null!==s){const e=(`${s}`.split(".")[1]||[]).length||1;e>i&&(i=e)}r+=s||0,n-=1}while(n>=e[0]);return Math.round(r*10**i)/10**i}calculateMinMax(e,t){let r=null;return(0,o.objectEach)(e.ranges,(n=>{const s=this.getPartialMinMax(n,e.sourceColumn,t);if(null===r&&null!==s&&(r=s),null!==s)switch(t){case"min":r=Math.min(r,s);break;case"max":r=Math.max(r,s)}})),null===r?"Not enough data":r}getPartialMinMax(e,t,r){let n,s=null,i=e[1]||e[0];do{if(n=this.getCellValue(i,t),n=(0,h.isNullishOrNaN)(n)?null:n,null===s)s=n;else if(null!==n)switch(r){case"min":s=Math.min(s,n);break;case"max":s=Math.max(s,n)}i-=1}while(i>=e[0]);return s}countEmpty(e,t){let r,n=0,s=e[1]||e[0];do{r=this.getCellValue(s,t),r=(0,h.isNullishOrNaN)(r)?null:r,null===r&&(n+=1),s-=1}while(s>=e[0]);return n}countEntries(e){let t=0;const r=e.ranges;return(0,o.objectEach)(r,(r=>{const n=void 0===r[1]?1:r[1]-r[0]+1,s=this.countEmpty(r,e.sourceColumn);t+=n,t-=s})),t}calculateAverage(e){return this.calculateSum(e)/this.countEntries(e)}getCellValue(e,t){const r=this.hot.toVisualRow(e),n=this.hot.toVisualColumn(t);let s=this.hot.getSourceDataAtCell(e,t),i="";if(null!==r&&null!==n&&(i=this.hot.getCellMeta(r,n).className||""),i.indexOf("columnSummaryResult")>-1)return null;if(this.endpoints.currentEndpoint.forceNumeric&&("string"==typeof s&&(s=s.replace(/,/,".")),s=parseFloat(s)),isNaN(s)&&!this.endpoints.currentEndpoint.suppressDataTypeErrors)throw new Error(l.toSingleLine`ColumnSummary plugin: cell at (${e}, ${t}) is not in a\x20
          numeric format. Cannot do the calculation.`);return s}}function m(){this.endpoints.initEndpoints()}function y(e){void 0!==e.columns&&this.endpoints.refreshCellMetas()}function E(e,t){e&&"ColumnSummary.reset"!==t&&"ColumnSummary.set"!==t&&"loadData"!==t&&this.endpoints.refreshChangedEndpoints(e)}function w(e,t){this.endpoints.resetSetupBeforeStructureAlteration("move_row",e[0],e.length,e,this.pluginName),this.endpoints.resetSetupAfterStructureAlteration("move_row",t,e.length,e,this.pluginName)}t.ColumnSummary=f},29664:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(69655),r(75568);var s=n(r(85707)),i=r(10587),o=r(14859);t.default=class{constructor(e,t){(0,s.default)(this,"plugin",void 0),(0,s.default)(this,"hot",void 0),(0,s.default)(this,"endpoints",[]),(0,s.default)(this,"settings",void 0),(0,s.default)(this,"settingsType","array"),(0,s.default)(this,"currentEndpoint",null),(0,s.default)(this,"cellsToSetCache",[]),this.plugin=e,this.hot=this.plugin.hot,this.settings=t}initEndpoints(){this.endpoints=this.parseSettings(),this.refreshAllEndpoints()}getEndpoint(e){return"function"===this.settingsType?this.fillMissingEndpointData(this.settings)[e]:this.endpoints[e]}getAllEndpoints(){return"function"===this.settingsType?this.fillMissingEndpointData(this.settings):this.endpoints}fillMissingEndpointData(e){return this.parseSettings(e.call(this))}parseSettings(e){const t=[];let r=e;if(r||"function"!=typeof this.settings)return r||(r=this.settings),(0,i.arrayEach)(r,(e=>{const r={};this.assignSetting(e,r,"ranges",[[0,this.hot.countRows()-1]]),this.assignSetting(e,r,"reversedRowCoords",!1),this.assignSetting(e,r,"destinationRow",new Error("\n        You must provide a destination row for the Column Summary plugin in order to work properly!\n      ")),this.assignSetting(e,r,"destinationColumn",new Error("\n        You must provide a destination column for the Column Summary plugin in order to work properly!\n      ")),this.assignSetting(e,r,"sourceColumn",e.destinationColumn),this.assignSetting(e,r,"type","sum"),this.assignSetting(e,r,"forceNumeric",!1),this.assignSetting(e,r,"suppressDataTypeErrors",!0),this.assignSetting(e,r,"customFunction",null),this.assignSetting(e,r,"readOnly",!0),this.assignSetting(e,r,"roundFloat",!1),t.push(r)})),t;this.settingsType="function"}assignSetting(e,t,r,n){if("ranges"!==r||void 0!==e[r]){if("ranges"!==r||0!==e[r].length)if(void 0===e[r]){if(n instanceof Error)throw n;t[r]=n}else"destinationRow"===r&&t.reversedRowCoords?t[r]=this.hot.countRows()-e[r]-1:t[r]=e[r]}else t[r]=n}resetSetupBeforeStructureAlteration(e,t,r){if("function"!==this.settingsType)return;const n=e.indexOf("row")>-1?"row":"col",s=this.getAllEndpoints();(0,i.arrayEach)(s,(s=>{"row"===n&&s.destinationRow>=t&&("insert_row"===e?s.alterRowOffset=r:"remove_row"===e&&(s.alterRowOffset=-1*r)),"col"===n&&s.destinationColumn>=t&&("insert_col"===e?s.alterColumnOffset=r:"remove_col"===e&&(s.alterColumnOffset=-1*r))})),this.resetAllEndpoints(s,!1)}resetSetupAfterStructureAlteration(e,t,r,n,s){let o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];if("function"===this.settingsType){const e=()=>(this.hot.removeHook("beforeViewRender",e),this.refreshAllEndpoints());return void this.hot.addHookOnce("beforeViewRender",e)}const a=e.indexOf("row")>-1?"row":"col",l=e.indexOf("remove")>-1?-1:1,h=this.getAllEndpoints(),u=0===e.indexOf("move_row"),c=t;(0,i.arrayEach)(h,(e=>{"row"===a&&e.destinationRow>=c&&(e.alterRowOffset=l*r),"col"===a&&e.destinationColumn>=c&&(e.alterColumnOffset=l*r)})),this.resetAllEndpoints(h,!u),u?(0,i.arrayEach)(h,(e=>{this.extendEndpointRanges(e,c,n[0],n.length),this.recreatePhysicalRanges(e),this.clearOffsetInformation(e)})):(0,i.arrayEach)(h,(e=>{this.shiftEndpointCoordinates(e,c)})),o&&this.refreshAllEndpoints()}clearOffsetInformation(e){e.alterRowOffset=void 0,e.alterColumnOffset=void 0}extendEndpointRanges(e,t,r,n){(0,i.arrayEach)(e.ranges,(e=>{e[1]&&(t>=e[0]&&t<=e[1]?r>e[1]?e[1]+=n:r<e[0]&&(e[0]-=n):r>=e[0]&&r<=e[1]&&(e[1]-=n,t<=e[0]&&(e[0]+=1,e[1]+=1)))}))}recreatePhysicalRanges(e){const t=e.ranges,r=[],n=[];(0,i.arrayEach)(t,(e=>{const t=[];if(e[1])for(let r=e[0];r<=e[1];r++)t.push(this.hot.toPhysicalRow(r));else t.push(this.hot.toPhysicalRow(e[0]));n.push(t)})),(0,i.arrayEach)(n,(e=>{let t=[];(0,i.arrayEach)(e,((n,s)=>{0===s?t.push(n):e[s]!==e[s-1]+1&&(t.push(e[s-1]),r.push(t),t=[],t.push(n)),s===e.length-1&&(t.push(n),r.push(t))}))})),e.ranges=r}shiftEndpointCoordinates(e,t){e.alterRowOffset&&0!==e.alterRowOffset?(e.destinationRow+=e.alterRowOffset||0,(0,i.arrayEach)(e.ranges,(r=>{(0,i.arrayEach)(r,((n,s)=>{n>=t&&(r[s]+=e.alterRowOffset||0)}))}))):e.alterColumnOffset&&0!==e.alterColumnOffset&&(e.destinationColumn+=e.alterColumnOffset||0,e.sourceColumn+=e.alterColumnOffset||0)}resetAllEndpoints(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getAllEndpoints(),t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.some((e=>{const t=e.alterRowOffset||0,r=e.alterColumnOffset||0;return e.destinationRow+t>=this.hot.countRows()||e.destinationColumn+r>=this.hot.countCols()}))||(this.cellsToSetCache=[],(0,i.arrayEach)(e,(e=>{this.resetEndpointValue(e,t)})),this.hot.setDataAtCell(this.cellsToSetCache,"ColumnSummary.reset"),this.cellsToSetCache=[])}refreshAllEndpoints(){this.cellsToSetCache=[],(0,i.arrayEach)(this.getAllEndpoints(),(e=>{this.currentEndpoint=e,this.plugin.calculate(e),this.setEndpointValue(e,"init")})),this.currentEndpoint=null,this.hot.setDataAtCell(this.cellsToSetCache,"ColumnSummary.reset"),this.cellsToSetCache=[]}refreshChangedEndpoints(e){const t=[];this.cellsToSetCache=[],(0,i.arrayEach)(e,((e,r,n)=>{`${e[2]||""}`!=`${e[3]}`&&(0,i.arrayEach)(this.getAllEndpoints(),((e,s)=>{this.hot.propToCol(n[r][1])===e.sourceColumn&&-1===t.indexOf(s)&&t.push(s)}))})),(0,i.arrayEach)(t,(e=>{this.refreshEndpoint(this.getEndpoint(e))})),this.hot.setDataAtCell(this.cellsToSetCache,"ColumnSummary.reset"),this.cellsToSetCache=[]}refreshCellMetas(){this.endpoints.forEach((e=>{const t=this.hot.toVisualRow(e.destinationRow);if(null!==t){const r=this.hot.getCellMeta(t,e.destinationColumn);r.readOnly=e.readOnly,r.className="columnSummaryResult"}}))}refreshEndpoint(e){this.currentEndpoint=e,this.plugin.calculate(e),this.setEndpointValue(e),this.currentEndpoint=null}resetEndpointValue(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const r=e.alterRowOffset||0,n=e.alterColumnOffset||0;this.cellsToSetCache.push([this.hot.toVisualRow(e.destinationRow+(t?r:0)),this.hot.toVisualColumn(e.destinationColumn+(t?n:0)),""])}setEndpointValue(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=this.hot.toVisualRow(e.destinationRow);if(e.destinationRow>=this.hot.countRows()||e.destinationColumn>=this.hot.countCols())return void this.throwOutOfBoundsWarning();const s=this.hot.toVisualRow(e.destinationRow);if(null!==s){const r=this.hot.getCellMeta(s,e.destinationColumn);"init"!==t&&r.readOnly===e.readOnly||(r.readOnly=e.readOnly,r.className="columnSummaryResult")}if((!0===e.roundFloat||Number.isInteger(e.roundFloat))&&!isNaN(e.result)){const t=e.roundFloat;let r=0;Number.isInteger(t)&&(r=Math.min(Math.max(0,t),100)),e.result=e.result.toFixed(r)}r?this.hot.setDataAtCell(n,e.destinationColumn,e.result,"ColumnSummary.set"):this.cellsToSetCache.push([n,e.destinationColumn,e.result]),e.alterRowOffset=void 0,e.alterColumnOffset=void 0}throwOutOfBoundsWarning(){(0,o.warn)("One of the Column Summary plugins' destination points you provided is beyond the table boundaries!")}}},66518:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(25288);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.ColumnSummary=n.ColumnSummary},19831:(e,t)=>{"use strict";t.__esModule=!0,t.isNullishOrNaN=function(e){return null==e||isNaN(e)}},21262:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=r(62577),i=r(25499),o=n(r(16050)),a=r(3899);function l(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function h(e,t){return e.get(c(e,t))}function u(e,t,r){return e.set(c(e,t),r),r}function c(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var d=new WeakMap,p=new WeakMap,g=new WeakMap,f=new WeakMap,m=new WeakMap,y=new WeakMap,E=new WeakMap;class w{static get CLASS_EDITOR_CONTAINER(){return"htCommentsContainer"}static get CLASS_EDITOR(){return"htComments"}static get CLASS_INPUT(){return"htCommentTextArea"}static get CLASS_CELL(){return"htCommentCell"}constructor(e,t){var r=this;l(this,d,void 0),l(this,p,!1),l(this,g,null),l(this,f,void 0),l(this,m,void 0),l(this,y,!0),l(this,E,new a.EditorResizeObserver),u(d,this,e),u(p,this,t),u(f,this,this.createEditor()),u(m,this,h(f,this).style),h(E,this).setObservedElement(this.getInputElement()),h(E,this).addLocalHook("resize",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.runLocalHooks("resize",...t)})),this.hide()}setPosition(e,t){h(m,this).left=`${e}px`,h(m,this).top=`${t}px`}setSize(e,t){if(e&&t){const r=this.getInputElement();r.style.width=`${e}px`,r.style.height=`${t}px`}}getSize(){return{width:(0,s.outerWidth)(this.getInputElement()),height:(0,s.outerHeight)(this.getInputElement())}}observeSize(){h(E,this).observe()}resetSize(){const e=this.getInputElement();e.style.width="",e.style.height=""}setReadOnlyState(e){this.getInputElement().readOnly=e}show(){h(m,this).display="block",u(y,this,!1)}hide(){h(E,this).unobserve(),h(y,this)||(h(m,this).display="none"),u(y,this,!0)}isVisible(){return"block"===h(m,this).display}setValue(){const e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"")||"";this.getInputElement().value=e}getValue(){return this.getInputElement().value}isFocused(){return h(d,this).activeElement===this.getInputElement()}focus(){this.getInputElement().focus()}createEditor(){const e=h(d,this).createElement("div"),t=h(d,this).createElement("textarea");return e.style.display="none",u(g,this,h(d,this).createElement("div")),h(g,this).setAttribute("dir",h(p,this)?"rtl":"ltr"),(0,s.addClass)(h(g,this),w.CLASS_EDITOR_CONTAINER),h(d,this).body.appendChild(h(g,this)),(0,s.addClass)(e,w.CLASS_EDITOR),(0,s.addClass)(t,w.CLASS_INPUT),t.setAttribute("data-hot-input",!0),e.appendChild(t),h(g,this).appendChild(e),e}getInputElement(){return h(f,this).querySelector(`.${w.CLASS_INPUT}`)}getEditorElement(){return h(f,this)}destroy(){const e=h(g,this)?h(g,this).parentNode:null;h(f,this).parentNode.removeChild(h(f,this)),u(f,this,null),u(m,this,null),h(E,this).destroy(),e&&e.removeChild(h(g,this))}}(0,i.mixin)(w,o.default);t.default=w},28062:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724);var s=n(r(85707)),i=r(62577),o=r(77661),a=r(25499),l=r(75089),h=n(r(21262)),u=n(r(75912)),c=r(30889),d=n(r(8924)),p=n(r(98423)),g=n(r(57757));function f(e,t,r){m(e,t),t.set(e,r)}function m(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function y(e,t,r){return e.set(w(e,t),r),r}function E(e,t){return e.get(w(e,t))}function w(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const C=t.PLUGIN_KEY="comments",v=t.PLUGIN_PRIORITY=60,R=t.META_COMMENT="comment",S=t.META_COMMENT_VALUE="value",T=t.META_STYLE="style",N=t.META_READONLY="readOnly",M=C,_=`plugin:${C}`;var b=new WeakMap,O=new WeakMap,A=new WeakMap,I=new WeakMap,x=new WeakMap,P=new WeakMap,L=new WeakSet;class D extends l.BasePlugin{constructor(){var e,t;super(...arguments),m(e=this,t=L),t.add(e),(0,s.default)(this,"range",{}),f(this,b,null),f(this,O,null),f(this,A,!1),f(this,I,!1),f(this,x,null),f(this,P,"")}static get PLUGIN_KEY(){return C}static get PLUGIN_PRIORITY(){return v}static get DEFAULT_SETTINGS(){return{displayDelay:250}}isEnabled(){return!!this.hot.getSettings()[C]}enablePlugin(){var e=this;this.enabled||(E(b,this)||(y(b,this,new h.default(this.hot.rootDocument,this.hot.isRtl())),E(b,this).addLocalHook("resize",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(L,e,Y).call(e,...r)}))),E(O,this)||y(O,this,new u.default(this.getSetting("displayDelay"))),this.addHook("afterContextMenuDefaultOptions",(e=>this.addToContextMenu(e))),this.addHook("afterRenderer",((e,t,r,n,s,i)=>w(L,this,V).call(this,e,i))),this.addHook("afterScroll",(()=>w(L,this,j).call(this))),this.addHook("afterBeginEditing",(()=>this.hide())),this.addHook("afterDocumentKeyDown",(e=>w(L,this,G).call(this,e))),this.addHook("afterSetTheme",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(L,e,z).call(e,...r)})),E(O,this).addLocalHook("hide",(()=>this.hide())),E(O,this).addLocalHook("show",((e,t)=>this.showAtCell(e,t))),this.registerShortcuts(),this.registerListeners(),super.enablePlugin())}updatePlugin(){E(O,this).updateDelay(this.getSetting("displayDelay")),super.updatePlugin()}disablePlugin(){this.unregisterShortcuts(),super.disablePlugin()}registerShortcuts(){const e=this.hot.getShortcutManager(),t=e.getContext("grid"),r=e.addContext(_);t.addShortcut({keys:[["Control","Alt","M"]],callback:()=>{const t=this.hot.getSelectedRangeLast();y(I,this,!0),this.hot.scrollToFocusedCell((()=>{this.setRange(t),this.show(),this.focusEditor(),e.setActiveContextName(_),this.hot._registerTimeout((()=>{y(I,this,!1)}))}))},stopPropagation:!0,runOnlyIf:()=>{var e;return null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight.isCell()},group:M}),r.addShortcut({keys:[["Escape"]],callback:()=>{E(b,this).setValue(E(P,this)),this.hide(),e.setActiveContextName("grid")},runOnlyIf:()=>E(b,this).isVisible()&&E(b,this).isFocused(),group:M}),r.addShortcut({keys:[["Control/Meta","Enter"]],callback:()=>{this.hide(),e.setActiveContextName("grid")},runOnlyIf:()=>E(b,this).isVisible()&&E(b,this).isFocused(),group:M}),r.addShortcut({keys:[["Shift","Tab"],["Tab"]],forwardToContext:e.getContext("grid"),callback:()=>{E(b,this).setValue(E(b,this).getValue()),this.hide(),e.setActiveContextName("grid")},group:M})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(M)}registerListeners(){const{rootDocument:e}=this.hot,t=this.getEditorInputElement();this.eventManager.addEventListener(e,"mouseover",(e=>w(L,this,F).call(this,e))),this.eventManager.addEventListener(e,"mousedown",(e=>w(L,this,k).call(this,e))),this.eventManager.addEventListener(e,"mouseup",(()=>w(L,this,U).call(this))),this.eventManager.addEventListener(t,"focus",(()=>w(L,this,W).call(this))),this.eventManager.addEventListener(t,"blur",(()=>w(L,this,B).call(this))),this.eventManager.addEventListener(this.getEditorInputElement(),"mousedown",(e=>w(L,this,H).call(this,e)))}setRange(e){this.range=e}clearRange(){this.range={}}targetIsCellWithComment(e){const t=(0,i.closest)(e.target,"TD","TBODY");return!!(t&&(0,i.hasClass)(t,"htCommentCell")&&(0,i.closest)(t,[this.hot.rootElement]))}targetIsCommentTextArea(e){return this.getEditorInputElement()===e.target}setComment(e){if(!this.range.from)throw new Error('Before using this method, first set cell range (hot.getPlugin("comment").setRange())');const t=E(b,this).getValue();let r="";null!=e?r=e:null!=t&&(r=t);const n=this.range.from.row,s=this.range.from.col;this.updateCommentMeta(n,s,{[S]:r}),this.hot.render()}setCommentAtCell(e,t,r){this.setRange({from:this.hot._createCellCoords(e,t)}),this.setComment(r)}removeComment(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.range.from)throw new Error('Before using this method, first set cell range (hot.getPlugin("comment").setRange())');this.hot.setCellMeta(this.range.from.row,this.range.from.col,R),e&&this.hot.render(),this.hide()}removeCommentAtCell(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];this.setRange({from:this.hot._createCellCoords(e,t)}),this.removeComment(r)}getComment(){const e=this.range.from.row,t=this.range.from.col;return this.getCommentMeta(e,t,S)}getCommentAtCell(e,t){return this.getCommentMeta(e,t,S)}show(){var e;if(!this.range.from)throw new Error('Before using this method, first set cell range (hot.getPlugin("comment").setRange())');const{from:{row:t,col:r}}=this.range;if(t<0||t>this.hot.countSourceRows()-1||r<0||r>this.hot.countSourceCols()-1)return!1;const n=this.hot.getCellMeta(this.range.from.row,this.range.from.col);return E(O,this).cancelHiding(),E(b,this).setValue(null!==(e=n[R]?n[R][S]:null)&&void 0!==e?e:""),E(b,this).show(),this.refreshEditor(!0),!0}showAtCell(e,t){return this.setRange({from:this.hot._createCellCoords(e,t)}),this.show()}hide(){E(b,this).hide()}refreshEditor(){if(!(arguments.length>0&&void 0!==arguments[0]&&arguments[0]||this.range.from&&E(b,this).isVisible()))return;const{rowIndexMapper:e,columnIndexMapper:t}=this.hot,{row:r,col:n}=this.range.from;let s=e.getRenderableFromVisualIndex(r),o=t.getRenderableFromVisualIndex(n);const a=null===s;E(b,this).setPosition(0,0),null===s&&(s=e.getRenderableFromVisualIndex(e.getNearestNotHiddenIndex(r,-1))),null===o&&(o=t.getRenderableFromVisualIndex(t.getNearestNotHiddenIndex(n,-1)));const l=null===s,h=null===o;s=null!=s?s:0,o=null!=o?o:0;const{rootWindow:u,view:{_wt:c}}=this.hot,{wtTable:d}=c,p=c.getCell({row:s,col:o},!0),g=this.getCommentMeta(r,n,T);g?E(b,this).setSize(g.width,g.height):E(b,this).resetSize();const f=h?0:d.getColumnWidth(o),m=a&&!l?(0,i.outerHeight)(p):0,{left:y,top:w,width:C,height:v}=p.getBoundingClientRect(),{width:R,height:S}=E(b,this).getSize(),{innerWidth:M,innerHeight:_}=this.hot.rootWindow,O=this.hot.rootDocument.documentElement;let A=y+u.scrollX+f,I=w+u.scrollY+m;this.hot.isRtl()&&(A-=R+f),this.hot.isLtr()&&y+C+R>M?A=y+u.scrollX-R-1:this.hot.isRtl()&&A<-(O.scrollWidth-O.clientWidth)&&(A=y+u.scrollX+f+1),w+S>_&&(I-=S-v+1),E(b,this).setPosition(A,I),E(b,this).setReadOnlyState(this.getCommentMeta(r,n,N)),E(b,this).observeSize()}focusEditor(){E(b,this).focus()}updateCommentMeta(e,t,r){const n=this.hot.getCellMeta(e,t)[R];let s;n?(s=(0,a.deepClone)(n),(0,a.deepExtend)(s,r)):s=r,this.hot.setCellMeta(e,t,R,s)}getCommentMeta(e,t,r){const n=this.hot.getCellMeta(e,t);if(n[R])return n[R][r]}addToContextMenu(e){e.items.push({name:c.SEPARATOR},(0,d.default)(this),(0,p.default)(this),(0,g.default)(this))}getEditorInputElement(){return E(b,this).getInputElement()}destroy(){var e,t;null===(e=E(b,this))||void 0===e||e.destroy(),null===(t=E(O,this))||void 0===t||t.destroy(),super.destroy()}}function k(e){if(this.hot.view&&this.hot.view._wt&&!E(A,this)&&!this.targetIsCommentTextArea(e)){const t=(0,i.closest)(e.target,"TD","TBODY");let r=null;t&&(r=this.hot.getCoords(t)),(!t||this.range.from&&r&&(this.range.from.row!==r.row||this.range.from.col!==r.col))&&this.hide()}}function H(e){e.stopPropagation()}function F(e){const{rootDocument:t}=this.hot;if(!(E(A,this)||E(b,this).isFocused()||(0,i.hasClass)(e.target,"wtBorder")||E(x,this)===e.target)&&E(b,this))if(y(x,this,t.elementFromPoint(e.clientX,e.clientY)),this.targetIsCellWithComment(e)){const t=this.hot._createCellRange(this.hot.getCoords(e.target));E(O,this).show(t)}else(0,i.isChildOf)(e.target,t)&&!this.targetIsCommentTextArea(e)&&E(O,this).hide()}function U(){y(A,this,!1)}function V(e,t){t[R]&&t[R][S]&&(0,i.addClass)(e,t.commentedCellClassName)}function B(){y(P,this,""),this.hot.getShortcutManager().setActiveContextName("grid"),this.setComment()}function W(){y(P,this,this.getComment()),this.hot.listen(),this.hot.getShortcutManager().setActiveContextName(_)}function Y(e,t){this.updateCommentMeta(this.range.from.row,this.range.from.col,{[T]:{width:e,height:t}})}function G(e){E(b,this).isFocused()&&(0,o.stopImmediatePropagation)(e)}function j(){E(I,this)||this.hide()}function z(){const e=E(b,this).getEditorElement();(0,i.removeClass)(e,/ht-theme-.*/g),(0,i.addClass)(e,this.hot.getCurrentThemeName())}t.Comments=D},8924:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"commentsAddEdit",name(){var t;const r=null===(t=this.getSelectedRangeLast())||void 0===t?void 0:t.highlight;return null!=r&&r.isCell()&&e.getCommentAtCell(r.row,r.col)?this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_EDIT_COMMENT):this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_ADD_COMMENT)},callback(){const t=this.getSelectedRangeLast();e.setRange(t),e.show(),e.focusEditor()},disabled(){const e=this.getSelectedRangeLast();return!!(!e||e.highlight.isHeader()||this.selection.isEntireRowSelected()&&this.selection.isEntireColumnSelected()||0===this.countRenderedRows()||0===this.countRenderedCols())}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}},57757:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"commentsReadOnly",name(){const t=this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT);return(0,s.checkSelectionConsistency)(this.getSelectedRange(),((t,r)=>e.getCommentMeta(t,r,i.META_READONLY)))?(0,s.markLabelAsSelected)(t):t},callback(){this.getSelectedRangeLast().forAll(((t,r)=>{if(t>=0&&r>=0){const n=!!e.getCommentMeta(t,r,i.META_READONLY);e.updateCommentMeta(t,r,{[i.META_READONLY]:!n})}}))},disabled(){const t=this.getSelectedRangeLast();return!!(!t||t.highlight.isHeader()||!e.getCommentAtCell(t.highlight.row,t.highlight.col)||this.selection.isEntireRowSelected()&&this.selection.isEntireColumnSelected()||0===this.countRenderedRows()||0===this.countRenderedCols())}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(21577),i=r(28062);function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}},98423:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"commentsRemove",name(){return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_REMOVE_COMMENT)},callback(){this.getSelectedRangeLast().forAll(((t,r)=>{t>=0&&r>=0&&e.removeCommentAtCell(t,r,!1)})),this.render()},disabled(){const e=this.getSelectedRangeLast();return!!(!e||e.highlight.isHeader()||this.selection.isEntireRowSelected()&&this.selection.isEntireColumnSelected()||0===this.countRenderedRows()||0===this.countRenderedCols())}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}},75912:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(89804),o=r(25499),a=n(r(16050));class l{constructor(e){(0,s.default)(this,"wasLastActionShow",!0),(0,s.default)(this,"showDebounced",null),(0,s.default)(this,"hidingTimer",null),this.updateDelay(e)}hide(){this.wasLastActionShow=!1,this.hidingTimer=setTimeout((()=>{!1===this.wasLastActionShow&&this.runLocalHooks("hide")}),250)}show(e){this.wasLastActionShow=!0,this.showDebounced(e)}cancelHiding(){this.wasLastActionShow=!0,clearTimeout(this.hidingTimer),this.hidingTimer=null}updateDelay(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:250;this.showDebounced=(0,i.debounce)((e=>{this.wasLastActionShow&&this.runLocalHooks("show",e.from.row,e.from.col)}),e)}destroy(){this.clearLocalHooks()}}(0,o.mixin)(l,a.default);t.default=l},3899:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(14846),r(69655);var s=r(25499),i=n(r(16050));function o(e,t,r){a(e,t),t.set(e,r)}function a(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function l(e,t){return e.get(u(e,t))}function h(e,t,r){return e.set(u(e,t),r),r}function u(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var c=new WeakMap,d=new WeakMap,p=new WeakMap,g=new WeakSet;class f{constructor(){var e,t;a(e=this,t=g),t.add(e),o(this,c,!0),o(this,d,null),o(this,p,new ResizeObserver((e=>u(g,this,m).call(this,e))))}setObservedElement(e){h(d,this,e)}unobserve(){l(p,this).unobserve(l(d,this))}observe(){h(c,this,!0),l(p,this).observe(l(d,this))}destroy(){l(p,this).disconnect()}}function m(e){!l(c,this)&&Array.isArray(e)&&e.length?e.forEach((e=>{let{borderBoxSize:t}=e;const{inlineSize:r,blockSize:n}=t[0];this.runLocalHooks("resize",r,n)})):h(c,this,!1)}t.EditorResizeObserver=f,(0,s.mixin)(f,i.default)},85290:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(28062);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.Comments=n.Comments},90352:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(54999);var s=n(r(85707)),i=r(10587),o=r(25499);t.CommandExecutor=class{constructor(e){(0,s.default)(this,"hot",void 0),(0,s.default)(this,"commands",{}),(0,s.default)(this,"commonCallback",null),this.hot=e}registerCommand(e,t){this.commands[e]=t}setCommonCallback(e){this.commonCallback=e}execute(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];const s=e.split(":"),a=s[0],l=2===s.length?s[1]:null;let h=this.commands[a];if(!h)throw new Error(`Menu command '${a}' not exists.`);if(l&&h.submenu&&(h=function(e,t){let r;return(0,i.arrayEach)(t,(t=>{const n=t.key?t.key.split(":"):null;if(Array.isArray(n)&&n[1]===e)return r=t,!1})),r}(l,h.submenu.items)),!0===h.disabled)return;if("function"==typeof h.disabled&&!0===h.disabled.call(this.hot))return;if((0,o.hasOwnProperty)(h,"submenu"))return;const u=[];"function"==typeof h.callback&&u.push(h.callback),"function"==typeof this.commonCallback&&u.push(this.commonCallback),r.unshift(s.join(":")),(0,i.arrayEach)(u,(e=>e.apply(this.hot,r)))}}},15784:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=r(75089),o=r(28197),a=r(10587),l=r(25499),h=r(90352),u=r(27040),c=r(57446),d=r(21577),p=r(62577),g=r(30889);function f(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function m(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const y=t.PLUGIN_KEY="contextMenu",E=t.PLUGIN_PRIORITY=70,w=y;o.Hooks.getSingleton().register("afterContextMenuDefaultOptions"),o.Hooks.getSingleton().register("beforeContextMenuShow"),o.Hooks.getSingleton().register("afterContextMenuShow"),o.Hooks.getSingleton().register("afterContextMenuHide"),o.Hooks.getSingleton().register("afterContextMenuExecute");var C=new WeakSet;class v extends i.BasePlugin{constructor(){super(...arguments),f(this,C),(0,s.default)(this,"commandExecutor",new h.CommandExecutor(this.hot)),(0,s.default)(this,"itemsFactory",null),(0,s.default)(this,"menu",null)}static get PLUGIN_KEY(){return y}static get PLUGIN_PRIORITY(){return E}static get PLUGIN_DEPS(){return["plugin:AutoColumnSize"]}static get DEFAULT_ITEMS(){return[g.ROW_ABOVE,g.ROW_BELOW,g.SEPARATOR,g.COLUMN_LEFT,g.COLUMN_RIGHT,g.SEPARATOR,g.REMOVE_ROW,g.REMOVE_COLUMN,g.SEPARATOR,g.UNDO,g.REDO,g.SEPARATOR,g.READ_ONLY,g.SEPARATOR,g.ALIGNMENT]}isEnabled(){return!!this.hot.getSettings()[y]}enablePlugin(){var e=this;if(this.enabled)return;const t=this.hot.getSettings()[y];"function"==typeof t.callback&&this.commandExecutor.setCommonCallback(t.callback),this.menu=new c.Menu(this.hot,{className:"htContextMenu",keepInViewport:!0,container:t.uiContainer||this.hot.rootDocument.body}),this.menu.addLocalHook("beforeOpen",(()=>m(C,this,S).call(this))),this.menu.addLocalHook("afterOpen",(()=>m(C,this,T).call(this))),this.menu.addLocalHook("afterClose",(()=>m(C,this,N).call(this))),this.menu.addLocalHook("executeCommand",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return e.executeCommand.call(e,...r)})),this.addHook("afterOnCellContextMenu",(e=>m(C,this,R).call(this,e))),this.registerShortcuts(),super.enablePlugin()}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}disablePlugin(){this.close(),this.menu&&(this.menu.destroy(),this.menu=null),this.unregisterShortcuts(),super.disablePlugin()}registerShortcuts(){this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Control/Meta","Shift","Backslash"],["Shift","F10"]],callback:()=>{const{highlight:e}=this.hot.getSelectedRangeLast();this.hot.scrollToFocusedCell();const t=this.hot.getCell(e.row,e.col,!0).getBoundingClientRect(),r=(0,d.getDocumentOffsetByElement)(this.menu.container,this.hot.rootDocument);this.open({left:t.left+r.left,top:t.top+r.top-1+t.height},{left:t.width,above:-t.height}),this.menu.getNavigator().toFirstItem()},runOnlyIf:()=>{var e;const t=null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight;return t&&this.hot.selection.isCellVisible(t)&&!this.menu.isOpened()},group:w})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(w)}open(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{above:0,below:0,left:0,right:0};if(null!==(t=this.menu)&&void 0!==t&&t.isOpened())return;this.prepareMenuItems(),this.menu.open();const n=this.menu.tableBorderWidth>0;(0,l.objectEach)(r,((e,t)=>{const r=["below","right"].includes(t)?e+1:e-1;this.menu.setOffset(t,n?e:r)})),this.menu.setPosition(e)}close(){var e;null===(e=this.menu)||void 0===e||e.close(),this.itemsFactory=null}executeCommand(e){null===this.itemsFactory&&this.prepareMenuItems();for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];this.commandExecutor.execute(e,...r)}prepareMenuItems(){this.itemsFactory=new u.ItemsFactory(this.hot,v.DEFAULT_ITEMS);const e=this.hot.getSettings()[y],t={items:this.itemsFactory.getItems(e)};this.hot.runHooks("afterContextMenuDefaultOptions",t),this.itemsFactory.setPredefinedItems(t.items);const r=this.itemsFactory.getItems(e);this.hot.runHooks("beforeContextMenuSetItems",r),this.menu.setMenuItems(r),(0,a.arrayEach)(r,(e=>this.commandExecutor.registerCommand(e.key,e)))}destroy(){this.close(),this.menu&&this.menu.destroy(),super.destroy()}}function R(e){const t=this.hot.getSettings(),r=t.rowHeaders,n=t.colHeaders;const s=e.target;if(this.close(),(0,p.hasClass)(s,"handsontableInput"))return;if(e.preventDefault(),e.stopPropagation(),!r&&!n&&!(function(e){return"TD"===e.nodeName||"TD"===e.parentNode.nodeName}(s)||(0,p.hasClass)(s,"current")&&(0,p.hasClass)(s,"wtBorder")))return;const i=(0,d.getDocumentOffsetByElement)(this.menu.container,this.hot.rootDocument);this.open({top:e.clientY+i.top,left:e.clientX+i.left})}function S(){this.hot.runHooks("beforeContextMenuShow",this)}function T(){this.hot.runHooks("afterContextMenuShow",this)}function N(){this.hot.listen(),this.hot.runHooks("afterContextMenuHide",this)}t.ContextMenu=v,v.SEPARATOR={name:g.SEPARATOR}},92560:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(15784);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.ContextMenu=n.ContextMenu},27040:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707)),i=r(25499),o=r(10587),a=r(30889);t.ItemsFactory=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;(0,s.default)(this,"hot",void 0),(0,s.default)(this,"predefinedItems",(0,a.predefinedItems)()),(0,s.default)(this,"defaultOrderPattern",void 0),this.hot=e,this.defaultOrderPattern=t}setPredefinedItems(e){const t={};this.defaultOrderPattern.length=0,(0,i.objectEach)(e,((e,r)=>{let n="";e.name===a.SEPARATOR?(t[a.SEPARATOR]=e,n=a.SEPARATOR):isNaN(parseInt(r,10))?(e.key=void 0===e.key?r:e.key,t[r]=e,n=e.key):(t[e.key]=e,n=e.key),this.defaultOrderPattern.push(n)})),this.predefinedItems=t}getItems(){return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=[];let s=e;s&&s.items?s=s.items:Array.isArray(s)||(s=t);(0,i.isObject)(s)?(0,i.objectEach)(s,((e,t)=>{let s=r["string"==typeof e?e:t];s||(s=e),(0,i.isObject)(e)?(0,i.extend)(s,e):"string"==typeof s&&(s={name:s}),void 0===s.key&&(s.key=t),n.push(s)})):(0,o.arrayEach)(s,((e,t)=>{let s=r[e];!s&&a.ITEMS.indexOf(e)>=0||(s||(s={name:e,key:`${t}`}),(0,i.isObject)(e)&&(0,i.extend)(s,e),void 0===s.key&&(s.key=t),n.push(s))}));return n}(arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,this.defaultOrderPattern,this.predefinedItems)}}},32574:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));t.Cursor=class{constructor(e,t){(0,s.default)(this,"top",void 0),(0,s.default)(this,"topRelative",void 0),(0,s.default)(this,"left",void 0),(0,s.default)(this,"leftRelative",void 0),(0,s.default)(this,"scrollTop",void 0),(0,s.default)(this,"scrollLeft",void 0),(0,s.default)(this,"cellHeight",void 0),(0,s.default)(this,"cellWidth",void 0);const r=t.scrollY,n=t.scrollX;let i,o,a,l,h,u;this.rootWindow=t,this.type=this.getSourceType(e),"literal"===this.type?(i=parseInt(e.top,10),a=parseInt(e.left,10),h=e.height||0,u=e.width||0,o=i,l=a,i+=r,a+=n):"event"===this.type&&(i=parseInt(e.pageY,10),a=parseInt(e.pageX,10),h=e.target.clientHeight,u=e.target.clientWidth,o=i-r,l=a-n),this.top=i,this.topRelative=o,this.left=a,this.leftRelative=l,this.scrollTop=r,this.scrollLeft=n,this.cellHeight=h,this.cellWidth=u}getSourceType(e){let t="literal";return e instanceof Event&&(t="event"),t}fitsAbove(e){return this.topRelative>=e.offsetHeight}fitsBelow(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.rootWindow.innerHeight;return this.topRelative+e.offsetHeight<=t}fitsOnRight(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.rootWindow.innerWidth;return this.leftRelative+this.cellWidth+e.offsetWidth<=t}fitsOnLeft(e){return this.leftRelative>=e.offsetWidth}}},81480:(e,t)=>{"use strict";t.__esModule=!0,t.createDefaultShortcutsList=function(e){const{hot:t,hotMenu:r}=e;return[{keys:[["Control/Meta","A"]],forwardToContext:t.getShortcutManager().getContext("grid"),callback:()=>e.close(!0)},{keys:[["Tab"],["Shift","Tab"]],callback:(r,n)=>{const s=t.getSettings(),i="function"==typeof s.tabMoves?s.tabMoves(r):s.tabMoves;n.includes("shift")?t.selection.transformStart(-i.row,-i.col):t.selection.transformStart(i.row,i.col),e.close(!0)}},{keys:[["Escape"]],callback:()=>e.close()},{keys:[["ArrowDown"]],callback:()=>e.getNavigator().toNextItem()},{keys:[["ArrowUp"]],callback:()=>e.getNavigator().toPreviousItem()},{keys:[["ArrowRight"]],callback:()=>{const t=r.getSelectedLast();if(t){const r=e.openSubMenu(t[0]);r&&r.getNavigator().toFirstItem()}}},{keys:[["ArrowLeft"]],callback:()=>{r.getSelectedLast()&&e.isSubMenu()&&(e.close(),e.isSubMenu()&&e.parentMenu.hotMenu.listen())}},{keys:[["Control/Meta","ArrowUp"],["Home"]],callback:()=>e.getNavigator().toFirstItem()},{keys:[["Control/Meta","ArrowDown"],["End"]],callback:()=>e.getNavigator().toLastItem()},{keys:[["Enter"],["Space"]],callback:t=>{const n=r.getSelectedLast();n&&(r.getSourceDataAtRow(n[0]).submenu?e.openSubMenu(n[0]).getNavigator().toFirstItem():(e.executeCommand(t),e.close(!0)))}},{keys:[["PageUp"]],callback:()=>{r.getSelectedLast()?r.selection.transformStart(-r.countVisibleRows(),0):e.getNavigator().toFirstItem()}},{keys:[["PageDown"]],callback:()=>{r.getSelectedLast()?r.selection.transformStart(r.countVisibleRows(),0):e.getNavigator().toLastItem()}}]}},57446:(e,t,r)=>{"use strict";r(14846),r(69655),t.__esModule=!0;var n=r(28943);Object.keys(n).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===n[e]||(t[e]=n[e]))}))},28943:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724);var s=n(r(85707)),i=r(63496),o=r(95591),a=r(76821),l=r(30889),h=r(55815),u=n(r(3849)),c=r(10587),d=r(25046),p=r(62577),g=r(77661),f=r(89804),m=r(70505),y=r(25499),E=n(r(16050)),w=r(24895),C=r(71120);function v(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function R(e,t,r){return e.set(T(e,t),r),r}function S(e,t){return e.get(T(e,t))}function T(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var N=new WeakMap,M=new WeakMap,_=new WeakMap;class b{get tableBorderWidth(){return void 0===S(_,this)&&this.hotMenu&&R(_,this,parseInt(this.hotMenu.rootWindow.getComputedStyle(this.hotMenu.view._wt.wtTable.TABLE).borderWidth,10)),S(_,this)}constructor(e,t){var r=this;(0,s.default)(this,"hot",void 0),(0,s.default)(this,"options",void 0),(0,s.default)(this,"eventManager",new u.default(this)),(0,s.default)(this,"container",void 0),(0,s.default)(this,"positioner",void 0),(0,s.default)(this,"hotMenu",null),(0,s.default)(this,"hotSubMenus",{}),(0,s.default)(this,"parentMenu",void 0),(0,s.default)(this,"menuItems",null),(0,s.default)(this,"origOutsideClickDeselects",null),v(this,N,void 0),v(this,M,void 0),v(this,_,void 0),this.hot=e,this.options=t||{parent:null,name:null,className:"",keepInViewport:!0,standalone:!1,minWidth:215,container:this.hot.rootDocument.documentElement},this.container=this.createContainer(this.options.name),this.positioner=new i.Positioner(this.options.keepInViewport),this.parentMenu=this.options.parent||null,this.registerEvents(),this.isSubMenu()&&this.addLocalHook("afterSelectionChange",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.parentMenu.runLocalHooks("afterSelectionChange",...t)})),this.hot.addHook("afterSetTheme",((e,t)=>{var r;t||(null===(r=this.hotMenu)||void 0===r||r.useTheme(e))}))}registerEvents(){let e=this.hot.rootWindow;for(;e;)this.eventManager.addEventListener(e.document,"mousedown",(e=>this.onDocumentMouseDown(e))),this.eventManager.addEventListener(e.document,"touchstart",(e=>this.onDocumentMouseDown(e))),this.eventManager.addEventListener(e.document,"contextmenu",(e=>this.onDocumentContextMenu(e))),e=(0,p.getParentWindow)(e)}setMenuItems(e){this.menuItems=e}getNavigator(){return S(N,this)}getKeyboardShortcutsCtrl(){return S(M,this)}getSelectedItem(){return this.hasSelectedItem()?this.hotMenu.getSourceDataAtRow(this.hotMenu.getSelectedLast()[0]):null}hasSelectedItem(){return Array.isArray(this.hotMenu.getSelectedLast())}isSubMenu(){return null!==this.parentMenu}open(){this.runLocalHooks("beforeOpen"),this.container.removeAttribute("style"),this.container.style.display="block";const e=(0,f.debounce)((e=>this.openSubMenu(e)),300),t=this.options.minWidth||215;let r=!1,n=(0,c.arrayFilter)(this.menuItems,(e=>(e.key===l.NO_ITEMS&&(r=!0),(0,h.isItemHidden)(e,this.hot))));if(n.length<1&&!r)n.push((0,l.predefinedItems)()[l.NO_ITEMS]);else if(0===n.length)return;n=(0,h.filterSeparators)(n,l.SEPARATOR);let s=!1;const i={data:n,colHeaders:!1,autoColumnSize:!0,autoWrapRow:!1,modifyColWidth:e=>(0,m.isDefined)(e)&&e<t?t:e,autoRowSize:!1,readOnly:!0,editor:!1,copyPaste:!1,hiddenRows:!0,maxCols:1,columns:[{data:"name",renderer:(0,w.createMenuItemRenderer)(this.hot)}],renderAllRows:!0,fragmentSelection:!1,outsideClickDeselects:!1,disableVisualSelection:"area",layoutDirection:this.hot.isRtl()?"rtl":"ltr",ariaTags:!1,themeName:this.hot.getCurrentThemeName(),beforeOnCellMouseOver:(e,t)=>{S(N,this).setCurrentPage(t.row)},afterOnCellMouseOver:(t,r)=>{this.isAllSubMenusClosed()?e(r.row):this.openSubMenu(r.row)},rowHeights:e=>n[e].name===l.SEPARATOR?1:void 0,afterOnCellContextMenu:e=>{e.preventDefault(),(0,d.isWindowsOS)()&&s&&this.hasSelectedItem()&&this.close(!0)},afterSelection:(e,t,r,n,s)=>{this.hotMenu.view.isMouseDown()&&(s.value=!0),this.runLocalHooks("afterSelectionChange",this.getSelectedItem())},beforeOnCellMouseUp:e=>{this.hasSelectedItem()&&(s=!this.isCommandPassive(this.getSelectedItem()),this.executeCommand(e))},afterOnCellMouseUp:e=>{(0,d.isWindowsOS)()&&(0,g.isRightClick)(e)||!s||!this.hasSelectedItem()||((0,d.isMobileBrowser)()||(0,d.isIpadOS)()?this.hot._registerTimeout((()=>this.close(!0)),325):this.close(!0))},afterUnlisten:()=>{!this.hasSelectedItem()&&this.isOpened()&&this.hotMenu.listen()}};this.origOutsideClickDeselects=this.hot.getSettings().outsideClickDeselects,this.hot.getSettings().outsideClickDeselects=!1,this.hotMenu=new this.hot.constructor(this.container,i),this.hotMenu.addHook("afterInit",(()=>this.onAfterInit())),this.hotMenu.init(),R(N,this,(0,o.createMenuNavigator)(this.hotMenu)),R(M,this,(0,a.createKeyboardShortcutsCtrl)(this)),S(M,this).listen(),this.focus(),this.isSubMenu()&&this.addLocalHook("afterOpen",(()=>this.parentMenu.runLocalHooks("afterSubmenuOpen",this))),this.runLocalHooks("afterOpen",this)}close(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isOpened())if(e&&this.isSubMenu())this.parentMenu.close();else if(S(N,this).clear(),this.closeAllSubMenus(),this.container.style.display="none",this.hotMenu.destroy(),this.hotMenu=null,this.hot.getSettings().outsideClickDeselects=this.origOutsideClickDeselects,this.runLocalHooks("afterClose"),this.isSubMenu()){if(this.hot.getSettings().ariaTags){const e=this.parentMenu.hotMenu.getSelectedLast();if(e){const t=this.parentMenu.hotMenu.getCell(e[0],0);(0,p.setAttribute)(t,[(0,C.A11Y_EXPANDED)(!1)])}}this.parentMenu.hotMenu.listen()}}openSubMenu(e){if(!this.hotMenu)return!1;const t=this.hotMenu.getCell(e,0);if(this.closeAllSubMenus(),!t||!(0,h.hasSubMenu)(t))return!1;const r=this.hotMenu.getSourceDataAtRow(e),n=new b(this.hot,{parent:this,name:r.name,className:this.options.className,keepInViewport:!0,container:this.options.container});return n.setMenuItems(r.submenu.items),n.open(),n.setPosition(t.getBoundingClientRect()),this.hotSubMenus[r.key]=n,this.hot.getSettings().ariaTags&&(0,p.setAttribute)(t,[(0,C.A11Y_EXPANDED)(!0)]),n}closeSubMenu(e){const t=this.hotMenu.getSourceDataAtRow(e),r=this.hotSubMenus[t.key];if(r){r.destroy(),delete this.hotSubMenus[t.key];const n=this.hotMenu.getCell(e,0);this.hot.getSettings().ariaTags&&(0,p.setAttribute)(n,[(0,C.A11Y_EXPANDED)(!1)])}}closeAllSubMenus(){(0,c.arrayEach)(this.hotMenu.getData(),((e,t)=>this.closeSubMenu(t)))}isAllSubMenusClosed(){return 0===Object.keys(this.hotSubMenus).length}focus(){this.isOpened()&&(this.hotMenu.rootElement.focus({preventScroll:!0}),this.getKeyboardShortcutsCtrl().listen(),this.hotMenu.listen())}destroy(){const e=this.container.parentNode;this.clearLocalHooks(),this.close(),this.parentMenu=null,this.eventManager.destroy(),e&&e.removeChild(this.container)}isOpened(){return null!==this.hotMenu}executeCommand(e){if(!this.isOpened()||!this.hasSelectedItem())return;const t=this.getSelectedItem();if(this.runLocalHooks("select",t,e),this.isCommandPassive(t))return;const r=this.hot.getSelectedRange(),n=r?(0,h.normalizeSelection)(r):[];this.runLocalHooks("executeCommand",t.key,n,e),this.isSubMenu()&&this.parentMenu.runLocalHooks("executeCommand",t.key,n,e)}isCommandPassive(e){return!1===e.isCommand||(0,h.isItemSeparator)(e)||(0,h.isItemDisabled)(e,this.hot)||(0,h.isItemSubMenu)(e)}setOffset(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.positioner.setOffset(e,t)}setPosition(e){this.isSubMenu()&&this.positioner.setParentElement(this.parentMenu.container),this.positioner.setElement(this.container).updatePosition(e)}updateMenuDimensions(){const{wtTable:e}=this.hotMenu.view._wt,t=this.hotMenu.getSettings().data,r=e.hider.style,n=e.holder.style,s=parseInt(r.width,10),i=(0,c.arrayReduce)(t,((e,t,r)=>{const n=this.hotMenu.getCell(r,0)?(0,p.outerHeight)(this.hotMenu.getCell(r,0)):0;return e+(t.name===l.SEPARATOR?1:n)}),0);n.width=`${s}px`,n.height=`${i}px`,r.height=n.height}createContainer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=this.options.container.ownerDocument;let r,n=e;return n&&((0,f.isFunction)(n)&&(n=n.call(this.hot),n=null===n||(0,m.isUndefined)(n)?"":n.toString()),n=n.replace(/[^A-Za-z0-9]/g,"_"),n=`${this.options.className}Sub_${n}`,r=t.querySelector(`.${this.options.className}.${n}`)),r||(r=t.createElement("div"),(0,p.addClass)(r,`htMenu handsontable ${this.options.className}`),n&&(0,p.addClass)(r,n),this.options.container.appendChild(r)),r}onAfterInit(){this.updateMenuDimensions(),this.hot.getSettings().ariaTags&&(0,p.setAttribute)(this.hotMenu.rootElement,[(0,C.A11Y_MENU)(),(0,C.A11Y_TABINDEX)(-1)])}onDocumentMouseDown(e){this.isOpened()&&(this.options.standalone&&this.hotMenu&&!(0,p.isChildOf)(e.target,this.hotMenu.rootElement)?this.close(!0):!this.isAllSubMenusClosed()&&!this.isSubMenu()||(0,p.isChildOf)(e.target,".htMenu")||this.close(!0))}onDocumentContextMenu(e){this.isOpened()&&(0,p.hasClass)(e.target,"htCore")&&(0,p.isChildOf)(e.target,this.hotMenu.rootElement)&&e.preventDefault()}}t.Menu=b,(0,y.mixin)(b,E.default)},24895:(e,t,r)=>{"use strict";t.__esModule=!0,t.createMenuItemRenderer=function(e){return(t,r,o,a,l,h)=>{const u=t.getSourceDataAtRow(o),c=e.rootDocument.createElement("div"),d="function"==typeof h?h.call(e):h,p="function"==typeof u.ariaLabel?u.ariaLabel.call(e):u.ariaLabel,g="function"==typeof u.ariaChecked?u.ariaChecked.call(e):u.ariaChecked;if((0,s.empty)(r),(0,s.addClass)(c,"htItemWrapper"),e.getSettings().ariaTags){const t=!(0,n.isItemDisabled)(u,e)&&!(0,n.isItemSelectionDisabled)(u)&&!(0,n.isItemSeparator)(u);(0,s.setAttribute)(r,[...(0,n.isItemCheckable)(u)?[(0,i.A11Y_MENU_ITEM_CHECKBOX)(),(0,i.A11Y_LABEL)(p),(0,i.A11Y_CHECKED)(g)]:[(0,i.A11Y_MENU_ITEM)(),(0,i.A11Y_LABEL)(d)],...t?[(0,i.A11Y_TABINDEX)(-1)]:[],...(0,n.isItemDisabled)(u,e)?[(0,i.A11Y_DISABLED)()]:[],...(0,n.isItemSubMenu)(u)?[(0,i.A11Y_EXPANDED)(!1)]:[]])}r.className="",r.appendChild(c),(0,n.isItemSeparator)(u)?(0,s.addClass)(r,"htSeparator"):"function"==typeof u.renderer?((0,s.addClass)(r,"htCustomMenuRenderer"),r.appendChild(u.renderer(t,c,o,a,l,d))):(0,s.fastInnerHTML)(c,d),(0,n.isItemDisabled)(u,e)?(0,s.addClass)(r,"htDisabled"):(0,n.isItemSelectionDisabled)(u)?(0,s.addClass)(r,"htSelectionDisabled"):(0,n.isItemSubMenu)(u)&&(0,s.addClass)(r,"htSubmenu")}};var n=r(55815),s=r(62577),i=r(71120)},95591:(e,t,r)=>{"use strict";t.__esModule=!0,t.createMenuNavigator=function(e){return(0,n.createPaginator)({size:()=>e.countRows(),onItemSelect(t,r){const n=e.getCell(t,0);if(!n||(0,s.isSeparator)(n)||(0,s.isDisabled)(n)||(0,s.isSelectionDisabled)(n))return!1;e.selectCell(t,0,...r?[t,0,!1,!1]:[])},onClear(){e.deselectCell()}})};var n=r(27453),s=r(55815)},63496:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834);var n=r(32574);function s(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function i(e,t){return e.get(a(e,t))}function o(e,t,r){return e.set(a(e,t),r),r}function a(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var l=new WeakMap,h=new WeakMap,u=new WeakMap,c=new WeakMap,d=new WeakMap;t.Positioner=class{constructor(e){s(this,l,void 0),s(this,h,void 0),s(this,u,void 0),s(this,c,!1),s(this,d,{above:0,below:0,left:0,right:0}),o(c,this,e)}setOffset(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return i(d,this)[e]=t,this}setElement(e){return o(l,this,e),this}setParentElement(e){return o(h,this,e),this}updatePosition(e){o(u,this,new n.Cursor(e,i(l,this).ownerDocument.defaultView)),i(c,this)?(i(u,this).fitsBelow(i(l,this))?this.setPositionBelowCursor():i(u,this).fitsAbove(i(l,this))?this.setPositionAboveCursor():this.setPositionBelowCursor(),this.updateHorizontalPosition()):(this.setPositionBelowCursor(),this.setPositionOnRightOfCursor())}updateHorizontalPosition(){"rtl"===i(l,this).dir?i(u,this).fitsOnLeft(i(l,this))?this.setPositionOnLeftOfCursor():this.setPositionOnRightOfCursor():i(u,this).fitsOnRight(i(l,this))?this.setPositionOnRightOfCursor():this.setPositionOnLeftOfCursor()}setPositionAboveCursor(){let e=i(d,this).above+i(u,this).top-i(l,this).offsetHeight;i(h,this)&&(e=i(u,this).top+i(u,this).cellHeight-i(l,this).offsetHeight+3),i(l,this).style.top=`${e}px`}setPositionBelowCursor(){let e=i(d,this).below+i(u,this).top+1;i(h,this)&&(e=i(u,this).top-1),i(l,this).style.top=`${e}px`}setPositionOnRightOfCursor(){let e=i(u,this).left;if(i(h,this)){const t=i(h,this).ownerDocument.defaultView,r=Number.parseInt(t.getComputedStyle(i(h,this).querySelector(".htCore")).borderRightWidth,10);e+=i(u,this).cellWidth+r}else e+=i(d,this).right;i(l,this).style.left=`${e}px`}setPositionOnLeftOfCursor(){let e=i(d,this).left+i(u,this).left-i(l,this).offsetWidth;if(i(h,this)){const t=i(h,this).ownerDocument.defaultView;e-=Number.parseInt(t.getComputedStyle(i(h,this).querySelector(".htCore")).borderLeftWidth,10)}i(l,this).style.left=`${e}px`}}},76821:(e,t,r)=>{"use strict";t.__esModule=!0,t.createKeyboardShortcutsCtrl=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=[];function o(e,t){h(t).addShortcuts(e,{group:s})}function a(e,t){const n=h(t);e.forEach((e=>{let{keys:t}=e;t.forEach((e=>n.removeShortcutsByKeys(e)))})),r.push({shortcuts:e,contextName:t}),o(e,t)}function l(e){return e?`${i}:${e}`:i}function h(t){var r;const n=e.hotMenu.getShortcutManager(),s=l(t);return null!==(r=n.getContext(s))&&void 0!==r?r:n.addContext(s)}return o((0,n.createDefaultShortcutsList)(e)),t.forEach((e=>{let{shortcuts:t,contextName:r}=e;a(t,r)})),{addCustomShortcuts:a,getCustomShortcuts:function(){return[...r]},getContext:h,listen:function(t){e.hotMenu.getShortcutManager().setActiveContextName(l(t))}}},r(15724),r(14846),r(69655);var n=r(81480);const s="menu",i=s},55815:(e,t,r)=>{"use strict";t.__esModule=!0,t.filterSeparators=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.SEPARATOR,r=e.slice(0);return r=a(r,t),r=function(e,t){let r=e.slice(0);return r.reverse(),r=a(r,t),r.reverse(),r}(r,t),r=function(e){const t=[];return(0,n.arrayEach)(e,((e,r)=>{r>0?t[t.length-1].name!==e.name&&t.push(e):t.push(e)})),t}(r),r},t.hasSubMenu=function(e){return(0,i.hasClass)(e,"htSubmenu")},t.isDisabled=function(e){return(0,i.hasClass)(e,"htDisabled")},t.isItemCheckable=function(e){return!0===e.checkable},t.isItemDisabled=function(e,t){return!0===e.disabled||"function"==typeof e.disabled&&!0===e.disabled.call(t)},t.isItemHidden=function(e,t){return!e.hidden||!("function"==typeof e.hidden&&e.hidden.call(t))},t.isItemSelectionDisabled=function(e){return(0,s.hasOwnProperty)(e,"disableSelection")},t.isItemSeparator=function(e){return new RegExp(o.SEPARATOR,"i").test(e.name)},t.isItemSubMenu=function(e){return(0,s.hasOwnProperty)(e,"submenu")},t.isSelectionDisabled=function(e){return(0,i.hasClass)(e,"htSelectionDisabled")},t.isSeparator=function(e){return(0,i.hasClass)(e,"htSeparator")},t.normalizeSelection=function(e){return(0,n.arrayMap)(e,(e=>({start:e.getTopStartCorner(),end:e.getBottomEndCorner()})))},r(15724);var n=r(10587),s=r(25499),i=r(62577),o=r(30889);function a(e,t){const r=e.slice(0);for(let e=0;e<r.length&&r[e].name===t;)r.shift();return r}},17244:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:a,name(){return this.getTranslatedPhrase(i.CONTEXTMENU_ITEMS_ALIGNMENT)},disabled(){if(0===this.countRows()||0===this.countCols())return!0;const e=this.getSelectedRangeLast();return!e||(!!e.isSingleHeader()||!(this.getSelectedRange()&&!this.selection.isSelectedByCorner()))},submenu:{items:[{key:`${a}:left`,name(){return this.getTranslatedPhrase(i.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT)},callback(){const e=this.getSelectedRange(),t=(0,n.getAlignmentClasses)(e,((e,t)=>this.getCellMeta(e,t).className)),r="horizontal",s="htLeft";this.runHooks("beforeCellAlignment",t,e,r,s),(0,n.align)(e,r,s,((e,t)=>this.getCellMeta(e,t)),((e,t,r,n)=>this.setCellMeta(e,t,r,n))),this.render()},disabled:!1},{key:`${a}:center`,name(){return this.getTranslatedPhrase(i.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER)},callback(){const e=this.getSelectedRange(),t=(0,n.getAlignmentClasses)(e,((e,t)=>this.getCellMeta(e,t).className)),r="horizontal",s="htCenter";this.runHooks("beforeCellAlignment",t,e,r,s),(0,n.align)(e,r,s,((e,t)=>this.getCellMeta(e,t)),((e,t,r,n)=>this.setCellMeta(e,t,r,n))),this.render()},disabled:!1},{key:`${a}:right`,name(){return this.getTranslatedPhrase(i.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT)},callback(){const e=this.getSelectedRange(),t=(0,n.getAlignmentClasses)(e,((e,t)=>this.getCellMeta(e,t).className)),r="horizontal",s="htRight";this.runHooks("beforeCellAlignment",t,e,r,s),(0,n.align)(e,r,s,((e,t)=>this.getCellMeta(e,t)),((e,t,r,n)=>this.setCellMeta(e,t,r,n))),this.render()},disabled:!1},{key:`${a}:justify`,name(){return this.getTranslatedPhrase(i.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY)},callback(){const e=this.getSelectedRange(),t=(0,n.getAlignmentClasses)(e,((e,t)=>this.getCellMeta(e,t).className)),r="horizontal",s="htJustify";this.runHooks("beforeCellAlignment",t,e,r,s),(0,n.align)(e,r,s,((e,t)=>this.getCellMeta(e,t)),((e,t,r,n)=>this.setCellMeta(e,t,r,n))),this.render()},disabled:!1},{name:s.KEY},{key:`${a}:top`,name(){return this.getTranslatedPhrase(i.CONTEXTMENU_ITEMS_ALIGNMENT_TOP)},callback(){const e=this.getSelectedRange(),t=(0,n.getAlignmentClasses)(e,((e,t)=>this.getCellMeta(e,t).className)),r="vertical",s="htTop";this.runHooks("beforeCellAlignment",t,e,r,s),(0,n.align)(e,r,s,((e,t)=>this.getCellMeta(e,t)),((e,t,r,n)=>this.setCellMeta(e,t,r,n))),this.render()},disabled:!1},{key:`${a}:middle`,name(){return this.getTranslatedPhrase(i.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE)},callback(){const e=this.getSelectedRange(),t=(0,n.getAlignmentClasses)(e,((e,t)=>this.getCellMeta(e,t).className)),r="vertical",s="htMiddle";this.runHooks("beforeCellAlignment",t,e,r,s),(0,n.align)(e,r,s,((e,t)=>this.getCellMeta(e,t)),((e,t,r,n)=>this.setCellMeta(e,t,r,n))),this.render()},disabled:!1},{key:`${a}:bottom`,name(){return this.getTranslatedPhrase(i.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM)},callback(){const e=this.getSelectedRange(),t=(0,n.getAlignmentClasses)(e,((e,t)=>this.getCellMeta(e,t).className)),r="vertical",s="htBottom";this.runHooks("beforeCellAlignment",t,e,r,s),(0,n.align)(e,r,s,((e,t)=>this.getCellMeta(e,t)),((e,t,r,n)=>this.setCellMeta(e,t,r,n))),this.render()},disabled:!1}]}}};var n=r(21577),s=r(68094),i=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}const a=t.KEY="alignment"},67234:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:i,name(){return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_CLEAR_COLUMN)},callback(e,t){const r=t[0].start.col,n=t[0].end.col;this.countRows()&&this.populateFromArray(0,r,[[null]],Math.max(t[0].start.row,t[0].end.row),n,"ContextMenu.clearColumn")},disabled(){const e=this.getSelectedRangeLast();if(!e||e.isSingleHeader()&&e.highlight.col<0||!this.selection.isSelectedByColumnHeader())return!0;let t=!1;return e.forAll(((e,r)=>{if(e<0||r<0)return!0;const{readOnly:n}=this.getCellMeta(e,r);return!!n||(t=!0,!1)})),!t}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}const i=t.KEY="clear_column"},41514:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:i,name(){return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_INSERT_LEFT)},callback(){const e=this.getSelectedRangeLast().getTopLeftCorner(),t=this.isRtl()?"insert_col_end":"insert_col_start";this.alter(t,e.col,1,"ContextMenu.columnLeft")},disabled(){if(!this.isColumnModificationAllowed())return!0;const e=this.getSelectedRangeLast();if(!e)return!0;if(e.isSingleHeader()&&e.highlight.col<0)return!0;if(this.selection.isSelectedByCorner()){return 0===this.countCols()}return this.selection.isSelectedByRowHeader()||this.countCols()>=this.getSettings().maxCols},hidden(){return!this.getSettings().allowInsertColumn}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}const i=t.KEY="col_left"},19373:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:i,name(){return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_INSERT_RIGHT)},callback(){const e=this.getSelectedRangeLast().getTopRightCorner(),t=this.isRtl()?"insert_col_start":"insert_col_end";this.alter(t,e.col,1,"ContextMenu.columnRight")},disabled(){if(!this.isColumnModificationAllowed())return!0;const e=this.getSelectedRangeLast();return!e||(!!(e.isSingleHeader()&&e.highlight.col<0)||!this.selection.isSelectedByCorner()&&(this.selection.isSelectedByRowHeader()||this.countCols()>=this.getSettings().maxCols))},hidden(){return!this.getSettings().allowInsertColumn}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}const i=t.KEY="col_right"},30889:(e,t,r)=>{"use strict";t.__esModule=!0,t.addItem=function(e,t){-1===w.indexOf(e)&&(C[e]=t)},t.predefinedItems=function(){const e={};return(0,n.objectEach)(C,((t,r)=>{e[r]=t()})),e};var n=r(25499),s=E(r(17244));t.ALIGNMENT=s.KEY;var i=E(r(67234));t.CLEAR_COLUMN=i.KEY;var o=E(r(41514));t.COLUMN_LEFT=o.KEY;var a=E(r(19373));t.COLUMN_RIGHT=a.KEY;var l=E(r(33491));t.READ_ONLY=l.KEY;var h=E(r(70253));t.REDO=h.KEY;var u=E(r(7611));t.REMOVE_COLUMN=u.KEY;var c=E(r(41557));t.REMOVE_ROW=c.KEY;var d=E(r(67980));t.ROW_ABOVE=d.KEY;var p=E(r(67456));t.ROW_BELOW=p.KEY;var g=E(r(68094));t.SEPARATOR=g.KEY;var f=E(r(72952));t.NO_ITEMS=f.KEY;var m=E(r(79383));function y(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(y=function(e){return e?r:t})(e)}function E(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=y(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}t.UNDO=m.KEY;const w=t.ITEMS=[d.KEY,p.KEY,o.KEY,a.KEY,i.KEY,c.KEY,u.KEY,m.KEY,h.KEY,l.KEY,s.KEY,g.KEY,f.KEY],C={[g.KEY]:g.default,[f.KEY]:f.default,[d.KEY]:d.default,[p.KEY]:p.default,[o.KEY]:o.default,[a.KEY]:a.default,[i.KEY]:i.default,[c.KEY]:c.default,[u.KEY]:u.default,[m.KEY]:m.default,[h.KEY]:h.default,[l.KEY]:l.default,[s.KEY]:s.default}},72952:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:s,name(){return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_NO_ITEMS)},disabled:!0,isCommand:!1}};var n=r(23384);const s=t.KEY="no_items"},33491:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:a,checkable:!0,ariaChecked(){return(0,n.checkSelectionConsistency)(this.getSelectedRange(),((e,t)=>this.getCellMeta(e,t).readOnly))},ariaLabel(){return this.getTranslatedPhrase(i.CONTEXTMENU_ITEMS_READ_ONLY)},name(){let e=this.getTranslatedPhrase(i.CONTEXTMENU_ITEMS_READ_ONLY);return(0,n.checkSelectionConsistency)(this.getSelectedRange(),((e,t)=>this.getCellMeta(e,t).readOnly))&&(e=(0,n.markLabelAsSelected)(e)),e},callback(){const e=this.getSelectedRange(),t=(0,n.checkSelectionConsistency)(e,((e,t)=>this.getCellMeta(e,t).readOnly));(0,s.arrayEach)(e,(e=>{e.forAll(((e,r)=>{e>=0&&r>=0&&this.setCellMeta(e,r,"readOnly",!t)}))})),this.render()},disabled(){const e=this.getSelectedRangeLast();return!e||(!!e.isSingleHeader()||(!!this.selection.isSelectedByCorner()||(0===this.countRows()||0===this.countCols()||(!this.getSelectedRange()||0===this.getSelectedRange().length))))}}};var n=r(21577),s=r(10587),i=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}const a=t.KEY="make_read_only"},70253:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:i,name(){return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_REDO)},callback(){this.redo()},hidden(){const e=this.getPlugin("undoRedo");return!e||!e.isEnabled()},disabled(){return!this.getPlugin("undoRedo").isRedoAvailable()}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}const i=t.KEY="redo"},7611:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:o,name(){const e=this.getSelected();let t=0;if(e)if(e.length>1)t=1;else{const[,r,,n]=e[0];r-n!=0&&(t=1)}return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_REMOVE_COLUMN,t)},callback(){this.alter("remove_col",(0,n.transformSelectionToColumnDistance)(this),null,"ContextMenu.removeColumn")},disabled(){if(!this.isColumnModificationAllowed())return!0;const e=this.getSelectedRangeLast();if(!e)return!0;if(e.isSingleHeader()&&e.highlight.col<0)return!0;const t=this.countCols();return this.selection.isSelectedByCorner()?0===t:this.selection.isSelectedByRowHeader()||0===t},hidden(){return!this.getSettings().allowRemoveColumn}}};var n=r(13208),s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}const o=t.KEY="remove_col"},41557:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:o,name(){const e=this.getSelected();let t=0;if(e)if(e.length>1)t=1;else{const[r,,n]=e[0];r-n!=0&&(t=1)}return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_REMOVE_ROW,t)},callback(){this.alter("remove_row",(0,n.transformSelectionToRowDistance)(this),1,"ContextMenu.removeRow")},disabled(){const e=this.getSelectedRangeLast();if(!e)return!0;if(e.isSingleHeader()&&e.highlight.row<0)return!0;const t=this.countRows();return this.selection.isSelectedByCorner()?0===t:this.selection.isSelectedByColumnHeader()||0===t},hidden(){return!this.getSettings().allowRemoveRow}}};var n=r(13208),s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}const o=t.KEY="remove_row"},67980:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:i,name(){return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_ROW_ABOVE)},callback(){const e=this.getSelectedRangeLast().getTopLeftCorner();this.alter("insert_row_above",e.row,1,"ContextMenu.rowAbove")},disabled(){const e=this.getSelectedRangeLast();if(!e)return!0;if(e.isSingleHeader()&&e.highlight.row<0)return!0;if(this.selection.isSelectedByCorner()){return 0===this.countRows()}return this.selection.isSelectedByColumnHeader()||this.countRows()>=this.getSettings().maxRows},hidden(){return!this.getSettings().allowInsertRow}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}const i=t.KEY="row_above"},67456:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:i,name(){return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_ROW_BELOW)},callback(){const e=this.getSelectedRangeLast().getBottomRightCorner();this.alter("insert_row_below",e.row,1,"ContextMenu.rowBelow")},disabled(){const e=this.getSelectedRangeLast();return!e||(!!(e.isSingleHeader()&&e.highlight.row<0)||!this.selection.isSelectedByCorner()&&(this.selection.isSelectedByColumnHeader()||this.countRows()>=this.getSettings().maxRows))},hidden(){return!this.getSettings().allowInsertRow}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}const i=t.KEY="row_below"},68094:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(){return{name:r}};const r=t.KEY="---------"},79383:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(){return{key:i,name(){return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_UNDO)},callback(){this.undo()},hidden(){const e=this.getPlugin("undoRedo");return!e||!e.isEnabled()},disabled(){return!this.getPlugin("undoRedo").isUndoAvailable()}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}const i=t.KEY="undo"},21577:(e,t,r)=>{"use strict";t.__esModule=!0,t.align=function(e,t,r,o,a){(0,n.arrayEach)(e,(e=>{e.forAll(((e,n)=>{e>=0&&n>=0&&function(e,t,r,n,o,a){const l=o(e,t);let h=n;l.className&&(h="vertical"===r?s(l.className,n):i(l.className,n));a(e,t,"className",h)}(e,n,t,r,o,a)}))}))},t.checkSelectionConsistency=function(e,t){let r=!1;Array.isArray(e)&&(0,n.arrayEach)(e,(e=>(e.forAll(((e,n)=>{if(e>=0&&n>=0&&t(e,n))return r=!0,!1})),r)));return r},t.getAlignmentClasses=function(e,t){const r={};return(0,n.arrayEach)(e,(e=>{e.forAll(((e,n)=>{e>=0&&n>=0&&(r[e]||(r[e]=[]),r[e][n]=t(e,n))}))})),r},t.getAlignmentComparatorByClass=function(e){return function(t,r){const n=this.getCellMeta(t,r).className;return n&&-1!==n.indexOf(e)}},t.getDocumentOffsetByElement=function(e,t){const r={top:0,left:0};if(t!==e.ownerDocument){const{frameElement:e}=t.defaultView,{top:n,left:s}=e.getBoundingClientRect();r.top=n,r.left=s}return r},t.markLabelAsSelected=function(e){return`<span class="selected">${String.fromCharCode(10003)}</span>${e}`},t.prepareHorizontalAlignClass=i,t.prepareVerticalAlignClass=s;var n=r(10587);function s(e,t){if(-1!==e.indexOf(t))return e;return`${e.replace("htTop","").replace("htMiddle","").replace("htBottom","").replace("  ","")} ${t}`}function i(e,t){if(-1!==e.indexOf(t))return e;return`${e.replace("htLeft","").replace("htCenter","").replace("htRight","").replace("htJustify","").replace("  ","")} ${t}`}},21422:(e,t)=>{"use strict";t.__esModule=!0;t.default=class{constructor(){this.data={}}setData(e,t){this.data[e]=t}getData(e){return this.data[e]||void 0}}},74475:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"copy",name(){return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_COPY)},callback(){e.copyCellsOnly()},disabled(){if(0===this.countRows()||0===this.countCols())return!0;const e=this.getSelectedRangeLast();if(!e)return!0;if(e.isSingleHeader())return!0;const t=this.getSelected();return!t||t.length>1},hidden:!1}};var n=r(23384)},40465:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"copy_column_headers_only",name(){const e=this.getSelectedRangeLast(),t=e?(0,s.clamp)(e.getWidth()-1,0,1):0;return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY,t)},callback(){e.copyColumnHeadersOnly()},disabled(){if(!this.hasColHeaders())return!0;const e=this.getSelectedRangeLast();if(!e)return!0;if(e.isSingleHeader())return!0;const t=this.getSelected();return!t||t.length>1},hidden:!1}};var n=r(23384),s=r(22137)},85710:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"copy_with_column_group_headers",name(){const e=this.getSelectedRangeLast(),t=e?(0,s.clamp)(e.getWidth()-1,0,1):0;return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS,t)},callback(){e.copyWithAllColumnHeaders()},disabled(){if(!this.hasColHeaders()||!this.getSettings().nestedHeaders)return!0;const e=this.getSelectedRangeLast();if(!e)return!0;if(e.isSingleHeader())return!0;const t=this.getSelected();return!t||t.length>1},hidden:!1}};var n=r(23384),s=r(22137)},47011:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"copy_with_column_headers",name(){const e=this.getSelectedRangeLast(),t=e?(0,s.clamp)(e.getWidth()-1,0,1):0;return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS,t)},callback(){e.copyWithColumnHeaders()},disabled(){if(!this.hasColHeaders())return!0;const e=this.getSelectedRangeLast();if(!e)return!0;if(e.isSingleHeader())return!0;const t=this.getSelected();return!t||t.length>1},hidden:!1}};var n=r(23384),s=r(22137)},60104:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"cut",name(){return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_CUT)},callback(){e.cut()},disabled(){if(0===this.countRows()||0===this.countCols())return!0;const e=this.getSelectedRangeLast();if(!e)return!0;if(e.isSingleHeader())return!0;const t=this.getSelected();return!t||t.length>1},hidden:!1}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}},23176:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(27458),r(94364);var s=n(r(85707)),i=r(75089),o=r(28197),a=r(42354),l=r(10587),h=r(5893),u=r(62577),c=r(25046),d=n(r(74475)),p=n(r(40465)),g=n(r(85710)),f=n(r(47011)),m=n(r(60104)),y=n(r(18467)),E=r(25525),w=r(96173);function C(e,t,r){v(e,t),t.set(e,r)}function v(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function R(e,t){return e.get(T(e,t))}function S(e,t,r){return e.set(T(e,t),r),r}function T(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}o.Hooks.getSingleton().register("afterCopyLimit"),o.Hooks.getSingleton().register("modifyCopyableRange"),o.Hooks.getSingleton().register("beforeCut"),o.Hooks.getSingleton().register("afterCut"),o.Hooks.getSingleton().register("beforePaste"),o.Hooks.getSingleton().register("afterPaste"),o.Hooks.getSingleton().register("beforeCopy"),o.Hooks.getSingleton().register("afterCopy");const N=t.PLUGIN_KEY="copyPaste",M=t.PLUGIN_PRIORITY=80,_=["fragmentSelection"],b=['<meta name="generator" content="Handsontable"/>','<style type="text/css">td{white-space:normal}br{mso-data-placement:same-cell}</style>'].join("");var O=new WeakMap,A=new WeakMap,I=new WeakMap,x=new WeakMap,P=new WeakMap,L=new WeakMap,D=new WeakMap,k=new WeakMap,H=new WeakSet;class F extends i.BasePlugin{constructor(){var e,t;super(...arguments),v(e=this,t=H),t.add(e),(0,s.default)(this,"columnsLimit",1/0),(0,s.default)(this,"rowsLimit",1/0),(0,s.default)(this,"pasteMode","overwrite"),(0,s.default)(this,"uiContainer",this.hot.rootDocument.body),C(this,O,!1),C(this,A,!1),C(this,I,!1),C(this,x,"cells-only"),C(this,P,!1),C(this,L,!1),C(this,D,new E.CopyableRangesFactory({countRows:()=>this.hot.countRows(),countColumns:()=>this.hot.countCols(),rowsLimit:()=>this.rowsLimit,columnsLimit:()=>this.columnsLimit,countColumnHeaders:()=>this.hot.view.getColumnHeadersCount()})),C(this,k,!1),(0,s.default)(this,"copyableRanges",[])}static get PLUGIN_KEY(){return N}static get SETTING_KEYS(){return[N,..._]}static get PLUGIN_PRIORITY(){return M}static get DEFAULT_SETTINGS(){return{pasteMode:"overwrite",rowsLimit:1/0,columnsLimit:1/0,copyColumnHeaders:!1,copyColumnGroupHeaders:!1,copyColumnHeadersOnly:!1}}isEnabled(){return!!this.hot.getSettings()[N]}enablePlugin(){var e,t,r=this;this.enabled||(this.pasteMode=null!==(e=this.getSetting("pasteMode"))&&void 0!==e?e:this.pasteMode,this.rowsLimit=isNaN(this.getSetting("rowsLimit"))?this.rowsLimit:this.getSetting("rowsLimit"),this.columnsLimit=isNaN(this.getSetting("columnsLimit"))?this.columnsLimit:this.getSetting("columnsLimit"),S(O,this,this.getSetting("copyColumnHeaders")),S(A,this,this.getSetting("copyColumnGroupHeaders")),S(I,this,this.getSetting("copyColumnHeadersOnly")),this.uiContainer=null!==(t=this.getSetting("uiContainer"))&&void 0!==t?t:this.uiContainer,this.addHook("afterContextMenuDefaultOptions",(e=>T(H,this,Y).call(this,e))),this.addHook("afterSelection",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return T(H,r,G).call(r,...t)})),this.addHook("afterSelectionEnd",(()=>T(H,this,j).call(this))),this.eventManager.addEventListener(this.hot.rootDocument,"copy",(function(){return r.onCopy(...arguments)})),this.eventManager.addEventListener(this.hot.rootDocument,"cut",(function(){return r.onCut(...arguments)})),this.eventManager.addEventListener(this.hot.rootDocument,"paste",(function(){return r.onPaste(...arguments)})),(0,c.isSafari)()&&(this.eventManager.addEventListener(this.hot.rootDocument.body,"mouseenter",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return T(H,r,z).call(r,...t)})),this.eventManager.addEventListener(this.hot.rootDocument.body,"mouseleave",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return T(H,r,$).call(r,...t)})),this.addHook("afterSelection",(()=>T(H,this,K).call(this)))),super.enablePlugin())}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}disablePlugin(){super.disablePlugin()}copy(){S(x,this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:"cells-only"),S(P,this,!0),T(H,this,U).call(this,"copy")}copyCellsOnly(){this.copy("cells-only")}copyColumnHeadersOnly(){this.copy("column-headers-only")}copyWithAllColumnHeaders(){this.copy("with-column-group-headers")}copyWithColumnHeaders(){this.copy("with-column-headers")}cut(){S(L,this,!0),T(H,this,U).call(this,"cut")}getRangedCopyableData(e){return(0,a.stringify)(this.getRangedData(e))}getRangedData(e){const t=[],{rows:r,columns:n}=(0,E.normalizeRanges)(e);return(0,l.arrayEach)(r,(e=>{const r=[];(0,l.arrayEach)(n,(t=>{e<0?r.push(this.hot.getColHeader(t,e)):r.push(this.hot.getCopyableData(e,t))})),t.push(r)})),t}paste(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;if(!e&&!t)return;const r=new y.default;e&&r.clipboardData.setData("text/plain",e),t&&r.clipboardData.setData("text/html",t),this.onPaste(r)}setCopyableText(){const e=this.hot.getSelectedRangeLast();if(!e)return;if(e.isSingleHeader())return void(this.copyableRanges=[]);R(D,this).setSelectedRange(e);const t=new Map([["headers",null],["cells",null]]);"column-headers-only"===R(x,this)?t.set("headers",R(D,this).getMostBottomColumnHeadersRange()):("with-column-headers"===R(x,this)?t.set("headers",R(D,this).getMostBottomColumnHeadersRange()):"with-column-group-headers"===R(x,this)&&t.set("headers",R(D,this).getAllColumnHeadersRange()),t.set("cells",R(D,this).getCellsRange())),this.copyableRanges=Array.from(t.values()).filter((e=>null!==e)).map((e=>{let{startRow:t,startCol:r,endRow:n,endCol:s}=e;return{startRow:t,startCol:r,endRow:n,endCol:s}})),this.copyableRanges=this.hot.runHooks("modifyCopyableRange",this.copyableRanges);const r=t.get("cells");if(null!==r&&r.isRangeTrimmed){const{startRow:e,startCol:t,endRow:n,endCol:s}=r;this.hot.runHooks("afterCopyLimit",n-e+1,s-t+1,this.rowsLimit,this.columnsLimit)}}isEditorOpened(){var e;return null===(e=this.hot.getActiveEditor())||void 0===e?void 0:e.isOpened()}populateValues(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.hot.getSelectedRangeLast();if(!e.length)return;const r=e.length,n=e[0].length,s=[],{row:i,col:o}=t.getTopStartCorner(),{row:a,col:l}=t.getBottomEndCorner();let h=i,u=o,c=i,d=o;for(;s.length<r||h<=a;){const{skipRowOnPaste:t,visualRow:a}=this.hot.getCellMeta(h,o);if(h=a+1,!0===t)continue;c=a,u=o;const p=[],g=s.length%r;for(;p.length<n||u<=l;){const{skipColumnOnPaste:t,visualCol:r}=this.hot.getCellMeta(i,u);if(u=r+1,!0===t)continue;d=r;const s=p.length%n;p.push(e[g][s])}s.push(p)}return S(k,this,!0),this.hot.populateFromArray(i,o,s,void 0,void 0,"CopyPaste.paste",this.pasteMode),[i,o,c,d]}onCopy(e){var t,r;const n=this.hot.getFocusManager().getRefocusElement(),s=null===(t=e.target)||void 0===t?void 0:t.hasAttribute("data-hot-input"),i=null===(r=this.hot.getSelectedRangeLast())||void 0===r?void 0:r.highlight,o=i?this.hot.getCell(i.row,i.col,!0):null;if(!this.hot.isListening()&&!R(P,this)||this.isEditorOpened()||e.target instanceof HTMLElement&&(s&&e.target!==n||!s&&e.target!==this.hot.rootDocument.body&&o!==e.target))return;e.preventDefault(),this.setCopyableText(),S(P,this,!1);const l=this.getRangedData(this.copyableRanges),h=T(H,this,V).call(this,this.copyableRanges);if(!!this.hot.runHooks("beforeCopy",l,this.copyableRanges,h)){const t=(0,a.stringify)(l);if(e&&e.clipboardData){const r=(0,w._dataToHTML)(l,this.hot.rootDocument);e.clipboardData.setData("text/plain",t),e.clipboardData.setData("text/html",[b,r].join(""))}else"undefined"==typeof ClipboardEvent&&this.hot.rootWindow.clipboardData.setData("Text",t);this.hot.runHooks("afterCopy",l,this.copyableRanges,h)}S(x,this,"cells-only")}onCut(e){var t,r;const n=this.hot.getFocusManager().getRefocusElement(),s=null===(t=e.target)||void 0===t?void 0:t.hasAttribute("data-hot-input"),i=null===(r=this.hot.getSelectedRangeLast())||void 0===r?void 0:r.highlight,o=i?this.hot.getCell(i.row,i.col,!0):null;if(!this.hot.isListening()&&!R(L,this)||this.isEditorOpened()||e.target instanceof HTMLElement&&(s&&e.target!==n||!s&&e.target!==this.hot.rootDocument.body&&o!==e.target))return;e.preventDefault(),this.setCopyableText(),S(L,this,!1);const l=this.getRangedData(this.copyableRanges);if(!!this.hot.runHooks("beforeCut",l,this.copyableRanges)){const t=(0,a.stringify)(l);if(e&&e.clipboardData){const r=(0,w._dataToHTML)(l,this.hot.rootDocument);e.clipboardData.setData("text/plain",t),e.clipboardData.setData("text/html",[b,r].join(""))}else"undefined"==typeof ClipboardEvent&&this.hot.rootWindow.clipboardData.setData("Text",t);this.hot.emptySelectedCells("CopyPaste.cut"),this.hot.runHooks("afterCut",l,this.copyableRanges)}}onPaste(e){var t,r;const n=this.hot.getFocusManager().getRefocusElement(),s=null===(t=e.target)||void 0===t?void 0:t.hasAttribute("data-hot-input"),i=null===(r=this.hot.getSelectedRangeLast())||void 0===r?void 0:r.highlight,o=i?this.hot.getCell(i.row,i.col,!0):null;if(!this.hot.isListening()||this.isEditorOpened()||!this.hot.getSelected()||e.target instanceof HTMLElement&&(s&&e.target!==n||!s&&e.target!==this.hot.rootDocument.body&&o!==e.target))return;let l;if(e.preventDefault(),e&&void 0!==e.clipboardData){const t=(0,h.sanitize)(e.clipboardData.getData("text/html"),{ADD_TAGS:["meta"],ADD_ATTR:["content"],FORCE_BODY:!0});if(t&&/(<table)|(<TABLE)/g.test(t)){l=(0,w.htmlToGridSettings)(t,this.hot.rootDocument).data}else l=e.clipboardData.getData("text/plain")}else"undefined"==typeof ClipboardEvent&&void 0!==this.hot.rootWindow.clipboardData&&(l=this.hot.rootWindow.clipboardData.getData("Text"));if("string"==typeof l&&(l=(0,a.parse)(l)),void 0===l||l&&0===l.length)return;if(!1===this.hot.runHooks("beforePaste",l,this.copyableRanges))return;const[u,c,d,p]=this.populateValues(l);this.hot.selectCell(u,c,Math.min(this.hot.countRows()-1,d),Math.min(this.hot.countCols()-1,p)),this.hot.runHooks("afterPaste",l,this.copyableRanges)}destroy(){super.destroy()}}function U(e){if((0,c.isSafari)()){const t=this.hot.getSelectedRangeLast();if(t){const{row:r,col:n}=t.highlight,s=this.hot.getCell(r,n,!0);s&&(0,u.runWithSelectedContendEditableElement)(s,(()=>{this.hot.rootDocument.execCommand(e)}))}}else this.hot.rootDocument.execCommand(e)}function V(e){const{rows:t}=(0,E.normalizeRanges)(e);let r=0;for(let e=0;e<t.length&&!(t[e]>=0);e++)r+=1;return{columnHeadersCount:r}}function B(){if(this.hot.isListening()){const e=this.hot.getSelectedRangeLast();if(e){const{row:t,col:r}=e.highlight,n=this.hot.getCell(t,r,!0);n&&(0,u.makeElementContentEditableAndSelectItsContent)(n)}}}function W(){if(this.hot.isListening()){const e=this.hot.getSelectedRangeLast();if(e){const{row:t,col:r}=e.highlight,n=this.hot.getCell(t,r,!0);null!=n&&n.hasAttribute("contenteditable")&&(0,u.removeContentEditableFromElementAndDeselect)(n)}}}function Y(e){e.items.push({name:"---------"},(0,d.default)(this)),R(O,this)&&e.items.push((0,f.default)(this)),R(A,this)&&e.items.push((0,g.default)(this)),R(I,this)&&e.items.push((0,p.default)(this)),e.items.push((0,m.default)(this))}function G(e,t,r,n,s){R(k,this)&&(s.value=!0),S(k,this,!1)}function j(){this.isEditorOpened()||this.hot.getSettings().fragmentSelection||this.setCopyableText()}function z(){T(H,this,W).call(this)}function $(){T(H,this,B).call(this)}function K(){T(H,this,W).call(this)}t.CopyPaste=F},25525:(e,t,r)=>{"use strict";t.__esModule=!0,t.normalizeRanges=function(e){const t=[],r=[];return(0,n.arrayEach)(e,(e=>{const n=Math.min(e.startRow,e.endRow),i=Math.max(e.startRow,e.endRow);(0,s.rangeEach)(n,i,(e=>{-1===t.indexOf(e)&&t.push(e)}));const o=Math.min(e.startCol,e.endCol),a=Math.max(e.startCol,e.endCol);(0,s.rangeEach)(o,a,(e=>{-1===r.indexOf(e)&&r.push(e)}))})),{rows:t,columns:r}},r(67834),r(15724);var n=r(10587),s=r(22137);function i(e,t,r){o(e,t),t.set(e,r)}function o(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function a(e,t){return e.get(h(e,t))}function l(e,t,r){return e.set(h(e,t),r),r}function h(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var u=new WeakMap,c=new WeakMap,d=new WeakMap,p=new WeakMap,g=new WeakMap,f=new WeakMap,m=new WeakSet;function y(e,t){return Math.min(t,Math.max(e+a(g,this).call(this)-1,e))}function E(e,t){return Math.min(t,Math.max(e+a(p,this).call(this)-1,e))}t.CopyableRangesFactory=class{constructor(e){let{countRows:t,countColumns:r,rowsLimit:n,columnsLimit:s,countColumnHeaders:a}=e;var h,y;o(h=this,y=m),y.add(h),i(this,u,void 0),i(this,c,void 0),i(this,d,void 0),i(this,p,void 0),i(this,g,void 0),i(this,f,void 0),l(c,this,t),l(d,this,r),l(p,this,n),l(g,this,s),l(f,this,a)}setSelectedRange(e){l(u,this,e)}getCellsRange(){if(0===a(c,this).call(this)||0===a(d,this).call(this))return null;const{row:e,col:t}=a(u,this).getTopStartCorner(),{row:r,col:n}=a(u,this).getBottomEndCorner(),s=h(m,this,E).call(this,e,r),i=h(m,this,y).call(this,t,n);return{isRangeTrimmed:r!==s||n!==i,startRow:e,startCol:t,endRow:s,endCol:i}}getMostBottomColumnHeadersRange(){if(0===a(d,this).call(this)||0===a(f,this).call(this))return null;const{col:e}=a(u,this).getTopStartCorner(),{col:t}=a(u,this).getBottomEndCorner(),r=h(m,this,y).call(this,e,t);return{isRangeTrimmed:t!==r,startRow:-1,startCol:e,endRow:-1,endCol:r}}getAllColumnHeadersRange(){if(0===a(d,this).call(this)||0===a(f,this).call(this))return null;const{col:e}=a(u,this).getTopStartCorner(),{col:t}=a(u,this).getBottomEndCorner(),r=h(m,this,y).call(this,e,t);return{isRangeTrimmed:t!==r,startRow:-a(f,this).call(this),startCol:e,endRow:-1,endCol:r}}}},88980:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(23176);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.CopyPaste=n.CopyPaste},18467:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(21422));t.default=class{constructor(){this.clipboardData=new s.default}preventDefault(){}}},96947:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"borders:bottom",name(){let e=this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_BORDERS_BOTTOM);return(0,s.checkSelectionBorders)(this,"bottom")&&(e=(0,s.markSelected)(e)),e},callback(t,r){const n=(0,s.checkSelectionBorders)(this,"bottom");e.prepareBorder(r,"bottom",n)}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(86675);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}},27642:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(96947));t.bottom=s.default;var i=n(r(51013));t.left=i.default;var o=n(r(31012));t.noBorders=o.default;var a=n(r(6116));t.right=a.default;var l=n(r(51485));t.top=l.default},51013:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){const t=e.hot.isRtl()?"end":"start";return{key:"borders:left",name(){let e=this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_BORDERS_LEFT);return(0,s.checkSelectionBorders)(this,t)&&(e=(0,s.markSelected)(e)),e},callback(r,n){const i=(0,s.checkSelectionBorders)(this,t);e.prepareBorder(n,t,i)}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(86675);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}},31012:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"borders:no_borders",name(){return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_REMOVE_BORDERS)},callback(t,r){e.prepareBorder(r,"noBorders")},disabled(){return!(0,s.checkSelectionBorders)(this)}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(86675);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}},6116:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){const t=e.hot.isRtl()?"start":"end";return{key:"borders:right",name(){let e=this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_BORDERS_RIGHT);return(0,s.checkSelectionBorders)(this,t)&&(e=(0,s.markSelected)(e)),e},callback(r,n){const i=(0,s.checkSelectionBorders)(this,t);e.prepareBorder(n,t,i)}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(86675);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}},51485:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"borders:top",name(){let e=this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_BORDERS_TOP);return(0,s.checkSelectionBorders)(this,"top")&&(e=(0,s.markSelected)(e)),e},callback(t,r){const n=(0,s.checkSelectionBorders)(this,"top");e.prepareBorder(r,"top",n)}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(86675);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}},23108:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724);var s=n(r(85707)),i=r(75089),o=r(25499),a=r(22137),l=r(10587),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=p(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),u=r(27642),c=r(86675),d=r(76717);function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(p=function(e){return e?r:t})(e)}function g(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function f(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const m=t.PLUGIN_KEY="customBorders",y=t.PLUGIN_PRIORITY=90;var E=new WeakSet;class w extends i.BasePlugin{constructor(){super(...arguments),g(this,E),(0,s.default)(this,"savedBorders",[])}static get PLUGIN_KEY(){return m}static get PLUGIN_PRIORITY(){return y}isEnabled(){return!!this.hot.getSettings()[m]}enablePlugin(){this.enabled||(this.addHook("afterContextMenuDefaultOptions",(e=>f(E,this,C).call(this,e))),this.addHook("init",(()=>f(E,this,v).call(this))),super.enablePlugin())}disablePlugin(){this.hideBorders(),super.disablePlugin()}updatePlugin(){this.disablePlugin(),this.enablePlugin(),this.changeBorderSettings(),super.updatePlugin()}setBorders(e,t){let r=["top","bottom","start","end"],n=null;t&&(this.checkSettingsCohesion([t]),r=Object.keys(t),n=(0,c.normalizeBorder)(t));const s=(0,d.detectSelectionType)(e),i=(0,d.normalizeSelectionFactory)(s,{createCellCoords:this.hot._createCellCoords.bind(this.hot),createCellRange:this.hot._createCellRange.bind(this.hot)});(0,l.arrayEach)(e,(e=>{i(e).forAll(((e,t)=>{(0,l.arrayEach)(r,(r=>{this.prepareBorderFromCustomAdded(e,t,n,(0,c.toInlinePropName)(r))}))}))})),this.hot.view.render()}getBorders(e){if(!Array.isArray(e))return this.savedBorders;const t=(0,d.detectSelectionType)(e),r=(0,d.normalizeSelectionFactory)(t,{createCellCoords:this.hot._createCellCoords.bind(this.hot),createCellRange:this.hot._createCellRange.bind(this.hot)}),n=[];return(0,l.arrayEach)(e,(e=>{r(e).forAll(((e,t)=>{(0,l.arrayEach)(this.savedBorders,(r=>{r.row===e&&r.col===t&&n.push((0,c.denormalizeBorder)(r))}))}))})),n}clearBorders(e){e?this.setBorders(e):((0,l.arrayEach)(this.savedBorders,(e=>{this.clearBordersFromSelectionSettings(e.id),this.clearNullCellRange(),this.hot.removeCellMeta(e.row,e.col,"borders")})),this.savedBorders.length=0)}insertBorderIntoSettings(e,t){this.checkSavedBorders(e)||this.savedBorders.push(e);const r=this.hot._createCellRange(this.hot._createCellCoords(e.row,e.col));this.checkCustomSelections(e,r,t)||this.hot.selection.highlight.addCustomSelection({border:e,visualCellRange:r})}prepareBorderFromCustomAdded(e,t,r,n){const s=this.hot.countRows(),i=this.hot.countCols();if(e>=s||t>=i)return;let o=(0,c.createEmptyBorders)(e,t);r&&(o=(0,c.extendDefaultBorder)(o,r),(0,l.arrayEach)(this.hot.selection.highlight.customSelections,(e=>{if(o.id===e.settings.id)return Object.assign(e.settings,r),o.id=e.settings.id,o.top=e.settings.top,o.bottom=e.settings.bottom,o.start=e.settings.start,o.end=e.settings.end,!1}))),this.hot.setCellMeta(e,t,"borders",(0,c.denormalizeBorder)(o)),this.insertBorderIntoSettings(o,n)}prepareBorderFromCustomAddedRange(e,t){const r=Math.min(e.to.row,this.hot.countRows()-1),n=Math.min(e.to.col,this.hot.countCols()-1);(0,a.rangeEach)(e.from.row,r,(r=>{(0,a.rangeEach)(e.from.col,n,(n=>{const s=(0,c.createEmptyBorders)(r,n);let i=0;r===e.from.row&&(0,o.hasOwnProperty)(t,"top")&&(i+=1,s.top=t.top),r===e.to.row&&(0,o.hasOwnProperty)(t,"bottom")&&(i+=1,s.bottom=t.bottom),n===e.from.col&&(0,o.hasOwnProperty)(t,"start")&&(i+=1,s.start=t.start),n===e.to.col&&(0,o.hasOwnProperty)(t,"end")&&(i+=1,s.end=t.end),i>0&&(this.hot.setCellMeta(r,n,"borders",(0,c.denormalizeBorder)(s)),this.insertBorderIntoSettings(s))}))}))}removeAllBorders(e,t){const r=(0,c.createId)(e,t);this.spliceBorder(r),this.clearBordersFromSelectionSettings(r),this.clearNullCellRange(),this.hot.removeCellMeta(e,t,"borders")}setBorder(e,t,r,n){let s=this.hot.getCellMeta(e,t).borders;if(s=s&&void 0!==s.border?(0,c.normalizeBorder)(s):(0,c.createEmptyBorders)(e,t),n){s[r]=(0,c.createSingleEmptyBorder)();if(4===this.countHide(s))this.removeAllBorders(e,t);else{this.checkCustomSelectionsFromContextMenu(s,r,n)||this.insertBorderIntoSettings(s),this.hot.setCellMeta(e,t,"borders",(0,c.denormalizeBorder)(s))}}else{s[r]=(0,c.createDefaultCustomBorder)();this.checkCustomSelectionsFromContextMenu(s,r,n)||this.insertBorderIntoSettings(s),this.hot.setCellMeta(e,t,"borders",(0,c.denormalizeBorder)(s))}}prepareBorder(e,t,r){(0,l.arrayEach)(e,(e=>{let{start:n,end:s}=e;if(n.row===s.row&&n.col===s.col)"noBorders"===t?this.removeAllBorders(n.row,n.col):this.setBorder(n.row,n.col,t,r);else switch(t){case"noBorders":(0,a.rangeEach)(n.col,s.col,(e=>{(0,a.rangeEach)(n.row,s.row,(t=>{this.removeAllBorders(t,e)}))}));break;case"top":(0,a.rangeEach)(n.col,s.col,(e=>{this.setBorder(n.row,e,t,r)}));break;case"bottom":(0,a.rangeEach)(n.col,s.col,(e=>{this.setBorder(s.row,e,t,r)}));break;case"start":(0,a.rangeEach)(n.row,s.row,(e=>{this.setBorder(e,n.col,t,r)}));break;case"end":(0,a.rangeEach)(n.row,s.row,(e=>{this.setBorder(e,s.col,t,r)}))}}))}createCustomBorders(e){(0,l.arrayEach)(e,(e=>{const t=(0,c.normalizeBorder)(e);e.range?this.prepareBorderFromCustomAddedRange(e.range,t):this.prepareBorderFromCustomAdded(e.row,e.col,t)}))}countHide(e){const{top:t,bottom:r,start:n,end:s}=e,i=[t,r,n,s];return(0,l.arrayReduce)(i,((e,t)=>{let r=e;return t&&t.hide&&(r+=1),r}),0)}clearBordersFromSelectionSettings(e){const t=(0,l.arrayMap)(this.hot.selection.highlight.customSelections,(e=>e.settings.id)).indexOf(e);t>-1&&this.hot.selection.highlight.customSelections[t].clear()}clearNullCellRange(){(0,l.arrayEach)(this.hot.selection.highlight.customSelections,((e,t)=>{if(null===e.cellRange)return this.hot.selection.highlight.customSelections[t].destroy(),this.hot.selection.highlight.customSelections.splice(t,1),!1}))}hideBorders(){(0,l.arrayEach)(this.savedBorders,(e=>{this.clearBordersFromSelectionSettings(e.id),this.clearNullCellRange()}))}spliceBorder(e){const t=(0,l.arrayMap)(this.savedBorders,(e=>e.id)).indexOf(e);t>-1&&this.savedBorders.splice(t,1)}checkSavedBorders(e){let t=!1;return 4===this.countHide(e)?(this.spliceBorder(e.id),t=!0):(0,l.arrayEach)(this.savedBorders,((r,n)=>{if(e.id===r.id)return this.savedBorders[n]=e,t=!0,!1})),t}checkCustomSelectionsFromContextMenu(e,t,r){let n=!1;return(0,l.arrayEach)(this.hot.selection.highlight.customSelections,(s=>{if(e.id===s.settings.id){const e=this.hot.view._wt.selectionManager.getBorderInstances(s);return(0,l.arrayEach)(e,(e=>{e.toggleHiddenClass(t,r)})),n=!0,!1}})),n}checkCustomSelections(e,t,r){const n=this.countHide(e);let s=!1;return 4===n?(this.removeAllBorders(e.row,e.col),s=!0):(0,l.arrayEach)(this.hot.selection.highlight.customSelections,(n=>{if(e.id===n.settings.id){if(n.visualCellRange=t,n.commit(),r){const t=this.hot.view._wt.selectionManager.getBorderInstances(n);(0,l.arrayEach)(t,(t=>{t.changeBorderStyle(r,e)}))}return s=!0,!1}})),s}changeBorderSettings(){const e=this.hot.getSettings()[m];if(Array.isArray(e)){const t=(0,o.deepClone)(e);this.checkSettingsCohesion(t),t.length||(this.savedBorders=t),this.createCustomBorders(t)}else void 0!==e&&this.createCustomBorders(this.savedBorders)}checkSettingsCohesion(e){const t=(0,c.hasLeftRightTypeOptions)(e),r=(0,c.hasStartEndTypeOptions)(e);if(t&&r)throw new Error('The "left"/"right" and "start"/"end" options should not be used together. Please use only the option "start"/"end".');if(this.hot.isRtl()&&t)throw new Error('The "left"/"right" properties are not supported for RTL. Please use option "start"/"end".')}destroy(){super.destroy()}}function C(e){this.hot.getSettings()[m]&&e.items.push({name:"---------"},{key:"borders",name(){return this.getTranslatedPhrase(h.CONTEXTMENU_ITEMS_BORDERS)},disabled(){const e=this.getSelectedRangeLast();return!e||(!!e.isSingleHeader()||this.selection.isSelectedByCorner())},submenu:{items:[(0,u.top)(this),(0,u.right)(this),(0,u.bottom)(this),(0,u.left)(this),(0,u.noBorders)(this)]}})}function v(){this.changeBorderSettings()}t.CustomBorders=w},60402:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(23108);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.CustomBorders=n.CustomBorders},86675:(e,t,r)=>{"use strict";t.__esModule=!0,t.checkSelectionBorders=function(e,t){let r=!1;return(0,i.arrayEach)(e.getSelectedRange(),(s=>{s.forAll(((s,i)=>{if(s<0||i<0)return;const o=e.getCellMeta(s,i).borders;if(o){if(!t)return r=!0,!1;if(!(0,n.hasOwnProperty)(o[t],"hide")||!1===o[t].hide)return r=!0,!1}}))})),r},t.createDefaultCustomBorder=a,t.createDefaultHtBorder=h,t.createEmptyBorders=function(e,t){return{id:o(e,t),border:{width:1,color:"#000",cornerVisible:!1},row:e,col:t,top:{hide:!0},bottom:{hide:!0},start:{hide:!0},end:{hide:!0}}},t.createId=o,t.createSingleEmptyBorder=l,t.denormalizeBorder=function(e){(0,s.isDefined)(e.start)&&(e.left=e.start);(0,s.isDefined)(e.end)&&(e.right=e.end);return e},t.extendDefaultBorder=function(e,t){(0,n.hasOwnProperty)(t,"border")&&t.border&&(e.border=t.border);(0,n.hasOwnProperty)(t,"top")&&(0,s.isDefined)(t.top)&&(t.top?((0,n.isObject)(t.top)||(t.top={width:1,color:"#000"}),e.top=t.top):(t.top={hide:!0},e.top=t.top));(0,n.hasOwnProperty)(t,"bottom")&&(0,s.isDefined)(t.bottom)&&(t.bottom?((0,n.isObject)(t.bottom)||(t.bottom={width:1,color:"#000"}),e.bottom=t.bottom):(t.bottom={hide:!0},e.bottom=t.bottom));(0,n.hasOwnProperty)(t,"start")&&(0,s.isDefined)(t.start)&&(t.start?((0,n.isObject)(t.start)||(t.start={width:1,color:"#000"}),e.start=t.start):(t.start={hide:!0},e.start=t.start));(0,n.hasOwnProperty)(t,"end")&&(0,s.isDefined)(t.end)&&(t.end?((0,n.isObject)(t.end)||(t.end={width:1,color:"#000"}),e.end=t.end):(t.end={hide:!0},e.end=t.end));return e},t.hasLeftRightTypeOptions=function(e){return e.some((e=>(0,s.isDefined)(e.left)||(0,s.isDefined)(e.right)))},t.hasStartEndTypeOptions=function(e){return e.some((e=>(0,s.isDefined)(e.start)||(0,s.isDefined)(e.end)))},t.markSelected=function(e){return`<span class="selected">${String.fromCharCode(10003)}</span>${e}`},t.normalizeBorder=function(e){var t,r;((0,s.isDefined)(e.start)||(0,s.isDefined)(e.left))&&(e.start=null!==(t=e.start)&&void 0!==t?t:e.left);((0,s.isDefined)(e.end)||(0,s.isDefined)(e.right))&&(e.end=null!==(r=e.end)&&void 0!==r?r:e.right);return delete e.left,delete e.right,e},t.toInlinePropName=function(e){var t;return null!==(t=u.get(e))&&void 0!==t?t:e},r(14846),r(75568);var n=r(25499),s=r(70505),i=r(10587);function o(e,t){return`border_row${e}col${t}`}function a(){return{width:1,color:"#000"}}function l(){return{hide:!0}}function h(){return{width:1,color:"#000",cornerVisible:!1}}const u=new Map([["left","start"],["right","end"]])},55502:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=r(75089),o=r(77661),a=r(62577);function l(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function h(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const u=t.PLUGIN_KEY="dragToScroll",c=t.PLUGIN_PRIORITY=100;var d=new WeakSet;class p extends i.BasePlugin{constructor(){super(...arguments),l(this,d),(0,s.default)(this,"boundaries",null),(0,s.default)(this,"callback",null),(0,s.default)(this,"listening",!1)}static get PLUGIN_KEY(){return u}static get PLUGIN_PRIORITY(){return c}isEnabled(){return!!this.hot.getSettings()[u]}enablePlugin(){this.enabled||(this.addHook("afterOnCellMouseDown",(e=>h(d,this,g).call(this,e))),this.addHook("afterOnCellCornerMouseDown",(e=>h(d,this,g).call(this,e))),this.registerEvents(),super.enablePlugin())}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}disablePlugin(){this.unregisterEvents(),super.disablePlugin()}setBoundaries(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{left:0,right:this.hot.rootWindow.innerWidth,top:0,bottom:this.hot.rootWindow.innerHeight};this.boundaries=e}setCallback(e){this.callback=e}check(e,t){let r=0,n=0;t<this.boundaries.top?n=t-this.boundaries.top:t>this.boundaries.bottom&&(n=t-this.boundaries.bottom),e<this.boundaries.left?r=e-this.boundaries.left:e>this.boundaries.right&&(r=e-this.boundaries.right),this.callback(r,n)}listen(){this.listening=!0}unlisten(){this.listening=!1}isListening(){return this.listening}registerEvents(){const{rootWindow:e}=this.hot;let t=e;for(;t;)this.eventManager.addEventListener(t.document,"contextmenu",(()=>this.unlisten())),this.eventManager.addEventListener(t.document,"mouseup",(()=>this.unlisten())),this.eventManager.addEventListener(t.document,"mousemove",(e=>this.onMouseMove(e))),t=(0,a.getParentWindow)(t)}unregisterEvents(){this.eventManager.clear()}onMouseMove(e){this.isListening()&&this.check(e.clientX,e.clientY)}destroy(){super.destroy()}}function g(e){if((0,o.isRightClick)(e))return;const t=this.hot.view._wt.wtOverlays.topOverlay.mainTableScrollableElement;this.setBoundaries(t!==this.hot.rootWindow?t.getBoundingClientRect():void 0),this.setCallback(((e,r)=>{var n,s;const i=null!==(n=t.scrollLeft)&&void 0!==n?n:t.scrollX,o=null!==(s=t.scrollTop)&&void 0!==s?s:t.scrollY;t.scroll(i+50*Math.sign(e),o+20*Math.sign(r))})),this.listen()}t.DragToScroll=p},47126:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(55502);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.DragToScroll=n.DragToScroll},33214:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=r(75089),o=r(10587),a=r(25499),l=r(90352),h=r(21577),u=r(62577),c=r(27040),d=r(57446),p=r(28197),g=r(30889),f=r(71120);function m(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function y(e,t,r){return e.set(E(e,t),r),r}function E(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}p.Hooks.getSingleton().register("afterDropdownMenuDefaultOptions"),p.Hooks.getSingleton().register("beforeDropdownMenuShow"),p.Hooks.getSingleton().register("afterDropdownMenuShow"),p.Hooks.getSingleton().register("afterDropdownMenuHide"),p.Hooks.getSingleton().register("afterDropdownMenuExecute");const w=t.PLUGIN_KEY="dropdownMenu",C=t.PLUGIN_PRIORITY=230,v="changeType",R=w;var S=new WeakMap,T=new WeakSet;class N extends i.BasePlugin{static get PLUGIN_KEY(){return w}static get PLUGIN_PRIORITY(){return C}static get PLUGIN_DEPS(){return["plugin:AutoColumnSize"]}static get DEFAULT_ITEMS(){return[g.COLUMN_LEFT,g.COLUMN_RIGHT,g.SEPARATOR,g.REMOVE_COLUMN,g.SEPARATOR,g.CLEAR_COLUMN,g.SEPARATOR,g.READ_ONLY,g.SEPARATOR,g.ALIGNMENT]}constructor(e){var t,r;super(e),m(t=this,r=T),r.add(t),(0,s.default)(this,"commandExecutor",new l.CommandExecutor(this.hot)),(0,s.default)(this,"itemsFactory",null),(0,s.default)(this,"menu",null),function(e,t,r){m(e,t),t.set(e,r)}(this,S,!1),this.hot.addHook("afterGetColHeader",((e,t)=>E(T,this,b).call(this,e,t)))}isEnabled(){return this.hot.getSettings()[w]}enablePlugin(){var e=this;if(this.enabled)return;this.itemsFactory=new c.ItemsFactory(this.hot,N.DEFAULT_ITEMS),this.addHook("beforeOnCellMouseDown",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(T,e,L).call(e,...r)})),this.addHook("beforeViewportScrollHorizontally",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(T,e,P).call(e,...r)}));const t=this.hot.getSettings()[w],r={items:this.itemsFactory.getItems(t)};this.registerEvents(),"function"==typeof t.callback&&this.commandExecutor.setCommonCallback(t.callback),this.registerShortcuts(),super.enablePlugin(),this.callOnPluginsReady((()=>{this.hot.runHooks("afterDropdownMenuDefaultOptions",r),this.itemsFactory.setPredefinedItems(r.items);const n=this.itemsFactory.getItems(t);this.menu&&this.menu.destroy(),this.menu=new d.Menu(this.hot,{className:"htDropdownMenu",keepInViewport:!0,container:t.uiContainer||this.hot.rootDocument.body}),this.hot.runHooks("beforeDropdownMenuSetItems",n),this.menu.setMenuItems(n),this.menu.addLocalHook("beforeOpen",(()=>E(T,this,O).call(this))),this.menu.addLocalHook("afterOpen",(()=>E(T,this,A).call(this))),this.menu.addLocalHook("afterSubmenuOpen",(e=>E(T,this,I).call(this,e))),this.menu.addLocalHook("afterClose",(()=>E(T,this,x).call(this))),this.menu.addLocalHook("executeCommand",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return e.executeCommand.call(e,...r)})),(0,o.arrayEach)(n,(e=>this.commandExecutor.registerCommand(e.key,e)))}))}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}disablePlugin(){this.close(),this.menu&&this.menu.destroy(),this.unregisterShortcuts(),super.disablePlugin()}registerShortcuts(){const e=()=>{const{highlight:e}=this.hot.getSelectedRangeLast();if((e.isHeader()&&-1===e.row||e.isCell())&&e.col>=0){this.hot.selectColumns(e.col,e.col,-1);const{from:t}=this.hot.getSelectedRangeLast(),r=(0,h.getDocumentOffsetByElement)(this.menu.container,this.hot.rootDocument),n=this.hot.getCell(-1,t.col,!0).querySelector(`.${v}`),s=n.getBoundingClientRect();this.open({left:s.left+r.left,top:s.top+n.offsetHeight+r.top},{left:s.width,right:0,above:0,below:3}),this.menu.getNavigator().toFirstItem()}};this.hot.getShortcutManager().getContext("grid").addShortcuts([{keys:[["Shift","Alt","ArrowDown"],["Control/Meta","Enter"]],callback:e,runOnlyIf:()=>{var e;const t=null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight;return t&&this.hot.selection.isCellVisible(t)&&t.isHeader()&&!this.menu.isOpened()},captureCtrl:!0,group:R},{keys:[["Shift","Alt","ArrowDown"]],callback:e,runOnlyIf:()=>{var e;const t=null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight;return t&&this.hot.selection.isCellVisible(t)&&t.isCell()&&!this.menu.isOpened()},group:R}])}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(R)}registerEvents(){this.eventManager.addEventListener(this.hot.rootElement,"click",(e=>E(T,this,_).call(this,e)))}open(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{above:0,below:0,left:0,right:0};null!==(t=this.menu)&&void 0!==t&&t.isOpened()||(this.menu.open(),(0,a.objectEach)(r,((e,t)=>{this.menu.setOffset(t,e)})),this.menu.setPosition(e))}close(){var e;null===(e=this.menu)||void 0===e||e.close()}executeCommand(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];this.commandExecutor.execute(e,...r)}setListening(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.menu.isOpened()&&(e?this.menu.hotMenu.listen():this.menu.hotMenu.unlisten())}destroy(){this.close(),this.menu&&this.menu.destroy(),super.destroy()}}function M(e){e.getKeyboardShortcutsCtrl().addCustomShortcuts([{keys:[["Control/Meta","A"]],callback:()=>!1}])}function _(e){if((0,u.hasClass)(e.target,v)){const t=(0,h.getDocumentOffsetByElement)(this.menu.container,this.hot.rootDocument),r=e.target.getBoundingClientRect();e.stopPropagation(),y(S,this,!1),this.open({left:r.left+t.left,top:r.top+e.target.offsetHeight+t.top},{left:r.width,right:0,above:0,below:3})}}function b(e,t){const r=t.parentNode;if(!r)return;const n=r.parentNode.childNodes,s=Array.prototype.indexOf.call(n,r);if(e<0||s!==n.length-1)return;const i=t.querySelector(`.${v}`);if(this.enabled&&i)return;if(!this.enabled)return void(i&&i.parentNode.removeChild(i));const o=this.hot.rootDocument.createElement("button");o.className=v,o.type="button",o.tabIndex=-1,this.hot.getSettings().ariaTags&&((0,u.setAttribute)(o,[(0,f.A11Y_HIDDEN)(),(0,f.A11Y_LABEL)(" ")]),(0,u.setAttribute)(t,[(0,f.A11Y_HASPOPUP)("menu")])),o.onclick=function(){return!1},t.firstChild.insertBefore(o,t.firstChild.firstChild)}function O(){this.hot.runHooks("beforeDropdownMenuShow",this)}function A(){this.hot.runHooks("afterDropdownMenuShow",this),E(T,this,M).call(this,this.menu)}function I(e){E(T,this,M).call(this,e)}function x(){this.hot.listen(),this.hot.runHooks("afterDropdownMenuHide",this)}function P(e){return r=this,(t=S).get(E(t,r))?null:e;var t,r}function L(e){(0,u.hasClass)(e.target,v)&&y(S,this,!0)}t.DropdownMenu=N,N.SEPARATOR={name:g.SEPARATOR}},81658:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(33214);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.DropdownMenu=n.DropdownMenu},23271:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707)),i=r(22137);t.default=class{constructor(e){(0,s.default)(this,"hot",void 0),(0,s.default)(this,"options",{}),this.hot=e}setOptions(e){this.options=e}getData(){const{startRow:e,startCol:t,endRow:r,endCol:n}=this._getDataRange(),s=this.options,o=[];return(0,i.rangeEach)(e,r,(e=>{const r=[];!s.exportHiddenRows&&this._isHiddenRow(e)||((0,i.rangeEach)(t,n,(t=>{!s.exportHiddenColumns&&this._isHiddenColumn(t)||r.push(this.hot.getDataAtCell(e,t))})),o.push(r))})),o}getRowHeaders(){const e=[];if(this.options.rowHeaders){const{startRow:t,endRow:r}=this._getDataRange(),n=this.hot.getRowHeader();(0,i.rangeEach)(t,r,(t=>{!this.options.exportHiddenRows&&this._isHiddenRow(t)||e.push(n[t])}))}return e}getColumnHeaders(){const e=[];if(this.options.columnHeaders){const{startCol:t,endCol:r}=this._getDataRange(),n=this.hot.getColHeader();(0,i.rangeEach)(t,r,(t=>{!this.options.exportHiddenColumns&&this._isHiddenColumn(t)||e.push(n[t])}))}return e}_getDataRange(){const e=this.hot.countCols()-1,t=this.hot.countRows()-1;let[r=0,n=0,s=t,i=e]=this.options.range;return r=Math.max(r,0),n=Math.max(n,0),s=Math.min(s,t),i=Math.min(i,e),{startRow:r,startCol:n,endRow:s,endCol:i}}_isHiddenRow(e){return this.hot.rowIndexMapper.isHidden(this.hot.toPhysicalRow(e))}_isHiddenColumn(e){return this.hot.columnIndexMapper.isHidden(this.hot.toPhysicalColumn(e))}}},73842:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=r(75089),i=n(r(23271)),o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=a(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(74506));function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(a=function(e){return e?r:t})(e)}const l=t.PLUGIN_KEY="exportFile",h=t.PLUGIN_PRIORITY=240;class u extends s.BasePlugin{static get PLUGIN_KEY(){return l}static get PLUGIN_PRIORITY(){return h}isEnabled(){return!0}exportAsString(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._createTypeFormatter(e,t).export()}exportAsBlob(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._createBlob(this._createTypeFormatter(e,t))}downloadFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{rootDocument:r,rootWindow:n}=this.hot,s=this._createTypeFormatter(e,t),i=this._createBlob(s),o=n.URL||n.webkitURL,a=r.createElement("a"),l=`${s.options.filename}.${s.options.fileExtension}`;if(void 0!==a.download){const e=o.createObjectURL(i);a.style.display="none",a.setAttribute("href",e),a.setAttribute("download",l),r.body.appendChild(a),a.dispatchEvent(new MouseEvent("click")),r.body.removeChild(a),setTimeout((()=>{o.revokeObjectURL(e)}),100)}else navigator.msSaveOrOpenBlob&&navigator.msSaveOrOpenBlob(i,l)}_createTypeFormatter(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!o.EXPORT_TYPES[e])throw new Error(`Export format type "${e}" is not supported.`);return(0,o.default)(e,new i.default(this.hot),t)}_createBlob(e){let t=null;return"undefined"!=typeof Blob&&(t=new Blob([e.export()],{type:`${e.options.mimeType};charset=${e.options.encoding}`})),t}}t.ExportFile=u},99364:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(73842);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.ExportFile=n.ExportFile},74506:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.default=function(e,t,r){if("function"==typeof o[e])return new o[e](t,r);return null};var s=n(r(78150));const i=t.TYPE_CSV="csv",o=(t.TYPE_EXCEL="excel",t.TYPE_PDF="pdf",t.EXPORT_TYPES={[i]:s.default})},73178:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(25499),o=r(5893);class a{static get DEFAULT_OPTIONS(){return{mimeType:"text/plain",fileExtension:"txt",filename:"Handsontable [YYYY]-[MM]-[DD]",encoding:"utf-8",bom:!1,columnHeaders:!1,rowHeaders:!1,exportHiddenColumns:!1,exportHiddenRows:!1,range:[]}}constructor(e,t){(0,s.default)(this,"dataProvider",void 0),(0,s.default)(this,"options",void 0),this.dataProvider=e,this.options=this._mergeOptions(t),this.dataProvider.setOptions(this.options)}_mergeOptions(e){let t=(0,i.clone)(this.constructor.DEFAULT_OPTIONS);const r=new Date;return t=(0,i.extend)((0,i.clone)(a.DEFAULT_OPTIONS),t),t=(0,i.extend)(t,e),t.filename=(0,o.substitute)(t.filename,{YYYY:r.getFullYear(),MM:`${r.getMonth()+1}`.padStart(2,"0"),DD:`${r.getDate()}`.padStart(2,"0")}),t}}t.default=a},78150:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(94364);var s=r(10587),i=r(70505),o=n(r(73178));const a=String.fromCharCode(13),l=String.fromCharCode(34),h=String.fromCharCode(10);class u extends o.default{static get DEFAULT_OPTIONS(){return{mimeType:"text/csv",fileExtension:"csv",bom:!0,columnDelimiter:",",rowDelimiter:"\r\n"}}export(){const e=this.options,t=this.dataProvider.getData();let r=this.dataProvider.getColumnHeaders();const n=r.length>0,i=this.dataProvider.getRowHeaders(),o=i.length>0;let a=e.bom?String.fromCharCode(65279):"";return n&&(r=(0,s.arrayMap)(r,(e=>this._escapeCell(e,!0))),o&&(a+=e.columnDelimiter),a+=r.join(e.columnDelimiter),a+=e.rowDelimiter),(0,s.arrayEach)(t,((t,r)=>{r>0&&(a+=e.rowDelimiter),o&&(a+=this._escapeCell(i[r])+e.columnDelimiter),a+=t.map((e=>this._escapeCell(e))).join(e.columnDelimiter)})),a}_escapeCell(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=(0,i.stringify)(e);return""!==r&&(t||r.indexOf(a)>=0||r.indexOf(l)>=0||r.indexOf(h)>=0||r.indexOf(this.options.columnDelimiter)>=0)&&(r=r.replace(new RegExp('"',"g"),'""'),r=`"${r}"`),r}}t.default=u},62095:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=r(10587),o=r(25499),a=n(r(16050)),l=r(61149);class h{constructor(e,t){let{id:r,stateless:n=!0}=t;(0,s.default)(this,"hot",void 0),(0,s.default)(this,"id",void 0),(0,s.default)(this,"elements",[]),(0,s.default)(this,"hidden",!1),(0,s.default)(this,"stateId",""),(0,s.default)(this,"state",void 0),this.hot=e,this.id=r,this.stateId=`Filters.component.${this.id}`,this.state=n?null:this.hot.columnIndexMapper.registerMap(this.stateId,new l.LinkedPhysicalIndexToValueMap)}getElements(){return this.elements}reset(){(0,i.arrayEach)(this.elements,(e=>e.reset()))}hide(){this.hidden=!0}show(){this.hidden=!1}isHidden(){return null===this.hot||this.hidden}restoreState(e){this.state&&this.setState(this.state.getValueAtIndex(e))}setState(){throw new Error("The state setting logic is not implemented")}saveState(e){this.state&&this.state.setValueAtIndex(e,this.getState())}getState(){throw new Error("The state gathering logic is not implemented")}destroy(){this.hot.columnIndexMapper.unregisterMap(this.stateId),this.clearLocalHooks(),(0,i.arrayEach)(this.elements,(e=>e.destroy())),this.state=null,this.elements=null,this.hot=null}}t.BaseComponent=h,(0,o.mixin)(h,a.default)},73048:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724);var s,i=n(r(85707)),o=r(62577),a=r(10587),l=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=c(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),h=r(62095),u=r(24054);function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(c=function(e){return e?r:t})(e)}function d(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}var p=new WeakSet;class g extends h.BaseComponent{static get BUTTON_OK(){return"ok"}static get BUTTON_CANCEL(){return"cancel"}constructor(e,t){super(e,{id:t.id,stateless:!0}),d(this,p),(0,i.default)(this,"name",""),this.name=t.name,this.elements.push(new u.InputUI(this.hot,{type:"button",value:l.FILTERS_BUTTONS_OK,className:"htUIButton htUIButtonOK",identifier:g.BUTTON_OK})),this.elements.push(new u.InputUI(this.hot,{type:"button",value:l.FILTERS_BUTTONS_CANCEL,className:"htUIButton htUIButtonCancel",identifier:g.BUTTON_CANCEL})),this.registerHooks()}registerHooks(){(0,a.arrayEach)(this.elements,(e=>{e.addLocalHook("click",((e,t)=>function(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}(p,this,f).call(this,e,t)))}))}getMenuItemDescriptor(){return{key:this.id,name:this.name,isCommand:!1,disableSelection:!0,hidden:()=>this.isHidden(),renderer:(e,t)=>((0,o.addClass)(t.parentNode,"htFiltersMenuActionBar"),(0,a.arrayEach)(this.elements,(e=>t.appendChild(e.element))),t)}}accept(){this.runLocalHooks("accept")}cancel(){this.runLocalHooks("cancel")}}function f(e,t){t.options.identifier===s.BUTTON_OK?this.accept():this.cancel()}t.ActionBarComponent=g,s=g},65686:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(27458);var s=n(r(85707)),i=r(62577),o=r(77661),a=r(10587),l=r(83445),h=r(25499),u=y(r(23384)),c=r(62095),d=y(r(33582)),p=r(24054),g=r(71620),f=r(69196);function m(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(m=function(e){return e?r:t})(e)}function y(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=m(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}function E(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function w(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var C=new WeakSet;class v extends c.BaseComponent{constructor(e,t){super(e,{id:t.id,stateless:!1}),E(this,C),(0,s.default)(this,"name",""),(0,s.default)(this,"addSeparator",!1),this.name=t.name,this.addSeparator=t.addSeparator,this.elements.push(new g.SelectUI(this.hot,{menuContainer:t.menuContainer})),this.elements.push(new p.InputUI(this.hot,{placeholder:u.FILTERS_BUTTONS_PLACEHOLDER_VALUE})),this.elements.push(new p.InputUI(this.hot,{placeholder:u.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE})),this.registerHooks()}registerHooks(){this.getSelectElement().addLocalHook("select",(e=>w(C,this,R).call(this,e))).addLocalHook("afterClose",(()=>this.runLocalHooks("afterClose"))).addLocalHook("tabKeydown",(e=>this.runLocalHooks("selectTabKeydown",e))),(0,a.arrayEach)(this.getInputElements(),(e=>{e.addLocalHook("keydown",(e=>w(C,this,S).call(this,e)))}))}setState(e){if(this.reset(),!e)return;const t=(0,h.clone)(e.command);t.name.startsWith(u.FILTERS_CONDITIONS_NAMESPACE)&&(t.name=this.hot.getTranslatedPhrase(t.name)),this.getSelectElement().setValue(t),(0,a.arrayEach)(e.args,((e,r)=>{if(r>t.inputsCount-1)return!1;const n=this.getInputElement(r);n.setValue(e),n[t.inputsCount>r?"show":"hide"](),r||this.hot._registerTimeout((()=>n.focus()),10)}))}getState(){const e=this.getSelectElement().getValue()||(0,f.getConditionDescriptor)(d.CONDITION_NONE),t=[];return(0,a.arrayEach)(this.getInputElements(),((r,n)=>{e.inputsCount>n&&t.push(r.getValue())})),{command:e,args:t}}updateState(e,t){const r=e?(0,f.getConditionDescriptor)(e.name):(0,f.getConditionDescriptor)(d.CONDITION_NONE);this.state.setValueAtIndex(t,{command:r,args:e?e.args:[]}),e||(0,a.arrayEach)(this.getInputElements(),(e=>e.setValue(null)))}getSelectElement(){return this.elements.filter((e=>e instanceof g.SelectUI))[0]}getInputElement(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.getInputElements()[e]}getInputElements(){return this.elements.filter((e=>e instanceof p.InputUI))}getMenuItemDescriptor(){return{key:this.id,name:this.name,isCommand:!1,disableSelection:!0,hidden:()=>this.isHidden(),renderer:(e,t,r,n,s,o)=>{(0,i.addClass)(t.parentNode,"htFiltersMenuCondition"),this.addSeparator&&(0,i.addClass)(t.parentNode,"border");const l=this.hot.rootDocument.createElement("div");return(0,i.addClass)(l,"htFiltersMenuLabel"),l.textContent=o,t.appendChild(l),t.parentElement.hasAttribute("ghost-table")||(0,a.arrayEach)(this.elements,(e=>t.appendChild(e.element))),t}}}reset(){const e=this.hot.getPlugin("filters").getSelectedColumn();let t=[(0,f.getConditionDescriptor)(d.CONDITION_NONE)];if(null!==e){const{visualIndex:r}=e;t=(0,d.default)(this.hot.getDataType(0,r,this.hot.countRows(),r))}(0,a.arrayEach)(this.getInputElements(),(e=>e.hide())),this.getSelectElement().setItems(t),super.reset(),this.getSelectElement().setValue(t[0])}}function R(e){(0,a.arrayEach)(this.getInputElements(),((t,r)=>{t[e.inputsCount>r?"show":"hide"](),0===r&&this.hot._registerTimeout((()=>t.focus()),10)})),this.runLocalHooks("change",e)}function S(e){(0,l.isKey)(e.keyCode,"ESCAPE")&&(this.runLocalHooks("cancel"),(0,o.stopImmediatePropagation)(e))}t.ConditionComponent=v},45698:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(6211);var s=n(r(85707)),i=r(62577),o=r(10587),a=r(21595),l=r(62095),h=r(2933),u=r(7233),c=r(96609),d=r(57737),p=r(63433);function g(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}var f=new WeakSet;class m extends l.BaseComponent{constructor(e,t){super(e,{id:t.id,stateless:!1}),g(this,f),(0,s.default)(this,"name",""),this.name=t.name,this.buildOperatorsElement()}getMenuItemDescriptor(){return{key:this.id,name:this.name,isCommand:!1,disableSelection:!0,hidden:()=>this.isHidden(),renderer:(e,t)=>((0,i.addClass)(t.parentNode,"htFiltersMenuOperators"),(0,o.arrayEach)(this.elements,(e=>t.appendChild(e.element))),t)}}buildOperatorsElement(){const e=[u.OPERATION_ID,c.OPERATION_ID];(0,o.arrayEach)(e,(t=>{const r=new p.RadioInputUI(this.hot,{name:"operator",label:{htmlFor:t,textContent:(0,h.getOperationName)(t)},value:t,checked:t===e[0],id:t});r.addLocalHook("change",(e=>function(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}(f,this,y).call(this,e))),this.elements.push(r)}))}setChecked(e){if(this.elements.length<e)throw Error(a.toSingleLine`Radio button with index ${e} doesn't exist.`);(0,o.arrayEach)(this.elements,((t,r)=>{t.setChecked(r===e)}))}getActiveOperationId(){const e=this.elements.find((e=>e instanceof p.RadioInputUI&&e.isChecked()));return e?e.getValue():u.OPERATION_ID}getState(){return this.getActiveOperationId()}setState(e){this.reset(),e&&this.getActiveOperationId()!==e&&(0,o.arrayEach)(this.elements,(t=>{t.setChecked(t.getValue()===e)}))}updateState(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u.OPERATION_ID,t=arguments.length>1?arguments[1]:void 0,r=e;r===d.OPERATION_ID&&(r=c.OPERATION_ID),this.state.setValueAtIndex(t,r)}reset(){this.setChecked(0)}}function y(e){this.setState(e.target.value)}t.OperatorsComponent=m},75482:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(27458),r(94364);var s=n(r(85707)),i=r(62577),o=r(77661),a=r(10587),l=r(83445),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=m(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),u=r(87094),c=r(62095),d=r(68312),p=r(33582),g=r(69196),f=r(17756);function m(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(m=function(e){return e?r:t})(e)}function y(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function E(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var w=new WeakSet;class C extends c.BaseComponent{constructor(e,t){super(e,{id:t.id,stateless:!1}),y(this,w),(0,s.default)(this,"name",""),this.name=t.name,this.elements.push(new d.MultipleSelectUI(this.hot)),this.registerHooks()}registerHooks(){this.getMultipleSelectElement().addLocalHook("keydown",(e=>E(w,this,v).call(this,e))).addLocalHook("listTabKeydown",(e=>this.runLocalHooks("listTabKeydown",e))),this.hot.addHook("modifyFiltersMultiSelectValue",((e,t)=>E(w,this,S).call(this,e,t)))}getElements(){const e=this.getMultipleSelectElement();return[e.getSearchInputElement(),e.getSelectAllElement(),e.getClearAllElement(),this.getMultipleSelectElement()]}setState(e){if(this.reset(),e&&e.command.key===p.CONDITION_BY_VALUE){const t=this.getMultipleSelectElement();t.setItems(e.itemsSnapshot),t.setValue(e.args[0]),t.setLocale(e.locale)}}getState(){const e=this.getMultipleSelectElement(),t=e.getItems();return{command:{key:e.isSelectedAllValues()||!t.length?p.CONDITION_NONE:p.CONDITION_BY_VALUE},args:[e.getValue()],itemsSnapshot:t}}updateState(e){const t=(t,r,n,s,i)=>{const[o]=(0,a.arrayFilter)(r,(e=>e.name===p.CONDITION_BY_VALUE)),l={},c=this.hot.getTranslatedPhrase(h.FILTERS_VALUES_BLANK_CELLS);if(o){const r=s(t,i),h=(0,a.arrayMap)(r,(e=>e.value)),d=new Map(r.map((e=>[e.value,this.hot.getCellMeta(e.meta.visualRow,e.meta.visualCol)]))),f=(0,u.unifyColumnValues)(h);n&&(o.args[0]=n);const m=[],y=(0,u.intersectValues)(f,o.args[0],c,(e=>{e.checked&&m.push(e.value),E(w,this,R).call(this,e,d)})),C=e.editedConditionStack.column;l.locale=this.hot.getCellMeta(0,C).locale,l.args=[m],l.command=(0,g.getConditionDescriptor)(p.CONDITION_BY_VALUE),l.itemsSnapshot=y}else l.args=[],l.command=(0,g.getConditionDescriptor)(p.CONDITION_NONE);this.state.setValueAtIndex(t,l)};t(e.editedConditionStack.column,e.editedConditionStack.conditions,e.conditionArgsChange,e.filteredRowsFactory),e.dependentConditionStacks.length&&t(e.dependentConditionStacks[0].column,e.dependentConditionStacks[0].conditions,e.conditionArgsChange,e.filteredRowsFactory,e.editedConditionStack)}getMultipleSelectElement(){return this.elements.filter((e=>e instanceof d.MultipleSelectUI))[0]}getMenuItemDescriptor(){return{key:this.id,name:this.name,isCommand:!1,disableSelection:!0,hidden:()=>this.isHidden(),renderer:(e,t,r,n,s,o)=>{(0,i.addClass)(t.parentNode,"htFiltersMenuValue");const l=this.hot.rootDocument.createElement("div");return(0,i.addClass)(l,"htFiltersMenuLabel"),l.textContent=o,t.appendChild(l),t.parentElement.hasAttribute("ghost-table")||(0,a.arrayEach)(this.elements,(e=>t.appendChild(e.element))),t}}}reset(){const e=this.hot.getTranslatedPhrase(h.FILTERS_VALUES_BLANK_CELLS),t=this._getColumnVisibleValues(),r=t.map((e=>e.value)),n=new Map(t.map((e=>[e.value,e.meta]))),s=(0,u.unifyColumnValues)(r),i=(0,u.intersectValues)(s,s,e,(e=>{E(w,this,R).call(this,e,n)}));this.getMultipleSelectElement().setItems(i),super.reset(),this.getMultipleSelectElement().setValue(s);const o=this.hot.getPlugin("filters").getSelectedColumn();null!==o&&this.getMultipleSelectElement().setLocale(this.hot.getCellMeta(0,o.visualIndex).locale)}_getColumnVisibleValues(){const e=this.hot.getPlugin("filters").getSelectedColumn();return null===e?[]:(0,a.arrayMap)(this.hot.getDataAtCol(e.visualIndex),((t,r)=>({value:(0,u.toEmptyString)(t),meta:this.hot.getCellMeta(r,e.visualIndex)})))}}function v(e){(0,l.isKey)(e.keyCode,"ESCAPE")&&(this.runLocalHooks("cancel"),(0,o.stopImmediatePropagation)(e))}function R(e,t){this.hot.hasHook("modifyFiltersMultiSelectValue")&&(e.visualValue=this.hot.runHooks("modifyFiltersMultiSelectValue",e.visualValue,t.get(e.value)))}function S(e,t){return"numeric"===t.type?(0,f.getRenderedValue)(e,t):e}t.ValueComponent=C},78911:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=l;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(70505),i=r(69196);function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}const a=t.CONDITION_NAME="begins_with";function l(e,t){let[r]=t;return(0,s.stringify)(e.value).toLocaleLowerCase(e.meta.locale).startsWith((0,s.stringify)(r))}(0,i.registerCondition)(a,l,{name:n.FILTERS_CONDITIONS_BEGINS_WITH,inputsCount:1,showOperators:!0})},68833:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=h;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=a(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(69196),i=r(22220),o=r(76047);function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(a=function(e){return e?r:t})(e)}const l=t.CONDITION_NAME="between";function h(e,t){let[r,n]=t,a=r,l=n;if("numeric"===e.meta.type){const e=parseFloat(a,10),t=parseFloat(l,10);a=Math.min(e,t),l=Math.max(e,t)}else if("date"===e.meta.type){const t=(0,s.getCondition)(o.CONDITION_NAME,[l]),r=(0,s.getCondition)(i.CONDITION_NAME,[a]);return t(e)&&r(e)}return e.value>=a&&e.value<=l}(0,s.registerCondition)(l,h,{name:n.FILTERS_CONDITIONS_BETWEEN,inputsCount:2,showOperators:!0})},37115:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=o;var n=r(69196),s=r(87094);const i=t.CONDITION_NAME="by_value";function o(e,t){let[r]=t;return r(e.value)}(0,n.registerCondition)(i,o,{name:"By value",inputsCount:0,inputValuesDecorator(e){let[t]=e;return[(0,s.createArrayAssertion)(t)]},showOperators:!1})},37504:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=l;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(70505),i=r(69196);function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}const a=t.CONDITION_NAME="contains";function l(e,t){let[r]=t;return(0,s.stringify)(e.value).toLocaleLowerCase(e.meta.locale).indexOf((0,s.stringify)(r))>=0}(0,i.registerCondition)(a,l,{name:n.FILTERS_CONDITIONS_CONTAINS,inputsCount:1,showOperators:!0})},22220:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.condition=h;var s=n(r(6671)),i=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=a(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),o=r(69196);function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(a=function(e){return e?r:t})(e)}const l=t.CONDITION_NAME="date_after";function h(e,t){let[r]=t;const n=(0,s.default)(e.value,e.meta.dateFormat),i=(0,s.default)(r,e.meta.dateFormat);return!(!n.isValid()||!i.isValid())&&n.diff(i)>=0}(0,o.registerCondition)(l,h,{name:i.FILTERS_CONDITIONS_AFTER,inputsCount:1,showOperators:!0})},76047:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.condition=h;var s=n(r(6671)),i=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=a(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),o=r(69196);function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(a=function(e){return e?r:t})(e)}const l=t.CONDITION_NAME="date_before";function h(e,t){let[r]=t;const n=(0,s.default)(e.value,e.meta.dateFormat),i=(0,s.default)(r,e.meta.dateFormat);return!(!n.isValid()||!i.isValid())&&n.diff(i)<=0}(0,o.registerCondition)(l,h,{name:i.FILTERS_CONDITIONS_BEFORE,inputsCount:1,showOperators:!0})},14383:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.condition=h;var s=n(r(6671)),i=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=a(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),o=r(69196);function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(a=function(e){return e?r:t})(e)}const l=t.CONDITION_NAME="date_today";function h(e){const t=(0,s.default)(e.value,e.meta.dateFormat);return!!t.isValid()&&t.isSame((0,s.default)().startOf("day"),"d")}(0,o.registerCondition)(l,h,{name:i.FILTERS_CONDITIONS_TODAY,inputsCount:0})},94855:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.condition=h;var s=n(r(6671)),i=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=a(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),o=r(69196);function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(a=function(e){return e?r:t})(e)}const l=t.CONDITION_NAME="date_tomorrow";function h(e){const t=(0,s.default)(e.value,e.meta.dateFormat);return!!t.isValid()&&t.isSame((0,s.default)().subtract(-1,"days").startOf("day"),"d")}(0,o.registerCondition)(l,h,{name:i.FILTERS_CONDITIONS_TOMORROW,inputsCount:0})},99006:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.condition=h;var s=n(r(6671)),i=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=a(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),o=r(69196);function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(a=function(e){return e?r:t})(e)}const l=t.CONDITION_NAME="date_yesterday";function h(e){const t=(0,s.default)(e.value,e.meta.dateFormat);return!!t.isValid()&&t.isSame((0,s.default)().subtract(1,"days").startOf("day"),"d")}(0,o.registerCondition)(l,h,{name:i.FILTERS_CONDITIONS_YESTERDAY,inputsCount:0})},53080:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=l;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(69196),i=r(70505);function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}const a=t.CONDITION_NAME="empty";function l(e){return(0,i.isEmpty)(e.value)}(0,s.registerCondition)(a,l,{name:n.FILTERS_CONDITIONS_EMPTY,inputsCount:0,showOperators:!0})},36263:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=l;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(70505),i=r(69196);function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}const a=t.CONDITION_NAME="ends_with";function l(e,t){let[r]=t;return(0,s.stringify)(e.value).toLocaleLowerCase(e.meta.locale).endsWith((0,s.stringify)(r))}(0,i.registerCondition)(a,l,{name:n.FILTERS_CONDITIONS_ENDS_WITH,inputsCount:1,showOperators:!0})},19941:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=l;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(70505),i=r(69196);function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}const a=t.CONDITION_NAME="eq";function l(e,t){let[r]=t;return(0,s.stringify)(e.value).toLocaleLowerCase(e.meta.locale)===(0,s.stringify)(r)}(0,i.registerCondition)(a,l,{name:n.FILTERS_CONDITIONS_EQUAL,inputsCount:1,showOperators:!0})},44294:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=i;var n=r(69196);const s=t.CONDITION_NAME="false";function i(){return!1}(0,n.registerCondition)(s,i,{name:"False"})},85476:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=a;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(69196);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}const o=t.CONDITION_NAME="gt";function a(e,t){let[r]=t,n=r;return"numeric"===e.meta.type&&(n=parseFloat(n,10)),e.value>n}(0,s.registerCondition)(o,a,{name:n.FILTERS_CONDITIONS_GREATER_THAN,inputsCount:1,showOperators:!0})},96557:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=a;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(69196);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}const o=t.CONDITION_NAME="gte";function a(e,t){let[r]=t,n=r;return"numeric"===e.meta.type&&(n=parseFloat(n,10)),e.value>=n}(0,s.registerCondition)(o,a,{name:n.FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL,inputsCount:1,showOperators:!0})},39079:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=a;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(69196);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}const o=t.CONDITION_NAME="lt";function a(e,t){let[r]=t,n=r;return"numeric"===e.meta.type&&(n=parseFloat(n,10)),e.value<n}(0,s.registerCondition)(o,a,{name:n.FILTERS_CONDITIONS_LESS_THAN,inputsCount:1,showOperators:!0})},16900:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=a;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(69196);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}const o=t.CONDITION_NAME="lte";function a(e,t){let[r]=t,n=r;return"numeric"===e.meta.type&&(n=parseFloat(n,10)),e.value<=n}(0,s.registerCondition)(o,a,{name:n.FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL,inputsCount:1,showOperators:!0})},1915:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=a;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(69196);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}const o=t.CONDITION_NAME="none";function a(){return!0}(0,s.registerCondition)(o,a,{name:n.FILTERS_CONDITIONS_NONE,inputsCount:0,showOperators:!1})},1758:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=l;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(69196),i=r(68833);function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}const a=t.CONDITION_NAME="not_between";function l(e,t){return!(0,s.getCondition)(i.CONDITION_NAME,t)(e)}(0,s.registerCondition)(a,l,{name:n.FILTERS_CONDITIONS_NOT_BETWEEN,inputsCount:2,showOperators:!0})},51477:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=l;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(69196),i=r(37504);function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}const a=t.CONDITION_NAME="not_contains";function l(e,t){return!(0,s.getCondition)(i.CONDITION_NAME,t)(e)}(0,s.registerCondition)(a,l,{name:n.FILTERS_CONDITIONS_NOT_CONTAIN,inputsCount:1,showOperators:!0})},12551:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=l;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(69196),i=r(53080);function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}const a=t.CONDITION_NAME="not_empty";function l(e,t){return!(0,s.getCondition)(i.CONDITION_NAME,t)(e)}(0,s.registerCondition)(a,l,{name:n.FILTERS_CONDITIONS_NOT_EMPTY,inputsCount:0,showOperators:!0})},99034:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=l;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(69196),i=r(19941);function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}const a=t.CONDITION_NAME="neq";function l(e,t){return!(0,s.getCondition)(i.CONDITION_NAME,t)(e)}(0,s.registerCondition)(a,l,{name:n.FILTERS_CONDITIONS_NOT_EQUAL,inputsCount:1,showOperators:!0})},76893:(e,t,r)=>{"use strict";t.__esModule=!0,t.condition=i;var n=r(69196);const s=t.CONDITION_NAME="true";function i(){return!0}(0,n.registerCondition)(s,i,{name:"True"})},24242:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(69655),r(94364),r(90458),r(75568);var s=n(r(85707)),i=r(25499),o=r(21595),a=n(r(16050)),l=r(69196),h=r(7233),u=r(2933),c=r(70505),d=r(61149);const p="ConditionCollection.filteringStates";class g{constructor(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];(0,s.default)(this,"hot",void 0),(0,s.default)(this,"isMapRegistrable",void 0),(0,s.default)(this,"filteringStates",new d.LinkedPhysicalIndexToValueMap),(0,s.default)(this,"previousConditionStack",null),this.hot=e,this.isMapRegistrable=t,!0===this.isMapRegistrable?this.hot.columnIndexMapper.registerMap(p,this.filteringStates):this.filteringStates.init(this.hot.columnIndexMapper.getNumberOfIndexes())}isEmpty(){return 0===this.getFilteredColumns().length}isMatch(e,t){var r;const n=this.filteringStates.getValueAtIndex(t),s=null!==(r=null==n?void 0:n.conditions)&&void 0!==r?r:[],i=null==n?void 0:n.operation;return this.isMatchInConditions(s,e,i)}isMatchInConditions(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.OPERATION_ID;return!e.length||(0,u.getOperationFunc)(r)(e,t)}addCondition(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.OPERATION_ID,n=arguments.length>3?arguments[3]:void 0;const s=this.hot.getCellMeta(0,e).locale,i=t.args.map((e=>"string"==typeof e?e.toLocaleLowerCase(s):e)),a=t.name||t.command.key;null===this.previousConditionStack&&this.setPreviousConditionStack(this.exportAllConditions()),this.runLocalHooks("beforeAdd",e);const d=this.getOperation(e);if(d){if(d!==r)throw Error(o.toSingleLine`The column of index ${e} has been already applied with a \`${d}\`\x20
        filter operation. Use \`removeConditions\` to clear the current conditions and then add new ones.\x20
        Mind that you cannot mix different types of operations (for instance, if you use \`conjunction\`,\x20
        use it consequently for a particular column).`)}else if((0,c.isUndefined)(u.operations[r]))throw new Error(o.toSingleLine`Unexpected operation named \`${r}\`. Possible ones are\x20
        \`disjunction\` and \`conjunction\`.`);const p=this.getConditions(e);0===p.length?this.filteringStates.setValueAtIndex(e,{operation:r,conditions:[{name:a,args:i,func:(0,l.getCondition)(a,i)}]},n):p.push({name:a,args:i,func:(0,l.getCondition)(a,i)}),this.runLocalHooks("afterAdd",e)}getConditions(e){var t,r;return null!==(t=null===(r=this.filteringStates.getValueAtIndex(e))||void 0===r?void 0:r.conditions)&&void 0!==t?t:[]}getOperation(e){var t;return null===(t=this.filteringStates.getValueAtIndex(e))||void 0===t?void 0:t.operation}getFilteredColumns(){return this.filteringStates.getEntries().map((e=>{let[t]=e;return t}))}getColumnStackPosition(e){return this.getFilteredColumns().indexOf(e)}exportAllConditions(){return this.filteringStates.getEntries().reduce(((e,t)=>{let[r,{operation:n,conditions:s}]=t;return e.push({column:r,operation:n,conditions:s.map((e=>{let{name:t,args:r}=e;return{name:t,args:[...r]}}))}),e}),[])}importAllConditions(e){this.clean(),e.forEach((e=>{e.conditions.forEach((t=>this.addCondition(e.column,t)))}))}removeConditions(e){this.setPreviousConditionStack(this.exportAllConditions()),this.runLocalHooks("beforeRemove",e),this.filteringStates.clearValue(e),this.runLocalHooks("afterRemove",e)}clean(){this.runLocalHooks("beforeClean"),this.filteringStates.clear(),this.runLocalHooks("afterClean")}hasConditions(e,t){const r=this.getConditions(e);return t?r.some((e=>e.name===t)):r.length>0}setPreviousConditionStack(e){this.previousConditionStack=e}destroy(){this.isMapRegistrable&&this.hot.columnIndexMapper.unregisterMap(p),this.filteringStates=null,this.clearLocalHooks()}}(0,i.mixin)(g,a.default);t.default=g},69196:(e,t,r)=>{"use strict";t.__esModule=!0,t.getCondition=function(e,t){if(!n[e])throw Error(`Filter condition "${e}" does not exist.`);const{condition:r,descriptor:s}=n[e];let i=t;s.inputValuesDecorator&&(i=s.inputValuesDecorator(i));return function(e){return r.apply(e.meta.instance,[].concat([e],[i]))}},t.getConditionDescriptor=function(e){if(!n[e])throw Error(`Filter condition "${e}" does not exist.`);return n[e].descriptor},t.registerCondition=function(e,t,r){r.key=e,n[e]={condition:t,descriptor:r}},r(67834);const n=t.conditions={}},53177:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(27458);var s=n(r(85707)),i=r(10587),o=r(25499),a=r(89804),l=n(r(16050)),h=n(r(24242)),u=n(r(96213)),c=r(87094);function d(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function p(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var g=new WeakSet;class f{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>[];d(this,g),(0,s.default)(this,"hot",void 0),(0,s.default)(this,"conditionCollection",void 0),(0,s.default)(this,"columnDataFactory",void 0),(0,s.default)(this,"changes",[]),(0,s.default)(this,"grouping",!1),(0,s.default)(this,"latestEditedColumnPosition",-1),(0,s.default)(this,"latestOrderStack",[]),this.hot=e,this.conditionCollection=t,this.columnDataFactory=r,this.conditionCollection.addLocalHook("beforeRemove",(e=>p(g,this,m).call(this,e))),this.conditionCollection.addLocalHook("afterRemove",(e=>this.updateStatesAtColumn(e))),this.conditionCollection.addLocalHook("afterAdd",(e=>this.updateStatesAtColumn(e))),this.conditionCollection.addLocalHook("beforeClean",(()=>p(g,this,y).call(this))),this.conditionCollection.addLocalHook("afterClean",(()=>p(g,this,E).call(this)))}groupChanges(){this.grouping=!0}flush(){this.grouping=!1,(0,i.arrayEach)(this.changes,(e=>{this.updateStatesAtColumn(e)})),this.changes.length=0}updateStatesAtColumn(e,t){var r=this;if(this.grouping)return void(-1===this.changes.indexOf(e)&&this.changes.push(e));const n=this.conditionCollection.exportAllConditions();let s=this.conditionCollection.getColumnStackPosition(e);-1===s&&(s=this.latestEditedColumnPosition);const o=n.slice(0,s),l=n.slice(s);l.length&&l[0].column===e&&l.shift();const d=(0,a.curry)((function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const s=new h.default(r.hot,!1),o=[].concat(e,n);s.importAllConditions(o);const a=r.columnDataFactory(t);let l;l=s.isEmpty()?a:new u.default(s,(e=>r.columnDataFactory(e))).filter(),l=(0,i.arrayMap)(l,(e=>e.meta.visualRow));const d=(0,c.createArrayAssertion)(l);return s.destroy(),(0,i.arrayFilter)(a,(e=>d(e.meta.visualRow)))}))(o),p=[].concat(this.conditionCollection.getConditions(e));this.runLocalHooks("update",{editedConditionStack:{column:e,conditions:p},dependentConditionStacks:l,filteredRowsFactory:d,conditionArgsChange:t})}destroy(){this.clearLocalHooks(),(0,o.objectEach)(this,((e,t)=>{this[t]=null}))}}function m(e){this.latestEditedColumnPosition=this.conditionCollection.getColumnStackPosition(e)}function y(){this.latestOrderStack=this.conditionCollection.getFilteredColumns()}function E(){(0,i.arrayEach)(this.latestOrderStack,(e=>{this.updateStatesAtColumn(e)}))}(0,o.mixin)(f,l.default);t.default=f},33582:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){const t=[];let r=e;k[r]||(r=L);return(0,s.arrayEach)(k[r],(e=>{let r;r=e===i.SEPARATOR?{name:i.SEPARATOR}:(0,n.clone)((0,o.getConditionDescriptor)(e)),t.push(r)})),t},r(15724);var n=r(25499),s=r(10587),i=r(30889),o=r(69196),a=r(1915);t.CONDITION_NONE=a.CONDITION_NAME;var l=r(53080);t.CONDITION_EMPTY=l.CONDITION_NAME;var h=r(12551);t.CONDITION_NOT_EMPTY=h.CONDITION_NAME;var u=r(19941);t.CONDITION_EQUAL=u.CONDITION_NAME;var c=r(99034);t.CONDITION_NOT_EQUAL=c.CONDITION_NAME;var d=r(85476);t.CONDITION_GREATER_THAN=d.CONDITION_NAME;var p=r(96557);t.CONDITION_GREATER_THAN_OR_EQUAL=p.CONDITION_NAME;var g=r(39079);t.CONDITION_LESS_THAN=g.CONDITION_NAME;var f=r(16900);t.CONDITION_LESS_THAN_OR_EQUAL=f.CONDITION_NAME;var m=r(68833);t.CONDITION_BETWEEN=m.CONDITION_NAME;var y=r(1758);t.CONDITION_NOT_BETWEEN=y.CONDITION_NAME;var E=r(78911);t.CONDITION_BEGINS_WITH=E.CONDITION_NAME;var w=r(36263);t.CONDITION_ENDS_WITH=w.CONDITION_NAME;var C=r(37504);t.CONDITION_CONTAINS=C.CONDITION_NAME;var v=r(51477);t.CONDITION_NOT_CONTAINS=v.CONDITION_NAME;var R=r(76047);t.CONDITION_DATE_BEFORE=R.CONDITION_NAME;var S=r(22220);t.CONDITION_DATE_AFTER=S.CONDITION_NAME;var T=r(94855);t.CONDITION_TOMORROW=T.CONDITION_NAME;var N=r(14383);t.CONDITION_TODAY=N.CONDITION_NAME;var M=r(99006);t.CONDITION_YESTERDAY=M.CONDITION_NAME;var _=r(37115);t.CONDITION_BY_VALUE=_.CONDITION_NAME;var b=r(76893);t.CONDITION_TRUE=b.CONDITION_NAME;var O=r(44294);t.CONDITION_FALSE=O.CONDITION_NAME;var A=r(7233);t.OPERATION_AND=A.OPERATION_ID;var I=r(96609);t.OPERATION_OR=I.OPERATION_ID;var x=r(57737);t.OPERATION_OR_THEN_VARIABLE=x.OPERATION_ID;const P=t.TYPE_NUMERIC="numeric",L=t.TYPE_TEXT="text",D=t.TYPE_DATE="date",k=t.TYPES={[P]:[a.CONDITION_NAME,i.SEPARATOR,l.CONDITION_NAME,h.CONDITION_NAME,i.SEPARATOR,u.CONDITION_NAME,c.CONDITION_NAME,i.SEPARATOR,d.CONDITION_NAME,p.CONDITION_NAME,g.CONDITION_NAME,f.CONDITION_NAME,m.CONDITION_NAME,y.CONDITION_NAME],[L]:[a.CONDITION_NAME,i.SEPARATOR,l.CONDITION_NAME,h.CONDITION_NAME,i.SEPARATOR,u.CONDITION_NAME,c.CONDITION_NAME,i.SEPARATOR,E.CONDITION_NAME,w.CONDITION_NAME,i.SEPARATOR,C.CONDITION_NAME,v.CONDITION_NAME],[D]:[a.CONDITION_NAME,i.SEPARATOR,l.CONDITION_NAME,h.CONDITION_NAME,i.SEPARATOR,u.CONDITION_NAME,c.CONDITION_NAME,i.SEPARATOR,R.CONDITION_NAME,S.CONDITION_NAME,m.CONDITION_NAME,i.SEPARATOR,T.CONDITION_NAME,N.CONDITION_NAME,M.CONDITION_NAME]}},96213:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707)),i=r(10587);t.default=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:()=>[];(0,s.default)(this,"conditionCollection",void 0),(0,s.default)(this,"columnDataFactory",void 0),this.conditionCollection=e,this.columnDataFactory=t}filter(){let e=[];return(0,i.arrayEach)(this.conditionCollection.getFilteredColumns(),((t,r)=>{let n=this.columnDataFactory(t);r&&(n=this._getIntersectData(n,e)),e=this.filterByColumn(t,n)})),e}filterByColumn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=[];return(0,i.arrayEach)(t,(t=>{void 0!==t&&this.conditionCollection.isMatch(t,e)&&r.push(t)})),r}_getIntersectData(e,t){const r=[];return(0,i.arrayEach)(t,(t=>{const n=t.meta.visualRow;void 0!==e[n]&&(r[n]=e[n])})),r}}},72328:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(25352),r(14846),r(27458),r(69655),r(94364);var s=n(r(85707)),i=r(75089),o=r(10587),a=r(21595),l=r(14859),h=r(22137),u=r(62577),c=r(83445),d=r(30889),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=N(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),g=r(65686),f=r(45698),m=r(75482),y=r(73048),E=n(r(24242)),w=n(r(96213)),C=n(r(53177)),v=r(87094),R=r(4679),S=r(33582),T=r(61149);function N(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(N=function(e){return e?r:t})(e)}function M(e,t,r){_(e,t),t.set(e,r)}function _(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function b(e,t){return e.get(O(e,t))}function O(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const A=t.PLUGIN_KEY="filters",I=t.PLUGIN_PRIORITY=250,x=A;var P=new WeakMap,L=new WeakMap,D=new WeakSet;class k extends i.BasePlugin{static get PLUGIN_KEY(){return A}static get PLUGIN_PRIORITY(){return I}static get PLUGIN_DEPS(){return["plugin:DropdownMenu","plugin:HiddenRows","cell-type:checkbox"]}constructor(e){var t,r,n;super(e),t=this,_(r=this,n=D),n.add(r),(0,s.default)(this,"dropdownMenuPlugin",null),(0,s.default)(this,"conditionCollection",null),(0,s.default)(this,"conditionUpdateObserver",null),(0,s.default)(this,"components",new Map([["filter_by_condition",null],["filter_operators",null],["filter_by_condition2",null],["filter_by_value",null],["filter_action_bar",null]])),(0,s.default)(this,"filtersRowsMap",null),M(this,P,void 0),M(this,L,new WeakSet),this.hot.addHook("afterGetColHeader",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return O(D,t,j).call(t,...r)}))}isEnabled(){return!!this.hot.getSettings()[A]}enablePlugin(){var e=this;if(this.enabled)return;this.filtersRowsMap=this.hot.rowIndexMapper.registerMap(this.pluginName,new T.TrimmingMap),this.dropdownMenuPlugin=this.hot.getPlugin("dropdownMenu");const t=this.hot.getSettings().dropdownMenu,r=t&&t.uiContainer||this.hot.rootDocument.body,n=e=>(e.addLocalHook("accept",(()=>O(D,this,W).call(this,"accept"))),e.addLocalHook("cancel",(()=>O(D,this,W).call(this,"cancel"))),e.addLocalHook("change",(t=>O(D,this,Y).call(this,e,t))),e),s=()=>`${this.hot.getTranslatedPhrase(p.FILTERS_DIVS_FILTER_BY_CONDITION)}:`,i=()=>`${this.hot.getTranslatedPhrase(p.FILTERS_DIVS_FILTER_BY_VALUE)}:`;if(!this.components.get("filter_by_condition")){const e=new g.ConditionComponent(this.hot,{id:"filter_by_condition",name:s,addSeparator:!1,menuContainer:r});e.addLocalHook("afterClose",(()=>O(D,this,G).call(this))),this.components.set("filter_by_condition",n(e))}if(this.components.get("filter_operators")||this.components.set("filter_operators",new f.OperatorsComponent(this.hot,{id:"filter_operators",name:"Operators"})),!this.components.get("filter_by_condition2")){const e=new g.ConditionComponent(this.hot,{id:"filter_by_condition2",name:"",addSeparator:!0,menuContainer:r});e.addLocalHook("afterClose",(()=>O(D,this,G).call(this))),this.components.set("filter_by_condition2",n(e))}if(this.components.get("filter_by_value")||this.components.set("filter_by_value",n(new m.ValueComponent(this.hot,{id:"filter_by_value",name:i}))),this.components.get("filter_action_bar")||this.components.set("filter_action_bar",n(new y.ActionBarComponent(this.hot,{id:"filter_action_bar",name:"Action bar"}))),this.conditionCollection||(this.conditionCollection=new E.default(this.hot)),this.conditionUpdateObserver||(this.conditionUpdateObserver=new C.default(this.hot,this.conditionCollection,(e=>this.getDataMapAtColumn(e))),this.conditionUpdateObserver.addLocalHook("update",(e=>O(D,this,z).call(this,e)))),this.components.forEach((e=>e.show())),this.addHook("afterDropdownMenuDefaultOptions",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return O(D,e,B).call(e,...r)})),this.addHook("beforeDropdownMenuShow",(()=>O(D,this,V).call(this))),this.addHook("afterDropdownMenuShow",(()=>O(D,this,F).call(this))),this.addHook("afterDropdownMenuHide",(()=>O(D,this,U).call(this))),this.addHook("afterChange",(e=>O(D,this,H).call(this,e))),this.hot.getSettings().dropdownMenu&&this.dropdownMenuPlugin&&(this.dropdownMenuPlugin.disablePlugin(),this.dropdownMenuPlugin.enablePlugin()),!b(P,this)&&this.dropdownMenuPlugin.enabled){const e=[{focus:()=>{const e=b(P,this).getMenu(),t=e.getNavigator(),r=b(P,this).getLastMenuPage();e.focus(),r>0?t.setCurrentPage(r):t.toFirstItem()}},...Array.from(this.components).map((e=>{let[,t]=e;return t.getElements()})).flat()];o=P,a=this,l=(0,R.createMenuFocusController)(this.dropdownMenuPlugin.menu,e),o.set(O(o,a),l);const t=e=>{b(P,this).listen(),e.preventDefault(),(0,c.isKey)(e.keyCode,"TAB")&&(e.shiftKey?b(P,this).toPreviousItem():b(P,this).toNextItem())};this.components.get("filter_by_value").addLocalHook("listTabKeydown",t),this.components.get("filter_by_condition").addLocalHook("selectTabKeydown",t)}var o,a,l;this.registerShortcuts(),super.enablePlugin()}disablePlugin(){var e;this.enabled&&(null!==(e=this.dropdownMenuPlugin)&&void 0!==e&&e.enabled&&this.dropdownMenuPlugin.menu.clearLocalHooks(),this.components.forEach(((e,t)=>{e.destroy(),this.components.set(t,null)})),this.conditionCollection.destroy(),this.conditionCollection=null,this.hot.rowIndexMapper.unregisterMap(this.pluginName));this.unregisterShortcuts(),super.disablePlugin()}registerShortcuts(){this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Alt","A"]],stopPropagation:!0,callback:()=>{const e=this.hot.getSelected();this.clearConditions(),this.filter(),e&&this.hot.selectCells(e)},group:x})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(x)}addCondition(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:S.OPERATION_AND;const s=this.hot.toPhysicalColumn(e);this.conditionCollection.addCondition(s,{command:{key:t},args:r},n)}removeConditions(e){const t=this.hot.toPhysicalColumn(e);this.conditionCollection.removeConditions(t)}clearConditions(e){if(void 0===e)this.conditionCollection.clean();else{const t=this.hot.toPhysicalColumn(e);this.conditionCollection.removeConditions(t)}}filter(){const{navigableHeaders:e}=this.hot.getSettings(),t=this._createDataFilter(),r=!this.conditionCollection.isEmpty();let n=[];const s=this.conditionCollection.exportAllConditions();if(!1!==this.hot.runHooks("beforeFilter",s,this.conditionCollection.previousConditionStack))if(r){const r=[];this.hot.batchExecution((()=>{this.filtersRowsMap.clear(),n=(0,o.arrayMap)(t.filter(),(e=>e.meta.visualRow));const e=(0,v.createArrayAssertion)(n);(0,h.rangeEach)(this.hot.countSourceRows()-1,(t=>{e(t)||r.push(t)})),(0,o.arrayEach)(r,(e=>{this.filtersRowsMap.setValueAtIndex(e,!0)}))}),!0),e||n.length||this.hot.deselectCell()}else this.filtersRowsMap.clear();this.hot.runHooks("afterFilter",s),this.conditionCollection.setPreviousConditionStack(null),this.hot.view.adjustElementsSize(),this.hot.render(),this.hot.selection.isSelected()&&this.hot.selectCell(e?-1:0,this.hot.getSelectedRangeLast().highlight.col)}getSelectedColumn(){var e;const t=null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight;return t?{visualIndex:t.col,physicalIndex:this.hot.toPhysicalColumn(t.col)}:null}getDataMapAtColumn(e){const t=this.hot.toVisualColumn(e),r=[];return(0,o.arrayEach)(this.hot.getSourceDataAtCol(t),((e,n)=>{var s;const{row:i,col:o,visualCol:a,visualRow:l,type:h,instance:u,dateFormat:c,locale:d}=this.hot.getCellMeta(n,t),p=null!==(s=this.hot.getDataAtCell(this.hot.toVisualRow(n),t))&&void 0!==s?s:e;r.push({meta:{row:i,col:o,visualCol:a,visualRow:l,type:h,instance:u,dateFormat:c,locale:d},value:(0,v.toEmptyString)(p)})})),r}updateValueComponentCondition(e){const t=this.hot.getDataAtCol(e),r=(0,v.unifyColumnValues)(t);this.conditionUpdateObserver.updateStatesAtColumn(e,r)}restoreComponents(e){var t;const r=null===(t=this.getSelectedColumn())||void 0===t?void 0:t.physicalIndex;e.forEach((e=>{e.isHidden()||e.restoreState(r)})),this.updateDependentComponentsVisibility()}getOperationBasedOnArguments(e,t,r,n){let s=e;return s===S.OPERATION_OR&&t.command.key!==S.CONDITION_NONE&&r.command.key!==S.CONDITION_NONE&&n.command.key!==S.CONDITION_NONE?s=S.OPERATION_OR_THEN_VARIABLE:n.command.key!==S.CONDITION_NONE&&(t.command.key!==S.CONDITION_NONE&&r.command.key!==S.CONDITION_NONE||(s=S.OPERATION_AND)),s}setListeningDropdownMenu(){this.dropdownMenuPlugin&&this.dropdownMenuPlugin.setListening()}updateDependentComponentsVisibility(){const e=this.components.get("filter_by_condition"),{command:t}=e.getState(),r=[this.components.get("filter_by_condition2"),this.components.get("filter_operators")];t.showOperators?this.showComponents(...r):this.hideComponents(...r)}_createDataFilter(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.conditionCollection;return new w.default(e,(e=>this.getDataMapAtColumn(e)))}getIndexesOfComponents(){const e=[];if(!this.dropdownMenuPlugin)return e;const t=this.dropdownMenuPlugin.menu;for(var r=arguments.length,n=new Array(r),s=0;s<r;s++)n[s]=arguments[s];return(0,o.arrayEach)(n,(r=>{(0,o.arrayEach)(t.menuItems,((t,n)=>{t.key===r.getMenuItemDescriptor().key&&e.push(n)}))})),e}changeComponentsVisibility(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.dropdownMenuPlugin)return;const t=this.dropdownMenuPlugin.menu.hotMenu,r=t.getPlugin("hiddenRows");for(var n=arguments.length,s=new Array(n>1?n-1:0),i=1;i<n;i++)s[i-1]=arguments[i];const o=this.getIndexesOfComponents(...s);e?r.showRows(o):r.hideRows(o),t.render()}hideComponents(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.changeComponentsVisibility(!1,...t)}showComponents(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.changeComponentsVisibility(!0,...t)}destroy(){this.enabled&&(this.components.forEach(((e,t)=>{null!==e&&(e.destroy(),this.components.set(t,null))})),this.conditionCollection.destroy(),this.conditionUpdateObserver.destroy(),this.hot.rowIndexMapper.unregisterMap(this.pluginName)),super.destroy()}}function H(e){e&&(0,o.arrayEach)(e,(e=>{const[,t]=e,r=this.hot.propToCol(t);this.conditionCollection.hasConditions(r)&&this.updateValueComponentCondition(r)}))}function F(){const e=this.dropdownMenuPlugin.menu;this.restoreComponents(Array.from(this.components.values())),e.updateMenuDimensions()}function U(){this.components.get("filter_by_condition").getSelectElement().closeOptions(),this.components.get("filter_by_condition2").getSelectElement().closeOptions()}function V(){const e=this.dropdownMenuPlugin.menu;b(L,this).has(e)||b(P,this).setMenu(e),b(L,this).add(e)}function B(e){e.items.push({name:d.SEPARATOR}),this.components.forEach((t=>{e.items.push(t.getMenuItemDescriptor())}))}function W(e){var t;if("accept"===e){const e=this.getSelectedColumn();var r;if(null===e)return void(null===(r=this.dropdownMenuPlugin)||void 0===r||r.close());const{physicalIndex:t}=e,n=this.components.get("filter_by_condition").getState(),s=this.components.get("filter_by_condition2").getState(),i=this.components.get("filter_by_value").getState(),o=this.getOperationBasedOnArguments(this.components.get("filter_operators").getActiveOperationId(),n,s,i);this.conditionUpdateObserver.groupChanges();let a=this.conditionCollection.getColumnStackPosition(t);-1===a&&(a=void 0),this.conditionCollection.removeConditions(t),n.command.key!==S.CONDITION_NONE&&(this.conditionCollection.addCondition(t,n,o,a),s.command.key!==S.CONDITION_NONE&&this.conditionCollection.addCondition(t,s,o,a)),i.command.key!==S.CONDITION_NONE&&this.conditionCollection.addCondition(t,i,o,a),this.conditionUpdateObserver.flush(),this.components.forEach((e=>e.saveState(t))),this.filtersRowsMap.clear(),this.filter()}null===(t=this.dropdownMenuPlugin)||void 0===t||t.close()}function Y(e,t){const r=this.dropdownMenuPlugin.menu;this.updateDependentComponentsVisibility(),e.constructor!==g.ConditionComponent||t.inputsCount||this.setListeningDropdownMenu(),r.updateMenuDimensions()}function G(){this.setListeningDropdownMenu()}function j(e,t,r){const n=this.hot.toPhysicalColumn(e);this.enabled&&this.conditionCollection.hasConditions(n)&&r===this.hot.view.getColumnHeadersCount()-1?(0,u.addClass)(t,"htFiltersActive"):(0,u.removeClass)(t,"htFiltersActive")}function z(e){var t;if(null===(t=this.dropdownMenuPlugin)||void 0===t||!t.enabled)return;const{editedConditionStack:{conditions:r,column:n}}=e,s=r.filter((e=>e.name===S.CONDITION_BY_VALUE)),i=r.filter((e=>e.name!==S.CONDITION_BY_VALUE));if(s.length>=2||i.length>=3)(0,l.warn)(a.toSingleLine`The filter conditions have been applied properly, but couldn’t be displayed visually.\x20
        The overall amount of conditions exceed the capability of the dropdown menu.\x20
        For more details see the documentation.`);else{const t=this.conditionCollection.getOperation(n);this.components.get("filter_by_condition").updateState(i[0],n),this.components.get("filter_by_condition2").updateState(i[1],n),this.components.get("filter_operators").updateState(t,n),this.components.get("filter_by_value").updateState(e)}}t.Filters=k},80971:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(72328);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.Filters=n.Filters},2933:(e,t,r)=>{"use strict";t.__esModule=!0,t.getOperationFunc=function(e){if(!n[e])throw Error(`Operation with id "${e}" does not exist.`);const t=n[e].func;return function(e,r){return t(e,r)}},t.getOperationName=function(e){return n[e].name},t.registerOperation=function(e,t,r){n[e]={name:t,func:r}},r(67834);const n=t.operations={}},7233:(e,t,r)=>{"use strict";t.__esModule=!0,t.operationResult=l,r(14846),r(63333);var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(2933);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}const o=t.OPERATION_ID="conjunction",a=t.SHORT_NAME_FOR_COMPONENT=n.FILTERS_LABELS_CONJUNCTION;function l(e,t){return e.every((e=>e.func(t)))}(0,s.registerOperation)(o,a,l)},96609:(e,t,r)=>{"use strict";t.__esModule=!0,t.operationResult=l,r(14846),r(75568);var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(2933);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}const o=t.OPERATION_ID="disjunction",a=t.SHORT_NAME_FOR_COMPONENT=n.FILTERS_LABELS_DISJUNCTION;function l(e,t){return e.some((e=>e.func(t)))}(0,s.registerOperation)(o,a,l)},57737:(e,t,r)=>{"use strict";t.__esModule=!0,t.operationResult=l,r(67834),r(14846),r(75568);var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384)),s=r(2933);function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}const o=t.OPERATION_ID="disjunctionWithExtraCondition",a=t.SHORT_NAME_FOR_COMPONENT=n.FILTERS_LABELS_DISJUNCTION;function l(e,t){if(e.length<3)throw Error("Operation doesn't work on less then three conditions.");return e.slice(0,e.length-1).some((e=>e.func(t)))&&e[e.length-1].func(t)}(0,s.registerOperation)(o,a,l)},4679:(e,t,r)=>{"use strict";t.__esModule=!0,t.createMenuFocusController=function(e,t){let r,l=-1;const h=(0,n.createFocusNavigator)(t),u=e=>()=>{r.isOpened()&&r.getKeyboardShortcutsCtrl().listen(a),h.setCurrentPage(t.indexOf(e))};function c(e){const n=r.getKeyboardShortcutsCtrl(),u=e.getKeyboardShortcutsCtrl();h.clear(),u.addCustomShortcuts([{keys:[["Tab"],["Shift","Tab"]],forwardToContext:n.getContext(a),callback:()=>{e.isSubMenu()&&e.close(),n.listen(a)}}]),e.isSubMenu()||n.addCustomShortcuts([{keys:[["Tab"],["Shift","Tab"]],callback:e=>{const t=r.getNavigator();t.getCurrentPage()>-1&&(l=t.getCurrentPage()),t.clear(),e.shiftKey?h.toPreviousItem():h.toNextItem()}},{keys:[["Escape"]],callback:()=>{r.close()}},{keys:[["Enter"],["Space"]],preventDefault:!1,callback:e=>{const r=t[h.getCurrentPage()];r instanceof s.SelectUI&&(r.openOptions(),e.preventDefault()),r instanceof o.LinkUI&&(r.activate(),e.preventDefault()),r instanceof i.BaseUI||e.preventDefault()}}],a)}function d(e){e.addLocalHook("afterSelectionChange",(e=>{e.key.startsWith("filter_")||h.clear()})),e.addLocalHook("afterSubmenuOpen",c),e.addLocalHook("afterOpen",c),r=e}return t.forEach((e=>{e instanceof i.BaseUI&&(e.addLocalHook("click",u(e)),e.addLocalHook("focus",u(e)),e.addLocalHook("afterClose",u(e)))})),d(e),{...h,listen:function(){r.focus(),r.getKeyboardShortcutsCtrl().listen(a)},setMenu:d,getMenu:function(){return r},getLastMenuPage:function(){return l}}},r(14846),r(69655);var n=r(98666),s=r(71620),i=r(69942),o=r(34688);const a="filters"},98666:(e,t,r)=>{"use strict";t.__esModule=!0,t.createFocusNavigator=function(e){return(0,n.createPaginator)({initialPage:0,size:()=>e.length,onItemSelect:(t,r)=>{const n=e[t];return n instanceof i.MultipleSelectUI?r:!(n.element&&!(0,s.isVisible)(n.element))&&void n.focus()}})};var n=r(27453),s=r(62577),i=r(68312)},69942:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(25499),o=n(r(16050)),a=n(r(3849)),l=r(62577),h=r(10587),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=c(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384));function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(c=function(e){return e?r:t})(e)}const d="built",p="building",g=["click","input","keydown","keypress","keyup","focus","blur","change"];class f{static get DEFAULTS(){return(0,i.clone)({className:"",value:"",tagName:"div",children:[],wrapIt:!0})}constructor(e,t){(0,s.default)(this,"hot",void 0),(0,s.default)(this,"eventManager",new a.default(this)),(0,s.default)(this,"options",void 0),(0,s.default)(this,"_element",void 0),(0,s.default)(this,"buildState",void 0),this.hot=e,this.options=(0,i.extend)(f.DEFAULTS,t),this._element=this.hot.rootDocument.createElement(this.options.wrapIt?"div":this.options.tagName)}setValue(e){this.options.value=e,this.update()}getValue(){return this.options.value}get element(){return this.buildState===p?this._element:this.buildState===d?(this.update(),this._element):(this.buildState=p,this.build(),this.buildState=d,this._element)}isBuilt(){return this.buildState===d}translateIfPossible(e){return"string"==typeof e&&e.startsWith(u.FILTERS_NAMESPACE)?this.hot.getTranslatedPhrase(e):e}build(){const e=(e,t)=>{this.eventManager.addEventListener(e,t,(e=>this.runLocalHooks(t,e,this)))};if(this.buildState||(this.buildState=p),this._element.setAttribute("data-hot-input",!0),void 0!==this.options.tabIndex&&this._element.setAttribute("tabindex",this.options.tabIndex),void 0!==this.options.role&&this._element.setAttribute("role",this.options.role),this.options.className&&(0,l.addClass)(this._element,this.options.className),this.options.children.length)(0,h.arrayEach)(this.options.children,(e=>this._element.appendChild(e.element)));else if(this.options.wrapIt){const t=this.hot.rootDocument.createElement(this.options.tagName);t.setAttribute("data-hot-input",!0),(0,i.objectEach)(this.options,((e,r)=>{void 0!==t[r]&&"className"!==r&&"tagName"!==r&&"children"!==r&&(t[r]=this.translateIfPossible(e))})),this._element.appendChild(t),(0,h.arrayEach)(g,(r=>e(t,r)))}else(0,h.arrayEach)(g,(t=>e(this._element,t)))}update(){}reset(){this.options.value="",this.update()}show(){this.element.style.display=""}hide(){this.element.style.display="none"}focus(){}destroy(){this.eventManager.destroy(),this.eventManager=null,this.hot=null,this._element.parentNode&&this._element.parentNode.removeChild(this._element),this._element=null}}t.BaseUI=f,(0,i.mixin)(f,o.default)},24054:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834);var n=r(62577),s=r(25499),i=r(69942);function o(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function a(e,t){return e.get(l(e,t))}function l(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var h=new WeakMap,u=new WeakSet;class c extends i.BaseUI{static get DEFAULTS(){return(0,s.clone)({placeholder:"",type:"text",tagName:"input",tabIndex:-1})}constructor(e,t){var r,n;super(e,(0,s.extend)(c.DEFAULTS,t)),o(r=this,n=u),n.add(r),function(e,t,r){o(e,t),t.set(e,r)}(this,h,void 0),this.registerHooks()}registerHooks(){this.addLocalHook("keyup",(e=>l(u,this,d).call(this,e)))}build(){super.build();const e=this.hot.rootDocument.createElement("div");var t,r,s;t=h,r=this,s=this._element.firstChild,t.set(l(t,r),s),(0,n.addClass)(this._element,"htUIInput"),(0,n.addClass)(e,"htUIInputIcon"),this._element.appendChild(e),this.update()}update(){this.isBuilt()&&(a(h,this).type=this.options.type,a(h,this).placeholder=this.translateIfPossible(this.options.placeholder),a(h,this).value=this.translateIfPossible(this.options.value))}focus(){this.isBuilt()&&a(h,this).focus()}}function d(e){this.options.value=e.target.value}t.InputUI=c},34688:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834);var n=r(25499),s=r(69942);function i(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function o(e,t){return e.get(a(e,t))}function a(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var l=new WeakMap;class h extends s.BaseUI{static get DEFAULTS(){return(0,n.clone)({href:"#",tagName:"a",tabIndex:-1,role:"button"})}constructor(e,t){super(e,(0,n.extend)(h.DEFAULTS,t)),i(this,l,void 0)}build(){var e,t,r;super.build(),e=l,t=this,r=this._element.firstChild,e.set(a(e,t),r)}update(){this.isBuilt()&&(o(l,this).textContent=this.translateIfPossible(this.options.textContent))}focus(){this.isBuilt()&&o(l,this).focus()}activate(){o(l,this).click()}}t.LinkUI=h},68312:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834),r(15724),r(14846),r(27458),r(69655),r(94364);var n=r(62577),s=r(25499),i=r(83445),o=r(89804),a=r(87124),l=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=g(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),h=r(77661),u=r(69942),c=r(24054),d=r(34688),p=r(87094);function g(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(g=function(e){return e?r:t})(e)}function f(e,t,r){m(e,t),t.set(e,r)}function m(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function y(e,t){return e.get(w(e,t))}function E(e,t,r){return e.set(w(e,t),r),r}function w(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const C="multipleSelect.itemBox";var v=new WeakMap,R=new WeakMap,S=new WeakMap,T=new WeakMap,N=new WeakMap,M=new WeakMap,_=new WeakSet;class b extends u.BaseUI{static get DEFAULTS(){return(0,s.clone)({className:"htUIMultipleSelect",value:[]})}constructor(e,t){var r,n;super(e,(0,s.extend)(b.DEFAULTS,t)),m(r=this,n=_),n.add(r),f(this,v,[]),f(this,R,void 0),f(this,S,void 0),f(this,T,void 0),f(this,N,void 0),f(this,M,void 0),E(T,this,new c.InputUI(this.hot,{placeholder:l.FILTERS_BUTTONS_PLACEHOLDER_SEARCH,className:"htUIMultipleSelectSearch"})),E(N,this,new d.LinkUI(this.hot,{textContent:l.FILTERS_BUTTONS_SELECT_ALL,className:"htUISelectAll"})),E(M,this,new d.LinkUI(this.hot,{textContent:l.FILTERS_BUTTONS_CLEAR,className:"htUIClearAll"})),this.registerHooks()}getItemsBox(){return y(R,this)}registerHooks(){y(T,this).addLocalHook("keydown",(e=>w(_,this,A).call(this,e))),y(T,this).addLocalHook("input",(e=>w(_,this,O).call(this,e))),y(N,this).addLocalHook("click",(e=>w(_,this,I).call(this,e))),y(M,this).addLocalHook("click",(e=>w(_,this,x).call(this,e)))}setItems(e){var t;E(v,this,e),null===(t=y(R,this))||void 0===t||t.loadData(y(v,this))}setLocale(e){E(S,this,e)}getLocale(){return y(S,this)}getItems(){return[...y(v,this)]}getValue(){return function(e){const t=[];return e.forEach((e=>{e.checked&&t.push(e.value)})),t}(y(v,this))}getSearchInputElement(){return y(T,this)}getSelectAllElement(){return y(N,this)}getClearAllElement(){return y(M,this)}isSelectedAllValues(){return y(v,this).length===this.getValue().length}build(){super.build();const{rootDocument:e}=this.hot,t=e.createElement("div"),r=new u.BaseUI(this.hot,{className:"htUISelectionControls",children:[y(N,this),y(M,this)]});this._element.appendChild(y(T,this).element),this._element.appendChild(r.element),this._element.appendChild(t);const s=t=>{var r;if(!this._element)return;null===(r=y(R,this))||void 0===r||r.destroy(),(0,n.addClass)(t,"htUIMultipleSelectHot"),E(R,this,new this.hot.constructor(t,{data:y(v,this),columns:[{data:"checked",type:"checkbox",label:{property:"visualValue",position:"after"}}],beforeRenderer:(e,t,r,n,s,i)=>{e.title=i.instance.getDataAtRowProp(t,i.label.property)},afterListen:()=>{this.runLocalHooks("focus",this)},beforeOnCellMouseUp:()=>{y(R,this).listen()},colWidths:()=>y(R,this).container.scrollWidth-(0,n.getScrollbarWidth)(e),maxCols:1,autoWrapCol:!0,height:110,copyPaste:!1,disableVisualSelection:"area",fillHandle:!1,fragmentSelection:"cell",tabMoves:{row:1,col:0},themeName:this.hot.getCurrentThemeName(),layoutDirection:this.hot.isRtl()?"rtl":"ltr"})),y(R,this).init(),this.hot.addHook("afterSetTheme",((e,t)=>{t||y(R,this).useTheme(e)}));const s=y(R,this).getShortcutManager().getContext("grid");s.removeShortcutsByKeys(["Tab"]),s.removeShortcutsByKeys(["Shift","Tab"]),s.addShortcut({keys:[["Escape"]],callback:e=>{this.runLocalHooks("keydown",e,this)},group:C}),s.addShortcut({keys:[["Tab"],["Shift","Tab"]],callback:e=>{y(R,this).deselectCell(),this.runLocalHooks("keydown",e,this),this.runLocalHooks("listTabKeydown",e,this)},group:C})};s(t),this.hot._registerTimeout((()=>s(t)),100)}focus(){this.isBuilt()&&y(R,this).listen()}reset(){y(T,this).reset(),y(N,this).reset(),y(M,this).reset()}update(){this.isBuilt()&&(y(R,this).loadData(function(e,t){const r=(0,p.createArrayAssertion)(t);return e.map((e=>(e.checked=r(e.value),e)))}(y(v,this),this.options.value)),super.update())}destroy(){var e;null===(e=y(R,this))||void 0===e||e.destroy(),y(T,this).destroy(),y(M,this).destroy(),y(N,this).destroy(),E(T,this,null),E(M,this,null),E(N,this,null),E(R,this,null),E(v,this,null),super.destroy()}}function O(e){const t=e.target.value.toLocaleLowerCase(this.getLocale());let r;r=""===t?[...y(v,this)]:y(v,this).filter((e=>`${e.value}`.toLocaleLowerCase(this.getLocale()).indexOf(t)>=0)),y(R,this).loadData(r)}function A(e){this.runLocalHooks("keydown",e,this);(0,o.partial)(i.isKey,e.keyCode)("ARROW_DOWN")&&(e.preventDefault(),(0,h.stopImmediatePropagation)(e),y(R,this).listen(),y(R,this).selectCell(0,0))}function I(e){const t=[];e.preventDefault(),y(R,this).getSourceData().forEach(((e,r)=>{e.checked=!0,t.push((0,a.dataRowToChangesArray)(e,r)[0])})),y(R,this).setSourceDataAtCell(t)}function x(e){const t=[];e.preventDefault(),y(R,this).getSourceData().forEach(((e,r)=>{e.checked=!1,t.push((0,a.dataRowToChangesArray)(e,r)[0])})),y(R,this).setSourceDataAtCell(t)}t.MultipleSelectUI=b;t.default=b},63433:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834);var n=r(25499),s=r(69942);function i(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function o(e,t){return e.get(l(e,t))}function a(e,t,r){return e.set(l(e,t),r),r}function l(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var h=new WeakMap,u=new WeakMap;class c extends s.BaseUI{static get DEFAULTS(){return(0,n.clone)({type:"radio",tagName:"input",className:"htUIRadio",label:{}})}constructor(e,t){super(e,(0,n.extend)(c.DEFAULTS,t)),i(this,h,void 0),i(this,u,void 0)}build(){super.build();const e=this.hot.rootDocument.createElement("label");e.textContent=this.translateIfPossible(this.options.label.textContent),e.htmlFor=this.translateIfPossible(this.options.label.htmlFor),a(u,this,e),a(h,this,this._element.firstChild),o(h,this).checked=this.options.checked,this._element.appendChild(e),this.update()}update(){this.isBuilt()&&(o(u,this).textContent=this.translateIfPossible(this.options.label.textContent))}isChecked(){return!!this.isBuilt()&&o(h,this).checked}setChecked(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.isBuilt()&&(o(h,this).checked=e)}focus(){this.isBuilt()&&o(h,this).focus()}}t.RadioInputUI=c},71620:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834);var n=r(57446),s=r(25499),i=r(10587),o=r(62577),a=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=c(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),l=r(30889),h=r(69942),u=r(71120);function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(c=function(e){return e?r:t})(e)}function d(e,t,r){p(e,t),t.set(e,r)}function p(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function g(e,t,r){return e.set(m(e,t),r),r}function f(e,t){return e.get(m(e,t))}function m(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var y=new WeakMap,E=new WeakMap,w=new WeakMap,C=new WeakMap,v=new WeakMap,R=new WeakSet;class S extends h.BaseUI{static get DEFAULTS(){return(0,s.clone)({className:"htUISelect",wrapIt:!1,tabIndex:-1})}constructor(e,t){var r,n;super(e,(0,s.extend)(S.DEFAULTS,t)),p(r=this,n=R),n.add(r),d(this,y,null),d(this,E,[]),d(this,w,void 0),d(this,C,void 0),d(this,v,void 0),this.registerHooks()}getMenu(){return f(y,this)}registerHooks(){this.addLocalHook("click",(()=>m(R,this,M).call(this)))}setItems(e){g(E,this,this.translateNames(e)),f(y,this)&&f(y,this).setMenuItems(f(E,this))}translateNames(e){return(0,i.arrayEach)(e,(e=>{e.name=this.translateIfPossible(e.name)})),e}build(){super.build(),g(y,this,new n.Menu(this.hot,{className:"htSelectUI htFiltersConditionsMenu",keepInViewport:!1,standalone:!0,container:this.options.menuContainer})),f(y,this).setMenuItems(f(E,this));const e=new h.BaseUI(this.hot,{className:"htUISelectCaption"}),t=new h.BaseUI(this.hot,{className:"htUISelectDropdown"});g(w,this,e),g(C,this,e.element),g(v,this,t),this.hot.getSettings().ariaTags&&((0,o.setAttribute)(t.element,[(0,u.A11Y_HIDDEN)()]),(0,o.setAttribute)(this._element,[(0,u.A11Y_LISTBOX)()])),(0,i.arrayEach)([e,t],(e=>this._element.appendChild(e.element))),f(y,this).addLocalHook("select",(e=>m(R,this,T).call(this,e))),f(y,this).addLocalHook("afterClose",(()=>m(R,this,N).call(this))),this.update()}update(){if(!this.isBuilt())return;let e;e=this.options.value?this.options.value.name:f(y,this).hot.getTranslatedPhrase(a.FILTERS_CONDITIONS_NONE),f(C,this).textContent=e,super.update()}openOptions(){const e=this.element.getBoundingClientRect();f(y,this)&&(f(y,this).open(),f(y,this).setPosition({left:this.hot.isLtr()?e.left-5:e.left-31,top:e.top-1,width:e.width,height:e.height}),f(y,this).getNavigator().toFirstItem(),f(y,this).getKeyboardShortcutsCtrl().addCustomShortcuts([{keys:[["Tab"],["Shift","Tab"]],callback:e=>{this.closeOptions(),this.runLocalHooks("tabKeydown",e)}},{keys:[["Control/Meta","A"]],callback:()=>!1}]))}closeOptions(){f(y,this)&&f(y,this).close()}focus(){this.isBuilt()&&this.element.focus()}destroy(){f(y,this)&&(f(y,this).destroy(),g(y,this,null)),f(w,this)&&f(w,this).destroy(),f(v,this)&&f(v,this).destroy(),super.destroy()}}function T(e){e.name!==l.SEPARATOR&&(this.options.value=e,this.update(),this.runLocalHooks("select",this.options.value))}function N(){this.runLocalHooks("afterClose")}function M(){this.openOptions()}t.SelectUI=S},87094:(e,t,r)=>{"use strict";t.__esModule=!0,t.createArrayAssertion=i,t.intersectValues=function(e,t,r,n){const o=[],a=e===t;let l;a||(l=i(t));return e.forEach((e=>{let t=!1;(a||l(e))&&(t=!0);const i={checked:t,value:e,visualValue:s(e,r)};n&&n(i),o.push(i)})),o},t.sortComparison=function(e,t){if("number"==typeof e&&"number"==typeof t)return e-t;return n(e,t)},t.toEmptyString=o,t.toVisualValue=s,t.unifyColumnValues=function(e){return Array.from(new Set(e)).map((e=>o(e))).sort(((e,t)=>"number"==typeof e&&"number"==typeof t?e-t:e===t?0:e>t?1:-1))},r(15724),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(69655),r(94364);const n=(0,r(85992).getComparisonFunction)();function s(e,t){let r=e;return""===r&&(r=`(${t})`),r}function i(e){const t=new Set(e);return function(e){return t.has(e)}}function o(e){return null==e?"":e}},37765:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.getRegisteredHotInstances=function(e){var t;const r=c(),n=0===r.size?[]:Array.from(null!==(t=r.get(e))&&void 0!==t?t:[]);return new Map(n.map((e=>[e.getPlugin("formulas").sheetId,e])))},t.registerCustomFunctions=g,t.registerEngine=p,t.registerLanguage=f,t.registerNamedExpressions=m,t.setupEngine=function(e){const t=e.getSettings(),r=t[h.PLUGIN_KEY],n=null==r?void 0:r.engine;if(!0===r)return null;if((0,i.isUndefined)(n))return null;var s;if("function"==typeof n.hyperformula||"function"==typeof n)return p(null!==(s=n.hyperformula)&&void 0!==s?s:n,t,e);if("object"==typeof n&&(0,i.isUndefined)(n.hyperformula)){const t=c(),r=d().get(n);return t.has(n)||t.set(n,[]),t.get(n).push(e),r&&r.push(e.guid),n.getConfig().licenseKey||n.updateConfig({licenseKey:u.DEFAULT_LICENSE_KEY}),n.getConfig().leapYear1900===u.DEFAULT_SETTINGS.leapYear1900&&!1!==(0,l.isObjectEqual)(n.getConfig().nullDate,u.DEFAULT_SETTINGS.nullDate)||(0,a.warn)(o.toSingleLine`If you use HyperFormula with Handsontable, keep the default \`leapYear1900\` and \`nullDate\` 
      settings. Otherwise, HyperFormula's dates may not sync correctly with Handsontable's dates.`),n}return null},t.setupSheet=function(e,t){!(0,i.isUndefined)(t)&&e.doesSheetExist(t)||(t=e.addSheet(t));return t},t.unregisterEngine=function(e,t){if(e){const r=c(),n=r.get(e),s=d(),i=s.get(e);n&&n.includes(t)&&(n.splice(n.indexOf(t),1),0===n.length&&r.delete(e)),i&&i.includes(t.guid)&&(i.splice(i.indexOf(t.guid),1),0===i.length&&(s.delete(e),e.destroy()))}},r(15724),r(14846),r(69655),r(94364);var s=n(r(28651)),i=r(70505),o=r(21595),a=r(14859),l=r(25499),h=r(94344),u=r(6701);function c(){const e="engine_relationship",t=(0,s.default)(h.PLUGIN_KEY);return t.hasItem(e)||t.register(e,new Map),t.getItem(e)}function d(){const e="shared_engine_usage",t=(0,s.default)(h.PLUGIN_KEY);return t.hasItem(e)||t.register(e,new Map),t.getItem(e)}function p(e,t,r){const n=t[h.PLUGIN_KEY],s=(0,u.getEngineSettingsWithDefaultsAndOverrides)(t),i=c(),o=d();g(e,n.functions),f(e,n.language);const a=e.buildEmpty(s);return i.set(a,[r]),o.set(a,[r.guid]),m(a,n.namedExpressions),a.on("sheetAdded",(()=>{a.rebuildAndRecalculate()})),a.on("sheetRemoved",(()=>{a.rebuildAndRecalculate()})),a}function g(e,t){t&&t.forEach((t=>{const{name:r,plugin:n,translations:s}=t;try{e.registerFunction(r,n,s)}catch(e){(0,a.warn)(e.message)}}))}function f(e,t){if(t){const{langCode:r}=t;try{e.registerLanguage(r,t)}catch(e){(0,a.warn)(e.message)}}}function m(e,t){t&&(e.suspendEvaluation(),t.forEach((t=>{const{name:r,expression:n,scope:s,options:i}=t;try{e.addNamedExpression(r,n,s,i)}catch(e){(0,a.warn)(e.message)}})),e.resumeEvaluation())}},6701:(e,t,r)=>{"use strict";t.__esModule=!0,t.getEngineSettingsOverrides=o,t.getEngineSettingsWithDefaultsAndOverrides=function(e){var t;const r=e[n.PLUGIN_KEY],s=a(null!=r&&null!==(t=r.engine)&&void 0!==t&&t.hyperformula?r.engine:{}),l=o(e);return{...i,...s,...l}},t.getEngineSettingsWithOverrides=function(e){var t;const r=e[n.PLUGIN_KEY],s=a(null!=r&&null!==(t=r.engine)&&void 0!==t&&t.hyperformula?r.engine:{}),i=o(e);return{...s,...i}},t.haveEngineSettingsChanged=function(e,t){return Object.keys(t).some((r=>void 0!==t[r]&&t[r]!==e[r]))},r(14846),r(90458),r(75568);var n=r(94344);const s=t.DEFAULT_LICENSE_KEY="internal-use-in-handsontable",i=t.DEFAULT_SETTINGS={licenseKey:s,useArrayArithmetic:!0,useColumnIndex:!1,useStats:!1,evaluateNullToZero:!0,precisionEpsilon:1e-13,precisionRounding:14,smartRounding:!0,leapYear1900:!1,nullDate:{year:1899,month:12,day:30},nullYear:30,dateFormats:["DD/MM/YYYY","DD/MM/YY"],timeFormats:["hh:mm","hh:mm:ss.sss"],matchWholeCell:!0,useRegularExpressions:!1,useWildcards:!0,functionArgSeparator:",",thousandSeparator:"",decimalSeparator:".",language:"enGB"};function o(e){var t;return{maxColumns:e.maxColumns,maxRows:e.maxRows,language:null===(t=e[n.PLUGIN_KEY])||void 0===t||null===(t=t.language)||void 0===t?void 0:t.langCode}}function a(e){return Object.keys(e).reduce(((t,r)=>("hyperformula"!==r&&(t[r]=e[r]),t)),{})}},94344:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(66184),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(63333),r(6211),r(69655),r(94364);var s=n(r(85707)),i=r(75089),o=n(r(28651)),a=r(14859),l=r(22137),h=r(70505),u=r(37765),c=r(59070),d=r(6701),p=r(87124),g=r(5893),f=r(28197),m=n(r(51556));function y(e,t,r){E(e,t),t.set(e,r)}function E(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function w(e,t,r){return e.set(v(e,t),r),r}function C(e,t){return e.get(v(e,t))}function v(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const R=t.PLUGIN_KEY="formulas",S=t.SETTING_KEYS=["maxRows","maxColumns","language"],T=t.PLUGIN_PRIORITY=260;f.Hooks.getSingleton().register("afterNamedExpressionAdded"),f.Hooks.getSingleton().register("afterNamedExpressionRemoved"),f.Hooks.getSingleton().register("afterSheetAdded"),f.Hooks.getSingleton().register("afterSheetRemoved"),f.Hooks.getSingleton().register("afterSheetRenamed"),f.Hooks.getSingleton().register("afterFormulasValuesUpdate");const N=e=>"UndoRedo.undo"===e||"UndoRedo.redo"===e||"auto"===e;var M=new WeakMap,_=new WeakMap,b=new WeakMap,O=new WeakSet;class A extends i.BasePlugin{constructor(){var e,t,r;super(...arguments),e=this,E(t=this,r=O),r.add(t),y(this,M,!1),y(this,_,!1),y(this,b,[["valuesUpdated",function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return v(O,e,X).call(e,...r)}],["namedExpressionAdded",function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return v(O,e,q).call(e,...r)}],["namedExpressionRemoved",function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return v(O,e,Q).call(e,...r)}],["sheetAdded",function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return v(O,e,Z).call(e,...r)}],["sheetRenamed",function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return v(O,e,J).call(e,...r)}],["sheetRemoved",function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return v(O,e,ee).call(e,...r)}]]),(0,s.default)(this,"staticRegister",(0,o.default)("formulas")),(0,s.default)(this,"engine",null),(0,s.default)(this,"sheetName",null),(0,s.default)(this,"indexSyncer",null),(0,s.default)(this,"rowAxisSyncer",null),(0,s.default)(this,"columnAxisSyncer",null)}static get PLUGIN_KEY(){return R}static get PLUGIN_PRIORITY(){return T}static get SETTING_KEYS(){return[R,...S]}get sheetId(){return null===this.sheetName?null:this.engine.getSheetId(this.sheetName)}isEnabled(){return!!this.hot.getSettings()[R]}enablePlugin(){var e,t=this;if(!this.enabled)if(this.engine=null!==(e=(0,u.setupEngine)(this.hot))&&void 0!==e?e:this.engine,this.engine){if(null!==this.sheetName&&!this.engine.doesSheetExist(this.sheetName)){const e=this.addSheet(this.sheetName,this.hot.getSourceDataArray());!1!==e&&(this.sheetName=e)}this.addHook("beforeLoadData",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,P).call(t,...r)})),this.addHook("afterLoadData",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,D).call(t,...r)})),this.addHook("beforeUpdateData",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,P).call(t,...r)})),this.addHook("afterUpdateData",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,D).call(t,...r)})),this.addHook("modifyData",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,k).call(t,...r)})),this.addHook("modifySourceData",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,H).call(t,...r)})),this.addHook("beforeValidate",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,I).call(t,...r)})),this.addHook("afterSetSourceDataAtCell",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,U).call(t,...r)})),this.addHook("afterSetDataAtCell",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,F).call(t,...r)})),this.addHook("afterSetDataAtRowProp",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,F).call(t,...r)})),this.addHook("beforeCreateRow",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,V).call(t,...r)})),this.addHook("beforeCreateCol",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,B).call(t,...r)})),this.addHook("afterCreateRow",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,G).call(t,...r)})),this.addHook("afterCreateCol",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,j).call(t,...r)})),this.addHook("beforeRemoveRow",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,W).call(t,...r)})),this.addHook("beforeRemoveCol",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,Y).call(t,...r)})),this.addHook("afterRemoveRow",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,z).call(t,...r)})),this.addHook("afterRemoveCol",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,$).call(t,...r)})),this.indexSyncer=new m.default(this.hot.rowIndexMapper,this.hot.columnIndexMapper,(e=>{this.hot.addHookOnce("init",(()=>{e()}))})),this.rowAxisSyncer=this.indexSyncer.getForAxis("row"),this.columnAxisSyncer=this.indexSyncer.getForAxis("column"),this.hot.addHook("afterRowSequenceChange",this.rowAxisSyncer.getIndexesChangeSyncMethod()),this.hot.addHook("afterColumnSequenceChange",this.columnAxisSyncer.getIndexesChangeSyncMethod()),this.hot.addHook("beforeRowMove",((e,t,r,n)=>{this.rowAxisSyncer.storeMovesInformation(e,t,n)})),this.hot.addHook("beforeColumnMove",((e,t,r,n)=>{this.columnAxisSyncer.storeMovesInformation(e,t,n)})),this.hot.addHook("afterRowMove",((e,t,r,n,s)=>{this.rowAxisSyncer.calculateAndSyncMoves(n,s)})),this.hot.addHook("afterColumnMove",((e,t,r,n,s)=>{this.columnAxisSyncer.calculateAndSyncMoves(n,s)})),this.hot.addHook("beforeColumnFreeze",((e,t)=>{this.columnAxisSyncer.storeMovesInformation([e],this.hot.getSettings().fixedColumnsStart,t)})),this.hot.addHook("afterColumnFreeze",((e,t)=>{this.columnAxisSyncer.calculateAndSyncMoves(t,t)})),this.hot.addHook("beforeColumnUnfreeze",((e,t)=>{this.columnAxisSyncer.storeMovesInformation([e],this.hot.getSettings().fixedColumnsStart-1,t)})),this.hot.addHook("afterColumnUnfreeze",((e,t)=>{this.columnAxisSyncer.calculateAndSyncMoves(t,t)})),this.addHook("afterCellMetaReset",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,L).call(t,...r)})),this.addHook("beforeUndo",(()=>{this.indexSyncer.setPerformUndo(!0),this.engine.undo()})),this.addHook("beforeRedo",(()=>{this.indexSyncer.setPerformRedo(!0),this.engine.redo()})),this.addHook("afterUndo",(()=>{this.indexSyncer.setPerformUndo(!1)})),this.addHook("afterUndo",(()=>{this.indexSyncer.setPerformRedo(!1)})),this.addHook("afterDetachChild",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,K).call(t,...r)})),this.addHook("beforeAutofill",(function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return v(O,t,x).call(t,...r)})),C(b,this).forEach((e=>{let[t,r]=e;return this.engine.on(t,r)})),super.enablePlugin()}else(0,a.warn)("Missing the required `engine` key in the Formulas settings. Please fill it with either an engine class or an engine instance.")}disablePlugin(){C(b,this).forEach((e=>{let[t,r]=e;return this.engine.off(t,r)})),(0,u.unregisterEngine)(this.engine,this.hot),this.engine=null,super.disablePlugin()}updatePlugin(e){const t=(0,d.getEngineSettingsWithOverrides)(this.hot.getSettings());(0,d.haveEngineSettingsChanged)(this.engine.getConfig(),t)&&this.engine.updateConfig(t);const r=this.hot.getSettings()[R];if((0,h.isDefined)(r)&&(0,h.isDefined)(r.sheetName)&&r.sheetName!==this.sheetName&&this.switchSheet(r.sheetName),!e.data&&null===this.sheetName){const e=this.hot.getSettings()[R].sheetName;e&&this.engine.doesSheetExist(e)?this.switchSheet(this.sheetName):this.sheetName=this.addSheet(null!=e?e:void 0,this.hot.getSourceDataArray())}super.updatePlugin(e)}destroy(){C(b,this).forEach((e=>{var t;let[r,n]=e;return null===(t=this.engine)||void 0===t?void 0:t.off(r,n)})),w(b,this,null),(0,u.unregisterEngine)(this.engine,this.hot),this.engine=null,super.destroy()}addSheet(e,t){if((0,h.isDefined)(t)&&!(0,p.isArrayOfArrays)(t))return(0,a.warn)("The provided data should be an array of arrays."),!1;if(null!=e&&this.engine.doesSheetExist(e))return(0,a.warn)("Sheet with the provided name already exists."),!1;try{const r=this.engine.addSheet(null!=e?e:void 0);return t&&this.engine.setSheetContent(this.engine.getSheetId(r),t),r}catch(e){return(0,a.warn)(e.message),!1}}switchSheet(e){if(!this.engine.doesSheetExist(e))return void(0,a.error)(`The sheet named \`${e}\` does not exist, switch aborted.`);this.sheetName=e;const t=this.engine.getSheetSerialized(this.sheetId);t.length>0&&this.hot.loadData(t,`${(0,g.toUpperCaseFirst)(R)}.switchSheet`)}getCellType(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.sheetId;const n=this.hot.toPhysicalRow(e),s=this.hot.toPhysicalColumn(t);return null!==n&&null!==s?this.engine.getCellType({sheet:r,row:this.rowAxisSyncer.getHfIndexFromVisualIndex(e),col:this.columnAxisSyncer.getHfIndexFromVisualIndex(t)}):"EMPTY"}isFormulaCellType(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.sheetId;return this.engine.doesCellHaveFormula({sheet:r,row:this.rowAxisSyncer.getHfIndexFromVisualIndex(e),col:this.columnAxisSyncer.getHfIndexFromVisualIndex(t)})}renderDependentSheets(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=new Set;e.forEach((e=>{var t;const n=null==e||null===(t=e.address)||void 0===t?void 0:t.sheet;void 0!==n&&(r.has(n)||r.add(n))})),(0,u.getRegisteredHotInstances)(this.engine).forEach(((e,n)=>{var s;(t||n!==this.sheetId)&&r.has(n)&&(e.render(),null===(s=e.view)||void 0===s||s.adjustElementsSize())}))}validateDependentCells(e){const t=e=>{var t;const{row:r,col:n,sheet:s}=null!==(t=null==e?void 0:e.address)&&void 0!==t?t:{};return(0,h.isDefined)(s)?`${s}:${r}x${n}`:""},r=new Set((arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).map((e=>t(e))));e.forEach((e=>{var n,s;const{row:i,col:o}=null!==(n=e.address)&&void 0!==n?n:{};if(!1===(0,h.isDefined)(i)||!1===(0,h.isDefined)(o)||i>=this.hot.countRows()||o>=this.hot.countCols())return;const a=null==e||null===(s=e.address)||void 0===s?void 0:s.sheet,l=t(e);if(void 0!==a&&!r.has(l)){const e=(0,u.getRegisteredHotInstances)(this.engine).get(a);if(!e)return;e.validateCell(e.getDataAtCell(i,o),e.getCellMeta(i,o),(()=>{}))}}))}syncChangeWithEngine(e,t,r){const n={row:this.rowAxisSyncer.getHfIndexFromVisualIndex(e),col:this.columnAxisSyncer.getHfIndexFromVisualIndex(t),sheet:this.sheetId};if(!this.engine.isItPossibleToSetCellContents(n))return void(0,a.warn)(`Not possible to set cell data at ${JSON.stringify(n)}`);const s=this.hot.getCellMeta(e,t);return(0,c.isDate)(r,s.type)&&((0,c.isDateValid)(r,s.dateFormat)?r=(0,c.getDateInHfFormat)(r,s.dateFormat):!1===(0,c.isFormula)(r)&&(r=`'${r}`)),this.engine.setCellContents(n,r)}}function I(e,t,r){const n=this.hot.propToCol(r);if(this.isFormulaCellType(t,n)){const e={row:this.rowAxisSyncer.getHfIndexFromVisualIndex(t),col:this.columnAxisSyncer.getHfIndexFromVisualIndex(n),sheet:this.sheetId},r=this.hot.getCellMeta(t,n);let s=this.engine.getCellValue(e);return"date"===r.type&&(0,l.isNumeric)(s)&&(s=(0,c.getDateFromExcelDate)(s,r.dateFormat)),"object"==typeof s&&null!==s?s.value:s}return e}function x(e,t,r){const{row:n,col:s}=t.getTopStartCorner(),{row:i,col:o}=t.getBottomEndCorner(),{row:a,col:l}=r.getTopStartCorner(),{row:h,col:u}=r.getBottomEndCorner(),d={start:{row:this.rowAxisSyncer.getHfIndexFromVisualIndex(n),col:this.columnAxisSyncer.getHfIndexFromVisualIndex(s),sheet:this.sheetId},end:{row:this.rowAxisSyncer.getHfIndexFromVisualIndex(i),col:this.columnAxisSyncer.getHfIndexFromVisualIndex(o),sheet:this.sheetId}},p={start:{row:this.rowAxisSyncer.getHfIndexFromVisualIndex(a),col:this.columnAxisSyncer.getHfIndexFromVisualIndex(l),sheet:this.sheetId},end:{row:this.rowAxisSyncer.getHfIndexFromVisualIndex(h),col:this.columnAxisSyncer.getHfIndexFromVisualIndex(u),sheet:this.sheetId}};if(!1===this.engine.isItPossibleToSetCellContents(p))return!1;const g=this.engine.getFillRangeData(d,p),{row:f,col:m}=d.start,{row:y,col:E}=d.end,w=y-f+1,C=E-m+1;for(let e=0;e<g.length;e+=1)for(let t=0;t<g[e].length;t+=1){const r=g[e][t],n=f+e%w,s=m+t%C,i=this.hot.getCellMeta(n,s);(0,c.isDate)(r,i.type)&&(r.startsWith("'")?g[e][t]=r.slice(1):!1===this.isFormulaCellType(n,s,this.sheetId)&&(g[e][t]=(0,c.getDateInHotFormat)(r,i.dateFormat)))}return g}function P(e,t){(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"").includes((0,g.toUpperCaseFirst)(R))||w(_,this,(0,h.isUndefined)(this.hot.getSettings().data))}function L(){const e=this.hot.getSourceDataArray();let t=!1;e.forEach(((r,n)=>{r.forEach(((r,s)=>{const i=this.hot.getCellMeta(n,s),o=i.dateFormat;(0,c.isDate)(r,i.type)&&(t=!0,(0,c.isDateValid)(r,o)?e[n][s]=(0,c.getDateInHfFormat)(r,o):!1===this.isFormulaCellType(n,s)&&(e[n][s]=`'${r}`))}))})),!0===t&&(w(M,this,!0),this.engine.setSheetContent(this.sheetId,e),w(M,this,!1))}function D(e,t){if(!(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"").includes((0,g.toUpperCaseFirst)(R)))if(this.sheetName=(0,u.setupSheet)(this.engine,this.hot.getSettings()[R].sheetName),C(_,this))this.switchSheet(this.sheetName);else{const e=this.hot.getSourceDataArray();if(this.engine.isItPossibleToReplaceSheetContent(this.sheetId,e)){w(M,this,!0);const t=this.engine.setSheetContent(this.sheetId,e);this.indexSyncer.setupSyncEndpoint(this.engine,this.sheetId),this.renderDependentSheets(t),w(M,this,!1)}}}function k(e,t,r,n){if("get"!==n||C(M,this)||null===this.sheetName||!this.engine.doesSheetExist(this.sheetName))return;const s=this.hot.toVisualRow(e);if(null===s||null===t)return;if(!this.isFormulaCellType(s,t)){if("ARRAY"!==this.getCellType(s,t))return void((0,c.isEscapedFormulaExpression)(r.value)&&(r.value=(0,c.unescapeFormulaExpression)(r.value)))}const i={row:this.rowAxisSyncer.getHfIndexFromVisualIndex(s),col:this.columnAxisSyncer.getHfIndexFromVisualIndex(t),sheet:this.sheetId};let o=this.engine.getCellValue(i),a=this.hot.getCellsMeta().find((e=>e.visualRow===s&&e.visualCol===t));void 0===a&&(a={}),"date"===a.type&&(0,l.isNumeric)(o)&&(o=(0,c.getDateFromExcelDate)(o,a.dateFormat));const h="object"==typeof o&&null!==o?o.value:o;r.value=h}function H(e,t,r,n){if("get"!==n||C(M,this)||null===this.sheetName||!this.engine.doesSheetExist(this.sheetName))return;const s=this.hot.toVisualRow(e),i=this.hot.propToCol(t);if(null===s||null===i)return;if(!this.isFormulaCellType(s,i)){if("ARRAY"!==this.getCellType(s,i))return}const o=this.engine.getSheetDimensions(this.engine.getSheetId(this.sheetName));if(0===o.width&&0===o.height)return;const a={row:this.rowAxisSyncer.getHfIndexFromVisualIndex(s),col:this.columnAxisSyncer.getHfIndexFromVisualIndex(i),sheet:this.sheetId};r.value=this.engine.getCellSerialized(a)}function F(e,t){if(N(t))return;const r=[],n=[],s=this.engine.batch((()=>{e.forEach((e=>{let[t,s,,i]=e;const o=this.hot.propToCol(s),a=this.hot.toPhysicalRow(t),l=this.hot.toPhysicalColumn(o),h={row:this.rowAxisSyncer.getHfIndexFromVisualIndex(t),col:this.columnAxisSyncer.getHfIndexFromVisualIndex(o),sheet:this.sheetId};null!==a&&null!==l?this.syncChangeWithEngine(t,o,i):r.push([t,o,i]),n.push({address:h})}))}));r.length&&this.hot.addHookOnce("afterChange",(()=>{const e=this.engine.batch((()=>{r.forEach((e=>{let[t,r,n]=e;this.syncChangeWithEngine(t,r,n)}))}));this.renderDependentSheets(e,!0)})),this.renderDependentSheets(s),this.validateDependentCells(s,n)}function U(e,t){if(N(t))return;const r=[],n=[];e.forEach((e=>{let[t,s,,i]=e;const o=this.hot.propToCol(s);if(!(0,l.isNumeric)(o))return;const h={row:this.rowAxisSyncer.getHfIndexFromVisualIndex(t),col:this.columnAxisSyncer.getHfIndexFromVisualIndex(o),sheet:this.sheetId};this.engine.isItPossibleToSetCellContents(h)?(n.push({address:h}),r.push(...this.engine.setCellContents(h,i))):(0,a.warn)(`Not possible to set source cell data at ${JSON.stringify(h)}`)})),this.renderDependentSheets(r),this.validateDependentCells(r,n)}function V(e,t){let r=this.rowAxisSyncer.getHfIndexFromVisualIndex(e);if(e>=this.hot.countRows()&&(r=e),null===this.sheetId||!this.engine.doesSheetExist(this.sheetName)||!this.engine.isItPossibleToAddRows(this.sheetId,[r,t]))return!1}function B(e,t){let r=this.columnAxisSyncer.getHfIndexFromVisualIndex(e);if(e>=this.hot.countCols()&&(r=e),null===this.sheetId||!this.engine.doesSheetExist(this.sheetName)||!this.engine.isItPossibleToAddColumns(this.sheetId,[r,t]))return!1}function W(e,t,r){return!1!==this.rowAxisSyncer.setRemovedHfIndexes(r).every((e=>this.engine.isItPossibleToRemoveRows(this.sheetId,[e,1])))&&void 0}function Y(e,t,r){return!1!==this.columnAxisSyncer.setRemovedHfIndexes(r).every((e=>this.engine.isItPossibleToRemoveColumns(this.sheetId,[e,1])))&&void 0}function G(e,t,r){if(N(r))return;const n=this.engine.addRows(this.sheetId,[this.rowAxisSyncer.getHfIndexFromVisualIndex(e),t]);this.renderDependentSheets(n)}function j(e,t,r){if(N(r))return;const n=this.engine.addColumns(this.sheetId,[this.columnAxisSyncer.getHfIndexFromVisualIndex(e),t]);this.renderDependentSheets(n)}function z(e,t,r,n){if(N(n))return;const s=this.rowAxisSyncer.getRemovedHfIndexes().sort(((e,t)=>t-e)),i=this.engine.batch((()=>{s.forEach((e=>{this.engine.removeRows(this.sheetId,[e,1])}))}));this.renderDependentSheets(i)}function $(e,t,r,n){if(N(n))return;const s=this.columnAxisSyncer.getRemovedHfIndexes().sort(((e,t)=>t-e)),i=this.engine.batch((()=>{s.forEach((e=>{this.engine.removeColumns(this.sheetId,[e,1])}))}));this.renderDependentSheets(i)}function K(e,t,r){var n;w(M,this,!0);const s=this.hot.getSourceDataArray(r,0,r+((null===(n=t.__children)||void 0===n?void 0:n.length)||0),this.hot.countSourceCols());w(M,this,!1),s.forEach(((e,t)=>{e.forEach(((e,n)=>{this.engine.setCellContents({col:n,row:r+t,sheet:this.sheetId},[[e]])}))}))}function X(e){this.hot.runHooks("afterFormulasValuesUpdate",e)}function q(e,t){this.hot.runHooks("afterNamedExpressionAdded",e,t)}function Q(e,t){this.hot.runHooks("afterNamedExpressionRemoved",e,t)}function Z(e){this.hot.runHooks("afterSheetAdded",e)}function J(e,t){this.sheetName=t,this.hot.runHooks("afterSheetRenamed",e,t)}function ee(e,t){this.hot.runHooks("afterSheetRemoved",e,t)}t.Formulas=A},84291:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(94344);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.Formulas=n.Formulas},98967:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834),r(15724),r(14846),r(69655),r(94364);var n=r(5893),s=r(4980);function i(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function o(e,t){return e.get(l(e,t))}function a(e,t,r){return e.set(l(e,t),r),r}function l(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var h=new WeakMap,u=new WeakMap,c=new WeakMap,d=new WeakMap,p=new WeakMap,g=new WeakMap,f=new WeakMap;t.default=class{constructor(e,t,r){i(this,h,void 0),i(this,u,void 0),i(this,c,void 0),i(this,d,[]),i(this,p,[]),i(this,g,void 0),i(this,f,[]),a(h,this,e),a(u,this,t),a(c,this,r)}setRemovedHfIndexes(e){return a(f,this,e.map((e=>{const t=o(u,this).getVisualFromPhysicalIndex(e);return this.getHfIndexFromVisualIndex(t)}))),o(f,this)}getRemovedHfIndexes(){return o(f,this)}getHfIndexFromVisualIndex(e){const t=o(u,this).getIndexesSequence(),r=o(u,this).getNotTrimmedIndexes();return t.indexOf(r[e])}syncMoves(e){const t=`move${(0,n.toUpperCaseFirst)(o(h,this))}s`;o(c,this).getEngine().batch((()=>{e.forEach((e=>{const r=e.from!==e.to,n=e.from+1!==e.to;r&&n&&o(c,this).getEngine()[t](o(c,this).getSheetId(),e.from,1,e.to)}))}))}storeMovesInformation(e,t,r){!1!==r&&(a(p,this,e.map((e=>this.getHfIndexFromVisualIndex(e)))),a(g,this,this.getHfIndexFromVisualIndex(t)))}calculateAndSyncMoves(e,t){if(o(c,this).isPerformingUndoRedo())return;if(!1===e||!1===t)return;const r=(0,s.getMoves)(o(p,this),o(g,this),o(u,this).getNumberOfIndexes());null===o(c,this).getSheetId()?o(c,this).getPostponeAction((()=>this.syncMoves(r))):this.syncMoves(r)}getIndexesChangeSyncMethod(){const e=`set${(0,n.toUpperCaseFirst)(o(h,this))}Order`;return t=>{if(o(c,this).isPerformingUndoRedo())return;const r=o(u,this).getIndexesSequence();if("update"===t&&r.length>0){const t=o(d,this).map((e=>r.indexOf(e))),n=o(c,this).getEngine().getSheetDimensions(o(c,this).getSheetId());let s;s="row"===o(h,this)?n.height:n.width;for(let e=t.length;e<s;e+=1)t.push(e);o(c,this).getEngine()[e](o(c,this).getSheetId(),t)}a(d,this,r)}}init(){a(d,this,o(u,this).getIndexesSequence())}}},51556:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(98967));function i(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function o(e,t){return e.get(l(e,t))}function a(e,t,r){return e.set(l(e,t),r),r}function l(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var h=new WeakMap,u=new WeakMap,c=new WeakMap,d=new WeakMap,p=new WeakMap,g=new WeakMap,f=new WeakMap;t.default=class{constructor(e,t,r){i(this,h,void 0),i(this,u,void 0),i(this,c,void 0),i(this,d,!1),i(this,p,!1),i(this,g,null),i(this,f,null),a(h,this,new s.default("row",e,this)),a(u,this,new s.default("column",t,this)),a(c,this,r)}getForAxis(e){return o("row"===e?h:u,this)}setPerformUndo(e){a(d,this,e)}setPerformRedo(e){a(p,this,e)}isPerformingUndoRedo(){return o(d,this)||o(p,this)}getSheetId(){return o(f,this)}getEngine(){return o(g,this)}getPostponeAction(){return o(c,this)}setupSyncEndpoint(e,t){a(g,this,e),a(f,this,t),o(h,this).init(),o(u,this).init()}}},59070:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.getDateFromExcelDate=function(e,t){const r=new Date(Date.UTC(0,0,e+-1));return(0,s.default)(r).format(t)},t.getDateInHfFormat=function(e,t){return(0,s.default)(e,t,!0).format(i)},t.getDateInHotFormat=function(e,t){return(0,s.default)(e,i,!0).format(t)},t.isDate=function(e,t){return"string"==typeof e&&"date"===t},t.isDateValid=function(e,t){return(0,s.default)(e,t,!0).isValid()},t.isEscapedFormulaExpression=o,t.isFormula=function(e){return"string"==typeof e&&e.startsWith("=")},t.unescapeFormulaExpression=function(e){return o(e)?e.substr(1):e};var s=n(r(6671));const i="DD/MM/YYYY";function o(e){return"string"==typeof e&&"'"===e.charAt(0)&&"="===e.charAt(1)}},79349:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"hidden_columns_hide",name(){const e=this.getSelectedLast();let t=0;if(Array.isArray(e)){const[,r,,n]=e;r-n!=0&&(t=1)}return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_HIDE_COLUMN,t)},callback(){const{from:t,to:r}=this.getSelectedRangeLast(),n=Math.max(Math.min(t.col,r.col),0),s=Math.max(t.col,r.col),i=[];for(let e=n;e<=s;e+=1)i.push(e);e.hideColumns(i);const o=i[i.length-1],a=this.columnIndexMapper.getNearestNotHiddenIndex(o,1,!0);Number.isInteger(a)&&a>=0?this.selectColumns(a):this.deselectCell(),this.render(),this.view.adjustElementsSize()},disabled:!1,hidden(){return!(this.selection.isSelectedByColumnHeader()||this.selection.isSelectedByCorner())}}},r(15724);var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}},24048:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){const t=[];return{key:"hidden_columns_show",name(){const e=t.length>1?1:0;return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_SHOW_COLUMN,e)},callback(){var r,n;if(0===t.length)return;let s=t[0],i=t[t.length-1];s=null!==(r=this.columnIndexMapper.getNearestNotHiddenIndex(s-1,-1))&&void 0!==r?r:0,i=null!==(n=this.columnIndexMapper.getNearestNotHiddenIndex(i+1,1))&&void 0!==n?n:this.countCols()-1,e.showColumns(t),this.render(),this.view.adjustElementsSize();i-s+1===this.countCols()||this.selectColumns(s,i)},disabled:!1,hidden(){const r=(0,n.arrayMap)(e.getHiddenColumns(),(e=>this.toPhysicalColumn(e)));if(!this.selection.isSelectedByColumnHeader()&&!this.selection.isSelectedByCorner()||r.length<1)return!0;t.length=0;const s=this.getSelectedRangeLast(),i=s.getTopStartCorner().col,o=s.getBottomEndCorner().col,a=this.columnIndexMapper,l=a.getRenderableFromVisualIndex(i),h=a.getRenderableFromVisualIndex(o),u=a.getNotTrimmedIndexes(),c=[];if(i!==o){if(o-i+1>h-l+1){const e=u.slice(i,o+1);c.push(...e.filter((e=>r.includes(e))))}}else if(0===l&&l<i)c.push(...u.slice(0,i));else if(null===l)c.push(...u.slice(0,this.countCols()));else{const e=this.countCols()-1;h===a.getRenderableFromVisualIndex(a.getNearestNotHiddenIndex(e,-1))&&e>o&&c.push(...u.slice(o+1))}return(0,n.arrayEach)(c,(e=>{t.push(this.toVisualColumn(e))})),0===t.length}}},r(15724),r(14846),r(27458);var n=r(10587),s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}},312:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(63333),r(94364);var s=r(75089),i=r(62577),o=r(22137),a=r(10587),l=r(30889),h=r(28197),u=n(r(79349)),c=n(r(24048)),d=r(61149);function p(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function g(e,t){return e.get(m(e,t))}function f(e,t,r){return e.set(m(e,t),r),r}function m(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}h.Hooks.getSingleton().register("beforeHideColumns"),h.Hooks.getSingleton().register("afterHideColumns"),h.Hooks.getSingleton().register("beforeUnhideColumns"),h.Hooks.getSingleton().register("afterUnhideColumns");const y=t.PLUGIN_KEY="hiddenColumns",E=t.PLUGIN_PRIORITY=310;var w=new WeakMap,C=new WeakSet;class v extends s.BasePlugin{constructor(){var e,t;super(...arguments),p(e=this,t=C),t.add(e),function(e,t,r){p(e,t),t.set(e,r)}(this,w,null)}static get PLUGIN_KEY(){return y}static get PLUGIN_PRIORITY(){return E}static get DEFAULT_SETTINGS(){return{copyPasteEnabled:!0,indicators:!1,columns:[]}}isEnabled(){return!!this.hot.getSettings()[y]}enablePlugin(){var e=this;this.enabled||(f(w,this,new d.HidingMap),g(w,this).addLocalHook("init",(()=>m(C,this,_).call(this))),this.hot.columnIndexMapper.registerMap(this.pluginName,g(w,this)),this.addHook("afterContextMenuDefaultOptions",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return m(C,e,M).call(e,...r)})),this.addHook("afterGetCellMeta",((e,t,r)=>m(C,this,S).call(this,e,t,r))),this.addHook("modifyColWidth",((e,t)=>m(C,this,R).call(this,e,t)),2),this.addHook("afterGetColHeader",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return m(C,e,N).call(e,...r)})),this.addHook("modifyCopyableRange",(e=>m(C,this,T).call(this,e))),super.enablePlugin())}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}disablePlugin(){this.hot.columnIndexMapper.unregisterMap(this.pluginName),super.disablePlugin(),this.resetCellsMeta()}showColumns(e){const t=this.getHiddenColumns(),r=this.isValidConfig(e);let n=t;const s=g(w,this).getValues().slice(),i=e.length>0;if(r&&i){const t=e.map((e=>this.hot.toPhysicalColumn(e)));(0,a.arrayEach)(t,(e=>{s[e]=!1})),n=(0,a.arrayReduce)(s,((e,t,r)=>(t&&e.push(this.hot.toVisualColumn(r)),e)),[])}!1!==this.hot.runHooks("beforeUnhideColumns",t,n,r&&i)&&(r&&i&&g(w,this).setValues(s),this.hot.view.adjustElementsSize(),this.hot.runHooks("afterUnhideColumns",t,n,r&&i,r&&n.length<t.length))}showColumn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.showColumns(t)}hideColumns(e){const t=this.getHiddenColumns(),r=this.isValidConfig(e);let n=t;r&&(n=Array.from(new Set(t.concat(e))));!1!==this.hot.runHooks("beforeHideColumns",t,n,r)&&(r&&this.hot.batchExecution((()=>{(0,a.arrayEach)(e,(e=>{g(w,this).setValueAtIndex(this.hot.toPhysicalColumn(e),!0)}))}),!0),this.hot.runHooks("afterHideColumns",t,n,r,r&&n.length>t.length))}hideColumn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.hideColumns(t)}getHiddenColumns(){return(0,a.arrayMap)(g(w,this).getHiddenIndexes(),(e=>this.hot.toVisualColumn(e)))}isHidden(e){return g(w,this).getValueAtIndex(this.hot.toPhysicalColumn(e))||!1}isValidConfig(e){const t=this.hot.countCols();return!!(Array.isArray(e)&&e.length>0)&&e.every((e=>Number.isInteger(e)&&e>=0&&e<t))}resetCellsMeta(){(0,a.arrayEach)(this.hot.getCellsMeta(),(e=>{e.skipColumnOnPaste=!1}))}destroy(){f(w,this,null),super.destroy()}}function R(e,t){return this.isHidden(t)?0:this.getSetting("indicators")&&(this.isHidden(t+1)||this.isHidden(t-1))&&"number"==typeof e&&this.hot.hasColHeaders()?e+15:void 0}function S(e,t,r){if(!1===this.getSetting("copyPasteEnabled")&&this.isHidden(t)&&(r.skipColumnOnPaste=!0),this.isHidden(t-1))r.className=r.className||"",-1===r.className.indexOf("afterHiddenColumn")&&(r.className+=" afterHiddenColumn");else if(r.className){const e=r.className.split(" ");if(e.length>0){const t=e.indexOf("afterHiddenColumn");t>-1&&e.splice(t,1),r.className=e.join(" ")}}}function T(e){if(this.getSetting("copyPasteEnabled"))return e;const t=[],r=(e,r,n,s)=>{t.push({startRow:e,endRow:r,startCol:n,endCol:s})};return(0,a.arrayEach)(e,(e=>{let t=!0,n=0;(0,o.rangeEach)(e.startCol,e.endCol,(s=>{this.isHidden(s)?(t||r(e.startRow,e.endRow,n,s-1),t=!0):(t&&(n=s),s===e.endCol&&r(e.startRow,e.endRow,n,s),t=!1)}))})),t}function N(e,t){if(!this.getSetting("indicators")||e<0)return;const r=[];e>=1&&this.isHidden(e-1)&&r.push("afterHiddenColumn"),e<this.hot.countCols()-1&&this.isHidden(e+1)&&r.push("beforeHiddenColumn"),(0,i.addClass)(t,r)}function M(e){e.items.push({name:l.SEPARATOR},(0,u.default)(this),(0,c.default)(this))}function _(){const e=this.getSetting("columns");Array.isArray(e)&&this.hideColumns(e)}t.HiddenColumns=v},28511:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(312);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.HiddenColumns=n.HiddenColumns},54565:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"hidden_rows_hide",name(){const e=this.getSelectedLast();let t=0;if(Array.isArray(e)){const[r,,n]=e;r-n!=0&&(t=1)}return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_HIDE_ROW,t)},callback(){const{from:t,to:r}=this.getSelectedRangeLast(),n=Math.max(Math.min(t.row,r.row),0),s=Math.max(t.row,r.row),i=[];for(let e=n;e<=s;e+=1)i.push(e);e.hideRows(i);const o=i[i.length-1],a=this.rowIndexMapper.getNearestNotHiddenIndex(o,1,!0);Number.isInteger(a)&&a>=0?this.selectRows(a):this.deselectCell(),this.render(),this.view.adjustElementsSize()},disabled:!1,hidden(){return!(this.selection.isSelectedByRowHeader()||this.selection.isSelectedByCorner())}}},r(15724);var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}},93602:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){const t=[];return{key:"hidden_rows_show",name(){const e=t.length>1?1:0;return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_SHOW_ROW,e)},callback(){var r,n;if(0===t.length)return;let s=t[0],i=t[t.length-1];s=null!==(r=this.rowIndexMapper.getNearestNotHiddenIndex(s-1,-1))&&void 0!==r?r:0,i=null!==(n=this.rowIndexMapper.getNearestNotHiddenIndex(i+1,1))&&void 0!==n?n:this.countRows()-1,e.showRows(t),this.render(),this.view.adjustElementsSize();i-s+1===this.countRows()||this.selectRows(s,i)},disabled:!1,hidden(){const r=(0,n.arrayMap)(e.getHiddenRows(),(e=>this.toPhysicalRow(e)));if(!this.selection.isSelectedByRowHeader()&&!this.selection.isSelectedByCorner()||r.length<1)return!0;t.length=0;const s=this.getSelectedRangeLast(),i=s.getTopStartCorner().row,o=s.getBottomEndCorner().row,a=this.rowIndexMapper,l=a.getRenderableFromVisualIndex(i),h=a.getRenderableFromVisualIndex(o),u=a.getNotTrimmedIndexes(),c=[];if(i!==o){if(o-i+1>h-l+1){const e=u.slice(i,o+1);c.push(...e.filter((e=>r.includes(e))))}}else if(0===l&&l<i)c.push(...u.slice(0,i));else if(null===l)c.push(...u.slice(0,this.countRows()));else{const e=this.countRows()-1;h===a.getRenderableFromVisualIndex(a.getNearestNotHiddenIndex(e,-1))&&e>o&&c.push(...u.slice(o+1))}return(0,n.arrayEach)(c,(e=>{t.push(this.toVisualRow(e))})),0===t.length}}},r(15724),r(14846),r(27458);var n=r(10587),s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}},60568:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(63333),r(94364);var s=r(75089),i=r(62577),o=r(22137),a=r(10587),l=r(30889),h=r(28197),u=n(r(54565)),c=n(r(93602)),d=r(61149);function p(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function g(e,t){return e.get(m(e,t))}function f(e,t,r){return e.set(m(e,t),r),r}function m(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}h.Hooks.getSingleton().register("beforeHideRows"),h.Hooks.getSingleton().register("afterHideRows"),h.Hooks.getSingleton().register("beforeUnhideRows"),h.Hooks.getSingleton().register("afterUnhideRows");const y=t.PLUGIN_KEY="hiddenRows",E=t.PLUGIN_PRIORITY=320;var w=new WeakMap,C=new WeakSet;class v extends s.BasePlugin{constructor(){var e,t;super(...arguments),p(e=this,t=C),t.add(e),function(e,t,r){p(e,t),t.set(e,r)}(this,w,null)}static get PLUGIN_KEY(){return y}static get PLUGIN_PRIORITY(){return E}static get DEFAULT_SETTINGS(){return{copyPasteEnabled:!0,indicators:!1,rows:[]}}isEnabled(){return!!this.hot.getSettings()[y]}enablePlugin(){var e=this;this.enabled||(f(w,this,new d.HidingMap),g(w,this).addLocalHook("init",(()=>m(C,this,_).call(this))),this.hot.rowIndexMapper.registerMap(this.pluginName,g(w,this)),this.addHook("afterContextMenuDefaultOptions",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return m(C,e,M).call(e,...r)})),this.addHook("afterGetCellMeta",((e,t,r)=>m(C,this,S).call(this,e,t,r))),this.addHook("modifyRowHeight",((e,t)=>m(C,this,R).call(this,e,t))),this.addHook("afterGetRowHeader",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return m(C,e,N).call(e,...r)})),this.addHook("modifyCopyableRange",(e=>m(C,this,T).call(this,e))),super.enablePlugin())}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}disablePlugin(){this.hot.rowIndexMapper.unregisterMap(this.pluginName),super.disablePlugin(),this.resetCellsMeta()}showRows(e){const t=this.getHiddenRows(),r=this.isValidConfig(e);let n=t;const s=g(w,this).getValues().slice(),i=e.length>0;if(r&&i){const t=e.map((e=>this.hot.toPhysicalRow(e)));(0,a.arrayEach)(t,(e=>{s[e]=!1})),n=(0,a.arrayReduce)(s,((e,t,r)=>(t&&e.push(this.hot.toVisualRow(r)),e)),[])}!1!==this.hot.runHooks("beforeUnhideRows",t,n,r&&i)&&(r&&i&&g(w,this).setValues(s),this.hot.runHooks("afterUnhideRows",t,n,r&&i,r&&n.length<t.length))}showRow(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.showRows(t)}hideRows(e){const t=this.getHiddenRows(),r=this.isValidConfig(e);let n=t;r&&(n=Array.from(new Set(t.concat(e))));!1!==this.hot.runHooks("beforeHideRows",t,n,r)&&(r&&this.hot.batchExecution((()=>{(0,a.arrayEach)(e,(e=>{g(w,this).setValueAtIndex(this.hot.toPhysicalRow(e),!0)}))}),!0),this.hot.runHooks("afterHideRows",t,n,r,r&&n.length>t.length))}hideRow(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.hideRows(t)}getHiddenRows(){return(0,a.arrayMap)(g(w,this).getHiddenIndexes(),(e=>this.hot.toVisualRow(e)))}isHidden(e){return g(w,this).getValueAtIndex(this.hot.toPhysicalRow(e))||!1}isValidConfig(e){const t=this.hot.countRows();return!!(Array.isArray(e)&&e.length>0)&&e.every((e=>Number.isInteger(e)&&e>=0&&e<t))}resetCellsMeta(){(0,a.arrayEach)(this.hot.getCellsMeta(),(e=>{e.skipRowOnPaste=!1}))}destroy(){f(w,this,null),super.destroy()}}function R(e,t){return this.isHidden(t)?0:e}function S(e,t,r){if(!1===this.getSetting("copyPasteEnabled")&&this.isHidden(e)&&(r.skipRowOnPaste=!0),this.isHidden(e-1))r.className=r.className||"",-1===r.className.indexOf("afterHiddenRow")&&(r.className+=" afterHiddenRow");else if(r.className){const e=r.className.split(" ");if(e.length>0){const t=e.indexOf("afterHiddenRow");t>-1&&e.splice(t,1),r.className=e.join(" ")}}}function T(e){if(this.getSetting("copyPasteEnabled"))return e;const t=[],r=(e,r,n,s)=>{t.push({startRow:e,endRow:r,startCol:n,endCol:s})};return(0,a.arrayEach)(e,(e=>{let t=!0,n=0;(0,o.rangeEach)(e.startRow,e.endRow,(s=>{this.isHidden(s)?(t||r(n,s-1,e.startCol,e.endCol),t=!0):(t&&(n=s),s===e.endRow&&r(n,s,e.startCol,e.endCol),t=!1)}))})),t}function N(e,t){if(!this.getSetting("indicators")||e<0)return;const r=[];e>=1&&this.isHidden(e-1)&&r.push("afterHiddenRow"),e<this.hot.countRows()-1&&this.isHidden(e+1)&&r.push("beforeHiddenRow"),(0,i.addClass)(t,r)}function M(e){e.items.push({name:l.SEPARATOR},(0,u.default)(this),(0,c.default)(this))}function _(){const e=this.getSetting("rows");Array.isArray(e)&&this.hideRows(e)}t.HiddenRows=v},53437:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(60568);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.HiddenRows=n.HiddenRows},50927:(e,t,r)=>{"use strict";t.__esModule=!0,t.registerAllPlugins=function(){(0,F.registerPlugin)(n.AutoColumnSize),(0,F.registerPlugin)(s.Autofill),(0,F.registerPlugin)(i.AutoRowSize),(0,F.registerPlugin)(a.BindRowsWithHeaders),(0,F.registerPlugin)(l.CollapsibleColumns),(0,F.registerPlugin)(h.ColumnSorting),(0,F.registerPlugin)(u.ColumnSummary),(0,F.registerPlugin)(c.Comments),(0,F.registerPlugin)(d.ContextMenu),(0,F.registerPlugin)(p.CopyPaste),(0,F.registerPlugin)(g.CustomBorders),(0,F.registerPlugin)(f.DragToScroll),(0,F.registerPlugin)(m.DropdownMenu),(0,F.registerPlugin)(y.ExportFile),(0,F.registerPlugin)(E.Filters),(0,F.registerPlugin)(w.Formulas),(0,F.registerPlugin)(C.HiddenColumns),(0,F.registerPlugin)(v.HiddenRows),(0,F.registerPlugin)(R.ManualColumnFreeze),(0,F.registerPlugin)(S.ManualColumnMove),(0,F.registerPlugin)(T.ManualColumnResize),(0,F.registerPlugin)(N.ManualRowMove),(0,F.registerPlugin)(M.ManualRowResize),(0,F.registerPlugin)(_.MergeCells),(0,F.registerPlugin)(b.MultiColumnSorting),(0,F.registerPlugin)(O.MultipleSelectionHandles),(0,F.registerPlugin)(A.NestedHeaders),(0,F.registerPlugin)(I.NestedRows),(0,F.registerPlugin)(x.PersistentState),(0,F.registerPlugin)(P.Search),(0,F.registerPlugin)(L.StretchColumns),(0,F.registerPlugin)(D.TouchScroll),(0,F.registerPlugin)(k.TrimRows),(0,F.registerPlugin)(H.UndoRedo)};var n=r(49912);t.AutoColumnSize=n.AutoColumnSize;var s=r(32894);t.Autofill=s.Autofill;var i=r(27864);t.AutoRowSize=i.AutoRowSize;var o=r(75089);t.BasePlugin=o.BasePlugin;var a=r(816);t.BindRowsWithHeaders=a.BindRowsWithHeaders;var l=r(96987);t.CollapsibleColumns=l.CollapsibleColumns;var h=r(51206);t.ColumnSorting=h.ColumnSorting;var u=r(66518);t.ColumnSummary=u.ColumnSummary;var c=r(85290);t.Comments=c.Comments;var d=r(92560);t.ContextMenu=d.ContextMenu;var p=r(88980);t.CopyPaste=p.CopyPaste;var g=r(60402);t.CustomBorders=g.CustomBorders;var f=r(47126);t.DragToScroll=f.DragToScroll;var m=r(81658);t.DropdownMenu=m.DropdownMenu;var y=r(99364);t.ExportFile=y.ExportFile;var E=r(80971);t.Filters=E.Filters;var w=r(84291);t.Formulas=w.Formulas;var C=r(28511);t.HiddenColumns=C.HiddenColumns;var v=r(53437);t.HiddenRows=v.HiddenRows;var R=r(29583);t.ManualColumnFreeze=R.ManualColumnFreeze;var S=r(12597);t.ManualColumnMove=S.ManualColumnMove;var T=r(52536);t.ManualColumnResize=T.ManualColumnResize;var N=r(85391);t.ManualRowMove=N.ManualRowMove;var M=r(25014);t.ManualRowResize=M.ManualRowResize;var _=r(75501);t.MergeCells=_.MergeCells;var b=r(76941);t.MultiColumnSorting=b.MultiColumnSorting;var O=r(98129);t.MultipleSelectionHandles=O.MultipleSelectionHandles;var A=r(11859);t.NestedHeaders=A.NestedHeaders;var I=r(58886);t.NestedRows=I.NestedRows;var x=r(56326);t.PersistentState=x.PersistentState;var P=r(64296);t.Search=P.Search;var L=r(25392);t.StretchColumns=L.StretchColumns;var D=r(51958);t.TouchScroll=D.TouchScroll;var k=r(47237);t.TrimRows=k.TrimRows;var H=r(79262);t.UndoRedo=H.UndoRedo;var F=r(74672);t.registerPlugin=F.registerPlugin,t.getPlugin=F.getPlugin,t.getPluginsNames=F.getPluginsNames},8514:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"freeze_column",name(){return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_FREEZE_COLUMN)},callback(t,r){const[{start:{col:n}}]=r;e.freezeColumn(n),this.render(),this.view.adjustElementsSize()},hidden(){const e=this.getSelectedRange();let t=!1;return(void 0===e||e.length>1||e[0].from.col!==e[0].to.col||e[0].from.col<=this.getSettings().fixedColumnsStart-1)&&(t=!0),t}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}},93433:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=function(e){return{key:"unfreeze_column",name(){return this.getTranslatedPhrase(n.CONTEXTMENU_ITEMS_UNFREEZE_COLUMN)},callback(t,r){const[{start:{col:n}}]=r;e.unfreezeColumn(n),this.render(),this.view.adjustElementsSize()},hidden(){const e=this.getSelectedRange();let t=!1;return(void 0===e||e.length>1||e[0].from.col!==e[0].to.col||e[0].from.col>=this.getSettings().fixedColumnsStart)&&(t=!0),t}}};var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&{}.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(23384));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}},29583:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(35096);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.ManualColumnFreeze=n.ManualColumnFreeze},35096:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(75568);var s=r(75089),i=r(28197),o=n(r(8514)),a=n(r(93433));function l(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function h(e,t){return e.get(c(e,t))}function u(e,t,r){return e.set(c(e,t),r),r}function c(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}i.Hooks.getSingleton().register("beforeColumnFreeze"),i.Hooks.getSingleton().register("afterColumnFreeze"),i.Hooks.getSingleton().register("beforeColumnUnfreeze"),i.Hooks.getSingleton().register("afterColumnUnfreeze");const d=t.PLUGIN_KEY="manualColumnFreeze",p=t.PLUGIN_PRIORITY=110;var g=new WeakMap,f=new WeakSet;class m extends s.BasePlugin{constructor(){var e,t;super(...arguments),l(e=this,t=f),t.add(e),function(e,t,r){l(e,t),t.set(e,r)}(this,g,!1)}static get PLUGIN_KEY(){return d}static get PLUGIN_PRIORITY(){return p}isEnabled(){return!!this.hot.getSettings()[d]}enablePlugin(){this.enabled||(this.addHook("afterContextMenuDefaultOptions",(e=>c(f,this,y).call(this,e))),this.addHook("beforeColumnMove",((e,t)=>c(f,this,E).call(this,e,t))),super.enablePlugin())}disablePlugin(){u(g,this,!1),super.disablePlugin()}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}freezeColumn(e){const t=this.hot.getSettings(),r=t.fixedColumnsStart<this.hot.countCols()&&e>t.fixedColumnsStart-1;h(g,this)||u(g,this,!0);!1!==this.hot.runHooks("beforeColumnFreeze",e,r)&&(r&&(this.hot.columnIndexMapper.moveIndexes(e,t.fixedColumnsStart),t._fixedColumnsStart+=1),this.hot.runHooks("afterColumnFreeze",e,r))}unfreezeColumn(e){const t=this.hot.getSettings(),r=t.fixedColumnsStart>0&&e<=t.fixedColumnsStart-1;h(g,this)||u(g,this,!0);!1!==this.hot.runHooks("beforeColumnUnfreeze",e,r)&&(r&&(t._fixedColumnsStart-=1,this.hot.columnIndexMapper.moveIndexes(e,t.fixedColumnsStart)),this.hot.runHooks("afterColumnUnfreeze",e,r))}}function y(e){e.items.push({name:"---------"},(0,o.default)(this),(0,a.default)(this))}function E(e,t){if(h(g,this)){const r=this.hot.getSettings().fixedColumnsStart;if(t<r)return!1;if(e.some((e=>e<r)))return!1}}t.ManualColumnFreeze=m},12597:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(37308);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.ManualColumnMove=n.ManualColumnMove},37308:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(75568);var s=r(75089),i=r(28197),o=r(10587),a=r(62577),l=r(77661),h=r(22137),u=n(r(87177)),c=n(r(69234));function d(e,t,r){p(e,t),t.set(e,r)}function p(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function g(e,t,r){return e.set(m(e,t),r),r}function f(e,t){return e.get(m(e,t))}function m(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}i.Hooks.getSingleton().register("beforeColumnMove"),i.Hooks.getSingleton().register("afterColumnMove");const y=t.PLUGIN_KEY="manualColumnMove",E=t.PLUGIN_PRIORITY=120,w="ht__manualColumnMove",C="show-ui",v="on-moving--columns",R="after-selection--columns";var S=new WeakMap,T=new WeakMap,N=new WeakMap,M=new WeakMap,_=new WeakMap,b=new WeakMap,O=new WeakMap,A=new WeakMap,I=new WeakMap,x=new WeakMap,P=new WeakMap,L=new WeakSet;class D extends s.BasePlugin{constructor(){var e,t;super(...arguments),p(e=this,t=L),t.add(e),d(this,S,new u.default(this.hot)),d(this,T,new c.default(this.hot)),d(this,N,[]),d(this,M,0),d(this,_,!1),d(this,b,{}),d(this,O,void 0),d(this,A,void 0),d(this,I,void 0),d(this,x,void 0),d(this,P,void 0)}static get PLUGIN_KEY(){return y}static get PLUGIN_PRIORITY(){return E}isEnabled(){return!!this.hot.getSettings()[y]}enablePlugin(){var e=this;this.enabled||(this.addHook("beforeOnCellMouseDown",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return m(L,e,k).call(e,...r)})),this.addHook("beforeOnCellMouseOver",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return m(L,e,F).call(e,...r)})),this.addHook("afterScrollVertically",(()=>m(L,this,V).call(this))),this.addHook("afterLoadData",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return m(L,e,B).call(e,...r)})),this.buildPluginUI(),this.registerEvents(),(0,a.addClass)(this.hot.rootElement,w),super.enablePlugin())}updatePlugin(){this.disablePlugin(),this.enablePlugin(),this.moveBySettingsOrLoad(),super.updatePlugin()}disablePlugin(){(0,a.removeClass)(this.hot.rootElement,w),this.unregisterEvents(),f(S,this).destroy(),f(T,this).destroy(),super.disablePlugin()}moveColumn(e,t){return this.moveColumns([e],t)}moveColumns(e,t){const r=f(O,this),n=this.isMovePossible(e,t),s=this.hot.runHooks("beforeColumnMove",e,t,r,n);if(g(O,this,void 0),!1===s)return;n&&this.hot.columnIndexMapper.moveIndexes(e,t);const i=n&&this.isColumnOrderChanged(e,t);return this.hot.runHooks("afterColumnMove",e,t,r,n,i),i}dragColumn(e,t){return this.dragColumns([e],t)}dragColumns(e,t){const r=this.countFinalIndex(e,t);return g(O,this,t),this.moveColumns(e,r)}isMovePossible(e,t){const r=this.hot.columnIndexMapper.getNotTrimmedIndexesLength(),n=e.length+t>r,s=t<0,i=e.some((e=>e<0)),o=e.some((e=>e>=r));return!(n||s||i||o)}isColumnOrderChanged(e,t){return e.some(((e,r)=>e-r!==t))}countFinalIndex(e,t){const r=(0,o.arrayReduce)(e,((e,r)=>(r<t&&(e+=1),e)),0);return t-r}getColumnsWidth(e,t){const r=this.hot.columnIndexMapper;let n=0;for(let s=e;s<=t;s+=1){const e=r.getRenderableFromVisualIndex(s);s<0?n+=this.hot.view._wt.wtViewport.getRowHeaderWidth()||0:null!==e&&(n+=this.hot.view._wt.wtTable.getColumnWidth(e)||0)}return n}moveBySettingsOrLoad(){const e=this.hot.getSettings()[y];if(Array.isArray(e))this.moveColumns(e,0);else if(void 0!==e){const e=this.persistentStateLoad();e.length&&this.moveColumns(e,0)}}isFixedColumnsStart(e){return e<this.hot.getSettings().fixedColumnsStart}persistentStateSave(){this.hot.runHooks("persistentStateSave","manualColumnMove",this.hot.columnIndexMapper.getIndexesSequence())}persistentStateLoad(){const e={};return this.hot.runHooks("persistentStateLoad","manualColumnMove",e),e.value?e.value:[]}prepareColumnsToMoving(e,t){const r=[];return(0,h.rangeEach)(e,t,(e=>{r.push(e)})),r}refreshPositions(){const e=this.hot.view.getFirstFullyVisibleColumn();this.isFixedColumnsStart(f(A,this))&&e>0&&this.hot.scrollViewportTo({col:this.hot.columnIndexMapper.getNearestNotHiddenIndex(e-1,-1)});const t=this.hot.view._wt.wtTable,r=this.hot.view._wt.wtOverlays.scrollableElement,n="number"==typeof r.scrollX?r.scrollX:r.scrollLeft;let s=this.hot.view.THEAD.offsetLeft+this.getColumnsWidth(0,f(A,this)-1);const i=t.hider.offsetWidth,o=t.TBODY.offsetLeft,l=f(S,this).getOffset().start,h=f(S,this).getSize().width;let u=0,c=0;if(this.hot.isRtl()){const e=this.hot.rootWindow,t=(0,a.outerWidth)(this.hot.rootElement),s=e.innerWidth-f(I,this)-t;c=e.innerWidth-f(b,this).eventPageX-s-(void 0===r.scrollX?n:0)}else c=f(b,this).eventPageX-(f(I,this)-(void 0===r.scrollX?n:0));if(f(x,this)&&(u=this.hot.view._wt.wtOverlays.inlineStartOverlay.clone.wtTable.getColumnHeader(-1).offsetWidth),this.isFixedColumnsStart(f(A,this))&&(s+=n),s+=u,f(A,this)<0)f(P,this)>0?f(b,this).col=0:f(b,this).col=e>0?e-1:e;else if(f(b,this).TD.offsetWidth/2+s<=c){const e=f(A,this)>=f(M,this)?f(M,this)-1:f(A,this);f(b,this).col=e+1,s+=f(b,this).TD.offsetWidth}else f(b,this).col=f(A,this);let d=c,p=s;c+h+l>=i?d=i-h-l:c+l<o+u&&(d=o+u+Math.abs(l)),s>=i-1?p=i-1:0===p?p=1:void 0!==r.scrollX&&f(A,this)<f(P,this)&&(p-=f(I,this)<=r.scrollX?f(I,this):0),f(S,this).setPosition(null,d),f(T,this).setPosition(null,p)}registerEvents(){const{documentElement:e}=this.hot.rootDocument;this.eventManager.addEventListener(e,"mousemove",(e=>m(L,this,H).call(this,e))),this.eventManager.addEventListener(e,"mouseup",(()=>m(L,this,U).call(this)))}unregisterEvents(){this.eventManager.clear()}buildPluginUI(){f(S,this).build(),f(T,this).build()}destroy(){f(S,this).destroy(),f(T,this).destroy(),super.destroy()}}function k(e,t,r,n){const s=this.hot.view._wt.wtTable,i=this.hot.selection.isSelectedByColumnHeader(),o=this.hot.getSelectedRangeLast(),h=(0,a.hasClass)(e.target,"sortAction");if(!o||!i||f(_,this)||0!==e.button||h)return g(_,this,!1),f(N,this).length=0,void(0,a.removeClass)(this.hot.rootElement,[v,C]);const u=f(T,this).isBuilt()&&!f(T,this).isAppended(),c=f(S,this).isBuilt()&&!f(S,this).isAppended();u&&c&&(f(T,this).appendTo(s.hider),f(S,this).appendTo(s.hider));const{from:d,to:p}=o,m=Math.min(d.col,p.col),y=Math.max(d.col,p.col);if(t.row<0&&t.col>=m&&t.col<=y){n.column=!0,g(_,this,!0);const i=r.firstChild?(0,l.offsetRelativeTo)(e,r.firstChild).x:e.offsetX;f(b,this).eventPageX=e.pageX,g(A,this,t.col),f(b,this).TD=r,f(b,this).col=t.col,g(N,this,this.prepareColumnsToMoving(m,y)),g(x,this,!!this.hot.getSettings().rowHeaders),g(M,this,this.hot.countCols()),g(P,this,this.hot.getSettings().fixedColumnsStart),g(I,this,(0,a.offset)(this.hot.rootElement).left);const o=f(x,this)?-1:0,h=s.holder.scrollTop+s.getColumnHeaderHeight(0)+1,u=t.col<f(P,this),c=this.hot.view._wt.wtOverlays.inlineStartOverlay.getOverlayOffset(),d=Math.abs(i-(this.hot.isRtl()?r.offsetWidth:0)),p=this.getColumnsWidth(m,t.col-1)+d,E=this.getColumnsWidth(o,m-1)+(u?c:0)+p;f(S,this).setPosition(h,E),f(S,this).setSize(this.getColumnsWidth(m,y),s.hider.offsetHeight-h),f(S,this).setOffset(null,-p),(0,a.addClass)(this.hot.rootElement,v)}else(0,a.removeClass)(this.hot.rootElement,R),g(_,this,!1),f(N,this).length=0}function H(e){f(_,this)&&(f(b,this).eventPageX=e.pageX,this.refreshPositions())}function F(e,t,r,n){this.hot.getSelectedRangeLast()&&f(_,this)&&(f(N,this).indexOf(t.col)>-1?(0,a.removeClass)(this.hot.rootElement,C):(0,a.addClass)(this.hot.rootElement,C),n.row=!0,n.column=!0,n.cell=!0,g(A,this,t.col),f(b,this).TD=r)}function U(){const e=f(b,this).col,t=f(N,this).length;if(g(A,this,void 0),g(_,this,!1),(0,a.removeClass)(this.hot.rootElement,[v,C,R]),this.hot.selection.isSelectedByColumnHeader()&&(0,a.addClass)(this.hot.rootElement,R),t<1||void 0===e)return;const r=f(N,this)[0],n=this.hot.toPhysicalColumn(r),s=this.dragColumns(f(N,this),e);if(f(N,this).length=0,!0===s){this.persistentStateSave(),this.hot.render(),this.hot.view.adjustElementsSize();const e=this.hot.toVisualColumn(n),r=e+t-1;this.hot.selectColumns(e,r)}}function V(){const e=this.hot.view._wt.wtTable,t=e.getColumnHeaderHeight(0)+1+e.holder.scrollTop;f(S,this).setPosition(t),f(S,this).setSize(null,e.hider.offsetHeight-t)}function B(){this.moveBySettingsOrLoad()}t.ManualColumnMove=D},53976:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(22137),o=r(5893);const a="px";t.default=class{constructor(e){(0,s.default)(this,"hot",void 0),(0,s.default)(this,"_element",null),(0,s.default)(this,"state",0),(0,s.default)(this,"inlineProperty",void 0),this.hot=e,this.inlineProperty=e.isRtl()?"right":"left"}appendTo(e){e.appendChild(this._element),this.state=2}build(){0===this.state&&(this._element=this.hot.rootDocument.createElement("div"),this.state=1)}destroy(){this.isAppended()&&this._element.parentElement.removeChild(this._element),this._element=null,this.state=0}isAppended(){return 2===this.state}isBuilt(){return this.state>=1}setPosition(e,t){(0,i.isNumeric)(e)&&(this._element.style.top=e+a),(0,i.isNumeric)(t)&&(this._element.style[this.inlineProperty]=t+a)}getPosition(){const e=this._element.style;return{top:e.top?parseInt(e.top,10):0,start:e[this.inlineProperty]?parseInt(e[this.inlineProperty],10):0}}setSize(e,t){(0,i.isNumeric)(e)&&(this._element.style.width=e+a),(0,i.isNumeric)(t)&&(this._element.style.height=t+a)}getSize(){return{width:this._element.style.width?parseInt(this._element.style.width,10):0,height:this._element.style.height?parseInt(this._element.style.height,10):0}}setOffset(e,t){(0,i.isNumeric)(e)&&(this._element.style.marginTop=e+a),(0,i.isNumeric)(t)&&(this._element.style[`margin${(0,o.toUpperCaseFirst)(this.inlineProperty)}`]=t+a)}getOffset(){const e=this._element.style,t=`margin${(0,o.toUpperCaseFirst)(this.inlineProperty)}`;return{top:e.marginTop?parseInt(e.marginTop,10):0,start:e[t]?parseInt(e[t],10):0}}}},87177:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(53976)),i=r(62577);class o extends s.default{build(){super.build(),(0,i.addClass)(this._element,"ht__manualColumnMove--backlight")}}t.default=o},69234:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(53976)),i=r(62577);class o extends s.default{build(){super.build(),(0,i.addClass)(this._element,"ht__manualColumnMove--guideline")}}t.default=o},52536:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(50278);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.ManualColumnResize=n.ManualColumnResize},50278:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834),r(15724),r(14846),r(69655);var n=r(75089),s=r(62577),i=r(10587),o=r(22137),a=r(61149);function l(e,t,r){h(e,t),t.set(e,r)}function h(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function u(e,t,r){return e.set(d(e,t),r),r}function c(e,t){return e.get(d(e,t))}function d(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const p=t.PLUGIN_KEY="manualColumnResize",g=t.PLUGIN_PRIORITY=130,f="manualColumnWidths";var m=new WeakMap,y=new WeakMap,E=new WeakMap,w=new WeakMap,C=new WeakMap,v=new WeakMap,R=new WeakMap,S=new WeakMap,T=new WeakMap,N=new WeakMap,M=new WeakMap,_=new WeakMap,b=new WeakMap,O=new WeakMap,A=new WeakMap,I=new WeakMap,x=new WeakSet;class P extends n.BasePlugin{static get PLUGIN_KEY(){return p}static get PLUGIN_PRIORITY(){return g}constructor(e){var t,r;super(e),h(t=this,r=x),r.add(t),l(this,m,null),l(this,y,null),l(this,E,[]),l(this,w,null),l(this,C,null),l(this,v,null),l(this,R,null),l(this,S,null),l(this,T,this.hot.rootDocument.createElement("DIV")),l(this,N,this.hot.rootDocument.createElement("DIV")),l(this,M,null),l(this,_,!1),l(this,b,0),l(this,O,null),l(this,A,void 0),l(this,I,void 0),(0,s.addClass)(c(T,this),"manualColumnResizer"),(0,s.addClass)(c(N,this),"manualColumnResizerGuide")}get inlineDir(){return this.hot.isRtl()?"right":"left"}isEnabled(){return this.hot.getSettings()[p]}enablePlugin(){var e=this;this.enabled||(u(A,this,new a.PhysicalIndexToValueMap),c(A,this).addLocalHook("init",(()=>d(x,this,L).call(this))),this.hot.columnIndexMapper.registerMap(this.pluginName,c(A,this)),this.addHook("modifyColWidth",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return d(x,e,V).call(e,...r)}),1),this.addHook("beforeStretchingColumnWidth",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return d(x,e,B).call(e,...r)}),1),this.addHook("beforeColumnResize",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return d(x,e,W).call(e,...r)})),this.bindEvents(),super.enablePlugin())}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}disablePlugin(){u(I,this,c(A,this).getValues()),this.hot.columnIndexMapper.unregisterMap(this.pluginName),super.disablePlugin()}saveManualColumnWidths(){this.hot.runHooks("persistentStateSave",f,c(A,this).getValues())}loadManualColumnWidths(){const e={};return this.hot.runHooks("persistentStateLoad",f,e),e.value}setManualSize(e,t){const r=Math.max(t,20),n=this.hot.toPhysicalColumn(e);return c(A,this).setValueAtIndex(n,r),r}clearManualSize(e){const t=this.hot.toPhysicalColumn(e);c(A,this).setValueAtIndex(t,null)}setupHandlePosition(e){if(!e.parentNode)return;u(m,this,e);const{_wt:t}=this.hot.view,r=t.wtTable.getCoords(c(m,this)),n=r.col;if(n<0)return;const a=(0,s.outerHeight)(c(m,this)),l=c(m,this).getBoundingClientRect();let h;n<t.getSetting("fixedColumnsStart")&&(h=t.wtOverlays.topInlineStartCornerOverlay.getRelativeCellPosition(c(m,this),r.row,r.col)),h||(h=t.wtOverlays.topOverlay.getRelativeCellPosition(c(m,this),r.row,r.col)),u(y,this,this.hot.columnIndexMapper.getVisualFromRenderableIndex(n)),u(E,this,[]);const d=this.hot.selection.isSelectedByCorner()||this.hot.selection.isSelectedByColumnHeader();if(this.hot.selection.isSelected()&&d){const e=this.hot.getSelectedRange();(0,i.arrayEach)(e,(e=>{const t=e.getTopStartCorner().col,r=e.getBottomEndCorner().col;(0,o.rangeEach)(t,r,(e=>{c(E,this).includes(e)||c(E,this).push(e)}))}))}c(E,this).includes(c(y,this))||u(E,this,[c(y,this)]),u(S,this,h.start-6),u(R,this,parseInt(l.width,10)),c(T,this).style.top=`${h.top}px`,c(T,this).style[this.inlineDir]=`${c(S,this)+c(R,this)}px`,c(T,this).style.height=`${a}px`,this.hot.rootElement.appendChild(c(T,this))}refreshHandlePosition(){c(T,this).style[this.inlineDir]=`${c(S,this)+c(w,this)}px`}setupGuidePosition(){const e=parseInt((0,s.outerHeight)(c(T,this)),10),t=parseInt(c(T,this).style.top,10)+e,r=parseInt(this.hot.view.maximumVisibleElementHeight(0),10);(0,s.addClass)(c(T,this),"active"),(0,s.addClass)(c(N,this),"active"),c(N,this).style.top=`${t}px`,this.refreshGuidePosition(),c(N,this).style.height=r-e+"px",this.hot.rootElement.appendChild(c(N,this))}refreshGuidePosition(){c(N,this).style[this.inlineDir]=c(T,this).style[this.inlineDir]}hideHandleAndGuide(){(0,s.removeClass)(c(T,this),"active"),(0,s.removeClass)(c(N,this),"active")}checkIfColumnHeader(e){const t=(0,s.closest)(e,["THEAD"],this.hot.rootElement),{topOverlay:r,topInlineStartCornerOverlay:n}=this.hot.view._wt.wtOverlays;return[r.clone.wtTable.THEAD,n.clone.wtTable.THEAD].includes(t)}getClosestTHParent(e){return"TABLE"!==e.tagName?"TH"===e.tagName?e:this.getClosestTHParent(e.parentNode):null}afterMouseDownTimeout(){const e=()=>{this.hot.forceFullRender=!0,this.hot.view.render(),this.hot.view.adjustElementsSize()},t=(t,r)=>{const n=this.hot.runHooks("beforeColumnResize",c(C,this),t,!0);void 0!==n&&u(C,this,n),this.setManualSize(t,c(C,this)),this.saveManualColumnWidths(),this.hot.runHooks("afterColumnResize",c(C,this),t,!0),r&&e()};if(c(b,this)>=2){c(E,this).length>1?((0,i.arrayEach)(c(E,this),(e=>{t(e)})),e()):(0,i.arrayEach)(c(E,this),(e=>{t(e,!0)}))}u(b,this,0),u(O,this,null)}bindEvents(){const{rootWindow:e,rootElement:t}=this.hot;this.eventManager.addEventListener(t,"mouseover",(e=>d(x,this,D).call(this,e))),this.eventManager.addEventListener(t,"mousedown",(e=>d(x,this,k).call(this,e))),this.eventManager.addEventListener(e,"mousemove",(e=>d(x,this,H).call(this,e))),this.eventManager.addEventListener(e,"mouseup",(()=>d(x,this,F).call(this))),this.eventManager.addEventListener(c(T,this),"contextmenu",(()=>d(x,this,U).call(this)))}destroy(){super.destroy()}}function L(){const e=this.hot.getSettings()[p],t=this.loadManualColumnWidths();void 0!==t?this.hot.batchExecution((()=>{t.forEach(((e,t)=>{c(A,this).setValueAtIndex(t,e)}))}),!0):Array.isArray(e)?(this.hot.batchExecution((()=>{e.forEach(((e,t)=>{c(A,this).setValueAtIndex(t,e)}))}),!0),u(I,this,e)):!0===e&&Array.isArray(c(I,this))&&this.hot.batchExecution((()=>{c(I,this).forEach(((e,t)=>{c(A,this).setValueAtIndex(t,e)}))}),!0)}function D(e){if(!(0,s.isDetached)(e.target)&&!0!==c(_,this)&&this.checkIfColumnHeader(e.target)){const t=this.getClosestTHParent(e.target);if(!t)return;const r=t.getAttribute("colspan");!t||null!==r&&"1"!==r||c(M,this)||this.setupHandlePosition(t)}}function k(e){e.target.parentNode===this.hot.rootElement&&(0,s.hasClass)(e.target,"manualColumnResizer")&&(this.setupHandlePosition(c(m,this)),this.setupGuidePosition(),u(M,this,!0),null===c(O,this)&&(u(O,this,setTimeout((()=>this.afterMouseDownTimeout()),500)),this.hot._registerTimeout(c(O,this))),u(b,this,c(b,this)+1),this.startX=e.pageX,u(C,this,c(R,this)))}function H(e){if(c(M,this)){const t=(e.pageX-this.startX)*this.hot.getDirectionFactor();u(w,this,c(R,this)+t),(0,i.arrayEach)(c(E,this),(e=>{u(C,this,this.setManualSize(e,c(w,this)))})),this.refreshHandlePosition(),this.refreshGuidePosition()}}function F(){const e=()=>{this.hot.forceFullRender=!0,this.hot.view.render(),this.hot.view.adjustElementsSize()},t=(t,r)=>{this.hot.runHooks("beforeColumnResize",c(C,this),t,!1),r&&e(),this.saveManualColumnWidths(),this.hot.runHooks("afterColumnResize",c(C,this),t,!1)};if(c(M,this)){if(this.hideHandleAndGuide(),u(M,this,!1),c(C,this)!==c(R,this)){c(E,this).length>1?((0,i.arrayEach)(c(E,this),(e=>{t(e)})),e()):(0,i.arrayEach)(c(E,this),(e=>{t(e,!0)}))}this.setupHandlePosition(c(m,this))}}function U(){this.hideHandleAndGuide(),this.hot.rootElement.removeChild(c(T,this)),this.hot.rootElement.removeChild(c(N,this)),u(M,this,!1),u(_,this,!0),this.hot._registerImmediate((()=>{u(_,this,!1)}))}function V(e,t){let r=e;if(this.enabled){const e=this.hot.toPhysicalColumn(t),n=c(A,this).getValueAtIndex(e);this.hot.getSettings()[p]&&n&&(r=n)}return r}function B(e,t){const r=c(A,this).getValueAtIndex(this.hot.toPhysicalColumn(t));return"number"==typeof r?r:e}function W(){this.hot.view._wt.wtViewport.resetHasOversizedColumnHeadersMarked()}t.ManualColumnResize=P},85391:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(68856);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.ManualRowMove=n.ManualRowMove},68856:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(75568);var s=r(75089),i=r(28197),o=r(10587),a=r(62577),l=r(22137),h=n(r(12535)),u=n(r(8592));function c(e,t,r){d(e,t),t.set(e,r)}function d(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function p(e,t,r){return e.set(f(e,t),r),r}function g(e,t){return e.get(f(e,t))}function f(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}i.Hooks.getSingleton().register("beforeRowMove"),i.Hooks.getSingleton().register("afterRowMove");const m=t.PLUGIN_KEY="manualRowMove",y=t.PLUGIN_PRIORITY=140,E="ht__manualRowMove",w="show-ui",C="on-moving--rows",v="after-selection--rows";var R=new WeakMap,S=new WeakMap,T=new WeakMap,N=new WeakMap,M=new WeakMap,_=new WeakMap,b=new WeakSet;class O extends s.BasePlugin{constructor(){var e,t;super(...arguments),d(e=this,t=b),t.add(e),c(this,R,new h.default(this.hot)),c(this,S,new u.default(this.hot)),c(this,T,[]),c(this,N,void 0),c(this,M,{}),c(this,_,void 0)}static get PLUGIN_KEY(){return m}static get PLUGIN_PRIORITY(){return y}isEnabled(){return!!this.hot.getSettings()[m]}enablePlugin(){var e=this;this.enabled||(this.addHook("beforeOnCellMouseDown",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return f(b,e,A).call(e,...r)})),this.addHook("beforeOnCellMouseOver",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return f(b,e,x).call(e,...r)})),this.addHook("afterScrollHorizontally",(()=>f(b,this,L).call(this))),this.addHook("afterLoadData",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return f(b,e,D).call(e,...r)})),this.buildPluginUI(),this.registerEvents(),(0,a.addClass)(this.hot.rootElement,E),super.enablePlugin())}updatePlugin(){this.disablePlugin(),this.enablePlugin(),this.moveBySettingsOrLoad(),super.updatePlugin()}disablePlugin(){(0,a.removeClass)(this.hot.rootElement,E),this.unregisterEvents(),g(R,this).destroy(),g(S,this).destroy(),super.disablePlugin()}moveRow(e,t){return this.moveRows([e],t)}moveRows(e,t){const r=g(_,this),n=this.isMovePossible(e,t),s=this.hot.runHooks("beforeRowMove",e,t,r,n);if(p(_,this,void 0),!1===s)return;n&&this.hot.rowIndexMapper.moveIndexes(e,t);const i=n&&this.isRowOrderChanged(e,t);return this.hot.runHooks("afterRowMove",e,t,r,n,i),i}dragRow(e,t){return this.dragRows([e],t)}dragRows(e,t){const r=this.countFinalIndex(e,t);return p(_,this,t),this.moveRows(e,r)}isMovePossible(e,t){const r=this.hot.rowIndexMapper.getNotTrimmedIndexesLength(),n=e.length+t>r,s=t<0,i=e.some((e=>e<0)),o=e.some((e=>e>=r));return!(n||s||i||o)}isRowOrderChanged(e,t){return e.some(((e,r)=>e-r!==t))}countFinalIndex(e,t){const r=(0,o.arrayReduce)(e,((e,r)=>(r<t&&(e+=1),e)),0);return t-r}getRowsHeight(e,t){const r=this.hot.rowIndexMapper;let n=0;for(let s=e;s<=t;s++){const e=r.getRenderableFromVisualIndex(s);null!==e&&(n+=this.hot.view._wt.wtTable.getRowHeight(e)||this.hot.view.getDefaultRowHeight())}return n}moveBySettingsOrLoad(){const e=this.hot.getSettings()[m];if(Array.isArray(e))this.moveRows(e,0);else if(void 0!==e){const e=this.persistentStateLoad();e.length&&this.moveRows(e,0)}}isFixedRowTop(e){return e<this.hot.getSettings().fixedRowsTop}isFixedRowBottom(e){return e>this.hot.countRows()-1-this.hot.getSettings().fixedRowsBottom}persistentStateSave(){this.hot.runHooks("persistentStateSave","manualRowMove",this.hot.rowIndexMapper.getIndexesSequence())}persistentStateLoad(){const e={};return this.hot.runHooks("persistentStateLoad","manualRowMove",e),e.value?e.value:[]}prepareRowsToMoving(){const e=this.hot.getSelectedRangeLast(),t=[];if(!e)return t;const{from:r,to:n}=e,s=Math.min(r.row,n.row),i=Math.max(r.row,n.row);return(0,l.rangeEach)(s,i,(e=>{t.push(e)})),t}refreshPositions(){const e=g(M,this).coords,t=this.hot.getFirstFullyVisibleRow(),r=this.hot.getLastFullyVisibleRow(),n=this.hot.countRows();this.isFixedRowTop(e.row)&&t>0&&this.hot.scrollViewportTo(this.hot.rowIndexMapper.getNearestNotHiddenIndex(t-1,-1)),this.isFixedRowBottom(e.row)&&r<n&&this.hot.scrollViewportTo(this.hot.rowIndexMapper.getNearestNotHiddenIndex(r+1,1),void 0,!0);const s=this.hot.view._wt.wtTable,i=g(M,this).TD,o=this.hot.rootElement,l=(0,a.offset)(o),h=(0,a.getTrimmingContainer)(o),u=s.holder.scrollTop,c=this.hot.rootWindow!==h?h.scrollTop:0,d=l.top-c,p=g(M,this).eventPageY-d+u,f=s.hider.offsetHeight,m=s.TBODY.offsetTop,y=g(R,this).getOffset().top,E=g(R,this).getSize().height,w=i.offsetHeight/2,C=i.offsetHeight;let v=this.hot.view.THEAD.offsetHeight+this.getRowsHeight(0,e.row-1);const T=p>=v+w;this.isFixedRowTop(e.row)&&(v+=this.hot.view._wt.wtOverlays.topOverlay.getOverlayOffset()),e.row<0?g(M,this).row=t>0?t-1:t:T?(g(M,this).row=e.row+1,v+=0===e.row?C-1:C):g(M,this).row=e.row;let N=p,_=v;p+E+y>=f?N=f-E-y:p+y<m&&(N=m+Math.abs(y)),v>=f-1&&(_=f-1),g(R,this).setPosition(N),g(S,this).setPosition(_)}registerEvents(){const{documentElement:e}=this.hot.rootDocument;this.eventManager.addEventListener(e,"mousemove",(e=>f(b,this,I).call(this,e))),this.eventManager.addEventListener(e,"mouseup",(()=>f(b,this,P).call(this)))}unregisterEvents(){this.eventManager.clear()}buildPluginUI(){g(R,this).build(),g(S,this).build()}destroy(){g(R,this).destroy(),g(S,this).destroy(),super.destroy()}}function A(e,t,r,n){const{wtTable:s,wtViewport:i}=this.hot.view._wt,o=this.hot.selection.isSelectedByRowHeader(),l=this.hot.getSelectedRangeLast();if(!l||!o||g(N,this)||0!==e.button)return p(N,this,!1),g(T,this).length=0,void(0,a.removeClass)(this.hot.rootElement,[C,w]);const h=g(S,this).isBuilt()&&!g(S,this).isAppended(),u=g(R,this).isBuilt()&&!g(R,this).isAppended();h&&u&&(g(S,this).appendTo(s.hider),g(R,this).appendTo(s.hider));const{from:c,to:d}=l,f=Math.min(c.row,d.row),m=Math.max(c.row,d.row);if(t.col<0&&t.row>=f&&t.row<=m){n.row=!0,p(N,this,!0),g(M,this).eventPageY=e.pageY,g(M,this).coords=t,g(M,this).TD=r,p(T,this,this.prepareRowsToMoving());const o=s.holder.scrollLeft+i.getRowHeaderWidth(),l=this.getRowsHeight(f,t.row-1)+(e.clientY-r.getBoundingClientRect().top);g(R,this).setPosition(null,o),g(R,this).setSize(s.hider.offsetWidth-o,this.getRowsHeight(f,m)),g(R,this).setOffset(-l,null),(0,a.addClass)(this.hot.rootElement,C),this.refreshPositions()}else(0,a.removeClass)(this.hot.rootElement,v),p(N,this,!1),g(T,this).length=0}function I(e){g(N,this)&&(g(M,this).eventPageY=e.pageY,this.refreshPositions())}function x(e,t,r,n){this.hot.getSelectedRangeLast()&&g(N,this)&&(g(T,this).indexOf(t.row)>-1?(0,a.removeClass)(this.hot.rootElement,w):(0,a.addClass)(this.hot.rootElement,w),n.row=!0,n.column=!0,n.cell=!0,g(M,this).coords=t,g(M,this).TD=r)}function P(){const e=g(M,this).row,t=g(T,this).length;if(p(N,this,!1),(0,a.removeClass)(this.hot.rootElement,[C,w,v]),this.hot.selection.isSelectedByRowHeader()&&(0,a.addClass)(this.hot.rootElement,v),t<1||void 0===e)return;const r=g(T,this)[0],n=this.hot.toPhysicalRow(r),s=this.dragRows(g(T,this),e);if(g(T,this).length=0,!0===s){this.persistentStateSave(),this.hot.render(),this.hot.view.adjustElementsSize();const e=this.hot.toVisualRow(n),r=e+t-1;this.hot.selectRows(e,r)}}function L(){const e=this.hot.view._wt.wtTable,t=this.hot.view._wt.wtViewport.getRowHeaderWidth()+e.holder.scrollLeft;g(R,this).setPosition(null,t),g(R,this).setSize(e.hider.offsetWidth-t)}function D(){this.moveBySettingsOrLoad()}t.ManualRowMove=O},44378:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));const i="px";t.default=class{constructor(e){(0,s.default)(this,"hot",void 0),(0,s.default)(this,"_element",null),(0,s.default)(this,"state",0),this.hot=e}appendTo(e){e.appendChild(this._element),this.state=2}build(){0===this.state&&(this._element=this.hot.rootDocument.createElement("div"),this.state=1)}destroy(){this.isAppended()&&this._element.parentElement.removeChild(this._element),this._element=null,this.state=0}isAppended(){return 2===this.state}isBuilt(){return this.state>=1}setPosition(e,t){void 0!==e&&(this._element.style.top=e+i),void 0!==t&&(this._element.style.left=t+i)}getPosition(){return{top:this._element.style.top?parseInt(this._element.style.top,10):0,left:this._element.style.left?parseInt(this._element.style.left,10):0}}setSize(e,t){e&&(this._element.style.width=e+i),t&&(this._element.style.height=t+i)}getSize(){return{width:this._element.style.width?parseInt(this._element.style.width,10):0,height:this._element.style.height?parseInt(this._element.style.height,10):0}}setOffset(e,t){e&&(this._element.style.marginTop=e+i),t&&(this._element.style.marginLeft=t+i)}getOffset(){return{top:this._element.style.marginTop?parseInt(this._element.style.marginTop,10):0,left:this._element.style.marginLeft?parseInt(this._element.style.marginLeft,10):0}}}},12535:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(44378)),i=r(62577);class o extends s.default{build(){super.build(),(0,i.addClass)(this._element,"ht__manualRowMove--backlight")}}t.default=o},8592:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(44378)),i=r(62577);class o extends s.default{build(){super.build(),(0,i.addClass)(this._element,"ht__manualRowMove--guideline")}}t.default=o},25014:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(36380);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.ManualRowResize=n.ManualRowResize},36380:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834),r(15724),r(14846),r(69655);var n=r(75089),s=r(62577),i=r(10587),o=r(22137),a=r(61149);function l(e,t,r){h(e,t),t.set(e,r)}function h(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function u(e,t,r){return e.set(d(e,t),r),r}function c(e,t){return e.get(d(e,t))}function d(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const p=t.PLUGIN_KEY="manualRowResize",g=t.PLUGIN_PRIORITY=30,f="manualRowHeights";var m=new WeakMap,y=new WeakMap,E=new WeakMap,w=new WeakMap,C=new WeakMap,v=new WeakMap,R=new WeakMap,S=new WeakMap,T=new WeakMap,N=new WeakMap,M=new WeakMap,_=new WeakMap,b=new WeakMap,O=new WeakMap,A=new WeakMap,I=new WeakMap,x=new WeakSet;class P extends n.BasePlugin{static get PLUGIN_KEY(){return p}static get PLUGIN_PRIORITY(){return g}constructor(e){var t,r;super(e),h(t=this,r=x),r.add(t),l(this,m,null),l(this,y,null),l(this,E,[]),l(this,w,null),l(this,C,null),l(this,v,null),l(this,R,null),l(this,S,null),l(this,T,this.hot.rootDocument.createElement("DIV")),l(this,N,this.hot.rootDocument.createElement("DIV")),l(this,M,!1),l(this,_,!1),l(this,b,0),l(this,O,null),l(this,A,void 0),l(this,I,void 0),(0,s.addClass)(c(T,this),"manualRowResizer"),(0,s.addClass)(c(N,this),"manualRowResizerGuide")}get inlineDir(){return this.hot.isRtl()?"right":"left"}isEnabled(){return this.hot.getSettings()[p]}enablePlugin(){this.enabled||(u(A,this,new a.PhysicalIndexToValueMap),c(A,this).addLocalHook("init",(()=>d(x,this,V).call(this))),this.hot.rowIndexMapper.registerMap(this.pluginName,c(A,this)),this.addHook("modifyRowHeight",((e,t)=>d(x,this,U).call(this,e,t))),this.bindEvents(),super.enablePlugin())}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}disablePlugin(){u(I,this,c(A,this).getValues()),this.hot.rowIndexMapper.unregisterMap(this.pluginName),super.disablePlugin()}saveManualRowHeights(){this.hot.runHooks("persistentStateSave",f,c(A,this).getValues())}loadManualRowHeights(){const e={};return this.hot.runHooks("persistentStateLoad",f,e),e.value}setManualSize(e,t){const r=this.hot.toPhysicalRow(e),n=Math.max(t,this.hot.view.getDefaultRowHeight());return c(A,this).setValueAtIndex(r,n),n}getLastDesiredRowHeight(){return c(w,this)}setupHandlePosition(e){u(m,this,e);const{view:t}=this.hot,{_wt:r}=t,n=r.wtTable.getCoords(c(m,this)),a=n.row;if(a<0)return;const l=(0,s.outerWidth)(c(m,this)),h=c(m,this).getBoundingClientRect(),d=a<r.getSetting("fixedRowsTop"),p=a>=t.countNotHiddenRowIndexes(0,1)-r.getSetting("fixedRowsBottom");let g;d?g=r.wtOverlays.topInlineStartCornerOverlay.getRelativeCellPosition(c(m,this),n.row,n.col):p&&(g=r.wtOverlays.bottomInlineStartCornerOverlay.getRelativeCellPosition(c(m,this),n.row,n.col)),g||(g=r.wtOverlays.inlineStartOverlay.getRelativeCellPosition(c(m,this),n.row,n.col)),u(y,this,this.hot.rowIndexMapper.getVisualFromRenderableIndex(a)),u(E,this,[]);const f=this.hot.selection.isSelectedByCorner()||this.hot.selection.isSelectedByRowHeader();if(this.hot.selection.isSelected()&&f){const e=this.hot.getSelectedRange();(0,i.arrayEach)(e,(e=>{const t=e.getTopStartCorner().row,r=e.getBottomStartCorner().row;(0,o.rangeEach)(t,r,(e=>{c(E,this).includes(e)||c(E,this).push(e)}))}))}c(E,this).includes(c(y,this))||u(E,this,[c(y,this)]),u(S,this,g.top-6),u(R,this,parseInt(h.height,10)),c(T,this).style.top=`${c(S,this)+c(R,this)}px`,c(T,this).style[this.inlineDir]=`${g.start}px`,c(T,this).style.width=`${l}px`,this.hot.rootElement.appendChild(c(T,this))}refreshHandlePosition(){c(T,this).style.top=`${c(S,this)+c(w,this)}px`}setupGuidePosition(){const e=parseInt((0,s.outerWidth)(c(T,this)),10),t=parseInt(c(T,this).style[this.inlineDir],10)+e,r=parseInt(this.hot.view.maximumVisibleElementWidth(0),10);(0,s.addClass)(c(T,this),"active"),(0,s.addClass)(c(N,this),"active"),c(N,this).style.top=c(T,this).style.top,c(N,this).style[this.inlineDir]=`${t}px`,c(N,this).style.width=r-e+"px",this.hot.rootElement.appendChild(c(N,this))}refreshGuidePosition(){c(N,this).style.top=c(T,this).style.top}hideHandleAndGuide(){(0,s.removeClass)(c(T,this),"active"),(0,s.removeClass)(c(N,this),"active")}checkIfRowHeader(e){const t=(0,s.closest)(e,["TBODY"],this.hot.rootElement),{inlineStartOverlay:r,topInlineStartCornerOverlay:n,bottomInlineStartCornerOverlay:i}=this.hot.view._wt.wtOverlays;return[r.clone.wtTable.TBODY,n.clone.wtTable.TBODY,i.clone.wtTable.TBODY].includes(t)}getClosestTHParent(e){return"TABLE"!==e.tagName?"TH"===e.tagName?e:this.getClosestTHParent(e.parentNode):null}getActualRowHeight(e){const t=this.hot.view._wt.wtTable.getRowHeight(e);return void 0!==t&&c(C,this)<t?t:c(C,this)}afterMouseDownTimeout(){const e=()=>{this.hot.forceFullRender=!0,this.hot.view.render(),this.hot.view.adjustElementsSize()},t=(t,r)=>{const n=this.hot.runHooks("beforeRowResize",this.getActualRowHeight(t),t,!0);void 0!==n&&u(C,this,n),this.setManualSize(t,c(C,this)),this.hot.runHooks("afterRowResize",this.getActualRowHeight(t),t,!0),r&&e()};if(c(b,this)>=2){c(E,this).length>1?((0,i.arrayEach)(c(E,this),(e=>{t(e)})),e()):(0,i.arrayEach)(c(E,this),(e=>{t(e,!0)}))}u(b,this,0),u(O,this,null)}bindEvents(){const{rootElement:e,rootWindow:t}=this.hot;this.eventManager.addEventListener(e,"mouseover",(e=>d(x,this,L).call(this,e))),this.eventManager.addEventListener(e,"mousedown",(e=>d(x,this,D).call(this,e))),this.eventManager.addEventListener(t,"mousemove",(e=>d(x,this,k).call(this,e))),this.eventManager.addEventListener(t,"mouseup",(()=>d(x,this,H).call(this))),this.eventManager.addEventListener(c(T,this),"contextmenu",(()=>d(x,this,F).call(this)))}destroy(){super.destroy()}}function L(e){if(!(0,s.isDetached)(e.target)&&!0!==c(_,this)&&this.checkIfRowHeader(e.target)){const t=this.getClosestTHParent(e.target);t&&(c(M,this)||this.setupHandlePosition(t))}}function D(e){(0,s.hasClass)(e.target,"manualRowResizer")&&(this.setupHandlePosition(c(m,this)),this.setupGuidePosition(),u(M,this,!0),null===c(O,this)&&(u(O,this,setTimeout((()=>this.afterMouseDownTimeout()),500)),this.hot._registerTimeout(c(O,this))),u(b,this,c(b,this)+1),u(v,this,e.pageY),u(C,this,c(R,this)))}function k(e){c(M,this)&&(u(w,this,c(R,this)+(e.pageY-c(v,this))),(0,i.arrayEach)(c(E,this),(e=>{u(C,this,this.setManualSize(e,c(w,this)))})),this.refreshHandlePosition(),this.refreshGuidePosition())}function H(){const e=()=>{this.hot.forceFullRender=!0,this.hot.view.render(),this.hot.view.adjustElementsSize()},t=(t,r)=>{this.hot.runHooks("beforeRowResize",this.getActualRowHeight(t),t,!1),r&&e(),this.saveManualRowHeights(),this.hot.runHooks("afterRowResize",this.getActualRowHeight(t),t,!1)};if(c(M,this)){if(this.hideHandleAndGuide(),u(M,this,!1),c(C,this)!==c(R,this)){c(E,this).length>1?((0,i.arrayEach)(c(E,this),(e=>{t(e)})),e()):(0,i.arrayEach)(c(E,this),(e=>{t(e,!0)}))}this.setupHandlePosition(c(m,this))}}function F(){this.hideHandleAndGuide(),this.hot.rootElement.removeChild(c(T,this)),this.hot.rootElement.removeChild(c(N,this)),u(M,this,!1),u(_,this,!0),this.hot._registerImmediate((()=>{u(_,this,!1)}))}function U(e,t){let r=e;if(this.enabled){const e=this.hot.toPhysicalRow(t),n=c(A,this).getValueAtIndex(e);this.hot.getSettings()[p]&&n&&(r=n)}return r}function V(){const e=this.hot.getSettings()[p],t=this.loadManualRowHeights();this.hot.batchExecution((()=>{void 0!==t?t.forEach(((e,t)=>{c(A,this).setValueAtIndex(t,e)})):Array.isArray(e)?(e.forEach(((e,t)=>{c(A,this).setValueAtIndex(t,e)})),u(I,this,e)):!0===e&&Array.isArray(c(I,this))&&c(I,this).forEach(((e,t)=>{c(A,this).setValueAtIndex(t,e)}))}),!0)}t.ManualRowResize=P},75424:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(14846),r(63333);var s=n(r(85707)),i=r(25499),o=r(10587);t.default=class{constructor(e){(0,s.default)(this,"plugin",void 0),(0,s.default)(this,"mergedCellsCollection",void 0),(0,s.default)(this,"currentFillData",null),this.plugin=e,this.mergedCellsCollection=this.plugin.mergedCellsCollection}getDirection(e,t){let r=null;return r=t[0]===e[0]&&t[1]===e[1]&&t[3]===e[3]?"down":t[2]===e[2]&&t[1]===e[1]&&t[3]===e[3]?"up":t[1]===e[1]&&t[2]===e[2]?"right":"left",r}snapDragArea(e,t,r,n){const s=t.slice(0),i=this.getAutofillSize(e,t,r),[o,a,l,h]=e,u=["up","down"].indexOf(r)>-1?l-o+1:h-a+1,c=i-Math.floor(i/u)*u,d=this.getFarthestCollection(e,t,r,n);if(d)if("down"===r){const e=d.row+d.rowspan-o-c;s[2]+e>=this.plugin.hot.countRows()?s[2]-=c:s[2]+=c?e:0}else if("right"===r){const e=d.col+d.colspan-a-c;s[3]+e>=this.plugin.hot.countCols()?s[3]-=c:s[3]+=c?e:0}else if("up"===r){const e=l-c-d.row+1;s[0]+e<0?s[0]+=c:s[0]-=c?e:0}else if("left"===r){const e=h-c-d.col+1;s[1]+e<0?s[1]+=c:s[1]-=c?e:0}return this.updateCurrentFillCache({baseArea:e,dragDirection:r,foundMergedCells:n,fillSize:i,dragArea:s,cycleLength:u}),s}updateCurrentFillCache(e){this.currentFillData||(this.currentFillData={}),(0,i.extend)(this.currentFillData,e)}getAutofillSize(e,t,r){const[n,s,i,o]=e,[a,l,h,u]=t;switch(r){case"up":return n-a;case"down":return h-i;case"left":return s-l;case"right":return u-o;default:return null}}getDragArea(e,t,r){const[n,s,i,o]=e,[a,l,h,u]=t;switch(r){case"up":return[a,l,n-1,o];case"down":{const e=this.mergedCellsCollection.get(h,o);return[i+1,s,h+(e?e.rowspan-1:0),o]}case"left":return[a,l,i,s-1];case"right":{const e=this.mergedCellsCollection.get(h,o);return[n,o+(e?e.colspan-1:0),h,u]}default:return null}}getFarthestCollection(e,t,r,n){const[s,i,a,l]=e,h=["up","down"].indexOf(r)>-1,u=h?a:l,c=h?s:i,d=this.getAutofillSize(e,t,r),p=h?a-s+1:l-i+1,g=d-Math.floor(d/p)*p;let f=null,m=null,y=null;switch(r){case"up":f="includesVertically",y=u-g+1;break;case"left":f="includesHorizontally",y=u-g+1;break;case"down":f="includesVertically",y=c+g-1;break;case"right":f="includesHorizontally",y=c+g-1}return(0,o.arrayEach)(n,(e=>{e[f](y)&&e.isFarther(m,r)&&(m=e)})),m}recreateAfterDataPopulation(e){if(!this.currentFillData)return;const t=this.getRangeFromChanges(e),r=this.currentFillData.foundMergedCells,n=this.currentFillData.dragDirection,s=(e,r)=>{switch(n){case"up":return e.row-r>=t.from.row;case"down":return e.row+e.rowspan-1+r<=t.to.row;case"left":return e.col-r>=t.from.column;case"right":return e.col+e.colspan-1+r<=t.to.column;default:return null}};let i=0,o=null,a=1;do{for(let e=0;e<r.length;e+=1){if(o=r[e],i=a*this.currentFillData.cycleLength,s(o,i))switch(n){case"up":this.plugin.mergedCellsCollection.add({row:o.row-i,rowspan:o.rowspan,col:o.col,colspan:o.colspan},!0);break;case"down":this.plugin.mergedCellsCollection.add({row:o.row+i,rowspan:o.rowspan,col:o.col,colspan:o.colspan},!0);break;case"left":this.plugin.mergedCellsCollection.add({row:o.row,rowspan:o.rowspan,col:o.col-i,colspan:o.colspan},!0);break;case"right":this.plugin.mergedCellsCollection.add({row:o.row,rowspan:o.rowspan,col:o.col+i,colspan:o.colspan},!0)}e===r.length-1&&(a+=1)}}while(s(o,i));this.currentFillData=null,this.plugin.hot.render(),r.length>0&&this.plugin.ifChromeForceRepaint()}getRangeFromChanges(e){const t={min:null,max:null},r={min:null,max:null};return(0,o.arrayEach)(e,(e=>{const n=e[0],s=this.plugin.hot.propToCol(e[1]);(null===t.min||n<t.min)&&(t.min=n),(null===t.max||n>t.max)&&(t.max=n),(null===r.min||s<r.min)&&(r.min=s),(null===r.max||s>r.max)&&(r.max=s)})),{from:{row:t.min,column:r.min},to:{row:t.max,column:r.max}}}dragAreaOverlapsCollections(e,t,r){const n=this.getDragArea(e,t,r),[s,i,o,a]=n,l=this.plugin.hot._createCellCoords(s,i),h=this.plugin.hot._createCellCoords(o,a),u=this.plugin.hot._createCellRange(l,l,h);if(0===this.mergedCellsCollection.getWithinRange(u,!0).length)return!1;const c=this.mergedCellsCollection.getWithinRange(u,!1);return 0===c.length||("up"===r||"down"===r?!c.every((e=>{let{colspan:t}=e;return t===u.getWidth()})):!c.every((e=>{let{rowspan:t}=e;return t===u.getHeight()})))}}},90974:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707));t.default=class{constructor(e){(0,s.default)(this,"plugin",void 0),(0,s.default)(this,"hot",void 0),(0,s.default)(this,"fullySelectedMergedCellClassName","fullySelectedMergedCell"),this.plugin=e,this.hot=e.hot}getSelectedMergedCellClassName(e,t,r,n){const s=Math.min(r[0],r[2]),i=Math.min(r[1],r[3]),o=Math.max(r[0],r[2]),a=Math.max(r[1],r[3]);if(void 0===n)return;if(!this.plugin.mergedCellsCollection.isFirstRenderableMergedCell(e,t))return;const l=this.plugin.mergedCellsCollection.get(e,t);if(!l)return;const h=l.getLastRow(),u=l.getLastColumn();return s<=l.row&&i<=l.col&&o>=h&&a>=u?`${this.fullySelectedMergedCellClassName}-${n}`:this.isMergeCellFullySelected(l,this.plugin.hot.getSelectedRange())?`${this.fullySelectedMergedCellClassName}-multiple`:void 0}isMergeCellFullySelected(e,t){const r=[];if(!t||!e)return!1;for(let t=0;t<e.rowspan;t+=1)for(let n=0;n<e.colspan;n+=1)r.push(this.hot._createCellCoords(e.row+t,e.col+n));for(let e=0;e<r.length;e+=1){const n=[];for(let s=0;s<t.length;s+=1)n[s]=t[s].includes(r[e]);if(!n.includes(!0))return!1}return!0}getSelectedMergedCellClassNameToRemove(){const e=[];for(let t=0;t<=7;t+=1)e.push(`${this.fullySelectedMergedCellClassName}-${t}`);return e.push(`${this.fullySelectedMergedCellClassName}-multiple`),e}}},33423:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=r(21595);function o(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function a(e,t){return e.get(h(e,t))}function l(e,t,r){return e.set(h(e,t),r),r}function h(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var u=new WeakMap;t.default=class{constructor(e,t,r,n,i,a){(0,s.default)(this,"row",void 0),(0,s.default)(this,"col",void 0),(0,s.default)(this,"rowspan",void 0),(0,s.default)(this,"colspan",void 0),(0,s.default)(this,"removed",!1),(0,s.default)(this,"cellCoordsFactory",void 0),(0,s.default)(this,"cellRangeFactory",void 0),o(this,u,null),this.row=e,this.col=t,this.rowspan=r,this.colspan=n,this.cellCoordsFactory=i,this.cellRangeFactory=a}static NEGATIVE_VALUES_WARNING(e){let{row:t,col:r,rowspan:n,colspan:s}=e;return i.toSingleLine`The merged cell declared with {row: ${t}, col: ${r},\x20
      rowspan: ${n}, colspan: ${s}} contains negative values, which is\x20
      not supported. It will not be added to the collection.`}static IS_OUT_OF_BOUNDS_WARNING(e){let{row:t,col:r}=e;return i.toSingleLine`The merged cell declared at [${t}, ${r}] is positioned\x20
      (or positioned partially) outside of the table range. It was not added to the table, please fix your setup.`}static IS_SINGLE_CELL(e){let{row:t,col:r}=e;return i.toSingleLine`The merged cell declared at [${t}, ${r}] has both "rowspan"\x20
      and "colspan" declared as "1", which makes it a single cell. It cannot be added to the collection.`}static ZERO_SPAN_WARNING(e){let{row:t,col:r}=e;return i.toSingleLine`The merged cell declared at [${t}, ${r}] has "rowspan"\x20
      or "colspan" declared as "0", which is not supported. It cannot be added to the collection.`}static containsNegativeValues(e){let{row:t,col:r,rowspan:n,colspan:s}=e;return t<0||r<0||n<0||s<0}static isSingleCell(e){let{rowspan:t,colspan:r}=e;return 1===r&&1===t}static containsZeroSpan(e){let{rowspan:t,colspan:r}=e;return 0===r||0===t}static isOutOfBounds(e,t,r){return e.row<0||e.col<0||e.row>=t||e.row+e.rowspan-1>=t||e.col>=r||e.col+e.colspan-1>=r}normalize(e){const t=e.countRows(),r=e.countCols();this.row<0?this.row=0:this.row>t-1&&(this.row=t-1),this.col<0?this.col=0:this.col>r-1&&(this.col=r-1),this.row+this.rowspan>t-1&&(this.rowspan=t-this.row),this.col+this.colspan>r-1&&(this.colspan=r-this.col),l(u,this,null)}includes(e,t){return this.row<=e&&this.col<=t&&this.row+this.rowspan-1>=e&&this.col+this.colspan-1>=t}includesHorizontally(e){return this.col<=e&&this.col+this.colspan-1>=e}includesVertically(e){return this.row<=e&&this.row+this.rowspan-1>=e}shift(e,t){const r=e[0]||e[1],n=t+Math.abs(e[0]||e[1])-1,s=e[0]?"colspan":"rowspan",i=e[0]?"col":"row",o=Math.min(t,n),a=Math.max(t,n),h=this[i],c=this[i]+this[s]-1;if(h>=t&&(this[i]+=r),r>0)t<=c&&t>h&&(this[s]+=r);else if(r<0){if(o<=h&&a>=c)return this.removed=!0,l(u,this,null),!1;if(h>=o&&h<=a){const e=a-h+1,t=Math.abs(r)-e;this[i]-=t+r,this[s]-=e}else if(h<=o&&c>=a)this[s]+=r;else if(h<=o&&c>=o&&c<a){const e=c-o+1;this[s]-=e}}return l(u,this,null),!0}isFarther(e,t){return!e||("down"===t?e.row+e.rowspan-1<this.row+this.rowspan-1:"up"===t?e.row>this.row:"right"===t?e.col+e.colspan-1<this.col+this.colspan-1:"left"===t?e.col>this.col:null)}getLastRow(){return this.row+this.rowspan-1}getLastColumn(){return this.col+this.colspan-1}getRange(){return a(u,this)||l(u,this,this.cellRangeFactory(this.cellCoordsFactory(this.row,this.col),this.cellCoordsFactory(this.row,this.col),this.cellCoordsFactory(this.getLastRow(),this.getLastColumn()))),a(u,this)}}},60044:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(63979),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(27458),r(49748),r(69655);var s=n(r(85707)),i=n(r(33423)),o=r(22137),a=r(14859),l=r(10587),h=r(21595);function u(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function c(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var d=new WeakSet;class p{constructor(e){u(this,d),(0,s.default)(this,"plugin",void 0),(0,s.default)(this,"mergedCells",[]),(0,s.default)(this,"mergedCellsMatrix",new Map),(0,s.default)(this,"hot",void 0),this.plugin=e,this.hot=e.hot}static IS_OVERLAPPING_WARNING(e){let{row:t,col:r}=e;return h.toSingleLine`The merged cell declared at [${t}, ${r}], overlaps\x20
      with the other declared merged cell. The overlapping merged cell was not added to the table, please\x20
      fix your setup.`}get(e,t){var r;return!!this.mergedCellsMatrix.has(e)&&(null!==(r=this.mergedCellsMatrix.get(e).get(t))&&void 0!==r&&r)}getByRange(e){const{row:t,col:r}=e.getTopStartCorner(),{row:n,col:s}=e.getBottomEndCorner(),i=this.mergedCells.length;let o=!1;for(let e=0;e<i;e++){const i=this.mergedCells[e],{row:a,col:l,rowspan:h,colspan:u}=i;if(a>=t&&a+h-1<=n&&l>=r&&l+u-1<=s){o=i;break}}return o}filterOverlappingMergeCells(e){const t=new Set;this.mergedCells.forEach((e=>{const{row:r,col:n,colspan:s,rowspan:i}=e;for(let e=r;e<r+i;e++)for(let r=n;r<n+s;r++)t.add(`r${e},c${r}`)}));return e.filter((e=>{const{row:r,col:n,colspan:s,rowspan:i}=e,o=new Set;let l=!1;for(let h=r;h<r+i;h++){for(let r=n;r<n+s;r++){const n=`r${h},c${r}`;if(t.has(n)){(0,a.warn)(p.IS_OVERLAPPING_WARNING(e)),l=!0;break}o.add(n)}if(l)break}return l||t.add(...o),!l}))}getWithinRange(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const{row:r,col:n}=e.getTopStartCorner(),{row:s,col:i}=e.getBottomEndCorner(),o=[];for(let e=r;e<=s;e++)for(let r=n;r<=i;r++){const n=this.get(e,r);n&&(t||!t&&n.row===e&&n.col===r)&&o.push(n)}return o}add(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=e.row,n=e.col,s=e.rowspan,o=e.colspan,l=new i.default(r,n,s,o,this.hot._createCellCoords,this.hot._createCellRange),h=this.get(r,n),u=!t&&this.isOverlapping(l);return h||u?(u&&(0,a.warn)(p.IS_OVERLAPPING_WARNING(l)),!1):(this.hot&&l.normalize(this.hot),this.mergedCells.push(l),c(d,this,f).call(this,l),l)}remove(e,t){const r=this.get(e,t),n=r?this.mergedCells.indexOf(r):-1;return!(!r||-1===n)&&(this.mergedCells.splice(n,1),c(d,this,m).call(this,r),r)}clear(){(0,l.arrayEach)(this.mergedCells,(e=>{let{row:t,col:r,rowspan:n,colspan:s}=e;(0,o.rangeEach)(t,t+n,(e=>{(0,o.rangeEach)(r,r+s,(t=>{const r=this.hot.getCell(e,t);r&&(r.removeAttribute("rowspan"),r.removeAttribute("colspan"),r.style.display="")}))}))})),this.mergedCells.length=0,this.mergedCellsMatrix=new Map}isOverlapping(e){const t=e.getRange();for(let e=0;e<this.mergedCells.length;e++){if(this.mergedCells[e].getRange().overlaps(t))return!0}return!1}isFirstRenderableMergedCell(e,t){const r=this.get(e,t);if(!r)return!1;const{row:n,col:s,rowspan:i,colspan:a}=r,l=this.hot.view.getActiveOverlayName(),h=["top","top_inline_start_corner"].includes(l)?0:this.hot.getFirstRenderedVisibleRow(),u=["inline_start","top_inline_start_corner","bottom_inline_start_corner"].includes(l)?0:this.hot.getFirstRenderedVisibleColumn(),c=(0,o.clamp)(h,n,n+i-1),d=(0,o.clamp)(u,s,s+a-1);return this.hot.rowIndexMapper.getNearestNotHiddenIndex(c,1)===e&&this.hot.columnIndexMapper.getNearestNotHiddenIndex(d,1)===t}getFirstRenderableCoords(e,t){const r=this.get(e,t);if(!r||this.isFirstRenderableMergedCell(e,t))return this.hot._createCellCoords(e,t);const n=this.hot.rowIndexMapper.getNearestNotHiddenIndex(r.row,1),s=this.hot.columnIndexMapper.getNearestNotHiddenIndex(r.col,1);return this.hot._createCellCoords(n,s)}getStartMostColumnIndex(e,t){const r=c(d,this,g).call(this,e,"col",-1);let n=t;for(let e=0;e<r.length;e++)if(r[e]<=t){n=r[e];break}return n}getEndMostColumnIndex(e,t){const r=c(d,this,g).call(this,e,"col",1);let n=t;for(let e=0;e<r.length;e++)if(r[e]>=t){n=r[e];break}return n}getTopMostRowIndex(e,t){const r=c(d,this,g).call(this,e,"row",-1);let n=t;for(let e=0;e<r.length;e++)if(r[e]<=t){n=r[e];break}return n}getBottomMostRowIndex(e,t){const r=c(d,this,g).call(this,e,"row",1);let n=t;for(let e=0;e<r.length;e++)if(r[e]>=t){n=r[e];break}return n}shiftCollections(e,t,r){const n=[0,0];switch(e){case"right":n[0]+=r;break;case"left":n[0]-=r;break;case"down":n[1]+=r;break;case"up":n[1]-=r}const s=[];this.mergedCells.forEach((e=>{e.shift(n,t),e.removed&&s.push(e)})),s.forEach((e=>{this.mergedCells.splice(this.mergedCells.indexOf(e),1)})),this.mergedCellsMatrix.clear(),this.mergedCells.forEach((e=>{c(d,this,f).call(this,e)}))}}function g(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const n=new Map,s=1===r?e.getTopStartCorner():e.getBottomEndCorner(),i=1===r?e.getBottomEndCorner():e.getTopStartCorner();for(let e=s.row;1===r?e<=i.row:e>=i.row;e+=r)for(let o=s.col;1===r?o<=i.col:o>=i.col;o+=r){const s="row"===t?e:o,i=this.get(e,o);let a=s;i&&(a=1===r?i[t]+i[`${t}span`]-1:i[t]),n.has(s)||n.set(s,new Set),n.get(s).add(a)}return Array.from(new Set(Array.from(n.entries()).filter((e=>{let[,t]=e;return 1===t.size})).flatMap((e=>{let[,t]=e;return Array.from(t)}))))}function f(e){for(let t=e.row;t<e.row+e.rowspan;t++)for(let r=e.col;r<e.col+e.colspan;r++)this.mergedCellsMatrix.has(t)||this.mergedCellsMatrix.set(t,new Map),this.mergedCellsMatrix.get(t).set(r,e)}function m(e){for(let t=e.row;t<e.row+e.rowspan;t++)for(let r=e.col;r<e.col+e.colspan;r++)this.mergedCellsMatrix.get(t).delete(r)}t.default=p},57297:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.default=function(e){return{key:"mergeCells",name(){const t=this.getSelectedLast();if(t){const r=e.mergedCellsCollection.get(t[0],t[1]);if(r.row===t[0]&&r.col===t[1]&&r.row+r.rowspan-1===t[2]&&r.col+r.colspan-1===t[3])return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_UNMERGE_CELLS)}return this.getTranslatedPhrase(s.CONTEXTMENU_ITEMS_MERGE_CELLS)},callback(){const t=this.getSelectedRangeLast();if(!t)return;t.setDirection(this.isRtl()?"NE-SW":"NW-SE");const{from:r,to:n}=t;e.toggleMerge(t),this.selectCell(r.row,r.col,n.row,n.col,!1)},disabled(){const e=this.getSelectedLast();if(!e)return!0;return i.default.isSingleCell({row:e[0],col:e[1],rowspan:e[2]-e[0]+1,colspan:e[3]-e[1]+1})||this.selection.isSelectedByCorner()},hidden:!1}};var s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=s?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),i=n(r(33423));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}},3557:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724);var s=n(r(30480));function i(e,t,r){o(e,t),t.set(e,r)}function o(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function a(e,t){return e.get(h(e,t))}function l(e,t,r){return e.set(h(e,t),r),r}function h(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var u=new WeakMap,c=new WeakMap,d=new WeakMap,p=new WeakMap,g=new WeakMap,f=new WeakMap,m=new WeakMap,y=new WeakSet;function E(e,t,r,n,s){const i=e.getTopStartCorner(),o=e.getBottomEndCorner(),l=e.highlight.clone().normalize(),h=a(g,this).call(this,n,s);if(h&&r.has(h))return null;const u={colStart:s,colEnd:s,rowStart:n,rowEnd:n};if(h){if(r.add(h),h.row<i.row||h.row+h.rowspan-1>o.row||h.col<i.col||h.col+h.colspan-1>o.col)return null;u.colStart=h.col,u.colEnd=h.col+h.colspan-1,u.rowStart=h.row,u.rowEnd=h.row+h.rowspan-1}const c=t.push(u);return n===l.row&&s===l.col||h&&l.row>=h.row&&l.row<=h.row+h.rowspan-1&&l.col>=h.col&&l.col<=h.col+h.colspan-1?c:null}t.FocusOrder=class{constructor(e){let{mergedCellsGetter:t,rowIndexMapper:r,columnIndexMapper:n}=e;var a,h;o(a=this,h=y),h.add(a),i(this,u,new s.default),i(this,c,new s.default),i(this,d,null),i(this,p,null),i(this,g,null),i(this,f,null),i(this,m,null),l(g,this,t),l(f,this,r),l(m,this,n)}getCurrentVerticalNode(){return a(p,this).data}getFirstVerticalNode(){return a(c,this).first.data}getNextVerticalNode(){return a(p,this).next.data}getPrevVerticalNode(){return a(p,this).prev.data}getCurrentHorizontalNode(){return a(d,this).data}getFirstHorizontalNode(){return a(u,this).first.data}getNextHorizontalNode(){return a(d,this).next.data}getPrevHorizontalNode(){return a(d,this).prev.data}setPrevNodeAsActive(){l(p,this,a(p,this).prev),l(d,this,a(d,this).prev)}setNextNodeAsActive(){l(p,this,a(p,this).next),l(d,this,a(d,this).next)}buildFocusOrder(e){const t=e.getTopStartCorner(),r=e.getBottomEndCorner(),n=new WeakSet;l(u,this,new s.default);for(let s=t.row;s<=r.row;s++)if(!a(f,this).isHidden(s))for(let i=t.col;i<=r.col;i++){if(a(m,this).isHidden(i))continue;const t=h(y,this,E).call(this,e,a(u,this),n,s,i);t&&l(d,this,t)}a(u,this).first&&(a(u,this).first.prev=a(u,this).last,a(u,this).last.next=a(u,this).first);const i=new WeakSet;l(c,this,new s.default);for(let n=t.col;n<=r.col;n++)if(!a(m,this).isHidden(n))for(let s=t.row;s<=r.row;s++){if(a(f,this).isHidden(s))continue;const t=h(y,this,E).call(this,e,a(c,this),i,s,n);t&&l(p,this,t)}a(c,this).first&&(a(c,this).first.prev=a(c,this).last,a(c,this).last.next=a(c,this).first)}setActiveNode(e,t){return a(u,this).inorder((r=>{const{rowStart:n,rowEnd:s,colStart:i,colEnd:o}=r.data;if(e>=n&&e<=s&&t>=i&&t<=o)return l(d,this,r),!1})),a(c,this).inorder((r=>{const{rowStart:n,rowEnd:s,colStart:i,colEnd:o}=r.data;if(e>=n&&e<=s&&t>=i&&t<=o)return l(p,this,r),!1})),this}}},75501:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(16524);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.MergeCells=n.MergeCells},16524:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(27458),r(69655),r(94364),r(90458);var s=n(r(85707)),i=r(75089),o=r(28197),a=n(r(60044)),l=n(r(33423)),h=n(r(75424)),u=n(r(90974)),c=n(r(57297)),d=r(10587),p=r(25499),g=r(14859),f=r(22137),m=r(62577),y=r(25046),E=r(3557),w=r(23734);function C(e,t,r){v(e,t),t.set(e,r)}function v(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function R(e,t,r){return e.set(T(e,t),r),r}function S(e,t){return e.get(T(e,t))}function T(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}o.Hooks.getSingleton().register("beforeMergeCells"),o.Hooks.getSingleton().register("afterMergeCells"),o.Hooks.getSingleton().register("beforeUnmergeCells"),o.Hooks.getSingleton().register("afterUnmergeCells");const N=t.PLUGIN_KEY="mergeCells",M=t.PLUGIN_PRIORITY=150,_=N;var b=new WeakMap,O=new WeakMap,A=new WeakMap,I=new WeakMap,x=new WeakSet;class P extends i.BasePlugin{constructor(){var e,t;super(...arguments),v(e=this,t=x),t.add(e),(0,s.default)(this,"mergedCellsCollection",null),(0,s.default)(this,"autofillCalculations",null),(0,s.default)(this,"selectionCalculations",null),C(this,b,null),C(this,O,{row:0,col:0}),C(this,A,new E.FocusOrder({mergedCellsGetter:(e,t)=>this.mergedCellsCollection.get(e,t),rowIndexMapper:this.hot.rowIndexMapper,columnIndexMapper:this.hot.columnIndexMapper})),C(this,I,(0,w.createMergeCellRenderer)(this))}static get PLUGIN_KEY(){return N}static get PLUGIN_PRIORITY(){return M}static get DEFAULT_SETTINGS(){return{[i.defaultMainSettingSymbol]:"cells",virtualized:!1,cells:[]}}isEnabled(){return!!this.hot.getSettings()[N]}enablePlugin(){var e=this;this.enabled||(this.mergedCellsCollection=new a.default(this),this.autofillCalculations=new h.default(this),this.selectionCalculations=new u.default(this),this.addHook("afterInit",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,L).call(e,...r)})),this.addHook("modifyTransformFocus",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,k).call(e,...r)})),this.addHook("modifyTransformStart",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,H).call(e,...r)})),this.addHook("modifyTransformEnd",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,F).call(e,...r)})),this.addHook("beforeSelectionHighlightSet",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,U).call(e,...r)})),this.addHook("beforeSetRangeStart",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,W).call(e,...r)})),this.addHook("beforeSetRangeStartOnly",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,W).call(e,...r)})),this.addHook("beforeSelectionFocusSet",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,Y).call(e,...r)})),this.addHook("afterSelectionFocusSet",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,G).call(e,...r)})),this.addHook("afterSelectionEnd",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,j).call(e,...r)})),this.addHook("modifyGetCellCoords",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,V).call(e,...r)})),this.addHook("modifyGetCoordsElement",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,V).call(e,...r)})),this.addHook("afterIsMultipleSelection",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,D).call(e,...r)})),this.addHook("afterRenderer",(function(){return S(I,e).after(...arguments)})),this.addHook("afterContextMenuDefaultOptions",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,B).call(e,...r)})),this.addHook("afterGetCellMeta",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,z).call(e,...r)})),this.addHook("afterViewportRowCalculatorOverride",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,$).call(e,...r)})),this.addHook("afterViewportColumnCalculatorOverride",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,K).call(e,...r)})),this.addHook("modifyAutofillRange",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,X).call(e,...r)})),this.addHook("afterCreateCol",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,q).call(e,...r)})),this.addHook("afterRemoveCol",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,Q).call(e,...r)})),this.addHook("afterCreateRow",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,Z).call(e,...r)})),this.addHook("afterRemoveRow",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,J).call(e,...r)})),this.addHook("afterChange",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,ee).call(e,...r)})),this.addHook("beforeDrawBorders",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,te).call(e,...r)})),this.addHook("afterDrawSelection",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,re).call(e,...r)})),this.addHook("beforeRemoveCellClassNames",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,ne).call(e,...r)})),this.addHook("beforeBeginEditing",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,se).call(e,...r)})),this.addHook("modifyRowHeightByOverlayName",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return T(x,e,ie).call(e,...r)})),this.addHook("beforeUndoStackChange",((e,t)=>{if("MergeCells"===t)return!1})),this.registerShortcuts(),super.enablePlugin())}disablePlugin(){this.clearCollections(),this.unregisterShortcuts(),this.hot.render(),super.disablePlugin()}updatePlugin(){this.disablePlugin(),this.enablePlugin(),this.generateFromSettings(),super.updatePlugin()}ifChromeForceRepaint(){if(!(0,y.isChrome)())return;const e=[];let t=[];this.mergedCellsCollection.mergedCells.forEach((e=>{const{row:r,rowspan:n}=e;for(let e=r+1;e<r+n;e++)t.push(e)})),t=[...new Set(t)],t.forEach((t=>{const r=this.hot.rowIndexMapper.getRenderableFromVisualIndex(t);this.hot.view._wt.wtOverlays.getOverlays(!0).map((e=>"master"===(null==e?void 0:e.name)?e:e.clone.wtTable)).forEach((t=>{const n=t.getRow(r);n&&(n.style.background=(0,m.getStyle)(n,"backgroundColor").replace(")",", 0.99)"),e.push(n))}))})),this.hot._registerTimeout((()=>{e.forEach((e=>{e.style.background=(0,m.getStyle)(e,"backgroundColor").replace(", 0.99)",")")}))}),1)}validateSetting(e){return!!e&&(l.default.containsNegativeValues(e)?((0,g.warn)(l.default.NEGATIVE_VALUES_WARNING(e)),!1):l.default.isOutOfBounds(e,this.hot.countRows(),this.hot.countCols())?((0,g.warn)(l.default.IS_OUT_OF_BOUNDS_WARNING(e)),!1):l.default.isSingleCell(e)?((0,g.warn)(l.default.IS_SINGLE_CELL(e)),!1):!l.default.containsZeroSpan(e)||((0,g.warn)(l.default.ZERO_SPAN_WARNING(e)),!1))}generateFromSettings(){const e=this.getSetting("cells").filter((e=>this.validateSetting(e))),t=this.mergedCellsCollection.filterOverlappingMergeCells(e),r=[];t.forEach((e=>{const{row:t,col:n,rowspan:s,colspan:i}=e,o=this.hot._createCellCoords(t,n),a=this.hot._createCellCoords(t+s-1,n+i-1),l=this.hot._createCellRange(o,o,a);this.mergeRange(l,!0,!0);for(let e=t;e<t+s;e++)for(let s=n;s<n+i;s++)e===t&&s===n||r.push([e,s,null])})),0!==r.length&&this.hot.setDataAtCell(r,void 0,void 0,this.pluginName)}clearCollections(){this.mergedCellsCollection.clear()}canMergeRange(e){return!!(arguments.length>1&&void 0!==arguments[1]&&arguments[1])||this.validateSetting(e)}mergeSelection(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hot.getSelectedRangeLast();if(!e)return;e.setDirection(this.hot.isRtl()?"NE-SW":"NW-SE");const{from:t,to:r}=e;this.unmergeRange(e,!0),this.mergeRange(e),this.hot.selectCell(t.row,t.col,r.row,r.col,!1)}unmergeSelection(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hot.getSelectedRangeLast();if(!e)return;const{from:t,to:r}=e;this.unmergeRange(e,!0),this.hot.selectCell(t.row,t.col,r.row,r.col,!1)}mergeRange(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=e.getTopStartCorner(),s=e.getBottomEndCorner(),i={row:n.row,col:n.col,rowspan:s.row-n.row+1,colspan:s.col-n.col+1},o=[];let a=null;if(!this.canMergeRange(i,t))return!1;this.hot.runHooks("beforeMergeCells",e,t),(0,f.rangeEach)(0,i.rowspan-1,(e=>{(0,f.rangeEach)(0,i.colspan-1,(t=>{let r=null;o[e]||(o[e]=[]),0===e&&0===t?r=this.hot.getSourceDataAtCell(this.hot.toPhysicalRow(i.row),this.hot.toPhysicalColumn(i.col)):this.hot.setCellMeta(i.row+e,i.col+t,"hidden",!0),o[e][t]=r}))})),this.hot.setCellMeta(i.row,i.col,"spanned",!0);return!this.mergedCellsCollection.add(i,t)||(r?a=[i.row,i.col,o]:this.hot.populateFromArray(i.row,i.col,o,void 0,void 0,this.pluginName),t||this.ifChromeForceRepaint(),this.hot.runHooks("afterMergeCells",e,i,t),a)}unmergeRange(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=this.mergedCellsCollection.getWithinRange(e);0!==r.length&&(this.hot.runHooks("beforeUnmergeCells",e,t),(0,d.arrayEach)(r,(e=>{this.mergedCellsCollection.remove(e.row,e.col),(0,f.rangeEach)(0,e.rowspan-1,(t=>{(0,f.rangeEach)(0,e.colspan-1,(r=>{this.hot.removeCellMeta(e.row+t,e.col+r,"hidden"),this.hot.removeCellMeta(e.row+t,e.col+r,"copyable")}))})),this.hot.removeCellMeta(e.row,e.col,"spanned")})),this.hot.runHooks("afterUnmergeCells",e,t),this.hot.render())}toggleMerge(e){const t=this.mergedCellsCollection.get(e.from.row,e.from.col);t.row===e.from.row&&t.col===e.from.col&&t.row+t.rowspan-1===e.to.row&&t.col+t.colspan-1===e.to.col?this.unmergeRange(e):this.mergeSelection(e)}merge(e,t,r,n){const s=this.hot._createCellCoords(e,t),i=this.hot._createCellCoords(r,n);this.mergeRange(this.hot._createCellRange(s,s,i))}unmerge(e,t,r,n){const s=this.hot._createCellCoords(e,t),i=this.hot._createCellCoords(r,n);this.unmergeRange(this.hot._createCellRange(s,s,i))}registerShortcuts(){this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Control","m"]],callback:()=>{const e=this.hot.getSelectedRangeLast();e&&!e.isSingleHeader()&&(this.toggleMerge(e),this.hot.render())},runOnlyIf:e=>!e.altKey,group:_})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(_)}modifyViewportRowStart(e,t){const r=this.hot.rowIndexMapper,n=r.getVisualFromRenderableIndex(e.startRow);for(let s=0;s<t;s+=1){const i=this.mergedCellsCollection.get(n,s);if((0,p.isObject)(i)){const n=r.getRenderableFromVisualIndex(r.getNearestNotHiddenIndex(i.row,1));if(n<e.startRow)return e.startRow=n,void this.modifyViewportRowStart(e,t)}}}modifyViewportRowEnd(e,t){const r=this.hot.rowIndexMapper,n=r.getVisualFromRenderableIndex(e.endRow);for(let s=0;s<t;s+=1){const i=this.mergedCellsCollection.get(n,s);if((0,p.isObject)(i)){const n=i.row+i.rowspan-1,s=r.getRenderableFromVisualIndex(r.getNearestNotHiddenIndex(n,-1));if(s>e.endRow)return e.endRow=s,void this.modifyViewportRowEnd(e,t)}}}modifyViewportColumnStart(e,t){const r=this.hot.columnIndexMapper,n=r.getVisualFromRenderableIndex(e.startColumn);for(let s=0;s<t;s+=1){const i=this.mergedCellsCollection.get(s,n);if((0,p.isObject)(i)){const n=r.getRenderableFromVisualIndex(r.getNearestNotHiddenIndex(i.col,1));if(n<e.startColumn)return e.startColumn=n,void this.modifyViewportColumnStart(e,t)}}}modifyViewportColumnEnd(e,t){const r=this.hot.columnIndexMapper,n=r.getVisualFromRenderableIndex(e.endColumn);for(let s=0;s<t;s+=1){const i=this.mergedCellsCollection.get(s,n);if((0,p.isObject)(i)){const n=i.col+i.colspan-1,s=r.getRenderableFromVisualIndex(r.getNearestNotHiddenIndex(n,-1));if(s>e.endColumn)return e.endColumn=s,void this.modifyViewportColumnEnd(e,t)}}}translateMergedCellToRenderable(e,t,r,n){const{rowIndexMapper:s,columnIndexMapper:i}=this.hot;let o,a;o=0===t?s.getNearestNotHiddenIndex(e,1):s.getNearestNotHiddenIndex(e+t-1,-1),a=0===n?i.getNearestNotHiddenIndex(r,1):i.getNearestNotHiddenIndex(r+n-1,-1);return[e>=0?s.getRenderableFromVisualIndex(o):e,r>=0?i.getRenderableFromVisualIndex(a):r]}}function L(){this.generateFromSettings(),this.hot.render()}function D(e){if(e){const e=this.mergedCellsCollection.mergedCells,t=this.hot.getSelectedRangeLast(),r=t.getTopStartCorner(),n=t.getBottomEndCorner();for(let t=0;t<e.length;t+=1)if(r.row===e[t].row&&r.col===e[t].col&&n.row===e[t].row+e[t].rowspan-1&&n.col===e[t].col+e[t].colspan-1)return!1}return e}function k(e){S(O,this).row=e.row,S(O,this).col=e.col}function H(e){const t=this.hot.getSelectedRangeLast(),{highlight:r}=t,{columnIndexMapper:n,rowIndexMapper:s}=this.hot;S(b,this)&&(null!==s.getRenderableFromVisualIndex(S(b,this).row)&&(r.row=S(b,this).row),null!==n.getRenderableFromVisualIndex(S(b,this).col)&&(r.col=S(b,this).col),R(b,this,null));const i=this.mergedCellsCollection.get(r.row,r.col);if(!i)return;const o=i.col,a=i.col+i.colspan-1;if(e.col<0){const t=r.col>=o&&r.col<=a?o-1:a,s=n.getNearestNotHiddenIndex(t,-1);e.col=null===s?-this.hot.view.countRenderableColumnsInRange(0,r.col):-Math.max(this.hot.view.countRenderableColumnsInRange(s,r.col)-1,1)}else if(e.col>0){const t=r.col>=o&&r.col<=a?a+1:o,s=n.getNearestNotHiddenIndex(t,1);e.col=null===s?this.hot.view.countRenderableColumnsInRange(r.col,this.hot.countCols()):Math.max(this.hot.view.countRenderableColumnsInRange(r.col,s)-1,1)}const l=i.row,h=i.row+i.rowspan-1;if(e.row<0){const t=r.row>=l&&r.row<=h?l-1:h,n=s.getNearestNotHiddenIndex(t,-1);e.row=null===n?-this.hot.view.countRenderableRowsInRange(0,r.row):-Math.max(this.hot.view.countRenderableRowsInRange(n,r.row)-1,1)}else if(e.row>0){const t=r.row>=l&&r.row<=h?h+1:l,n=s.getNearestNotHiddenIndex(t,1);e.row=null===n?this.hot.view.countRenderableRowsInRange(r.row,this.hot.countRows()):Math.max(this.hot.view.countRenderableRowsInRange(r.row,n)-1,1)}}function F(e){const t=this.hot.getSelectedRangeLast(),r=t.clone(),{to:n}=t,{columnIndexMapper:s,rowIndexMapper:i}=this.hot,o=(e,t)=>{r.expand(this.hot._createCellCoords(e,t));for(let e=0;e<this.mergedCellsCollection.mergedCells.length;e+=1)r.expandByRange(this.mergedCellsCollection.mergedCells[e].getRange())};if(e.col<0){let i=this.mergedCellsCollection.getStartMostColumnIndex(t,n.col)+e.col;o(n.row,i),"E-W"===t.getHorizontalDirection()&&"E-W"===r.getHorizontalDirection()&&(i=r.getTopStartCorner().col);const a=s.getNearestNotHiddenIndex(i,1);null!==a&&(e.col=-Math.max(this.hot.view.countRenderableColumnsInRange(a,n.col)-1,1))}else if(e.col>0){let i=this.mergedCellsCollection.getEndMostColumnIndex(t,n.col)+e.col;o(n.row,i),"W-E"===t.getHorizontalDirection()&&"W-E"===r.getHorizontalDirection()&&(i=r.getBottomEndCorner().col);const a=s.getNearestNotHiddenIndex(i,-1);null!==a&&(e.col=Math.max(this.hot.view.countRenderableColumnsInRange(n.col,a)-1,1))}if(e.row<0){let s=this.mergedCellsCollection.getTopMostRowIndex(t,n.row)+e.row;o(s,n.col),"S-N"===t.getVerticalDirection()&&"S-N"===r.getVerticalDirection()&&(s=r.getTopStartCorner().row);const a=i.getNearestNotHiddenIndex(s,1);null!==a&&(e.row=-Math.max(this.hot.view.countRenderableRowsInRange(a,n.row)-1,1))}else if(e.row>0){let s=this.mergedCellsCollection.getBottomMostRowIndex(t,n.row)+e.row;o(s,n.col),"N-S"===t.getVerticalDirection()&&"N-S"===r.getVerticalDirection()&&(s=r.getBottomStartCorner().row);const a=i.getNearestNotHiddenIndex(s,-1);null!==a&&(e.row=Math.max(this.hot.view.countRenderableRowsInRange(n.row,a)-1,1))}}function U(){const e=this.hot.getSelectedRangeLast(),{highlight:t}=e;if(this.hot.selection.isSelectedByColumnHeader()||this.hot.selection.isSelectedByRowHeader())return void R(b,this,t.clone());for(let t=0;t<this.mergedCellsCollection.mergedCells.length;t+=1)e.expandByRange(this.mergedCellsCollection.mergedCells[t].getRange(),!1);for(let t=0;t<this.mergedCellsCollection.mergedCells.length;t+=1)e.expandByRange(this.mergedCellsCollection.mergedCells[t].getRange(),!1);const r=this.mergedCellsCollection.get(t.row,t.col);R(b,this,t.clone()),r&&t.assign(r)}function V(e,t,r,n){if(e<0||t<0)return;const s=this.mergedCellsCollection.get(e,t);if(!s)return;const{row:i,col:o,colspan:a,rowspan:l}=s,h=i,u=o,c=i+l-1,d=o+a-1;if("render"===n&&this.getSetting("virtualized")){const e=this.hot.view.getActiveOverlayName(),t=["top","top_inline_start_corner"].includes(e)?0:this.hot.getFirstRenderedVisibleRow(),r=["inline_start","top_inline_start_corner","bottom_inline_start_corner"].includes(e)?0:this.hot.getFirstRenderedVisibleColumn();return[(0,f.clamp)(t,h,c),(0,f.clamp)(r,u,d),(0,f.clamp)(this.hot.getLastRenderedVisibleRow(),h,c),(0,f.clamp)(this.hot.getLastRenderedVisibleColumn(),u,d)]}return[h,u,c,d]}function B(e){e.items.push({name:"---------"},(0,c.default)(this))}function W(){R(b,this,null)}function Y(){if(S(b,this).isCell())return;const e=this.hot.getSelectedRangeLast(),t=e.getVerticalDirection(),r=e.getHorizontalDirection(),n=S(b,this).clone().normalize();S(A,this).setActiveNode(n.row,n.col),S(O,this).row>0||S(O,this).col>0?S(A,this).setPrevNodeAsActive():("E-W"===r&&S(O,this).col<0||"S-N"===t&&S(O,this).row<0)&&S(A,this).setNextNodeAsActive()}function G(e,t){const r=this.hot.getSelectedRangeLast(),{columnIndexMapper:n,rowIndexMapper:s}=this.hot;let i=null,o=null;if(S(O,this).col<0){const{rowEnd:e,colEnd:t}=S(A,this).getPrevHorizontalNode();o=n.getNearestNotHiddenIndex(t,-1),i=s.getNearestNotHiddenIndex(e,-1)}else if(S(O,this).col>0){const{rowStart:e,colStart:t}=S(A,this).getNextHorizontalNode();o=n.getNearestNotHiddenIndex(t,1),i=s.getNearestNotHiddenIndex(e,1)}else if(S(O,this).row<0){const{rowEnd:e,colEnd:t}=S(A,this).getPrevVerticalNode();o=n.getNearestNotHiddenIndex(t,-1),i=s.getNearestNotHiddenIndex(e,-1)}else if(S(O,this).row>0){const{rowStart:e,colStart:t}=S(A,this).getNextVerticalNode();o=n.getNearestNotHiddenIndex(t,1),i=s.getNearestNotHiddenIndex(e,1)}if(null!==i||null!==o){const n=this.hot._createCellCoords(i,o),s=this.mergedCellsCollection.get(n.row,n.col),a=this.hot.selection.highlight.getFocus();e=n.row,t=n.col,s?r.highlight.assign({row:this.hot.rowIndexMapper.getNearestNotHiddenIndex(s.row,1),col:this.hot.columnIndexMapper.getNearestNotHiddenIndex(s.col,1)}):r.highlight.assign(n),a.clear(),a.add(n).commit()}S(A,this).setActiveNode(e,t),R(O,this,{row:0,col:0})}function j(){this.hot.getSelectedRangeLast().isHeader()||S(A,this).buildFocusOrder(this.hot.getSelectedRangeLast())}function z(e,t,r){const n=this.mergedCellsCollection.get(e,t);n&&(n.row!==e||n.col!==t?r.copyable=!1:(r.rowspan=n.rowspan,r.colspan=n.colspan))}function $(e){if(this.getSetting("virtualized"))return;const t=this.hot.countCols();this.modifyViewportRowStart(e,t),this.modifyViewportRowEnd(e,t)}function K(e){if(this.getSetting("virtualized"))return;const t=this.hot.countRows();this.modifyViewportColumnStart(e,t),this.modifyViewportColumnEnd(e,t)}function X(e,t){const r=this.autofillCalculations.getDirection(t,e);if(this.autofillCalculations.dragAreaOverlapsCollections(t,e,r))return t;const n=this.hot._createCellCoords(t[0],t[1]),s=this.hot._createCellCoords(t[2],t[3]),i=this.hot._createCellRange(n,n,s),o=this.mergedCellsCollection.getWithinRange(i);return 0===o.length?e:this.autofillCalculations.snapDragArea(t,e,r,o)}function q(e,t){this.mergedCellsCollection.shiftCollections("right",e,t)}function Q(e,t){this.mergedCellsCollection.shiftCollections("left",e,t)}function Z(e,t,r){"auto"!==r&&this.mergedCellsCollection.shiftCollections("down",e,t)}function J(e,t){this.mergedCellsCollection.shiftCollections("up",e,t)}function ee(e,t){"Autofill.fill"===t&&this.autofillCalculations.recreateAfterDataPopulation(e)}function te(e,t){if(t&&"area"===t){const t=this.hot.getSelectedRangeLast(),r=this.mergedCellsCollection.getWithinRange(t);(0,d.arrayEach)(r,(r=>{t.getBottomEndCorner().row===r.getLastRow()&&t.getBottomEndCorner().col===r.getLastColumn()&&(e[2]=r.row,e[3]=r.col)}))}}function re(e,t,r,n){if(r)return this.selectionCalculations.getSelectedMergedCellClassName(e,t,r,n)}function ne(){return this.selectionCalculations.getSelectedMergedCellClassNameToRemove()}function se(e,t,r,n){if(!(n instanceof MouseEvent))return;const s=this.hot.getSelectedRangeLast(),i=this.mergedCellsCollection.getByRange(s);if(!i)return;const o=this.hot._createCellCoords(i.row,i.col),a=this.hot._createCellCoords(i.row+i.rowspan-1,i.col+i.colspan-1);return 0===this.hot.selection.getLayerLevel()&&s.isEqual(this.hot._createCellRange(o,o,a))}function ie(e,t,r){if(this.hot.getSettings().rowHeaders||"bottom"===r||"bottom_inline_start_corner"===r)return e;let n,s;if("master"===r)n=this.hot.getFirstRenderedVisibleColumn(),s=this.hot.getLastRenderedVisibleColumn();else{const e=this.hot.view.getOverlayByName(r);n=this.hot.columnIndexMapper.getVisualFromRenderableIndex(e.clone.wtTable.getFirstRenderedColumn()),s=this.hot.columnIndexMapper.getVisualFromRenderableIndex(e.clone.wtTable.getLastRenderedColumn())}if(!this.mergedCellsCollection.get(t,n))return e;const i=this.hot._createCellCoords(t,n),o=this.hot._createCellCoords(t,s),a=this.hot._createCellRange(i,i,o),l=this.mergedCellsCollection.getWithinRange(a,!0),h=l.reduce(((e,t)=>{let{rowspan:r}=t;return Math.max(e,r)}),1);let u=0;return l.length>1&&l[0].rowspan<h&&(u=h-l[0].rowspan),l.forEach((n=>{let{rowspan:s}=n,i=0;i="top"===r||"top_inline_start_corner"===r?Math.min(h,this.hot.view.countNotHiddenFixedRowsTop()-t):s-u,e=Math.max(null!=e?e:0,T(x,this,oe).call(this,t,i))})),e}function oe(e,t){const r=this.hot.view.getStylesHandler(),n=this.hot.view.getDefaultRowHeight(),s=this.hot.getPlugin("autoRowSize");let i=0;for(let a=e;a<e+t;a++){var o;if(!this.hot.rowIndexMapper.isHidden(a))i+=null!==(o=null==s?void 0:s.getRowHeight(a))&&void 0!==o?o:n,0!==a||r.isClassicTheme()||(i+=1)}return i}t.MergeCells=P},23734:(e,t,r)=>{"use strict";t.__esModule=!0,t.createMergeCellRenderer=function(e){const{hot:t}=e,{rowIndexMapper:r,columnIndexMapper:s}=t;return{before:function(){},after:function(i,o,a){const l=e.mergedCellsCollection.get(o,a);if(!(0,n.isObject)(l))return i.removeAttribute("rowspan"),i.removeAttribute("colspan"),void(i.style.display="");const{row:h,col:u,colspan:c,rowspan:d}=l,[p,g]=e.translateMergedCellToRenderable(h,d,u,c),f=e.getSetting("virtualized"),m=p-r.getRenderableFromVisualIndex(o)+1,y=g-s.getRenderableFromVisualIndex(a)+1;let E=r.getNearestNotHiddenIndex(h,1),w=s.getNearestNotHiddenIndex(u,1);if(f){const e=t.view.getActiveOverlayName();["top","top_inline_start_corner"].includes(e)||(E=Math.max(E,t.getFirstRenderedVisibleRow())),["inline_start","top_inline_start_corner","bottom_inline_start_corner"].includes(e)||(w=Math.max(w,t.getFirstRenderedVisibleColumn()))}const C=Math.min(d,m),v=Math.min(c,y);E===o&&w===a?(i.setAttribute("rowspan",C),i.setAttribute("colspan",v)):(i.removeAttribute("rowspan"),i.removeAttribute("colspan"),i.style.display="none")}}};var n=r(25499)},5388:(e,t,r)=>{"use strict";t.__esModule=!0,t.getClassesToAdd=function(e,t,r){const s=[];if(!1===r)return s;e.isColumnSorted(t)&&e.getNumberOfSortedColumns()>1&&s.push(`${n}-${e.getIndexOfColumnInSortQueue(t)+1}`);return s},t.getClassesToRemove=function(e){const t=e.className.split(" "),r=new RegExp(`^${n}-[0-9]{1,2}$`);return t.filter((e=>r.test(e)))},r(15724),r(14846),r(27458);const n="sort"},76941:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(73500);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.MultiColumnSorting=n.MultiColumnSorting},73500:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(51206),o=r(80118),a=r(41191),l=r(62577),h=r(93645),u=r(97624),c=r(5388),d=r(92399);const p=t.PLUGIN_KEY="multiColumnSorting",g=t.PLUGIN_PRIORITY=170,f="columnSorting",m=p;(0,o.registerRootComparator)(p,h.rootComparator);class y extends i.ColumnSorting{constructor(){super(...arguments),(0,s.default)(this,"pluginKey",p)}static get PLUGIN_KEY(){return p}static get PLUGIN_PRIORITY(){return g}isEnabled(){return super.isEnabled()}enablePlugin(){!this.enabled&&this.hot.getSettings()[this.pluginKey]&&this.hot.getSettings()[f]&&((0,u.warnAboutPluginsConflict)(),this.hot.getPlugin(f).disablePlugin()),super.enablePlugin()}disablePlugin(){super.disablePlugin()}registerShortcuts(){super.registerShortcuts(),this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Shift","Enter"]],callback:()=>{const{highlight:e}=this.hot.getSelectedRangeLast();return-1===e.row&&e.col>=0&&this.sort(this.getNextSortConfig(e.col,i.APPEND_COLUMN_CONFIG_STRATEGY)),!1},runOnlyIf:()=>{var e,t;const r=null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight;return r&&(null===(t=this.hot.getSelectedRangeLast())||void 0===t?void 0:t.isSingle())&&this.hot.selection.isCellVisible(r)&&r.isHeader()},relativeToGroup:d.EDITOR_EDIT_GROUP,position:"before",group:m})}unregisterShortcuts(){super.unregisterShortcuts(),this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(m)}sort(e){super.sort(e)}clearSort(){super.clearSort()}isSorted(){return super.isSorted()}getSortConfig(e){return super.getSortConfig(e)}setSortConfig(e){super.setSortConfig(e)}getNormalizedSortConfigs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Array.isArray(e)?e:[e]}updateHeaderClasses(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];super.updateHeaderClasses(e,...r),(0,l.removeClass)(e,(0,c.getClassesToRemove)(e)),!1!==this.enabled&&(0,l.addClass)(e,(0,c.getClassesToAdd)(...r))}onUpdateSettings(e){this.hot.getSettings()[this.pluginKey]&&this.hot.getSettings()[f]&&(0,u.warnAboutPluginsConflict)(),super.onUpdateSettings(e)}onAfterOnCellMouseDown(e,t){!1!==(0,a.wasHeaderClickedProperly)(t.row,t.col,e)&&this.wasClickableHeaderClicked(e,t.col)&&(this.hot.getShortcutManager().isCtrlPressed()?(this.hot.deselectCell(),this.hot.selectColumns(t.col),this.sort(this.getNextSortConfig(t.col,i.APPEND_COLUMN_CONFIG_STRATEGY))):this.sort(this.getColumnNextConfig(t.col)))}}t.MultiColumnSorting=y},93645:(e,t,r)=>{"use strict";t.__esModule=!0,t.rootComparator=function(e,t){return function(r,s){const[,...i]=r,[,...o]=s;return function r(s){const a=e[s],l=t[s],h=i[s],u=o[s],c=l.multiColumnSorting,d=(c.compareFunctionFactory?c.compareFunctionFactory:(0,n.getCompareFunctionFactory)(l.type))(a,l,c)(h,u);if(d===n.DO_NOT_SWAP){const e=s+1;if(void 0!==t[e])return r(e)}return d}(0)}};var n=r(80118)},97624:(e,t,r)=>{"use strict";t.__esModule=!0,t.warnAboutPluginsConflict=function(){(0,n.warn)(s.toSingleLine`Plugins \`columnSorting\` and \`multiColumnSorting\` should not be enabled simultaneously. 
    Only \`multiColumnSorting\` will work. The \`columnSorting\` plugin will be disabled.`)};var n=r(14859),s=r(21595)},98129:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(24148);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.MultipleSelectionHandles=n.MultipleSelectionHandles},24148:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707)),i=r(62577),o=r(25046),a=r(75089);const l=t.PLUGIN_KEY="multipleSelectionHandles",h=t.PLUGIN_PRIORITY=160;class u extends a.BasePlugin{constructor(){super(...arguments),(0,s.default)(this,"dragged",[]),(0,s.default)(this,"lastSetCell",null)}static get PLUGIN_KEY(){return l}static get PLUGIN_PRIORITY(){return h}isEnabled(){return(0,o.isMobileBrowser)()}enablePlugin(){this.enabled||(this.registerListeners(),super.enablePlugin())}registerListeners(){const e=this,{rootElement:t}=this.hot;function r(t){if(1===e.dragged.length)return e.dragged.splice(0,e.dragged.length),!0;const r=e.dragged.indexOf(t);if(-1===r)return!1;0===r?e.dragged=e.dragged.slice(0,1):1===r&&(e.dragged=e.dragged.slice(-1))}this.eventManager.addEventListener(t,"touchstart",(t=>{let r;return(0,i.hasClass)(t.target,"topSelectionHandle-HitArea")?(r=e.hot.getSelectedRangeLast(),e.dragged.push("top"),e.touchStartRange={width:r.getWidth(),height:r.getHeight(),direction:r.getDirection()},t.preventDefault(),!1):(0,i.hasClass)(t.target,"bottomSelectionHandle-HitArea")?(r=e.hot.getSelectedRangeLast(),e.dragged.push("bottom"),e.touchStartRange={width:r.getWidth(),height:r.getHeight(),direction:r.getDirection()},t.preventDefault(),!1):void 0})),this.eventManager.addEventListener(t,"touchend",(t=>(0,i.hasClass)(t.target,"topSelectionHandle-HitArea")?(r.call(e,"top"),e.touchStartRange=void 0,t.preventDefault(),!1):(0,i.hasClass)(t.target,"bottomSelectionHandle-HitArea")?(r.call(e,"bottom"),e.touchStartRange=void 0,t.preventDefault(),!1):void 0)),this.eventManager.addEventListener(t,"touchmove",(t=>{const{rootDocument:r}=this.hot;let n,s,i,o,a,l;if(0===e.dragged.length)return;const h=r.elementFromPoint(t.touches[0].clientX,t.touches[0].clientY);h&&h!==e.lastSetCell&&("TD"!==h.nodeName&&"TH"!==h.nodeName||(n=e.hot.getCoords(h),-1===n.col&&(n.col=0),s=e.hot.getSelectedRangeLast(),i=s.getWidth(),o=s.getHeight(),a=s.getDirection(),1===i&&1===o&&e.hot.selection.setRangeEnd(n),l=e.getCurrentRangeCoords(s,n,e.touchStartRange.direction,a,e.dragged[0]),null!==l.start&&e.hot.selection.setRangeStart(l.start),e.hot.selection.setRangeEnd(l.end),e.lastSetCell=h),t.preventDefault())}))}getCurrentRangeCoords(e,t,r,n,s){const i=e.getTopStartCorner(),o=e.getBottomEndCorner(),a=e.getBottomStartCorner(),l=e.getTopEndCorner();let h={start:null,end:null};switch(r){case"NE-SW":switch(n){case"NE-SW":case"NW-SE":h="top"===s?{start:this.hot._createCellCoords(t.row,e.highlight.col),end:this.hot._createCellCoords(a.row,t.col)}:{start:this.hot._createCellCoords(e.highlight.row,t.col),end:this.hot._createCellCoords(t.row,i.col)};break;case"SE-NW":"bottom"===s&&(h={start:this.hot._createCellCoords(o.row,t.col),end:this.hot._createCellCoords(t.row,i.col)})}break;case"NW-SE":switch(n){case"NE-SW":"top"===s?h={start:t,end:a}:h.end=t;break;case"NW-SE":"top"===s?h={start:t,end:o}:h.end=t;break;case"SE-NW":"top"===s?h={start:t,end:i}:h.end=t;break;case"SW-NE":"top"===s?h={start:t,end:l}:h.end=t}break;case"SW-NE":switch(n){case"NW-SE":h="bottom"===s?{start:this.hot._createCellCoords(t.row,i.col),end:this.hot._createCellCoords(a.row,t.col)}:{start:this.hot._createCellCoords(i.row,t.col),end:this.hot._createCellCoords(t.row,o.col)};break;case"SW-NE":h="top"===s?{start:this.hot._createCellCoords(e.highlight.row,t.col),end:this.hot._createCellCoords(t.row,o.col)}:{start:this.hot._createCellCoords(t.row,i.col),end:this.hot._createCellCoords(i.row,t.col)};break;case"SE-NW":"bottom"===s?h={start:this.hot._createCellCoords(t.row,l.col),end:this.hot._createCellCoords(i.row,t.col)}:"top"===s&&(h={start:a,end:t})}break;case"SE-NW":switch(n){case"NW-SE":case"NE-SW":case"SW-NE":"top"===s&&(h.end=t);break;case"SE-NW":"top"===s?h.end=t:h={start:t,end:i}}}return h}isDragged(){return this.dragged.length>0}}t.MultipleSelectionHandles=u},11859:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(80632);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.NestedHeaders=n.NestedHeaders},80632:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(69655);var s=n(r(85707)),i=r(62577),o=r(22137),a=r(21595),l=r(77661),h=r(14859),u=r(76717),c=r(75089),d=n(r(94612)),p=n(r(94484));function g(e,t,r){f(e,t),t.set(e,r)}function f(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function m(e,t,r){return e.set(E(e,t),r),r}function y(e,t){return e.get(E(e,t))}function E(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const w=t.PLUGIN_KEY="nestedHeaders",C=t.PLUGIN_PRIORITY=280;var v=new WeakMap,R=new WeakMap,S=new WeakMap,T=new WeakMap,N=new WeakMap,M=new WeakSet;class _ extends c.BasePlugin{constructor(){var e,t;super(...arguments),f(e=this,t=M),t.add(e),g(this,v,new d.default),g(this,R,null),g(this,S,null),g(this,T,!1),g(this,N,null),(0,s.default)(this,"ghostTable",new p.default(this.hot,((e,t)=>this.getHeaderSettings(e,t)))),(0,s.default)(this,"detectedOverlappedHeaders",!1)}static get PLUGIN_KEY(){return w}static get PLUGIN_PRIORITY(){return C}isEnabled(){return!!this.hot.getSettings()[w]}enablePlugin(){var e=this;if(this.enabled)return;const{nestedHeaders:t}=this.hot.getSettings();Array.isArray(t)&&Array.isArray(t[0])||(0,h.warn)(a.toSingleLine`Your Nested Headers plugin configuration is invalid. The settings has to be\x20
                        passed as an array of arrays e.q. [['A1', { label: 'A2', colspan: 2 }]]`),this.addHook("init",(()=>E(M,this,G).call(this))),this.addHook("afterLoadData",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,j).call(e,...r)})),this.addHook("beforeOnCellMouseDown",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,x).call(e,...r)})),this.addHook("afterOnCellMouseDown",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,P).call(e,...r)})),this.addHook("beforeOnCellMouseOver",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,L).call(e,...r)})),this.addHook("beforeOnCellMouseUp",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,D).call(e,...r)})),this.addHook("beforeSelectionHighlightSet",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,k).call(e,...r)})),this.addHook("modifyTransformStart",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,H).call(e,...r)})),this.addHook("afterSelection",(()=>E(M,this,b).call(this))),this.addHook("afterSelectionFocusSet",(()=>E(M,this,b).call(this))),this.addHook("beforeViewportScrollHorizontally",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,O).call(e,...r)})),this.addHook("afterGetColumnHeaderRenderers",(e=>E(M,this,U).call(this,e))),this.addHook("modifyColWidth",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,B).call(e,...r)})),this.addHook("modifyColumnHeaderValue",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,W).call(e,...r)})),this.addHook("beforeHighlightingColumnHeader",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,A).call(e,...r)})),this.addHook("beforeCopy",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,I).call(e,...r)})),this.addHook("beforeSelectColumns",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,F).call(e,...r)})),this.addHook("afterViewportColumnCalculatorOverride",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,V).call(e,...r)})),this.addHook("modifyFocusedElement",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return E(M,e,Y).call(e,...r)})),this.hot.columnIndexMapper.addLocalHook("cacheUpdated",(()=>E(M,this,b).call(this))),this.hot.rowIndexMapper.addLocalHook("cacheUpdated",(()=>E(M,this,b).call(this))),super.enablePlugin(),this.updatePlugin()}updatePlugin(){if(!this.hot.view)return;const{nestedHeaders:e}=this.hot.getSettings();y(v,this).setColumnsLimit(this.hot.countCols()),Array.isArray(e)&&(this.detectedOverlappedHeaders=y(v,this).setState(e)),this.detectedOverlappedHeaders&&(0,h.warn)(a.toSingleLine`Your Nested Headers plugin setup contains overlapping headers. This kind of configuration\x20
                        is currently not supported.`),this.enabled&&this.hot.columnIndexMapper.hidingMapsCollection.getMergedValues().forEach(((e,t)=>{const r=!0===e?"hide-column":"show-column";y(v,this).triggerColumnModification(r,t)})),!y(R,this)&&this.enabled&&m(R,this,this.hot.columnIndexMapper.createChangesObserver("hiding").subscribe((e=>{e.forEach((e=>{let{op:t,index:r,newValue:n}=e;if("replace"===t){const e=!0===n?"hide-column":"show-column";y(v,this).triggerColumnModification(e,r)}})),this.ghostTable.buildWidthsMap()}))),this.ghostTable.setLayersCount(this.getLayersCount()).buildWidthsMap(),super.updatePlugin()}disablePlugin(){this.clearColspans(),y(v,this).clear(),y(R,this).unsubscribe(),m(R,this,null),this.ghostTable.clear(),super.disablePlugin()}getStateManager(){return y(v,this)}getLayersCount(){return y(v,this).getLayersCount()}getHeaderSettings(e,t){return y(v,this).getHeaderSettings(e,t)}clearColspans(){if(!this.hot.view)return;const{_wt:e}=this.hot.view,t=e.getSetting("columnHeaders").length,r=e.wtTable.THEAD,n=e.wtOverlays.topOverlay.clone.wtTable.THEAD,s=e.wtOverlays.topInlineStartCornerOverlay?e.wtOverlays.topInlineStartCornerOverlay.clone.wtTable.THEAD:null;for(let e=0;e<t;e++){const t=r.childNodes[e];if(!t)break;const o=n.childNodes[e],a=s?s.childNodes[e]:null;for(let e=0,r=t.childNodes.length;e<r;e++)t.childNodes[e].removeAttribute("colspan"),(0,i.removeClass)(t.childNodes[e],"hiddenHeader"),o&&o.childNodes[e]&&(o.childNodes[e].removeAttribute("colspan"),(0,i.removeClass)(o.childNodes[e],"hiddenHeader")),s&&a&&a.childNodes[e]&&(a.childNodes[e].removeAttribute("colspan"),(0,i.removeClass)(a.childNodes[e],"hiddenHeader"))}}headerRendererFactory(e){var t=this;const r=this.hot.view._wt.getSetting("fixedColumnsStart");return(n,s)=>{var o;const{columnIndexMapper:a,view:l}=this.hot;let h=a.getVisualFromRenderableIndex(n);null===h&&(h=n),s.removeAttribute("colspan"),(0,i.removeClass)(s,"hiddenHeader"),(0,i.removeClass)(s,"hiddenHeaderText");const{colspan:u,isHidden:c,isPlaceholder:d,headerClassNames:p}=null!==(o=y(v,this).getHeaderSettings(e,h))&&void 0!==o?o:{label:""};if(d||c)(0,i.addClass)(s,"hiddenHeader");else if(u>1){var g,f,m;const{wtOverlays:e}=l._wt,t=null===(g=e.topInlineStartCornerOverlay)||void 0===g?void 0:g.clone.wtTable.THEAD.contains(s),o=null===(f=e.inlineStartOverlay)||void 0===f?void 0:f.clone.wtTable.THEAD.contains(s);(null===(m=e.topOverlay)||void 0===m?void 0:m.clone.wtTable.THEAD.contains(s))&&h<r&&(0,i.addClass)(s,"hiddenHeaderText");const a=t||o?Math.min(u,r-n):u;a>1&&s.setAttribute("colspan",a)}if(this.hot.view.appendColHeader(h,s,(function(){return t.getColumnHeaderValue(...arguments)}),e),!d&&!c){const e=s.querySelector("div.relative");e&&p&&p.length>0&&((0,i.removeClass)(e,this.hot.getColumnMeta(h).headerClassName),(0,i.addClass)(e,p))}}}getColumnHeaderValue(e,t){var r;const{isHidden:n,isPlaceholder:s}=null!==(r=y(v,this).getHeaderSettings(t,e))&&void 0!==r?r:{};return s||n?"":this.hot.getColHeader(e,t)}destroy(){m(v,this,null),null!==y(R,this)&&(y(R,this).unsubscribe(),m(R,this,null)),super.destroy()}_getHeaderTreeNodeDataByCoords(e){if(!(e.row>=0||e.col<0))return y(v,this).getHeaderTreeNodeData(e.row,e.col)}}function b(){var e;const t=null===(e=this.hot)||void 0===e?void 0:e.getSelectedRangeLast();if(!t)return;const{highlight:r}=t;if(r.isHeader()&&r.col>=0){const e=y(v,this).findLeftMostColumnIndex(r.row,r.col),t=this.hot.selection.highlight.getFocus();t.visualCellRange.highlight.col=e,t.visualCellRange.from.col=e,t.visualCellRange.to.col=e,t.commit()}}function O(e,t){var r;const n=this.hot.getSelectedRangeLast();if(!n)return e;const{highlight:s}=n,{navigableHeaders:i}=this.hot.getSettings(),o=this.hot.selection.isSelectedByColumnHeader(),a=i?s.row:null===(r=y(N,this))||void 0===r?void 0:r.row,l=o?e:s.col,h=a<0&&l>=0;if(m(N,this,null),!h)return e;const u=this.hot.getFirstFullyVisibleColumn(),c=this.hot.getLastFullyVisibleColumn(),d=c-u+1,p=y(v,this).findLeftMostColumnIndex(a,l),g=y(v,this).findRightMostColumnIndex(a,l),f=g-p+1;if(p<u&&g>c)return p;if(o){let e=null;return p>=u&&g>c?f>d?(t.value="start",e=p):(t.value="end",e=g):p<u&&g<=c&&(f>d?(t.value="end",e=g):(t.value="start",e=p)),e}return p<=u?p:g}function A(e,t,r){const n=y(v,this).getHeaderTreeNodeData(t,e);if(!n)return e;const{columnCursor:s,selectionType:i,selectionWidth:o}=r,{isRoot:a,colspan:l}=y(v,this).getHeaderSettings(t,e);if(i===u.HEADER_TYPE){if(!a)return n.columnIndex}else if(i===u.ACTIVE_HEADER_TYPE&&(l>o-s||!a))return null;return e}function I(e,t,r){let{columnHeadersCount:n}=r;if(0!==n)for(let r=0;r<t.length;r++){const{startRow:n,startCol:i,endRow:o,endCol:a}=t[r],l=o-n+1;if(n>=0||1===i-a+1)break;for(let t=i;t<=a;t++)for(let r=n;r<=o;r++){var s;const n=l+r,o=t-i;if(0===o)continue;!1===(null===(s=y(v,this).getHeaderTreeNodeData(r,t))||void 0===s?void 0:s.isRoot)&&(e[n][o]="")}}}function x(e,t,r,n){this._getHeaderTreeNodeDataByCoords(t)&&(n.column=!0)}function P(e,t){const r=this._getHeaderTreeNodeDataByCoords(t);if(!r)return;m(S,this,t.clone()),m(T,this,!0);const{selection:n}=this.hot,s=n.isSelected()?n.getSelectedRange().current():null,i=[],{columnIndex:o,origColspan:a}=r,h=!n.inInSelection(t);e.shiftKey&&s?t.col<s.from.col?i.push(s.getTopEndCorner().col,o,t.row):t.col>s.from.col?i.push(s.getTopStartCorner().col,o+a-1,t.row):i.push(o,o+a-1,t.row):((0,l.isLeftClick)(e)||(0,l.isRightClick)(e)&&h||(0,l.isTouchEvent)(e))&&i.push(o,o+a-1,t.row),n.selectColumns(...i)}function L(e,t,r,n){if(!this.hot.view.isMouseDown()||n.column)return;const s=this._getHeaderTreeNodeDataByCoords(t);if(!s)return;const{columnIndex:i,origColspan:a}=s,l=this.hot.getSelectedRangeLast(),h=l.getTopStartCorner(),u=l.getBottomEndCorner(),{from:c}=l;n.column=!0,n.cell=!0;const d=[],p=(0,o.clamp)(t.row,-1/0,-1);t.col<c.col?d.push(u.col,i,p):t.col>c.col?d.push(h.col,i+a-1,p):d.push(i,i+a-1,p),this.hot.selection.selectColumns(...d)}function D(){m(T,this,!1)}function k(){const{navigableHeaders:e}=this.hot.getSettings();if(!this.hot.view.isMouseDown()||!y(T,this)||!e)return;const t=this.hot.getSelectedRangeLast(),r=t.getTopStartCorner().col,n=t.getBottomEndCorner().col,{columnIndex:s,origColspan:i}=y(v,this).getHeaderTreeNodeData(y(S,this).row,y(S,this).col);if(t.setHighlight(y(S,this)),i>t.getWidth()||s<r||s+i-1>n){const e=y(v,this).findTopMostEntireHeaderLevel((0,o.clamp)(r,s,s+i-1),(0,o.clamp)(n,s,s+i-1));t.highlight.row=e,t.highlight.col=t.from.col}}function H(e){const{highlight:t}=this.hot.getSelectedRangeLast(),r=this.hot._createCellCoords(t.row+e.row,t.col+e.col);if(!(r.isHeader()&&r.col>=0))return;const n=y(v,this).findLeftMostColumnIndex(r.row,r.col),s=y(v,this).findRightMostColumnIndex(r.row,r.col);if(e.col<0){const r=t.col>=n&&t.col<=s?n-1:s,i=this.hot.columnIndexMapper.getNearestNotHiddenIndex(r,-1);e.col=null===i?-this.hot.view.countRenderableColumnsInRange(0,t.col):-Math.max(this.hot.view.countRenderableColumnsInRange(i,t.col)-1,1)}else if(e.col>0){const r=t.col>=n&&t.col<=s?s+1:n,i=this.hot.columnIndexMapper.getNearestNotHiddenIndex(r,1);e.col=null===i?this.hot.view.countRenderableColumnsInRange(t.col,this.hot.countCols()):Math.max(this.hot.view.countRenderableColumnsInRange(t.col,i)-1,1)}}function F(e,t,r){const n=e.row,s=this._getHeaderTreeNodeDataByCoords({row:n,col:e.col}),i=this._getHeaderTreeNodeDataByCoords({row:n,col:t.col});m(N,this,r.clone()),t.col<e.col?(s&&(e.col=s.columnIndex+s.origColspan-1),i&&(t.col=i.columnIndex)):t.col>=e.col&&(s&&(e.col=s.columnIndex),i&&(t.col=i.columnIndex+i.origColspan-1))}function U(e){e.length=0;for(let t=0;t<y(v,this).getLayersCount();t++)e.push(this.headerRendererFactory(t))}function V(e){const t=y(v,this).getLayersCount();let r=e.startColumn,n=!!t;for(let s=0;s<t;s++){const t=y(v,this).findLeftMostColumnIndex(s,e.startColumn),i=this.hot.columnIndexMapper.getRenderableFromVisualIndex(t);if(t>=0&&(n=!1),(0,o.isNumeric)(i)&&i<e.startColumn){r=i;break}}e.startColumn=n?y(v,this).getHeaderTreeNodeData(0,r).columnIndex:r}function B(e,t){const r=this.ghostTable.getWidth(t);return e>r?e:r}function W(e,t,r){var n;const{label:s}=null!==(n=y(v,this).getHeaderTreeNodeData(r,t))&&void 0!==n?n:{label:""};return s}function Y(e,t){if(e<0)return this.hot.getCell(e,y(v,this).findLeftMostColumnIndex(e,t),!0)}function G(){this.updatePlugin()}function j(e,t){t||this.updatePlugin()}t.NestedHeaders=_},94574:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=r(10587),i=n(r(51097));function o(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function a(e,t){return e.get(l(e,t))}function l(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var h=new WeakMap,u=new WeakMap,c=new WeakMap;t.default=class{constructor(e){var t,r,n;o(this,h,new Map),o(this,u,new Map),o(this,c,null),r=this,n=e,(t=c).set(l(t,r),n)}getRoots(){return Array.from(a(h,this).values())}getRootByColumn(e){let t;return a(u,this).has(e)&&(t=a(h,this).get(a(u,this).get(e))),t}getNode(e,t){const r=this.getRootByColumn(t);if(!r)return;const n=t-a(u,this).get(t);let s,i=0;return r.walkDown((r=>{const{data:{origColspan:o,headerLevel:a}}=r;if(e===a){if(n>=i&&n<=i+o-1)return s=r,s.data.isRoot=t===s.data.columnIndex,!1;i+=o}})),s}rebuildTreeIndex(){let e=0;a(u,this).clear(),(0,s.arrayEach)(a(h,this),(t=>{let[,{data:{colspan:r}}]=t;for(let t=e;t<e+r;t++)a(u,this).set(t,e);e+=r}))}buildTree(){this.clear();const e=a(c,this).getColumnsCount();let t=0;for(;t<e;){const e=a(c,this).getHeaderSettings(0,t),r=new i.default;a(h,this).set(t,r),this.buildLeaves(r,t,0,e.origColspan),t+=e.origColspan}this.rebuildTreeIndex()}buildLeaves(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;const o=a(c,this).getHeadersSettings(r,t,n);r+=1,(0,s.arrayEach)(o,(n=>{const s={...n,headerLevel:r-1,columnIndex:t};let o;1===r?(e.data=s,o=e):(o=new i.default(s),e.addChild(o)),r<a(c,this).getLayersCount()&&this.buildLeaves(o,t,r,n.origColspan),t+=n.origColspan}))}clear(){a(h,this).clear(),a(u,this).clear()}}},94612:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(94364);var s=r(10587),i=n(r(67082)),o=n(r(94574)),a=r(95901),l=r(69390),h=r(51097);function u(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function c(e,t,r){return e.set(p(e,t),r),r}function d(e,t){return e.get(p(e,t))}function p(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var g=new WeakMap,f=new WeakMap,m=new WeakMap;t.default=class{constructor(){u(this,g,new i.default),u(this,f,new o.default(d(g,this))),u(this,m,[[]])}setState(e){d(g,this).setData(e);let t=!1;try{d(f,this).buildTree()}catch(e){d(f,this).clear(),d(g,this).clear(),t=!0}return c(m,this,(0,l.generateMatrix)(d(f,this).getRoots())),t}setColumnsLimit(e){d(g,this).setColumnsLimit(e)}mergeStateWith(e){const t=(0,s.arrayMap)(e,(e=>{let{row:t,...r}=e;return{row:t<0?this.rowCoordsToLevel(t):t,...r}}));d(g,this).mergeWith(t),d(f,this).buildTree(),c(m,this,(0,l.generateMatrix)(d(f,this).getRoots()))}mapState(e){d(g,this).map(e),d(f,this).buildTree(),c(m,this,(0,l.generateMatrix)(d(f,this).getRoots()))}mapNodes(e){return(0,s.arrayReduce)(d(f,this).getRoots(),((t,r)=>(r.walkDown((r=>{const n=e(r.data);void 0!==n&&t.push(n)})),t)),[])}triggerNodeModification(e,t,r){t<0&&(t=this.rowCoordsToLevel(t));const n=d(f,this).getNode(t,r);let s;return n&&(s=(0,a.triggerNodeModification)(e,n,r),c(m,this,(0,l.generateMatrix)(d(f,this).getRoots()))),s}triggerColumnModification(e,t){return this.triggerNodeModification(e,-1,t)}rowCoordsToLevel(e){if(e>=0)return null;const t=e+Math.max(this.getLayersCount(),1);return t<0?null:t}levelToRowCoords(e){if(e<0)return null;const t=e-Math.max(this.getLayersCount(),1);return t>=0?null:t}getHeaderSettings(e,t){var r,n;return e<0&&(e=this.rowCoordsToLevel(e)),null===e||e>=this.getLayersCount()?null:null!==(r=null===(n=d(m,this)[e])||void 0===n?void 0:n[t])&&void 0!==r?r:null}getHeaderTreeNodeData(e,t){const r=this.getHeaderTreeNode(e,t);return r?{...r.data}:null}getHeaderTreeNode(e,t){if(e<0&&(e=this.rowCoordsToLevel(e)),null===e||e>=this.getLayersCount())return null;const r=d(f,this).getNode(e,t);return r||null}findTopMostEntireHeaderLevel(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;const r=t-e+1;let n=!1,s=null;for(let i=e;i<=t;i++){const o=d(f,this).getRootByColumn(i);if(!o)break;n=!0,o.walkDown((n=>{const{columnIndex:i,headerLevel:o,origColspan:a,isHidden:l}=n.data;l||a<=r&&i>=e&&i+a-1<=t&&(null===s||o<s)&&(s=o)}),h.TRAVERSAL_DF_PRE)}return n&&null===s?-1:this.levelToRowCoords(null!=s?s:0)}findLeftMostColumnIndex(e,t){var r;const{isRoot:n}=null!==(r=this.getHeaderSettings(e,t))&&void 0!==r?r:{isRoot:!0};if(n)return t;let s=t-1;for(;s>=0;){var i;const{isRoot:t}=null!==(i=this.getHeaderSettings(e,s))&&void 0!==i?i:{isRoot:!0};if(t)break;s-=1}return s}findRightMostColumnIndex(e,t){var r;const{isRoot:n,origColspan:s}=null!==(r=this.getHeaderSettings(e,t))&&void 0!==r?r:{isRoot:!0,origColspan:1};if(n)return t+s-1;let i=t+1;for(;i<this.getColumnsCount();){var o;const{isRoot:t}=null!==(o=this.getHeaderSettings(e,i))&&void 0!==o?o:{isRoot:!0};if(t)break;i+=1}return i-1}getLayersCount(){return d(g,this).getLayersCount()}getColumnsCount(){return d(g,this).getColumnsCount()}clear(){c(m,this,[]),d(g,this).clear(),d(f,this).clear()}}},69390:(e,t,r)=>{"use strict";t.__esModule=!0,t.generateMatrix=function(e){const t=[];return(0,n.arrayEach)(e,(e=>{e.walkDown((e=>{const r=e.data,{origColspan:n,columnIndex:o,headerLevel:a,crossHiddenColumns:l}=r,h=function(e,t){let r;Array.isArray(e[t])?r=e[t]:(r=[],e[t]=r);return r}(t,a);let u=!1;for(let e=o;e<o+n;e++){if(l.includes(e)||u)h.push((0,s.createPlaceholderHeaderSettings)(r));else{const e=i(r);e.isRoot=!0,h.push(e),u=!0}}}))})),t},r(15724);var n=r(10587),s=r(12701);function i(e){const{crossHiddenColumns:t,...r}=(0,s.createDefaultHeaderSettings)(e);return r}},29826:(e,t,r)=>{"use strict";t.__esModule=!0,t.collapseNode=function e(t){var r;const{data:o,childs:a}=t;if(o.isCollapsed||o.isHidden||o.origColspan<=1)return{rollbackModification:()=>{},affectedColumns:[],colspanCompensation:0};if((0,i.isNodeReflectsFirstChildColspan)(t))return e(a[0]);o.isCollapsed=!0;const l=a.slice(1),h=new Set;if(l.length>0)(0,n.arrayEach)(l,(e=>{(0,i.traverseHiddenNodeColumnIndexes)(e,(e=>{h.add(e)})),e.data.clonedTree=e.cloneTree(),e.walkDown((e=>{let{data:t}=e;t.isHidden=!0}))}));else{const{origColspan:e,columnIndex:t}=o;for(let r=1;r<e;r++){const e=t+r;h.add(e)}}const u=o.colspan-(null!==(r=(0,i.getFirstChildProperty)(t,"colspan"))&&void 0!==r?r:1);return t.walkUp((e=>{const{data:t}=e;t.colspan-=u,t.colspan<=1?(t.colspan=1,t.isCollapsed=!0):(0,i.isNodeReflectsFirstChildColspan)(e)&&(t.isCollapsed=(0,i.getFirstChildProperty)(e,"isCollapsed"))})),{rollbackModification:()=>(0,s.expandNode)(t),affectedColumns:Array.from(h),colspanCompensation:u}},r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620);var n=r(10587),s=r(28061),i=r(13715)},28061:(e,t,r)=>{"use strict";t.__esModule=!0,t.expandNode=function e(t){const{data:r,childs:o}=t;if(!r.isCollapsed||r.isHidden||r.origColspan<=1)return{rollbackModification:()=>{},affectedColumns:[],colspanCompensation:0};if((0,i.isNodeReflectsFirstChildColspan)(t))return e(o[0]);r.isCollapsed=!1;const a=o.slice(1),l=new Set;let h=0;if(a.length>0)(0,n.arrayEach)(a,(e=>{e.replaceTreeWith(e.data.clonedTree),e.data.clonedTree=null;const t=e.data;h+=t.colspan,(0,i.traverseHiddenNodeColumnIndexes)(e,(e=>{l.add(e)}))}));else{const{colspan:e,origColspan:t,columnIndex:n}=r;h=t-e;for(let e=1;e<t;e++)l.add(n+e)}return t.walkUp((e=>{const{data:t}=e;t.colspan+=h,t.colspan>=t.origColspan?(t.colspan=t.origColspan,t.isCollapsed=!1):(0,i.isNodeReflectsFirstChildColspan)(e)&&(t.isCollapsed=(0,i.getFirstChildProperty)(e,"isCollapsed"))})),{rollbackModification:()=>(0,s.collapseNode)(t),affectedColumns:Array.from(l),colspanCompensation:h}},r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620);var n=r(10587),s=r(29826),i=r(13715)},90187:(e,t,r)=>{"use strict";t.__esModule=!0,t.hideColumn=function(e,t){if(!Number.isInteger(t))throw new Error("The passed gridColumnIndex argument has invalid type.");if(e.childs.length>0)throw new Error(n.toSingleLine`The passed node is not the last node on the tree. Only for\x20
the last node, the hide column modification can be applied.`);const{crossHiddenColumns:r}=e.data;if(r.includes(t))return;let s=!1;if(e.walkUp((e=>{const{data:{collapsible:t}}=e;if(t)return s=!0,!1})),s)return;e.walkUp((e=>{const{data:r}=e;r.crossHiddenColumns.push(t),r.colspan>1?r.colspan-=1:r.isHidden=!0}))},r(67834),r(15724);var n=r(21595)},95901:(e,t,r)=>{"use strict";t.__esModule=!0,t.triggerNodeModification=function(e,t,r){if(!a.has(e))throw new Error(`The node modifier action ("${e}") does not exist.`);return a.get(e)(t,r)},r(67834);var n=r(29826),s=r(28061),i=r(90187),o=r(65346);const a=new Map([["collapse",n.collapseNode],["expand",s.expandNode],["hide-column",i.hideColumn],["show-column",o.showColumn]])},65346:(e,t,r)=>{"use strict";t.__esModule=!0,t.showColumn=function(e,t){if(!Number.isInteger(t))throw new Error("The passed gridColumnIndex argument has invalid type.");if(e.childs.length>0)throw new Error(n.toSingleLine`The passed node is not the last node on the tree. Only for\x20
the last node, the show column modification can be applied.`);const{crossHiddenColumns:r}=e.data;if(!r.includes(t))return;let s=!1;if(e.walkUp((e=>{const{data:{collapsible:t}}=e;if(t)return s=!0,!1})),s)return;e.walkUp((e=>{const{data:r}=e;r.crossHiddenColumns.splice(r.crossHiddenColumns.indexOf(t),1),!r.isHidden&&r.colspan<r.origColspan&&(r.colspan+=1),r.isHidden=!1}))},r(67834);var n=r(21595)},13715:(e,t)=>{"use strict";function r(e,t){let{childs:r}=e;if(0!==r.length)return r[0].data[t]}t.__esModule=!0,t.getFirstChildProperty=r,t.isNodeReflectsFirstChildColspan=function(e){return r(e,"origColspan")===e.data.origColspan},t.traverseHiddenNodeColumnIndexes=function(e,t){e.walkDown((e=>{let{data:r,childs:n}=e;if(!r.isHidden&&(t(r.columnIndex),0===n.length))for(let e=1;e<r.colspan;e++)t(r.columnIndex+e)}))}},28524:(e,t,r)=>{"use strict";t.__esModule=!0,t.normalizeSettings=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1/0;const r=[];if(0===t)return r;(0,n.arrayEach)(e,(e=>{const a=[];let l=0;r.push(a),(0,n.arrayEach)(e,(e=>{const r=(0,o.createDefaultHeaderSettings)();if((0,s.isObject)(e)){const{label:t,colspan:n,headerClassName:s}=e;r.label=(0,i.stringify)(t),"number"==typeof n&&n>1&&(r.colspan=n,r.origColspan=n),"string"==typeof s&&(r.headerClassNames=[...s.split(" ")])}else r.label=(0,i.stringify)(e);l+=r.origColspan;let n=!1;if(l>=t&&(r.colspan=r.origColspan-(l-t),r.origColspan=r.colspan,n=!0),a.push(r),r.colspan>1)for(let e=0;e<r.colspan-1;e++)a.push((0,o.createPlaceholderHeaderSettings)());return!n}))}));const a=Math.max(...(0,n.arrayMap)(r,(e=>e.length)));return(0,n.arrayEach)(r,(e=>{if(e.length<a){const t=(0,n.arrayMap)(new Array(a-e.length),(()=>(0,o.createDefaultHeaderSettings)()));e.splice(e.length,0,...t)}})),r},r(15724);var n=r(10587),s=r(25499),i=r(70505),o=r(12701)},67082:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834),r(15724);var n=r(25499),s=r(10587),i=r(28524);function o(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function a(e,t){return e.get(h(e,t))}function l(e,t,r){return e.set(h(e,t),r),r}function h(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const u=t.HEADER_CONFIGURABLE_PROPS=["label","collapsible"];var c=new WeakMap,d=new WeakMap,p=new WeakMap;t.default=class{constructor(){o(this,c,[]),o(this,d,0),o(this,p,1/0)}setColumnsLimit(e){l(p,this,e)}setData(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];l(c,this,(0,i.normalizeSettings)(e,a(p,this))),l(d,this,a(c,this).length)}getData(){return a(c,this)}mergeWith(e){(0,s.arrayEach)(e,(e=>{let{row:t,col:r,...s}=e;const i=this.getHeaderSettings(t,r);null!==i&&(0,n.extend)(i,s,u)}))}map(e){(0,s.arrayEach)(a(c,this),(t=>{(0,s.arrayEach)(t,(t=>{const r=e({...t});(0,n.isObject)(r)&&(0,n.extend)(t,r,u)}))}))}getHeaderSettings(e,t){var r;if(e>=a(d,this)||e<0)return null;const n=a(c,this)[e];return!1===Array.isArray(n)||t>=n.length?null:null!==(r=n[t])&&void 0!==r?r:null}getHeadersSettings(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const n=[];if(e>=a(d,this)||e<0)return n;const s=a(c,this)[e];let i=0;for(let e=t;e<s.length;e++){const t=s[e];if(t.isPlaceholder)throw new Error("The first column settings cannot overlap the other header layers");if(i+=t.colspan,n.push(t),t.colspan>1&&(e+=t.colspan-1),i===r)break;if(i>r)throw new Error("The last column settings cannot overlap the other header layers")}return n}getLayersCount(){return a(d,this)}getColumnsCount(){return a(d,this)>0?a(c,this)[0].length:0}clear(){l(c,this,[]),l(d,this,0)}}},12701:(e,t)=>{"use strict";t.__esModule=!0,t.createDefaultHeaderSettings=function(){let{label:e="",colspan:t=1,origColspan:r=1,collapsible:n=!1,crossHiddenColumns:s=[],isCollapsed:i=!1,isHidden:o=!1,isRoot:a=!1,isPlaceholder:l=!1,headerClassNames:h=[]}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{label:e,colspan:t,origColspan:r,collapsible:n,isCollapsed:i,crossHiddenColumns:s,isHidden:o,isRoot:a,isPlaceholder:l,headerClassNames:h}},t.createPlaceholderHeaderSettings=function(){return{label:"",isPlaceholder:!0}}},94484:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(62577);t.default=class{constructor(e,t){(0,s.default)(this,"hot",void 0),(0,s.default)(this,"nestedHeaderSettingsGetter",void 0),(0,s.default)(this,"layersCount",0),(0,s.default)(this,"container",void 0),(0,s.default)(this,"widthsMap",void 0),this.hot=e,this.nestedHeaderSettingsGetter=t,this.widthsMap=this.hot.columnIndexMapper.createAndRegisterIndexMap("nestedHeaders.widthsMap","physicalIndexToValue")}setLayersCount(e){return this.layersCount=e,this}getWidth(e){return this.widthsMap.getValueAtIndex(this.hot.toPhysicalColumn(e))}buildWidthsMap(){const e=this.hot.getCurrentThemeName();this.container=this.hot.rootDocument.createElement("div"),this.container.classList.add("handsontable","htGhostTable","htAutoSize"),e&&this.container.classList.add(e),this._buildGhostTable(this.container),this.hot.rootDocument.body.appendChild(this.container);const t=this.container.querySelectorAll("tr:last-of-type th"),r=t.length;this.widthsMap.clear();for(let e=0;e<r;e++){const r=this.hot.columnIndexMapper.getVisualFromRenderableIndex(e),n=this.hot.toPhysicalColumn(r);this.widthsMap.setValueAtIndex(n,t[e].offsetWidth)}this.container.parentNode.removeChild(this.container),this.container=null}_buildGhostTable(e){const{rootDocument:t,columnIndexMapper:r}=this.hot,n=t.createDocumentFragment(),s=t.createElement("table"),o=!!this.hot.getSettings().dropdownMenu,a=r.getRenderableIndexesLength();for(let e=0;e<this.layersCount;e++){const n=t.createElement("tr");for(let s=0;s<a;s++){let a=r.getVisualFromRenderableIndex(s);null===a&&(a=s);const l=t.createElement("th"),h=this.nestedHeaderSettingsGetter(e,a);if(h&&(!h.isPlaceholder||h.isHidden)){let e=h.label;o&&(e+='<button class="changeType"></button>'),(0,i.fastInnerHTML)(l,e),l.colSpan=h.colspan,n.appendChild(l)}}s.appendChild(n)}n.appendChild(s),e.appendChild(n)}clear(){this.widthsMap.clear(),this.container=null}}},60932:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707)),i=r(22137),o=r(25499),a=r(10587);t.default=class{constructor(e,t){(0,s.default)(this,"hot",void 0),(0,s.default)(this,"data",null),(0,s.default)(this,"plugin",void 0),(0,s.default)(this,"parentReference",new WeakMap),(0,s.default)(this,"cache",{levels:[],levelCount:0,rows:[],nodeInfo:new WeakMap}),this.hot=t,this.plugin=e}setData(e){this.data=e}getData(){return this.data}getRawSourceData(){let e=null;return this.plugin.disableCoreAPIModifiers(),e=this.hot.getSourceData(),this.plugin.enableCoreAPIModifiers(),e}updateWithData(e){this.setData(e),this.rewriteCache()}rewriteCache(){this.cache={levels:[],levelCount:0,rows:[],nodeInfo:new WeakMap},(0,i.rangeEach)(0,this.data.length-1,(e=>{this.cacheNode(this.data[e],0,null)}))}cacheNode(e,t,r){this.cache.levels[t]||(this.cache.levels[t]=[],this.cache.levelCount+=1),this.cache.levels[t].push(e),this.cache.rows.push(e),this.cache.nodeInfo.set(e,{parent:r,row:this.cache.rows.length-1,level:t}),this.hasChildren(e)&&(0,a.arrayEach)(e.__children,(r=>{this.cacheNode(r,t+1,e)}))}getDataObject(e){return null==e?null:this.cache.rows[e]}readTreeNodes(e,t,r,n){let s=!1,i=t;if(isNaN(i)&&i.end)return i;let o=e;return o||(o={__children:this.data},s=!0,i-=1),null!=r&&i===r?{result:o,end:!0}:null!=n&&o===n?{result:i,end:!0}:(i+=1,o.__children&&(0,a.arrayEach)(o.__children,(e=>{if(this.parentReference.set(e,s?null:o),i=this.readTreeNodes(e,i,r,n),isNaN(i)&&i.end)return!1})),i)}mockParent(){const e=this.mockNode();return e.__children=this.data,e}mockNode(){const e={};return(0,o.objectEach)(this.data[0],((t,r)=>{e[r]=null})),e}getRowIndex(e){return null==e?null:this.cache.nodeInfo.get(e).row}getRowIndexWithinParent(e){let t=null;t=isNaN(e)?e:this.getDataObject(e);const r=this.getRowParent(e);return null==r?this.data.indexOf(t):r.__children.indexOf(t)}countAllRows(){const e={__children:this.data};return this.countChildren(e)}countChildren(e){let t=0,r=e;return isNaN(r)||(r=this.getDataObject(r)),r&&r.__children?((0,a.arrayEach)(r.__children,(e=>{t+=1,e.__children&&(t+=this.countChildren(e))})),t):0}getRowParent(e){let t;return t=isNaN(e)?e:this.getDataObject(e),this.getRowObjectParent(t)}getRowObjectParent(e){return e&&"object"==typeof e?this.cache.nodeInfo.get(e).parent:null}getRowLevel(e){let t=null;return t=isNaN(e)?e:this.getDataObject(e),t?this.getRowObjectLevel(t):null}getRowObjectLevel(e){return null==e?null:this.cache.nodeInfo.get(e).level}hasChildren(e){let t=e;return isNaN(t)||(t=this.getDataObject(t)),!(!t.__children||!t.__children.length)}isChild(e){return null!==this.getRowParent(e)}getChild(e,t){var r;return(null===(r=e.__children)||void 0===r?void 0:r[t])||null}isRowHighestLevel(e){return!this.isChild(e)}isParent(e){var t;let r=e;return isNaN(r)||(r=this.getDataObject(r)),r&&!!r.__children&&0!==(null===(t=r.__children)||void 0===t?void 0:t.length)}addChild(e,t){let r=t;this.hot.runHooks("beforeAddChild",e,r);let n=null;e&&(n=this.getRowIndex(e)),this.hot.runHooks("beforeCreateRow",n+this.countChildren(e)+1,1);let s=e;e||(s=this.mockParent()),s.__children||(s.__children=[]),r||(r=this.mockNode()),s.__children.push(r),this.rewriteCache();const i=this.getRowIndex(r);this.hot.rowIndexMapper.insertIndexes(i,1),this.hot.runHooks("afterCreateRow",i,1),this.hot.runHooks("afterAddChild",e,r)}addChildAtIndex(e,t,r){let n,s=r;if(s||(s=this.mockNode()),this.hot.runHooks("beforeAddChild",e,s,t),e){const r=this.getRowIndex(e)+t+1;this.hot.runHooks("beforeCreateRow",r,1),e.__children.splice(t,null,s),this.rewriteCache(),this.plugin.disableCoreAPIModifiers(),this.hot.setSourceDataAtCell(this.getRowIndexWithinParent(e),"__children",e.__children,"NestedRows.addChildAtIndex"),this.hot.rowIndexMapper.insertIndexes(r,1),this.plugin.enableCoreAPIModifiers(),this.hot.runHooks("afterCreateRow",r,1),n=r}else this.plugin.disableCoreAPIModifiers(),this.hot.alter("insert_row_above",t,1,"NestedRows.addChildAtIndex"),this.plugin.enableCoreAPIModifiers(),n=this.getRowIndex(this.data[t]);s=this.getDataObject(n),this.hot.runHooks("afterAddChild",e,s,t)}addSibling(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"below";const r=this.translateTrimmedRow(e),n=this.getRowParent(r),s=this.getRowIndexWithinParent(r);switch(t){case"below":this.addChildAtIndex(n,s+1,null);break;case"above":this.addChildAtIndex(n,s,null)}}detachFromParent(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=null;const n=[];Array.isArray(e)?((0,i.rangeEach)(e[0],e[2],(e=>{const t=this.translateTrimmedRow(e);n.push(this.getDataObject(t))})),(0,i.rangeEach)(0,n.length-2,(e=>{this.detachFromParent(n[e],!1)})),r=n[n.length-1]):r=e;const s=this.getRowIndex(r),o=this.countChildren(r),a=this.getRowIndexWithinParent(r),l=this.getRowParent(r),h=this.getRowParent(l),u=this.getRowIndex(h);let c=null;if(this.hot.runHooks("beforeDetachChild",l,r),null!=a){const e=Array.from(new Array(s+o+1).keys()).splice(-1*(o+1));if(this.hot.runHooks("beforeRemoveRow",s,o+1,e,this.plugin.pluginName),l.__children.splice(a,1),this.rewriteCache(),this.hot.runHooks("afterRemoveRow",s,o+1,e,this.plugin.pluginName),h){c=u+this.countChildren(h);const e=this.getChild(h,this.countChildren(h)-1),t=this.getRowIndex(e);this.hot.runHooks("beforeCreateRow",t+1,o+1,this.plugin.pluginName),h.__children.push(r)}else c=this.hot.countRows()+1,this.hot.runHooks("beforeCreateRow",c-2,o+1,this.plugin.pluginName),this.data.push(r)}this.rewriteCache(),this.hot.runHooks("afterCreateRow",c-2,o+1,this.plugin.pluginName),this.hot.runHooks("afterDetachChild",l,r,this.getRowIndex(r)),t&&this.hot.render()}filterData(e,t,r){const n=[];(0,a.arrayEach)(r,(e=>{n.push(this.getDataObject(e))})),(0,a.arrayEach)(n,(e=>{const t=this.getRowIndexWithinParent(e),r=this.getRowParent(e);null===r?this.data.splice(t,1):r.__children.splice(t,1)})),this.rewriteCache()}spliceData(e,t,r){const n=this.getDataObject(e-1);let s=null,i=e;n&&n.__children&&0===n.__children.length?(s=n,i=0):e<this.countAllRows()&&(s=this.getRowParent(e),i=this.getRowIndexWithinParent(e)),s?r?s.__children.splice(i,t,...r):s.__children.splice(i,t):r?this.data.splice(i,t,...r):this.data.splice(i,t),this.rewriteCache()}syncRowWithRawSource(e){let t=e,r=null;do{r=this.getRowParent(r),null!==r&&(t=r)}while(null!==r);this.plugin.disableCoreAPIModifiers(),this.hot.setSourceDataAtCell(this.getRowIndex(t),"__children",t.__children,"NestedRows.syncRowWithRawSource"),this.plugin.enableCoreAPIModifiers()}moveRow(e,t,r,n){const s=t===this.hot.countRows(),i=this.getRowParent(e),o=this.getRowIndexWithinParent(e),a=i.__children.slice(o,o+1),l=e>t;let h=s?this.getRowParent(t-1):this.getRowParent(t);null==h&&(h=this.getRowParent(t-1)),null==h&&(h=this.getDataObject(t-1)),h?h.__children||(h.__children=[]):(h=this.getDataObject(t),h.__children=[]);const u=s||r||n?h.__children.length:this.getRowIndexWithinParent(t),c=i===h;h.__children.splice(u,0,a[0]),i.__children.splice(o+(l&&c?1:0),1),this.syncRowWithRawSource(i),c||this.syncRowWithRawSource(h)}translateTrimmedRow(e){return this.plugin.collapsingUI?this.plugin.collapsingUI.translateTrimmedRow(e):e}untranslateTrimmedRow(e){return this.plugin.collapsingUI?this.plugin.collapsingUI.untranslateTrimmedRow(e):e}}},58886:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(28962);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.NestedRows=n.NestedRows},28962:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(69655),r(90458);var s=n(r(85707)),i=r(75089),o=n(r(60932)),a=n(r(25605)),l=n(r(39363)),h=n(r(90369)),u=r(14859),c=r(87124),d=r(61149),p=r(92399),g=n(r(74461));function f(e,t,r){m(e,t),t.set(e,r)}function m(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function y(e,t){return e.get(w(e,t))}function E(e,t,r){return e.set(w(e,t),r),r}function w(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const C=t.PLUGIN_KEY="nestedRows",v=t.PLUGIN_PRIORITY=300,R=C;var S=new WeakMap,T=new WeakMap,N=new WeakSet;class M extends i.BasePlugin{constructor(){var e,t;super(...arguments),m(e=this,t=N),t.add(e),(0,s.default)(this,"dataManager",null),(0,s.default)(this,"headersUI",null),(0,s.default)(this,"collapsedRowsMap",null),f(this,S,!1),f(this,T,!1)}static get PLUGIN_KEY(){return C}static get PLUGIN_PRIORITY(){return v}isEnabled(){return!!this.hot.getSettings()[C]}enablePlugin(){var e=this;this.enabled||(this.collapsedRowsMap=this.hot.rowIndexMapper.registerMap("nestedRows",new d.TrimmingMap),this.dataManager=new o.default(this,this.hot),this.collapsingUI=new a.default(this,this.hot),this.headersUI=new l.default(this,this.hot),this.contextMenuUI=new h.default(this,this.hot),this.rowMoveController=new g.default(this),this.addHook("afterInit",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,V).call(e,...r)})),this.addHook("beforeViewRender",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,B).call(e,...r)})),this.addHook("modifyRowData",(function(){return e.onModifyRowData(...arguments)})),this.addHook("modifySourceLength",(function(){return e.onModifySourceLength(...arguments)})),this.addHook("beforeDataSplice",(function(){return e.onBeforeDataSplice(...arguments)})),this.addHook("filterData",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,O).call(e,...r)})),this.addHook("afterContextMenuDefaultOptions",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,A).call(e,...r)})),this.addHook("afterGetRowHeader",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,I).call(e,...r)})),this.addHook("beforeOnCellMouseDown",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,b).call(e,...r)})),this.addHook("beforeRemoveRow",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,L).call(e,...r)})),this.addHook("afterRemoveRow",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,P).call(e,...r)})),this.addHook("beforeAddChild",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,D).call(e,...r)})),this.addHook("afterAddChild",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,k).call(e,...r)})),this.addHook("beforeDetachChild",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,H).call(e,...r)})),this.addHook("afterDetachChild",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,F).call(e,...r)})),this.addHook("modifyRowHeaderWidth",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,x).call(e,...r)})),this.addHook("afterCreateRow",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,U).call(e,...r)})),this.addHook("beforeRowMove",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return w(N,e,_).call(e,...r)})),this.addHook("beforeLoadData",(e=>w(N,this,W).call(this,e))),this.addHook("beforeUpdateData",(e=>w(N,this,W).call(this,e))),this.registerShortcuts(),super.enablePlugin())}disablePlugin(){this.hot.rowIndexMapper.unregisterMap("nestedRows"),this.unregisterShortcuts(),super.disablePlugin()}updatePlugin(){this.disablePlugin();const e=this.dataManager.getData();this.enablePlugin(),this.dataManager.updateWithData(e),super.updatePlugin()}registerShortcuts(){this.hot.getShortcutManager().getContext("grid").addShortcut({keys:[["Enter"]],callback:()=>{const{highlight:e}=this.hot.getSelectedRangeLast(),t=this.collapsingUI.translateTrimmedRow(e.row);return this.collapsingUI.areChildrenCollapsed(t)?this.collapsingUI.expandChildren(t):this.collapsingUI.collapseChildren(t),!1},runOnlyIf:()=>{var e,t;const r=null===(e=this.hot.getSelectedRangeLast())||void 0===e?void 0:e.highlight;return r&&(null===(t=this.hot.getSelectedRangeLast())||void 0===t?void 0:t.isSingle())&&this.hot.selection.isCellVisible(r)&&-1===r.col&&r.row>=0},group:R,relativeToGroup:p.EDITOR_EDIT_GROUP,position:"before"})}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(R)}disableCoreAPIModifiers(){E(T,this,!0)}enableCoreAPIModifiers(){E(T,this,!1)}onModifyRowData(e){if(!y(T,this))return this.dataManager.getDataObject(e)}onModifySourceLength(){if(!y(T,this))return this.dataManager.countAllRows()}onBeforeDataSplice(e,t,r){return!(!y(T,this)&&!this.dataManager.isRowHighestLevel(e))||(this.dataManager.spliceData(e,t,r),!1)}destroy(){super.destroy()}}function _(e,t,r,n){return this.rowMoveController.onBeforeRowMove(e,t,r,n)}function b(e,t,r){this.collapsingUI.toggleState(e,t,r)}function O(e,t,r){return this.collapsingUI.collapsedRowsStash.stash(),this.collapsingUI.collapsedRowsStash.trimStash(r[0],t),this.collapsingUI.collapsedRowsStash.shiftStash(r[0],null,-1*t),this.dataManager.filterData(e,t,r),E(S,this,!0),this.dataManager.getData().slice()}function A(e){return this.contextMenuUI.appendOptions(e)}function I(e,t){this.headersUI.appendLevelIndicators(e,t)}function x(e){return Math.max(this.headersUI.rowHeaderWidthCache,e)}function P(e,t,r,n){n!==this.pluginName&&this.hot._registerTimeout((()=>{E(S,this,!1),this.headersUI.updateRowHeaderWidth(),this.collapsingUI.collapsedRowsStash.applyStash()}))}function L(e,t,r){const n=Array.from(r.reduce(((e,t)=>{if(this.dataManager.isParent(t)){const r=this.dataManager.getDataObject(t).__children;return e.add(t),Array.isArray(r)&&r.forEach((t=>e.add(this.dataManager.getRowIndex(t)))),e}return e.add(t)}),new Set));r.length=0,r.push(...n)}function D(){this.collapsingUI.collapsedRowsStash.stash()}function k(e,t){this.collapsingUI.collapsedRowsStash.shiftStash(this.dataManager.getRowIndex(t)),this.collapsingUI.collapsedRowsStash.applyStash(),this.headersUI.updateRowHeaderWidth()}function H(){this.collapsingUI.collapsedRowsStash.stash()}function F(e,t,r){this.collapsingUI.collapsedRowsStash.shiftStash(r,null,-1),this.collapsingUI.collapsedRowsStash.applyStash(),this.headersUI.updateRowHeaderWidth()}function U(){this.dataManager.rewriteCache()}function V(){this.headersUI.updateRowHeaderWidth()}function B(e,t){y(S,this)&&(t.skipRender=!0)}function W(e){if(!(0,c.isArrayOfObjects)(e))return(0,u.error)("The Nested Rows plugin requires an Array of Objects as a dataset to be provided. The plugin has been disabled."),this.hot.getSettings()[C]=!1,void this.disablePlugin();this.dataManager.setData(e),this.dataManager.rewriteCache()}t.NestedRows=M},48041:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));t.default=class{constructor(e,t){(0,s.default)(this,"hot",void 0),(0,s.default)(this,"plugin",void 0),this.hot=t,this.plugin=e}}},25605:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=r(77661),i=r(10587),o=r(22137),a=r(62577),l=n(r(48041)),h=n(r(39363));class u extends l.default{constructor(e,t){var r;super(e,t),r=this,this.dataManager=this.plugin.dataManager,this.collapsedRows=[],this.collapsedRowsStash={stash:function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];r.lastCollapsedRows=r.collapsedRows.slice(0),r.expandMultipleChildren(r.lastCollapsedRows,e)},shiftStash:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;null==t&&(t=1/0),(0,i.arrayEach)(r.lastCollapsedRows,((s,i)=>{s>=e&&s<t&&(r.lastCollapsedRows[i]=s+n)}))},applyStash:function(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];r.collapseMultipleChildren(r.lastCollapsedRows,e),r.lastCollapsedRows=void 0},trimStash:(e,t)=>{(0,o.rangeEach)(e,e+t-1,(e=>{const t=this.lastCollapsedRows.indexOf(e);t>-1&&this.lastCollapsedRows.splice(t,1)}))}}}collapseChildren(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const n=[];let s=null,o=null,a=null;return isNaN(e)?(s=e,o=this.dataManager.getRowIndex(s)):(s=this.dataManager.getDataObject(e),o=e),this.dataManager.hasChildren(s)&&(0,i.arrayEach)(s.__children,(e=>{n.push(this.dataManager.getRowIndex(e))})),a=this.collapseRows(n,!0,!1),r&&this.trimRows(a),t&&this.renderAndAdjust(),-1===this.collapsedRows.indexOf(o)&&this.collapsedRows.push(o),a}collapseMultipleChildren(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const n=[];(0,i.arrayEach)(e,(e=>{n.push(...this.collapseChildren(e,!1,!1))})),r&&this.trimRows(n),t&&this.renderAndAdjust()}collapseRow(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.collapseRows([e],t)}collapseRows(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=[];return(0,i.arrayEach)(e,(e=>{n.push(e),t&&this.collapseChildRows(e,n)})),r&&this.trimRows(n),n}collapseChildRows(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(this.dataManager.hasChildren(e)){const r=this.dataManager.getDataObject(e);(0,i.arrayEach)(r.__children,(e=>{const r=this.dataManager.getRowIndex(e);t.push(r),this.collapseChildRows(r,t)}))}r&&this.trimRows(t)}expandRow(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.expandRows([e],t)}expandRows(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=[];return(0,i.arrayEach)(e,(e=>{n.push(e),t&&this.expandChildRows(e,n)})),r&&this.untrimRows(n),n}expandChildRows(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(this.dataManager.hasChildren(e)){const r=this.dataManager.getDataObject(e);(0,i.arrayEach)(r.__children,(e=>{if(!this.isAnyParentCollapsed(e)){const r=this.dataManager.getRowIndex(e);t.push(r),this.expandChildRows(r,t)}}))}r&&this.untrimRows(t)}expandChildren(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const n=[];let s=null,o=null,a=null;return isNaN(e)?(s=e,o=this.dataManager.getRowIndex(e)):(s=this.dataManager.getDataObject(e),o=e),this.collapsedRows.splice(this.collapsedRows.indexOf(o),1),this.dataManager.hasChildren(s)&&(0,i.arrayEach)(s.__children,(e=>{const t=this.dataManager.getRowIndex(e);n.push(t)})),a=this.expandRows(n,!0,!1),r&&this.untrimRows(a),t&&this.renderAndAdjust(),a}expandMultipleChildren(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const n=[];(0,i.arrayEach)(e,(e=>{n.push(...this.expandChildren(e,!1,!1))})),r&&this.untrimRows(n),t&&this.renderAndAdjust()}collapseAll(){const e=this.dataManager.getData(),t=[];(0,i.arrayEach)(e,(e=>{this.dataManager.hasChildren(e)&&t.push(e)})),this.collapseMultipleChildren(t),this.renderAndAdjust()}expandAll(){const e=this.dataManager.getData(),t=[];(0,i.arrayEach)(e,(e=>{this.dataManager.hasChildren(e)&&t.push(e)})),this.expandMultipleChildren(t),this.renderAndAdjust()}trimRows(e){this.hot.batchExecution((()=>{(0,i.arrayEach)(e,(e=>{this.plugin.collapsedRowsMap.setValueAtIndex(e,!0)}))}),!0)}untrimRows(e){this.hot.batchExecution((()=>{(0,i.arrayEach)(e,(e=>{this.plugin.collapsedRowsMap.setValueAtIndex(e,!1)}))}),!0)}areChildrenCollapsed(e){let t=isNaN(e)?e:this.dataManager.getDataObject(e),r=!0;return null===t&&(t={__children:this.dataManager.data}),this.dataManager.hasChildren(t)&&(0,i.arrayEach)(t.__children,(e=>{const t=this.dataManager.getRowIndex(e);if(!this.plugin.collapsedRowsMap.getValueAtIndex(t))return r=!1,!1})),r}isAnyParentCollapsed(e){let t=e;for(;null!==t;){t=this.dataManager.getRowParent(t);const e=this.dataManager.getRowIndex(t);if(this.collapsedRows.indexOf(e)>-1)return!0}return!1}toggleState(e,t){if(t.col>=0)return;const r=this.translateTrimmedRow(t.row);(0,a.hasClass)(e.target,h.default.CSS_CLASSES.button)&&(this.areChildrenCollapsed(r)?this.expandChildren(r):this.collapseChildren(r),(0,s.stopImmediatePropagation)(e))}translateTrimmedRow(e){return this.hot.toPhysicalRow(e)}untranslateTrimmedRow(e){return this.hot.toVisualRow(e)}renderAndAdjust(){this.hot.render(),this.hot.view.adjustElementsSize()}}t.default=u},90369:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=n(r(85707)),i=r(22137),o=r(10587),a=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=h(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(23384)),l=n(r(48041));function h(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(h=function(e){return e?r:t})(e)}function u(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function c(e,t){return e.get(function(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}(e,t))}var d=new WeakMap;class p extends l.default{constructor(){super(...arguments),(0,s.default)(this,"dataManager",this.plugin.dataManager),u(this,d,{row_above:(e,t)=>{const r=t[t.length-1];this.dataManager.addSibling(r.start.row,"above")},row_below:(e,t)=>{const r=t[t.length-1];this.dataManager.addSibling(r.start.row,"below")}})}appendOptions(e){const t=[{key:"add_child",name(){return this.getTranslatedPhrase(a.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD)},callback:()=>{const e=this.dataManager.translateTrimmedRow(this.hot.getSelectedLast()[0]),t=this.dataManager.getDataObject(e);this.dataManager.addChild(t)},disabled:()=>{const e=this.hot.getSelectedLast();return!e||e[0]<0||this.hot.selection.isSelectedByColumnHeader()||this.hot.countRows()>=this.hot.getSettings().maxRows}},{key:"detach_from_parent",name(){return this.getTranslatedPhrase(a.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD)},callback:()=>{this.dataManager.detachFromParent(this.hot.getSelectedLast())},disabled:()=>{const e=this.hot.getSelectedLast(),t=this.dataManager.translateTrimmedRow(e[0]);return!this.dataManager.getRowParent(t)||!e||e[0]<0||this.hot.selection.isSelectedByColumnHeader()||this.hot.countRows()>=this.hot.getSettings().maxRows}},{name:"---------"}];return(0,i.rangeEach)(0,e.items.length-1,(r=>{if(0===r)return(0,o.arrayEach)(t,((t,n)=>{e.items.splice(r+n,0,t)})),!1})),this.modifyRowInsertingOptions(e)}modifyRowInsertingOptions(e){return(0,i.rangeEach)(0,e.items.length-1,(t=>{const r=c(d,this)[e.items[t].key];null!=r&&(e.items[t].callback=r)})),e}}t.default=p},39363:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=r(10587),i=r(22137),o=r(62577),a=n(r(48041)),l=r(71120);class h extends a.default{static get CSS_CLASSES(){return{indicatorContainer:"ht_nestingLevels",parent:"ht_nestingParent",indicator:"ht_nestingLevel",emptyIndicator:"ht_nestingLevel_empty",button:"ht_nestingButton",expandButton:"ht_nestingExpand",collapseButton:"ht_nestingCollapse"}}constructor(e,t){super(e,t),this.dataManager=this.plugin.dataManager,this.collapsingUI=this.plugin.collapsingUI,this.rowHeaderWidthCache=null}appendLevelIndicators(e,t){const r=this.hot.toPhysicalRow(e),n=this.dataManager.getRowLevel(r),a=this.dataManager.getDataObject(r),u=t.getElementsByTagName("DIV")[0],c=u.querySelector("span.rowHeader"),d=u.querySelectorAll('[class^="ht_nesting"]'),p=this.hot.getSettings().ariaTags;if((0,s.arrayEach)(d,(e=>{e&&u.removeChild(e)})),(0,o.addClass)(t,h.CSS_CLASSES.indicatorContainer),n){const{rootDocument:e}=this.hot,t=c.cloneNode(!0);u.innerHTML="",(0,i.rangeEach)(0,n-1,(()=>{const t=e.createElement("SPAN");(0,o.addClass)(t,h.CSS_CLASSES.emptyIndicator),u.appendChild(t)})),u.appendChild(t)}if(this.dataManager.hasChildren(a)){const e=this.hot.rootDocument.createElement("DIV");p&&(0,o.setAttribute)(e,[(0,l.A11Y_HIDDEN)()]),(0,o.addClass)(t,h.CSS_CLASSES.parent),this.collapsingUI.areChildrenCollapsed(r)?((0,o.addClass)(e,`${h.CSS_CLASSES.button} ${h.CSS_CLASSES.expandButton}`),p&&(0,o.setAttribute)(t,[(0,l.A11Y_EXPANDED)(!1)])):((0,o.addClass)(e,`${h.CSS_CLASSES.button} ${h.CSS_CLASSES.collapseButton}`),p&&(0,o.setAttribute)(t,[(0,l.A11Y_EXPANDED)(!0)])),u.appendChild(e)}}updateRowHeaderWidth(e){let t=e;t||(t=this.dataManager.cache.levelCount);const r=this.hot.view.getStylesHandler();let n=11;if(!r.isClassicTheme()){n=2*r.getCSSVariableValue("cell-horizontal-padding")}this.rowHeaderWidthCache=Math.max(50,n+10*t+25),this.hot.render()}}t.default=h},74461:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724),r(14846),r(69655),r(94364),r(75568);var s=n(r(85707)),i=r(70505),o=r(14859),a=r(21595);t.default=class{constructor(e){(0,s.default)(this,"plugin",void 0),(0,s.default)(this,"hot",void 0),(0,s.default)(this,"dataManager",void 0),(0,s.default)(this,"collapsingUI",void 0),this.plugin=e,this.hot=e.hot,this.dataManager=e.dataManager,this.collapsingUI=e.collapsingUI}onBeforeRowMove(e,t,r,n){if(this.displayAPICompatibilityWarning({rows:e,finalIndex:t,dropIndex:r,movePossible:n}))return!1;this.movedToCollapsed=!1;const s=r===this.hot.countRows(),i=s?this.hot.countSourceRows():this.dataManager.translateTrimmedRow(r);let o=!0;const a=e.map((e=>{if(!o)return!1;const t=this.dataManager.translateTrimmedRow(e);return o=this.shouldAllowMoving(t,i),t})),l=-1===a.indexOf(i);if(!o||!l)return!1;const h=this.getBaseParent(a),u=this.getTargetParent(s,i),c=h===u;return this.movedToCollapsed=this.collapsingUI.areChildrenCollapsed(u),this.collapsingUI.collapsedRowsStash.stash(),this.shiftCollapsibleParentsLocations(a,i,c),this.moveRows(a,i,u),this.dataManager.rewriteCache(),this.moveCellsMeta(a,i),this.collapsingUI.collapsedRowsStash.applyStash(!1),this.hot.runHooks("afterRowMove",e,t,r,n,n&&this.isRowOrderChanged(e,t)),this.hot.render(),this.selectCells(e,r),!1}displayAPICompatibilityWarning(e){const{rows:t,finalIndex:r,dropIndex:n,movePossible:s}=e;let l=!1;return(0,i.isUndefined)(n)&&((0,o.warn)(a.toSingleLine`Since version 8.0.0 of the Handsontable the 'moveRows' method isn't used for moving rows\x20
      when the NestedRows plugin is enabled. Please use the 'dragRows' method instead.`),this.hot.runHooks("afterRowMove",t,r,n,s,!1),l=!0),l}shouldAllowMoving(e,t){return!(this.dataManager.isParent(e)||this.dataManager.isRowHighestLevel(e)||e===t||0===t)}getBaseParent(e){return this.dataManager.getRowParent(e[0])}getTargetParent(e,t){let r=this.dataManager.getRowParent(e?t-1:t);return null==r&&(r=this.dataManager.getRowParent(t-1)),r}shiftCollapsibleParentsLocations(e,t,r){r||(Math.max(...e)<=t?this.collapsingUI.collapsedRowsStash.shiftStash(e[0],t,-1*e.length):this.collapsingUI.collapsedRowsStash.shiftStash(t,e[0],e.length))}moveRows(e,t,r){const n=t===this.dataManager.getRowIndex(r)+this.dataManager.countChildren(r)+1;this.hot.batchRender((()=>{e.forEach((e=>{this.dataManager.moveRow(e,t,this.movedToCollapsed,n)}))}))}moveCellsMeta(e,t){const r=[],n=Math.max(...e)<t;e.forEach((e=>{r.push(this.hot.getCellMetaAtRow(e))})),this.hot.spliceCellsMeta(e[0],e.length),this.hot.spliceCellsMeta(t-(n?r.length:0),0,...r)}selectCells(e,t){const r=e.length;let n=0,s=0;if(this.movedToCollapsed){let i=null;i=e[r-1]<t?this.dataManager.translateTrimmedRow(t-r):this.dataManager.translateTrimmedRow(t);const o=this.dataManager.getRowParent(null===i?this.hot.countSourceRows()-1:i-1),a=this.dataManager.getRowIndex(o);n=this.dataManager.untranslateTrimmedRow(a),s=n}else e[r-1]<t?(s=t-1,n=s-r+1):(n=t,s=n+r-1);this.hot.selectCells([[n,0,s,this.hot.countCols()-1]],!1)}isRowOrderChanged(e,t){return e.some(((e,r)=>e-r!==t))}}},56326:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(27468);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.PersistentState=n.PersistentState},27468:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(75089),o=n(r(98835)),a=r(28197);a.Hooks.getSingleton().register("persistentStateSave"),a.Hooks.getSingleton().register("persistentStateLoad"),a.Hooks.getSingleton().register("persistentStateReset");const l=t.PLUGIN_KEY="persistentState",h=t.PLUGIN_PRIORITY=0;class u extends i.BasePlugin{constructor(){super(...arguments),(0,s.default)(this,"storage",void 0)}static get PLUGIN_KEY(){return l}static get PLUGIN_PRIORITY(){return h}isEnabled(){return!!this.hot.getSettings()[l]}enablePlugin(){this.enabled||(this.storage||(this.storage=new o.default(this.hot.rootElement.id,this.hot.rootWindow)),this.addHook("persistentStateSave",((e,t)=>this.saveValue(e,t))),this.addHook("persistentStateLoad",((e,t)=>this.loadValue(e,t))),this.addHook("persistentStateReset",(()=>this.resetValue())),super.enablePlugin())}disablePlugin(){this.storage=void 0,super.disablePlugin()}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}loadValue(e,t){t.value=this.storage.loadValue(e)}saveValue(e,t){this.storage.saveValue(e,t)}resetValue(e){void 0===e?this.storage.resetAll():this.storage.reset(e)}destroy(){super.destroy()}}t.PersistentState=u},98835:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724),r(66184);var s=n(r(85707)),i=r(10587);t.default=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;(0,s.default)(this,"rootWindow",void 0),(0,s.default)(this,"prefix",void 0),(0,s.default)(this,"savedKeys",[]),this.rootWindow=t,this.prefix=e,this.loadSavedKeys()}saveValue(e,t){this.rootWindow.localStorage.setItem(`${this.prefix}_${e}`,JSON.stringify(t)),-1===this.savedKeys.indexOf(e)&&(this.savedKeys.push(e),this.saveSavedKeys())}loadValue(e,t){const r=void 0===e?t:e,n=this.rootWindow.localStorage.getItem(`${this.prefix}_${r}`);return null===n?void 0:JSON.parse(n)}reset(e){this.rootWindow.localStorage.removeItem(`${this.prefix}_${e}`)}resetAll(){(0,i.arrayEach)(this.savedKeys,((e,t)=>{this.rootWindow.localStorage.removeItem(`${this.prefix}_${this.savedKeys[t]}`)})),this.clearSavedKeys()}loadSavedKeys(){const e=this.rootWindow.localStorage.getItem(`${this.prefix}__persistentStateKeys`),t="string"==typeof e?JSON.parse(e):void 0;this.savedKeys=t||[]}saveSavedKeys(){this.rootWindow.localStorage.setItem(`${this.prefix}__persistentStateKeys`,JSON.stringify(this.savedKeys))}clearSavedKeys(){this.savedKeys.length=0,this.saveSavedKeys()}}},74672:(e,t,r)=>{"use strict";t.__esModule=!0,t.getPlugin=c,t.getPluginsNames=function(){return[...l.getItems(),...h.getItems()]},t.hasPlugin=function(e){return!!c(e)},t.registerPlugin=function(e,t,r){[e,t,r]=function(e,t,r){"function"==typeof e&&(e=(t=e).PLUGIN_KEY,r=t.PLUGIN_PRIORITY);return[e,t,r]}(e,t,r),void 0===c(e)&&function(e,t,r){const s=(0,n.toUpperCaseFirst)(e);if(u.hasItem(s))throw new Error(a(s));void 0===r?h.addItem(s):l.addItem(r,s);u.addItem(s,t)}(e,t,r)},r(67834);var n=r(5893),s=r(38439),i=r(54394),o=r(74784);const a=e=>`There is already registered "${e}" plugin.`,l=(0,s.createPriorityMap)({errorPriorityExists:e=>`There is already registered plugin on priority "${e}".`,errorPriorityNaN:e=>`The priority "${e}" is not a number.`}),h=(0,o.createUniqueSet)({errorItemExists:a}),u=(0,i.createUniqueMap)({errorIdExists:a});function c(e){const t=(0,n.toUpperCaseFirst)(e);return u.getItem(t)}},64296:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(56866);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.Search=n.Search},56866:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724);var s=n(r(85707)),i=r(75089),o=r(25499),a=r(22137),l=r(70505);function h(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function u(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const c=t.PLUGIN_KEY="search",d=t.PLUGIN_PRIORITY=190,p=function(e,t,r,n,s){e.getCellMeta(t,r).isSearchResult=s},g=function(e,t,r){return!((0,l.isUndefined)(e)||null===e||!e.toLocaleLowerCase||0===e.length)&&(!(0,l.isUndefined)(t)&&null!==t&&-1!==t.toString().toLocaleLowerCase(r.locale).indexOf(e.toLocaleLowerCase(r.locale)))};var f=new WeakSet;class m extends i.BasePlugin{constructor(){super(...arguments),h(this,f),(0,s.default)(this,"callback",p),(0,s.default)(this,"queryMethod",g),(0,s.default)(this,"searchResultClass","htSearchResult")}static get PLUGIN_KEY(){return c}static get PLUGIN_PRIORITY(){return d}isEnabled(){return this.hot.getSettings()[c]}enablePlugin(){var e=this;if(this.enabled)return;const t=this.hot.getSettings()[c];this.updatePluginSettings(t),this.addHook("beforeRenderer",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return u(f,e,y).call(e,...r)})),super.enablePlugin()}disablePlugin(){var e=this;const t=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return u(f,e,y).call(e,...r)};this.hot.addHook("beforeRenderer",t),this.hot.addHookOnce("afterViewRender",(()=>{this.hot.removeHook("beforeRenderer",t)})),super.disablePlugin()}updatePlugin(){this.disablePlugin(),this.enablePlugin(),super.updatePlugin()}query(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getCallback(),r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.getQueryMethod();const n=this.hot.countRows(),s=this.hot.countCols(),i=[],o=this.hot;return(0,a.rangeEach)(0,n-1,(n=>{(0,a.rangeEach)(0,s-1,(s=>{const a=this.hot.getDataAtCell(n,s),l=this.hot.getCellMeta(n,s),h=l.search.callback||t,u=(l.search.queryMethod||r)(e,a,l);if(u){const e={row:n,col:s,data:a};i.push(e)}h&&h(o,n,s,a,u)}))})),i}getCallback(){return this.callback}setCallback(e){this.callback=e}getQueryMethod(){return this.queryMethod}setQueryMethod(e){this.queryMethod=e}getSearchResultClass(){return this.searchResultClass}setSearchResultClass(e){this.searchResultClass=e}updatePluginSettings(e){(0,o.isObject)(e)&&(e.searchResultClass&&this.setSearchResultClass(e.searchResultClass),e.queryMethod&&this.setQueryMethod(e.queryMethod),e.callback&&this.setCallback(e.callback))}destroy(){super.destroy()}}function y(e,t,r,n,s,i){const o=i.className||[];let a=[];"string"==typeof o?a=o.split(" "):a.push(...o),this.isEnabled()&&i.isSearchResult?a.includes(this.searchResultClass)||a.push(`${this.searchResultClass}`):a.includes(this.searchResultClass)&&a.splice(a.indexOf(this.searchResultClass),1),i.className=a.join(" ")}t.Search=m},74358:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834),r(14846),r(69655);var n=r(50206),s=r(62577),i=r(45603),o=r(6514);function a(e,t,r){l(e,t),t.set(e,r)}function l(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function h(e,t){return e.get(c(e,t))}function u(e,t,r){return e.set(c(e,t),r),r}function c(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var d=new WeakMap,p=new WeakMap,g=new WeakMap,f=new WeakMap,m=new WeakSet;function y(){const{view:e}=h(d,this);if(e.isVerticallyScrollableByWindow())return!1;const t=e.getViewportHeight(),r=h(d,this).countRows(),n=e.getStylesHandler().getDefaultRowHeight();let s=0,i=!1;for(let e=0;e<r;e++){var o;if(s+=(null!==(o=h(d,this).getRowHeight(e))&&void 0!==o?o:n)+(0===e?1:0),s>t){i=!0;break}}return i}function E(e){var t;return null!==(t=h(d,this).getColWidth(e,"StretchColumns"))&&void 0!==t?t:n.DEFAULT_COLUMN_WIDTH}function w(e,t){return h(d,this).runHooks("beforeStretchingColumnWidth",e,t)}t.StretchCalculator=class{constructor(e){var t,r;l(t=this,r=m),r.add(t),a(this,d,void 0),a(this,p,void 0),a(this,g,new Map([["all",new i.StretchAllStrategy(c(m,this,w).bind(this))],["last",new o.StretchLastStrategy(c(m,this,w).bind(this))]])),a(this,f,"none"),u(d,this,e),u(p,this,h(d,this).columnIndexMapper.createAndRegisterIndexMap("stretchColumns","physicalIndexToValue"))}useStrategy(e){u(f,this,h(g,this).has(e)?e:"none")}refreshStretching(){"none"!==h(f,this)?h(d,this).batchExecution((()=>{h(p,this).clear();const e=h(g,this).get(h(f,this));let t=h(d,this).view.getViewportWidth();c(m,this,y).call(this)&&(t-=(0,s.getScrollbarWidth)(h(d,this).rootDocument)),e.prepare({viewportWidth:t});for(let t=0;t<h(d,this).countCols();t++)h(d,this).columnIndexMapper.isHidden(h(d,this).toPhysicalColumn(t))||e.setColumnBaseWidth(t,c(m,this,E).call(this,t));e.calculate(),e.getWidths().forEach((e=>{let[t,r]=e;h(p,this).setValueAtIndex(h(d,this).toPhysicalColumn(t),r)}))}),!0):h(p,this).clear()}getStretchedWidth(e){return h(p,this).getValueAtIndex(h(d,this).toPhysicalColumn(e))}}},25392:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(61130);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.StretchColumns=n.StretchColumns},1104:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));t.StretchStrategy=class{constructor(e){(0,s.default)(this,"viewportWidth",void 0),(0,s.default)(this,"overwriteColumnWidthFn",void 0),(0,s.default)(this,"baseWidths",new Map),(0,s.default)(this,"stretchedWidths",new Map),this.overwriteColumnWidthFn=e}prepare(e){let{viewportWidth:t}=e;this.viewportWidth=t,this.baseWidths.clear(),this.stretchedWidths.clear()}setColumnBaseWidth(e,t){this.baseWidths.set(e,t)}calculate(){}getWidths(){return Array.from(this.stretchedWidths)}}},45603:(e,t,r)=>{"use strict";t.__esModule=!0,r(15724),r(14846),r(69655),r(90458);var n=r(50206),s=r(1104);class i extends s.StretchStrategy{calculate(){const e=Array.from(this.baseWidths).reduce(((e,t)=>{let[,r]=t;return e+r}),0);if(this.viewportWidth-e<0)return void this.stretchedWidths.clear();const t=this.viewportWidth/e,r=[],s=[];let i=this.viewportWidth,o=0;if(this.baseWidths.forEach(((e,a)=>{const l=Math.round(e*t),h=this.overwriteColumnWidthFn(l,a);l===h&&l>=n.DEFAULT_COLUMN_WIDTH?(r.push([a,h]),o+=h):l!==h&&(r.push([a,h]),s.push(a),i-=h)})),i<=n.DEFAULT_COLUMN_WIDTH)return void this.stretchedWidths.clear();const a=i/o;let l=-1,h=0;r.forEach(((e,t)=>{let[n,i]=e,o=i;s.includes(n)||(o=Math.round(i*a)),this.stretchedWidths.set(n,o),l=n,t<r.length-1&&(h+=o)})),this.stretchedWidths.size>1&&this.stretchedWidths.set(l,Math.round(this.viewportWidth-h))}}t.StretchAllStrategy=i},6514:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834),r(14846),r(90458);var n=r(1104);function s(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function i(e,t){return e.get(a(e,t))}function o(e,t,r){return e.set(a(e,t),r),r}function a(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var l=new WeakMap,h=new WeakMap;class u extends n.StretchStrategy{constructor(){super(...arguments),s(this,l,0),s(this,h,-1)}prepare(e){super.prepare(e),o(l,this,0),o(h,this,-1)}setColumnBaseWidth(e,t){super.setColumnBaseWidth(e,t),o(h,this,e),o(l,this,t)}calculate(){if(-1===i(h,this))return;const e=Array.from(this.baseWidths).reduce(((e,t)=>{let[,r]=t;return e+r}),0),t=Math.max(this.viewportWidth-e+i(l,this),0);this.stretchedWidths.set(i(h,this),t)}}t.StretchLastStrategy=u},61130:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834),r(14846),r(69655);var n=r(75089),s=r(74358);function i(e,t,r){o(e,t),t.set(e,r)}function o(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function a(e,t,r){return e.set(h(e,t),r),r}function l(e,t){return e.get(h(e,t))}function h(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const u=t.PLUGIN_KEY="stretchColumns",c=t.PLUGIN_PRIORITY=155;var d=new WeakMap,p=new WeakMap,g=new WeakMap,f=new WeakSet;class m extends n.BasePlugin{constructor(){var e,t;super(...arguments),o(e=this,t=f),t.add(e),i(this,d,new s.StretchCalculator(this.hot)),i(this,p,null),i(this,g,new ResizeObserver((e=>{requestAnimationFrame((()=>{var t;null!==(t=this.hot)&&void 0!==t&&t.view.isHorizontallyScrollableByWindow()&&e.forEach((e=>{let{contentRect:t}=e;null!==l(p,this)&&l(p,this)!==t.width&&(this.hot.refreshDimensions(),this.hot.view.adjustElementsSize()),a(p,this,t.width)}))}))})))}static get PLUGIN_KEY(){return u}static get PLUGIN_PRIORITY(){return c}static get SETTING_KEYS(){return!0}isEnabled(){return["all","last"].includes(this.hot.getSettings().stretchH)}enablePlugin(){var e=this;this.enabled||(l(d,this).useStrategy(this.hot.getSettings().stretchH),l(g,this).observe(this.hot.rootElement),this.addHook("beforeRender",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return h(f,e,E).call(e,...r)})),this.addHook("modifyColWidth",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return h(f,e,y).call(e,...r)}),10),super.enablePlugin())}updatePlugin(){l(d,this).useStrategy(this.hot.getSettings().stretchH),super.updatePlugin()}disablePlugin(){super.disablePlugin(),l(g,this).unobserve(this.hot.rootElement)}getColumnWidth(e){return l(d,this).getStretchedWidth(e)}destroy(){l(g,this).disconnect(),a(g,this,null),a(d,this,null),super.destroy()}}function y(e,t,r){if(r===this.pluginName)return;const n=this.getColumnWidth(t);return"number"==typeof n?n:e}function E(e){e&&l(d,this).refreshStretching()}t.StretchColumns=m},51958:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(79884);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.TouchScroll=n.TouchScroll},79884:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724);var s=n(r(85707)),i=r(62577),o=r(10587),a=r(75089),l=r(85992);function h(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function u(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const c=t.PLUGIN_KEY="touchScroll",d=t.PLUGIN_PRIORITY=200;var p=new WeakSet;class g extends a.BasePlugin{constructor(){super(...arguments),h(this,p),(0,s.default)(this,"scrollbars",[]),(0,s.default)(this,"clones",[]),(0,s.default)(this,"lockedCollection",!1),(0,s.default)(this,"freezeOverlays",!1)}static get PLUGIN_KEY(){return c}static get PLUGIN_PRIORITY(){return d}static get SETTING_KEYS(){return!0}isEnabled(){return(0,l.isTouchSupported)()}enablePlugin(){this.enabled||(this.addHook("afterViewRender",(()=>u(p,this,f).call(this))),this.registerEvents(),super.enablePlugin())}updatePlugin(){this.lockedCollection=!1,super.updatePlugin()}disablePlugin(){super.disablePlugin()}registerEvents(){this.addHook("beforeTouchScroll",(()=>u(p,this,m).call(this))),this.addHook("afterMomentumScroll",(()=>u(p,this,y).call(this)))}}function f(){if(this.lockedCollection)return;const{topOverlay:e,bottomOverlay:t,inlineStartOverlay:r,topInlineStartCornerOverlay:n,bottomInlineStartCornerOverlay:s}=this.hot.view._wt.wtOverlays;this.lockedCollection=!0,this.scrollbars.length=0,this.scrollbars.push(e),t.clone&&this.scrollbars.push(t),this.scrollbars.push(r),n&&this.scrollbars.push(n),s&&s.clone&&this.scrollbars.push(s),this.clones=[],e.needFullRender&&this.clones.push(e.clone.wtTable.holder.parentNode),t.needFullRender&&this.clones.push(t.clone.wtTable.holder.parentNode),r.needFullRender&&this.clones.push(r.clone.wtTable.holder.parentNode),n&&this.clones.push(n.clone.wtTable.holder.parentNode),s&&s.clone&&this.clones.push(s.clone.wtTable.holder.parentNode)}function m(){this.freezeOverlays=!0,(0,o.arrayEach)(this.clones,(e=>{(0,i.addClass)(e,"hide-tween")}))}function y(){this.freezeOverlays=!1,(0,o.arrayEach)(this.clones,(e=>{(0,i.removeClass)(e,"hide-tween"),(0,i.addClass)(e,"show-tween")})),this.hot._registerTimeout((()=>{(0,o.arrayEach)(this.clones,(e=>{(0,i.removeClass)(e,"show-tween")}))}),400),(0,o.arrayEach)(this.scrollbars,(e=>{e.refresh(),e.resetFixedPosition()})),this.hot.view._wt.wtOverlays.syncScrollWithMaster()}t.TouchScroll=g},47237:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(88248);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.TrimRows=n.TrimRows},88248:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(63333);var s=n(r(85707)),i=r(75089),o=r(61149),a=r(10587);function l(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}const h=t.PLUGIN_KEY="trimRows",u=t.PLUGIN_PRIORITY=330;var c=new WeakSet;class d extends i.BasePlugin{constructor(){super(...arguments),l(this,c),(0,s.default)(this,"trimmedRowsMap",null)}static get PLUGIN_KEY(){return h}static get PLUGIN_PRIORITY(){return u}isEnabled(){return!!this.hot.getSettings()[h]}enablePlugin(){this.enabled||(this.trimmedRowsMap=this.hot.rowIndexMapper.registerMap("trimRows",new o.TrimmingMap),this.trimmedRowsMap.addLocalHook("init",(()=>function(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}(c,this,p).call(this))),super.enablePlugin())}updatePlugin(){const e=this.hot.getSettings()[h];Array.isArray(e)&&this.hot.batchExecution((()=>{this.trimmedRowsMap.clear(),(0,a.arrayEach)(e,(e=>{this.trimmedRowsMap.setValueAtIndex(e,!0)}))}),!0),super.updatePlugin()}disablePlugin(){this.hot.rowIndexMapper.unregisterMap("trimRows"),super.disablePlugin()}getTrimmedRows(){return this.trimmedRowsMap.getTrimmedIndexes()}trimRows(e){const t=this.getTrimmedRows(),r=this.isValidConfig(e);let n=t;r&&(n=Array.from(new Set(t.concat(e))));!1!==this.hot.runHooks("beforeTrimRow",t,n,r)&&(r&&this.hot.batchExecution((()=>{(0,a.arrayEach)(e,(e=>{this.trimmedRowsMap.setValueAtIndex(e,!0)}))}),!0),this.hot.runHooks("afterTrimRow",t,n,r,r&&n.length>t.length))}trimRow(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.trimRows(t)}untrimRows(e){const t=this.getTrimmedRows(),r=this.isValidConfig(e);let n=t;const s=this.trimmedRowsMap.getValues().slice(),i=e.length>0;r&&i&&((0,a.arrayEach)(e,(e=>{s[e]=!1})),n=(0,a.arrayReduce)(s,((e,t,r)=>(t&&e.push(r),e)),[]));!1!==this.hot.runHooks("beforeUntrimRow",t,n,r&&i)&&(r&&i&&this.trimmedRowsMap.setValues(s),this.hot.runHooks("afterUntrimRow",t,n,r&&i,r&&n.length<t.length))}untrimRow(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.untrimRows(t)}isTrimmed(e){return this.trimmedRowsMap.getValueAtIndex(e)||!1}untrimAll(){this.untrimRows(this.getTrimmedRows())}isValidConfig(e){const t=this.hot.countSourceRows();return e.every((e=>Number.isInteger(e)&&e>=0&&e<t))}destroy(){super.destroy()}}function p(){const e=this.hot.getSettings()[h];Array.isArray(e)&&this.hot.batchExecution((()=>{(0,a.arrayEach)(e,(e=>{this.trimmedRowsMap.setValueAtIndex(e,!0)}))}),!0)}t.TrimRows=d},88814:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834);t.BaseAction=class{undo(){throw new Error("Not implemented")}redo(){throw new Error("Not implemented")}}},71659:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(88814),o=r(21577),a=r(10587);class l extends i.BaseAction{constructor(e){let{stateBefore:t,range:r,type:n,alignment:i}=e;super(),(0,s.default)(this,"stateBefore",void 0),(0,s.default)(this,"range",void 0),(0,s.default)(this,"type",void 0),(0,s.default)(this,"alignment",void 0),this.stateBefore=t,this.range=r,this.type=n,this.alignment=i}static startRegisteringEvents(e,t){e.addHook("beforeCellAlignment",((e,r,n,s)=>{t.done((()=>new l({stateBefore:e,range:r,type:n,alignment:s})))}))}undo(e,t){(0,a.arrayEach)(this.range,(t=>{t.forAll(((t,r)=>{t>=0&&r>=0&&e.setCellMeta(t,r,"className",this.stateBefore[t][r]||" htLeft")}))})),e.addHookOnce("afterViewRender",t),e.render()}redo(e,t){(0,o.align)(this.range,this.type,this.alignment,((t,r)=>e.getCellMeta(t,r)),((t,r,n,s)=>e.setCellMeta(t,r,n,s))),e.addHookOnce("afterViewRender",t),e.render()}}t.CellAlignmentAction=l},44395:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(14846),r(69655);var s=n(r(85707)),i=r(88814),o=r(4980);class a extends i.BaseAction{constructor(e){let{columns:t,finalIndex:r}=e;super(),(0,s.default)(this,"columns",void 0),(0,s.default)(this,"finalColumnIndex",void 0),this.columns=t.slice(),this.finalColumnIndex=r}static startRegisteringEvents(e,t){e.addHook("beforeColumnMove",((e,r)=>{!1!==e&&t.done((()=>new a({columns:e,finalIndex:r})))}))}undo(e,t){const r=e.getPlugin("manualColumnMove");e.addHookOnce("afterViewRender",t);(0,o.getMoves)(this.columns,this.finalColumnIndex,e.columnIndexMapper.getNumberOfIndexes()).reverse().forEach((e=>{let{from:t,to:n}=e;t<n&&(n-=1),r.moveColumn(n,t)})),e.render(),e.deselectCell(),e.selectColumns(this.columns[0],this.columns[0]+this.columns.length-1)}redo(e,t){const r=e.getPlugin("manualColumnMove");e.addHookOnce("afterViewRender",t),r.moveColumns(this.columns.slice(),this.finalColumnIndex),e.render(),e.deselectCell(),e.selectColumns(this.finalColumnIndex,this.finalColumnIndex+this.columns.length-1)}}t.ColumnMoveAction=a},13258:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(88814);class o extends i.BaseAction{constructor(e){let{currentSortState:t,newSortState:r}=e;super(),(0,s.default)(this,"previousSortState",void 0),(0,s.default)(this,"nextSortState",void 0),this.previousSortState=t,this.nextSortState=r}static startRegisteringEvents(e,t){e.addHook("beforeColumnSort",((e,r,n)=>{n&&t.done((()=>new o({currentSortState:e,newSortState:r})))}))}undo(e,t){const r=e.getPlugin("columnSorting"),n=e.getPlugin("multiColumnSorting"),s=n.isEnabled()?n:r;this.previousSortState.length?s.sort(this.previousSortState):s.clearSort(),t()}redo(e,t){const r=e.getPlugin("columnSorting"),n=e.getPlugin("multiColumnSorting");(n.isEnabled()?n:r).sort(this.nextSortState),t()}}t.ColumnSortAction=o},47430:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(88814);class o extends i.BaseAction{constructor(e){let{index:t,amount:r}=e;super(),(0,s.default)(this,"index",void 0),(0,s.default)(this,"amount",void 0),this.index=t,this.amount=r}static startRegisteringEvents(e,t){e.addHook("afterCreateCol",((e,r,n)=>{t.done((()=>new o({index:e,amount:r})),n)}))}undo(e,t){e.addHookOnce("afterRemoveCol",t),e.alter("remove_col",this.index,this.amount,"UndoRedo.undo")}redo(e,t){e.addHookOnce("afterCreateCol",t),e.alter("insert_col_start",this.index,this.amount,"UndoRedo.redo")}}t.CreateColumnAction=o},78246:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(88814);class o extends i.BaseAction{constructor(e){let{index:t,amount:r}=e;super(),(0,s.default)(this,"index",void 0),(0,s.default)(this,"amount",void 0),this.index=t,this.amount=r}static startRegisteringEvents(e,t){e.addHook("afterCreateRow",((e,r,n)=>{t.done((()=>new o({index:e,amount:r})),n)}))}undo(e,t){const r=e.countRows(),n=e.getSettings().minSpareRows;this.index>=r&&this.index-n<r&&(this.index-=n),e.addHookOnce("afterRemoveRow",t),e.alter("remove_row",this.index,this.amount,"UndoRedo.undo")}redo(e,t){e.addHookOnce("afterCreateRow",t),e.alter("insert_row_above",this.index,this.amount,"UndoRedo.redo")}}t.CreateRowAction=o},43424:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724),r(14846),r(6211),r(69655),r(90458);var s=n(r(85707)),i=r(88814),o=r(25499);class a extends i.BaseAction{constructor(e){let{changes:t,selected:r,countCols:n,countRows:i}=e;super(),(0,s.default)(this,"changes",void 0),(0,s.default)(this,"selected",void 0),(0,s.default)(this,"countCols",void 0),(0,s.default)(this,"countRows",void 0),this.changes=t,this.selected=r,this.countCols=n,this.countRows=i}static startRegisteringEvents(e,t){e.addHook("beforeChange",(function(r,n){const s=r&&r.length;if(!s)return;if(!r.find((e=>{const[,,t,r]=e;return t!==r})))return;t.done((()=>{const t=r.reduce(((e,t)=>(e.push([...t]),e)),[]);t.forEach((t=>{t[1]=e.propToCol(t[1])}));const n=s>1?this.getSelected():[[t[0][0],t[0][1]]];return new a({changes:t,selected:n,countCols:e.countCols(),countRows:e.countRows()})}),n)}))}undo(e,t){const r=(0,o.deepClone)(this.changes);for(let e=0,t=r.length;e<t;e++)r[e].splice(3,1);e.addHookOnce("afterChange",t),e.setDataAtCell(r,null,null,"UndoRedo.undo");const n=e.countRows()-this.countRows;n>0&&e.alter("remove_row",null,n,"UndoRedo.undo");const s=e.countCols()-this.countCols;s>0&&e.isColumnModificationAllowed()&&e.alter("remove_col",null,s,"UndoRedo.undo"),e.scrollToFocusedCell(),e.selectCells(this.selected,!1,!1)}redo(e,t){const r=(0,o.deepClone)(this.changes);for(let e=0,t=r.length;e<t;e++)r[e].splice(2,1);e.addHookOnce("afterChange",t),e.setDataAtCell(r,null,null,"UndoRedo.redo"),this.selected&&e.selectCells(this.selected,!1,!1)}}t.DataChangeAction=a},3809:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(14846),r(27458);var s=n(r(85707)),i=r(88814);class o extends i.BaseAction{constructor(e){let{conditionsStack:t,previousConditionsStack:r}=e;super(),(0,s.default)(this,"conditionsStack",void 0),(0,s.default)(this,"previousConditionsStack",void 0),this.conditionsStack=t,this.previousConditionsStack=r}static startRegisteringEvents(e,t){e.addHook("beforeFilter",((e,r)=>{t.done((()=>new o({conditionsStack:e,previousConditionsStack:r})))}))}undo(e,t){const r=e.getPlugin("filters");e.addHookOnce("afterViewRender",t),r.conditionCollection.importAllConditions(this.previousConditionsStack),r.filter()}redo(e,t){const r=e.getPlugin("filters");e.addHookOnce("afterViewRender",t),r.conditionCollection.importAllConditions(this.conditionsStack),r.filter()}}t.FiltersAction=o},37990:(e,t,r)=>{"use strict";t.__esModule=!0,t.registerActions=function(e,t){[n.CellAlignmentAction,s.ColumnMoveAction,i.ColumnSortAction,o.CreateColumnAction,a.CreateRowAction,l.DataChangeAction,h.FiltersAction,u.MergeCellsAction,c.RemoveColumnAction,d.RemoveRowAction,p.RowMoveAction,g.UnmergeCellsAction].forEach((r=>r.startRegisteringEvents(e,t)))},r(14846),r(69655);var n=r(71659),s=r(44395),i=r(13258),o=r(47430),a=r(78246),l=r(43424),h=r(3809),u=r(25789),c=r(23378),d=r(99506),p=r(44587),g=r(21050)},25789:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(88814);class o extends i.BaseAction{constructor(e){let{data:t,cellRange:r}=e;super(),(0,s.default)(this,"cellRange",void 0),this.cellRange=r,this.data=t}static startRegisteringEvents(e,t){e.addHook("beforeMergeCells",((r,n)=>{if(n)return;const s=r.getTopStartCorner(),i=r.getBottomEndCorner(),a=e.getData(s.row,s.col,i.row,i.col);t.done((()=>new o({data:a,cellRange:r})))}))}undo(e,t){const r=e.getPlugin("mergeCells");e.addHookOnce("afterViewRender",t),r.unmergeRange(this.cellRange,!0);const n=this.cellRange.getTopStartCorner();e.populateFromArray(n.row,n.col,this.data,void 0,void 0,"MergeCells")}redo(e,t){const r=e.getPlugin("mergeCells");e.addHookOnce("afterViewRender",t),r.mergeRange(this.cellRange)}}t.MergeCellsAction=o},23378:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724),r(14846),r(69655);var s=n(r(85707)),i=r(88814),o=r(38364),a=r(22137),l=r(10587);class h extends i.BaseAction{constructor(e){let{index:t,indexes:r,data:n,headers:i,columnPositions:o,rowPositions:a,fixedColumnsStart:l,removedCellMetas:h}=e;super(),(0,s.default)(this,"index",void 0),(0,s.default)(this,"indexes",void 0),(0,s.default)(this,"data",void 0),(0,s.default)(this,"amount",void 0),(0,s.default)(this,"headers",void 0),(0,s.default)(this,"columnPositions",void 0),(0,s.default)(this,"rowPositions",void 0),(0,s.default)(this,"fixedColumnsStart",void 0),(0,s.default)(this,"removedCellMetas",void 0),this.index=t,this.indexes=r,this.data=n,this.amount=this.data[0].length,this.headers=i,this.columnPositions=o.slice(0),this.rowPositions=a.slice(0),this.fixedColumnsStart=l,this.removedCellMetas=h}static startRegisteringEvents(e,t){e.addHook("beforeRemoveCol",((r,n,s,i)=>{t.done((()=>{const t=e.getSourceDataArray(),s=(e.countCols()+r)%e.countCols(),i=s+n-1,l=[],u=[],c=[];(0,a.rangeEach)(t.length-1,(r=>{const n=[],o=t[r];(0,a.rangeEach)(s,i,(t=>{n.push(o[e.toPhysicalColumn(t)])})),l.push(n)})),(0,a.rangeEach)(n-1,(t=>{c.push(e.toPhysicalColumn(s+t))})),Array.isArray(e.getSettings().colHeaders)&&(0,a.rangeEach)(n-1,(t=>{u.push(e.getSettings().colHeaders[e.toPhysicalColumn(s+t)]||null)}));const d=e.columnIndexMapper.getIndexesSequence(),p=e.rowIndexMapper.getIndexesSequence();return new h({index:s,indexes:c,data:l,headers:u,columnPositions:d,rowPositions:p,fixedColumnsStart:e.getSettings().fixedColumnsStart,removedCellMetas:(0,o.getCellMetas)(e,0,e.countRows(),s,i)})}),i)}))}undo(e,t){e.getSettings().fixedColumnsStart=this.fixedColumnsStart;const r=this.indexes.slice(0).sort(),n=(e,t,n)=>n[this.indexes.indexOf(r[t])],s=this.data.length,i=[];for(let e=0;e<s;e++)i.push((0,l.arrayMap)(this.data[e],n));const o=(0,l.arrayMap)(this.headers,n),a=[];e.alter("insert_col_start",this.indexes[0],this.indexes.length,"UndoRedo.undo"),(0,l.arrayEach)(e.getSourceDataArray(),((e,t)=>{(0,l.arrayEach)(r,((r,n)=>{e[r]=i[t][n],a.push([t,r,e[r]])}))})),e.setSourceDataAtCell(a,void 0,void 0,"UndoRedo.undo"),void 0!==this.headers&&(0,l.arrayEach)(o,((t,n)=>{e.getSettings().colHeaders[r[n]]=t})),this.removedCellMetas.forEach((t=>{let[r,n,s]=t;e.setCellMetaObject(r,n,s)})),e.batchExecution((()=>{e.rowIndexMapper.setIndexesSequence(this.rowPositions),e.columnIndexMapper.setIndexesSequence(this.columnPositions)}),!0),e.addHookOnce("afterViewRender",t),e.render()}redo(e,t){e.addHookOnce("afterRemoveCol",t),e.alter("remove_col",this.index,this.amount,"UndoRedo.redo")}}t.RemoveColumnAction=h},99506:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724),r(14846),r(69655);var s=n(r(85707)),i=r(88814),o=r(38364),a=r(25499);class l extends i.BaseAction{constructor(e){let{index:t,data:r,fixedRowsBottom:n,fixedRowsTop:i,rowIndexesSequence:o,removedCellMetas:a}=e;super(),(0,s.default)(this,"index",void 0),(0,s.default)(this,"data",void 0),(0,s.default)(this,"fixedRowsBottom",void 0),(0,s.default)(this,"fixedRowsTop",void 0),(0,s.default)(this,"rowIndexesSequence",void 0),(0,s.default)(this,"removedCellMetas",void 0),this.index=t,this.data=r,this.fixedRowsBottom=n,this.fixedRowsTop=i,this.rowIndexesSequence=o,this.removedCellMetas=a}static startRegisteringEvents(e,t){e.addHook("beforeRemoveRow",((r,n,s,i)=>{t.done((()=>{const t=e.toPhysicalRow(r),s=t+n-1,i=(0,a.deepClone)(e.getSourceData(t,0,t+n-1,e.countSourceCols()-1));return new l({index:t,data:i,fixedRowsBottom:e.getSettings().fixedRowsBottom,fixedRowsTop:e.getSettings().fixedRowsTop,rowIndexesSequence:e.rowIndexMapper.getIndexesSequence(),removedCellMetas:(0,o.getCellMetas)(e,t,s,0,e.countCols()-1)})}),i)}))}undo(e,t){const r=e.getSettings(),n=[];r.fixedRowsBottom=this.fixedRowsBottom,r.fixedRowsTop=this.fixedRowsTop,this.data.forEach(((e,t)=>{Object.keys(e).forEach((r=>{const s=parseInt(r,10);n.push([this.index+t,isNaN(s)?r:s,e[r]])}))})),e.alter("insert_row_above",this.index,this.data.length,"UndoRedo.undo"),this.removedCellMetas.forEach((t=>{let[r,n,s]=t;e.setCellMetaObject(r,n,s)})),e.addHookOnce("afterViewRender",t),e.setSourceDataAtCell(n,null,null,"UndoRedo.undo"),e.rowIndexMapper.setIndexesSequence(this.rowIndexesSequence)}redo(e,t){e.addHookOnce("afterRemoveRow",t),e.alter("remove_row",this.index,this.data.length,"UndoRedo.redo")}}t.RemoveRowAction=l},44587:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(14846),r(69655);var s=n(r(85707)),i=r(88814),o=r(4980);class a extends i.BaseAction{constructor(e){let{rows:t,finalIndex:r}=e;super(),(0,s.default)(this,"rows",void 0),(0,s.default)(this,"finalRowIndex",void 0),this.rows=t.slice(),this.finalRowIndex=r}static startRegisteringEvents(e,t){e.addHook("beforeRowMove",((e,r)=>{!1!==e&&t.done((()=>new a({rows:e,finalIndex:r})))}))}undo(e,t){const r=e.getPlugin("manualRowMove");e.addHookOnce("afterViewRender",t);(0,o.getMoves)(this.rows,this.finalRowIndex,e.rowIndexMapper.getNumberOfIndexes()).reverse().forEach((e=>{let{from:t,to:n}=e;t<n&&(n-=1),r.moveRow(n,t)})),e.render(),e.deselectCell(),e.selectRows(this.rows[0],this.rows[0]+this.rows.length-1)}redo(e,t){const r=e.getPlugin("manualRowMove");e.addHookOnce("afterViewRender",t),r.moveRows(this.rows.slice(),this.finalRowIndex),e.render(),e.deselectCell(),e.selectRows(this.finalRowIndex,this.finalRowIndex+this.rows.length-1)}}t.RowMoveAction=a},21050:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(88814);class o extends i.BaseAction{constructor(e){let{cellRange:t}=e;super(),(0,s.default)(this,"cellRange",void 0),this.cellRange=t}static startRegisteringEvents(e,t){e.addHook("afterUnmergeCells",((e,r)=>{r||t.done((()=>new o({cellRange:e})))}))}undo(e,t){const r=e.getPlugin("mergeCells");e.addHookOnce("afterViewRender",t),r.mergeRange(this.cellRange,!0)}redo(e,t){const r=e.getPlugin("mergeCells");e.addHookOnce("afterViewRender",t),r.unmergeRange(this.cellRange,!0),e.render()}}t.UnmergeCellsAction=o},79262:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(49590);t.PLUGIN_KEY=n.PLUGIN_KEY,t.PLUGIN_PRIORITY=n.PLUGIN_PRIORITY,t.UndoRedo=n.UndoRedo},49590:(e,t,r)=>{"use strict";r(67834);var n=r(96784);t.__esModule=!0;var s=n(r(85707));r(15724),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620);var i=r(75089),o=r(28197),a=r(25499),l=r(21595),h=r(14859),u=r(37990);function c(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function d(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const p="undoRedo",g=t.PLUGIN_KEY="undoRedo",f=t.PLUGIN_PRIORITY=1e3;o.Hooks.getSingleton().register("beforeUndo"),o.Hooks.getSingleton().register("afterUndo"),o.Hooks.getSingleton().register("beforeRedo"),o.Hooks.getSingleton().register("afterRedo");const m=new Set;var y=new WeakSet;class E extends i.BasePlugin{static get PLUGIN_KEY(){return g}static get PLUGIN_PRIORITY(){return f}static get SETTING_KEYS(){return!0}constructor(e){super(e),c(this,y),(0,s.default)(this,"doneActions",[]),(0,s.default)(this,"undoneActions",[]),(0,s.default)(this,"ignoreNewActions",!1),(0,u.registerActions)(e,this)}isEnabled(){return!!this.hot.getSettings().undo}enablePlugin(){var e=this;this.enabled||(this.addHook("afterChange",(function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return d(y,e,w).call(e,...r)})),this.registerShortcuts(),d(y,this,C).call(this),super.enablePlugin())}disablePlugin(){super.disablePlugin(),this.clear(),this.unregisterShortcuts(),d(y,this,v).call(this)}registerShortcuts(){const e=this.hot.getShortcutManager().getContext("grid"),t={runOnlyIf:e=>!e.altKey,group:p};e.addShortcuts([{keys:[["Control/Meta","z"]],callback:()=>{this.undo()}},{keys:[["Control/Meta","y"],["Control/Meta","Shift","z"]],callback:()=>{this.redo()}}],t)}unregisterShortcuts(){this.hot.getShortcutManager().getContext("grid").removeShortcutsByGroup(p)}done(e,t){if(this.ignoreNewActions)return;if("UndoRedo.undo"===t||"UndoRedo.redo"===t||"auto"===t)return;const r=this.doneActions.slice();if(!1===this.hot.runHooks("beforeUndoStackChange",r,t))return;const n=e(),s=this.undoneActions.slice();this.doneActions.push(n),this.hot.runHooks("afterUndoStackChange",r,this.doneActions.slice()),this.hot.runHooks("beforeRedoStackChange",s),this.undoneActions.length=0,this.hot.runHooks("afterRedoStackChange",s,this.undoneActions.slice())}undo(){if(!this.isUndoAvailable())return;const e=this.doneActions.slice();this.hot.runHooks("beforeUndoStackChange",e);const t=this.doneActions.pop();this.hot.runHooks("afterUndoStackChange",e,this.doneActions.slice());const r=(0,a.deepClone)(t);if(!1===this.hot.runHooks("beforeUndo",r))return;this.ignoreNewActions=!0;const n=this.undoneActions.slice();this.hot.runHooks("beforeRedoStackChange",n),t.undo(this.hot,(()=>{this.ignoreNewActions=!1,this.undoneActions.push(t)})),this.hot.runHooks("afterRedoStackChange",n,this.undoneActions.slice()),this.hot.runHooks("afterUndo",r)}redo(){if(!this.isRedoAvailable())return;const e=this.undoneActions.slice();this.hot.runHooks("beforeRedoStackChange",e);const t=this.undoneActions.pop();this.hot.runHooks("afterRedoStackChange",e,this.undoneActions.slice());const r=(0,a.deepClone)(t);if(!1===this.hot.runHooks("beforeRedo",r))return;this.ignoreNewActions=!0;const n=this.doneActions.slice();this.hot.runHooks("beforeUndoStackChange",n),t.redo(this.hot,(()=>{this.ignoreNewActions=!1,this.doneActions.push(t)})),this.hot.runHooks("afterUndoStackChange",n,this.doneActions.slice()),this.hot.runHooks("afterRedo",r)}isUndoAvailable(){return this.doneActions.length>0}isRedoAvailable(){return this.undoneActions.length>0}clear(){this.doneActions.length=0,this.undoneActions.length=0}destroy(){this.clear(),this.doneActions=null,this.undoneActions=null,super.destroy()}}function w(e,t){"loadData"===t&&this.clear()}function C(){const e=e=>{m.has(e)||((0,h.warn)(l.toSingleLine`The "${e}" method is deprecated and it will be removed\x20
          from the Core API in the future. Please use the method from the UndoRedo plugin\x20
          (e.g. \`hotInstance.getPlugin("undoRedo").${e}()\`).`),m.add(e))};this.hot.undo=()=>{e("undo"),this.undo()},this.hot.redo=()=>{e("redo"),this.redo()},this.hot.isUndoAvailable=()=>(e("isUndoAvailable"),this.isUndoAvailable()),this.hot.isRedoAvailable=()=>(e("isRedoAvailable"),this.isRedoAvailable()),this.hot.clearUndo=()=>{e("clear"),this.clear()},this.hot.undoRedo=this}function v(){delete this.hot.undo,delete this.hot.redo,delete this.hot.isUndoAvailable,delete this.hot.isRedoAvailable,delete this.hot.clearUndo,delete this.hot.undoRedo}t.UndoRedo=E},38364:(e,t,r)=>{"use strict";t.__esModule=!0,t.getCellMetas=function(e,t,r,s,i){const o=["visualRow","visualCol","row","col","prop"],a=o.length,l=[];return(0,n.rangeEach)(s,i,(s=>{(0,n.rangeEach)(t,r,(t=>{const r=e.getCellMeta(t,s);if(Object.keys(r).length!==a){const e=Object.fromEntries(Object.entries(r).filter((e=>{let[t]=e;return!1===o.includes(t)})));l.push([r.visualRow,r.visualCol,e])}}))})),l},r(15724),r(75339),r(14846),r(27458);var n=r(22137)},45793:(e,t,r)=>{"use strict";t.__esModule=!0,t.registerAllModules=function(){(0,n.registerAllEditors)(),(0,s.registerAllRenderers)(),(0,i.registerAllValidators)(),(0,o.registerAllCellTypes)(),(0,a.registerAllPlugins)()};var n=r(14417);t.registerAllEditors=n.registerAllEditors;var s=r(14955);t.registerAllRenderers=s.registerAllRenderers;var i=r(41602);t.registerAllValidators=i.registerAllValidators;var o=r(14758);t.registerAllCellTypes=o.registerAllCellTypes;var a=r(50927);t.registerAllPlugins=a.registerAllPlugins},53420:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.autocompleteRenderer=u;var s=r(17242),i=r(85096),o=n(r(3849)),a=r(62577),l=r(71120);const h=t.RENDERER_TYPE="autocomplete";function u(e,t,r,n,h,u,c){const{rootDocument:d}=e,p=c.allowHtml?s.htmlRenderer:i.textRenderer,g=d.createElement("DIV"),f=e.getSettings().ariaTags;if(g.className="htAutocompleteArrow",f&&g.setAttribute(...(0,l.A11Y_HIDDEN)()),g.appendChild(d.createTextNode(String.fromCharCode(9660))),p.apply(this,[e,t,r,n,h,u,c]),t.firstChild||t.appendChild(d.createTextNode(String.fromCharCode(160))),t.insertBefore(g,t.firstChild),(0,a.addClass)(t,"htAutocomplete"),!e.acArrowListener){const s=new o.default(e);e.acArrowListener=function(s){(0,a.hasClass)(s.target,"htAutocompleteArrow")&&e.view._wt.getSetting("onCellDblClick",null,e._createCellCoords(r,n),t)},s.addEventListener(e.rootElement,"mousedown",e.acArrowListener),e.addHookOnce("afterDestroy",(()=>{s.destroy()}))}}u.RENDERER_TYPE=h},36759:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(53420);t.RENDERER_TYPE=n.RENDERER_TYPE,t.autocompleteRenderer=n.autocompleteRenderer},33518:(e,t,r)=>{"use strict";t.__esModule=!0,t.baseRenderer=o,r(15724);var n=r(62577),s=r(71120);const i=t.RENDERER_TYPE="base";function o(e,t,r,i,o,a,l){const h=l.ariaTags,u=[],c=[],d=[],p=[];l.className&&(0,n.addClass)(t,l.className),l.readOnly?(u.push(l.readOnlyCellClassName),h&&p.push((0,s.A11Y_READONLY)())):h&&d.push((0,s.A11Y_READONLY)()[0]),!1===l.valid&&l.invalidCellClassName?(u.push(l.invalidCellClassName),h&&p.push((0,s.A11Y_INVALID)())):(c.push(l.invalidCellClassName),h&&d.push((0,s.A11Y_INVALID)()[0])),!1===l.wordWrap&&l.noWordWrapClassName&&u.push(l.noWordWrapClassName),!a&&l.placeholder&&u.push(l.placeholderCellClassName),(0,n.removeClass)(t,c),(0,n.addClass)(t,u),(0,n.removeAttribute)(t,d),(0,n.setAttribute)(t,p)}o.RENDERER_TYPE=i},84250:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(33518);t.RENDERER_TYPE=n.RENDERER_TYPE,t.baseRenderer=n.baseRenderer},53942:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.checkboxRenderer=w,r(15724),r(14846),r(63333),r(94364);var s=r(84250),i=n(r(3849)),o=r(62577),a=r(70505),l=r(92399),h=r(28197),u=r(71120),c=r(23384);const d=new WeakMap,p=new WeakMap,g="htBadValue",f="data-row",m="data-col",y="checkboxRenderer",E=t.RENDERER_TYPE="checkbox";function w(e,t,r,n,h,E,w){const{rootDocument:v}=e,R=e.getSettings().ariaTags;s.baseRenderer.apply(this,[e,t,r,n,h,E,w]),function(e){let t=p.get(e);if(!t){const{rootElement:r}=e;t=new i.default(e),t.addEventListener(r,"click",(t=>function(e,t){const{target:r}=e;if(!C(r))return;if(!r.hasAttribute(f)||!r.hasAttribute(m))return;const n=parseInt(r.getAttribute(f),10),s=parseInt(r.getAttribute(m),10),i=t.getCellMeta(n,s);i.readOnly&&e.preventDefault()}(t,e))),t.addEventListener(r,"mouseup",(t=>function(e,t){const{target:r}=e;if(!C(r))return;if(!r.hasAttribute(f)||!r.hasAttribute(m))return;setTimeout(t.listen,10)}(t,e))),t.addEventListener(r,"change",(t=>function(e,t){const{target:r}=e;if(!C(r))return;if(!r.hasAttribute(f)||!r.hasAttribute(m))return;const n=parseInt(r.getAttribute(f),10),s=parseInt(r.getAttribute(m),10),i=t.getCellMeta(n,s);if(!i.readOnly){let r=null;r=e.target.checked?void 0===i.uncheckedTemplate||i.checkedTemplate:void 0!==i.uncheckedTemplate&&i.uncheckedTemplate,t.setDataAtCell(n,s,r)}}(t,e))),p.set(e,t)}}(e);let S=function(e){const t=e.createElement("input");return t.className="htCheckboxRendererInput",t.type="checkbox",t.setAttribute("tabindex","-1"),t.cloneNode(!1)}(v);const T=w.label;let N=!1;if(void 0===w.checkedTemplate&&(w.checkedTemplate=!0),void 0===w.uncheckedTemplate&&(w.uncheckedTemplate=!1),(0,o.empty)(t),E===w.checkedTemplate||(0,a.stringify)(E).toLocaleLowerCase(w.locale)===(0,a.stringify)(w.checkedTemplate).toLocaleLowerCase(w.locale)?S.checked=!0:E===w.uncheckedTemplate||(0,a.stringify)(E).toLocaleLowerCase(w.locale)===(0,a.stringify)(w.uncheckedTemplate).toLocaleLowerCase(w.locale)?S.checked=!1:(0,a.isEmpty)(E)?(0,o.addClass)(S,"noValue"):(S.style.display="none",(0,o.addClass)(S,g),N=!0),(0,o.setAttribute)(S,[[f,r],[m,n]]),R&&(0,o.setAttribute)(S,[(0,u.A11Y_LABEL)(S.checked?e.getTranslatedPhrase(c.CHECKBOX_CHECKED):e.getTranslatedPhrase(c.CHECKBOX_UNCHECKED)),(0,u.A11Y_CHECKED)(S.checked),(0,u.A11Y_CHECKBOX)()]),!N&&T){let s="";if(T.value)s="function"==typeof T.value?T.value.call(this,r,n,h,E):T.value;else if(T.property){const t=e.getDataAtRowProp(r,T.property);s=null!==t?t:""}const i=function(e,t,r){const n=e.createElement("label");n.className="htCheckboxRendererLabel "+(r?"fullWidth":"");const s=e.createTextNode(t);if(r){const t=e.createElement("span");t.appendChild(s),n.appendChild(t)}else n.appendChild(s);return n.cloneNode(!0)}(v,s,!0!==T.separated);"before"===T.position?T.separated?(t.appendChild(i),t.appendChild(S)):(i.appendChild(S),S=i):T.position&&"after"!==T.position||(T.separated?(t.appendChild(S),t.appendChild(i)):(i.insertBefore(S,i.firstChild),S=i))}function M(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const r=e.getSelectedRange(),n=[],s=new Map;let i=[],o=0;if(r){for(let a=0;a<r.length;a++){const{row:l,col:h}=r[a].getTopStartCorner(),{row:u,col:c}=r[a].getBottomEndCorner();for(let r=l;r<=u;r+=1)for(let a=h;a<=c;a+=1){const l=e.getCellMeta(r,a);if(l.hidden)continue;const h={checkedTemplate:l.checkedTemplate,uncheckedTemplate:l.uncheckedTemplate};if("checkbox"!==l.type){!0!==t||l.readOnly||(s.has(n.length)?s.set(n.length,[...s.get(n.length),[r,a,null]]):s.set(n.length,[[r,a,null]]));continue}if(!0===l.readOnly)continue;void 0===l.checkedTemplate&&(l.checkedTemplate=!0),void 0===l.uncheckedTemplate&&(l.uncheckedTemplate=!1);const u=e.getDataAtCell(r,a);!1===t?[l.checkedTemplate,l.checkedTemplate.toString()].includes(u)?i.push([r,a,l.uncheckedTemplate,h]):[l.uncheckedTemplate,l.uncheckedTemplate.toString(),null,void 0].includes(u)&&i.push([r,a,l.checkedTemplate,h]):i.push([r,a,l.uncheckedTemplate,h]),o+=1}n.push(o),o=0}i=i.every((e=>{let[,,t]=e;return t===i[0][2]}))?i.map((e=>{let[t,r,n]=e;return[t,r,n]})):i.map((e=>{let[t,r,,n]=e;return[t,r,n.checkedTemplate]})),i.length>0&&n.forEach(((t,r)=>{let n=i.splice(0,t);s.size&&s.has(r)&&(n=[...n,...s.get(r)]),e.setDataAtCell(n)}))}}function _(){const t=e.getSelectedRange();if(t){for(let r=0;r<t.length;r++){const n=t[r].getTopStartCorner(),s=t[r].getBottomEndCorner();for(let t=n.row;t<=s.row;t++)for(let r=n.col;r<=s.col;r++){if(e.getCellMeta(t,r).readOnly)continue;const n=e.getCell(t,r);if(n instanceof HTMLElement){if(n.querySelectorAll("input[type=checkbox]").length>0)return!0}}}return!1}}(!T||T&&!T.separated)&&t.appendChild(S),N&&t.appendChild(v.createTextNode("#bad-value#")),d.has(e)||(d.set(e,!0),function(){const t=e.getShortcutManager().getContext("grid"),r={group:y,relativeToGroup:l.EDITOR_EDIT_GROUP,position:"before"};t.addShortcuts([{keys:[["space"]],callback:()=>(M(),!_()),runOnlyIf:()=>{var t;return null===(t=e.getSelectedRangeLast())||void 0===t?void 0:t.highlight.isCell()}},{keys:[["enter"]],callback:()=>(M(),!_()),runOnlyIf:()=>{const t=e.getSelectedRangeLast();return e.getSettings().enterBeginsEditing&&(null==t?void 0:t.highlight.isCell())&&!e.selection.isMultiple()}},{keys:[["delete"],["backspace"]],callback:()=>(M(!0),!_()),runOnlyIf:()=>{var t;return null===(t=e.getSelectedRangeLast())||void 0===t?void 0:t.highlight.isCell()}}],r)}())}function C(e){return"INPUT"===e.tagName&&"checkbox"===e.getAttribute("type")}h.Hooks.getSingleton().add("modifyAutoColumnSizeSeed",(function(e,t,r){const{label:n,type:s,row:i,column:o,prop:a}=t;if(s===E){if(n){const{value:t,property:s}=n;let l=r;if(t)l="function"==typeof t?t(i,o,a,r):t;else if(s){const e=this.getDataAtRowProp(i,s);l=null!==e?e:r}e=l}return e}})),w.RENDERER_TYPE=E},86510:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(53942);t.RENDERER_TYPE=n.RENDERER_TYPE,t.checkboxRenderer=n.checkboxRenderer},24668:(e,t,r)=>{"use strict";t.__esModule=!0,t.dateRenderer=i;var n=r(36759);const s=t.RENDERER_TYPE="date";function i(e,t,r,s,i,o,a){n.autocompleteRenderer.apply(this,[e,t,r,s,i,o,a])}i.RENDERER_TYPE=s},72375:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(24668);t.RENDERER_TYPE=n.RENDERER_TYPE,t.dateRenderer=n.dateRenderer},89914:(e,t,r)=>{"use strict";t.__esModule=!0,t.dropdownRenderer=i;var n=r(36759);const s=t.RENDERER_TYPE="dropdown";function i(e,t,r,s,i,o,a){n.autocompleteRenderer.apply(this,[e,t,r,s,i,o,a])}i.RENDERER_TYPE=s},24682:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(89914);t.RENDERER_TYPE=n.RENDERER_TYPE,t.dropdownRenderer=n.dropdownRenderer},46646:(e,t,r)=>{"use strict";t.__esModule=!0,t.handsontableRenderer=i;var n=r(36759);const s=t.RENDERER_TYPE="handsontable";function i(e,t,r,s,i,o,a){n.autocompleteRenderer.apply(this,[e,t,r,s,i,o,a])}i.RENDERER_TYPE=s},32278:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(46646);t.RENDERER_TYPE=n.RENDERER_TYPE,t.handsontableRenderer=n.handsontableRenderer},45662:(e,t,r)=>{"use strict";t.__esModule=!0,t.htmlRenderer=o;var n=r(84250),s=r(62577);const i=t.RENDERER_TYPE="html";function o(e,t,r,i,o,a,l){n.baseRenderer.apply(this,[e,t,r,i,o,a,l]),(0,s.fastInnerHTML)(t,null==a?"":a,!1)}o.RENDERER_TYPE=i},17242:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(45662);t.RENDERER_TYPE=n.RENDERER_TYPE,t.htmlRenderer=n.htmlRenderer},14955:(e,t,r)=>{"use strict";t.__esModule=!0,t.registerAllRenderers=function(){(0,g.registerRenderer)(n.autocompleteRenderer),(0,g.registerRenderer)(s.baseRenderer),(0,g.registerRenderer)(o.checkboxRenderer),(0,g.registerRenderer)(i.dropdownRenderer),(0,g.registerRenderer)(a.handsontableRenderer),(0,g.registerRenderer)(l.htmlRenderer),(0,g.registerRenderer)(h.numericRenderer),(0,g.registerRenderer)(u.passwordRenderer),(0,g.registerRenderer)(c.selectRenderer),(0,g.registerRenderer)(d.textRenderer),(0,g.registerRenderer)(p.timeRenderer)};var n=r(36759);t.autocompleteRenderer=n.autocompleteRenderer,t.AUTOCOMPLETE_RENDERER=n.RENDERER_TYPE;var s=r(84250);t.baseRenderer=s.baseRenderer,t.BASE_RENDERER=s.RENDERER_TYPE;var i=r(24682);t.dropdownRenderer=i.dropdownRenderer,t.DROPDOWN_RENDERER=i.RENDERER_TYPE;var o=r(86510);t.checkboxRenderer=o.checkboxRenderer,t.CHECKBOX_RENDERER=o.RENDERER_TYPE;var a=r(32278);t.handsontableRenderer=a.handsontableRenderer,t.HANDSONTABLE_RENDERER=a.RENDERER_TYPE;var l=r(17242);t.htmlRenderer=l.htmlRenderer,t.HTML_RENDERER=l.RENDERER_TYPE;var h=r(17756);t.numericRenderer=h.numericRenderer,t.NUMERIC_RENDERER=h.RENDERER_TYPE;var u=r(64910);t.passwordRenderer=u.passwordRenderer,t.PASSWORD_RENDERER=u.RENDERER_TYPE;var c=r(15651);t.selectRenderer=c.selectRenderer,t.SELECT_RENDERER=c.RENDERER_TYPE;var d=r(85096);t.textRenderer=d.textRenderer,t.TEXT_RENDERER=d.RENDERER_TYPE;var p=r(70350);t.timeRenderer=p.timeRenderer,t.TIME_RENDERER=p.RENDERER_TYPE;var g=r(54852);t.registerRenderer=g.registerRenderer,t.getRegisteredRendererNames=g.getRegisteredRendererNames,t.getRegisteredRenderers=g.getRegisteredRenderers,t.getRenderer=g.getRenderer,t.hasRenderer=g.hasRenderer},17756:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(8376);t.RENDERER_TYPE=n.RENDERER_TYPE,t.numericRenderer=n.numericRenderer,t.getRenderedValue=n.getRenderedValue},8376:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.getRenderedValue=l,t.numericRenderer=h,r(15724);var s=n(r(80586)),i=r(85096),o=r(22137);const a=t.RENDERER_TYPE="numeric";function l(e,t){if((0,o.isNumeric)(e)){const r=t.numericFormat,n=r&&r.culture||"-",i=r&&r.pattern;if(void 0!==n&&!s.default.languages()[n]){const e=n.replace("-",""),t=s.default.allLanguages?s.default.allLanguages[n]:s.default[e];t&&s.default.registerLanguage(t)}s.default.setLanguage(n),e=(0,s.default)(e).format(i||"0")}return e}function h(e,t,r,n,s,a,h){let u=a;if((0,o.isNumeric)(u)){const e=h.className||"",r=e.length?e.split(" "):[];u=l(u,h),r.indexOf("htLeft")<0&&r.indexOf("htCenter")<0&&r.indexOf("htRight")<0&&r.indexOf("htJustify")<0&&r.push("htRight"),r.indexOf("htNumeric")<0&&r.push("htNumeric"),h.className=r.join(" "),t.dir="ltr"}(0,i.textRenderer)(e,t,r,n,s,u,h)}h.RENDERER_TYPE=a},64910:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(30774);t.RENDERER_TYPE=n.RENDERER_TYPE,t.passwordRenderer=n.passwordRenderer},30774:(e,t,r)=>{"use strict";t.__esModule=!0,t.passwordRenderer=a;var n=r(85096),s=r(62577),i=r(22137);const o=t.RENDERER_TYPE="password";function a(e,t,r,o,a,l,h){n.textRenderer.apply(this,[e,t,r,o,a,l,h]);const u=h.hashLength||t.innerHTML.length,c=h.hashSymbol||"*";let d="";(0,i.rangeEach)(u-1,(()=>{d+=c})),(0,s.fastInnerHTML)(t,d)}a.RENDERER_TYPE=o},54852:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.getRenderer=function(e){if("function"==typeof e)return e;if(!a(e))throw Error(`No registered renderer found under "${e}" name`);return o(e)},t.registerRenderer=function(e,t){"string"!=typeof e&&(e=(t=e).RENDERER_TYPE);i(e,t)},r(67834);var s=n(r(28651));const{register:i,getItem:o,hasItem:a,getNames:l,getValues:h}=(0,s.default)("renderers");t.getRegisteredRenderers=h,t.getRegisteredRendererNames=l,t.hasRenderer=a},15651:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(26084);t.RENDERER_TYPE=n.RENDERER_TYPE,t.selectRenderer=n.selectRenderer},26084:(e,t,r)=>{"use strict";t.__esModule=!0,t.selectRenderer=i;var n=r(85096);const s=t.RENDERER_TYPE="select";function i(e,t,r,s,i,o,a){n.textRenderer.apply(this,[e,t,r,s,i,o,a])}i.RENDERER_TYPE=s},85096:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(56398);t.RENDERER_TYPE=n.RENDERER_TYPE,t.textRenderer=n.textRenderer},56398:(e,t,r)=>{"use strict";t.__esModule=!0,t.textRenderer=a;var n=r(84250),s=r(62577),i=r(70505);const o=t.RENDERER_TYPE="text";function a(e,t,r,o,a,l,h){n.baseRenderer.apply(this,[e,t,r,o,a,l,h]);let u=l;if(!u&&h.placeholder&&(u=h.placeholder),u=(0,i.stringify)(u),h.trimWhitespace&&(u=u.trim()),h.rendererTemplate){(0,s.empty)(t);const n=e.rootDocument.createElement("TEMPLATE");n.setAttribute("bind","{{}}"),n.innerHTML=h.rendererTemplate,HTMLTemplateElement.decorate(n),n.model=e.getSourceDataAtRow(r),t.appendChild(n)}else(0,s.fastInnerText)(t,u)}a.RENDERER_TYPE=o},70350:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(94286);t.RENDERER_TYPE=n.RENDERER_TYPE,t.timeRenderer=n.timeRenderer},94286:(e,t,r)=>{"use strict";t.__esModule=!0,t.timeRenderer=i;var n=r(85096);const s=t.RENDERER_TYPE="time";function i(e,t,r,s,i,o,a){n.textRenderer.apply(this,[e,t,r,s,i,o,a]),t.dir="ltr"}i.RENDERER_TYPE=s},40206:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724);var s=n(r(85707)),i=r(92109),o=r(74355),a=r(51751),l=r(62208),h=r(32004),u=r(59107),c=r(42611),d=r(43915),p=r(63660),g=r(50206);t.ACTIVE_HEADER_TYPE=g.HIGHLIGHT_ACTIVE_HEADER_TYPE,t.AREA_TYPE=g.HIGHLIGHT_AREA_TYPE,t.FOCUS_TYPE=g.HIGHLIGHT_FOCUS_TYPE,t.CUSTOM_SELECTION_TYPE=g.HIGHLIGHT_CUSTOM_SELECTION_TYPE,t.FILL_TYPE=g.HIGHLIGHT_FILL_TYPE,t.HEADER_TYPE=g.HIGHLIGHT_HEADER_TYPE,t.ROW_TYPE=g.HIGHLIGHT_ROW_TYPE,t.COLUMN_TYPE=g.HIGHLIGHT_COLUMN_TYPE;var f=r(10587);function m(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function y(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var E=new WeakSet;class w{constructor(e){m(this,E),(0,s.default)(this,"options",void 0),(0,s.default)(this,"layerLevel",0),(0,s.default)(this,"focus",void 0),(0,s.default)(this,"fill",void 0),(0,s.default)(this,"layeredAreas",new Map),(0,s.default)(this,"areas",new Map),(0,s.default)(this,"rowHeaders",new Map),(0,s.default)(this,"columnHeaders",new Map),(0,s.default)(this,"activeRowHeaders",new Map),(0,s.default)(this,"activeColumnHeaders",new Map),(0,s.default)(this,"activeCornerHeaders",new Map),(0,s.default)(this,"rowHighlights",new Map),(0,s.default)(this,"columnHighlights",new Map),(0,s.default)(this,"customSelections",[]),this.options=e,this.focus=(0,h.createHighlight)(e),this.fill=(0,c.createHighlight)(e)}isEnabledFor(e,t){let r=e;e===g.HIGHLIGHT_FOCUS_TYPE&&(r="current");let n=this.options.disabledCellSelection(t.row,t.col);return"string"==typeof n&&(n=[n]),!1===n||Array.isArray(n)&&!n.includes(r)}useLayerLevel(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.layerLevel=e,this}getFocus(){return this.focus}getFill(){return this.fill}createLayeredArea(){return y(E,this,C).call(this,this.layeredAreas,o.createHighlight)}getLayeredAreas(){return[...this.layeredAreas.values()]}createArea(){return y(E,this,C).call(this,this.areas,a.createHighlight)}getAreas(){return[...this.areas.values()]}createRowHeader(){return y(E,this,C).call(this,this.rowHeaders,d.createHighlight)}getRowHeaders(){return[...this.rowHeaders.values()]}createColumnHeader(){return y(E,this,C).call(this,this.columnHeaders,d.createHighlight)}getColumnHeaders(){return[...this.columnHeaders.values()]}createActiveRowHeader(){return y(E,this,C).call(this,this.activeRowHeaders,i.createHighlight)}getActiveRowHeaders(){return[...this.activeRowHeaders.values()]}createActiveColumnHeader(){return y(E,this,C).call(this,this.activeColumnHeaders,i.createHighlight)}getActiveColumnHeaders(){return[...this.activeColumnHeaders.values()]}createActiveCornerHeader(){return y(E,this,C).call(this,this.activeCornerHeaders,i.createHighlight)}getActiveCornerHeaders(){return[...this.activeCornerHeaders.values()]}createRowHighlight(){return y(E,this,C).call(this,this.rowHighlights,p.createHighlight)}getRowHighlights(){return[...this.rowHighlights.values()]}createColumnHighlight(){return y(E,this,C).call(this,this.columnHighlights,l.createHighlight)}getColumnHighlights(){return[...this.columnHighlights.values()]}getCustomSelections(){return[...this.customSelections.values()]}addCustomSelection(e){this.customSelections.push((0,u.createHighlight)({...this.options,...e}))}clear(){this.focus.clear(),this.fill.clear(),(0,f.arrayEach)(this.areas.values(),(e=>{e.clear()})),(0,f.arrayEach)(this.layeredAreas.values(),(e=>{e.clear()})),(0,f.arrayEach)(this.rowHeaders.values(),(e=>{e.clear()})),(0,f.arrayEach)(this.columnHeaders.values(),(e=>{e.clear()})),(0,f.arrayEach)(this.activeRowHeaders.values(),(e=>{e.clear()})),(0,f.arrayEach)(this.activeColumnHeaders.values(),(e=>{e.clear()})),(0,f.arrayEach)(this.activeCornerHeaders.values(),(e=>{e.clear()})),(0,f.arrayEach)(this.rowHighlights.values(),(e=>{e.clear()})),(0,f.arrayEach)(this.columnHighlights.values(),(e=>{e.clear()}))}[Symbol.iterator](){return[this.focus,this.fill,...this.areas.values(),...this.layeredAreas.values(),...this.rowHeaders.values(),...this.columnHeaders.values(),...this.activeRowHeaders.values(),...this.activeColumnHeaders.values(),...this.activeCornerHeaders.values(),...this.rowHighlights.values(),...this.columnHighlights.values(),...this.customSelections][Symbol.iterator]()}}function C(e,t){const r=this.layerLevel;if(e.has(r))return e.get(r);const n=t({layerLevel:r,...this.options});return e.set(r,n),n}t.default=w},92109:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.createHighlight=function(e){let{activeHeaderClassName:t,...r}=e;return new i.default({className:t,...r,selectionType:s.HIGHLIGHT_ACTIVE_HEADER_TYPE})};var s=r(50206),i=n(r(11724))},51751:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.createHighlight=function(e){let{...t}=e;return new i.default({className:"highlight",...t,selectionType:s.HIGHLIGHT_AREA_TYPE})};var s=r(50206),i=n(r(11724))},74355:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.createHighlight=function(e){let{areaCornerVisible:t,...r}=e;return new i.default({className:"area",createLayers:!0,border:{width:1,color:"#4b89ff",cornerVisible:t},...r,selectionType:s.HIGHLIGHT_AREA_TYPE})};var s=r(50206),i=n(r(11724))},62208:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.createHighlight=function(e){let{columnClassName:t,...r}=e;return new i.default({className:t,...r,selectionType:s.HIGHLIGHT_COLUMN_TYPE})};var s=r(50206),i=n(r(11724))},59107:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.createHighlight=function(e){let{border:t,visualCellRange:r,...n}=e;return new i.default({...t,...n,selectionType:s.HIGHLIGHT_CUSTOM_SELECTION_TYPE},r)};var s=r(50206),i=n(r(11724))},42611:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.createHighlight=function(e){let{...t}=e;return new i.default({className:"fill",border:{width:1,color:"#ff0000"},...t,selectionType:s.HIGHLIGHT_FILL_TYPE})};var s=r(50206),i=n(r(11724))},32004:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.createHighlight=function(e){let{cellCornerVisible:t,...r}=e;return new i.default({className:"current",headerAttributes:[(0,o.A11Y_SELECTED)()],border:{width:2,color:"#4b89ff",cornerVisible:t},...r,selectionType:s.HIGHLIGHT_FOCUS_TYPE})};var s=r(50206),i=n(r(11724)),o=r(71120)},43915:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.createHighlight=function(e){let{headerClassName:t,...r}=e;return new i.default({className:t,...r,selectionType:s.HIGHLIGHT_HEADER_TYPE})};var s=r(50206),i=n(r(11724))},63660:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.createHighlight=function(e){let{rowClassName:t,...r}=e;return new i.default({className:t,...r,selectionType:s.HIGHLIGHT_ROW_TYPE})};var s=r(50206),i=n(r(11724))},11724:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707)),i=r(50206);class o extends i.Selection{constructor(e,t){super(e,null),(0,s.default)(this,"visualCellRange",null),this.visualCellRange=t||null,this.commit()}add(e){return null===this.visualCellRange?this.visualCellRange=this.settings.createCellRange(e):this.visualCellRange.expand(e),this}clear(){return this.visualCellRange=null,super.clear()}trimToVisibleCellsRangeOnly(e){let{from:t,to:r}=e,n=this.getNearestNotHiddenCoords(t,1),s=this.getNearestNotHiddenCoords(r,-1);return null===n||null===s?null:((n.row>s.row||n.col>s.col)&&(n=t,s=r),this.settings.createCellRange(n,n,s))}getNearestNotHiddenCoords(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;const n=this.getNearestNotHiddenIndex(this.settings.rowIndexMapper,e.row,t);if(null===n)return null;const s=this.getNearestNotHiddenIndex(this.settings.columnIndexMapper,e.col,r);return null===s?null:this.settings.createCellCoords(n,s)}getNearestNotHiddenIndex(e,t,r){return t<0?t:e.getNearestNotHiddenIndex(t,r)}commit(){if(null===this.visualCellRange)return this;const e=this.trimToVisibleCellsRangeOnly(this.visualCellRange);return this.cellRange=null===e?null:this.createRenderableCellRange(e.from,e.to),this}syncWith(e){const t=e.from.clone().normalize(),r="N-S"===e.getVerticalDirection()?1:-1,n="W-E"===e.getHorizontalDirection()?1:-1,s=this.settings.visualToRenderableCoords(this.visualCellRange.highlight);let i=null;if(null!==s&&null!==s.col&&null!==s.row||(i=this.getNearestNotHiddenCoords(t,r,n)),null!==i&&e.overlaps(i)){const t=e.highlight.clone();if(t.row>=0&&(t.row=i.row),t.col>=0&&(t.col=i.col),null===this.cellRange){const e=this.settings.visualToRenderableCoords(t);this.cellRange=this.settings.createCellRange(e)}e.setHighlight(t)}return"focus"===this.settings.selectionType&&null!==s&&null===i&&e.setHighlight(this.visualCellRange.highlight),this}getCorners(){const{from:e,to:t}=this.cellRange;return[Math.min(e.row,t.row),Math.min(e.col,t.col),Math.max(e.row,t.row),Math.max(e.col,t.col)]}getVisualCorners(){const e=this.settings.renderableToVisualCoords(this.cellRange.getTopStartCorner()),t=this.settings.renderableToVisualCoords(this.cellRange.getBottomEndCorner());return[e.row,e.col,t.row,t.col]}createRenderableCellRange(e,t){const r=this.settings.visualToRenderableCoords(e),n=this.settings.visualToRenderableCoords(t);return null===r.row||null===r.col||null===n.row||null===n.col?null:this.settings.createCellRange(r,r,n)}}t.default=o},76717:(e,t,r)=>{"use strict";r(14846),r(69655);var n=r(96784);t.__esModule=!0;var s={Selection:!0,handleMouseEvent:!0,detectSelectionType:!0,normalizeSelectionFactory:!0},i=n(r(67751));t.Selection=i.default;var o=r(87642);t.handleMouseEvent=o.handleMouseEvent;var a=r(13208);t.detectSelectionType=a.detectSelectionType,t.normalizeSelectionFactory=a.normalizeSelectionFactory;var l=r(40206);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(s,e)||e in t&&t[e]===l[e]||(t[e]=l[e]))}))},87642:(e,t,r)=>{"use strict";t.__esModule=!0,t.handleMouseEvent=function(e,t){let{coords:r,selection:s,controller:i,cellCoordsFactory:a}=t;o.get(e.type)({coords:r,selection:s,controller:i,cellCoordsFactory:a,isShiftKey:e.shiftKey,isLeftClick:(0,n.isLeftClick)(e)||"touchstart"===e.type,isRightClick:(0,n.isRightClick)(e)})},t.mouseDown=s,t.mouseOver=i;var n=r(77661);function s(e){let{isShiftKey:t,isLeftClick:r,isRightClick:n,coords:s,selection:i,controller:o,cellCoordsFactory:a}=e;const l=i.isSelected()?i.getSelectedRange().current():null,h=i.isSelectedByCorner(),u=i.isSelectedByRowHeader();if(i.markSource("mouse"),t&&l)s.row>=0&&s.col>=0&&!o.cell?i.setRangeEnd(s):(h||u)&&s.row>=0&&s.col>=0&&!o.cell?i.setRangeEnd(a(s.row,s.col)):h&&s.row<0&&!o.column?i.setRangeEnd(a(l.to.row,s.col)):u&&s.col<0&&!o.row?i.setRangeEnd(a(s.row,l.to.col)):(!h&&!u&&s.col<0||h&&s.col<0)&&!o.row?i.selectRows(Math.max(l.from.row,0),s.row,s.col):(!h&&!u&&s.row<0||u&&s.row<0)&&!o.column&&i.selectColumns(Math.max(l.from.col,0),s.col,s.row);else{const e=!i.inInSelection(s),t=r||n&&e;s.row<0&&s.col>=0&&!o.column?t&&i.selectColumns(s.col,s.col,s.row):s.col<0&&s.row>=0&&!o.row?t&&i.selectRows(s.row,s.row,s.col):s.col>=0&&s.row>=0&&!o.cell?t&&i.setRangeStart(s):s.col<0&&s.row<0&&i.selectAll(!0,!0,{disableHeadersHighlight:!0,focusPosition:{row:0,col:0}})}i.markEndSource()}function i(e){let{isLeftClick:t,coords:r,selection:n,controller:s,cellCoordsFactory:i}=e;if(!t)return;const o=n.isSelectedByRowHeader(),a=n.isSelectedByColumnHeader(),l=n.tableProps.countCols(),h=n.tableProps.countRows();n.markSource("mouse"),a&&!s.column?n.setRangeEnd(i(h-1,r.col)):o&&!s.row?n.setRangeEnd(i(r.row,l-1)):s.cell||n.setRangeEnd(r),n.markEndSource()}const o=new Map([["mousedown",s],["mouseover",i],["touchstart",s]])},6232:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724),r(14846),r(75568);var s=n(r(85707));class i{constructor(e){(0,s.default)(this,"ranges",[]),(0,s.default)(this,"createCellRange",void 0),this.createCellRange=e}isEmpty(){return 0===this.size()}set(e){return this.clear(),this.ranges.push(this.createCellRange(e)),this}add(e){return this.ranges.push(this.createCellRange(e)),this}pop(){return this.ranges.pop(),this}current(){return this.peekByIndex(this.size()-1)}previous(){return this.peekByIndex(this.size()-2)}includes(e){return this.ranges.some((t=>t.includes(e)))}clear(){return this.ranges.length=0,this}size(){return this.ranges.length}peekByIndex(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return t>=0&&t<this.size()&&(e=this.ranges[t]),e}[Symbol.iterator](){return this.ranges[Symbol.iterator]()}}t.default=i},67751:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(69655),r(75568);var s=n(r(85707)),i=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=m(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(40206)),o=n(r(6232)),a=r(25499),l=r(70505),h=r(22137),u=r(10587),c=n(r(16050)),d=n(r(88988)),p=r(13208),g=r(21595),f=r(71120);function m(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(m=function(e){return e?r:t})(e)}function y(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function E(e,t){return e.get(C(e,t))}function w(e,t,r){return e.set(C(e,t),r),r}function C(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var v=new WeakMap,R=new WeakMap,S=new WeakMap,T=new WeakMap,N=new WeakMap,M=new WeakMap;class _{constructor(e,t){var r=this;(0,s.default)(this,"settings",void 0),(0,s.default)(this,"tableProps",void 0),(0,s.default)(this,"inProgress",!1),(0,s.default)(this,"selectedRange",new o.default(((e,t,r)=>this.tableProps.createCellRange(e,t,r)))),(0,s.default)(this,"highlight",void 0),y(this,v,void 0),y(this,R,void 0),(0,s.default)(this,"selectedByRowHeader",new Set),(0,s.default)(this,"selectedByColumnHeader",new Set),y(this,S,!1),y(this,T,!1),y(this,N,"unknown"),y(this,M,-1),this.settings=e,this.tableProps=t,this.highlight=new i.default({headerClassName:e.currentHeaderClassName,activeHeaderClassName:e.activeHeaderClassName,rowClassName:e.currentRowClassName,columnClassName:e.currentColClassName,cellAttributes:[(0,f.A11Y_SELECTED)()],rowIndexMapper:this.tableProps.rowIndexMapper,columnIndexMapper:this.tableProps.columnIndexMapper,disabledCellSelection:(e,t)=>this.tableProps.isDisabledCellSelection(e,t),cellCornerVisible:function(){return r.isCellCornerVisible(...arguments)},areaCornerVisible:function(){return r.isAreaCornerVisible(...arguments)},visualToRenderableCoords:e=>this.tableProps.visualToRenderableCoords(e),renderableToVisualCoords:e=>this.tableProps.renderableToVisualCoords(e),createCellCoords:(e,t)=>this.tableProps.createCellCoords(e,t),createCellRange:(e,t,r)=>this.tableProps.createCellRange(e,t,r)}),w(v,this,new d.default(this.selectedRange,{rowIndexMapper:this.tableProps.rowIndexMapper,columnIndexMapper:this.tableProps.columnIndexMapper,countRenderableRows:()=>this.tableProps.countRenderableRows(),countRenderableColumns:()=>this.tableProps.countRenderableColumns(),visualToRenderableCoords:e=>this.tableProps.visualToRenderableCoords(e),renderableToVisualCoords:e=>this.tableProps.renderableToVisualCoords(e),findFirstNonHiddenRenderableRow:function(){return r.tableProps.findFirstNonHiddenRenderableRow(...arguments)},findFirstNonHiddenRenderableColumn:function(){return r.tableProps.findFirstNonHiddenRenderableColumn(...arguments)},createCellCoords:(e,t)=>this.tableProps.createCellCoords(e,t),fixedRowsBottom:()=>e.fixedRowsBottom,minSpareRows:()=>e.minSpareRows,minSpareCols:()=>e.minSpareCols,autoWrapRow:()=>e.autoWrapRow,autoWrapCol:()=>e.autoWrapCol})),w(R,this,new d.default(this.selectedRange,{rowIndexMapper:this.tableProps.rowIndexMapper,columnIndexMapper:this.tableProps.columnIndexMapper,countRenderableRows:()=>{const e=this.selectedRange.current();return this.tableProps.countRenderableRowsInRange(0,e.getOuterBottomEndCorner().row)},countRenderableColumns:()=>{const e=this.selectedRange.current();return this.tableProps.countRenderableColumnsInRange(0,e.getOuterBottomEndCorner().col)},visualToRenderableCoords:e=>this.tableProps.visualToRenderableCoords(e),renderableToVisualCoords:e=>this.tableProps.renderableToVisualCoords(e),findFirstNonHiddenRenderableRow:function(){return r.tableProps.findFirstNonHiddenRenderableRow(...arguments)},findFirstNonHiddenRenderableColumn:function(){return r.tableProps.findFirstNonHiddenRenderableColumn(...arguments)},createCellCoords:(e,t)=>this.tableProps.createCellCoords(e,t),fixedRowsBottom:()=>0,minSpareRows:()=>0,minSpareCols:()=>0,autoWrapRow:()=>!0,autoWrapCol:()=>!0})),E(v,this).addLocalHook("beforeTransformStart",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.runLocalHooks("beforeModifyTransformStart",...t)})),E(v,this).addLocalHook("afterTransformStart",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.runLocalHooks("afterModifyTransformStart",...t)})),E(v,this).addLocalHook("beforeTransformEnd",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.runLocalHooks("beforeModifyTransformEnd",...t)})),E(v,this).addLocalHook("afterTransformEnd",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.runLocalHooks("afterModifyTransformEnd",...t)})),E(v,this).addLocalHook("insertRowRequire",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.runLocalHooks("insertRowRequire",...t)})),E(v,this).addLocalHook("insertColRequire",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.runLocalHooks("insertColRequire",...t)})),E(v,this).addLocalHook("beforeRowWrap",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.runLocalHooks("beforeRowWrap",...t)})),E(v,this).addLocalHook("beforeColumnWrap",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.runLocalHooks("beforeColumnWrap",...t)})),E(R,this).addLocalHook("beforeTransformStart",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.runLocalHooks("beforeModifyTransformFocus",...t)})),E(R,this).addLocalHook("afterTransformStart",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.runLocalHooks("afterModifyTransformFocus",...t)}))}getSelectedRange(){return this.selectedRange}markSource(e){w(N,this,e)}markEndSource(){w(N,this,"unknown")}getSelectionSource(){return E(N,this)}setExpectedLayers(e){w(M,this,e)}begin(){this.inProgress=!0}finish(){this.runLocalHooks("afterSelectionFinished",Array.from(this.selectedRange)),this.inProgress=!1,w(M,this,-1)}isInProgress(){return this.inProgress}setRangeStart(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e;const s="multiple"===this.settings.selectionMode,i=(0,l.isUndefined)(t)?this.tableProps.getShortcutManager().isCtrlPressed():t,o=e.clone();w(S,this,!1),this.runLocalHooks("beforeSetRangeStart"+(r?"Only":""),o),(!s||s&&!i&&(0,l.isUndefined)(t))&&this.selectedRange.clear(),this.selectedRange.add(o).current().setHighlight(n.clone()),0===this.getLayerLevel()&&(this.selectedByRowHeader.clear(),this.selectedByColumnHeader.clear()),r||this.setRangeEnd(e)}setRangeStartOnly(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e;this.setRangeStart(e,t,!0,r)}setRangeEnd(e){if(this.selectedRange.isEmpty())return;const t=e.clone(),r=this.tableProps.countRows(),n=this.tableProps.countCols(),s=this.selectedRange.current().clone().setTo(e).isSingleHeader();if((r>0||n>0)&&(0===r&&t.col<0&&!s||0===n&&t.row<0&&!s))return;this.runLocalHooks("beforeSetRangeEnd",t),this.begin();const i=this.selectedRange.current();if(this.settings.navigableHeaders||i.highlight.normalize(),"single"===this.settings.selectionMode)i.setFrom(i.highlight),i.setTo(i.highlight);else{const e=i.getHorizontalDirection(),r=i.getVerticalDirection(),n=this.isMultiple();i.setTo(t),n&&(e!==i.getHorizontalDirection()||1===i.getWidth()&&!i.includes(i.highlight))&&i.from.assign({col:i.highlight.col}),n&&(r!==i.getVerticalDirection()||1===i.getHeight()&&!i.includes(i.highlight))&&i.from.assign({row:i.highlight.row})}r>0&&n>0&&(!this.settings.navigableHeaders||this.settings.navigableHeaders&&!i.isSingleHeader())&&i.to.normalize(),this.runLocalHooks("beforeHighlightSet"),this.setRangeFocus(this.selectedRange.current().highlight),this.applyAndCommit();const o=-1===E(M,this)||this.selectedRange.size()===E(M,this);this.runLocalHooks("afterSetRangeEnd",e,o)}applyAndCommit(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectedRange.current(),t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getLayerLevel();const r=this.tableProps.countRows(),n=this.tableProps.countCols();t<this.highlight.layerLevel&&((0,u.arrayEach)(this.highlight.getAreas(),(e=>{e.clear()})),(0,u.arrayEach)(this.highlight.getLayeredAreas(),(e=>{e.clear()})),(0,u.arrayEach)(this.highlight.getRowHeaders(),(e=>{e.clear()})),(0,u.arrayEach)(this.highlight.getColumnHeaders(),(e=>{e.clear()})),(0,u.arrayEach)(this.highlight.getActiveRowHeaders(),(e=>{e.clear()})),(0,u.arrayEach)(this.highlight.getActiveColumnHeaders(),(e=>{e.clear()})),(0,u.arrayEach)(this.highlight.getActiveCornerHeaders(),(e=>{e.clear()})),(0,u.arrayEach)(this.highlight.getRowHighlights(),(e=>{e.clear()})),(0,u.arrayEach)(this.highlight.getColumnHighlights(),(e=>{e.clear()}))),this.highlight.useLayerLevel(t);const s=this.highlight.createArea(),o=this.highlight.createLayeredArea(),a=this.highlight.createRowHeader(),l=this.highlight.createColumnHeader(),h=this.highlight.createActiveRowHeader(),c=this.highlight.createActiveColumnHeader(),d=this.highlight.createActiveCornerHeader(),p=this.highlight.createRowHighlight(),g=this.highlight.createColumnHighlight();if(s.clear(),o.clear(),a.clear(),l.clear(),h.clear(),c.clear(),d.clear(),p.clear(),g.clear(),this.highlight.isEnabledFor(i.AREA_TYPE,e.highlight)&&(this.isMultiple()||t>=1)&&(s.add(e.from).add(e.to).commit(),o.add(e.from).add(e.to).commit(),1===t)){const e=this.selectedRange.previous();this.highlight.useLayerLevel(t-1),this.highlight.createArea().add(e.from).commit().syncWith(e),this.highlight.createLayeredArea().add(e.from).commit().syncWith(e),this.highlight.useLayerLevel(t)}if(this.highlight.isEnabledFor(i.HEADER_TYPE,e.highlight)){if(!e.isSingleHeader()){const t=this.tableProps.createCellCoords(Math.max(e.from.row,0),-1),r=this.tableProps.createCellCoords(e.to.row,-1),n=this.tableProps.createCellCoords(-1,Math.max(e.from.col,0)),s=this.tableProps.createCellCoords(-1,e.to.col);"single"===this.settings.selectionMode?(a.add(t).commit(),l.add(n).commit(),p.add(t).commit(),g.add(n).commit()):(a.add(t).add(r).commit(),l.add(n).add(s).commit(),p.add(t).add(r).commit(),g.add(n).add(s).commit())}const t=!E(T,this)&&this.isEntireRowSelected()&&(n>0&&n===e.getWidth()||0===n&&this.isSelectedByRowHeader()),s=!E(T,this)&&this.isEntireColumnSelected()&&(r>0&&r===e.getHeight()||0===r&&this.isSelectedByColumnHeader());t&&h.add(this.tableProps.createCellCoords(Math.max(e.from.row,0),Math.min(-this.tableProps.countRowHeaders(),-1))).add(this.tableProps.createCellCoords(Math.max(e.to.row,0),-1)).commit(),s&&c.add(this.tableProps.createCellCoords(Math.min(-this.tableProps.countColHeaders(),-1),Math.max(e.from.col,0))).add(this.tableProps.createCellCoords(-1,Math.max(e.to.col,0))).commit(),t&&s&&d.add(this.tableProps.createCellCoords(-this.tableProps.countColHeaders(),-this.tableProps.countRowHeaders())).add(this.tableProps.createCellCoords(-1,-1)).commit()}}setRangeFocus(e){if(this.selectedRange.isEmpty())return;const t=this.selectedRange.current();this.inProgress||this.runLocalHooks("beforeSetFocus",e);const r=this.highlight.getFocus();r.clear(),t.setHighlight(e),this.inProgress||this.runLocalHooks("beforeHighlightSet"),this.highlight.isEnabledFor(i.FOCUS_TYPE,t.highlight)&&r.add(t.highlight).commit().syncWith(t),this.inProgress||(w(S,this,!0),this.runLocalHooks("afterSetFocus",t.highlight))}transformStart(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.settings.navigableHeaders?E(v,this).setOffsetSize({x:this.tableProps.countRowHeaders(),y:this.tableProps.countColHeaders()}):E(v,this).resetOffsetSize(),this.setRangeStart(E(v,this).transformStart(e,t,r))}transformEnd(e,t){this.settings.navigableHeaders?E(v,this).setOffsetSize({x:this.tableProps.countRowHeaders(),y:this.tableProps.countColHeaders()}):E(v,this).resetOffsetSize(),this.setRangeEnd(E(v,this).transformEnd(e,t))}transformFocus(e,t){const r=this.selectedRange.current(),{row:n,col:s}=r.getOuterTopStartCorner(),i=this.tableProps.countRenderableColumnsInRange(0,s-1),o=this.tableProps.countRenderableRowsInRange(0,n-1);r.highlight.isHeader()?E(R,this).setOffsetSize({x:s<0?Math.abs(s):-i,y:n<0?Math.abs(n):-o}):E(R,this).setOffsetSize({x:s<0?0:-i,y:n<0?0:-o});const a=E(R,this).transformStart(e,t);this.setRangeFocus(a.normalize())}shiftRows(e,t){if(!this.isSelected())return;const r=this.selectedRange.current();if(this.isSelectedByCorner())this.selectAll(!0,!0,{disableHeadersHighlight:!0});else if(this.isSelectedByColumnHeader()||r.getOuterTopStartCorner().row>=e){const{from:n,to:s,highlight:i}=r,o=this.tableProps.countRows(),a=this.isSelectedByRowHeader(),l=this.isSelectedByColumnHeader(),u=l?-1:0,c=l?0:t;this.getSelectedRange().pop();const d=this.tableProps.createCellCoords((0,h.clamp)(n.row+c,u,o-1),n.col),p=this.tableProps.createCellCoords((0,h.clamp)(s.row+t,u,o-1),s.col);this.markSource("shift"),i.row>=e?this.setRangeStartOnly(d,!0,this.tableProps.createCellCoords((0,h.clamp)(i.row+t,0,o-1),i.col)):this.setRangeStartOnly(d,!0),a&&this.selectedByRowHeader.add(this.getLayerLevel()),l&&this.selectedByColumnHeader.add(this.getLayerLevel()),this.setRangeEnd(p),this.markEndSource()}}shiftColumns(e,t){if(!this.isSelected())return;const r=this.selectedRange.current();if(this.isSelectedByCorner())this.selectAll(!0,!0,{disableHeadersHighlight:!0});else if(this.isSelectedByRowHeader()||r.getOuterTopStartCorner().col>=e){const{from:n,to:s,highlight:i}=r,o=this.tableProps.countCols(),a=this.isSelectedByRowHeader(),l=this.isSelectedByColumnHeader(),u=a?-1:0,c=a?0:t;this.getSelectedRange().pop();const d=this.tableProps.createCellCoords(n.row,(0,h.clamp)(n.col+c,u,o-1)),p=this.tableProps.createCellCoords(s.row,(0,h.clamp)(s.col+t,u,o-1));this.markSource("shift"),i.col>=e?this.setRangeStartOnly(d,!0,this.tableProps.createCellCoords(i.row,(0,h.clamp)(i.col+t,0,o-1))):this.setRangeStartOnly(d,!0),a&&this.selectedByRowHeader.add(this.getLayerLevel()),l&&this.selectedByColumnHeader.add(this.getLayerLevel()),this.setRangeEnd(p),this.markEndSource()}}getLayerLevel(){return this.selectedRange.size()-1}isSelected(){return!this.selectedRange.isEmpty()}isMultiple(){if(!this.isSelected())return!1;const e=(0,a.createObjectPropListener)(!this.selectedRange.current().isSingle());return this.runLocalHooks("afterIsMultipleSelection",e),e.value}isFocusSelectionChanged(){return this.isSelected()&&E(S,this)}isSelectedByRowHeader(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getLayerLevel();return!this.isSelectedByCorner(e)&&(-1===e?this.selectedByRowHeader.size>0:this.selectedByRowHeader.has(e))}isEntireRowSelected(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getLayerLevel();const t=e=>{const{col:t}=e.getOuterTopStartCorner(),r=this.tableProps.countRowHeaders(),n=this.tableProps.countCols();return(r>0&&t<0||0===r)&&e.getWidth()===n};if(-1===e)return Array.from(this.selectedRange).some((e=>t(e)));const r=this.selectedRange.peekByIndex(e);return!!r&&t(r)}isSelectedByColumnHeader(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getLayerLevel();return!this.isSelectedByCorner()&&(-1===e?this.selectedByColumnHeader.size>0:this.selectedByColumnHeader.has(e))}isEntireColumnSelected(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getLayerLevel();const t=e=>{const{row:t}=e.getOuterTopStartCorner(),r=this.tableProps.countColHeaders(),n=this.tableProps.countRows();return(r>0&&t<0||0===r)&&e.getHeight()===n};if(-1===e)return Array.from(this.selectedRange).some((e=>t(e)));const r=this.selectedRange.peekByIndex(e);return!!r&&t(r)}isSelectedByAnyHeader(){return this.isSelectedByRowHeader(-1)||this.isSelectedByColumnHeader(-1)||this.isSelectedByCorner()}isSelectedByCorner(){return this.selectedByColumnHeader.has(this.getLayerLevel())&&this.selectedByRowHeader.has(this.getLayerLevel())}inInSelection(e){return this.selectedRange.includes(e)}isCellCornerVisible(){return this.settings.fillHandle&&!this.tableProps.isEditorOpened()&&!this.isMultiple()}isCellVisible(e){const t=this.tableProps.visualToRenderableCoords(e);return null!==t.row&&null!==t.col}isAreaCornerVisible(e){return(!Number.isInteger(e)||e===this.getLayerLevel())&&(this.settings.fillHandle&&!this.tableProps.isEditorOpened()&&this.isMultiple())}clear(){this.selectedRange.clear(),this.highlight.clear()}deselect(){this.isSelected()&&(this.inProgress=!1,this.clear(),this.runLocalHooks("afterDeselect"))}selectAll(){var e;let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{focusPosition:!1,disableHeadersHighlight:!1};const s=this.tableProps.countRows(),i=this.tableProps.countCols(),o=this.tableProps.countRowHeaders(),a=this.tableProps.countColHeaders(),l=r?-a:0,u=t?-o:0;if(0===l&&0===u&&(0===s||0===i))return;let c=null===(e=this.getSelectedRange().current())||void 0===e?void 0:e.highlight;const{focusPosition:d,disableHeadersHighlight:p}=n;w(T,this,p),d&&Number.isInteger(null==d?void 0:d.row)&&Number.isInteger(null==d?void 0:d.col)&&(c=this.tableProps.createCellCoords((0,h.clamp)(d.row,l,s-1),(0,h.clamp)(d.col,u,i-1)));const g=this.tableProps.createCellCoords(l,u),f=this.tableProps.createCellCoords(s-1,i-1);this.clear(),this.setRangeStartOnly(g,void 0,c),u<0&&this.selectedByRowHeader.add(this.getLayerLevel()),l<0&&this.selectedByColumnHeader.add(this.getLayerLevel()),this.setRangeEnd(f),this.finish(),w(T,this,!1)}selectCells(e){var t=this;const r=(0,p.detectSelectionType)(e);if(r===p.SELECTION_TYPE_EMPTY)return!1;if(r===p.SELECTION_TYPE_UNRECOGNIZED)throw new Error(g.toSingleLine`Unsupported format of the selection ranges was passed. To select cells pass\x20
        the coordinates as an array of arrays ([[rowStart, columnStart/columnPropStart, rowEnd,\x20
        columnEnd/columnPropEnd]]) or as an array of CellRange objects.`);const n=(0,p.normalizeSelectionFactory)(r,{createCellCoords:function(){return t.tableProps.createCellCoords(...arguments)},createCellRange:function(){return t.tableProps.createCellRange(...arguments)},propToCol:e=>this.tableProps.propToCol(e),keepDirection:!0}),s=this.settings.navigableHeaders,i={countRows:this.tableProps.countRows(),countCols:this.tableProps.countCols(),countRowHeaders:s?this.tableProps.countRowHeaders():0,countColHeaders:s?this.tableProps.countColHeaders():0},o=!e.some((e=>{const t=n(e),r=t.isValid(i);return!(r&&!t.containsHeaders()||r&&t.containsHeaders()&&t.isSingleHeader())}));return o&&(this.clear(),this.setExpectedLayers(e.length),(0,u.arrayEach)(e,(e=>{const{from:t,to:r}=n(e);this.setRangeStartOnly(t.clone(),!1),this.setRangeEnd(r.clone())})),this.finish()),o}selectColumns(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const n="string"==typeof e?this.tableProps.propToCol(e):e,s="string"==typeof t?this.tableProps.propToCol(t):t,i=this.tableProps.countRows(),o=this.tableProps.countCols(),a=this.tableProps.countColHeaders(),l=0===a?0:-a,u=this.tableProps.createCellCoords(l,n),c=this.tableProps.createCellCoords(i-1,s),d=this.tableProps.createCellRange(u,u,c).isValid({countRows:i,countCols:o,countRowHeaders:0,countColHeaders:a});if(d){let e=0,t=0;Number.isInteger(null==r?void 0:r.row)&&Number.isInteger(null==r?void 0:r.col)?(e=(0,h.clamp)(r.row,l,i-1),t=(0,h.clamp)(r.col,Math.min(n,s),Math.max(n,s))):(e=(0,h.clamp)(r,l,i-1),t=n);const o=this.tableProps.createCellCoords(e,t),u=0===a?0:(0,h.clamp)(o.row,l,-1),c=i-1,d=this.tableProps.createCellCoords(u,n),p=this.tableProps.createCellCoords(c,s);this.runLocalHooks("beforeSelectColumns",d,p,o),d.row=u,p.row=c,this.setRangeStartOnly(d,void 0,o),this.selectedByColumnHeader.add(this.getLayerLevel()),this.setRangeEnd(p),this.runLocalHooks("afterSelectColumns",d,p,o),this.finish()}return d}selectRows(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const n=this.tableProps.countRows(),s=this.tableProps.countCols(),i=this.tableProps.countRowHeaders(),o=0===i?0:-i,a=this.tableProps.createCellCoords(e,o),l=this.tableProps.createCellCoords(t,s-1),u=this.tableProps.createCellRange(a,a,l).isValid({countRows:n,countCols:s,countRowHeaders:i,countColHeaders:0});if(u){let n=0,a=0;Number.isInteger(null==r?void 0:r.row)&&Number.isInteger(null==r?void 0:r.col)?(n=(0,h.clamp)(r.row,Math.min(e,t),Math.max(e,t)),a=(0,h.clamp)(r.col,o,s-1)):(n=e,a=(0,h.clamp)(r,o,s-1));const l=this.tableProps.createCellCoords(n,a),u=0===i?0:(0,h.clamp)(l.col,o,-1),c=s-1,d=this.tableProps.createCellCoords(e,u),p=this.tableProps.createCellCoords(t,c);this.runLocalHooks("beforeSelectRows",d,p,l),d.col=u,p.col=c,this.setRangeStartOnly(d,void 0,l),this.selectedByRowHeader.add(this.getLayerLevel()),this.setRangeEnd(p),this.runLocalHooks("afterSelectRows",d,p,l),this.finish()}return u}refresh(){if(!this.isSelected())return;const e=this.tableProps.countRows(),t=this.tableProps.countCols();if(0===e||0===t)return void this.deselect();const r=this.selectedRange.peekByIndex(this.selectedRange.size()-1),{from:n,to:s,highlight:i}=r;this.clear(),i.assign({row:(0,h.clamp)(i.row,-1/0,e-1),col:(0,h.clamp)(i.col,-1/0,t-1)}),n.assign({row:(0,h.clamp)(n.row,-1/0,e-1),col:(0,h.clamp)(n.col,-1/0,t-1)}),s.assign({row:(0,h.clamp)(s.row,0,e-1),col:(0,h.clamp)(s.col,0,t-1)}),this.selectedRange.ranges.push(r),this.highlight.getFocus().add(i).commit().syncWith(r),this.applyAndCommit(r)}commit(){if(this.highlight.getCustomSelections().forEach((e=>{e.commit()})),!this.isSelected())return;const e=this.getLayerLevel(),t=this.selectedRange.current();this.highlight.isEnabledFor(i.FOCUS_TYPE,t.highlight)&&this.highlight.getFocus().commit().syncWith(t);for(let e=0;e<this.selectedRange.size();e+=1){this.highlight.useLayerLevel(e);const t=this.highlight.createArea(),r=this.highlight.createLayeredArea(),n=this.highlight.createRowHeader(),s=this.highlight.createColumnHeader(),i=this.highlight.createActiveRowHeader(),o=this.highlight.createActiveColumnHeader(),a=this.highlight.createActiveCornerHeader(),l=this.highlight.createRowHighlight(),h=this.highlight.createColumnHighlight();t.commit(),r.commit(),n.commit(),s.commit(),i.commit(),o.commit(),a.commit(),l.commit(),h.commit()}this.highlight.useLayerLevel(e)}}(0,a.mixin)(_,c.default);t.default=_},88988:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=r(25499),i=n(r(16050));function o(e,t,r){a(e,t),t.set(e,r)}function a(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function l(e,t){return e.get(u(e,t))}function h(e,t,r){return e.set(u(e,t),r),r}function u(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var c=new WeakMap,d=new WeakMap,p=new WeakMap,g=new WeakSet;class f{constructor(e,t){var r,n;a(r=this,n=g),n.add(r),o(this,c,void 0),o(this,d,void 0),o(this,p,{x:0,y:0}),h(c,this,e),h(d,this,t)}transformStart(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=l(d,this).createCellCoords(e,t);let i=l(c,this).current().highlight;const o=l(d,this).visualToRenderableCoords(i);let a=0,h=0;if(this.runLocalHooks("beforeTransformStart",n),null!==o.row&&null!==o.col){const{width:e,height:t}=u(g,this,y).call(this),{row:o,col:c}=u(g,this,C).call(this,i),p=l(d,this).fixedRowsBottom(),f=l(d,this).minSpareRows(),E=l(d,this).minSpareCols(),w=l(d,this).autoWrapRow(),R=l(d,this).autoWrapCol(),S=l(d,this).createCellCoords(o+n.row,c+n.col);if(S.row>=t){const n=(0,s.createObjectPropListener)(r&&f>0&&0===p),i=S.col+1,o=l(d,this).createCellCoords(S.row-t,i>=e?i-e:i);this.runLocalHooks("beforeColumnWrap",n,u(g,this,v).call(this,o),i>=e),n.value?this.runLocalHooks("insertRowRequire",l(d,this).countRenderableRows()):R&&S.assign(o)}else if(S.row<0){const r=(0,s.createObjectPropListener)(R),n=S.col-1,i=l(d,this).createCellCoords(t+S.row,n<0?e+n:n);this.runLocalHooks("beforeColumnWrap",r,u(g,this,v).call(this,i),n<0),R&&S.assign(i)}if(S.col>=e){const n=(0,s.createObjectPropListener)(r&&E>0),i=S.row+1,o=l(d,this).createCellCoords(i>=t?i-t:i,S.col-e);this.runLocalHooks("beforeRowWrap",n,u(g,this,v).call(this,o),i>=t),n.value?this.runLocalHooks("insertColRequire",l(d,this).countRenderableColumns()):w&&S.assign(o)}else if(S.col<0){const r=(0,s.createObjectPropListener)(w),n=S.row-1,i=l(d,this).createCellCoords(n<0?t+n:n,e+S.col);this.runLocalHooks("beforeRowWrap",r,u(g,this,v).call(this,i),n<0),w&&S.assign(i)}const{rowDir:T,colDir:N}=u(g,this,m).call(this,S);a=T,h=N,i=u(g,this,v).call(this,S)}return this.runLocalHooks("afterTransformStart",i,a,h),i}transformEnd(e,t){const r=l(d,this).createCellCoords(e,t),n=l(c,this).current(),s=l(d,this).visualToRenderableCoords(n.highlight),i=u(g,this,E).call(this,n.to.row,n.from.row),o=u(g,this,w).call(this,n.to.col,n.from.col),a=n.to.clone();let h=0,p=0;if(this.runLocalHooks("beforeTransformEnd",r),null!==s.row&&null!==s.col&&null!==i&&null!==o){const{row:e,col:t}=u(g,this,C).call(this,n.highlight),s=l(d,this).createCellCoords(i+r.row,o+r.col),c=n.getTopStartCorner(),f=n.getTopEndCorner(),y=n.getBottomEndCorner();if(r.col<0&&o>=t&&s.col<t){const e=s.col-t;s.col=u(g,this,w).call(this,c.col,f.col)+e}else if(r.col>0&&o<=t&&s.col>t){const e=u(g,this,w).call(this,f.col,c.col),t=Math.max(s.col-e,1);s.col=e+t}if(r.row<0&&i>=e&&s.row<e){const t=s.row-e;s.row=u(g,this,E).call(this,c.row,y.row)+t}else if(r.row>0&&i<=e&&s.row>e){const e=u(g,this,E).call(this,y.row,c.row),t=Math.max(s.row-e,1);s.row=e+t}const{rowDir:R,colDir:S}=u(g,this,m).call(this,s);h=R,p=S;const T=u(g,this,v).call(this,s);0===r.row&&0!==r.col?a.col=T.col:0!==r.row&&0===r.col?a.row=T.row:(a.row=T.row,a.col=T.col)}return this.runLocalHooks("afterTransformEnd",a,h,p),a}setOffsetSize(e){let{x:t,y:r}=e;h(p,this,{x:t,y:r})}resetOffsetSize(){h(p,this,{x:0,y:0})}}function m(e){const{width:t,height:r}=u(g,this,y).call(this);let n=0,s=0;return e.row<0?(n=-1,e.row=0):e.row>0&&e.row>=r&&(n=1,e.row=r-1),e.col<0?(s=-1,e.col=0):e.col>0&&e.col>=t&&(s=1,e.col=t-1),{rowDir:n,colDir:s}}function y(){return{width:l(p,this).x+l(d,this).countRenderableColumns(),height:l(p,this).y+l(d,this).countRenderableRows()}}function E(e,t){const r=l(d,this).findFirstNonHiddenRenderableRow(e,t);return null===r?null:l(p,this).y+r}function w(e,t){const r=l(d,this).findFirstNonHiddenRenderableColumn(e,t);return null===r?null:l(p,this).x+r}function C(e){const{row:t,col:r}=l(d,this).visualToRenderableCoords(e);if(null===t||null===r)throw new Error("Renderable coords are not visible.");return l(d,this).createCellCoords(l(p,this).y+t,l(p,this).x+r)}function v(e){const t=e.clone();return t.col=e.col-l(p,this).x,t.row=e.row-l(p,this).y,l(d,this).renderableToVisualCoords(t)}(0,s.mixin)(f,i.default);t.default=f},13208:(e,t,r)=>{"use strict";t.__esModule=!0,t.detectSelectionType=g,t.normalizeSelectionFactory=f,t.transformSelectionToColumnDistance=function(e){const t=g(e.getSelected());if(t===o||t===a)return[];const r=f(t,{createCellCoords:e._createCellCoords.bind(e),createCellRange:e._createCellRange.bind(e)}),n=new Set;(0,s.arrayEach)(e.getSelected(),(e=>{const{from:t,to:i}=r(e),o=Math.max(t.col,0),a=i.col-o+1;(0,s.arrayEach)(Array.from(new Array(a),((e,t)=>o+t)),(e=>{n.has(e)||n.add(e)}))}));const i=Array.from(n).sort(((e,t)=>e-t));return(0,s.arrayReduce)(i,((e,t,r,n)=>(0!==r&&t===n[r-1]+1?e[e.length-1][1]+=1:e.push([t,1]),e)),[])},t.transformSelectionToRowDistance=function(e){const t=g(e.getSelected());if(t===o||t===a)return[];const r=f(t,{createCellCoords:e._createCellCoords.bind(e),createCellRange:e._createCellRange.bind(e)}),n=new Set;(0,s.arrayEach)(e.getSelected(),(e=>{const{from:t,to:i}=r(e),o=Math.max(t.row,0),a=i.row-o+1;(0,s.arrayEach)(Array.from(new Array(a),((e,t)=>o+t)),(e=>{n.has(e)||n.add(e)}))}));const i=Array.from(n).sort(((e,t)=>e-t));return(0,s.arrayReduce)(i,((e,t,r,n)=>(0!==r&&t===n[r-1]+1?e[e.length-1][1]+=1:e.push([t,1]),e)),[])},r(67834),r(15724),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(75568);var n=r(50206),s=r(10587),i=r(70505);const o=t.SELECTION_TYPE_UNRECOGNIZED=0,a=t.SELECTION_TYPE_EMPTY=1,l=t.SELECTION_TYPE_ARRAY=2,h=t.SELECTION_TYPE_OBJECT=3,u=t.SELECTION_TYPES=[h,l],c=[["number"],["number","string"],["number","undefined"],["number","string","undefined"]],d=Symbol("root"),p=Symbol("child");function g(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d;if(t!==d&&t!==p)throw new Error("The second argument is used internally only and cannot be overwritten.");const r=Array.isArray(e),s=t===d;let i=o;if(r){const t=e[0];if(0===e.length)i=a;else if(s&&t instanceof n.CellRange)i=h;else if(s&&Array.isArray(t))i=g(t,p);else if(e.length>=2&&e.length<=4){!e.some(((e,t)=>!c[t].includes(typeof e)))&&(i=l)}}return i}function f(e){let{createCellCoords:t,createCellRange:r,keepDirection:n=!1,propToCol:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!u.includes(e))throw new Error("Unsupported selection ranges schema type was provided.");return function(o){const a=e===h;let l=a?o.from.row:o[0],u=a?o.from.col:o[1],c=a?o.to.row:o[2],d=a?o.to.col:o[3];if("function"==typeof s&&("string"==typeof u&&(u=s(u)),"string"==typeof d&&(d=s(d))),(0,i.isUndefined)(c)&&(c=l),(0,i.isUndefined)(d)&&(d=u),!n){const e=l,t=u,r=c,n=d;l=Math.min(e,r),u=Math.min(t,n),c=Math.max(e,r),d=Math.max(t,n)}const p=t(l,u),g=t(c,d);return r(p,p,g)}}},22016:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"editorCloseAndSave",callback(e){e._getEditorManager().closeEditorAndSaveChanges()}}},86952:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(74854);t.command={name:"editorCloseAndSaveByArrowKeys",callback(e,t,r){const s=e._getEditorManager(),i=s.getActiveEditor();i.isInFullEditMode()&&i.state===n.EDITOR_STATE.EDITING||(s.closeEditorAndSaveChanges(),e.getSelected()&&(r.includes("arrowdown")?e.selection.transformStart(1,0):r.includes("arrowup")?e.selection.transformStart(-1,0):r.includes("arrowleft")?e.selection.transformStart(0,-1*e.getDirectionFactor()):r.includes("arrowright")&&e.selection.transformStart(0,e.getDirectionFactor())),t.preventDefault())}}},59399:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"editorCloseAndSaveByEnter",callback(e,t){const r=e._getEditorManager();r.closeEditorAndSaveChanges(t.ctrlKey||t.metaKey),r.moveSelectionAfterEnter(t)}}},298:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"editorCloseWithoutSaving",callback(e){const t=e._getEditorManager();t.closeEditorAndRestoreOriginalValue(e.getShortcutManager().isCtrlPressed()),t.activeEditor.focus()}}},86446:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"editorFastOpen",callback(e,t){const{highlight:r}=e.getSelectedRangeLast();r.isHeader()||e._getEditorManager().openEditor(null,t,!0)}}},53558:(e,t,r)=>{"use strict";t.__esModule=!0,t.getAllCommands=function(){return[n.command,s.command,i.command,o.command,a.command,l.command]};var n=r(22016),s=r(86952),i=r(59399),o=r(298),a=r(86446),l=r(53936)},53936:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(77661);t.command={name:"editorOpen",callback(e,t,r){const s=e._getEditorManager(),i=e.getSelectedRangeLast(),{highlight:o}=i;if(e.selection.isMultiple()&&!i.isHeader()&&e.countRenderedCols()>0&&e.countRenderedRows()>0){const n=e.getSettings(),s="function"==typeof n.enterMoves?n.enterMoves(t):n.enterMoves;r.includes("shift")?e.selection.transformFocus(-s.row,-s.col):e.selection.transformFocus(s.row,s.col)}else o.isHeader()||(e.getSettings().enterBeginsEditing?s.cellProperties.readOnly?s.moveSelectionAfterEnter(t):s.openEditor(null,t,!0):s.moveSelectionAfterEnter(t),(0,n.stopImmediatePropagation)(t))}}},34413:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"emptySelectedCells",callback(e){e.emptySelectedCells(),e._getEditorManager().prepareEditor()}}},6036:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionDown",callback(e){const{highlight:t}=e.getSelectedRangeLast();e.selection.isSelectedByColumnHeader()||e.selection.isSelectedByCorner()||!(t.isCell()||t.isHeader()&&e.selection.isSelectedByRowHeader())||e.selection.transformEnd(1,0)}}},88900:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionDownByViewportHeight",callback(e){const{to:t}=e.getSelectedRangeLast(),r=Math.min(t.row+e.countVisibleRows(),e.countRows()-1),n=e.rowIndexMapper.getNearestNotHiddenIndex(r,-1);if(null!==n){const r=e._createCellCoords(n,t.col),s=t.row-e.getFirstFullyVisibleRow(),i=Math.min(r.row-s,e.countRows()-1);e.selection.setRangeEnd(r),e.scrollViewportTo({row:i,verticalSnap:"top",horizontalSnap:"start"})}}}},51002:(e,t,r)=>{"use strict";t.__esModule=!0,t.getAllCommands=function(){return[n.command,s.command,i.command,o.command,a.command,l.command,h.command,u.command,c.command,d.command,p.command,g.command,f.command,m.command]};var n=r(6036),s=r(88900),i=r(34885),o=r(15076),a=r(28878),l=r(83269),h=r(5154),u=r(28703),c=r(17023),d=r(40574),p=r(20619),g=r(67616),f=r(9601),m=r(67525)},34885:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionLeft",callback(e){const{highlight:t}=e.getSelectedRangeLast();e.selection.isSelectedByRowHeader()||e.selection.isSelectedByCorner()||!(t.isCell()||t.isHeader()&&e.selection.isSelectedByColumnHeader())||e.selection.transformEnd(0,-1*e.getDirectionFactor())}}},15076:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionRight",callback(e){const{highlight:t}=e.getSelectedRangeLast();e.selection.isSelectedByRowHeader()||e.selection.isSelectedByCorner()||!(t.isCell()||t.isHeader()&&e.selection.isSelectedByColumnHeader())||e.selection.transformEnd(0,e.getDirectionFactor())}}},28878:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionToColumns",callback(e){const{highlight:t,from:r,to:n}=e.getSelectedRangeLast();e.selection.isSelectedByRowHeader()?e.selection.selectAll(!0,!0):e.selectColumns(r.col,n.col,t)}}},83269:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionToMostBottom",callback(e){const{selection:t,rowIndexMapper:r}=e,{highlight:n,from:s,to:i}=e.getSelectedRangeLast(),o=n.isHeader()&&e.selection.isSelectedByRowHeader();if(n.isCell()||o){const a=r.getNearestNotHiddenIndex(e.countRows()-1,-1),l=s.clone();l.row=n.row,t.setRangeStart(l,void 0,!1,n.clone()),o&&t.selectedByRowHeader.add(t.getLayerLevel()),t.setRangeEnd(e._createCellCoords(a,i.col))}}}},5154:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionToMostInlineEnd",callback(e){const{selection:t,columnIndexMapper:r}=e,{highlight:n,from:s,to:i}=e.getSelectedRangeLast();if(!e.selection.isSelectedByRowHeader()&&!e.selection.isSelectedByCorner()&&n.isCell()){const o=r.getNearestNotHiddenIndex(e.countCols()-1,-1),a=s.clone();a.col=n.col,t.setRangeStart(a,void 0,!1,n.clone()),t.setRangeEnd(e._createCellCoords(i.row,o))}}}},28703:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionToMostInlineStart",callback(e){const{selection:t,columnIndexMapper:r}=e,{highlight:n,from:s,to:i}=e.getSelectedRangeLast();if(!e.selection.isSelectedByRowHeader()&&!e.selection.isSelectedByCorner()&&n.isCell()){const o=parseInt(e.getSettings().fixedColumnsStart,10),a=r.getNearestNotHiddenIndex(o,1),l=s.clone();l.col=n.col,t.setRangeStart(l,void 0,!1,n.clone()),t.setRangeEnd(e._createCellCoords(i.row,a))}}}},17023:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionToMostLeft",callback(e){const{selection:t,columnIndexMapper:r}=e,{highlight:n,from:s,to:i}=e.getSelectedRangeLast(),o=n.isHeader()&&e.selection.isSelectedByColumnHeader();if(n.isCell()||o){const a=r.getNearestNotHiddenIndex(...e.isRtl()?[e.countCols()-1,-1]:[0,1]),l=s.clone();l.col=n.col,t.setRangeStart(l,void 0,!1,n.clone()),o&&t.selectedByColumnHeader.add(t.getLayerLevel()),t.setRangeEnd(e._createCellCoords(i.row,a))}}}},40574:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionToMostRight",callback(e){const{selection:t,columnIndexMapper:r}=e,{highlight:n,from:s,to:i}=e.getSelectedRangeLast(),o=n.isHeader()&&e.selection.isSelectedByColumnHeader();if(n.isCell()||o){const a=r.getNearestNotHiddenIndex(...e.isRtl()?[0,1]:[e.countCols()-1,-1]),l=s.clone();l.col=n.col,t.setRangeStart(l,void 0,!1,n.clone()),o&&t.selectedByColumnHeader.add(t.getLayerLevel()),t.setRangeEnd(e._createCellCoords(i.row,a))}}}},20619:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionToMostTop",callback(e){const{selection:t,rowIndexMapper:r}=e,{highlight:n,from:s,to:i}=e.getSelectedRangeLast(),o=n.isHeader()&&e.selection.isSelectedByRowHeader();if(n.isCell()||o){const a=r.getNearestNotHiddenIndex(0,1),l=s.clone();l.row=n.row,t.setRangeStart(l,void 0,!1,n.clone()),o&&t.selectedByRowHeader.add(t.getLayerLevel()),t.setRangeEnd(e._createCellCoords(a,i.col))}}}},67616:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionToRows",callback(e){const{highlight:t,from:r,to:n}=e.getSelectedRangeLast();e.selection.isSelectedByColumnHeader()?e.selection.selectAll(!0,!0):e.selectRows(r.row,n.row,t)}}},9601:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionUp",callback(e){const{highlight:t}=e.getSelectedRangeLast();e.selection.isSelectedByColumnHeader()||e.selection.isSelectedByCorner()||!(t.isCell()||t.isHeader()&&e.selection.isSelectedByRowHeader())||e.selection.transformEnd(-1,0)}}},67525:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"extendCellsSelectionUpByViewportHeight",callback(e){const{to:t}=e.getSelectedRangeLast(),r=Math.max(t.row-e.countVisibleRows(),0),n=e.rowIndexMapper.getNearestNotHiddenIndex(r,1);if(null!==n){const r=e._createCellCoords(n,t.col),s=t.row-e.getFirstFullyVisibleRow(),i=Math.max(r.row-s,0);e.selection.setRangeEnd(r),e.scrollViewportTo({row:i,verticalSnap:"top",horizontalSnap:"start"})}}}},84302:(e,t,r)=>{"use strict";t.__esModule=!0,t.createKeyboardShortcutCommandsPool=function(e){const t={};return c.forEach((r=>{let{name:n,callback:s}=r;t[n]=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return s(e,...r)}})),t},r(14846),r(69655);var n=r(53558),s=r(51002),i=r(4184),o=r(34413),a=r(29511),l=r(74544),h=r(14001),u=r(51262);const c=[...(0,n.getAllCommands)(),...(0,s.getAllCommands)(),...(0,i.getAllCommands)(),o.command,a.command,l.command,h.command,u.command]},77646:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionDown",callback(e){let{selection:t}=e;t.transformStart(1,0)}}},36846:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionDownByViewportHeight",callback(e){const{navigableHeaders:t}=e.getSettings(),r=t?e.countColHeaders():0,{row:n}=e.getSelectedRangeLast().highlight;let s=e.countVisibleRows()+r;s=0===s?1:s,n===e.countRows()-1?s=1:n+s>e.countRows()&&(s=e.countRows()-n-1),e.selection.transformStart(s,0),e.getSelectedRangeLast().highlight.row<0&&e.scrollViewportTo({row:0})}}},4184:(e,t,r)=>{"use strict";t.__esModule=!0,t.getAllCommands=function(){return[n.command,s.command,i.command,o.command,a.command,l.command,h.command,u.command,c.command,d.command,p.command,g.command,f.command,m.command,y.command,E.command]};var n=r(77646),s=r(36846),i=r(53354),o=r(74007),a=r(76967),l=r(37830),h=r(72739),u=r(9033),c=r(71580),d=r(12677),p=r(98613),g=r(51572),f=r(14701),m=r(43702),y=r(47375),E=r(22763)},53354:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionInlineEnd",callback(e,t){const r=e.getSettings(),n=e.getSelectedRangeLast(),s="function"==typeof r.tabMoves?r.tabMoves(t):r.tabMoves;e.selection.isMultiple()&&!n.isHeader()&&e.countRenderedCols()>0&&e.countRenderedRows()>0?e.selection.transformFocus(-s.row,-s.col):e.selection.transformStart(-s.row,-s.col)}}},74007:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionInlineStart",callback(e,t){const r=e.getSettings(),n=e.getSelectedRangeLast(),s="function"==typeof r.tabMoves?r.tabMoves(t):r.tabMoves;e.selection.isMultiple()&&!n.isHeader()&&e.countRenderedCols()>0&&e.countRenderedRows()>0?e.selection.transformFocus(s.row,s.col):e.selection.transformStart(s.row,s.col)}}},76967:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionLeft",callback(e){e.selection.transformStart(0,-1*e.getDirectionFactor())}}},37830:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionRight",callback(e){e.selection.transformStart(0,e.getDirectionFactor())}}},72739:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionToMostBottom",callback(e){const{col:t}=e.getSelectedRangeLast().highlight;let r=e.rowIndexMapper.getNearestNotHiddenIndex(e.countRows()-1,-1);null===r&&(r=-1),e.selection.setRangeStart(e._createCellCoords(r,t))}}},9033:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionToMostBottomInlineEnd",callback(e){const{selection:t,rowIndexMapper:r,columnIndexMapper:n}=e,s=parseInt(e.getSettings().fixedRowsBottom,10),i=r.getNearestNotHiddenIndex(e.countRows()-s-1,-1),o=n.getNearestNotHiddenIndex(e.countCols()-1,-1);t.setRangeStart(e._createCellCoords(i,o))}}},71580:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionToMostInlineEnd",callback(e){const{selection:t,columnIndexMapper:r}=e;t.setRangeStart(e._createCellCoords(e.getSelectedRangeLast().highlight.row,r.getNearestNotHiddenIndex(e.countCols()-1,-1)))}}},12677:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionToMostInlineStart",callback(e){const{selection:t,columnIndexMapper:r}=e,n=parseInt(e.getSettings().fixedColumnsStart,10),s=e.getSelectedRangeLast().highlight.row,i=r.getNearestNotHiddenIndex(n,1);t.setRangeStart(e._createCellCoords(s,i))}}},98613:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionToMostLeft",callback(e){const{selection:t,columnIndexMapper:r}=e,n=e.getSelectedRangeLast().highlight.row;let s=r.getNearestNotHiddenIndex(...e.isRtl()?[e.countCols()-1,-1]:[0,1]);null===s&&(s=e.isRtl()?-1:-e.countRowHeaders()),t.setRangeStart(e._createCellCoords(n,s))}}},51572:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionToMostRight",callback(e){const{selection:t,columnIndexMapper:r}=e,{row:n}=e.getSelectedRangeLast().highlight;let s=r.getNearestNotHiddenIndex(...e.isRtl()?[0,1]:[e.countCols()-1,-1]);null===s&&(s=e.isRtl()?-e.countRowHeaders():-1),t.setRangeStart(e._createCellCoords(n,s))}}},14701:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionToMostTop",callback(e){const{col:t}=e.getSelectedRangeLast().highlight;let r=e.rowIndexMapper.getNearestNotHiddenIndex(0,1);null===r&&(r=-e.countColHeaders()),e.selection.setRangeStart(e._createCellCoords(r,t))}}},43702:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionToMostTopInlineStart",callback(e){const{selection:t,rowIndexMapper:r,columnIndexMapper:n}=e,s=parseInt(e.getSettings().fixedRowsTop,10),i=parseInt(e.getSettings().fixedColumnsStart,10),o=r.getNearestNotHiddenIndex(s,1),a=n.getNearestNotHiddenIndex(i,1);t.setRangeStart(e._createCellCoords(o,a))}}},47375:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionUp",callback(e){let{selection:t}=e;t.transformStart(-1,0)}}},22763:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"moveCellSelectionUpByViewportHight",callback(e){const{navigableHeaders:t}=e.getSettings(),r=t?e.countColHeaders():0,{row:n}=e.getSelectedRangeLast().highlight;let s=e.countVisibleRows()+r;s=0===s?-1:-s,n===-r?s=-1:n+s<r&&(s=-(n+r)),e.selection.transformStart(s,0),e.getSelectedRangeLast().highlight.row<0&&e.scrollViewportTo({row:0})}}},51262:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"populateSelectedCellsData",callback(e){const t=e.getSelectedRange(),{row:r,col:n}=t[t.length-1].highlight.normalize(),s=e.getDataAtCell(r,n),i=new Map;for(let o=0;o<t.length;o++)t[o].forAll(((t,o)=>{if(t>=0&&o>=0&&(t!==r||o!==n)){const{readOnly:r}=e.getCellMeta(t,o);r||i.set(`${t}x${o}`,[t,o,s])}}));e.setDataAtCell(Array.from(i.values()))}}},29511:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"scrollToFocusedCell",callback(e){const{highlight:t}=e.getSelectedRangeLast(),r=e.getFirstFullyVisibleRow()-1,n=e.getFirstFullyVisibleColumn()-1,s=e.getLastFullyVisibleRow()+1,i=e.getLastFullyVisibleColumn()+1,o=e._createCellCoords(r,n),a=e._createCellCoords(s,i);if(!e._createCellRange(o,o,a).includes(t)&&(t.row>=0||t.col>=0)){const r={};if(t.col>=0){const n=Math.floor(e.countVisibleCols()/2);r.col=Math.max(t.col-n,0)}if(t.row>=0){const n=Math.floor(e.countVisibleRows()/2);r.row=Math.max(t.row-n,0)}e.scrollViewportTo({...r,verticalSnap:"top",horizontalSnap:"start"})}}}},74544:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"selectAllCells",callback(e){e.selection.selectAll(!0,!0,{disableHeadersHighlight:!0})}}},14001:(e,t)=>{"use strict";t.__esModule=!0;t.command={name:"selectAllCellsAndHeaders",callback(e){e.selection.selectAll(!0,!0,{disableHeadersHighlight:!1})}}},72466:(e,t)=>{"use strict";t.__esModule=!0;t.GRID_GROUP="gridDefault",t.EDITOR_EDIT_GROUP="editorManager.handlingEditor"},4894:(e,t,r)=>{"use strict";t.__esModule=!0,t.shortcutsEditorContext=function(e){const t=e.getShortcutManager().addContext("editor"),r=(0,s.createKeyboardShortcutCommandsPool)(e),i={group:n.EDITOR_EDIT_GROUP};t.addShortcuts([{keys:[["Enter"],["Enter","Shift"]],callback:(e,t)=>r.editorCloseAndSaveByEnter(e,t)},{keys:[["Enter","Control/Meta"],["Enter","Control/Meta","Shift"]],captureCtrl:!0,callback:(e,t)=>r.editorCloseAndSaveByEnter(e,t)},{keys:[["Tab"],["Tab","Shift"],["PageDown"],["PageUp"]],forwardToContext:e.getShortcutManager().getContext("grid"),callback:(e,t)=>r.editorCloseAndSave(e,t)},{keys:[["ArrowDown"],["ArrowUp"],["ArrowLeft"],["ArrowRight"]],preventDefault:!1,callback:(e,t)=>r.editorCloseAndSaveByArrowKeys(e,t)},{keys:[["Escape"],["Escape","Control/Meta"]],callback:()=>r.editorCloseWithoutSaving()}],i)};var n=r(72466),s=r(84302)},33803:(e,t,r)=>{"use strict";t.__esModule=!0,t.shortcutsGridContext=function(e){const t=e.getShortcutManager().addContext("grid"),r=(0,i.createKeyboardShortcutCommandsPool)(e),o={runOnlyIf:()=>{const{navigableHeaders:t}=e.getSettings();return(0,n.isDefined)(e.getSelected())&&(t||!t&&e.countRenderedRows()>0&&e.countRenderedCols()>0)},group:s.GRID_GROUP};t.addShortcuts([{keys:[["F2"]],callback:e=>r.editorFastOpen(e)},{keys:[["Enter"],["Enter","Shift"]],callback:(e,t)=>r.editorOpen(e,t)},{keys:[["Backspace"],["Delete"]],callback:()=>r.emptySelectedCells()}],{group:s.EDITOR_EDIT_GROUP,runOnlyIf:()=>(0,n.isDefined)(e.getSelected())}),t.addShortcuts([{keys:[["Control/Meta","A"]],callback:()=>r.selectAllCells(),runOnlyIf:()=>{var t;return!(null!==(t=e.getSelectedRangeLast())&&void 0!==t&&t.highlight.isHeader())}},{keys:[["Control/Meta","A"]],callback:()=>{},runOnlyIf:()=>{var t;return null===(t=e.getSelectedRangeLast())||void 0===t?void 0:t.highlight.isHeader()},preventDefault:!0},{keys:[["Control/Meta","Shift","Space"]],callback:()=>r.selectAllCellsAndHeaders()},{keys:[["Control/Meta","Enter"]],callback:()=>r.populateSelectedCellsData(),runOnlyIf:()=>{var t,r;return!(null!==(t=e.getSelectedRangeLast())&&void 0!==t&&t.highlight.isHeader())&&(null===(r=e.getSelectedRangeLast())||void 0===r?void 0:r.getCellsCount())>1}},{keys:[["Control","Space"]],captureCtrl:!0,callback:()=>r.extendCellsSelectionToColumns()},{keys:[["Shift","Space"]],stopPropagation:!0,callback:()=>r.extendCellsSelectionToRows()},{keys:[["ArrowUp"]],callback:()=>r.moveCellSelectionUp()},{keys:[["ArrowUp","Control/Meta"]],captureCtrl:!0,callback:()=>r.moveCellSelectionToMostTop()},{keys:[["ArrowUp","Shift"]],callback:()=>r.extendCellsSelectionUp()},{keys:[["ArrowUp","Shift","Control/Meta"]],captureCtrl:!0,callback:()=>r.extendCellsSelectionToMostTop(),runOnlyIf:()=>!(e.selection.isSelectedByCorner()||e.selection.isSelectedByColumnHeader())},{keys:[["ArrowDown"]],callback:()=>r.moveCellSelectionDown()},{keys:[["ArrowDown","Control/Meta"]],captureCtrl:!0,callback:()=>r.moveCellSelectionToMostBottom()},{keys:[["ArrowDown","Shift"]],callback:()=>r.extendCellsSelectionDown()},{keys:[["ArrowDown","Shift","Control/Meta"]],captureCtrl:!0,callback:()=>r.extendCellsSelectionToMostBottom(),runOnlyIf:()=>!(e.selection.isSelectedByCorner()||e.selection.isSelectedByColumnHeader())},{keys:[["ArrowLeft"]],callback:()=>r.moveCellSelectionLeft()},{keys:[["ArrowLeft","Control/Meta"]],captureCtrl:!0,callback:()=>r.moveCellSelectionToMostLeft()},{keys:[["ArrowLeft","Shift"]],callback:()=>r.extendCellsSelectionLeft()},{keys:[["ArrowLeft","Shift","Control/Meta"]],captureCtrl:!0,callback:()=>r.extendCellsSelectionToMostLeft(),runOnlyIf:()=>!(e.selection.isSelectedByCorner()||e.selection.isSelectedByRowHeader())},{keys:[["ArrowRight"]],callback:()=>r.moveCellSelectionRight()},{keys:[["ArrowRight","Control/Meta"]],captureCtrl:!0,callback:()=>r.moveCellSelectionToMostRight()},{keys:[["ArrowRight","Shift"]],callback:()=>r.extendCellsSelectionRight()},{keys:[["ArrowRight","Shift","Control/Meta"]],captureCtrl:!0,callback:()=>r.extendCellsSelectionToMostRight(),runOnlyIf:()=>!(e.selection.isSelectedByCorner()||e.selection.isSelectedByRowHeader())},{keys:[["Home"]],captureCtrl:!0,callback:()=>r.moveCellSelectionToMostInlineStart(),runOnlyIf:()=>e.view.isMainTableNotFullyCoveredByOverlays()},{keys:[["Home","Shift"]],callback:()=>r.extendCellsSelectionToMostInlineStart()},{keys:[["Home","Control/Meta"]],captureCtrl:!0,callback:()=>r.moveCellSelectionToMostTopInlineStart(),runOnlyIf:()=>e.view.isMainTableNotFullyCoveredByOverlays()},{keys:[["End"]],captureCtrl:!0,callback:()=>r.moveCellSelectionToMostInlineEnd(),runOnlyIf:()=>e.view.isMainTableNotFullyCoveredByOverlays()},{keys:[["End","Shift"]],callback:()=>r.extendCellsSelectionToMostInlineEnd()},{keys:[["End","Control/Meta"]],captureCtrl:!0,callback:()=>r.moveCellSelectionToMostBottomInlineEnd(),runOnlyIf:()=>e.view.isMainTableNotFullyCoveredByOverlays()},{keys:[["PageUp"]],callback:()=>r.moveCellSelectionUpByViewportHight()},{keys:[["PageUp","Shift"]],callback:()=>r.extendCellsSelectionUpByViewportHeight()},{keys:[["PageDown"]],callback:()=>r.moveCellSelectionDownByViewportHeight()},{keys:[["PageDown","Shift"]],callback:()=>r.extendCellsSelectionDownByViewportHeight()},{keys:[["Tab"]],preventDefault:!1,callback:e=>r.moveCellSelectionInlineStart(e)},{keys:[["Shift","Tab"]],preventDefault:!1,callback:e=>r.moveCellSelectionInlineEnd(e)},{keys:[["Control/Meta","Backspace"]],callback:()=>r.scrollToFocusedCell()}],o)};var n=r(70505),s=r(72466),i=r(84302)},92399:(e,t,r)=>{"use strict";t.__esModule=!0;var n={registerAllShortcutContexts:!0};t.registerAllShortcutContexts=function(e){[i.shortcutsGridContext,s.shortcutsEditorContext].forEach((t=>t(e)))},r(14846),r(69655);var s=r(4894),i=r(33803),o=r(72466);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===o[e]||(t[e]=o[e]))}))},49491:(e,t,r)=>{"use strict";t.__esModule=!0,t.isContextObject=u,r(67834),r(15724),r(14846),r(27458),r(69655);var n=r(54394),s=r(17577),i=r(70505),o=r(89804),a=r(25499),l=r(21595);const h=Symbol("shortcut-context");function u(e){return(0,a.isObject)(e)&&e.__kindOf===h}t.createContext=e=>{const t=(0,n.createUniqueMap)({errorIdExists:t=>`The "${t}" shortcut is already registered in the "${e}" context.`}),r=function(){let{keys:e,callback:r,group:n,runOnlyIf:a=()=>!0,captureCtrl:h=!1,preventDefault:c=!0,stopPropagation:d=!1,relativeToGroup:p,position:g,forwardToContext:f}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if((0,i.isUndefined)(n))throw new Error("You need to define the shortcut's group.");if(!1===(0,o.isFunction)(r))throw new Error("The shortcut's callback needs to be a function.");if(!1===Array.isArray(e))throw new Error(l.toSingleLine`Pass the shortcut\'s keys as an array of arrays,\x20
      using the KeyboardEvent.key properties:\x20
      https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values.`);const m={callback:r,group:n,runOnlyIf:a,captureCtrl:h,preventDefault:c,stopPropagation:d};(0,i.isDefined)(p)&&(m.relativeToGroup=p,m.position=g),u(f)&&(m.forwardToContext=f),e.forEach((e=>{const r=(0,s.normalizeKeys)(e);if(t.hasItem(r)){const e=t.getItem(r);let n=e.findIndex((e=>e.group===p));-1!==n?"before"===g?n-=1:n+=1:n=e.length,e.splice(n,0,m)}else t.addItem(r,[m])}))},c=e=>{const r=(0,s.normalizeKeys)(e);t.removeItem(r)};return{__kindOf:h,addShortcut:r,addShortcuts:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.forEach((e=>{(0,a.objectEach)(t,((r,n)=>{!1===Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=t[n])})),r(e)}))},getShortcuts:e=>{const r=(0,s.normalizeKeys)(e),n=t.getItem(r);return(0,i.isDefined)(n)?n.slice():[]},hasShortcut:e=>{const r=(0,s.normalizeKeys)(e);return t.hasItem(r)},removeShortcutsByKeys:c,removeShortcutsByGroup:e=>{t.getItems().forEach((t=>{let[r,n]=t;const i=n.filter((t=>t.group!==e));0===i.length?c((0,s.getKeysList)(r)):(n.length=0,n.push(...i))}))}}}},89616:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(94747);t.createShortcutManager=n.createShortcutManager},86353:(e,t,r)=>{"use strict";t.__esModule=!0,t.createKeysObserver=function(){const e=new Set;return{press(t){e.add(t)},release(t){e.delete(t)},releaseAll(){e.clear()},isPressed:t=>e.has(t)}},r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620)},94747:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834);var n=r(54394),s=r(77661),i=r(49491),o=r(1584),a=r(21595);t.createShortcutManager=e=>{let{ownerWindow:t,handleEvent:r,beforeKeyDown:l,afterKeyDown:h}=e;const u=(0,n.createUniqueMap)({errorIdExists:e=>`The "${e}" context name is already registered.`});let c="grid";const d=()=>c,p=e=>u.getItem(e);let g=!1;const f=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:d();const n=(0,i.isContextObject)(r)?r:p(r);let o=!1;if(!n.hasShortcut(t))return o;const a=n.getShortcuts(t);for(let r=0;r<a.length;r++){const{callback:n,runOnlyIf:i,preventDefault:l,stopPropagation:h,captureCtrl:u,forwardToContext:c}=a[r];if(!0===i(e)){if(g=u,o=!1===n(e,t),g=!1,l&&e.preventDefault(),h&&((0,s.stopImmediatePropagation)(e),e.stopPropagation()),o)break;c&&f(e,t,c)}}return o},m=(0,o.useRecorder)(t,r,l,h,f);return m.mount(),{addContext:e=>{const t=(0,i.createContext)(e);return u.addItem(e,t),t},getActiveContextName:d,getContext:p,setActiveContextName:e=>{if(!u.hasItem(e))throw new Error(a.toSingleLine`You've tried to activate the "${e}" shortcut context\x20
        that does not exist. Before activation, register the context using the "addContext" method.`);c=e},isCtrlPressed:()=>!g&&(m.isPressed("control")||m.isPressed("meta")),releasePressedKeys:()=>m.releasePressedKeys(),destroy:()=>m.unmount()}}},1584:(e,t,r)=>{"use strict";t.__esModule=!0,t.useRecorder=function(e,t,r,n,d){const p=e=>l.includes(e),g=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=[];return e.altKey&&r.push("alt"),t&&(e.ctrlKey||e.metaKey)?r.push("control/meta"):(e.ctrlKey&&r.push("control"),e.metaKey&&r.push("meta")),e.shiftKey&&r.push("shift"),r},f=e=>{if(!1===t(e))return;if(!1===r(e)||229===e.keyCode||"string"!=typeof e.key||(0,i.isImmediatePropagationStopped)(e))return;const o=(0,s.normalizeEventKey)(e);let l=[];p(o)||(l=g(e));const h=[o].concat(l);!d(e,h)&&((0,a.isMacOS)()&&l.includes("meta")||!(0,a.isMacOS)()&&l.includes("control"))&&d(e,[o].concat(g(e,!0))),n(e)},m=e=>{if("string"==typeof e.key){const t=(0,s.normalizeEventKey)(e);p(t)&&h.press(t)}},y=e=>{if("string"==typeof e.key){const t=(0,s.normalizeEventKey)(e);p(t)&&h.release(t)}},E=()=>{h.releaseAll()};return{mount:()=>{let t=e;for(c+=1;t;)1===c&&(t.document.documentElement.addEventListener("keydown",m),u.push({event:"keydown",listener:m}),t.document.documentElement.addEventListener("keyup",y),u.push({event:"keyup",listener:y})),t.document.documentElement.addEventListener("keydown",f),t.document.documentElement.addEventListener("blur",E),t=(0,o.getParentWindow)(t)},unmount:()=>{let t=e;for(c-=1;t;){if(0===c){for(let e=0;e<u.length;e++){const{event:r,listener:n}=u[e];t.document.documentElement.removeEventListener(r,n)}u.length=0}t.document.documentElement.removeEventListener("keydown",f),t.document.documentElement.removeEventListener("blur",E),t=(0,o.getParentWindow)(t)}},isPressed:e=>h.isPressed(e),releasePressedKeys:()=>h.releaseAll()}},r(15724);var n=r(86353),s=r(17577),i=r(77661),o=r(62577),a=r(25046);const l=["meta","alt","shift","control"],h=(0,n.createKeysObserver)(),u=[];let c=0},17577:(e,t,r)=>{"use strict";t.__esModule=!0,r(94364);const n=new Map([[" ","space"],["spacebar","space"],["scroll","scrolllock"],["del","delete"],["esc","escape"],["medianexttrack","mediatracknext"],["mediaprevioustrack","mediatrackprevious"],["volumeup","audiovolumeup"],["volumedown","audiovolumedown"],["volumemute","audiovolumemute"],["multiply","*"],["add","+"],["divide","/"],["subtract","-"],["left","arrowleft"],["right","arrowright"],["up","arrowup"],["down","arrowdown"]]);t.normalizeKeys=e=>e.map((e=>{const t=e.toLowerCase();return n.has(t)?n.get(t):t})).sort().join("+");t.getKeysList=e=>e.split("+");const s=new Map([[96,"numpad0"],[97,"numpad1"],[98,"numpad2"],[99,"numpad3"],[100,"numpad4"],[101,"numpad5"],[102,"numpad6"],[103,"numpad7"],[104,"numpad8"],[105,"numpad9"],[106,"multiply"],[107,"add"],[108,"decimal"],[109,"subtract"],[110,"decimal"],[111,"divide"],[112,"f1"],[113,"f2"],[114,"f3"],[115,"f4"],[116,"f5"],[117,"f6"],[118,"f7"],[119,"f8"],[120,"f9"],[121,"f10"],[122,"f11"],[123,"f12"],[186,"semicolon"],[187,"equal"],[188,"comma"],[189,"minus"],[190,"period"],[191,"slash"],[192,"backquote"],[219,"bracketleft"],[220,"backslash"],[221,"bracketright"],[222,"quote"]]);t.normalizeEventKey=e=>{let{which:t,key:r}=e;if(s.has(t))return s.get(t);const n=String.fromCharCode(t).toLowerCase();return/^[a-z0-9]$/.test(n)?n:r.toLowerCase()}},33925:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724);var s=n(r(85707)),i=r(62577),o=n(r(3849)),a=r(77661),l=n(r(50206)),h=r(87642),u=r(45435),c=r(71120);function d(e,t,r){p(e,t),t.set(e,r)}function p(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function g(e,t){return e.get(m(e,t))}function f(e,t,r){return e.set(m(e,t),r),r}function m(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var y=new WeakMap,E=new WeakMap,w=new WeakMap,C=new WeakMap,v=new WeakMap,R=new WeakMap,S=new WeakMap,T=new WeakMap,N=new WeakSet;function M(){return parseInt(this.hot.rootElement.getAttribute((0,c.A11Y_COLCOUNT)()[0]),10)}function _(e){const t=m(N,this,M).call(this)+e;(0,i.setAttribute)(this.hot.rootElement,...(0,c.A11Y_COLCOUNT)(t))}function b(){const e=this.hot.rootElement;this.hasVerticalScroll()?(0,i.addClass)(e,"htHasScrollY"):(0,i.removeClass)(e,"htHasScrollY"),this.hasHorizontalScroll()?(0,i.addClass)(e,"htHasScrollX"):(0,i.removeClass)(e,"htHasScrollX")}t.default=class{constructor(e){var t,r;p(t=this,r=N),r.add(t),(0,s.default)(this,"hot",void 0),(0,s.default)(this,"eventManager",void 0),(0,s.default)(this,"settings",void 0),(0,s.default)(this,"THEAD",void 0),(0,s.default)(this,"TBODY",void 0),(0,s.default)(this,"_wt",void 0),(0,s.default)(this,"activeWt",void 0),d(this,y,0),d(this,E,0),(0,s.default)(this,"postponedAdjustElementsSize",!1),d(this,w,!1),d(this,C,void 0),d(this,v,void 0),d(this,R,0),d(this,S,0),d(this,T,null),this.hot=e,this.eventManager=new o.default(this.hot),this.settings=this.hot.getSettings(),this.createElements(),this.registerEvents(),this.initializeWalkontable()}render(){this.hot.isRenderSuspended()||(this.hot.runHooks("beforeRender",this.hot.forceFullRender),this.postponedAdjustElementsSize&&(this.postponedAdjustElementsSize=!1,this.adjustElementsSize()),this._wt.draw(!this.hot.forceFullRender),m(N,this,b).call(this),this.hot.runHooks("afterRender",this.hot.forceFullRender),this.hot.forceFullRender=!1,this.hot.renderCall=!1)}adjustElementsSize(){this.hot.isRenderSuspended()?this.postponedAdjustElementsSize=!0:this._wt.wtOverlays.adjustElementsSize()}getCellAtCoords(e,t){const r=this._wt.getCell(e,t);return r<0?null:r}scrollViewport(e,t,r){return this._wt.scrollViewport(e,t,r)}scrollViewportHorizontally(e,t){return this._wt.scrollViewportHorizontally(e,t)}scrollViewportVertically(e,t){return this._wt.scrollViewportVertically(e,t)}createElements(){const{rootElement:e,rootDocument:t}=this.hot,r=e.getAttribute("style");r&&e.setAttribute("data-originalstyle",r),(0,i.addClass)(e,"handsontable"),f(v,this,t.createElement("TABLE")),(0,i.addClass)(g(v,this),"htCore"),this.hot.getSettings().tableClassName&&(0,i.addClass)(g(v,this),this.hot.getSettings().tableClassName),this.settings.ariaTags&&((0,i.setAttribute)(g(v,this),[(0,c.A11Y_PRESENTATION)()]),(0,i.setAttribute)(e,[(0,c.A11Y_TREEGRID)(),(0,c.A11Y_ROWCOUNT)(-1),(0,c.A11Y_COLCOUNT)(this.hot.countCols()),(0,c.A11Y_MULTISELECTABLE)()])),this.THEAD=t.createElement("THEAD"),g(v,this).appendChild(this.THEAD),this.TBODY=t.createElement("TBODY"),g(v,this).appendChild(this.TBODY),this.hot.table=g(v,this),this.hot.container.insertBefore(g(v,this),this.hot.container.firstChild)}registerEvents(){const{rootElement:e,rootDocument:t,selection:r,rootWindow:n}=this.hot,s=t.documentElement;this.eventManager.addEventListener(e,"mousedown",(e=>{f(w,this,!0),this.isTextSelectionAllowed(e.target)||((0,i.clearTextSelection)(n),e.preventDefault(),n.focus())})),this.eventManager.addEventListener(e,"mouseup",(()=>{f(w,this,!1)})),this.eventManager.addEventListener(e,"mousemove",(e=>{g(w,this)&&!this.isTextSelectionAllowed(e.target)&&(this.settings.fragmentSelection&&(0,i.clearTextSelection)(n),e.preventDefault())})),this.eventManager.addEventListener(s,"keyup",(e=>{r.isInProgress()&&!e.shiftKey&&r.finish()})),this.eventManager.addEventListener(s,"mouseup",(n=>{r.isInProgress()&&(0,a.isLeftClick)(n)&&r.finish(),f(C,this,!1);const s=(0,i.isOutsideInput)(t.activeElement);(0,i.isInput)(t.activeElement)&&!s||!s&&(r.isSelected()||r.isSelectedByAnyHeader()||e.contains(n.target)||(0,a.isRightClick)(n))||this.hot.unlisten()})),this.eventManager.addEventListener(s,"contextmenu",(e=>{r.isInProgress()&&(0,a.isRightClick)(e)&&(r.finish(),f(C,this,!1))})),this.eventManager.addEventListener(s,"touchend",(()=>{r.isInProgress()&&r.finish(),f(C,this,!1)})),this.eventManager.addEventListener(s,"mousedown",(r=>{const n=r.target,o=r.x||r.clientX,a=r.y||r.clientY;let l=r.target;if(g(C,this)||!e||!this.hot.view)return;const{holder:h}=this._wt.wtTable;if(l===h){const e=(0,i.getScrollbarWidth)(t);if(t.elementFromPoint(o+e,a)!==h||t.elementFromPoint(o,a+e)!==h)return}else for(;l!==s;){if(null===l){if(r.isTargetWebComponent)break;return}if(l===e)return;l=l.parentNode}("function"==typeof this.settings.outsideClickDeselects?this.settings.outsideClickDeselects(n):this.settings.outsideClickDeselects)?this.hot.deselectCell():this.hot.destroyEditor(!1,!1)}));let o=(0,i.getParentWindow)(n);for(;null!==o;)this.eventManager.addEventListener(o.document.documentElement,"click",(()=>{this.hot.unlisten()})),o=(0,i.getParentWindow)(o);this.eventManager.addEventListener(g(v,this),"selectstart",(e=>{this.settings.fragmentSelection||(0,i.isInput)(e.target)||e.preventDefault()}))}translateFromRenderableToVisualCoords(e){let{row:t,col:r}=e;return this.hot._createCellCoords(...this.translateFromRenderableToVisualIndex(t,r))}translateFromRenderableToVisualIndex(e,t){let r=e>=0?this.hot.rowIndexMapper.getVisualFromRenderableIndex(e):e,n=t>=0?this.hot.columnIndexMapper.getVisualFromRenderableIndex(t):t;return null===r&&(r=e),null===n&&(n=t),[r,n]}countRenderableIndexes(e,t){const r=Math.min(e.getNotTrimmedIndexesLength(),t),n=e.getNearestNotHiddenIndex(r-1,-1);return null===n?0:e.getRenderableFromVisualIndex(n)+1}countRenderableColumns(){return this.countRenderableIndexes(this.hot.columnIndexMapper,this.settings.maxCols)}countRenderableRows(){return this.countRenderableIndexes(this.hot.rowIndexMapper,this.settings.maxRows)}countNotHiddenRowIndexes(e,t){return this.countNotHiddenIndexes(e,t,this.hot.rowIndexMapper,this.countRenderableRows())}countNotHiddenColumnIndexes(e,t){return this.countNotHiddenIndexes(e,t,this.hot.columnIndexMapper,this.countRenderableColumns())}countNotHiddenIndexes(e,t,r,n){if(isNaN(e)||e<0)return 0;const s=r.getNearestNotHiddenIndex(e,t),i=r.getRenderableFromVisualIndex(s);if(!Number.isInteger(i))return 0;let o=0;return t<0?o=i+1:t>0&&(o=n-i),o}countNotHiddenFixedColumnsStart(){const e=this.hot.countCols(),t=Math.min(parseInt(this.settings.fixedColumnsStart,10),e)-1;return this.countNotHiddenColumnIndexes(t,-1)}countNotHiddenFixedRowsTop(){const e=this.hot.countRows(),t=Math.min(parseInt(this.settings.fixedRowsTop,10),e)-1;return this.countNotHiddenRowIndexes(t,-1)}countNotHiddenFixedRowsBottom(){const e=this.hot.countRows(),t=Math.max(e-parseInt(this.settings.fixedRowsBottom,10),0);return this.countNotHiddenRowIndexes(t,1)}countRenderableColumnsInRange(e,t){let r=0;for(let n=e;n<=t;n++)null!==this.hot.columnIndexMapper.getRenderableFromVisualIndex(n)&&(r+=1);return r}countRenderableRowsInRange(e,t){let r=0;for(let n=e;n<=t;n++)null!==this.hot.rowIndexMapper.getRenderableFromVisualIndex(n)&&(r+=1);return r}getStylesHandler(){return this._wt.stylesHandler}getDefaultRowHeight(){return this._wt.stylesHandler.getDefaultRowHeight()}addClassNameToLicenseElement(e){var t;const r=null===(t=this.hot.rootElement.parentNode)||void 0===t?void 0:t.querySelector(".hot-display-license-info");r&&(0,i.addClass)(r,e)}removeClassNameFromLicenseElement(e){var t;const r=null===(t=this.hot.rootElement.parentNode)||void 0===t?void 0:t.querySelector(".hot-display-license-info");r&&(0,i.removeClass)(r,e)}isMainTableNotFullyCoveredByOverlays(){const e=this.countNotHiddenFixedRowsTop()+this.countNotHiddenFixedRowsBottom(),t=this.countNotHiddenFixedColumnsStart();return this.hot.countRenderedRows()>e&&this.hot.countRenderedCols()>t}initializeWalkontable(){const e={ariaTags:this.settings.ariaTags,rtlMode:this.hot.isRtl(),externalRowCalculator:this.hot.getPlugin("autoRowSize")&&this.hot.getPlugin("autoRowSize").isEnabled(),table:g(v,this),isDataViewInstance:()=>(0,u.isRootInstance)(this.hot),preventOverflow:()=>this.settings.preventOverflow,preventWheel:()=>this.settings.preventWheel,viewportColumnRenderingThreshold:()=>this.settings.viewportColumnRenderingThreshold,viewportRowRenderingThreshold:()=>this.settings.viewportRowRenderingThreshold,data:(e,t)=>this.hot.getDataAtCell(...this.translateFromRenderableToVisualIndex(e,t)),totalRows:()=>this.countRenderableRows(),totalColumns:()=>this.countRenderableColumns(),fixedColumnsStart:()=>this.countNotHiddenFixedColumnsStart(),fixedRowsTop:()=>this.countNotHiddenFixedRowsTop(),fixedRowsBottom:()=>this.countNotHiddenFixedRowsBottom(),shouldRenderInlineStartOverlay:()=>this.settings.fixedColumnsStart>0||e.rowHeaders().length>0,shouldRenderTopOverlay:()=>this.settings.fixedRowsTop>0||e.columnHeaders().length>0,shouldRenderBottomOverlay:()=>this.settings.fixedRowsBottom>0,minSpareRows:()=>this.settings.minSpareRows,renderAllRows:this.settings.renderAllRows,renderAllColumns:this.settings.renderAllColumns,rowHeaders:()=>{const e=[];return this.hot.hasRowHeaders()&&e.push(((e,t)=>{const r=e>=0?this.hot.rowIndexMapper.getVisualFromRenderableIndex(e):e;this.appendRowHeader(r,t)})),this.hot.runHooks("afterGetRowHeaderRenderers",e),f(E,this,e.length),this.hot.getSettings().ariaTags&&m(N,this,M).call(this)===this.hot.countCols()&&m(N,this,_).call(this,g(E,this)),e},columnHeaders:()=>{const e=[];return this.hot.hasColHeaders()&&e.push(((e,t)=>{const r=e>=0?this.hot.columnIndexMapper.getVisualFromRenderableIndex(e):e;this.appendColHeader(r,t)})),this.hot.runHooks("afterGetColumnHeaderRenderers",e),f(y,this,e.length),e},columnWidth:e=>{const t=this.hot.columnIndexMapper.getVisualFromRenderableIndex(e);return this.hot.getColWidth(null===t?e:t)},rowHeight:e=>{const t=this.hot.rowIndexMapper.getVisualFromRenderableIndex(e);return this.hot.getRowHeight(null===t?e:t)},rowHeightByOverlayName:(e,t)=>{const r=this.hot.rowIndexMapper.getVisualFromRenderableIndex(e),n=null===r?e:r;return this.hot.runHooks("modifyRowHeightByOverlayName",this.hot.getRowHeight(n),n,t)},cellRenderer:(e,t,r)=>{const[n,s]=this.translateFromRenderableToVisualIndex(e,t),i=this.hot.runHooks("modifyGetCellCoords",n,s,!1,"meta");let o=n,a=s;Array.isArray(i)&&([o,a]=i);const l=this.hot.getCellMeta(o,a),h=this.hot.colToProp(a);let u=this.hot.getDataAtRowProp(o,h);this.hot.hasHook("beforeValueRender")&&(u=this.hot.runHooks("beforeValueRender",u,l)),this.hot.runHooks("beforeRenderer",r,n,s,h,u,l),this.hot.getCellRenderer(l)(this.hot,r,n,s,h,u,l),this.hot.runHooks("afterRenderer",r,n,s,h,u,l)},selections:this.hot.selection.highlight,hideBorderOnMouseDownOver:()=>this.settings.fragmentSelection,onWindowResize:()=>{this.hot&&!this.hot.isDestroyed&&this.hot.refreshDimensions()},onContainerElementResize:()=>{this.hot&&!this.hot.isDestroyed&&(0,i.isVisible)(this.hot.rootElement)&&this.hot.refreshDimensions()},onCellMouseDown:(e,t,r,n)=>{const s=this.translateFromRenderableToVisualCoords(t),i={row:!1,column:!1,cell:!1};this.hot.listen(),this.activeWt=n,f(C,this,!0),f(T,this,{x:e.clientX,y:e.clientY}),this.hot.runHooks("beforeOnCellMouseDown",e,s,r,i),(0,a.isImmediatePropagationStopped)(e)||((0,h.handleMouseEvent)(e,{coords:s,selection:this.hot.selection,controller:i,cellCoordsFactory:(e,t)=>this.hot._createCellCoords(e,t)}),this.hot.runHooks("afterOnCellMouseDown",e,s,r),this.activeWt=this._wt)},onCellContextMenu:(e,t,r,n)=>{const s=this.translateFromRenderableToVisualCoords(t);this.activeWt=n,f(C,this,!1),this.hot.selection.isInProgress()&&this.hot.selection.finish(),this.hot.runHooks("beforeOnCellContextMenu",e,s,r),(0,a.isImmediatePropagationStopped)(e)||(this.hot.runHooks("afterOnCellContextMenu",e,s,r),this.activeWt=this._wt)},onCellMouseOut:(e,t,r,n)=>{const s=this.translateFromRenderableToVisualCoords(t);this.activeWt=n,this.hot.runHooks("beforeOnCellMouseOut",e,s,r),(0,a.isImmediatePropagationStopped)(e)||(this.hot.runHooks("afterOnCellMouseOut",e,s,r),this.activeWt=this._wt)},onCellMouseOver:(e,t,r,n)=>{const s=this.translateFromRenderableToVisualCoords(t),i={row:!1,column:!1,cell:!1};this.activeWt=n,this.hot.runHooks("beforeOnCellMouseOver",e,s,r,i),(0,a.isImmediatePropagationStopped)(e)||(!g(C,this)||g(T,this)&&g(T,this).x===e.clientX&&g(T,this).y===e.clientY||(0,h.handleMouseEvent)(e,{coords:s,selection:this.hot.selection,controller:i,cellCoordsFactory:(e,t)=>this.hot._createCellCoords(e,t)}),this.hot.runHooks("afterOnCellMouseOver",e,s,r),this.activeWt=this._wt,f(T,this,null))},onCellMouseUp:(e,t,r,n)=>{const s=this.translateFromRenderableToVisualCoords(t);this.activeWt=n,this.hot.runHooks("beforeOnCellMouseUp",e,s,r),(0,a.isImmediatePropagationStopped)(e)||this.hot.isDestroyed||(this.hot.runHooks("afterOnCellMouseUp",e,s,r),this.activeWt=this._wt)},onCellCornerMouseDown:e=>{e.preventDefault(),this.hot.runHooks("afterOnCellCornerMouseDown",e)},onCellCornerDblClick:e=>{e.preventDefault(),this.hot.runHooks("afterOnCellCornerDblClick",e)},beforeDraw:(e,t)=>this.beforeRender(e,t),onDraw:e=>this.afterRender(e),onBeforeViewportScrollVertically:(e,t)=>{const r=this.hot.rowIndexMapper,n=e<0;let s=e;return n||(s=r.getVisualFromRenderableIndex(e),null!==s)?(s=this.hot.runHooks("beforeViewportScrollVertically",s,t),this.hot.runHooks("beforeViewportScroll"),n?s:r.getRenderableFromVisualIndex(s)):e},onBeforeViewportScrollHorizontally:(e,t)=>{const r=this.hot.columnIndexMapper,n=e<0;let s=e;return n||(s=r.getVisualFromRenderableIndex(e),null!==s)?(s=this.hot.runHooks("beforeViewportScrollHorizontally",s,t),this.hot.runHooks("beforeViewportScroll"),n?s:r.getRenderableFromVisualIndex(s)):e},onScrollVertically:()=>{this.hot.runHooks("afterScrollVertically"),this.hot.runHooks("afterScroll")},onScrollHorizontally:()=>{this.hot.runHooks("afterScrollHorizontally"),this.hot.runHooks("afterScroll")},onBeforeRemoveCellClassNames:()=>this.hot.runHooks("beforeRemoveCellClassNames"),onBeforeHighlightingRowHeader:(e,t,r)=>{const n=this.hot.rowIndexMapper,s=e<0;let i=e;s||(i=n.getVisualFromRenderableIndex(e));const o=this.hot.runHooks("beforeHighlightingRowHeader",i,t,r);return s?o:n.getRenderableFromVisualIndex(n.getNearestNotHiddenIndex(o,1))},onBeforeHighlightingColumnHeader:(e,t,r)=>{const n=this.hot.columnIndexMapper,s=e<0;let i=e;s||(i=n.getVisualFromRenderableIndex(e));const o=this.hot.runHooks("beforeHighlightingColumnHeader",i,t,r);return s?o:n.getRenderableFromVisualIndex(n.getNearestNotHiddenIndex(o,1))},onAfterDrawSelection:(e,t,r)=>{let n;const[s,i]=this.translateFromRenderableToVisualIndex(e,t),o=this.hot.selection.getSelectedRange();if(o.size()>0){const e=o.peekByIndex(null!=r?r:0);n=[e.from.row,e.from.col,e.to.row,e.to.col]}return this.hot.runHooks("afterDrawSelection",s,i,n,r)},onBeforeDrawBorders:(e,t)=>{const[r,n,s,i]=e,o=[this.hot.rowIndexMapper.getVisualFromRenderableIndex(r),this.hot.columnIndexMapper.getVisualFromRenderableIndex(n),this.hot.rowIndexMapper.getVisualFromRenderableIndex(s),this.hot.columnIndexMapper.getVisualFromRenderableIndex(i)];return this.hot.runHooks("beforeDrawBorders",o,t)},onBeforeTouchScroll:()=>this.hot.runHooks("beforeTouchScroll"),onAfterMomentumScroll:()=>this.hot.runHooks("afterMomentumScroll"),onModifyRowHeaderWidth:e=>this.hot.runHooks("modifyRowHeaderWidth",e),onModifyGetCellCoords:(e,t,r,n)=>{const s=this.hot.rowIndexMapper,i=this.hot.columnIndexMapper,o=t>=0?i.getVisualFromRenderableIndex(t):t,a=e>=0?s.getVisualFromRenderableIndex(e):e,l=this.hot.runHooks("modifyGetCellCoords",a,o,r,n);if(Array.isArray(l)){const[e,t,r,n]=l;return[e>=0?s.getRenderableFromVisualIndex(s.getNearestNotHiddenIndex(e,1)):e,t>=0?i.getRenderableFromVisualIndex(i.getNearestNotHiddenIndex(t,1)):t,r>=0?s.getRenderableFromVisualIndex(s.getNearestNotHiddenIndex(r,-1)):r,n>=0?i.getRenderableFromVisualIndex(i.getNearestNotHiddenIndex(n,-1)):n]}},onModifyGetCoordsElement:(e,t)=>{const r=this.hot.rowIndexMapper,n=this.hot.columnIndexMapper,s=t>=0?n.getVisualFromRenderableIndex(t):t,i=e>=0?r.getVisualFromRenderableIndex(e):e,o=this.hot.runHooks("modifyGetCoordsElement",i,s);if(Array.isArray(o)){const[e,t]=o;return[e>=0?r.getRenderableFromVisualIndex(r.getNearestNotHiddenIndex(e,1)):e,t>=0?n.getRenderableFromVisualIndex(n.getNearestNotHiddenIndex(t,1)):t]}},viewportRowCalculatorOverride:e=>{let t=this.settings.viewportRowRenderingOffset;if("auto"===t&&this.settings.fixedRowsTop&&(t=10),t>0||"auto"===t){const r=this.countRenderableRows(),n=e.startRow,s=e.endRow;if("number"==typeof t)e.startRow=Math.max(n-t,0),e.endRow=Math.min(s+t,r-1);else if("auto"===t){const t=Math.max(1,Math.ceil(s/r*12));e.startRow=Math.max(n-t,0),e.endRow=Math.min(s+t,r-1)}}this.hot.runHooks("afterViewportRowCalculatorOverride",e)},viewportColumnCalculatorOverride:e=>{let t=this.settings.viewportColumnRenderingOffset;if("auto"===t&&this.settings.fixedColumnsStart&&(t=10),t>0||"auto"===t){const r=this.countRenderableColumns(),n=e.startColumn,s=e.endColumn;if("number"==typeof t&&(e.startColumn=Math.max(n-t,0),e.endColumn=Math.min(s+t,r-1)),"auto"===t){const t=Math.max(1,Math.ceil(s/r*6));e.startColumn=Math.max(n-t,0),e.endColumn=Math.min(s+t,r-1)}}this.hot.runHooks("afterViewportColumnCalculatorOverride",e)},rowHeaderWidth:()=>this.settings.rowHeaderWidth,columnHeaderHeight:()=>{const e=this.hot.runHooks("modifyColumnHeaderHeight");return this.settings.columnHeaderHeight||e}};this.hot.runHooks("beforeInitWalkontable",e),this._wt=new l.default(e),this.activeWt=this._wt;const t=this._wt.wtTable.spreader,{width:r,height:n}=this.hot.rootElement.getBoundingClientRect();this.setLastSize(r,n),this.eventManager.addEventListener(t,"mousedown",(e=>{e.target===t&&3===e.which&&e.stopPropagation()})),this.eventManager.addEventListener(t,"contextmenu",(e=>{e.target===t&&3===e.which&&e.stopPropagation()})),this.eventManager.addEventListener(this.hot.rootDocument.documentElement,"click",(()=>{this.settings.observeDOMVisibility&&this._wt.drawInterrupted&&(this.hot.forceFullRender=!0,this.render())}))}isTextSelectionAllowed(e){if((0,i.isInput)(e))return!0;const t=(0,i.isChildOf)(e,this._wt.wtTable.spreader);return!(!0!==this.settings.fragmentSelection||!t)||(!("cell"!==this.settings.fragmentSelection||!this.isSelectedOnlyCell()||!t)||!(this.settings.fragmentSelection||!this.isCellEdited()||!this.isSelectedOnlyCell()))}isMouseDown(){return g(C,this)}isSelectedOnlyCell(){var e,t;return null!==(e=null===(t=this.hot.getSelectedRangeLast())||void 0===t?void 0:t.isSingleCell())&&void 0!==e&&e}isCellEdited(){const e=this.hot.getActiveEditor();return e&&e.isOpened()}beforeRender(e,t){e&&this.hot.runHooks("beforeViewRender",this.hot.forceFullRender,t)}afterRender(e){e&&this.hot.runHooks("afterViewRender",this.hot.forceFullRender)}appendRowHeader(e,t){if(t.firstChild){const r=t.firstChild;if(!(0,i.hasClass)(r,"relative"))return(0,i.empty)(t),void this.appendRowHeader(e,t);this.updateCellHeader(r.querySelector(".rowHeader"),e,this.hot.getRowHeader)}else{const{rootDocument:r,getRowHeader:n}=this.hot,s=r.createElement("div"),i=r.createElement("span");s.className="relative",i.className="rowHeader",this.updateCellHeader(i,e,n),s.appendChild(i),t.appendChild(s)}this.hot.runHooks("afterGetRowHeader",e,t)}appendColHeader(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hot.getColHeader,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;const s=()=>{const t=e>=0?this.hot.getColumnMeta(e).headerClassName:null;return t?t.split(" "):[]};if(t.firstChild){const o=t.firstChild;(0,i.hasClass)(o,"relative")?(this.updateCellHeader(o.querySelector(".colHeader"),e,r,n),o.className="",(0,i.addClass)(o,["relative",...s()])):((0,i.empty)(t),this.appendColHeader(e,t,r,n))}else{const{rootDocument:o}=this.hot,a=o.createElement("div"),l=o.createElement("span"),h=s();a.classList.add("relative",...h),l.className="colHeader",this.settings.ariaTags&&((0,i.setAttribute)(a,...(0,c.A11Y_PRESENTATION)()),(0,i.setAttribute)(l,...(0,c.A11Y_PRESENTATION)())),this.updateCellHeader(l,e,r,n),a.appendChild(l),t.appendChild(a)}this.hot.runHooks("afterGetColHeader",e,t,n)}updateCellHeader(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=t;const o=this._wt.wtOverlays.getParentOverlay(e)||this._wt;e.parentNode&&((0,i.hasClass)(e,"colHeader")?s=o.wtTable.columnFilter.sourceToRendered(t):(0,i.hasClass)(e,"rowHeader")&&(s=o.wtTable.rowFilter.sourceToRendered(t))),s>-1?(0,i.fastInnerHTML)(e,r(t,n)):((0,i.fastInnerText)(e,String.fromCharCode(160)),(0,i.addClass)(e,"cornerHeader"))}maximumVisibleElementWidth(e){const t=this._wt.wtViewport.getWorkspaceWidth()-e;return t>0?t:0}maximumVisibleElementHeight(e){const t=this._wt.wtViewport.getWorkspaceHeight()-e;return t>0?t:0}setLastSize(e,t){f(R,this,e),f(S,this,t)}getLastSize(){return{width:g(R,this),height:g(S,this)}}getFirstRenderedVisibleRow(){if(!this._wt.wtViewport.rowsRenderCalculator)return null;const e=this.hot.rowIndexMapper,t=e.getVisualFromRenderableIndex(this._wt.wtTable.getFirstRenderedRow());return e.getNearestNotHiddenIndex(null!=t?t:0,1)}getLastRenderedVisibleRow(){if(!this._wt.wtViewport.rowsRenderCalculator)return null;const e=this.hot.rowIndexMapper,t=e.getVisualFromRenderableIndex(this._wt.wtTable.getLastRenderedRow());return e.getNearestNotHiddenIndex(null!=t?t:this.hot.countRows()-1,-1)}getFirstRenderedVisibleColumn(){if(!this._wt.wtViewport.columnsRenderCalculator)return null;const e=this.hot.columnIndexMapper,t=e.getVisualFromRenderableIndex(this._wt.wtTable.getFirstRenderedColumn());return e.getNearestNotHiddenIndex(null!=t?t:0,1)}getLastRenderedVisibleColumn(){if(!this._wt.wtViewport.columnsRenderCalculator)return null;const e=this.hot.columnIndexMapper,t=e.getVisualFromRenderableIndex(this._wt.wtTable.getLastRenderedColumn());return e.getNearestNotHiddenIndex(null!=t?t:this.hot.countCols()-1,-1)}getFirstFullyVisibleRow(){return this.hot.rowIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getFirstVisibleRow())}getLastFullyVisibleRow(){return this.hot.rowIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getLastVisibleRow())}getFirstFullyVisibleColumn(){return this.hot.columnIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getFirstVisibleColumn())}getLastFullyVisibleColumn(){return this.hot.columnIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getLastVisibleColumn())}getFirstPartiallyVisibleRow(){return this.hot.rowIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getFirstPartiallyVisibleRow())}getLastPartiallyVisibleRow(){return this.hot.rowIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getLastPartiallyVisibleRow())}getFirstPartiallyVisibleColumn(){return this.hot.columnIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getFirstPartiallyVisibleColumn())}getLastPartiallyVisibleColumn(){return this.hot.columnIndexMapper.getVisualFromRenderableIndex(this._wt.wtScroll.getLastPartiallyVisibleColumn())}getColumnHeadersCount(){return g(y,this)}getRowHeadersCount(){return g(E,this)}getViewportWidth(){return this._wt.wtViewport.getViewportWidth()}getWorkspaceWidth(){return this._wt.wtViewport.getWorkspaceWidth()}getViewportHeight(){return this._wt.wtViewport.getViewportHeight()}getWorkspaceHeight(){return this._wt.wtViewport.getWorkspaceHeight()}getElementOverlayName(e){var t;return(null!==(t=this._wt.wtOverlays.getParentOverlay(e))&&void 0!==t?t:this._wt).wtTable.name}getOverlayByName(e){return this._wt.getOverlayByName(e)}getActiveOverlayName(){return this._wt.activeOverlayName}isVisible(){return this._wt.wtTable.isVisible()}hasVerticalScroll(){return this._wt.wtViewport.hasVerticalScroll()}hasHorizontalScroll(){return this._wt.wtViewport.hasHorizontalScroll()}getTableWidth(){return this._wt.wtTable.getWidth()}getTableHeight(){return this._wt.wtTable.getHeight()}getRowHeaderWidth(){return this._wt.wtViewport.getRowHeaderWidth()}getColumnHeaderHeight(){return this._wt.wtViewport.getColumnHeaderHeight()}isVerticallyScrollableByWindow(){return this._wt.wtViewport.isVerticallyScrollableByWindow()}isHorizontallyScrollableByWindow(){return this._wt.wtViewport.isHorizontallyScrollableByWindow()}destroy(){this._wt.destroy(),this.eventManager.destroy()}}},73001:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(69655);var n=r(68838),s=r(89027);function i(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function o(e,t){return e.get(l(e,t))}function a(e,t,r){return e.set(l(e,t),r),r}function l(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var h=new WeakMap,u=new WeakMap,c=new WeakMap,d=new WeakMap,p=new WeakMap;t.ChangesObservable=class{constructor(){let{initialIndexValue:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,h,new Set),i(this,u,[]),i(this,c,[]),i(this,d,!1),i(this,p,!1),a(p,this,null!=e&&e)}createObserver(){const e=new n.ChangesObserver;return o(h,this).add(e),e.addLocalHook("unsubscribe",(()=>{o(h,this).delete(e)})),e._writeInitialChanges((0,s.arrayDiff)(o(u,this),o(c,this))),e}emit(e){let t=o(c,this);o(d,this)&&o(u,this).length===e.length||(0===e.length?e=new Array(t.length).fill(o(p,this)):a(u,this,new Array(e.length).fill(o(p,this))),o(d,this)||(a(d,this,!0),t=o(u,this)));const r=(0,s.arrayDiff)(t,e);o(h,this).forEach((e=>e._write(r))),a(c,this,e)}}},68838:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834);var s=r(25499),i=n(r(16050));function o(e,t,r){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function a(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var l=new WeakMap;class h{constructor(){o(this,l,[])}subscribe(e){var t,r;return this.addLocalHook("change",e),this._write((r=this,(t=l).get(a(t,r)))),this}unsubscribe(){return this.runLocalHooks("unsubscribe"),this.clearLocalHooks(),this}_write(e){return e.length>0&&this.runLocalHooks("change",e),this}_writeInitialChanges(e){var t,r,n;r=this,n=e,(t=l).set(a(t,r),n)}}t.ChangesObserver=h,(0,s.mixin)(h,i.default)},89027:(e,t,r)=>{"use strict";t.__esModule=!0,t.arrayDiff=function(e,t){const r=[];let n=0,s=0;for(;n<e.length&&s<t.length;n++,s++)e[n]!==t[s]&&r.push({op:"replace",index:s,oldValue:e[n],newValue:t[s]});for(;n<t.length;n++)r.push({op:"insert",index:n,oldValue:void 0,newValue:t[n]});for(;s<e.length;s++)r.push({op:"remove",index:s,oldValue:e[s],newValue:void 0});return r},r(15724)},61149:(e,t,r)=>{"use strict";r(14846),r(69655),t.__esModule=!0;var n={IndexMapper:!0,getRegisteredMapsCounter:!0,getIncreasedIndexes:!0,getDecreasedIndexes:!0,alterUtilsFactory:!0},s=r(81667);t.IndexMapper=s.IndexMapper;var i=r(47675);t.getRegisteredMapsCounter=i.getRegisteredMapsCounter;var o=r(88795);t.getIncreasedIndexes=o.getIncreasedIndexes,t.getDecreasedIndexes=o.getDecreasedIndexes,t.alterUtilsFactory=o.alterUtilsFactory;var a=r(74761);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===a[e]||(t[e]=a[e]))}))},81667:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));r(67834),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620),r(14846),r(27458),r(94364),r(75568);var i=r(10587),o=r(74761),a=r(98045),l=n(r(16050)),h=r(25499),u=r(70505),c=r(73001);new Set;class d{constructor(){(0,s.default)(this,"indexesSequence",new o.IndexesSequence),(0,s.default)(this,"trimmingMapsCollection",new a.AggregatedCollection((e=>e.some((e=>!0===e))),!1)),(0,s.default)(this,"hidingMapsCollection",new a.AggregatedCollection((e=>e.some((e=>!0===e))),!1)),(0,s.default)(this,"variousMapsCollection",new a.MapCollection),(0,s.default)(this,"hidingChangesObservable",new c.ChangesObservable({initialIndexValue:!1})),(0,s.default)(this,"notTrimmedIndexesCache",[]),(0,s.default)(this,"notHiddenIndexesCache",[]),(0,s.default)(this,"isBatched",!1),(0,s.default)(this,"indexesSequenceChanged",!1),(0,s.default)(this,"indexesChangeSource",void 0),(0,s.default)(this,"trimmedIndexesChanged",!1),(0,s.default)(this,"hiddenIndexesChanged",!1),(0,s.default)(this,"renderablePhysicalIndexesCache",[]),(0,s.default)(this,"fromPhysicalToVisualIndexesCache",new Map),(0,s.default)(this,"fromVisualToRenderableIndexesCache",new Map),this.indexesSequence.addLocalHook("change",(()=>{this.indexesSequenceChanged=!0,this.updateCache(),this.runLocalHooks("indexesSequenceChange",this.indexesChangeSource),this.runLocalHooks("change",this.indexesSequence,null)})),this.trimmingMapsCollection.addLocalHook("change",(e=>{this.trimmedIndexesChanged=!0,this.updateCache(),this.runLocalHooks("change",e,this.trimmingMapsCollection)})),this.hidingMapsCollection.addLocalHook("change",(e=>{this.hiddenIndexesChanged=!0,this.updateCache(),this.runLocalHooks("change",e,this.hidingMapsCollection)})),this.variousMapsCollection.addLocalHook("change",(e=>{this.runLocalHooks("change",e,this.variousMapsCollection)}))}suspendOperations(){this.isBatched=!0}resumeOperations(){this.isBatched=!1,this.updateCache()}createChangesObserver(e){if("hiding"!==e)throw new Error(`Unsupported index map type "${e}".`);return this.hidingChangesObservable.createObserver()}createAndRegisterIndexMap(e,t,r){return this.registerMap(e,(0,o.createIndexMap)(t,r))}registerMap(e,t){if(this.trimmingMapsCollection.get(e)||this.hidingMapsCollection.get(e)||this.variousMapsCollection.get(e))throw Error(`Map with name "${e}" has been already registered.`);t instanceof o.TrimmingMap?this.trimmingMapsCollection.register(e,t):t instanceof o.HidingMap?this.hidingMapsCollection.register(e,t):this.variousMapsCollection.register(e,t);const r=this.getNumberOfIndexes();return r>0&&t.init(r),t}unregisterMap(e){this.trimmingMapsCollection.unregister(e),this.hidingMapsCollection.unregister(e),this.variousMapsCollection.unregister(e)}unregisterAll(){this.trimmingMapsCollection.unregisterAll(),this.hidingMapsCollection.unregisterAll(),this.variousMapsCollection.unregisterAll()}getPhysicalFromVisualIndex(e){const t=this.notTrimmedIndexesCache[e];return(0,u.isDefined)(t)?t:null}getPhysicalFromRenderableIndex(e){const t=this.renderablePhysicalIndexesCache[e];return(0,u.isDefined)(t)?t:null}getVisualFromPhysicalIndex(e){const t=this.fromPhysicalToVisualIndexesCache.get(e);return(0,u.isDefined)(t)?t:null}getVisualFromRenderableIndex(e){return this.getVisualFromPhysicalIndex(this.getPhysicalFromRenderableIndex(e))}getRenderableFromVisualIndex(e){const t=this.fromVisualToRenderableIndexesCache.get(e);return(0,u.isDefined)(t)?t:null}getNearestNotHiddenIndex(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(null===this.getPhysicalFromVisualIndex(e))return null;if(this.fromVisualToRenderableIndexesCache.has(e))return e;const n=Array.from(this.fromVisualToRenderableIndexesCache.keys());let s=-1;return s=t>0?n.findIndex((t=>t>e)):n.reverse().findIndex((t=>t<e)),-1===s?r?this.getNearestNotHiddenIndex(e,-t,!1):null:n[s]}initToLength(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getNumberOfIndexes();this.notTrimmedIndexesCache=[...new Array(e).keys()],this.notHiddenIndexesCache=[...new Array(e).keys()],this.suspendOperations(),this.indexesChangeSource="init",this.indexesSequence.init(e),this.indexesChangeSource=void 0,this.trimmingMapsCollection.initEvery(e),this.resumeOperations(),this.suspendOperations(),this.hidingMapsCollection.initEvery(e),this.variousMapsCollection.initEvery(e),this.resumeOperations(),this.runLocalHooks("init")}fitToLength(e){const t=this.getNumberOfIndexes();if(e<t){const t=[...Array(this.getNumberOfIndexes()-e).keys()].map((t=>t+e));this.removeIndexes(t)}else this.insertIndexes(t,e-t)}getIndexesSequence(){return this.indexesSequence.getValues()}setIndexesSequence(e){void 0===this.indexesChangeSource&&(this.indexesChangeSource="update"),this.indexesSequence.setValues(e),"update"===this.indexesChangeSource&&(this.indexesChangeSource=void 0)}getNotTrimmedIndexes(){if(!0===(!(arguments.length>0&&void 0!==arguments[0])||arguments[0]))return this.notTrimmedIndexesCache;return this.getIndexesSequence().filter((e=>!1===this.isTrimmed(e)))}getNotTrimmedIndexesLength(){return this.getNotTrimmedIndexes().length}getNotHiddenIndexes(){if(!0===(!(arguments.length>0&&void 0!==arguments[0])||arguments[0]))return this.notHiddenIndexesCache;return this.getIndexesSequence().filter((e=>!1===this.isHidden(e)))}getNotHiddenIndexesLength(){return this.getNotHiddenIndexes().length}getRenderableIndexes(){if(!0===(!(arguments.length>0&&void 0!==arguments[0])||arguments[0]))return this.renderablePhysicalIndexesCache;return this.getNotTrimmedIndexes().filter((e=>!1===this.isHidden(e)))}getRenderableIndexesLength(){return this.getRenderableIndexes().length}getNumberOfIndexes(){return this.getIndexesSequence().length}moveIndexes(e,t){"number"==typeof e&&(e=[e]);const r=(0,i.arrayMap)(e,(e=>this.getPhysicalFromVisualIndex(e))),n=this.getNotTrimmedIndexesLength(),s=e.length,a=(0,o.getListWithRemovedItems)(this.getIndexesSequence(),r),l=a.filter((e=>!1===this.isTrimmed(e)));let h=a.indexOf(l[l.length-1])+1;if(t+s<n){const e=l[t];h=a.indexOf(e)}this.indexesChangeSource="move",this.setIndexesSequence((0,o.getListWithInsertedItems)(a,h,r)),this.indexesChangeSource=void 0}isTrimmed(e){return this.trimmingMapsCollection.getMergedValueAtIndex(e)}isHidden(e){return this.hidingMapsCollection.getMergedValueAtIndex(e)}insertIndexes(e,t){const r=this.getNotTrimmedIndexes()[e],n=(0,u.isDefined)(r)?r:this.getNumberOfIndexes(),s=this.getIndexesSequence().includes(r)?this.getIndexesSequence().indexOf(r):this.getNumberOfIndexes(),o=(0,i.arrayMap)(new Array(t).fill(n),((e,t)=>e+t));this.suspendOperations(),this.indexesChangeSource="insert",this.indexesSequence.insert(s,o),this.indexesChangeSource=void 0,this.trimmingMapsCollection.insertToEvery(s,o),this.hidingMapsCollection.insertToEvery(s,o),this.variousMapsCollection.insertToEvery(s,o),this.resumeOperations()}removeIndexes(e){this.suspendOperations(),this.indexesChangeSource="remove",this.indexesSequence.remove(e),this.indexesChangeSource=void 0,this.trimmingMapsCollection.removeFromEvery(e),this.hidingMapsCollection.removeFromEvery(e),this.variousMapsCollection.removeFromEvery(e),this.resumeOperations()}updateCache(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=this.indexesSequenceChanged||this.trimmedIndexesChanged||this.hiddenIndexesChanged;(!0===e||!1===this.isBatched&&!0===t)&&(this.trimmingMapsCollection.updateCache(),this.hidingMapsCollection.updateCache(),this.notTrimmedIndexesCache=this.getNotTrimmedIndexes(!1),this.notHiddenIndexesCache=this.getNotHiddenIndexes(!1),this.renderablePhysicalIndexesCache=this.getRenderableIndexes(!1),this.cacheFromPhysicalToVisualIndexes(),this.cacheFromVisualToRenderableIndexes(),this.hiddenIndexesChanged&&this.hidingChangesObservable.emit(this.hidingMapsCollection.getMergedValues()),this.runLocalHooks("cacheUpdated",{indexesSequenceChanged:this.indexesSequenceChanged,trimmedIndexesChanged:this.trimmedIndexesChanged,hiddenIndexesChanged:this.hiddenIndexesChanged}),this.indexesSequenceChanged=!1,this.trimmedIndexesChanged=!1,this.hiddenIndexesChanged=!1)}cacheFromPhysicalToVisualIndexes(){const e=this.getNotTrimmedIndexesLength();this.fromPhysicalToVisualIndexesCache.clear();for(let t=0;t<e;t+=1){const e=this.getPhysicalFromVisualIndex(t);this.fromPhysicalToVisualIndexesCache.set(e,t)}}cacheFromVisualToRenderableIndexes(){const e=this.getRenderableIndexesLength();this.fromVisualToRenderableIndexesCache.clear();for(let t=0;t<e;t+=1){const e=this.getPhysicalFromRenderableIndex(t),r=this.getVisualFromPhysicalIndex(e);this.fromVisualToRenderableIndexesCache.set(r,t)}}}t.IndexMapper=d,(0,h.mixin)(d,l.default)},21928:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707)),i=r(47675),o=r(10587),a=r(70505);class l extends i.MapCollection{constructor(e,t){super(),(0,s.default)(this,"mergedValuesCache",[]),(0,s.default)(this,"aggregationFunction",void 0),(0,s.default)(this,"fallbackValue",void 0),this.aggregationFunction=e,this.fallbackValue=t}getMergedValues(){if(!0===(!(arguments.length>0&&void 0!==arguments[0])||arguments[0]))return this.mergedValuesCache;if(0===this.getLength())return[];const e=(0,o.arrayMap)(this.get(),(e=>e.getValues())),t=[],r=(0,a.isDefined)(e[0])&&e[0].length||0;for(let n=0;n<r;n+=1){const r=[];for(let t=0;t<this.getLength();t+=1)r.push(e[t][n]);t.push(r)}return(0,o.arrayMap)(t,this.aggregationFunction)}getMergedValueAtIndex(e,t){const r=this.getMergedValues(t)[e];return(0,a.isDefined)(r)?r:this.fallbackValue}updateCache(){this.mergedValuesCache=this.getMergedValues(!1)}}t.AggregatedCollection=l},98045:(e,t,r)=>{"use strict";r(14846),r(69655),t.__esModule=!0;var n=r(21928);Object.keys(n).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===n[e]||(t[e]=n[e]))}));var s=r(47675);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||(t[e]=s[e]))}))},47675:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.getRegisteredMapsCounter=function(){return l},r(14846),r(69655);var s=n(r(85707)),i=r(70505),o=r(25499),a=n(r(16050));let l=0;class h{constructor(){(0,s.default)(this,"collection",new Map)}register(e,t){!1===this.collection.has(e)&&(this.collection.set(e,t),t.addLocalHook("change",(()=>this.runLocalHooks("change",t))),l+=1)}unregister(e){const t=this.collection.get(e);(0,i.isDefined)(t)&&(t.destroy(),this.collection.delete(e),this.runLocalHooks("change",t),l-=1)}unregisterAll(){this.collection.forEach(((e,t)=>this.unregister(t))),this.collection.clear()}get(e){return(0,i.isUndefined)(e)?Array.from(this.collection.values()):this.collection.get(e)}getLength(){return this.collection.size}removeFromEvery(e){this.collection.forEach((t=>{t.remove(e)}))}insertToEvery(e,t){this.collection.forEach((r=>{r.insert(e,t)}))}initEvery(e){this.collection.forEach((t=>{t.init(e)}))}}t.MapCollection=h,(0,o.mixin)(h,a.default)},72810:(e,t,r)=>{"use strict";t.__esModule=!0,r(15724);var n=r(15898),s=r(10587);class i extends n.PhysicalIndexToValueMap{constructor(){super(arguments.length>0&&void 0!==arguments[0]&&arguments[0])}getHiddenIndexes(){return(0,s.arrayReduce)(this.getValues(),((e,t,r)=>(t&&e.push(r),e)),[])}}t.HidingMap=i},74761:(e,t,r)=>{"use strict";r(14846),r(69655),t.__esModule=!0;var n={createIndexMap:!0,HidingMap:!0,IndexMap:!0,LinkedPhysicalIndexToValueMap:!0,PhysicalIndexToValueMap:!0,TrimmingMap:!0};t.createIndexMap=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!c.has(e))throw new Error(`The provided map type ("${e}") does not exist.`);return new(c.get(e))(t)},r(67834);var s=r(72810);t.HidingMap=s.HidingMap;var i=r(17783);t.IndexMap=i.IndexMap;var o=r(38189);t.LinkedPhysicalIndexToValueMap=o.LinkedPhysicalIndexToValueMap;var a=r(15898);t.PhysicalIndexToValueMap=a.PhysicalIndexToValueMap;var l=r(90008);t.TrimmingMap=l.TrimmingMap;var h=r(70836);Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===h[e]||(t[e]=h[e]))}));var u=r(18046);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||e in t&&t[e]===u[e]||(t[e]=u[e]))}));const c=new Map([["hiding",s.HidingMap],["index",i.IndexMap],["linkedPhysicalIndexToValue",o.LinkedPhysicalIndexToValueMap],["physicalIndexToValue",a.PhysicalIndexToValueMap],["trimming",l.TrimmingMap]])},17783:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(15724);var s=n(r(85707)),i=r(22137),o=r(25499),a=r(89804),l=n(r(16050));class h{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;(0,s.default)(this,"indexedValues",[]),(0,s.default)(this,"initValueOrFn",void 0),this.initValueOrFn=e}getValues(){return this.indexedValues}getValueAtIndex(e){const t=this.indexedValues;if(e<t.length)return t[e]}setValues(e){this.indexedValues=e.slice(),this.runLocalHooks("change")}setValueAtIndex(e,t){return e<this.indexedValues.length&&(this.indexedValues[e]=t,this.runLocalHooks("change"),!0)}clear(){this.setDefaultValues()}getLength(){return this.getValues().length}setDefaultValues(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.indexedValues.length;this.indexedValues.length=0,(0,a.isFunction)(this.initValueOrFn)?(0,i.rangeEach)(e-1,(e=>this.indexedValues.push(this.initValueOrFn(e)))):(0,i.rangeEach)(e-1,(()=>this.indexedValues.push(this.initValueOrFn))),this.runLocalHooks("change")}init(e){return this.setDefaultValues(e),this.runLocalHooks("init"),this}insert(){this.runLocalHooks("change")}remove(){this.runLocalHooks("change")}destroy(){this.clearLocalHooks(),this.indexedValues=null,this.initValueOrFn=null}}t.IndexMap=h,(0,o.mixin)(h,l.default)},70836:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(17783),s=r(18046),i=r(88795);class o extends n.IndexMap{constructor(){super((e=>e))}insert(e,t){const r=(0,i.getIncreasedIndexes)(this.indexedValues,t);this.indexedValues=(0,s.getListWithInsertedItems)(r,e,t),super.insert(e,t)}remove(e){const t=(0,s.getListWithRemovedItems)(this.indexedValues,e);this.indexedValues=(0,i.getDecreasedIndexes)(t,e),super.remove(e)}}t.IndexesSequence=o},38189:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(94364);var s=n(r(85707)),i=r(17783),o=r(4440),a=r(18046),l=r(15501),h=r(89804);class u extends i.IndexMap{constructor(){super(...arguments),(0,s.default)(this,"orderOfIndexes",[])}getValues(){return this.orderOfIndexes.map((e=>this.indexedValues[e]))}setValues(e){this.orderOfIndexes=[...Array(e.length).keys()],super.setValues(e)}setValueAtIndex(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.orderOfIndexes.length;return e<this.indexedValues.length&&(this.indexedValues[e]=t,!1===this.orderOfIndexes.includes(e)&&this.orderOfIndexes.splice(r,0,e),this.runLocalHooks("change"),!0)}clearValue(e){this.orderOfIndexes=(0,a.getListWithRemovedItems)(this.orderOfIndexes,[e]),(0,h.isFunction)(this.initValueOrFn)?super.setValueAtIndex(e,this.initValueOrFn(e)):super.setValueAtIndex(e,this.initValueOrFn)}getLength(){return this.orderOfIndexes.length}setDefaultValues(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.indexedValues.length;this.orderOfIndexes.length=0,super.setDefaultValues(e)}insert(e,t){this.indexedValues=(0,o.getListWithInsertedItems)(this.indexedValues,e,t,this.initValueOrFn),this.orderOfIndexes=(0,l.getIncreasedIndexes)(this.orderOfIndexes,t),super.insert(e,t)}remove(e){this.indexedValues=(0,o.getListWithRemovedItems)(this.indexedValues,e),this.orderOfIndexes=(0,a.getListWithRemovedItems)(this.orderOfIndexes,e),this.orderOfIndexes=(0,l.getDecreasedIndexes)(this.orderOfIndexes,e),super.remove(e)}getEntries(){return this.orderOfIndexes.map((e=>[e,this.getValueAtIndex(e)]))}}t.LinkedPhysicalIndexToValueMap=u},15898:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(17783),s=r(4440);class i extends n.IndexMap{insert(e,t){this.indexedValues=(0,s.getListWithInsertedItems)(this.indexedValues,e,t,this.initValueOrFn),super.insert(e,t)}remove(e){this.indexedValues=(0,s.getListWithRemovedItems)(this.indexedValues,e),super.remove(e)}}t.PhysicalIndexToValueMap=i},90008:(e,t,r)=>{"use strict";t.__esModule=!0,r(15724);var n=r(15898),s=r(10587);class i extends n.PhysicalIndexToValueMap{constructor(){super(arguments.length>0&&void 0!==arguments[0]&&arguments[0])}getTrimmedIndexes(){return(0,s.arrayReduce)(this.getValues(),((e,t,r)=>(t&&e.push(r),e)),[])}}t.TrimmingMap=i},15501:(e,t,r)=>{"use strict";t.__esModule=!0,t.getDecreasedIndexes=function(e,t){return(0,n.arrayMap)(e,(e=>e-t.filter((t=>t<e)).length))},t.getIncreasedIndexes=function(e,t){const r=t[0],s=t.length;return(0,n.arrayMap)(e,(e=>e>=r?e+s:e))},r(14846),r(27458);var n=r(10587)},88795:(e,t,r)=>{"use strict";t.__esModule=!0,r(67834);var n=r(15501);t.getDecreasedIndexes=n.getDecreasedIndexes,t.getIncreasedIndexes=n.getIncreasedIndexes;var s=r(18046),i=r(4440);const o=new Map([["indexesSequence",{getListWithInsertedItems:s.getListWithInsertedItems,getListWithRemovedItems:s.getListWithRemovedItems}],["physicallyIndexed",{getListWithInsertedItems:i.getListWithInsertedItems,getListWithRemovedItems:i.getListWithRemovedItems}]]);t.alterUtilsFactory=e=>{if(!1===o.has(e))throw new Error(`Alter strategy with ID '${e}' does not exist.`);return o.get(e)}},18046:(e,t,r)=>{"use strict";t.__esModule=!0,t.getListWithInsertedItems=function(e,t,r){return[...e.slice(0,t),...r,...e.slice(t)]},t.getListWithRemovedItems=function(e,t){return(0,n.arrayFilter)(e,(e=>!1===t.includes(e)))};var n=r(10587)},4440:(e,t,r)=>{"use strict";t.__esModule=!0,t.getListWithInsertedItems=function(e,t,r,s){const i=r.length?r[0]:void 0;return[...e.slice(0,i),...r.map(((e,t)=>(0,n.isFunction)(s)?s(e,t):s)),...void 0===i?[]:e.slice(i)]},t.getListWithRemovedItems=function(e,t){return(0,s.arrayFilter)(e,((e,r)=>!1===t.includes(r)))},r(94364);var n=r(89804),s=r(10587)},17207:(e,t)=>{"use strict";function r(e,t,r){e.addEventListener(t,r,!1)}function n(e,t,r){e.removeEventListener(t,r,!1)}function s(e){return e.ownerDocument.defaultView.getComputedStyle(e)}t.__esModule=!0,t.createInputElementResizer=function(e){const t={minHeight:200,maxHeight:300,minWidth:100,maxWidth:300,textContent:e=>e.value,...arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}},i=e.body,o=e.createTextNode(""),a=e.createElement("span");let l;function h(){var e,r;o.textContent=t.textContent(l),a.style.position="absolute",a.style.fontSize=s(l).fontSize,a.style.fontFamily=s(l).fontFamily,a.style.whiteSpace="pre",i.appendChild(a);const n=parseInt((null===(e=s(l))||void 0===e?void 0:e.paddingInlineStart)||0,10),h=parseInt((null===(r=s(l))||void 0===r?void 0:r.paddingInlineEnd)||0,10),u=a.clientWidth+n+h+1;i.removeChild(a);const c=l.style;c.height=`${t.minHeight}px`,t.minWidth>u?c.width=`${t.minWidth}px`:u>t.maxWidth?c.width=`${t.maxWidth}px`:c.width=`${u}px`;const d=l.scrollHeight?l.scrollHeight-1:0;t.minHeight>d?c.height=`${t.minHeight}px`:t.maxHeight<d?(c.height=`${t.maxHeight}px`,c.overflowY="visible"):c.height=`${d}px`}function u(){e.defaultView.setTimeout(h,0)}return{init:function(e,n){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];l=e,function(e){if(e&&e.minHeight)if("inherit"===e.minHeight)t.minHeight=l.clientHeight;else{const r=parseInt(e.minHeight,10);isNaN(r)||(t.minHeight=r)}if(e&&e.maxHeight)if("inherit"===e.maxHeight)t.maxHeight=l.clientHeight;else{const r=parseInt(e.maxHeight,10);isNaN(r)||(t.maxHeight=r)}if(e&&e.minWidth)if("inherit"===e.minWidth)t.minWidth=l.clientWidth;else{const r=parseInt(e.minWidth,10);isNaN(r)||(t.minWidth=r)}if(e&&e.maxWidth)if("inherit"===e.maxWidth)t.maxWidth=l.clientWidth;else{const r=parseInt(e.maxWidth,10);isNaN(r)||(t.maxWidth=r)}a.firstChild||(a.className="autoResize",a.style.display="inline-block",a.appendChild(o))}(n),"TEXTAREA"===l.nodeName&&(l.style.resize="none",l.style.height=`${t.minHeight}px`,l.style.minWidth=`${t.minWidth}px`,l.style.maxWidth=`${t.maxWidth}px`,l.style.overflowY="hidden"),s&&(r(l,"input",h),r(l,"keydown",u)),h()},resize:h,unObserve(){n(l,"input",h),n(l,"keydown",u)}}}},30480:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0;var s=n(r(85707));class i{constructor(e){(0,s.default)(this,"data",void 0),(0,s.default)(this,"next",null),(0,s.default)(this,"prev",null),this.data=e}}t.NodeStructure=i;t.default=class{constructor(){(0,s.default)(this,"first",null),(0,s.default)(this,"last",null)}push(e){const t=new i(e);if(null===this.first)this.first=t,this.last=t;else{const e=this.last;this.last=t,t.prev=e,e.next=t}return t}unshift(e){const t=new i(e);if(null===this.first)this.first=t,this.last=t;else{const e=this.first;this.first=t,t.next=e,e.prev=t}}inorder(e){let t=this.first;for(;t;){const r=e(t);if(t===this.last||!0===r)break;t=t.next}}remove(e){if(null===this.first)return!1;let t,r,n=this.first;for(;n;){if(n.data===e)return t=n.next,r=n.prev,t&&(t.prev=r),r&&(r.next=t),n===this.first&&(this.first=t),n===this.last&&(this.last=r),!0;n=n.next}return!1}hasCycle(){let e=this.first,t=this.first;for(;;){if(null===e)return!1;if(e=e.next,null===e)return!1;if(e=e.next,t=t.next,e===t)return!0}}pop(){if(null===this.last)return null;const e=this.last;return this.last=this.last.prev,e}shift(){if(null===this.first)return null;const e=this.first;return this.first=this.first.next,e}recursiveReverse(){if(!this.first)return;!function e(t,r){r&&(e(r,r.next),r.next=t)}(this.first,this.first.next),this.first.next=null;const e=this.first;this.first=this.last,this.last=e}reverse(){if(!this.first||!this.first.next)return;let e,t=this.first.next,r=this.first;for(;t;)e=t.next,t.next=r,r.prev=t,r=t,t=e;this.first.next=null,this.last.prev=null,e=this.first,this.first=r,this.last=e}}},38439:(e,t,r)=>{"use strict";t.__esModule=!0,t.createPriorityMap=function(){let{errorPriorityExists:e,errorPriorityNaN:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=new Map;return e=(0,s.isFunction)(e)?e:l,t=(0,s.isFunction)(t)?t:h,{addItem:function(s,i){if(!(0,n.isNumeric)(s))throw new Error(t(s));if(r.has(s))throw new Error(e(s));r.set(s,i)},getItems:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i;const[t,n]=a.get(e)||a.get(i);return[...r].sort(((e,r)=>e[0]<r[0]?t:n)).map((e=>e[1]))}}},r(67834),r(94364);var n=r(22137),s=r(89804);const i=t.ASC="asc",o=t.DESC="desc",a=new Map([[i,[-1,1]],[o,[1,-1]]]),l=e=>`The priority '${e}' is already declared in a map.`,h=e=>`The priority '${e}' is not a number.`},51097:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.depthFirstPreOrder=o;var s=n(r(85707));r(67834),r(15724);const i=t.TRAVERSAL_DF_PRE="DF-pre-order";function o(e,t){let r=e.call(t,this);for(let n=0;n<this.childs.length;n++){if(!1===r)return!1;r=o.call(this.childs[n],e,t)}return r}const a=t.TRAVERSAL_DF_POST="DF-post-order";const l=t.TRAVERSAL_BF="BF";const h=l,u=new Map([[i,o],[a,function e(t,r){for(let n=0;n<this.childs.length;n++){if(!1===e.call(this.childs[n],t,r))return!1}return t.call(r,this)}],[l,function(e,t){const r=[this];!function n(){if(0===r.length)return;const s=r.shift();r.push(...s.childs),!1!==e.call(t,s)&&n()}()}]]);class c{constructor(e){(0,s.default)(this,"data",{}),(0,s.default)(this,"parent",null),(0,s.default)(this,"childs",[]),this.data=e}addChild(e){e.parent=this,this.childs.push(e)}cloneTree(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this;const t=new c({...e.data});for(let r=0;r<e.childs.length;r++)t.addChild(this.cloneTree(e.childs[r]));return t}replaceTreeWith(e){this.data={...e.data},this.childs=[];for(let t=0;t<e.childs.length;t++)this.addChild(e.childs[t])}walkDown(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h;if(!u.has(t))throw new Error(`Traversal strategy "${t}" does not exist`);u.get(t).call(this,e,this)}walkUp(e){const t=this,r=n=>{!1!==e.call(t,n)&&null!==n.parent&&r(n.parent)};r(this)}}t.default=c},54394:(e,t,r)=>{"use strict";t.__esModule=!0,t.createUniqueMap=function(){let{errorIdExists:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=new Map;function r(){return[...t]}function i(e){return t.has(e)}return e=(0,n.isFunction)(e)?e:s,{addItem:function(r,n){if(i(r))throw new Error(e(r));t.set(r,n)},clear:function(){t.clear()},getId:function(e){const[t]=r().find((t=>{let[r,n]=t;return e===n&&r}))||[null];return t},getItem:function(e){return t.get(e)},getItems:r,hasItem:i,removeItem:function(e){return t.delete(e)}}},r(67834),r(14846),r(6211);var n=r(89804);const s=e=>`The id '${e}' is already declared in a map.`},74784:(e,t,r)=>{"use strict";t.__esModule=!0,t.createUniqueSet=function(){let{errorItemExists:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=new Set;return e=(0,n.isFunction)(e)?e:s,{addItem:function(r){if(t.has(r))throw new Error(e(r));t.add(r)},clear:function(){t.clear()},getItems:function(){return[...t]}}},r(67834),r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620);var n=r(89804);const s=e=>`'${e}' value is already declared in a unique set.`},4965:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724),r(14846),r(69655);var s=n(r(85707)),i=r(62577),o=r(10587);t.default=class{constructor(e){(0,s.default)(this,"hot",null),(0,s.default)(this,"container",null),(0,s.default)(this,"injected",!1),(0,s.default)(this,"rows",[]),(0,s.default)(this,"columns",[]),(0,s.default)(this,"samples",null),(0,s.default)(this,"settings",{useHeaders:!0}),this.hot=e}addRow(e,t){if(this.columns.length)throw new Error("Doesn't support multi-dimensional table");this.rows.length||(this.container=this.createContainer(this.hot.rootElement.className));const r={row:e};this.rows.push(r),this.samples=t,this.table=this.createTable(this.hot.table.className),this.table.colGroup.appendChild(this.createColGroupsCol(e)),this.table.tr.appendChild(this.createRow(e)),this.container.container.appendChild(this.table.fragment),r.table=this.table.table}addColumnHeadersRow(e){const t=this.hot.getColHeader(0);if(null!=t){const t={row:-1};this.rows.push(t),this.container=this.createContainer(this.hot.rootElement.className),this.samples=e,this.table=this.createTable(this.hot.table.className),this.table.colGroup.appendChild(this.createColGroupsCol()),this.appendColumnHeadersRow(),this.container.container.appendChild(this.table.fragment),t.table=this.table.table}}addColumn(e,t){if(this.rows.length)throw new Error("Doesn't support multi-dimensional table");this.columns.length||(this.container=this.createContainer(this.hot.rootElement.className));const r={col:e};this.columns.push(r),this.samples=t,this.table=this.createTable(this.hot.table.className),this.getSetting("useHeaders")&&null!==this.hot.getColHeader(e)&&this.hot.view.appendColHeader(e,this.table.th,void 0,-1),this.table.tBody.appendChild(this.createCol(e)),this.container.container.appendChild(this.table.fragment),r.table=this.table.table}getHeights(e){this.injected||this.injectTable(),(0,o.arrayEach)(this.rows,(t=>{const{height:r}=t.table.getBoundingClientRect();e(t.row,Math.ceil(r))}))}getWidths(e){this.injected||this.injectTable(),(0,o.arrayEach)(this.columns,(t=>{const{width:r}=t.table.getBoundingClientRect();e(t.col,Math.ceil(r))}))}setSettings(e){this.settings=e}setSetting(e,t){this.settings||(this.settings={}),this.settings[e]=t}getSettings(){return this.settings}getSetting(e){return this.settings?this.settings[e]:null}createColGroupsCol(e){const t=this.hot.rootDocument.createDocumentFragment();return this.hot.hasRowHeaders()&&t.appendChild(this.createColElement(-1,-1)),this.samples.forEach((r=>{(0,o.arrayEach)(r.strings,(r=>{t.appendChild(this.createColElement(r.col,e))}))})),t}createRow(e){const{rootDocument:t}=this.hot,r=t.createDocumentFragment(),n=t.createElement("th");return this.hot.hasRowHeaders()&&(this.hot.view.appendRowHeader(e,n),r.appendChild(n)),this.samples.forEach((n=>{(0,o.arrayEach)(n.strings,(n=>{const s=n.col,i=this.hot.getCellMeta(e,s),o=this.hot.getCellRenderer(i),a=t.createElement("td");a.setAttribute("ghost-table",1),o(this.hot,a,e,s,this.hot.colToProp(s),n.value,i),r.appendChild(a)}))})),r}appendColumnHeadersRow(){const{rootDocument:e}=this.hot,t=e.createDocumentFragment(),r=[];if(this.hot.hasRowHeaders()){const n=e.createElement("th");r.push([-1,n]),t.appendChild(n)}this.samples.forEach((n=>{(0,o.arrayEach)(n.strings,(n=>{const s=n.col,i=e.createElement("th");r.push([s,i]),t.appendChild(i)}))})),this.table.tHead.appendChild(t),(0,o.arrayEach)(r,(e=>{const[t,r]=e;this.hot.view.appendColHeader(t,r)}))}createCol(e){const{rootDocument:t}=this.hot,r=t.createDocumentFragment();return this.samples.forEach((n=>{(0,o.arrayEach)(n.strings,(n=>{const s=n.row,i=this.hot.getCellMeta(s,e),o=this.hot.getCellRenderer(i),a=t.createElement("td"),l=t.createElement("tr");a.setAttribute("ghost-table",1),o(this.hot,a,s,e,this.hot.colToProp(e),n.value,i),l.appendChild(a),r.appendChild(l)}))})),r}clean(){this.rows.length=0,this.rows[-1]=void 0,this.columns.length=0,this.samples&&this.samples.clear(),this.samples=null,this.removeTable()}injectTable(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.injected||((e||this.hot.rootElement).appendChild(this.container.fragment),this.injected=!0)}removeTable(){this.injected&&this.container.container.parentNode&&(this.container.container.parentNode.removeChild(this.container.container),this.container=null,this.injected=!1)}createColElement(e,t){const r=this.hot.rootDocument.createElement("col");let n=0;t>=0&&e>=0&&(n=this.hot.getCellMeta(t,e).colspan);let s=this.hot.getColWidth(e);if(n>1)for(let t=e+1;t<e+n;t++)s+=this.hot.getColWidth(t);return r.style.width=`${s}px`,r}createTable(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const{rootDocument:t}=this.hot,r=t.createDocumentFragment(),n=t.createElement("table"),s=t.createElement("thead"),o=t.createElement("tbody"),a=t.createElement("colgroup"),l=t.createElement("tr"),h=t.createElement("th");return this.isVertical()&&n.appendChild(a),this.isHorizontal()&&(l.appendChild(h),s.appendChild(l),n.style.tableLayout="auto",n.style.width="auto"),n.appendChild(s),this.isVertical()&&o.appendChild(l),n.appendChild(o),(0,i.addClass)(n,e),r.appendChild(n),{fragment:r,table:n,tHead:s,tBody:o,colGroup:a,tr:l,th:h}}createContainer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const{rootDocument:t}=this.hot,r=t.createDocumentFragment(),n=t.createElement("div"),s=`htGhostTable htAutoSize ${e.trim()}`;return(0,i.addClass)(n,s),r.appendChild(n),{fragment:r,container:n}}isVertical(){return!(!this.rows.length||this.columns.length)}isHorizontal(){return!(!this.columns.length||this.rows.length)}}},27453:(e,t,r)=>{"use strict";t.__esModule=!0,t.createPaginator=function(e){let{initialPage:t=-1,size:r=()=>0,onItemSelect:s=()=>{},onClear:i=()=>{}}=e;const o=new Set;let a=(0,n.clamp)(t,-1,h()-1);function l(e,t){const r=h()-1;if(e<0&&(e=r),e>r&&(e=0),o.has(e))return-1;o.add(e);return!1===s(e,!1)&&(e=l(1===t?++e:--e,t)),e}function h(){return Math.max(r(),0)}return{setCurrentPage:function(e){e>-1&&e<h()&&!1!==s(e,!0)&&(a=e)},getCurrentPage:function(){return a},toFirstItem:function(){h()>0&&(o.clear(),a=l(0,1))},toLastItem:function(){h()>0&&(o.clear(),a=l(h()-1,-1))},toNextItem:function(){h()>0&&(o.clear(),a=l(++a,1))},toPreviousItem:function(){h()>0&&(o.clear(),a=l(--a,-1))},getSize:h,clear:function(){o.clear(),a=t,i()}}},r(71336),r(41558),r(17663),r(68630),r(79645),r(89858),r(8620);var n=r(22137)},96173:(e,t,r)=>{"use strict";t.__esModule=!0,t._dataToHTML=function(e){const t=e.length,r=["<table>"];for(let s=0;s<t;s+=1){const i=e[s],o=i.length,a=[];0===s&&r.push("<tbody>");for(let e=0;e<o;e+=1){const t=i[e],r=(0,n.isEmpty)(t)?"":t.toString().replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/(<br(\s*|\/)>(\r\n|\n)?|\r\n|\n)/g,"<br>\r\n").replace(/\x20{2,}/gi,(e=>`<span style="mso-spacerun: yes">${"&nbsp;".repeat(e.length-1)} </span>`)).replace(/\t/gi,"&#9;");a.push(`<td>${r}</td>`)}r.push("<tr>",...a,"</tr>"),s+1===t&&r.push("</tbody>")}return r.push("</table>"),r.join("")},t.htmlToGridSettings=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;const r={},n=t.createDocumentFragment(),o=t.createElement("div");n.appendChild(o);let a=e;if("string"==typeof a){const e=a.replace(/<td\b[^>]*?>([\s\S]*?)<\/\s*td>/g,(e=>{const t=e.match(/<td\b[^>]*?>/g)[0];return`${t}${e.substring(t.length,e.lastIndexOf("<")).trim().replaceAll(/\n\s+/g," ").replaceAll(/<p.*?>/g,"\n").replace("\n","").replaceAll(/<\/(.*)>\s+$/gm,"</$1>").replace(/(<(?!br)([^>]+)>)/gi,"").replaceAll(/^&nbsp;$/gm,"")}</td>`}));o.insertAdjacentHTML("afterbegin",`${e}`),a=o.querySelector("table")}if(!a||!function(e){return"TABLE"===(e&&e.nodeName||"")}(a))return;const l=o.querySelector('meta[name$="enerator"]'),h=null!==a.querySelector("tbody th"),u=a.querySelector("tr"),c=u?Array.from(u.cells).reduce(((e,t)=>e+t.colSpan),0)-(h?1:0):0,d=a.tFoot&&Array.from(a.tFoot.rows)||[],p=[];let g=!1,f=0,m=0;if(a.tHead){const e=Array.from(a.tHead.rows).filter((e=>{const t=null!==e.querySelector("td");return t&&p.push(e),!t}));f=e.length,g=f>0,f>1?r.nestedHeaders=Array.from(e).reduce(((e,t)=>{const r=Array.from(t.cells).reduce(((e,t,r)=>{if(h&&0===r)return e;const{colSpan:n,innerHTML:s}=t,i=n>1?{label:s,colspan:n}:s;return e.push(i),e}),[]);return e.push(r),e}),[]):g&&(r.colHeaders=Array.from(e[0].children).reduce(((e,t,r)=>(h&&0===r||e.push(t.innerHTML),e)),[]))}p.length&&(r.fixedRowsTop=p.length);d.length&&(r.fixedRowsBottom=d.length);const y=[...p,...Array.from(a.tBodies).reduce(((e,t)=>(e.push(...Array.from(t.rows)),e)),[]),...d];m=y.length;const E=new Array(m);for(let e=0;e<m;e++)E[e]=new Array(c);const w=[],C=[];for(let e=0;e<m;e++){const t=y[e],r=Array.from(t.cells),n=r.length;for(let t=0;t<n;t++){const n=r[t],{nodeName:o,innerHTML:a,rowSpan:h,colSpan:u}=n,c=E[e].findIndex((e=>void 0===e));if("TD"===o){if(h>1||u>1){for(let t=e;t<e+h;t++)if(t<m)for(let e=c;e<c+u;e++)E[t][e]=null;const t=n.getAttribute("style");t&&t.includes("mso-ignore:colspan")||w.push({col:c,row:e,rowspan:h,colspan:u})}let t="";t=l&&/excel/gi.test(l.content)?a.replace(/[\r\n][\x20]{0,2}/g," ").replace(/<br(\s*|\/)>[\r\n]?[\x20]{0,3}/gim,"\r\n"):a.replace(/<br(\s*|\/)>[\r\n]?/gim,"\r\n"),E[e][c]=t.replace(i,(e=>s[e]))}else C.push(a)}}w.length&&(r.mergeCells=w);C.length&&(r.rowHeaders=C);E.length&&(r.data=E);return r},t.instanceToHTML=function(e){const t=e.hasColHeaders(),r=e.hasRowHeaders(),s=[t?-1:0,r?-1:0,e.countRows()-1,e.countCols()-1],i=e.getData(...s),o=i.length,a=o>0?i[0].length:0,l=["<table>","</table>"],h=t?["<thead>","</thead>"]:[],u=["<tbody>","</tbody>"],c=r?1:0,d=t?1:0;for(let s=0;s<o;s+=1){const o=t&&0===s,l=[];for(let t=0;t<a;t+=1){const a=!o&&r&&0===t;let h="";if(o)h=`<th>${e.getColHeader(t-c)}</th>`;else if(a)h=`<th>${e.getRowHeader(s-d)}</th>`;else{const r=i[s][t],{hidden:o,rowspan:a,colspan:l}=e.getCellMeta(s-d,t-c);if(!o){const e=[];if(a&&e.push(`rowspan="${a}"`),l&&e.push(`colspan="${l}"`),(0,n.isEmpty)(r))h=`<td ${e.join(" ")}></td>`;else{const t=r.toString().replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/(<br(\s*|\/)>(\r\n|\n)?|\r\n|\n)/g,"<br>\r\n").replace(/\x20/gi,"&nbsp;").replace(/\t/gi,"&#9;");h=`<td ${e.join(" ")}>${t}</td>`}}}l.push(h)}const p=["<tr>",...l,"</tr>"].join("");o?h.splice(1,0,p):u.splice(-1,0,p)}return l.splice(1,0,h.join(""),u.join("")),l.join("")},r(15724),r(64552),r(14846),r(27458),r(94364),r(90458);var n=r(70505);const s={"&nbsp;":" ","&amp;":"&","&lt;":"<","&gt;":">"},i=new RegExp(Object.keys(s).map((e=>`(${e})`)).join("|"),"gi")},45435:(e,t)=>{"use strict";t.__esModule=!0,t.hasValidParameter=function(e){return e===n},t.isRootInstance=function(e){return r.has(e)},t.registerAsRootInstance=function(e){r.set(e,!0)};const r=t.holder=new WeakMap,n=t.rootInstanceSymbol=Symbol("rootInstance")},93968:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,r(67834),r(15724);var s=n(r(85707)),i=r(25499),o=r(22137),a=r(70505);class l{static get SAMPLE_COUNT(){return 3}constructor(e){(0,s.default)(this,"samples",null),(0,s.default)(this,"dataFactory",null),(0,s.default)(this,"customSampleCount",null),(0,s.default)(this,"allowDuplicates",!1),this.dataFactory=e}getSampleCount(){return this.customSampleCount?this.customSampleCount:l.SAMPLE_COUNT}setSampleCount(e){this.customSampleCount=e}setAllowDuplicates(e){this.allowDuplicates=e}generateRowSamples(e,t){return this.generateSamples("row",t,e)}generateColumnSamples(e,t){return this.generateSamples("col",t,e)}generateSamples(e,t,r){const n=new Map,{from:s,to:i}="number"==typeof r?{from:r,to:r}:r;return(0,o.rangeEach)(s,i,(r=>{const s=this.generateSample(e,t,r);n.set(r,s)})),n}generateSample(e,t,r){if("row"!==e&&"col"!==e)throw new Error("Unsupported sample type");const n=new Map,s="row"===e?"col":"row",l=[];return(0,o.rangeEach)(t.from,t.to,(t=>{const o="row"===e?this.dataFactory(r,t):this.dataFactory(t,r);if(!1===o)return;const{value:h,bundleSeed:u}=o,c="string"==typeof u&&u.length>0;let d;d=c?u:(0,i.isObject)(h)?`${Object.keys(h).length}`:Array.isArray(h)?`${h.length}`:`${(0,a.stringify)(h).length}`,n.has(d)||n.set(d,{needed:this.getSampleCount(),strings:[]});const p=n.get(d);if(p.needed){(!(l.indexOf(h)>-1)||this.allowDuplicates||c)&&(p.strings.push({value:h,[s]:t}),l.push(h),p.needed-=1)}})),n}}t.default=l},28651:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"common";r.has(e)||r.set(e,new Map);const t=r.get(e);return{register:function(e,r){t.set(e,r)},getItem:function(e){return t.get(e)},hasItem:function(e){return t.has(e)},getNames:function(){return[...t.keys()]},getValues:function(){return[...t.values()]}}};const r=t.collection=new Map},39385:(e,t)=>{"use strict";t.__esModule=!0,t.autocompleteValidator=n;const r=t.VALIDATOR_TYPE="autocomplete";function n(e,t){let r=e;null==r&&(r=""),this.allowEmpty&&""===r?t(!0):this.strict&&this.source?"function"==typeof this.source?this.source(r,s(r,t)):s(r,t)(this.source):t(!0)}function s(e,t){const r=e;return function(e){let n=!1;for(let t=0,s=e.length;t<s;t++)if(r===e[t]){n=!0;break}t(n)}}n.VALIDATOR_TYPE=r},25799:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(39385);t.VALIDATOR_TYPE=n.VALIDATOR_TYPE,t.autocompleteValidator=n.autocompleteValidator},88993:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.correctFormat=u,t.dateValidator=h;var s=n(r(6671)),i=r(8266),o=r(16339),a=r(95976);const l=t.VALIDATOR_TYPE="date";function h(e,t){const r=(0,i.getEditorInstance)(o.EDITOR_TYPE,this.instance);let n=e,a=!0;null==n&&(n="");let l=(0,s.default)(n,this.dateFormat||r.defaultDateFormat,!0).isValid(),h=(0,s.default)(new Date(n)).isValid()||l;if(this.allowEmpty&&""===n&&(h=!0,l=!0),h||(a=!1),!h&&l&&(a=!0),h&&!l)if(!0===this.correctFormat){const e=u(n,this.dateFormat);this.instance.setDataAtCell(this.visualRow,this.visualCol,e,"dateValidator"),a=!0}else a=!1;t(a)}function u(e,t){const r=(0,s.default)((0,a.getNormalizedDate)(e)),n=(0,s.default)(e,t),i=e.search(/[A-Za-z]/g)>-1;let o;return o=r.isValid()&&r.format("x")===n.format("x")||!n.isValid()||i?r:n,o.format(t)}h.VALIDATOR_TYPE=l},5535:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(88993);t.VALIDATOR_TYPE=n.VALIDATOR_TYPE,t.correctFormat=n.correctFormat,t.dateValidator=n.dateValidator},5105:(e,t,r)=>{"use strict";t.__esModule=!0,t.dropdownValidator=i;var n=r(39385);const s=t.VALIDATOR_TYPE="dropdown";function i(e,t){n.autocompleteValidator.apply(this,[e,t])}i.VALIDATOR_TYPE=s},96:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(5105);t.VALIDATOR_TYPE=n.VALIDATOR_TYPE,t.dropdownValidator=n.dropdownValidator},41602:(e,t,r)=>{"use strict";t.__esModule=!0,t.registerAllValidators=function(){(0,l.registerValidator)(n.autocompleteValidator),(0,l.registerValidator)(i.dropdownValidator),(0,l.registerValidator)(s.dateValidator),(0,l.registerValidator)(o.numericValidator),(0,l.registerValidator)(a.timeValidator)};var n=r(25799);t.autocompleteValidator=n.autocompleteValidator,t.AUTOCOMPLETE_VALIDATOR=n.VALIDATOR_TYPE;var s=r(5535);t.dateValidator=s.dateValidator,t.DATE_VALIDATOR=s.VALIDATOR_TYPE;var i=r(96);t.dropdownValidator=i.dropdownValidator,t.DROPDOWN_VALIDATOR=i.VALIDATOR_TYPE;var o=r(48636);t.numericValidator=o.numericValidator,t.NUMERIC_VALIDATOR=o.VALIDATOR_TYPE;var a=r(68864);t.timeValidator=a.timeValidator,t.TIME_VALIDATOR=a.VALIDATOR_TYPE;var l=r(17027);t.registerValidator=l.registerValidator,t.getRegisteredValidatorNames=l.getRegisteredValidatorNames,t.getRegisteredValidators=l.getRegisteredValidators,t.getValidator=l.getValidator,t.hasValidator=l.hasValidator},48636:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(62365);t.VALIDATOR_TYPE=n.VALIDATOR_TYPE,t.numericValidator=n.numericValidator},62365:(e,t,r)=>{"use strict";t.__esModule=!0,t.numericValidator=i;var n=r(22137);const s=t.VALIDATOR_TYPE="numeric";function i(e,t){let r=e;null==r&&(r=""),this.allowEmpty&&""===r?t(!0):t(""!==r&&(0,n.isNumeric)(e))}i.VALIDATOR_TYPE=s},17027:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.getValidator=function(e){if("function"==typeof e)return e;if(!a(e))throw Error(`No registered validator found under "${e}" name`);return o(e)},t.registerValidator=function(e,t){"string"!=typeof e&&(e=(t=e).VALIDATOR_TYPE);i(e,t)},r(67834);var s=n(r(28651));const{register:i,getItem:o,hasItem:a,getNames:l,getValues:h}=(0,s.default)("validators");t.getRegisteredValidators=h,t.getRegisteredValidatorNames=l,t.hasValidator=a},68864:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(94845);t.VALIDATOR_TYPE=n.VALIDATOR_TYPE,t.timeValidator=n.timeValidator},94845:(e,t,r)=>{"use strict";var n=r(96784);t.__esModule=!0,t.timeValidator=a;var s=n(r(6671));const i=["YYYY-MM-DDTHH:mm:ss.SSSZ","X","x"],o=t.VALIDATOR_TYPE="time";function a(e,t){const r=this.timeFormat||"h:mm:ss a";let n=!0,o=e;null===o&&(o=""),o=/^\d{3,}$/.test(o)?parseInt(o,10):o;const a=/^\d{1,2}$/.test(o);a&&(o+=":00");const l=(0,s.default)(o,i,!0).isValid()?(0,s.default)(o):(0,s.default)(o,r);let h=l.isValid(),u=(0,s.default)(o,r,!0).isValid()&&!a;if(this.allowEmpty&&""===o&&(h=!0,u=!0),h||(n=!1),!h&&u&&(n=!0),h&&!u)if(!0===this.correctFormat){const e=l.format(r);this.instance.setDataAtCell(this.visualRow,this.visualCol,e,"timeValidator"),n=!0}else n=!1;t(n)}a.VALIDATOR_TYPE=o},83012:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Alternation:()=>Me,CstParser:()=>Hr,EMPTY_ALT:()=>Dr,EOF:()=>pe,EarlyExitException:()=>Qt,EmbeddedActionsParser:()=>Fr,Flat:()=>Ce,GAstVisitor:()=>xe,Lexer:()=>J,LexerDefinitionErrorType:()=>q,MismatchedTokenException:()=>Kt,NoViableAltException:()=>Xt,NonTerminal:()=>Ee,NotAllInputParsedException:()=>qt,Option:()=>ve,Parser:()=>kr,ParserDefinitionErrorType:()=>xr,Repetition:()=>Te,RepetitionMandatory:()=>Re,RepetitionMandatoryWithSeparator:()=>Se,RepetitionWithSeparator:()=>Ne,Rule:()=>we,Terminal:()=>_e,VERSION:()=>n,assignOccurrenceIndices:()=>Bt,clearCache:()=>qr,createSyntaxDiagramsCode:()=>Ur,createToken:()=>de,createTokenInstance:()=>ge,defaultGrammarResolverErrorProvider:()=>Dt,defaultGrammarValidatorErrorProvider:()=>kt,defaultLexerErrorProvider:()=>Q,defaultParserErrorProvider:()=>Lt,generateParserFactory:()=>Kr,generateParserModule:()=>Xr,isRecognitionException:()=>$t,resolveGrammar:()=>Ut,serializeGrammar:()=>be,serializeProduction:()=>Oe,tokenLabel:()=>ee,tokenMatcher:()=>fe,tokenName:()=>te,validateGrammar:()=>Vt});var n="6.5.0",s=r(86596),i=r(49879),o={},a=new i.RegExpParser;function l(e){var t=e.toString();if(o.hasOwnProperty(t))return o[t];var r=a.pattern(t);return o[t]=r,r}var h,u=(h=function(e,t){return h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},h(e,t)},function(e,t){function r(){this.constructor=e}h(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),c="Complement Sets are not supported for first char optimization",d='Unable to use "first char" lexer optimizations:\n';function p(e,t){void 0===t&&(t=!1);try{var r=l(e);return g(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===c)t&&(0,s.x5)(d+"\tUnable to optimize: < "+e.toString()+" >\n\tComplement Sets cannot be automatically optimized.\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://sap.github.io/chevrotain/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.");else{var n="";t&&(n="\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://sap.github.io/chevrotain/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),(0,s.Zi)(d+"\n\tFailed parsing: < "+e.toString()+" >\n\tUsing the regexp-to-ast library version: "+i.VERSION+"\n\tPlease open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}function g(e,t,r){switch(e.type){case"Disjunction":for(var n=0;n<e.value.length;n++)g(e.value[n],t,r);break;case"Alternative":var i=e.value;for(n=0;n<i.length;n++){var o=i[n];switch(o.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}var a=o;switch(a.type){case"Character":f(a.value,t,r);break;case"Set":if(!0===a.complement)throw Error(c);(0,s.jJ)(a.value,(function(e){if("number"==typeof e)f(e,t,r);else{var n=e;if(!0===r)for(var s=n.from;s<=n.to;s++)f(s,t,r);else{for(s=n.from;s<=n.to&&s<F;s++)f(s,t,r);if(n.to>=F)for(var i=n.from>=F?n.from:F,o=n.to,a=U(i),l=U(o),h=a;h<=l;h++)t[h]=h}}}));break;case"Group":g(a.value,t,r);break;default:throw Error("Non Exhaustive Match")}var l=void 0!==a.quantifier&&0===a.quantifier.atLeast;if("Group"===a.type&&!1===y(a)||"Group"!==a.type&&!1===l)break}break;default:throw Error("non exhaustive match!")}return(0,s.zu)(t)}function f(e,t,r){var n=U(e);t[n]=n,!0===r&&function(e,t){var r=String.fromCharCode(e),n=r.toUpperCase();if(n!==r){t[s=U(n.charCodeAt(0))]=s}else{var s,i=r.toLowerCase();if(i!==r)t[s=U(i.charCodeAt(0))]=s}}(e,t)}function m(e,t){return(0,s.I6)(e.value,(function(e){if("number"==typeof e)return(0,s.gR)(t,e);var r=e;return void 0!==(0,s.I6)(t,(function(e){return r.from<=e&&e<=r.to}))}))}function y(e){return!(!e.quantifier||0!==e.quantifier.atLeast)||!!e.value&&((0,s.cy)(e.value)?(0,s.Si)(e.value,y):y(e.value))}var E=function(e){function t(t){var r=e.call(this)||this;return r.targetCharCodes=t,r.found=!1,r}return u(t,e),t.prototype.visitChildren=function(t){if(!0!==this.found){switch(t.type){case"Lookahead":return void this.visitLookahead(t);case"NegativeLookahead":return void this.visitNegativeLookahead(t)}e.prototype.visitChildren.call(this,t)}},t.prototype.visitCharacter=function(e){(0,s.gR)(this.targetCharCodes,e.value)&&(this.found=!0)},t.prototype.visitSet=function(e){e.complement?void 0===m(e,this.targetCharCodes)&&(this.found=!0):void 0!==m(e,this.targetCharCodes)&&(this.found=!0)},t}(i.BaseRegExpVisitor);function w(e,t){if(t instanceof RegExp){var r=l(t),n=new E(e);return n.visit(r),n.found}return void 0!==(0,s.I6)(t,(function(t){return(0,s.gR)(e,t.charCodeAt(0))}))}var C=function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},e(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),v="PATTERN",R="defaultMode",S="modes",T="boolean"==typeof new RegExp("(?:)").sticky;function N(e,t){var r,n=(t=(0,s.NT)(t,{useSticky:T,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:function(e,t){return t()}})).tracer;n("initCharCodeToOptimizedIndexMap",(function(){!function(){if((0,s.Im)(V)){V=new Array(65536);for(var e=0;e<65536;e++)V[e]=e>255?255+~~(e/255):e}}()})),n("Reject Lexer.NA",(function(){r=(0,s.ku)(e,(function(e){return e[v]===J.NA}))}));var i,o,a,l,h,u,c,g,f,m,y,E=!1;n("Transform Patterns",(function(){E=!1,i=(0,s.Tj)(r,(function(e){var r=e[v];if((0,s.gd)(r)){var n=r.source;return 1===n.length&&"^"!==n&&"$"!==n&&"."!==n?n:2!==n.length||"\\"!==n[0]||(0,s.gR)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],n[1])?t.useSticky?A(r):O(r):n[1]}if((0,s.Tn)(r))return E=!0,{exec:r};if((0,s.zy)(r,"exec"))return E=!0,r;if("string"==typeof r){if(1===r.length)return r;var i=r.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),o=new RegExp(i);return t.useSticky?A(o):O(o)}throw Error("non exhaustive match")}))})),n("misc mapping",(function(){o=(0,s.Tj)(r,(function(e){return e.tokenTypeIdx})),a=(0,s.Tj)(r,(function(e){var t=e.GROUP;if(t!==J.SKIPPED){if((0,s.Kg)(t))return t;if((0,s.b0)(t))return!1;throw Error("non exhaustive match")}})),l=(0,s.Tj)(r,(function(e){var t=e.LONGER_ALT;if(t)return(0,s.qh)(r,t)})),h=(0,s.Tj)(r,(function(e){return e.PUSH_MODE})),u=(0,s.Tj)(r,(function(e){return(0,s.zy)(e,"POP_MODE")}))})),n("Line Terminator Handling",(function(){var e=k(t.lineTerminatorCharacters);c=(0,s.Tj)(r,(function(e){return!1})),"onlyOffset"!==t.positionTracking&&(c=(0,s.Tj)(r,(function(t){return(0,s.zy)(t,"LINE_BREAKS")?t.LINE_BREAKS:!1===D(t,e)?w(e,t.PATTERN):void 0})))})),n("Misc Mapping #2",(function(){g=(0,s.Tj)(r,x),f=(0,s.Tj)(i,P),m=(0,s.TS)(r,(function(e,t){var r=t.GROUP;return(0,s.Kg)(r)&&r!==J.SKIPPED&&(e[r]=[]),e}),{}),y=(0,s.Tj)(i,(function(e,t){return{pattern:i[t],longerAlt:l[t],canLineTerminator:c[t],isCustom:g[t],short:f[t],group:a[t],push:h[t],pop:u[t],tokenTypeIdx:o[t],tokenType:r[t]}}))}));var C=!0,R=[];return t.safeMode||n("First Char Optimization",(function(){R=(0,s.TS)(r,(function(e,r,n){if("string"==typeof r.PATTERN){var i=U(r.PATTERN.charCodeAt(0));H(e,i,y[n])}else if((0,s.cy)(r.START_CHARS_HINT)){var o;(0,s.jJ)(r.START_CHARS_HINT,(function(t){var r=U("string"==typeof t?t.charCodeAt(0):t);o!==r&&(o=r,H(e,r,y[n]))}))}else if((0,s.gd)(r.PATTERN))if(r.PATTERN.unicode)C=!1,t.ensureOptimizations&&(0,s.Zi)(d+"\tUnable to analyze < "+r.PATTERN.toString()+" > pattern.\n\tThe regexp unicode flag is not currently supported by the regexp-to-ast library.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://sap.github.io/chevrotain/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE");else{var a=p(r.PATTERN,t.ensureOptimizations);(0,s.Im)(a)&&(C=!1),(0,s.jJ)(a,(function(t){H(e,t,y[n])}))}else t.ensureOptimizations&&(0,s.Zi)(d+"\tTokenType: <"+r.name+"> is using a custom token pattern without providing <start_chars_hint> parameter.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://sap.github.io/chevrotain/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE"),C=!1;return e}),[])})),n("ArrayPacking",(function(){R=(0,s.VS)(R)})),{emptyGroups:m,patternIdxToConfig:y,charCodeToPatternIdxToConfig:R,hasCustom:E,canBeOptimized:C}}function M(e,t){var r=[],n=function(e){var t=(0,s.pb)(e,(function(e){return!(0,s.zy)(e,v)})),r=(0,s.Tj)(t,(function(e){return{message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:q.MISSING_PATTERN,tokenTypes:[e]}})),n=(0,s.iv)(e,t);return{errors:r,valid:n}}(e);r=r.concat(n.errors);var o=function(e){var t=(0,s.pb)(e,(function(e){var t=e[v];return!((0,s.gd)(t)||(0,s.Tn)(t)||(0,s.zy)(t,"exec")||(0,s.Kg)(t))})),r=(0,s.Tj)(t,(function(e){return{message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:q.INVALID_PATTERN,tokenTypes:[e]}})),n=(0,s.iv)(e,t);return{errors:r,valid:n}}(n.valid),a=o.valid;return r=(r=r.concat(o.errors)).concat(function(e){var t=[],r=(0,s.pb)(e,(function(e){return(0,s.gd)(e[v])}));return t=t.concat(function(e){var t=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.found=!1,t}return C(t,e),t.prototype.visitEndAnchor=function(e){this.found=!0},t}(i.BaseRegExpVisitor),r=(0,s.pb)(e,(function(e){var r=e[v];try{var n=l(r),s=new t;return s.visit(n),s.found}catch(e){return _.test(r.source)}})),n=(0,s.Tj)(r,(function(e){return{message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n\tSee sap.github.io/chevrotain/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:q.EOI_ANCHOR_FOUND,tokenTypes:[e]}}));return n}(r)),t=t.concat(function(e){var t=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.found=!1,t}return C(t,e),t.prototype.visitStartAnchor=function(e){this.found=!0},t}(i.BaseRegExpVisitor),r=(0,s.pb)(e,(function(e){var r=e[v];try{var n=l(r),s=new t;return s.visit(n),s.found}catch(e){return b.test(r.source)}})),n=(0,s.Tj)(r,(function(e){return{message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n\tSee https://sap.github.io/chevrotain/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:q.SOI_ANCHOR_FOUND,tokenTypes:[e]}}));return n}(r)),t=t.concat(function(e){var t=(0,s.pb)(e,(function(e){var t=e[v];return t instanceof RegExp&&(t.multiline||t.global)})),r=(0,s.Tj)(t,(function(e){return{message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:q.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}}));return r}(r)),t=t.concat(function(e){var t=[],r=(0,s.Tj)(e,(function(r){return(0,s.TS)(e,(function(e,n){return r.PATTERN.source!==n.PATTERN.source||(0,s.gR)(t,n)||n.PATTERN===J.NA||(t.push(n),e.push(n)),e}),[])}));r=(0,s.oE)(r);var n=(0,s.pb)(r,(function(e){return e.length>1})),i=(0,s.Tj)(n,(function(e){var t=(0,s.Tj)(e,(function(e){return e.name}));return{message:"The same RegExp pattern ->"+(0,s.$1)(e).PATTERN+"<-has been used in all of the following Token Types: "+t.join(", ")+" <-",type:q.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}}));return i}(r)),t=t.concat(function(e){var t=(0,s.pb)(e,(function(e){return e[v].test("")})),r=(0,s.Tj)(t,(function(e){return{message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:q.EMPTY_MATCH_PATTERN,tokenTypes:[e]}}));return r}(r)),t}(a)),r=r.concat(function(e){var t=(0,s.pb)(e,(function(e){if(!(0,s.zy)(e,"GROUP"))return!1;var t=e.GROUP;return t!==J.SKIPPED&&t!==J.NA&&!(0,s.Kg)(t)})),r=(0,s.Tj)(t,(function(e){return{message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:q.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}}));return r}(a)),r=r.concat(function(e,t){var r=(0,s.pb)(e,(function(e){return void 0!==e.PUSH_MODE&&!(0,s.gR)(t,e.PUSH_MODE)})),n=(0,s.Tj)(r,(function(e){return{message:"Token Type: ->"+e.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+e.PUSH_MODE+"<-which does not exist",type:q.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}}));return n}(a,t)),r=r.concat(function(e){var t=[],r=(0,s.TS)(e,(function(e,t,r){var n,i,o=t.PATTERN;return o===J.NA||((0,s.Kg)(o)?e.push({str:o,idx:r,tokenType:t}):(0,s.gd)(o)&&(n=o,i=[".","\\","[","]","|","^","$","(",")","?","*","+","{"],void 0===(0,s.I6)(i,(function(e){return-1!==n.source.indexOf(e)})))&&e.push({str:o.source,idx:r,tokenType:t})),e}),[]);return(0,s.jJ)(e,(function(e,n){(0,s.jJ)(r,(function(r){var i=r.str,o=r.idx,a=r.tokenType;if(n<o&&function(e,t){if((0,s.gd)(t)){var r=t.exec(e);return null!==r&&0===r.index}if((0,s.Tn)(t))return t(e,0,[],{});if((0,s.zy)(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}(i,e.PATTERN)){var l="Token: ->"+a.name+"<- can never be matched.\nBecause it appears AFTER the Token Type ->"+e.name+"<-in the lexer's definition.\nSee https://sap.github.io/chevrotain/docs/guide/resolving_lexer_errors.html#UNREACHABLE";t.push({message:l,type:q.UNREACHABLE_PATTERN,tokenTypes:[e,a]})}}))})),t}(a)),r}var _=/[^\\][\$]/;var b=/[^\\[][\^]|^\^/;function O(e){var t=e.ignoreCase?"i":"";return new RegExp("^(?:"+e.source+")",t)}function A(e){var t=e.ignoreCase?"iy":"y";return new RegExp(""+e.source,t)}function I(e,t,r){var n=[],i=!1,o=(0,s.oE)((0,s.Bq)((0,s.LG)(e.modes,(function(e){return e})))),a=(0,s.ku)(o,(function(e){return e[v]===J.NA})),l=k(r);return t&&(0,s.jJ)(a,(function(e){var t=D(e,l);if(!1!==t){var r=function(e,t){if(t.issue===q.IDENTIFY_TERMINATOR)return"Warning: unable to identify line terminator usage in pattern.\n\tThe problem is in the <"+e.name+"> Token Type\n\t Root cause: "+t.errMsg+".\n\tFor details See: https://sap.github.io/chevrotain/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(t.issue===q.CUSTOM_LINE_BREAK)return"Warning: A Custom Token Pattern should specify the <line_breaks> option.\n\tThe problem is in the <"+e.name+"> Token Type\n\tFor details See: https://sap.github.io/chevrotain/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}(e,t),o={message:r,type:t.issue,tokenType:e};n.push(o)}else(0,s.zy)(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(i=!0):w(l,e.PATTERN)&&(i=!0)})),t&&!i&&n.push({message:"Warning: No LINE_BREAKS Found.\n\tThis Lexer has been defined to track line and column information,\n\tBut none of the Token Types can be identified as matching a line terminator.\n\tSee https://sap.github.io/chevrotain/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n\tfor details.",type:q.NO_LINE_BREAKS_FLAGS}),n}function x(e){var t=e.PATTERN;if((0,s.gd)(t))return!1;if((0,s.Tn)(t))return!0;if((0,s.zy)(t,"exec"))return!0;if((0,s.Kg)(t))return!1;throw Error("non exhaustive match")}function P(e){return!(!(0,s.Kg)(e)||1!==e.length)&&e.charCodeAt(0)}var L={test:function(e){for(var t=e.length,r=this.lastIndex;r<t;r++){var n=e.charCodeAt(r);if(10===n)return this.lastIndex=r+1,!0;if(13===n)return 10===e.charCodeAt(r+1)?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function D(e,t){if((0,s.zy)(e,"LINE_BREAKS"))return!1;if((0,s.gd)(e.PATTERN)){try{w(t,e.PATTERN)}catch(e){return{issue:q.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if((0,s.Kg)(e.PATTERN))return!1;if(x(e))return{issue:q.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function k(e){return(0,s.Tj)(e,(function(e){return(0,s.Kg)(e)&&e.length>0?e.charCodeAt(0):e}))}function H(e,t,r){void 0===e[t]?e[t]=[r]:e[t].push(r)}var F=256;function U(e){return e<F?e:V[e]}var V=[];function B(e,t){var r=e.tokenTypeIdx;return r===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[r]}function W(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}var Y=1,G={};function j(e){var t=function(e){var t=(0,s.T9)(e),r=e,n=!0;for(;n;){r=(0,s.oE)((0,s.Bq)((0,s.Tj)(r,(function(e){return e.CATEGORIES}))));var i=(0,s.iv)(r,t);t=t.concat(i),(0,s.Im)(i)?n=!1:r=i}return t}(e);!function(e){(0,s.jJ)(e,(function(e){var t;$(e)||(G[Y]=e,e.tokenTypeIdx=Y++),K(e)&&!(0,s.cy)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),K(e)||(e.CATEGORIES=[]),t=e,(0,s.zy)(t,"categoryMatches")||(e.categoryMatches=[]),function(e){return(0,s.zy)(e,"categoryMatchesMap")}(e)||(e.categoryMatchesMap={})}))}(t),function(e){(0,s.jJ)(e,(function(e){z([],e)}))}(t),function(e){(0,s.jJ)(e,(function(e){e.categoryMatches=[],(0,s.jJ)(e.categoryMatchesMap,(function(t,r){e.categoryMatches.push(G[r].tokenTypeIdx)}))}))}(t),(0,s.jJ)(t,(function(e){e.isParent=e.categoryMatches.length>0}))}function z(e,t){(0,s.jJ)(e,(function(e){t.categoryMatchesMap[e.tokenTypeIdx]=!0})),(0,s.jJ)(t.CATEGORIES,(function(r){var n=e.concat(t);(0,s.gR)(n,r)||z(n,r)}))}function $(e){return(0,s.zy)(e,"tokenTypeIdx")}function K(e){return(0,s.zy)(e,"CATEGORIES")}function X(e){return(0,s.zy)(e,"tokenTypeIdx")}var q,Q={buildUnableToPopLexerModeMessage:function(e){return"Unable to pop Lexer Mode after encountering Token ->"+e.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(e,t,r,n,s){return"unexpected character: ->"+e.charAt(t)+"<- at offset: "+t+", skipped "+r+" characters."}};!function(e){e[e.MISSING_PATTERN=0]="MISSING_PATTERN",e[e.INVALID_PATTERN=1]="INVALID_PATTERN",e[e.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",e[e.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",e[e.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",e[e.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",e[e.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",e[e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",e[e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",e[e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",e[e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",e[e.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",e[e.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",e[e.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",e[e.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",e[e.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",e[e.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"}(q||(q={}));var Z={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Q,traceInitPerf:!1,skipValidations:!1};Object.freeze(Z);var J=function(){function e(e,t){var r=this;if(void 0===t&&(t=Z),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=(0,s.h1)(Z,t);var n=this.config.traceInitPerf;!0===n?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof n&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",(function(){var n,i=!0;r.TRACE_INIT("Lexer Config handling",(function(){if(r.config.lineTerminatorsPattern===Z.lineTerminatorsPattern)r.config.lineTerminatorsPattern=L;else if(r.config.lineTerminatorCharacters===Z.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n\tFor details See: https://sap.github.io/chevrotain/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');r.trackStartLines=/full|onlyStart/i.test(r.config.positionTracking),r.trackEndLines=/full/i.test(r.config.positionTracking),(0,s.cy)(e)?((n={modes:{}}).modes[R]=(0,s.T9)(e),n[R]=R):(i=!1,n=(0,s.lR)(e))})),!1===r.config.skipValidations&&(r.TRACE_INIT("performRuntimeChecks",(function(){r.lexerDefinitionErrors=r.lexerDefinitionErrors.concat(function(e){var t=[];return(0,s.zy)(e,R)||t.push({message:"A MultiMode Lexer cannot be initialized without a <"+R+"> property in its definition\n",type:q.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,s.zy)(e,S)||t.push({message:"A MultiMode Lexer cannot be initialized without a <modes> property in its definition\n",type:q.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,s.zy)(e,S)&&(0,s.zy)(e,R)&&!(0,s.zy)(e.modes,e.defaultMode)&&t.push({message:"A MultiMode Lexer cannot be initialized with a "+R+": <"+e.defaultMode+">which does not exist\n",type:q.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,s.zy)(e,S)&&(0,s.jJ)(e.modes,(function(e,r){(0,s.jJ)(e,(function(e,n){(0,s.b0)(e)&&t.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:<"+r+"> at index: <"+n+">\n",type:q.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})}))})),t}(n,r.trackStartLines,r.config.lineTerminatorCharacters))})),r.TRACE_INIT("performWarningRuntimeChecks",(function(){r.lexerDefinitionWarning=r.lexerDefinitionWarning.concat(I(n,r.trackStartLines,r.config.lineTerminatorCharacters))}))),n.modes=n.modes?n.modes:{},(0,s.jJ)(n.modes,(function(e,t){n.modes[t]=(0,s.ku)(e,(function(e){return(0,s.b0)(e)}))}));var a=(0,s.HP)(n.modes);if((0,s.jJ)(n.modes,(function(e,n){r.TRACE_INIT("Mode: <"+n+"> processing",(function(){var i;(r.modes.push(n),!1===r.config.skipValidations&&r.TRACE_INIT("validatePatterns",(function(){r.lexerDefinitionErrors=r.lexerDefinitionErrors.concat(M(e,a))})),(0,s.Im)(r.lexerDefinitionErrors))&&(j(e),r.TRACE_INIT("analyzeTokenTypes",(function(){i=N(e,{lineTerminatorCharacters:r.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:r.TRACE_INIT.bind(r)})})),r.patternIdxToConfig[n]=i.patternIdxToConfig,r.charCodeToPatternIdxToConfig[n]=i.charCodeToPatternIdxToConfig,r.emptyGroups=(0,s.h1)(r.emptyGroups,i.emptyGroups),r.hasCustom=i.hasCustom||r.hasCustom,r.canModeBeOptimized[n]=i.canBeOptimized)}))})),r.defaultMode=n.defaultMode,!(0,s.Im)(r.lexerDefinitionErrors)&&!r.config.deferDefinitionErrorsHandling){var l=(0,s.Tj)(r.lexerDefinitionErrors,(function(e){return e.message})).join("-----------------------\n");throw new Error("Errors detected in definition of Lexer:\n"+l)}(0,s.jJ)(r.lexerDefinitionWarning,(function(e){(0,s.x5)(e.message)})),r.TRACE_INIT("Choosing sub-methods implementations",(function(){if(T?(r.chopInput=s.zK,r.match=r.matchWithTest):(r.updateLastIndex=s.tE,r.match=r.matchWithExec),i&&(r.handleModes=s.tE),!1===r.trackStartLines&&(r.computeNewColumn=s.zK),!1===r.trackEndLines&&(r.updateTokenEndLineColumnLocation=s.tE),/full/i.test(r.config.positionTracking))r.createTokenInstance=r.createFullToken;else if(/onlyStart/i.test(r.config.positionTracking))r.createTokenInstance=r.createStartOnlyToken;else{if(!/onlyOffset/i.test(r.config.positionTracking))throw Error('Invalid <positionTracking> config option: "'+r.config.positionTracking+'"');r.createTokenInstance=r.createOffsetOnlyToken}r.hasCustom?(r.addToken=r.addTokenUsingPush,r.handlePayload=r.handlePayloadWithCustom):(r.addToken=r.addTokenUsingMemberAccess,r.handlePayload=r.handlePayloadNoCustom)})),r.TRACE_INIT("Failed Optimization Warnings",(function(){var e=(0,s.TS)(r.canModeBeOptimized,(function(e,t,r){return!1===t&&e.push(r),e}),[]);if(t.ensureOptimizations&&!(0,s.Im)(e))throw Error("Lexer Modes: < "+e.join(", ")+' > cannot be optimized.\n\t Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.\n\t Or inspect the console log for details on how to resolve these issues.')})),r.TRACE_INIT("clearRegExpParserCache",(function(){o={}})),r.TRACE_INIT("toFastProperties",(function(){(0,s.Bl)(r)}))}))}return e.prototype.tokenize=function(e,t){if(void 0===t&&(t=this.defaultMode),!(0,s.Im)(this.lexerDefinitionErrors)){var r=(0,s.Tj)(this.lexerDefinitionErrors,(function(e){return e.message})).join("-----------------------\n");throw new Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+r)}return this.tokenizeInternal(e,t)},e.prototype.tokenizeInternal=function(e,t){var r,n,i,o,a,l,h,u,c,d,p,g,f,m,y,E,w,C=this,v=e,R=v.length,S=0,T=0,N=this.hasCustom?0:Math.floor(e.length/10),M=new Array(N),_=[],b=this.trackStartLines?1:void 0,O=this.trackStartLines?1:void 0,A=(y=this.emptyGroups,E={},w=(0,s.HP)(y),(0,s.jJ)(w,(function(e){var t=y[e];if(!(0,s.cy)(t))throw Error("non exhaustive match");E[e]=[]})),E),I=this.trackStartLines,x=this.config.lineTerminatorsPattern,P=0,L=[],D=[],k=[],H=[];Object.freeze(H);var F=void 0;function V(){return L}function B(e){var t=U(e),r=D[t];return void 0===r?H:r}var W,Y=function(e){if(1===k.length&&void 0===e.tokenType.PUSH_MODE){var t=C.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);_.push({offset:e.startOffset,line:void 0!==e.startLine?e.startLine:void 0,column:void 0!==e.startColumn?e.startColumn:void 0,length:e.image.length,message:t})}else{k.pop();var r=(0,s.HV)(k);L=C.patternIdxToConfig[r],D=C.charCodeToPatternIdxToConfig[r],P=L.length;var n=C.canModeBeOptimized[r]&&!1===C.config.safeMode;F=D&&n?B:V}};function G(e){k.push(e),D=this.charCodeToPatternIdxToConfig[e],L=this.patternIdxToConfig[e],P=L.length,P=L.length;var t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;F=D&&t?B:V}for(G.call(this,t);S<R;){a=null;var j=v.charCodeAt(S),z=F(j),$=z.length;for(r=0;r<$;r++){var K=(W=z[r]).pattern;if(l=null,!1!==(se=W.short)?j===se&&(a=K):!0===W.isCustom?null!==(m=K.exec(v,S,M,A))?(a=m[0],void 0!==m.payload&&(l=m.payload)):a=null:(this.updateLastIndex(K,S),a=this.match(K,e,S)),null!==a){if(void 0!==(o=W.longerAlt)){var X=L[o],q=X.pattern;h=null,!0===X.isCustom?null!==(m=q.exec(v,S,M,A))?(i=m[0],void 0!==m.payload&&(h=m.payload)):i=null:(this.updateLastIndex(q,S),i=this.match(q,e,S)),i&&i.length>a.length&&(a=i,l=h,W=X)}break}}if(null!==a){if(u=a.length,void 0!==(c=W.group)&&(d=W.tokenTypeIdx,p=this.createTokenInstance(a,S,d,W.tokenType,b,O,u),this.handlePayload(p,l),!1===c?T=this.addToken(M,T,p):A[c].push(p)),e=this.chopInput(e,u),S+=u,O=this.computeNewColumn(O,u),!0===I&&!0===W.canLineTerminator){var Q=0,Z=void 0,J=void 0;x.lastIndex=0;do{!0===(Z=x.test(a))&&(J=x.lastIndex-1,Q++)}while(!0===Z);0!==Q&&(b+=Q,O=u-J,this.updateTokenEndLineColumnLocation(p,c,J,Q,b,O,u))}this.handleModes(W,Y,G,p)}else{for(var ee=S,te=b,re=O,ne=!1;!ne&&S<R;)for(v.charCodeAt(S),e=this.chopInput(e,1),S++,n=0;n<P;n++){var se,ie=L[n];K=ie.pattern;if(!1!==(se=ie.short)?v.charCodeAt(S)===se&&(ne=!0):!0===ie.isCustom?ne=null!==K.exec(v,S,M,A):(this.updateLastIndex(K,S),ne=null!==K.exec(e)),!0===ne)break}g=S-ee,f=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(v,ee,g,te,re),_.push({offset:ee,line:te,column:re,length:g,message:f})}}return this.hasCustom||(M.length=T),{tokens:M,groups:A,errors:_}},e.prototype.handleModes=function(e,t,r,n){if(!0===e.pop){var s=e.push;t(n),void 0!==s&&r.call(this,s)}else void 0!==e.push&&r.call(this,e.push)},e.prototype.chopInput=function(e,t){return e.substring(t)},e.prototype.updateLastIndex=function(e,t){e.lastIndex=t},e.prototype.updateTokenEndLineColumnLocation=function(e,t,r,n,s,i,o){var a,l;void 0!==t&&(l=(a=r===o-1)?-1:0,1===n&&!0===a||(e.endLine=s+l,e.endColumn=i-1-l))},e.prototype.computeNewColumn=function(e,t){return e+t},e.prototype.createTokenInstance=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return null},e.prototype.createOffsetOnlyToken=function(e,t,r,n){return{image:e,startOffset:t,tokenTypeIdx:r,tokenType:n}},e.prototype.createStartOnlyToken=function(e,t,r,n,s,i){return{image:e,startOffset:t,startLine:s,startColumn:i,tokenTypeIdx:r,tokenType:n}},e.prototype.createFullToken=function(e,t,r,n,s,i,o){return{image:e,startOffset:t,endOffset:t+o-1,startLine:s,endLine:s,startColumn:i,endColumn:i+o-1,tokenTypeIdx:r,tokenType:n}},e.prototype.addToken=function(e,t,r){return 666},e.prototype.addTokenUsingPush=function(e,t,r){return e.push(r),t},e.prototype.addTokenUsingMemberAccess=function(e,t,r){return e[t]=r,++t},e.prototype.handlePayload=function(e,t){},e.prototype.handlePayloadNoCustom=function(e,t){},e.prototype.handlePayloadWithCustom=function(e,t){null!==t&&(e.payload=t)},e.prototype.match=function(e,t,r){return null},e.prototype.matchWithTest=function(e,t,r){return!0===e.test(t)?t.substring(r,e.lastIndex):null},e.prototype.matchWithExec=function(e,t){var r=e.exec(t);return null!==r?r[0]:r},e.prototype.TRACE_INIT=function(e,t){if(!0===this.traceInitPerf){this.traceInitIndent++;var r=new Array(this.traceInitIndent+1).join("\t");this.traceInitIndent<this.traceInitMaxIdent&&console.log(r+"--\x3e <"+e+">");var n=(0,s.O1)(t),i=n.time,o=n.value,a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(r+"<-- <"+e+"> time: "+i+"ms"),this.traceInitIndent--,o}return t()},e.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",e.NA=/NOT_APPLICABLE/,e}();function ee(e){return re(e)?e.LABEL:e.name}function te(e){return e.name}function re(e){return(0,s.Kg)(e.LABEL)&&""!==e.LABEL}var ne="parent",se="categories",ie="label",oe="group",ae="push_mode",le="pop_mode",he="longer_alt",ue="line_breaks",ce="start_chars_hint";function de(e){return function(e){var t=e.pattern,r={};r.name=e.name,(0,s.b0)(t)||(r.PATTERN=t);if((0,s.zy)(e,ne))throw"The parent property is no longer supported.\nSee: https://github.com/SAP/chevrotain/issues/564#issuecomment-349062346 for details.";(0,s.zy)(e,se)&&(r.CATEGORIES=e[se]);j([r]),(0,s.zy)(e,ie)&&(r.LABEL=e[ie]);(0,s.zy)(e,oe)&&(r.GROUP=e[oe]);(0,s.zy)(e,le)&&(r.POP_MODE=e[le]);(0,s.zy)(e,ae)&&(r.PUSH_MODE=e[ae]);(0,s.zy)(e,he)&&(r.LONGER_ALT=e[he]);(0,s.zy)(e,ue)&&(r.LINE_BREAKS=e[ue]);(0,s.zy)(e,ce)&&(r.START_CHARS_HINT=e[ce]);return r}(e)}var pe=de({name:"EOF",pattern:J.NA});function ge(e,t,r,n,s,i,o,a){return{image:t,startOffset:r,endOffset:n,startLine:s,endLine:i,startColumn:o,endColumn:a,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function fe(e,t){return B(e,t)}j([pe]);var me=function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},e(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ye=function(){function e(e){this.definition=e}return e.prototype.accept=function(e){e.visit(this),(0,s.jJ)(this.definition,(function(t){t.accept(e)}))},e}(),Ee=function(e){function t(t){var r=e.call(this,[])||this;return r.idx=1,(0,s.kp)(r,(0,s.Up)(t,(function(e){return void 0!==e}))),r}return me(t,e),Object.defineProperty(t.prototype,"definition",{get:function(){return void 0!==this.referencedRule?this.referencedRule.definition:[]},set:function(e){},enumerable:!0,configurable:!0}),t.prototype.accept=function(e){e.visit(this)},t}(ye),we=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.orgText="",(0,s.kp)(r,(0,s.Up)(t,(function(e){return void 0!==e}))),r}return me(t,e),t}(ye),Ce=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.ignoreAmbiguities=!1,(0,s.kp)(r,(0,s.Up)(t,(function(e){return void 0!==e}))),r}return me(t,e),t}(ye),ve=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.idx=1,(0,s.kp)(r,(0,s.Up)(t,(function(e){return void 0!==e}))),r}return me(t,e),t}(ye),Re=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.idx=1,(0,s.kp)(r,(0,s.Up)(t,(function(e){return void 0!==e}))),r}return me(t,e),t}(ye),Se=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.idx=1,(0,s.kp)(r,(0,s.Up)(t,(function(e){return void 0!==e}))),r}return me(t,e),t}(ye),Te=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.idx=1,(0,s.kp)(r,(0,s.Up)(t,(function(e){return void 0!==e}))),r}return me(t,e),t}(ye),Ne=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.idx=1,(0,s.kp)(r,(0,s.Up)(t,(function(e){return void 0!==e}))),r}return me(t,e),t}(ye),Me=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.idx=1,r.ignoreAmbiguities=!1,r.hasPredicates=!1,(0,s.kp)(r,(0,s.Up)(t,(function(e){return void 0!==e}))),r}return me(t,e),t}(ye),_e=function(){function e(e){this.idx=1,(0,s.kp)(this,(0,s.Up)(e,(function(e){return void 0!==e})))}return e.prototype.accept=function(e){e.visit(this)},e}();function be(e){return(0,s.Tj)(e,Oe)}function Oe(e){function t(e){return(0,s.Tj)(e,Oe)}if(e instanceof Ee)return{type:"NonTerminal",name:e.nonTerminalName,idx:e.idx};if(e instanceof Ce)return{type:"Flat",definition:t(e.definition)};if(e instanceof ve)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof Re)return{type:"RepetitionMandatory",name:e.name,idx:e.idx,definition:t(e.definition)};if(e instanceof Se)return{type:"RepetitionMandatoryWithSeparator",name:e.name,idx:e.idx,separator:Oe(new _e({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof Ne)return{type:"RepetitionWithSeparator",name:e.name,idx:e.idx,separator:Oe(new _e({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof Te)return{type:"Repetition",name:e.name,idx:e.idx,definition:t(e.definition)};if(e instanceof Me)return{type:"Alternation",name:e.name,idx:e.idx,definition:t(e.definition)};if(e instanceof _e){var r={type:"Terminal",name:e.terminalType.name,label:ee(e.terminalType),idx:e.idx},n=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(r.pattern=(0,s.gd)(n)?n.source:n),r}if(e instanceof we)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};throw Error("non exhaustive match")}var Ae=function(){function e(){}return e.prototype.walk=function(e,t){var r=this;void 0===t&&(t=[]),(0,s.jJ)(e.definition,(function(n,i){var o=(0,s.gv)(e.definition,i+1);if(n instanceof Ee)r.walkProdRef(n,o,t);else if(n instanceof _e)r.walkTerminal(n,o,t);else if(n instanceof Ce)r.walkFlat(n,o,t);else if(n instanceof ve)r.walkOption(n,o,t);else if(n instanceof Re)r.walkAtLeastOne(n,o,t);else if(n instanceof Se)r.walkAtLeastOneSep(n,o,t);else if(n instanceof Ne)r.walkManySep(n,o,t);else if(n instanceof Te)r.walkMany(n,o,t);else{if(!(n instanceof Me))throw Error("non exhaustive match");r.walkOr(n,o,t)}}))},e.prototype.walkTerminal=function(e,t,r){},e.prototype.walkProdRef=function(e,t,r){},e.prototype.walkFlat=function(e,t,r){var n=t.concat(r);this.walk(e,n)},e.prototype.walkOption=function(e,t,r){var n=t.concat(r);this.walk(e,n)},e.prototype.walkAtLeastOne=function(e,t,r){var n=[new ve({definition:e.definition})].concat(t,r);this.walk(e,n)},e.prototype.walkAtLeastOneSep=function(e,t,r){var n=Ie(e,t,r);this.walk(e,n)},e.prototype.walkMany=function(e,t,r){var n=[new ve({definition:e.definition})].concat(t,r);this.walk(e,n)},e.prototype.walkManySep=function(e,t,r){var n=Ie(e,t,r);this.walk(e,n)},e.prototype.walkOr=function(e,t,r){var n=this,i=t.concat(r);(0,s.jJ)(e.definition,(function(e){var t=new Ce({definition:[e]});n.walk(t,i)}))},e}();function Ie(e,t,r){return[new ve({definition:[new _e({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}var xe=function(){function e(){}return e.prototype.visit=function(e){var t=e;switch(t.constructor){case Ee:return this.visitNonTerminal(t);case Ce:return this.visitFlat(t);case ve:return this.visitOption(t);case Re:return this.visitRepetitionMandatory(t);case Se:return this.visitRepetitionMandatoryWithSeparator(t);case Ne:return this.visitRepetitionWithSeparator(t);case Te:return this.visitRepetition(t);case Me:return this.visitAlternation(t);case _e:return this.visitTerminal(t);case we:return this.visitRule(t);default:throw Error("non exhaustive match")}},e.prototype.visitNonTerminal=function(e){},e.prototype.visitFlat=function(e){},e.prototype.visitOption=function(e){},e.prototype.visitRepetition=function(e){},e.prototype.visitRepetitionMandatory=function(e){},e.prototype.visitRepetitionMandatoryWithSeparator=function(e){},e.prototype.visitRepetitionWithSeparator=function(e){},e.prototype.visitAlternation=function(e){},e.prototype.visitTerminal=function(e){},e.prototype.visitRule=function(e){},e}(),Pe=function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},e(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function Le(e,t){return void 0===t&&(t=[]),!!(e instanceof ve||e instanceof Te||e instanceof Ne)||(e instanceof Me?(0,s.zN)(e.definition,(function(e){return Le(e,t)})):!(e instanceof Ee&&(0,s.gR)(t,e))&&(e instanceof ye&&(e instanceof Ee&&t.push(e),(0,s.Si)(e.definition,(function(e){return Le(e,t)})))))}function De(e){if(e instanceof Ee)return"SUBRULE";if(e instanceof ve)return"OPTION";if(e instanceof Me)return"OR";if(e instanceof Re)return"AT_LEAST_ONE";if(e instanceof Se)return"AT_LEAST_ONE_SEP";if(e instanceof Ne)return"MANY_SEP";if(e instanceof Te)return"MANY";if(e instanceof _e)return"CONSUME";throw Error("non exhaustive match")}var ke=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.separator="-",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return Pe(t,e),t.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},t.prototype.visitTerminal=function(e){var t=e.terminalType.name+this.separator+"Terminal";(0,s.zy)(this.dslMethods,t)||(this.dslMethods[t]=[]),this.dslMethods[t].push(e)},t.prototype.visitNonTerminal=function(e){var t=e.nonTerminalName+this.separator+"Terminal";(0,s.zy)(this.dslMethods,t)||(this.dslMethods[t]=[]),this.dslMethods[t].push(e)},t.prototype.visitOption=function(e){this.dslMethods.option.push(e)},t.prototype.visitRepetitionWithSeparator=function(e){this.dslMethods.repetitionWithSeparator.push(e)},t.prototype.visitRepetitionMandatory=function(e){this.dslMethods.repetitionMandatory.push(e)},t.prototype.visitRepetitionMandatoryWithSeparator=function(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)},t.prototype.visitRepetition=function(e){this.dslMethods.repetition.push(e)},t.prototype.visitAlternation=function(e){this.dslMethods.alternation.push(e)},t}(xe),He=new ke;function Fe(e){if(e instanceof Ee)return Fe(e.referencedRule);if(e instanceof _e)return[e.terminalType];if(function(e){return e instanceof Ce||e instanceof ve||e instanceof Te||e instanceof Re||e instanceof Se||e instanceof Ne||e instanceof _e||e instanceof we}(e))return function(e){var t,r=[],n=e.definition,i=0,o=n.length>i,a=!0;for(;o&&a;)a=Le(t=n[i]),r=r.concat(Fe(t)),i+=1,o=n.length>i;return(0,s.sb)(r)}(e);if(function(e){return e instanceof Me}(e))return function(e){var t=(0,s.Tj)(e.definition,(function(e){return Fe(e)}));return(0,s.sb)((0,s.Bq)(t))}(e);throw Error("non exhaustive match")}var Ue="_~IN~_",Ve=function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},e(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Be=function(e){function t(t){var r=e.call(this)||this;return r.topProd=t,r.follows={},r}return Ve(t,e),t.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},t.prototype.walkTerminal=function(e,t,r){},t.prototype.walkProdRef=function(e,t,r){var n,s,i=(n=e.referencedRule,s=e.idx,n.name+s+Ue+this.topProd.name),o=t.concat(r),a=Fe(new Ce({definition:o}));this.follows[i]=a},t}(Ae);var We=256,Ye=512,Ge=768,je=1024,ze=1280,$e=1536;function Ke(e,t,r){return r|t|e}function Xe(e,t,r,n){var s=n+1<<24;return Ke(e,t,r)|s}var qe=function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},e(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function Qe(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset)}function Ze(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function Je(e,t,r){void 0===e.children[t]?e.children[t]=[r]:e.children[t].push(r)}var et=function(e){function t(t){var r=e.call(this)||this;return r.result=[],r.ruleIdx=t,r}return qe(t,e),t.prototype.collectNamedDSLMethod=function(e,t,r){if(!(0,s.b0)(e.name)){var n=void 0;if(e instanceof ve||e instanceof Te||e instanceof Re||e instanceof Me)n=new t({definition:e.definition,idx:e.idx});else{if(!(e instanceof Se||e instanceof Ne))throw Error("non exhaustive match");n=new t({definition:e.definition,idx:e.idx,separator:e.separator})}var i=[n],o=Ke(this.ruleIdx,r,e.idx);this.result.push({def:i,key:o,name:e.name,orgProd:e})}},t.prototype.visitOption=function(e){this.collectNamedDSLMethod(e,ve,Ye)},t.prototype.visitRepetition=function(e){this.collectNamedDSLMethod(e,Te,Ge)},t.prototype.visitRepetitionMandatory=function(e){this.collectNamedDSLMethod(e,Re,je)},t.prototype.visitRepetitionMandatoryWithSeparator=function(e){this.collectNamedDSLMethod(e,Se,$e)},t.prototype.visitRepetitionWithSeparator=function(e){this.collectNamedDSLMethod(e,Ne,ze)},t.prototype.visitAlternation=function(e){var t=this;this.collectNamedDSLMethod(e,Me,We);var r=e.definition.length>1;(0,s.jJ)(e.definition,(function(n,i){if(!(0,s.b0)(n.name)){var o=n.definition;o=r?[new ve({definition:n.definition})]:n.definition;var a=Xe(t.ruleIdx,We,e.idx,i);t.result.push({def:o,key:a,name:n.name,orgProd:n})}}))},t}(xe);var tt=function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},e(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),rt=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.path=r,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return tt(t,e),t.prototype.walkTerminal=function(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){var n=t.concat(r),s=new Ce({definition:n});this.possibleTokTypes=Fe(s),this.found=!0}},t}(function(e){function t(t,r){var n=e.call(this)||this;return n.topProd=t,n.path=r,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return tt(t,e),t.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,s.T9)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,s.T9)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},t.prototype.walk=function(t,r){void 0===r&&(r=[]),this.found||e.prototype.walk.call(this,t,r)},t.prototype.walkProdRef=function(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){var n=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,n)}},t.prototype.updateExpectedNext=function(){(0,s.Im)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},t}(Ae)),nt=function(e){function t(t,r){var n=e.call(this)||this;return n.topRule=t,n.occurrence=r,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return tt(t,e),t.prototype.startWalking=function(){return this.walk(this.topRule),this.result},t}(Ae),st=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return tt(t,e),t.prototype.walkMany=function(t,r,n){if(t.idx===this.occurrence){var i=(0,s.$1)(r.concat(n));this.result.isEndOfRule=void 0===i,i instanceof _e&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else e.prototype.walkMany.call(this,t,r,n)},t}(nt),it=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return tt(t,e),t.prototype.walkManySep=function(t,r,n){if(t.idx===this.occurrence){var i=(0,s.$1)(r.concat(n));this.result.isEndOfRule=void 0===i,i instanceof _e&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else e.prototype.walkManySep.call(this,t,r,n)},t}(nt),ot=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return tt(t,e),t.prototype.walkAtLeastOne=function(t,r,n){if(t.idx===this.occurrence){var i=(0,s.$1)(r.concat(n));this.result.isEndOfRule=void 0===i,i instanceof _e&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else e.prototype.walkAtLeastOne.call(this,t,r,n)},t}(nt),at=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return tt(t,e),t.prototype.walkAtLeastOneSep=function(t,r,n){if(t.idx===this.occurrence){var i=(0,s.$1)(r.concat(n));this.result.isEndOfRule=void 0===i,i instanceof _e&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else e.prototype.walkAtLeastOneSep.call(this,t,r,n)},t}(nt);function lt(e,t,r){void 0===r&&(r=[]),r=(0,s.T9)(r);var n=[],i=0;function o(o){var a=lt(o.concat((0,s.gv)(e,i+1)),t,r);return n.concat(a)}for(;r.length<t&&i<e.length;){var a=e[i];if(a instanceof Ce)return o(a.definition);if(a instanceof Ee)return o(a.definition);if(a instanceof ve)n=o(a.definition);else{if(a instanceof Re)return o(l=a.definition.concat([new Te({definition:a.definition})]));if(a instanceof Se)return o(l=[new Ce({definition:a.definition}),new Te({definition:[new _e({terminalType:a.separator})].concat(a.definition)})]);if(a instanceof Ne){var l=a.definition.concat([new Te({definition:[new _e({terminalType:a.separator})].concat(a.definition)})]);n=o(l)}else if(a instanceof Te){l=a.definition.concat([new Te({definition:a.definition})]);n=o(l)}else{if(a instanceof Me)return(0,s.jJ)(a.definition,(function(e){n=o(e.definition)})),n;if(!(a instanceof _e))throw Error("non exhaustive match");r.push(a.terminalType)}}i++}return n.push({partialPath:r,suffixDef:(0,s.gv)(e,i)}),n}function ht(e,t,r,n){var i="EXIT_NONE_TERMINAL",o=[i],a="EXIT_ALTERNATIVE",l=!1,h=t.length,u=h-n-1,c=[],d=[];for(d.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!(0,s.Im)(d);){var p=d.pop();if(p!==a){var g=p.def,f=p.idx,m=p.ruleStack,y=p.occurrenceStack;if(!(0,s.Im)(g)){var E=g[0];if(E===i){var w={idx:f,def:(0,s.gv)(g),ruleStack:(0,s.gc)(m),occurrenceStack:(0,s.gc)(y)};d.push(w)}else if(E instanceof _e)if(f<h-1){var C=f+1;if(r(t[C],E.terminalType)){w={idx:C,def:(0,s.gv)(g),ruleStack:m,occurrenceStack:y};d.push(w)}}else{if(f!==h-1)throw Error("non exhaustive match");c.push({nextTokenType:E.terminalType,nextTokenOccurrence:E.idx,ruleStack:m,occurrenceStack:y}),l=!0}else if(E instanceof Ee){var v=(0,s.T9)(m);v.push(E.nonTerminalName);var R=(0,s.T9)(y);R.push(E.idx);w={idx:f,def:E.definition.concat(o,(0,s.gv)(g)),ruleStack:v,occurrenceStack:R};d.push(w)}else if(E instanceof ve){var S={idx:f,def:(0,s.gv)(g),ruleStack:m,occurrenceStack:y};d.push(S),d.push(a);var T={idx:f,def:E.definition.concat((0,s.gv)(g)),ruleStack:m,occurrenceStack:y};d.push(T)}else if(E instanceof Re){var N=new Te({definition:E.definition,idx:E.idx});w={idx:f,def:E.definition.concat([N],(0,s.gv)(g)),ruleStack:m,occurrenceStack:y};d.push(w)}else if(E instanceof Se){var M=new _e({terminalType:E.separator});N=new Te({definition:[M].concat(E.definition),idx:E.idx}),w={idx:f,def:E.definition.concat([N],(0,s.gv)(g)),ruleStack:m,occurrenceStack:y};d.push(w)}else if(E instanceof Ne){S={idx:f,def:(0,s.gv)(g),ruleStack:m,occurrenceStack:y};d.push(S),d.push(a);M=new _e({terminalType:E.separator});var _=new Te({definition:[M].concat(E.definition),idx:E.idx});T={idx:f,def:E.definition.concat([_],(0,s.gv)(g)),ruleStack:m,occurrenceStack:y};d.push(T)}else if(E instanceof Te){S={idx:f,def:(0,s.gv)(g),ruleStack:m,occurrenceStack:y};d.push(S),d.push(a);_=new Te({definition:E.definition,idx:E.idx}),T={idx:f,def:E.definition.concat([_],(0,s.gv)(g)),ruleStack:m,occurrenceStack:y};d.push(T)}else if(E instanceof Me)for(var b=E.definition.length-1;b>=0;b--){var O={idx:f,def:E.definition[b].definition.concat((0,s.gv)(g)),ruleStack:m,occurrenceStack:y};d.push(O),d.push(a)}else if(E instanceof Ce)d.push({idx:f,def:E.definition.concat((0,s.gv)(g)),ruleStack:m,occurrenceStack:y});else{if(!(E instanceof we))throw Error("non exhaustive match");d.push(ut(E,f,m,y))}}}else l&&(0,s.HV)(d).idx<=u&&d.pop()}return c}function ut(e,t,r,n){var i=(0,s.T9)(r);i.push(e.name);var o=(0,s.T9)(n);return o.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:o}}var ct,dt=function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},e(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();!function(e){e[e.OPTION=0]="OPTION",e[e.REPETITION=1]="REPETITION",e[e.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",e[e.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",e[e.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",e[e.ALTERNATION=5]="ALTERNATION"}(ct||(ct={}));var pt=function(e){function t(t,r,n){var s=e.call(this)||this;return s.topProd=t,s.targetOccurrence=r,s.targetProdType=n,s}return dt(t,e),t.prototype.startWalking=function(){return this.walk(this.topProd),this.restDef},t.prototype.checkIsTarget=function(e,t,r,n){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=r.concat(n),!0)},t.prototype.walkOption=function(t,r,n){this.checkIsTarget(t,ct.OPTION,r,n)||e.prototype.walkOption.call(this,t,r,n)},t.prototype.walkAtLeastOne=function(t,r,n){this.checkIsTarget(t,ct.REPETITION_MANDATORY,r,n)||e.prototype.walkOption.call(this,t,r,n)},t.prototype.walkAtLeastOneSep=function(t,r,n){this.checkIsTarget(t,ct.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||e.prototype.walkOption.call(this,t,r,n)},t.prototype.walkMany=function(t,r,n){this.checkIsTarget(t,ct.REPETITION,r,n)||e.prototype.walkOption.call(this,t,r,n)},t.prototype.walkManySep=function(t,r,n){this.checkIsTarget(t,ct.REPETITION_WITH_SEPARATOR,r,n)||e.prototype.walkOption.call(this,t,r,n)},t}(Ae),gt=function(e){function t(t,r,n){var s=e.call(this)||this;return s.targetOccurrence=t,s.targetProdType=r,s.targetRef=n,s.result=[],s}return dt(t,e),t.prototype.checkIsTarget=function(e,t){e.idx!==this.targetOccurrence||this.targetProdType!==t||void 0!==this.targetRef&&e!==this.targetRef||(this.result=e.definition)},t.prototype.visitOption=function(e){this.checkIsTarget(e,ct.OPTION)},t.prototype.visitRepetition=function(e){this.checkIsTarget(e,ct.REPETITION)},t.prototype.visitRepetitionMandatory=function(e){this.checkIsTarget(e,ct.REPETITION_MANDATORY)},t.prototype.visitRepetitionMandatoryWithSeparator=function(e){this.checkIsTarget(e,ct.REPETITION_MANDATORY_WITH_SEPARATOR)},t.prototype.visitRepetitionWithSeparator=function(e){this.checkIsTarget(e,ct.REPETITION_WITH_SEPARATOR)},t.prototype.visitAlternation=function(e){this.checkIsTarget(e,ct.ALTERNATION)},t}(xe);function ft(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=[];return t}function mt(e){for(var t=[""],r=0;r<e.length;r++){for(var n=e[r],s=[],i=0;i<t.length;i++){var o=t[i];s.push(o+"_"+n.tokenTypeIdx);for(var a=0;a<n.categoryMatches.length;a++){var l="_"+n.categoryMatches[a];s.push(o+l)}}t=s}return t}function yt(e,t,r){for(var n=0;n<e.length;n++)if(n!==r)for(var s=e[n],i=0;i<t.length;i++){if(!0===s[t[i]])return!1}return!0}function Et(e,t){for(var r=(0,s.Tj)(e,(function(e){return lt([e],1)})),n=ft(r.length),i=(0,s.Tj)(r,(function(e){var t={};return(0,s.jJ)(e,(function(e){var r=mt(e.partialPath);(0,s.jJ)(r,(function(e){t[e]=!0}))})),t})),o=r,a=1;a<=t;a++){var l=o;o=ft(l.length);for(var h=function(e){for(var r=l[e],h=0;h<r.length;h++){var u=r[h].partialPath,c=r[h].suffixDef,d=mt(u);if(yt(i,d,e)||(0,s.Im)(c)||u.length===t){var p=n[e];if(!1===vt(p,u)){p.push(u);for(var g=0;g<d.length;g++){var f=d[g];i[e][f]=!0}}}else{var m=lt(c,a+1,u);o[e]=o[e].concat(m),(0,s.jJ)(m,(function(t){var r=mt(t.partialPath);(0,s.jJ)(r,(function(t){i[e][t]=!0}))}))}}},u=0;u<l.length;u++)h(u)}return n}function wt(e,t,r,n){var s=new gt(e,ct.ALTERNATION,n);return t.accept(s),Et(s.result,r)}function Ct(e,t,r,n){var s=new gt(e,r);t.accept(s);var i=s.result,o=new pt(t,e,r).startWalking();return Et([new Ce({definition:i}),new Ce({definition:o})],n)}function vt(e,t){e:for(var r=0;r<e.length;r++){var n=e[r];if(n.length===t.length){for(var s=0;s<n.length;s++){var i=t[s],o=n[s];if(!1===(i===o||void 0!==o.categoryMatchesMap[i.tokenTypeIdx]))continue e}return!0}}return!1}function Rt(e){return(0,s.Si)(e,(function(e){return(0,s.Si)(e,(function(e){return(0,s.Si)(e,(function(e){return(0,s.Im)(e.categoryMatches)}))}))}))}var St=function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},e(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function Tt(e,t,r,n,i,o){var a=s.Tj(e,(function(e){return function(e,t){var r=new _t;e.accept(r);var n=r.allProductions,i=s.$z(n,Nt),o=s.Up(i,(function(e){return e.length>1})),a=s.Tj(s.zu(o),(function(r){var n=s.$1(r),i=t.buildDuplicateFoundError(e,r),o=De(n),a={message:i,type:xr.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:o,occurrence:n.idx},l=Mt(n);return l&&(a.parameter=l),a}));return a}(e,i)})),l=s.Tj(e,(function(e){return At(e,e,i)})),h=[],u=[],c=[];(0,s.Si)(l,s.Im)&&(h=(0,s.Tj)(e,(function(e){return function(e,t){var r=new xt;e.accept(r);var n=r.alternations,i=s.TS(n,(function(r,n){var i=s.gc(n.definition),o=s.Tj(i,(function(r,i){var o=ht([r],[],null,1);return s.Im(o)?{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:n,emptyChoiceIdx:i}),type:xr.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:n.idx,alternative:i+1}:null}));return r.concat(s.oE(o))}),[]);return i}(e,i)})),u=(0,s.Tj)(e,(function(e){return function(e,t,r,n){var i=new xt;e.accept(i);var o=i.alternations,a=r[e.name];a&&(o=(0,s.ku)(o,(function(e){return a[De(e)+(0===e.idx?"":e.idx)]})));o=(0,s.ku)(o,(function(e){return!0===e.ignoreAmbiguities}));var l=s.TS(o,(function(r,i){var o=i.idx,a=i.maxLookahead||t,l=wt(o,e,a,i),h=function(e,t,r,n){var i=[],o=(0,s.TS)(e,(function(r,n,o){return!0===t.definition[o].ignoreAmbiguities||(0,s.jJ)(n,(function(n){var a=[o];(0,s.jJ)(e,(function(e,r){o!==r&&vt(e,n)&&!0!==t.definition[r].ignoreAmbiguities&&a.push(r)})),a.length>1&&!vt(i,n)&&(i.push(n),r.push({alts:a,path:n}))})),r}),[]),a=s.Tj(o,(function(e){var i=(0,s.Tj)(e.alts,(function(e){return e+1}));return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:xr.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:[e.alts]}}));return a}(l,i,e,n),u=function(e,t,r,n){var i=[],o=(0,s.TS)(e,(function(e,t,r){var n=(0,s.Tj)(t,(function(e){return{idx:r,path:e}}));return e.concat(n)}),[]);return(0,s.jJ)(o,(function(e){if(!0!==t.definition[e.idx].ignoreAmbiguities){var a=e.idx,l=e.path,h=(0,s.JW)(o,(function(e){return!0!==t.definition[e.idx].ignoreAmbiguities&&e.idx<a&&(r=e.path,n=l,r.length<n.length&&(0,s.Si)(r,(function(e,t){var r=n[t];return e===r||r.categoryMatchesMap[e.tokenTypeIdx]})));var r,n})),u=(0,s.Tj)(h,(function(e){var s=[e.idx+1,a+1],i=0===t.idx?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:s,prefixPath:e.path}),type:xr.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:i,alternatives:s}}));i=i.concat(u)}})),i}(l,i,e,n);return r.concat(h,u)}),[]);return l}(e,t,n,i)})),c=function(e,t,r){var n=[];return(0,s.jJ)(e,(function(e){var i=new Pt;e.accept(i);var o=i.allProductions;(0,s.jJ)(o,(function(i){var o=function(e){if(e instanceof ve)return ct.OPTION;if(e instanceof Te)return ct.REPETITION;if(e instanceof Re)return ct.REPETITION_MANDATORY;if(e instanceof Se)return ct.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof Ne)return ct.REPETITION_WITH_SEPARATOR;if(e instanceof Me)return ct.ALTERNATION;throw Error("non exhaustive match")}(i),a=i.maxLookahead||t,l=Ct(i.idx,e,o,a)[0];if((0,s.Im)((0,s.Bq)(l))){var h=r.buildEmptyRepetitionError({topLevelRule:e,repetition:i});n.push({message:h,type:xr.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}}))})),n}(e,t,i));var d=function(e,t,r){var n=[],i=(0,s.Tj)(t,(function(e){return e.name}));return(0,s.jJ)(e,(function(e){var t=e.name;if((0,s.gR)(i,t)){var o=r.buildNamespaceConflictError(e);n.push({message:o,type:xr.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}})),n}(e,r,i),p=s.Tj(r,(function(e){return function(e,t){var r=[];e.name.match(bt)||r.push({message:t.buildTokenNameError({tokenType:e,expectedPattern:bt}),type:xr.INVALID_TOKEN_NAME});return r}(e,i)})),g=function(e,t){var r=[];return(0,s.jJ)(e,(function(e){var n=new et("");e.accept(n);var i=(0,s.Tj)(n.result,(function(e){return e.orgProd}));r.push((0,s.Tj)(i,(function(r){return function(e,t,r){var n,s=[];t.name.match(Ot)||(n=r.buildInvalidNestedRuleNameError(e,t),s.push({message:n,type:xr.INVALID_NESTED_RULE_NAME,ruleName:e.name}));return s}(e,r,t)})))})),(0,s.Bq)(r)}(e,i),f=function(e,t){var r=[];return(0,s.jJ)(e,(function(e){var n=new et("");e.accept(n);var i=(0,s.$z)(n.result,(function(e){return e.name})),o=(0,s.Up)(i,(function(e){return e.length>1}));(0,s.jJ)((0,s.zu)(o),(function(n){var i=(0,s.Tj)(n,(function(e){return e.orgProd})),o=t.buildDuplicateNestedRuleNameError(e,i);r.push({message:o,type:xr.DUPLICATE_NESTED_NAME,ruleName:e.name})}))})),r}(e,i),m=(0,s.Tj)(e,(function(e){return function(e,t){var r=new xt;e.accept(r);var n=r.alternations,i=s.TS(n,(function(r,n){return n.definition.length>255&&r.push({message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:n}),type:xr.TOO_MANY_ALTS,ruleName:e.name,occurrence:n.idx}),r}),[]);return i}(e,i)})),y=(0,s.Tj)(e,(function(e){return function(e,t){var r=[],n=e.name;n.match(bt)||r.push({message:t.buildInvalidRuleNameError({topLevelRule:e,expectedPattern:bt}),type:xr.INVALID_RULE_NAME,ruleName:n});return r}(e,i)})),E=(0,s.Tj)(e,(function(t){return function(e,t,r,n){var i=[],o=(0,s.TS)(t,(function(t,r){return r.name===e.name?t+1:t}),0);if(o>1){var a=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r});i.push({message:a,type:xr.DUPLICATE_RULE_NAME,ruleName:e.name})}return i}(t,e,o,i)}));return s.Bq(a.concat(p,g,f,c,l,h,u,d,m,y,E))}function Nt(e){return De(e)+"_#_"+e.idx+"_#_"+Mt(e)}function Mt(e){return e instanceof _e?e.terminalType.name:e instanceof Ee?e.nonTerminalName:""}var _t=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.allProductions=[],t}return St(t,e),t.prototype.visitNonTerminal=function(e){this.allProductions.push(e)},t.prototype.visitOption=function(e){this.allProductions.push(e)},t.prototype.visitRepetitionWithSeparator=function(e){this.allProductions.push(e)},t.prototype.visitRepetitionMandatory=function(e){this.allProductions.push(e)},t.prototype.visitRepetitionMandatoryWithSeparator=function(e){this.allProductions.push(e)},t.prototype.visitRepetition=function(e){this.allProductions.push(e)},t.prototype.visitAlternation=function(e){this.allProductions.push(e)},t.prototype.visitTerminal=function(e){this.allProductions.push(e)},t}(xe),bt=/^[a-zA-Z_]\w*$/,Ot=new RegExp(bt.source.replace("^","^\\$"));function At(e,t,r,n){void 0===n&&(n=[]);var i=[],o=It(t.definition);if(s.Im(o))return[];var a=e.name;s.gR(o,e)&&i.push({message:r.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:n}),type:xr.LEFT_RECURSION,ruleName:a});var l=s.iv(o,n.concat([e])),h=s.Tj(l,(function(t){var i=s.T9(n);return i.push(t),At(e,t,r,i)}));return i.concat(s.Bq(h))}function It(e){var t=[];if(s.Im(e))return t;var r=s.$1(e);if(r instanceof Ee)t.push(r.referencedRule);else if(r instanceof Ce||r instanceof ve||r instanceof Re||r instanceof Se||r instanceof Ne||r instanceof Te)t=t.concat(It(r.definition));else if(r instanceof Me)t=s.Bq(s.Tj(r.definition,(function(e){return It(e.definition)})));else if(!(r instanceof _e))throw Error("non exhaustive match");var n=Le(r),i=e.length>1;if(n&&i){var o=s.gv(e);return t.concat(It(o))}return t}var xt=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.alternations=[],t}return St(t,e),t.prototype.visitAlternation=function(e){this.alternations.push(e)},t}(xe);var Pt=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.allProductions=[],t}return St(t,e),t.prototype.visitRepetitionWithSeparator=function(e){this.allProductions.push(e)},t.prototype.visitRepetitionMandatory=function(e){this.allProductions.push(e)},t.prototype.visitRepetitionMandatoryWithSeparator=function(e){this.allProductions.push(e)},t.prototype.visitRepetition=function(e){this.allProductions.push(e)},t}(xe);var Lt={buildMismatchTokenMessage:function(e){var t=e.expected,r=e.actual;e.previous,e.ruleName;return"Expecting "+(re(t)?"--\x3e "+ee(t)+" <--":"token of type --\x3e "+t.name+" <--")+" but found --\x3e '"+r.image+"' <--"},buildNotAllInputParsedMessage:function(e){var t=e.firstRedundant;e.ruleName;return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage:function(e){var t=e.expectedPathsPerAlt,r=e.actual,n=(e.previous,e.customUserDescription),i=(e.ruleName,"Expecting: "),o="\nbut found: '"+(0,s.$1)(r).image+"'";if(n)return i+n+o;var a=(0,s.TS)(t,(function(e,t){return e.concat(t)}),[]),l=(0,s.Tj)(a,(function(e){return"["+(0,s.Tj)(e,(function(e){return ee(e)})).join(", ")+"]"}));return i+("one of these possible Token sequences:\n"+(0,s.Tj)(l,(function(e,t){return"  "+(t+1)+". "+e})).join("\n"))+o},buildEarlyExitMessage:function(e){var t=e.expectedIterationPaths,r=e.actual,n=e.customUserDescription,i=(e.ruleName,"Expecting: "),o="\nbut found: '"+(0,s.$1)(r).image+"'";return n?i+n+o:i+("expecting at least one iteration which starts with one of these possible Token sequences::\n  <"+(0,s.Tj)(t,(function(e){return"["+(0,s.Tj)(e,(function(e){return ee(e)})).join(",")+"]"})).join(" ,")+">")+o}};Object.freeze(Lt);var Dt={buildRuleNotFoundError:function(e,t){return"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+"<-\ninside top level rule: ->"+e.name+"<-"}},kt={buildDuplicateFoundError:function(e,t){var r,n=e.name,i=(0,s.$1)(t),o=i.idx,a=De(i),l=(r=i)instanceof _e?r.terminalType.name:r instanceof Ee?r.nonTerminalName:"",h="->"+a+(o>0?o:"")+"<- "+(l?"with argument: ->"+l+"<-":"")+"\n                  appears more than once ("+t.length+" times) in the top level rule: ->"+n+"<-.                  \n                  For further details see: https://sap.github.io/chevrotain/docs/FAQ.html#NUMERICAL_SUFFIXES \n                  ";return h=(h=h.replace(/[ \t]+/g," ")).replace(/\s\s+/g,"\n")},buildInvalidNestedRuleNameError:function(e,t){return"Invalid nested rule name: ->"+t.name+"<- inside rule: ->"+e.name+"<-\nit must match the pattern: ->"+Ot.toString()+"<-.\nNote that this means a nested rule name must start with the '$'(dollar) sign."},buildDuplicateNestedRuleNameError:function(e,t){return"Duplicate nested rule name: ->"+(0,s.$1)(t).name+"<- inside rule: ->"+e.name+"<-\nA nested name must be unique in the scope of a top level grammar rule."},buildNamespaceConflictError:function(e){return"Namespace conflict found in grammar.\nThe grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+e.name+">.\nTo resolve this make sure each Terminal and Non-Terminal names are unique\nThis is easy to accomplish by using the convention that Terminal names start with an uppercase letter\nand Non-Terminal names start with a lower case letter."},buildAlternationPrefixAmbiguityError:function(e){var t=(0,s.Tj)(e.prefixPath,(function(e){return ee(e)})).join(", "),r=0===e.alternation.idx?"":e.alternation.idx;return"Ambiguous alternatives: <"+e.ambiguityIndices.join(" ,")+"> due to common lookahead prefix\nin <OR"+r+"> inside <"+e.topLevelRule.name+"> Rule,\n<"+t+"> may appears as a prefix path in all these alternatives.\nSee: https://sap.github.io/chevrotain/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details."},buildAlternationAmbiguityError:function(e){var t=(0,s.Tj)(e.prefixPath,(function(e){return ee(e)})).join(", "),r=0===e.alternation.idx?"":e.alternation.idx,n="Ambiguous Alternatives Detected: <"+e.ambiguityIndices.join(" ,")+"> in <OR"+r+"> inside <"+e.topLevelRule.name+"> Rule,\n<"+t+"> may appears as a prefix path in all these alternatives.\n";return n+="See: https://sap.github.io/chevrotain/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details."},buildEmptyRepetitionError:function(e){var t=De(e.repetition);return 0!==e.repetition.idx&&(t+=e.repetition.idx),"The repetition <"+t+"> within Rule <"+e.topLevelRule.name+"> can never consume any tokens.\nThis could lead to an infinite loop."},buildTokenNameError:function(e){return"Invalid Grammar Token name: ->"+e.tokenType.name+"<- it must match the pattern: ->"+e.expectedPattern.toString()+"<-"},buildEmptyAlternationError:function(e){return"Ambiguous empty alternative: <"+(e.emptyChoiceIdx+1)+"> in <OR"+e.alternation.idx+"> inside <"+e.topLevelRule.name+"> Rule.\nOnly the last alternative may be an empty alternative."},buildTooManyAlternativesError:function(e){return"An Alternation cannot have more than 256 alternatives:\n<OR"+e.alternation.idx+"> inside <"+e.topLevelRule.name+"> Rule.\n has "+(e.alternation.definition.length+1)+" alternatives."},buildLeftRecursionError:function(e){var t=e.topLevelRule.name;return"Left Recursion found in grammar.\nrule: <"+t+"> can be invoked from itself (directly or indirectly)\nwithout consuming any Tokens. The grammar path that causes this is: \n "+(t+" --\x3e "+s.Tj(e.leftRecursionPath,(function(e){return e.name})).concat([t]).join(" --\x3e "))+"\n To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring."},buildInvalidRuleNameError:function(e){return"Invalid grammar rule name: ->"+e.topLevelRule.name+"<- it must match the pattern: ->"+e.expectedPattern.toString()+"<-"},buildDuplicateRuleNameError:function(e){return"Duplicate definition, rule: ->"+(e.topLevelRule instanceof we?e.topLevelRule.name:e.topLevelRule)+"<- is already defined in the grammar: ->"+e.grammarName+"<-"}},Ht=function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},e(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();var Ft=function(e){function t(t,r){var n=e.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=r,n.errors=[],n}return Ht(t,e),t.prototype.resolveRefs=function(){var e=this;(0,s.jJ)((0,s.zu)(this.nameToTopRule),(function(t){e.currTopLevel=t,t.accept(e)}))},t.prototype.visitNonTerminal=function(e){var t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{var r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:xr.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}},t}(xe);function Ut(e){e=(0,s.NT)(e,{errMsgProvider:Dt});var t,r,n,i={};return(0,s.jJ)(e.rules,(function(e){i[e.name]=e})),t=i,r=e.errMsgProvider,(n=new Ft(t,r)).resolveRefs(),n.errors}function Vt(e){return Tt((e=(0,s.NT)(e,{errMsgProvider:kt,ignoredIssues:{}})).rules,e.maxLookahead,e.tokenTypes,e.ignoredIssues,e.errMsgProvider,e.grammarName)}function Bt(e){(0,s.jJ)(e.rules,(function(e){var t=new ke;e.accept(t),(0,s.jJ)(t.dslMethods,(function(e){(0,s.jJ)(e,(function(e,t){e.idx=t+1}))}))}))}var Wt="MismatchedTokenException",Yt="NoViableAltException",Gt="EarlyExitException",jt="NotAllInputParsedException",zt=[Wt,Yt,Gt,jt];function $t(e){return(0,s.gR)(zt,e.name)}function Kt(e,t,r){this.name=Wt,this.message=e,this.token=t,this.previousToken=r,this.resyncedTokens=[]}function Xt(e,t,r){this.name=Yt,this.message=e,this.token=t,this.previousToken=r,this.resyncedTokens=[]}function qt(e,t){this.name=jt,this.message=e,this.token=t,this.resyncedTokens=[]}function Qt(e,t,r){this.name=Gt,this.message=e,this.token=t,this.previousToken=r,this.resyncedTokens=[]}Object.freeze(zt),Kt.prototype=Error.prototype,Xt.prototype=Error.prototype,qt.prototype=Error.prototype,Qt.prototype=Error.prototype;var Zt={},Jt="InRuleRecoveryException";function er(e){this.name=Jt,this.message=e}er.prototype=Error.prototype;var tr=function(){function e(){}return e.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,s.zy)(e,"recoveryEnabled")?e.recoveryEnabled:Pr.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=rr)},e.prototype.getTokenToInsert=function(e){var t=ge(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},e.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},e.prototype.tryInRepetitionRecovery=function(e,t,r,n){for(var i=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],h=!1,u=this.LA(1),c=this.LA(1),d=function(){var e=i.LA(0),t=new Kt(i.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:e,ruleName:i.getCurrRuleFullName()}),u,i.LA(0));t.resyncedTokens=(0,s.gc)(l),i.SAVE_ERROR(t)};!h;){if(this.tokenMatcher(c,n))return void d();if(r.call(this))return d(),void e.apply(this,t);this.tokenMatcher(c,o)?h=!0:(c=this.SKIP_TOKEN(),this.addToResyncTokens(c,l))}this.importLexerState(a)},e.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,r){return!1!==r&&(void 0!==e&&void 0!==t&&(!this.tokenMatcher(this.LA(1),e)&&(!this.isBackTracking()&&!this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))))},e.prototype.getFollowsForInRuleRecovery=function(e,t){var r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)},e.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){var r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new er("sad sad panda")},e.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},e.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var r=this;if(!this.canTokenTypeBeInsertedInRecovery(e))return!1;if((0,s.Im)(t))return!1;var n=this.LA(1);return void 0!==(0,s.I6)(t,(function(e){return r.tokenMatcher(n,e)}))},e.prototype.canRecoverWithSingleTokenDeletion=function(e){return this.tokenMatcher(this.LA(2),e)},e.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(t);return(0,s.gR)(r,e)},e.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),r=2;;){var n=t.tokenType;if((0,s.gR)(e,n))return n;t=this.LA(r),r++}},e.prototype.getCurrFollowKey=function(){if(1===this.RULE_STACK.length)return Zt;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}},e.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return(0,s.Im)(this.LAST_EXPLICIT_RULE_STACK)||(t=(0,s.Tj)(this.LAST_EXPLICIT_RULE_STACK,(function(t){return e.RULE_STACK[t]})),r=(0,s.Tj)(this.LAST_EXPLICIT_RULE_STACK,(function(t){return e.RULE_OCCURRENCE_STACK[t]}))),(0,s.Tj)(t,(function(n,s){return 0===s?Zt:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:r[s],inRule:e.shortRuleNameToFullName(t[s-1])}}))},e.prototype.flattenFollowSet=function(){var e=this,t=(0,s.Tj)(this.buildFullFollowKeyStack(),(function(t){return e.getFollowSetFromFollowKey(t)}));return(0,s.Bq)(t)},e.prototype.getFollowSetFromFollowKey=function(e){if(e===Zt)return[pe];var t=e.ruleName+e.idxInCallingRule+Ue+e.inRule;return this.resyncFollows[t]},e.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,pe)||t.push(e),t},e.prototype.reSyncTo=function(e){for(var t=[],r=this.LA(1);!1===this.tokenMatcher(r,e);)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return(0,s.gc)(t)},e.prototype.attemptInRepetitionRecovery=function(e,t,r,n,s,i,o){},e.prototype.getCurrentGrammarPath=function(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:(0,s.T9)(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}},e.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,s.Im)(this.LAST_EXPLICIT_RULE_STACK)?(0,s.Tj)(this.RULE_STACK,(function(t){return e.shortRuleNameToFullName(t)})):(0,s.Tj)(this.LAST_EXPLICIT_RULE_STACK,(function(t){return e.shortRuleNameToFullName(e.RULE_STACK[t])}))},e}();function rr(e,t,r,n,s,i,o){var a=this.getKeyForAutomaticLookahead(n,s),l=this.firstAfterRepMap[a];if(void 0===l){var h=this.getCurrRuleFullName();l=new i(this.getGAstProductions()[h],s).startWalking(),this.firstAfterRepMap[a]=l}var u=l.token,c=l.occurrence,d=l.isEndOfRule;1===this.RULE_STACK.length&&d&&void 0===u&&(u=pe,c=1),this.shouldInRepetitionRecoveryBeTried(u,c,o)&&this.tryInRepetitionRecovery(e,t,r,u)}var nr=function(){function e(){}return e.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,s.zy)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Pr.dynamicTokensEnabled,this.maxLookahead=(0,s.zy)(e,"maxLookahead")?e.maxLookahead:Pr.maxLookahead,this.lookAheadFuncsCache=(0,s.rF)()?new Map:[],(0,s.rF)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},e.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,s.jJ)(e,(function(e){t.TRACE_INIT(e.name+" Rule Lookahead",(function(){var r=function(e){He.reset(),e.accept(He);var t=He.dslMethods;return He.reset(),t}(e),n=r.alternation,i=r.repetition,o=r.option,a=r.repetitionMandatory,l=r.repetitionMandatoryWithSeparator,h=r.repetitionWithSeparator;(0,s.jJ)(n,(function(r){var n=0===r.idx?"":r.idx;t.TRACE_INIT(""+De(r)+n,(function(){var n,s,i,o,a,l,h,u=(n=r.idx,s=e,i=r.maxLookahead||t.maxLookahead,o=r.hasPredicates,a=t.dynamicTokensEnabled,l=t.lookAheadBuilderForAlternatives,h=wt(n,s,i),l(h,o,Rt(h)?W:B,a)),c=Ke(t.fullRuleNameToShort[e.name],We,r.idx);t.setLaFuncCache(c,u)}))})),(0,s.jJ)(i,(function(r){t.computeLookaheadFunc(e,r.idx,Ge,ct.REPETITION,r.maxLookahead,De(r))})),(0,s.jJ)(o,(function(r){t.computeLookaheadFunc(e,r.idx,Ye,ct.OPTION,r.maxLookahead,De(r))})),(0,s.jJ)(a,(function(r){t.computeLookaheadFunc(e,r.idx,je,ct.REPETITION_MANDATORY,r.maxLookahead,De(r))})),(0,s.jJ)(l,(function(r){t.computeLookaheadFunc(e,r.idx,$e,ct.REPETITION_MANDATORY_WITH_SEPARATOR,r.maxLookahead,De(r))})),(0,s.jJ)(h,(function(r){t.computeLookaheadFunc(e,r.idx,ze,ct.REPETITION_WITH_SEPARATOR,r.maxLookahead,De(r))}))}))}))},e.prototype.computeLookaheadFunc=function(e,t,r,n,s,i){var o=this;this.TRACE_INIT(""+i+(0===t?"":t),(function(){var i=function(e,t,r,n,s,i){var o=Ct(e,t,s,r),a=Rt(o)?W:B;return i(o[0],a,n)}(t,e,s||o.maxLookahead,o.dynamicTokensEnabled,n,o.lookAheadBuilderForOptional),a=Ke(o.fullRuleNameToShort[e.name],r,t);o.setLaFuncCache(a,i)}))},e.prototype.lookAheadBuilderForOptional=function(e,t,r){return function(e,t,r){var n=(0,s.Si)(e,(function(e){return 1===e.length})),i=e.length;if(n&&!r){var o=(0,s.Bq)(e);if(1===o.length&&(0,s.Im)(o[0].categoryMatches)){var a=o[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===a}}var l=(0,s.TS)(o,(function(e,t,r){return e[t.tokenTypeIdx]=!0,(0,s.jJ)(t.categoryMatches,(function(t){e[t]=!0})),e}),[]);return function(){var e=this.LA(1);return!0===l[e.tokenTypeIdx]}}return function(){e:for(var r=0;r<i;r++){for(var n=e[r],s=n.length,o=0;o<s;o++){var a=this.LA(o+1);if(!1===t(a,n[o]))continue e}return!0}return!1}}(e,t,r)},e.prototype.lookAheadBuilderForAlternatives=function(e,t,r,n){return function(e,t,r,n){var i=e.length,o=(0,s.Si)(e,(function(e){return(0,s.Si)(e,(function(e){return 1===e.length}))}));if(t)return function(t){for(var n=(0,s.Tj)(t,(function(e){return e.GATE})),o=0;o<i;o++){var a=e[o],l=a.length,h=n[o];if(void 0===h||!1!==h.call(this))e:for(var u=0;u<l;u++){for(var c=a[u],d=c.length,p=0;p<d;p++){var g=this.LA(p+1);if(!1===r(g,c[p]))continue e}return o}}};if(o&&!n){var a=(0,s.Tj)(e,(function(e){return(0,s.Bq)(e)})),l=(0,s.TS)(a,(function(e,t,r){return(0,s.jJ)(t,(function(t){(0,s.zy)(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=r),(0,s.jJ)(t.categoryMatches,(function(t){(0,s.zy)(e,t)||(e[t]=r)}))})),e}),[]);return function(){var e=this.LA(1);return l[e.tokenTypeIdx]}}return function(){for(var t=0;t<i;t++){var n=e[t],s=n.length;e:for(var o=0;o<s;o++){for(var a=n[o],l=a.length,h=0;h<l;h++){var u=this.LA(h+1);if(!1===r(u,a[h]))continue e}return t}}}}(e,t,r,n)},e.prototype.getKeyForAutomaticLookahead=function(e,t){return Ke(this.getLastExplicitRuleShortName(),e,t)},e.prototype.getLaFuncFromCache=function(e){},e.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},e.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},e.prototype.setLaFuncCache=function(e,t){},e.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},e.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},e}();var sr,ir=/^\s*function\s*(\S*)\s*\(/,or="name";function ar(e){var t=e.name;return t||e.toString().match(ir)[1]}function lr(e,t){var r=Object.getOwnPropertyDescriptor(e,or);return!(!(0,s.b0)(r)&&!r.configurable)&&(Object.defineProperty(e,or,{enumerable:!1,configurable:!0,writable:!1,value:t}),!0)}function hr(e,t){for(var r=(0,s.HP)(e),n=r.length,i=0;i<n;i++)for(var o=e[r[i]],a=o.length,l=0;l<a;l++){var h=o[l];void 0===h.tokenTypeIdx&&(void 0!==h.fullName?this[h.fullName](h.children,t):this[h.name](h.children,t))}}function ur(e,t){var r=function(){};lr(r,e+"BaseSemantics");var n={visit:function(e,t){if((0,s.cy)(e)&&(e=e[0]),!(0,s.b0)(e))return void 0!==e.fullName?this[e.fullName](e.children,t):this[e.name](e.children,t)},validateVisitor:function(){var e=function(e,t){var r=function(e,t){var r=(0,s.Tj)(t,(function(t){if(!(0,s.Tn)(e[t]))return{msg:"Missing visitor method: <"+t+"> on "+ar(e.constructor)+" CST Visitor.",type:sr.MISSING_METHOD,methodName:t}}));return(0,s.oE)(r)}(e,t),n=function(e,t){var r=[];for(var n in e)bt.test(n)&&(0,s.Tn)(e[n])&&!(0,s.gR)(cr,n)&&!(0,s.gR)(t,n)&&r.push({msg:"Redundant visitor method: <"+n+"> on "+ar(e.constructor)+" CST Visitor\nThere is no Grammar Rule corresponding to this method's name.\nFor utility methods on visitor classes use methods names that do not match /"+bt.source+"/.",type:sr.REDUNDANT_METHOD,methodName:n});return r}(e,t);return r.concat(n)}(this,t);if(!(0,s.Im)(e)){var r=(0,s.Tj)(e,(function(e){return e.msg}));throw Error("Errors Detected in CST Visitor <"+ar(this.constructor)+">:\n\t"+r.join("\n\n").replace(/\n/g,"\n\t"))}}};return(r.prototype=n).constructor=r,r._RULE_NAMES=t,r}!function(e){e[e.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",e[e.MISSING_METHOD=1]="MISSING_METHOD"}(sr||(sr={}));var cr=["constructor","visit","validateVisitor"];var dr=function(){function e(){}return e.prototype.initTreeBuilder=function(e){if(this.LAST_EXPLICIT_RULE_STACK=[],this.CST_STACK=[],this.outputCst=(0,s.zy)(e,"outputCst")?e.outputCst:Pr.outputCst,this.nodeLocationTracking=(0,s.zy)(e,"nodeLocationTracking")?e.nodeLocationTracking:Pr.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Ze,this.setNodeLocationFromNode=Ze,this.cstPostRule=s.tE,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=s.tE,this.setNodeLocationFromNode=s.tE,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Qe,this.setNodeLocationFromNode=Qe,this.cstPostRule=s.tE,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=s.tE,this.setNodeLocationFromNode=s.tE,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else{if(!/none/i.test(this.nodeLocationTracking))throw Error('Invalid <nodeLocationTracking> config option: "'+e.nodeLocationTracking+'"');this.setNodeLocationFromToken=s.tE,this.setNodeLocationFromNode=s.tE,this.cstPostRule=s.tE,this.setInitialNodeLocation=s.tE}else this.cstInvocationStateUpdate=s.tE,this.cstFinallyStateUpdate=s.tE,this.cstPostTerminal=s.tE,this.cstPostNonTerminal=s.tE,this.cstPostRule=s.tE,this.getLastExplicitRuleShortName=this.getLastExplicitRuleShortNameNoCst,this.getPreviousExplicitRuleShortName=this.getPreviousExplicitRuleShortNameNoCst,this.getLastExplicitRuleOccurrenceIndex=this.getLastExplicitRuleOccurrenceIndexNoCst,this.manyInternal=this.manyInternalNoCst,this.orInternal=this.orInternalNoCst,this.optionInternal=this.optionInternalNoCst,this.atLeastOneInternal=this.atLeastOneInternalNoCst,this.manySepFirstInternal=this.manySepFirstInternalNoCst,this.atLeastOneSepFirstInternal=this.atLeastOneSepFirstInternalNoCst},e.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},e.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},e.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},e.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},e.prototype.cstNestedInvocationStateUpdate=function(e,t){var r={name:e,fullName:this.shortRuleNameToFull[this.getLastExplicitRuleShortName()]+e,children:{}};this.setInitialNodeLocation(r),this.CST_STACK.push(r)},e.prototype.cstInvocationStateUpdate=function(e,t){this.LAST_EXPLICIT_RULE_STACK.push(this.RULE_STACK.length-1);var r={name:e,children:{}};this.setInitialNodeLocation(r),this.CST_STACK.push(r)},e.prototype.cstFinallyStateUpdate=function(){this.LAST_EXPLICIT_RULE_STACK.pop(),this.CST_STACK.pop()},e.prototype.cstNestedFinallyStateUpdate=function(){var e=this.CST_STACK.pop();this.cstPostRule(e)},e.prototype.cstPostRuleFull=function(e){var t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)},e.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?r.endOffset=t.endOffset:r.startOffset=NaN},e.prototype.cstPostTerminal=function(e,t){var r,n,s,i=this.CST_STACK[this.CST_STACK.length-1];n=t,s=e,void 0===(r=i).children[s]?r.children[s]=[n]:r.children[s].push(n),this.setNodeLocationFromToken(i.location,t)},e.prototype.cstPostNonTerminal=function(e,t){if(!0!==this.isBackTracking()){var r=this.CST_STACK[this.CST_STACK.length-1];Je(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}},e.prototype.getBaseCstVisitorConstructor=function(){if((0,s.b0)(this.baseCstVisitorConstructor)){var e=ur(this.className,this.allRuleNames);return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},e.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,s.b0)(this.baseCstVisitorWithDefaultsConstructor)){var e=function(e,t,r){var n=function(){};lr(n,e+"BaseSemanticsWithDefaults");var i=Object.create(r.prototype);return(0,s.jJ)(t,(function(e){i[e]=hr})),(n.prototype=i).constructor=n,n}(this.className,this.allRuleNames,this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},e.prototype.nestedRuleBeforeClause=function(e,t){var r;return void 0!==e.NAME?(r=e.NAME,this.nestedRuleInvocationStateUpdate(r,t),r):void 0},e.prototype.nestedAltBeforeClause=function(e,t,r,n){var s,i=Xe(this.getLastExplicitRuleShortName(),r,t,n);return void 0!==e.NAME?(s=e.NAME,this.nestedRuleInvocationStateUpdate(s,i),{shortName:i,nestedName:s}):void 0},e.prototype.nestedRuleFinallyClause=function(e,t){var r=this.CST_STACK,n=r[r.length-1];this.nestedRuleFinallyStateUpdate();var s=r[r.length-1];Je(s,t,n),this.setNodeLocationFromNode(s.location,n.location)},e.prototype.getLastExplicitRuleShortName=function(){var e=this.LAST_EXPLICIT_RULE_STACK[this.LAST_EXPLICIT_RULE_STACK.length-1];return this.RULE_STACK[e]},e.prototype.getLastExplicitRuleShortNameNoCst=function(){var e=this.RULE_STACK;return e[e.length-1]},e.prototype.getPreviousExplicitRuleShortName=function(){var e=this.LAST_EXPLICIT_RULE_STACK[this.LAST_EXPLICIT_RULE_STACK.length-2];return this.RULE_STACK[e]},e.prototype.getPreviousExplicitRuleShortNameNoCst=function(){var e=this.RULE_STACK;return e[e.length-2]},e.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.LAST_EXPLICIT_RULE_STACK[this.LAST_EXPLICIT_RULE_STACK.length-1];return this.RULE_OCCURRENCE_STACK[e]},e.prototype.getLastExplicitRuleOccurrenceIndexNoCst=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},e.prototype.nestedRuleInvocationStateUpdate=function(e,t){this.RULE_OCCURRENCE_STACK.push(1),this.RULE_STACK.push(t),this.cstNestedInvocationStateUpdate(e,t)},e.prototype.nestedRuleFinallyStateUpdate=function(){this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstNestedFinallyStateUpdate()},e}(),pr=function(){function e(){}return e.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(e.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!0,configurable:!0}),e.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Ir},e.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?Ir:this.tokVector[t]},e.prototype.consumeToken=function(){this.currIdx++},e.prototype.exportLexerState=function(){return this.currIdx},e.prototype.importLexerState=function(e){this.currIdx=e},e.prototype.resetLexerState=function(){this.currIdx=-1},e.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},e.prototype.getLexerPosition=function(){return this.exportLexerState()},e}(),gr=function(){function e(){}return e.prototype.ACTION=function(e){return e.call(this)},e.prototype.consume=function(e,t,r){return this.consumeInternal(t,e,r)},e.prototype.subrule=function(e,t,r){return this.subruleInternal(t,e,r)},e.prototype.option=function(e,t){return this.optionInternal(t,e)},e.prototype.or=function(e,t){return this.orInternal(t,e)},e.prototype.many=function(e,t){return this.manyInternal(e,t)},e.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},e.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},e.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},e.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},e.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},e.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},e.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},e.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},e.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},e.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},e.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},e.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},e.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},e.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},e.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},e.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},e.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},e.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},e.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},e.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},e.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},e.prototype.OPTION=function(e){return this.optionInternal(e,0)},e.prototype.OPTION1=function(e){return this.optionInternal(e,1)},e.prototype.OPTION2=function(e){return this.optionInternal(e,2)},e.prototype.OPTION3=function(e){return this.optionInternal(e,3)},e.prototype.OPTION4=function(e){return this.optionInternal(e,4)},e.prototype.OPTION5=function(e){return this.optionInternal(e,5)},e.prototype.OPTION6=function(e){return this.optionInternal(e,6)},e.prototype.OPTION7=function(e){return this.optionInternal(e,7)},e.prototype.OPTION8=function(e){return this.optionInternal(e,8)},e.prototype.OPTION9=function(e){return this.optionInternal(e,9)},e.prototype.OR=function(e){return this.orInternal(e,0)},e.prototype.OR1=function(e){return this.orInternal(e,1)},e.prototype.OR2=function(e){return this.orInternal(e,2)},e.prototype.OR3=function(e){return this.orInternal(e,3)},e.prototype.OR4=function(e){return this.orInternal(e,4)},e.prototype.OR5=function(e){return this.orInternal(e,5)},e.prototype.OR6=function(e){return this.orInternal(e,6)},e.prototype.OR7=function(e){return this.orInternal(e,7)},e.prototype.OR8=function(e){return this.orInternal(e,8)},e.prototype.OR9=function(e){return this.orInternal(e,9)},e.prototype.MANY=function(e){this.manyInternal(0,e)},e.prototype.MANY1=function(e){this.manyInternal(1,e)},e.prototype.MANY2=function(e){this.manyInternal(2,e)},e.prototype.MANY3=function(e){this.manyInternal(3,e)},e.prototype.MANY4=function(e){this.manyInternal(4,e)},e.prototype.MANY5=function(e){this.manyInternal(5,e)},e.prototype.MANY6=function(e){this.manyInternal(6,e)},e.prototype.MANY7=function(e){this.manyInternal(7,e)},e.prototype.MANY8=function(e){this.manyInternal(8,e)},e.prototype.MANY9=function(e){this.manyInternal(9,e)},e.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},e.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},e.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},e.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},e.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},e.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},e.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},e.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},e.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},e.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},e.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},e.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},e.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},e.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},e.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},e.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},e.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},e.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},e.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},e.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},e.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},e.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},e.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},e.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},e.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},e.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},e.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},e.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},e.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},e.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},e.prototype.RULE=function(e,t,r){if(void 0===r&&(r=Lr),(0,s.gR)(this.definedRulesNames,e)){var n={message:kt.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:xr.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(n)}this.definedRulesNames.push(e);var i=this.defineRule(e,t,r);return this[e]=i,i},e.prototype.OVERRIDE_RULE=function(e,t,r){void 0===r&&(r=Lr);var n,i,o,a,l,h=[];h=h.concat((n=e,i=this.definedRulesNames,o=this.className,l=[],s.gR(i,n)||(a="Invalid rule override, rule: ->"+n+"<- cannot be overridden in the grammar: ->"+o+"<-as it is not defined in any of the super grammars ",l.push({message:a,type:xr.INVALID_RULE_OVERRIDE,ruleName:n})),l)),this.definitionErrors.push.apply(this.definitionErrors,h);var u=this.defineRule(e,t,r);return this[e]=u,u},e.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var r=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if($t(e))return!1;throw e}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}},e.prototype.getGAstProductions=function(){return this.gastProductionsCache},e.prototype.getSerializedGastProductions=function(){return be((0,s.zu)(this.gastProductionsCache))},e}(),fr=function(){function e(){}return e.prototype.initRecognizerEngine=function(e,t){if(this.className=ar(this.constructor),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=W,this.definedRulesNames=[],this.tokensMap={},this.allRuleNames=[],this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,s.zy)(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n\tSee: https://sap.github.io/chevrotain/docs/changes/BREAKING_CHANGES.html#_6-0-0\n\tFor Further details.");if((0,s.cy)(e)){if((0,s.Im)(e))throw Error("A Token Vocabulary cannot be empty.\n\tNote that the first argument for the parser constructor\n\tis no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n\tSee: https://sap.github.io/chevrotain/docs/changes/BREAKING_CHANGES.html#_4-0-0\n\tFor Further details.")}if((0,s.cy)(e))this.tokensMap=(0,s.TS)(e,(function(e,t){return e[t.name]=t,e}),{});else if((0,s.zy)(e,"modes")&&(0,s.Si)((0,s.Bq)((0,s.zu)(e.modes)),X)){var r=(0,s.Bq)((0,s.zu)(e.modes)),n=(0,s.sb)(r);this.tokensMap=(0,s.TS)(n,(function(e,t){return e[t.name]=t,e}),{})}else{if(!(0,s.Gv)(e))throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap=(0,s.lR)(e)}this.tokensMap.EOF=pe;var i=(0,s.Si)((0,s.zu)(e),(function(e){return(0,s.Im)(e.categoryMatches)}));this.tokenMatcher=i?W:B,j((0,s.zu)(this.tokensMap))},e.prototype.defineRule=function(e,t,r){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+"> may not be defined after the 'performSelfAnalysis' method has been called'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.");var n,i=(0,s.zy)(r,"resyncEnabled")?r.resyncEnabled:Lr.resyncEnabled,o=(0,s.zy)(r,"recoveryValueFunc")?r.recoveryValueFunc:Lr.recoveryValueFunc,a=this.ruleShortNameIdx<<12;function l(e){try{if(!0===this.outputCst){t.apply(this,e);var r=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(r),r}return t.apply(this,e)}catch(e){return this.invokeRuleCatch(e,i,o)}finally{this.ruleFinallyStateUpdate()}}this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;return(n=function(t,r){return void 0===t&&(t=0),this.ruleInvocationStateUpdate(a,e,t),l.call(this,r)}).ruleName=e,n.originalGrammarAction=t,n},e.prototype.invokeRuleCatch=function(e,t,r){var n=1===this.RULE_STACK.length,s=t&&!this.isBackTracking()&&this.recoveryEnabled;if($t(e)){var i=e;if(s){var o,a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))return i.resyncedTokens=this.reSyncTo(a),this.outputCst?((o=this.CST_STACK[this.CST_STACK.length-1]).recoveredNode=!0,o):r();throw this.outputCst&&((o=this.CST_STACK[this.CST_STACK.length-1]).recoveredNode=!0,i.partialCstResult=o),i}if(n)return this.moveToTerminatedState(),r();throw i}throw e},e.prototype.optionInternal=function(e,t){var r=this.getKeyForAutomaticLookahead(Ye,t),n=this.nestedRuleBeforeClause(e,r);try{return this.optionInternalLogic(e,t,r)}finally{void 0!==n&&this.nestedRuleFinallyClause(r,n)}},e.prototype.optionInternalNoCst=function(e,t){var r=this.getKeyForAutomaticLookahead(Ye,t);return this.optionInternalLogic(e,t,r)},e.prototype.optionInternalLogic=function(e,t,r){var n,s,i=this,o=this.getLaFuncFromCache(r);if(void 0!==e.DEF){if(n=e.DEF,void 0!==(s=e.GATE)){var a=o;o=function(){return s.call(i)&&a.call(i)}}}else n=e;if(!0===o.call(this))return n.call(this)},e.prototype.atLeastOneInternal=function(e,t){var r=this.getKeyForAutomaticLookahead(je,e),n=this.nestedRuleBeforeClause(t,r);try{return this.atLeastOneInternalLogic(e,t,r)}finally{void 0!==n&&this.nestedRuleFinallyClause(r,n)}},e.prototype.atLeastOneInternalNoCst=function(e,t){var r=this.getKeyForAutomaticLookahead(je,e);this.atLeastOneInternalLogic(e,t,r)},e.prototype.atLeastOneInternalLogic=function(e,t,r){var n,s,i=this,o=this.getLaFuncFromCache(r);if(void 0!==t.DEF){if(n=t.DEF,void 0!==(s=t.GATE)){var a=o;o=function(){return s.call(i)&&a.call(i)}}}else n=t;if(!0!==o.call(this))throw this.raiseEarlyExitException(e,ct.REPETITION_MANDATORY,t.ERR_MSG);for(var l=this.doSingleRepetition(n);!0===o.call(this)&&!0===l;)l=this.doSingleRepetition(n);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],o,je,e,ot)},e.prototype.atLeastOneSepFirstInternal=function(e,t){var r=this.getKeyForAutomaticLookahead($e,e),n=this.nestedRuleBeforeClause(t,r);try{this.atLeastOneSepFirstInternalLogic(e,t,r)}finally{void 0!==n&&this.nestedRuleFinallyClause(r,n)}},e.prototype.atLeastOneSepFirstInternalNoCst=function(e,t){var r=this.getKeyForAutomaticLookahead($e,e);this.atLeastOneSepFirstInternalLogic(e,t,r)},e.prototype.atLeastOneSepFirstInternalLogic=function(e,t,r){var n=this,s=t.DEF,i=t.SEP;if(!0!==this.getLaFuncFromCache(r).call(this))throw this.raiseEarlyExitException(e,ct.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG);s.call(this);for(var o=function(){return n.tokenMatcher(n.LA(1),i)};!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),s.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,o,s,at],o,$e,e,at)},e.prototype.manyInternal=function(e,t){var r=this.getKeyForAutomaticLookahead(Ge,e),n=this.nestedRuleBeforeClause(t,r);try{return this.manyInternalLogic(e,t,r)}finally{void 0!==n&&this.nestedRuleFinallyClause(r,n)}},e.prototype.manyInternalNoCst=function(e,t){var r=this.getKeyForAutomaticLookahead(Ge,e);return this.manyInternalLogic(e,t,r)},e.prototype.manyInternalLogic=function(e,t,r){var n,s,i=this,o=this.getLaFuncFromCache(r);if(void 0!==t.DEF){if(n=t.DEF,void 0!==(s=t.GATE)){var a=o;o=function(){return s.call(i)&&a.call(i)}}}else n=t;for(var l=!0;!0===o.call(this)&&!0===l;)l=this.doSingleRepetition(n);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],o,Ge,e,st,l)},e.prototype.manySepFirstInternal=function(e,t){var r=this.getKeyForAutomaticLookahead(ze,e),n=this.nestedRuleBeforeClause(t,r);try{this.manySepFirstInternalLogic(e,t,r)}finally{void 0!==n&&this.nestedRuleFinallyClause(r,n)}},e.prototype.manySepFirstInternalNoCst=function(e,t){var r=this.getKeyForAutomaticLookahead(ze,e);this.manySepFirstInternalLogic(e,t,r)},e.prototype.manySepFirstInternalLogic=function(e,t,r){var n=this,s=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){s.call(this);for(var o=function(){return n.tokenMatcher(n.LA(1),i)};!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),s.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,o,s,it],o,ze,e,it)}},e.prototype.repetitionSepSecondInternal=function(e,t,r,n,s){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,s],r,$e,e,s)},e.prototype.doSingleRepetition=function(e){var t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t},e.prototype.orInternalNoCst=function(e,t){var r=(0,s.cy)(e)?e:e.DEF,n=this.getKeyForAutomaticLookahead(We,t),i=this.getLaFuncFromCache(n).call(this,r);if(void 0!==i)return r[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)},e.prototype.orInternal=function(e,t){var r=this.getKeyForAutomaticLookahead(We,t),n=this.nestedRuleBeforeClause(e,r);try{var i=(0,s.cy)(e)?e:e.DEF,o=this.getLaFuncFromCache(r).call(this,i);if(void 0!==o){var a=i[o],l=this.nestedAltBeforeClause(a,t,We,o);try{return a.ALT.call(this)}finally{void 0!==l&&this.nestedRuleFinallyClause(l.shortName,l.nestedName)}}this.raiseNoAltException(t,e.ERR_MSG)}finally{void 0!==n&&this.nestedRuleFinallyClause(r,n)}},e.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new qt(t,e))}},e.prototype.subruleInternal=function(e,t,r){var n;try{var s=void 0!==r?r.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,void 0!==r&&void 0!==r.LABEL?r.LABEL:e.ruleName),n}catch(t){this.subruleInternalError(t,r,e.ruleName)}},e.prototype.subruleInternalError=function(e,t,r){throw $t(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:r),delete e.partialCstResult),e},e.prototype.consumeInternal=function(e,t,r){var n;try{var s=this.LA(1);!0===this.tokenMatcher(s,e)?(this.consumeToken(),n=s):this.consumeInternalError(e,s,r)}catch(r){n=this.consumeInternalRecovery(e,t,r)}return this.cstPostTerminal(void 0!==r&&void 0!==r.LABEL?r.LABEL:e.name,n),n},e.prototype.consumeInternalError=function(e,t,r){var n,s=this.LA(0);throw n=void 0!==r&&r.ERR_MSG?r.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Kt(n,t,s))},e.prototype.consumeInternalRecovery=function(e,t,r){if(!this.recoveryEnabled||"MismatchedTokenException"!==r.name||this.isBackTracking())throw r;var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(e){throw e.name===Jt?r:e}},e.prototype.saveRecogState=function(){var e=this.errors,t=(0,s.T9)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK,LAST_EXPLICIT_RULE_STACK:this.LAST_EXPLICIT_RULE_STACK}},e.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},e.prototype.ruleInvocationStateUpdate=function(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},e.prototype.isBackTracking=function(){return 0!==this.isBackTrackingStack.length},e.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},e.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},e.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),pe)},e.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.LAST_EXPLICIT_RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},e}(),mr=function(){function e(){}return e.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,s.NT)(e.errorMessageProvider,Pr.errorMessageProvider)},e.prototype.SAVE_ERROR=function(e){if($t(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,s.T9)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(e.prototype,"errors",{get:function(){return(0,s.T9)(this._errors)},set:function(e){this._errors=e},enumerable:!0,configurable:!0}),e.prototype.raiseEarlyExitException=function(e,t,r){for(var n=this.getCurrRuleFullName(),s=Ct(e,this.getGAstProductions()[n],t,this.maxLookahead)[0],i=[],o=1;o<=this.maxLookahead;o++)i.push(this.LA(o));var a=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:s,actual:i,previous:this.LA(0),customUserDescription:r,ruleName:n});throw this.SAVE_ERROR(new Qt(a,this.LA(1),this.LA(0)))},e.prototype.raiseNoAltException=function(e,t){for(var r=this.getCurrRuleFullName(),n=wt(e,this.getGAstProductions()[r],this.maxLookahead),s=[],i=1;i<=this.maxLookahead;i++)s.push(this.LA(i));var o=this.LA(0),a=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:n,actual:s,previous:o,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new Xt(a,this.LA(1),o))},e}(),yr=function(){function e(){}return e.prototype.initContentAssist=function(){},e.prototype.computeContentAssist=function(e,t){var r=this.gastProductionsCache[e];if((0,s.b0)(r))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return ht([r],t,this.tokenMatcher,this.maxLookahead)},e.prototype.getNextPossibleTokenTypes=function(e){var t=(0,s.$1)(e.ruleStack),r=this.getGAstProductions()[t];return new rt(r,e).startWalking()},e}(),Er={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Er);var wr=!0,Cr=Math.pow(2,8)-1,vr=de({name:"RECORDING_PHASE_TOKEN",pattern:J.NA});j([vr]);var Rr=ge(vr,"This IToken indicates the Parser is in Recording Phase\n\tSee: https://sap.github.io/chevrotain/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(Rr);var Sr={name:"This CSTNode indicates the Parser is in Recording Phase\n\tSee: https://sap.github.io/chevrotain/docs/guide/internals.html#grammar-recording for details",children:{}},Tr=function(){function e(){}return e.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},e.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",(function(){for(var t=function(t){var r=t>0?t:"";e["CONSUME"+r]=function(e,r){return this.consumeInternalRecord(e,t,r)},e["SUBRULE"+r]=function(e,r){return this.subruleInternalRecord(e,t,r)},e["OPTION"+r]=function(e){return this.optionInternalRecord(e,t)},e["OR"+r]=function(e){return this.orInternalRecord(e,t)},e["MANY"+r]=function(e){this.manyInternalRecord(t,e)},e["MANY_SEP"+r]=function(e){this.manySepFirstInternalRecord(t,e)},e["AT_LEAST_ONE"+r]=function(e){this.atLeastOneInternalRecord(t,e)},e["AT_LEAST_ONE_SEP"+r]=function(e){this.atLeastOneSepFirstInternalRecord(t,e)}},r=0;r<10;r++)t(r);e.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},e.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},e.option=function(e,t){return this.optionInternalRecord(t,e)},e.or=function(e,t){return this.orInternalRecord(t,e)},e.many=function(e,t){this.manyInternalRecord(e,t)},e.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD}))},e.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",(function(){for(var t=0;t<10;t++){var r=t>0?t:"";delete e["CONSUME"+r],delete e["SUBRULE"+r],delete e["OPTION"+r],delete e["OR"+r],delete e["MANY"+r],delete e["MANY_SEP"+r],delete e["AT_LEAST_ONE"+r],delete e["AT_LEAST_ONE_SEP"+r]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA}))},e.prototype.ACTION_RECORD=function(e){},e.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},e.prototype.LA_RECORD=function(e){return Ir},e.prototype.topLevelRuleRecord=function(e,t){try{var r=new we({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+'\n\t This error was thrown during the "grammar recording phase" For more info see:\n\thttps://sap.github.io/chevrotain/docs/guide/internals.html#grammar-recording'}catch(t){throw e}throw e}},e.prototype.optionInternalRecord=function(e,t){return Nr.call(this,ve,e,t)},e.prototype.atLeastOneInternalRecord=function(e,t){Nr.call(this,Re,t,e)},e.prototype.atLeastOneSepFirstInternalRecord=function(e,t){Nr.call(this,Se,t,e,wr)},e.prototype.manyInternalRecord=function(e,t){Nr.call(this,Te,t,e)},e.prototype.manySepFirstInternalRecord=function(e,t){Nr.call(this,Ne,t,e,wr)},e.prototype.orInternalRecord=function(e,t){return Mr.call(this,e,t)},e.prototype.subruleInternalRecord=function(e,t,r){if(br(t),!e||!1===(0,s.zy)(e,"ruleName")){var n=new Error("<SUBRULE"+_r(t)+"> argument is invalid expecting a Parser method reference but got: <"+JSON.stringify(e)+">\n inside top level rule: <"+this.recordingProdStack[0].name+">");throw n.KNOWN_RECORDER_ERROR=!0,n}var i=(0,s.se)(this.recordingProdStack),o=e.ruleName,a=new Ee({idx:t,nonTerminalName:o,referencedRule:void 0});return i.definition.push(a),this.outputCst?Sr:Er},e.prototype.consumeInternalRecord=function(e,t,r){if(br(t),!$(e)){var n=new Error("<CONSUME"+_r(t)+"> argument is invalid expecting a TokenType reference but got: <"+JSON.stringify(e)+">\n inside top level rule: <"+this.recordingProdStack[0].name+">");throw n.KNOWN_RECORDER_ERROR=!0,n}var i=(0,s.se)(this.recordingProdStack),o=new _e({idx:t,terminalType:e});return i.definition.push(o),Rr},e}();function Nr(e,t,r,n){void 0===n&&(n=!1),br(r);var i=(0,s.se)(this.recordingProdStack),o=(0,s.Tn)(t)?t:t.DEF,a=new e({definition:[],idx:r});return(0,s.zy)(t,"NAME")&&(a.name=t.NAME),n&&(a.separator=t.SEP),(0,s.zy)(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(a),o.call(this),i.definition.push(a),this.recordingProdStack.pop(),Er}function Mr(e,t){var r=this;br(t);var n=(0,s.se)(this.recordingProdStack),i=!1===(0,s.cy)(e),o=!1===i?e:e.DEF,a=new Me({definition:[],idx:t,ignoreAmbiguities:i&&!0===e.IGNORE_AMBIGUITIES});(0,s.zy)(e,"NAME")&&(a.name=e.NAME),(0,s.zy)(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD);var l=(0,s.zN)(o,(function(e){return(0,s.Tn)(e.GATE)}));return a.hasPredicates=l,n.definition.push(a),(0,s.jJ)(o,(function(e){var t=new Ce({definition:[]});a.definition.push(t),(0,s.zy)(e,"NAME")&&(t.name=e.NAME),(0,s.zy)(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:(0,s.zy)(e,"GATE")&&(t.ignoreAmbiguities=!0),r.recordingProdStack.push(t),e.ALT.call(r),r.recordingProdStack.pop()})),Er}function _r(e){return 0===e?"":""+e}function br(e){if(e<0||e>Cr){var t=new Error("Invalid DSL Method idx value: <"+e+">\n\tIdx value must be a none negative value smaller than "+(Cr+1));throw t.KNOWN_RECORDER_ERROR=!0,t}}var Or=function(){function e(){}return e.prototype.initPerformanceTracer=function(e){if((0,s.zy)(e,"traceInitPerf")){var t=e.traceInitPerf,r="number"==typeof t;this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Pr.traceInitPerf;this.traceInitIndent=-1},e.prototype.TRACE_INIT=function(e,t){if(!0===this.traceInitPerf){this.traceInitIndent++;var r=new Array(this.traceInitIndent+1).join("\t");this.traceInitIndent<this.traceInitMaxIdent&&console.log(r+"--\x3e <"+e+">");var n=(0,s.O1)(t),i=n.time,o=n.value,a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(r+"<-- <"+e+"> time: "+i+"ms"),this.traceInitIndent--,o}return t()},e}(),Ar=function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},e(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Ir=ge(pe,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Ir);var xr,Pr=Object.freeze({recoveryEnabled:!1,maxLookahead:4,ignoredIssues:{},dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Lt,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Lr=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});function Dr(e){return void 0===e&&(e=void 0),function(){return e}}!function(e){e[e.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",e[e.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",e[e.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",e[e.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",e[e.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",e[e.LEFT_RECURSION=5]="LEFT_RECURSION",e[e.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",e[e.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",e[e.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",e[e.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",e[e.INVALID_NESTED_RULE_NAME=10]="INVALID_NESTED_RULE_NAME",e[e.DUPLICATE_NESTED_NAME=11]="DUPLICATE_NESTED_NAME",e[e.NO_NON_EMPTY_LOOKAHEAD=12]="NO_NON_EMPTY_LOOKAHEAD",e[e.AMBIGUOUS_PREFIX_ALTS=13]="AMBIGUOUS_PREFIX_ALTS",e[e.TOO_MANY_ALTS=14]="TOO_MANY_ALTS"}(xr||(xr={}));var kr=function(){function e(e,t){void 0===t&&(t=Pr),this.ignoredIssues=Pr.ignoredIssues,this.definitionErrors=[],this.selfAnalysisDone=!1;var r=this;r.initErrorHandler(t),r.initLexerAdapter(),r.initLooksAhead(t),r.initRecognizerEngine(e,t),r.initRecoverable(t),r.initTreeBuilder(t),r.initContentAssist(),r.initGastRecorder(t),r.initPerformanceTracer(t),(0,s.zy)(t,"ignoredIssues")&&t.ignoredIssues!==Pr.ignoredIssues&&(0,s.x5)("The <ignoredIssues> IParserConfig property is soft-deprecated and will be removed in future versions.\n\tPlease use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead."),this.ignoredIssues=(0,s.zy)(t,"ignoredIssues")?t.ignoredIssues:Pr.ignoredIssues,this.skipValidations=(0,s.zy)(t,"skipValidations")?t.skipValidations:Pr.skipValidations}return e.performSelfAnalysis=function(e){e.performSelfAnalysis()},e.prototype.performSelfAnalysis=function(){var t=this;this.TRACE_INIT("performSelfAnalysis",(function(){var r;t.selfAnalysisDone=!0;var n=t.className;t.TRACE_INIT("toFastProps",(function(){(0,s.Bl)(t)})),t.TRACE_INIT("Grammar Recording",(function(){try{t.enableRecording(),(0,s.jJ)(t.definedRulesNames,(function(e){var r=t[e].originalGrammarAction,n=void 0;t.TRACE_INIT(e+" Rule",(function(){n=t.topLevelRuleRecord(e,r)})),t.gastProductionsCache[e]=n}))}finally{t.disableRecording()}}));var i=[];if(t.TRACE_INIT("Grammar Resolving",(function(){i=Ut({rules:(0,s.zu)(t.gastProductionsCache)}),t.definitionErrors.push.apply(t.definitionErrors,i)})),t.TRACE_INIT("Grammar Validations",(function(){if((0,s.Im)(i)&&!1===t.skipValidations){var e=Vt({rules:(0,s.zu)(t.gastProductionsCache),maxLookahead:t.maxLookahead,tokenTypes:(0,s.zu)(t.tokensMap),ignoredIssues:t.ignoredIssues,errMsgProvider:kt,grammarName:n});t.definitionErrors.push.apply(t.definitionErrors,e)}})),(0,s.Im)(t.definitionErrors)&&(t.recoveryEnabled&&t.TRACE_INIT("computeAllProdsFollows",(function(){var e,r,n=(e=(0,s.zu)(t.gastProductionsCache),r={},(0,s.jJ)(e,(function(e){var t=new Be(e).startWalking();(0,s.kp)(r,t)})),r);t.resyncFollows=n})),t.TRACE_INIT("ComputeLookaheadFunctions",(function(){t.preComputeLookaheadFunctions((0,s.zu)(t.gastProductionsCache))}))),t.TRACE_INIT("expandAllNestedRuleNames",(function(){var e,r,n,i=(e=(0,s.zu)(t.gastProductionsCache),r=t.fullRuleNameToShort,n={allRuleNames:[]},(0,s.jJ)(e,(function(e){var t=r[e.name];n.allRuleNames.push(e.name);var i=new et(t);e.accept(i),(0,s.jJ)(i.result,(function(t){t.def,t.key;var r=t.name;n.allRuleNames.push(e.name+r)}))})),n);t.allRuleNames=i.allRuleNames})),!e.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,s.Im)(t.definitionErrors))throw r=(0,s.Tj)(t.definitionErrors,(function(e){return e.message})),new Error("Parser Definition Errors detected:\n "+r.join("\n-------------------------------\n"))}))},e.DEFER_DEFINITION_ERRORS_HANDLING=!1,e}();(0,s.XJ)(kr,[tr,nr,dr,pr,fr,gr,mr,yr,Tr,Or]);var Hr=function(e){function t(t,r){void 0===r&&(r=Pr);var n=(0,s.lR)(r);return n.outputCst=!0,e.call(this,t,n)||this}return Ar(t,e),t}(kr),Fr=function(e){function t(t,r){void 0===r&&(r=Pr);var n=(0,s.lR)(r);return n.outputCst=!1,e.call(this,t,n)||this}return Ar(t,e),t}(kr);function Ur(e,t){var r=void 0===t?{}:t,s=r.resourceBase,i=void 0===s?"https://unpkg.com/chevrotain@"+n+"/diagrams/":s,o=r.css;return'\n\x3c!-- This is a generated file --\x3e\n<!DOCTYPE html>\n<meta charset="utf-8">\n<style>\n  body {\n    background-color: hsl(30, 20%, 95%)\n  }\n</style>\n\n'+("\n<link rel='stylesheet' href='"+(void 0===o?"https://unpkg.com/chevrotain@"+n+"/diagrams/diagrams.css":o)+"'>\n")+("\n<script src='"+i+"vendor/railroad-diagrams.js'><\/script>\n<script src='"+i+"src/diagrams_builder.js'><\/script>\n<script src='"+i+"src/diagrams_behavior.js'><\/script>\n<script src='"+i+"src/main.js'><\/script>\n")+'\n<div id="diagrams" align="center"></div>    \n'+("\n<script>\n    window.serializedGrammar = "+JSON.stringify(e,null,"  ")+";\n<\/script>\n")+'\n<script>\n    var diagramsDiv = document.getElementById("diagrams");\n    main.drawDiagramsFromSerializedGrammar(serializedGrammar, diagramsDiv);\n<\/script>\n'}var Vr="\n";function Br(e){var t;return"\nfunction "+e.name+"(tokenVocabulary, config) {\n    // invoke super constructor\n    // No support for embedded actions currently, so we can 'hardcode'\n    // The use of CstParser.\n    chevrotain.CstParser.call(this, tokenVocabulary, config)\n\n    const $ = this\n\n    "+(t=e.rules,(0,s.Tj)(t,(function(e){return function(e,t){var r=$r(t,'$.RULE("'+e.name+'", function() {')+Vr;return r+=zr(e.definition,t+1),r+=$r(t+1,"})")+Vr}(e,1)})).join("\n")+"\n\n    // very important to call this after all the rules have been defined.\n    // otherwise the parser may not work correctly as it will lack information\n    // derived during the self analysis phase.\n    this.performSelfAnalysis(this)\n}\n\n// inheritance as implemented in javascript in the previous decade... :(\n")+e.name+".prototype = Object.create(chevrotain.CstParser.prototype)\n"+e.name+".prototype.constructor = "+e.name+"    \n    "}function Wr(e,t){var r=$r(t,"$.OR"+e.idx+"([")+Vr,n=(0,s.Tj)(e.definition,(function(e){return function(e,t){var r=$r(t,"{")+Vr;e.name&&(r+=$r(t+1,'NAME: "'+e.name+'",')+Vr);return r+=$r(t+1,"ALT: function() {")+Vr,r+=zr(e.definition,t+1),r+=$r(t+1,"}")+Vr,r+=$r(t,"}"),r}(e,t+1)}));return r+=n.join(","+Vr),r+=Vr+$r(t,"])"+Vr)}function Yr(e,t){if(e instanceof Ee)return function(e,t){return $r(t,"$.SUBRULE"+e.idx+"($."+e.nonTerminalName+")"+Vr)}(e,t);if(e instanceof ve)return Gr("OPTION",e,t);if(e instanceof Re)return Gr("AT_LEAST_ONE",e,t);if(e instanceof Se)return Gr("AT_LEAST_ONE_SEP",e,t);if(e instanceof Ne)return Gr("MANY_SEP",e,t);if(e instanceof Te)return Gr("MANY",e,t);if(e instanceof Me)return Wr(e,t);if(e instanceof _e)return function(e,t){var r=e.terminalType.name;return $r(t,"$.CONSUME"+e.idx+"(this.tokensMap."+r+")"+Vr)}(e,t);if(e instanceof Ce)return zr(e.definition,t);throw Error("non exhaustive match")}function Gr(e,t,r){var n=$r(r,"$."+(e+t.idx)+"(");return t.name||t.separator?(n+="{"+Vr,t.name&&(n+=$r(r+1,'NAME: "'+t.name+'"')+","+Vr),t.separator&&(n+=$r(r+1,"SEP: this.tokensMap."+t.separator.name)+","+Vr),n+="DEF: "+jr(t.definition,r+2)+Vr,n+=$r(r,"}")+Vr):n+=jr(t.definition,r+1),n+=$r(r,")")+Vr}function jr(e,t){var r="function() {"+Vr;return r+=zr(e,t),r+=$r(t,"}")+Vr}function zr(e,t){var r="";return(0,s.jJ)(e,(function(e){r+=Yr(e,t+1)})),r}function $r(e,t){return Array(4*e+1).join(" ")+t}function Kr(e){var t=function(e){return"    \n"+Br(e)+"\nreturn new "+e.name+"(tokenVocabulary, config)    \n"}({name:e.name,rules:e.rules}),n=new Function("tokenVocabulary","config","chevrotain",t);return function(t){return n(e.tokenVocabulary,t,r(83012))}}function Xr(e){return function(e){return"\n(function (root, factory) {\n    if (typeof define === 'function' && define.amd) {\n        // AMD. Register as an anonymous module.\n        define(['chevrotain'], factory);\n    } else if (typeof module === 'object' && module.exports) {\n        // Node. Does not work with strict CommonJS, but\n        // only CommonJS-like environments that support module.exports,\n        // like Node.\n        module.exports = factory(require('chevrotain'));\n    } else {\n        // Browser globals (root is window)\n        root.returnExports = factory(root.b);\n    }\n}(typeof self !== 'undefined' ? self : this, function (chevrotain) {\n\n"+Br(e)+"\n    \nreturn {\n    "+e.name+": "+e.name+" \n}\n}));\n"}({name:e.name,rules:e.rules})}function qr(){console.warn("The clearCache function was 'soft' removed from the Chevrotain API.\n\t It performs no action other than printing this message.\n\t Please avoid using it as it will be completely removed in the future")}},86596:(e,t,r)=>{"use strict";function n(e){return e&&0===e.length}function s(e){return null==e?[]:Object.keys(e)}function i(e){for(var t=[],r=Object.keys(e),n=0;n<r.length;n++)t.push(e[r[n]]);return t}function o(e,t){for(var r=[],n=s(e),i=0;i<n.length;i++){var o=n[i];r.push(t.call(null,e[o],o))}return r}function a(e,t){for(var r=[],n=0;n<e.length;n++)r.push(t.call(null,e[n],n));return r}function l(e){for(var t=[],r=0;r<e.length;r++){var n=e[r];Array.isArray(n)?t=t.concat(l(n)):t.push(n)}return t}function h(e){return n(e)?void 0:e[0]}function u(e){var t=e&&e.length;return t?e[t-1]:void 0}function c(e,t){if(Array.isArray(e))for(var r=0;r<e.length;r++)t.call(null,e[r],r);else{if(!x(e))throw Error("non exhaustive match");var n=s(e);for(r=0;r<n.length;r++){var i=n[r],o=e[i];t.call(null,o,i)}}}function d(e){return"string"==typeof e}function p(e){return void 0===e}function g(e){return e instanceof Function}function f(e,t){return void 0===t&&(t=1),e.slice(t,e.length)}function m(e,t){return void 0===t&&(t=1),e.slice(0,e.length-t)}function y(e,t){var r=[];if(Array.isArray(e))for(var n=0;n<e.length;n++){var s=e[n];t.call(null,s)&&r.push(s)}return r}function E(e,t){return y(e,(function(e){return!t(e)}))}function w(e,t){for(var r=Object.keys(e),n={},s=0;s<r.length;s++){var i=r[s],o=e[i];t(o)&&(n[i]=o)}return n}function C(e,t){return!!x(e)&&e.hasOwnProperty(t)}function v(e,t){return void 0!==T(e,(function(e){return e===t}))}function R(e){for(var t=[],r=0;r<e.length;r++)t.push(e[r]);return t}function S(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}function T(e,t){for(var r=0;r<e.length;r++){var n=e[r];if(t.call(null,n))return n}}function N(e,t){for(var r=[],n=0;n<e.length;n++){var s=e[n];t.call(null,s)&&r.push(s)}return r}function M(e,t,r){for(var n=Array.isArray(e),o=n?e:i(e),a=n?[]:s(e),l=r,h=0;h<o.length;h++)l=t.call(null,l,o[h],n?h:a[h]);return l}function _(e){return E(e,(function(e){return null==e}))}function b(e,t){void 0===t&&(t=function(e){return e});var r=[];return M(e,(function(e,n){var s=t(n);return v(r,s)?e:(r.push(s),e.concat(n))}),[])}function O(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var n=[null].concat(t);return Function.bind.apply(e,n)}function A(e){return Array.isArray(e)}function I(e){return e instanceof RegExp}function x(e){return e instanceof Object}function P(e,t){for(var r=0;r<e.length;r++)if(!t(e[r],r))return!1;return!0}function L(e,t){return E(e,(function(e){return v(t,e)}))}function D(e,t){for(var r=0;r<e.length;r++)if(t(e[r]))return!0;return!1}function k(e,t){for(var r=0;r<e.length;r++)if(e[r]===t)return r;return-1}function H(e,t){var r=R(e);return r.sort((function(e,r){return t(e)-t(r)})),r}function F(e,t){if(e.length!==t.length)throw Error("can't zipObject with different number of keys and values!");for(var r={},n=0;n<e.length;n++)r[e[n]]=t[n];return r}function U(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];for(var n=0;n<t.length;n++)for(var i=t[n],o=s(i),a=0;a<o.length;a++){var l=o[a];e[l]=i[l]}return e}function V(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];for(var n=0;n<t.length;n++){var i=t[n];if(!p(i))for(var o=s(i),a=0;a<o.length;a++){var l=o[a];C(e,l)||(e[l]=i[l])}}return e}function B(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return V.apply(null,[{}].concat(e))}function W(e,t){var r={};return c(e,(function(e){var n=t(e),s=r[n];s?s.push(e):r[n]=[e]})),r}function Y(e,t){for(var r=S(e),n=s(t),i=0;i<n.length;i++){var o=n[i],a=t[o];r[o]=a}return r}function G(){}function j(e){return e}function z(e){for(var t=[],r=0;r<e.length;r++){var n=e[r];t.push(void 0!==n?n:void 0)}return t}function $(e){console&&console.error&&console.error("Error: "+e)}function K(e){console&&console.warn&&console.warn("Warning: "+e)}function X(){return"function"==typeof Map}function q(e,t){t.forEach((function(t){var r=t.prototype;Object.getOwnPropertyNames(r).forEach((function(n){if("constructor"!==n){var s=Object.getOwnPropertyDescriptor(r,n);s&&(s.get||s.set)?Object.defineProperty(e.prototype,n,s):e.prototype[n]=t.prototype[n]}}))}))}function Q(e){function t(){}t.prototype=e;var r=new t;function n(){return typeof r.bar}return n(),n(),e}function Z(e){return e[e.length-1]}function J(e){var t=(new Date).getTime(),r=e();return{time:(new Date).getTime()-t,value:r}}r.d(t,{$1:()=>h,$z:()=>W,Bl:()=>Q,Bq:()=>l,Gv:()=>x,HP:()=>s,HV:()=>u,I6:()=>T,Im:()=>n,JW:()=>N,Kg:()=>d,LG:()=>o,NT:()=>B,O1:()=>J,Si:()=>P,T9:()=>R,TS:()=>M,Tj:()=>a,Tn:()=>g,Up:()=>w,VS:()=>z,XJ:()=>q,Zi:()=>$,b0:()=>p,cy:()=>A,gR:()=>v,gc:()=>m,gd:()=>I,gv:()=>f,h1:()=>Y,iv:()=>L,jJ:()=>c,kp:()=>U,ku:()=>E,lR:()=>S,oE:()=>_,pb:()=>y,qh:()=>k,rF:()=>X,sb:()=>b,se:()=>Z,tE:()=>G,x5:()=>K,zK:()=>j,zN:()=>D,zu:()=>i,zy:()=>C})},49879:function(e,t){var r,n,s;"undefined"!=typeof self&&self,n=[],void 0===(s="function"==typeof(r=function(){function e(){}e.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},e.prototype.restoreState=function(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx},e.prototype.pattern=function(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");var t=this.disjunction();this.consumeChar("/");for(var r={type:"Flags",global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":a(r,"global");break;case"i":a(r,"ignoreCase");break;case"m":a(r,"multiLine");break;case"u":a(r,"unicode");break;case"y":a(r,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t}},e.prototype.disjunction=function(){var e=[];for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e}},e.prototype.alternative=function(){for(var e=[];this.isTerm();)e.push(this.term());return{type:"Alternative",value:e}},e.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},e.prototype.assertion=function(){switch(this.popChar()){case"^":return{type:"StartAnchor"};case"$":return{type:"EndAnchor"};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary"};case"B":return{type:"NonWordBoundary"}}throw Error("Invalid Assertion Escape");case"(":var e;switch(this.consumeChar("?"),this.popChar()){case"=":e="Lookahead";break;case"!":e="NegativeLookahead"}l(e);var t=this.disjunction();return this.consumeChar(")"),{type:e,value:t}}h()},e.prototype.quantifier=function(e){var t;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":var r=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:r,atMost:r};break;case",":t=this.isDigit()?{atLeast:r,atMost:this.integerIncludingZero()}:{atLeast:r,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;l(t)}if(!0!==e||void 0!==t)return l(t),"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t},e.prototype.atom=function(){var e;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return void 0===e&&this.isPatternCharacter()&&(e=this.patternCharacter()),l(e),this.isQuantifier()&&(e.quantifier=this.quantifier()),e},e.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[i("\n"),i("\r"),i("\u2028"),i("\u2029")]}},e.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},e.prototype.decimalEscapeAtom=function(){return{type:"GroupBackReference",value:this.positiveInteger()}},e.prototype.characterClassEscape=function(){var e,t=!1;switch(this.popChar()){case"d":e=u;break;case"D":e=u,t=!0;break;case"s":e=d;break;case"S":e=d,t=!0;break;case"w":e=c;break;case"W":e=c,t=!0}return l(e),{type:"Set",value:e,complement:t}},e.prototype.controlEscapeAtom=function(){var e;switch(this.popChar()){case"f":e=i("\f");break;case"n":e=i("\n");break;case"r":e=i("\r");break;case"t":e=i("\t");break;case"v":e=i("\v")}return l(e),{type:"Character",value:e}},e.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}},e.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:i("\0")}},e.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},e.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},e.prototype.identityEscapeAtom=function(){return{type:"Character",value:i(this.popChar())}},e.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:i(this.popChar())}}},e.prototype.characterClass=function(){var e=[],t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){var r=this.classAtom();if("Character"===r.type&&this.isRangeDash()){this.consumeChar("-");var n=this.classAtom();if("Character"===n.type){if(n.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:n.value})}else o(r.value,e),e.push(i("-")),o(n.value,e)}else o(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}},e.prototype.classAtom=function(){switch(this.peekChar()){case"]":case"\n":case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}},e.prototype.classEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:i("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},e.prototype.group=function(){var e=!0;this.consumeChar("("),"?"===this.peekChar(0)?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;var t=this.disjunction();this.consumeChar(")");var r={type:"Group",capturing:e,value:t};return e&&(r.idx=this.groupIdx),r},e.prototype.positiveInteger=function(){var e=this.popChar();if(!1===s.test(e))throw Error("Expecting a positive integer");for(;n.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)},e.prototype.integerIncludingZero=function(){var e=this.popChar();if(!1===n.test(e))throw Error("Expecting an integer");for(;n.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)},e.prototype.patternCharacter=function(){var e=this.popChar();switch(e){case"\n":case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:i(e)}}},e.prototype.isRegExpFlag=function(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}},e.prototype.isRangeDash=function(){return"-"===this.peekChar()&&this.isClassAtom(1)},e.prototype.isDigit=function(){return n.test(this.peekChar(0))},e.prototype.isClassAtom=function(e){switch(void 0===e&&(e=0),this.peekChar(e)){case"]":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}},e.prototype.isTerm=function(){return this.isAtom()||this.isAssertion()},e.prototype.isAtom=function(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}},e.prototype.isAssertion=function(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2));default:return!1}},e.prototype.isQuantifier=function(){var e=this.saveState();try{return void 0!==this.quantifier(!0)}catch(e){return!1}finally{this.restoreState(e)}},e.prototype.isPatternCharacter=function(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}},e.prototype.parseHexDigits=function(e){for(var t="",n=0;n<e;n++){var s=this.popChar();if(!1===r.test(s))throw Error("Expecting a HexDecimal digits");t+=s}return{type:"Character",value:parseInt(t,16)}},e.prototype.peekChar=function(e){return void 0===e&&(e=0),this.input[this.idx+e]},e.prototype.popChar=function(){var e=this.peekChar(0);return this.consumeChar(),e},e.prototype.consumeChar=function(e){if(void 0!==e&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++};var t,r=/[0-9a-fA-F]/,n=/[0-9]/,s=/[1-9]/;function i(e){return e.charCodeAt(0)}function o(e,t){void 0!==e.length?e.forEach((function(e){t.push(e)})):t.push(e)}function a(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t]=!0}function l(e){if(void 0===e)throw Error("Internal Error - Should never get here!")}function h(){throw Error("Internal Error - Should never get here!")}var u=[];for(t=i("0");t<=i("9");t++)u.push(t);var c=[i("_")].concat(u);for(t=i("a");t<=i("z");t++)c.push(t);for(t=i("A");t<=i("Z");t++)c.push(t);var d=[i(" "),i("\f"),i("\n"),i("\r"),i("\t"),i("\v"),i("\t"),i(" "),i(" "),i(" "),i(" "),i(" "),i(" "),i(" "),i(" "),i(" "),i(" "),i(" "),i(" "),i(" "),i("\u2028"),i("\u2029"),i(" "),i(" "),i("　"),i("\ufeff")];function p(){}return p.prototype.visitChildren=function(e){for(var t in e){var r=e[t];e.hasOwnProperty(t)&&(void 0!==r.type?this.visit(r):Array.isArray(r)&&r.forEach((function(e){this.visit(e)}),this))}},p.prototype.visit=function(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)},p.prototype.visitPattern=function(e){},p.prototype.visitFlags=function(e){},p.prototype.visitDisjunction=function(e){},p.prototype.visitAlternative=function(e){},p.prototype.visitStartAnchor=function(e){},p.prototype.visitEndAnchor=function(e){},p.prototype.visitWordBoundary=function(e){},p.prototype.visitNonWordBoundary=function(e){},p.prototype.visitLookahead=function(e){},p.prototype.visitNegativeLookahead=function(e){},p.prototype.visitCharacter=function(e){},p.prototype.visitSet=function(e){},p.prototype.visitGroup=function(e){},p.prototype.visitGroupBackReference=function(e){},p.prototype.visitQuantifier=function(e){},{RegExpParser:e,BaseRegExpVisitor:p,VERSION:"0.4.0"}})?r.apply(t,n):r)||(e.exports=s)},23420:e=>{function t(){}t.prototype={on:function(e,t,r){var n=this.e||(this.e={});return(n[e]||(n[e]=[])).push({fn:t,ctx:r}),this},once:function(e,t,r){var n=this;function s(){n.off(e,s),t.apply(r,arguments)}return s._=t,this.on(e,s,r)},emit:function(e){for(var t=[].slice.call(arguments,1),r=((this.e||(this.e={}))[e]||[]).slice(),n=0,s=r.length;n<s;n++)r[n].fn.apply(r[n].ctx,t);return this},off:function(e,t){var r=this.e||(this.e={}),n=r[e],s=[];if(n&&t)for(var i=0,o=n.length;i<o;i++)n[i].fn!==t&&n[i].fn._!==t&&s.push(n[i]);return s.length?r[e]=s:delete r[e],this}},e.exports=t,e.exports.TinyEmitter=t},85707:(e,t,r)=>{var n=r(45498);e.exports=function(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},96784:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},11327:(e,t,r)=>{var n=r(10564).default;e.exports=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var s=r.call(e,t||"default");if("object"!=n(s))return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},45498:(e,t,r)=>{var n=r(10564).default,s=r(11327);e.exports=function(e){var t=s(e,"string");return"symbol"==n(t)?t:t+""},e.exports.__esModule=!0,e.exports.default=e.exports},10564:e=>{function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},44499:e=>{"use strict";
/*!
 * Pikaday
 *
 * Copyright © 2014 David Bushell | BSD & MIT license | https://github.com/Pikaday/Pikaday
 */const t=()=>window,r=()=>window.document,n=(e,t)=>window.setTimeout(e,t),s=function(e,t,r,n){e.addEventListener(t,r,!!n)},i=function(e,t,r,n){e.removeEventListener(t,r,!!n)},o=function(e,t){return-1!==(" "+e.className+" ").indexOf(" "+t+" ")},a=function(e,t){o(e,t)||(e.className=""===e.className?t:e.className+" "+t)},l=function(e,t){var r;e.className=(r=(" "+e.className+" ").replace(" "+t+" "," ")).trim?r.trim():r.replace(/^\s+|\s+$/g,"")},h=function(e){return/Array/.test(Object.prototype.toString.call(e))},u=function(e){return/Date/.test(Object.prototype.toString.call(e))&&!isNaN(e.getTime())},c=function(e){let t=e.getDay();return 0===t||6===t},d=function(e){return e%4==0&&e%100!=0||e%400==0},p=function(e,t){return[31,d(e)?29:28,31,30,31,30,31,31,30,31,30,31][t]},g=function(e){u(e)&&e.setHours(0,0,0,0)},f=function(e,t){return e.getTime()===t.getTime()},m=function(e,t,r){let n,s;for(n in t)s=void 0!==e[n],s&&"object"==typeof t[n]&&null!==t[n]&&void 0===t[n].nodeName?u(t[n])?r&&(e[n]=new Date(t[n].getTime())):h(t[n])?r&&(e[n]=t[n].slice(0)):e[n]=m({},t[n],r):!r&&s||(e[n]=t[n]);return e},y=function(e,t,n){let s=r().createEvent("HTMLEvents");s.initEvent(t,!0,!1),s=m(s,n),e.dispatchEvent(s)},E=function(e){return e.month<0&&(e.year-=Math.ceil(Math.abs(e.month)/12),e.month+=12),e.month>11&&(e.year+=Math.floor(Math.abs(e.month)/12),e.month-=12),e},w={field:null,bound:void 0,ariaLabel:"Use the arrow keys to pick a date",position:"bottom left",reposition:!0,format:"YYYY-MM-DD",toString:null,parse:null,defaultDate:null,setDefaultDate:!1,firstDay:0,firstWeekOfYearMinDays:4,formatStrict:!1,minDate:null,maxDate:null,yearRange:10,showWeekNumber:!1,pickWholeWeek:!1,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,yearSuffix:"",showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,enableSelectionDaysInNextAndPreviousMonths:!1,numberOfMonths:1,mainCalendar:"left",container:void 0,blurFieldOnSelect:!0,i18n:{previousMonth:"Previous Month",nextMonth:"Next Month",months:["January","February","March","April","May","June","July","August","September","October","November","December"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},theme:null,events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null,keyboardInput:!0},C=function(e,t,r){for(t+=e.firstDay;t>=7;)t-=7;return r?e.i18n.weekdaysShort[t]:e.i18n.weekdays[t]},v=function(e){let t=[],r="false";if(e.isEmpty){if(!e.showDaysInNextAndPreviousMonths)return'<td class="is-empty"></td>';t.push("is-outside-current-month"),e.enableSelectionDaysInNextAndPreviousMonths||t.push("is-selection-disabled")}return e.isDisabled&&t.push("is-disabled"),e.isToday&&t.push("is-today"),e.isSelected&&(t.push("is-selected"),r="true"),e.hasEvent&&t.push("has-event"),e.isInRange&&t.push("is-inrange"),e.isStartRange&&t.push("is-startrange"),e.isEndRange&&t.push("is-endrange"),'<td data-day="'+e.day+'" class="'+t.join(" ")+'" aria-selected="'+r+'"><button class="pika-button pika-day" type="button" data-pika-year="'+e.year+'" data-pika-month="'+e.month+'" data-pika-day="'+e.day+'">'+e.day+"</button></td>"},R=function(e,t,r,n,s){let i=new Date(n,r,t),o=e.hasMoment?e.moment(i).isoWeek():function(e,t){e.setHours(0,0,0,0);let r=e.getDate(),n=e.getDay(),s=t,i=s-1,o=function(e){return(e+7-1)%7};e.setDate(r+i-o(n));let a=new Date(e.getFullYear(),0,s),l=(e.getTime()-a.getTime())/864e5;return 1+Math.round((l-i+o(a.getDay()))/7)}(i,s);return'<td class="pika-week">'+o+"</td>"},S=function(e,t,r,n){return'<tr class="pika-row'+(r?" pick-whole-week":"")+(n?" is-selected":"")+'">'+(t?e.reverse():e).join("")+"</tr>"},T=function(e,t,r,n,s,i){let o,a,l,u,c,d=e._o,p=r===d.minYear,g=r===d.maxYear,f='<div id="'+i+'" class="pika-title" role="heading" aria-live="polite">',m=!0,y=!0;for(l=[],o=0;o<12;o++)l.push('<option value="'+(r===s?o-t:12+o-t)+'"'+(o===n?' selected="selected"':"")+(p&&o<d.minMonth||g&&o>d.maxMonth?' disabled="disabled"':"")+">"+d.i18n.months[o]+"</option>");for(u='<div class="pika-label">'+d.i18n.months[n]+'<select class="pika-select pika-select-month" tabindex="-1">'+l.join("")+"</select></div>",h(d.yearRange)?(o=d.yearRange[0],a=d.yearRange[1]+1):(o=r-d.yearRange,a=1+r+d.yearRange),l=[];o<a&&o<=d.maxYear;o++)o>=d.minYear&&l.push('<option value="'+o+'"'+(o===r?' selected="selected"':"")+">"+o+"</option>");return c='<div class="pika-label">'+r+d.yearSuffix+'<select class="pika-select pika-select-year" tabindex="-1">'+l.join("")+"</select></div>",d.showMonthAfterYear?f+=c+u:f+=u+c,p&&(0===n||d.minMonth>=n)&&(m=!1),g&&(11===n||d.maxMonth<=n)&&(y=!1),0===t&&(f+='<button class="pika-prev'+(m?"":" is-disabled")+'" type="button">'+d.i18n.previousMonth+"</button>"),t===e._o.numberOfMonths-1&&(f+='<button class="pika-next'+(y?"":" is-disabled")+'" type="button">'+d.i18n.nextMonth+"</button>"),f+"</div>"},N=function(e,t,r){return'<table cellpadding="0" cellspacing="0" class="pika-table" role="grid" aria-labelledby="'+r+'">'+function(e){let t,r=[];for(e.showWeekNumber&&r.push("<th></th>"),t=0;t<7;t++)r.push('<th scope="col"><abbr title="'+C(e,t)+'">'+C(e,t,!0)+"</abbr></th>");return"<thead><tr>"+(e.isRTL?r.reverse():r).join("")+"</tr></thead>"}(e)+("<tbody>"+t.join("")+"</tbody></table>")};function M(e){let i=this,a=i.config(e);i._onMouseDown=function(e){if(!i._v)return;let r=(e=e||t().event).target||e.srcElement;if(r)if(o(r,"is-disabled")||(!o(r,"pika-button")||o(r,"is-empty")||o(r.parentNode,"is-disabled")?o(r,"pika-prev")?i.prevMonth():o(r,"pika-next")&&i.nextMonth():(i.setDate(new Date(r.getAttribute("data-pika-year"),r.getAttribute("data-pika-month"),r.getAttribute("data-pika-day"))),a.bound&&n((function(){i.hide(),a.blurFieldOnSelect&&a.field&&a.field.blur()}),100))),o(r,"pika-select"))i._c=!0;else{if(!e.preventDefault)return e.returnValue=!1,!1;e.preventDefault()}},i._onChange=function(e){let r=(e=e||t().event).target||e.srcElement;r&&(o(r,"pika-select-month")?i.gotoMonth(r.value):o(r,"pika-select-year")&&i.gotoYear(r.value))},i._onKeyChange=function(e){if(e=e||t().event,i.isVisible())switch(e.keyCode){case 13:case 27:a.field&&a.field.blur();break;case 37:i.adjustDate("subtract",1);break;case 38:i.adjustDate("subtract",7);break;case 39:i.adjustDate("add",1);break;case 40:i.adjustDate("add",7);break;case 8:case 46:i.setDate(null)}},i._parseFieldValue=function(){if(a.parse)return a.parse(a.field.value,a.format);if(this.hasMoment){let e=this.moment(a.field.value,a.format,a.formatStrict);return e&&e.isValid()?e.toDate():null}return new Date(Date.parse(a.field.value))},i._onInputChange=function(e){let t;e.firedBy!==i&&(t=i._parseFieldValue(),u(t)&&i.setDate(t),i._v||i.show())},i._onInputFocus=function(){i.show()},i._onInputClick=function(){i.show()},i._onInputBlur=function(){let e=r().activeElement;do{if(o(e,"pika-single"))return}while(e=e.parentNode);i._c||(i._b=n((function(){i.hide()}),50)),i._c=!1},i._onClick=function(e){let r=(e=e||t().event).target||e.srcElement,n=r;if(r){!hasEventListeners&&o(r,"pika-select")&&(r.onchange||(r.setAttribute("onchange","return;"),s(r,"change",i._onChange)));do{if(o(n,"pika-single")||n===a.trigger)return}while(n=n.parentNode);i._v&&r!==a.trigger&&n!==a.trigger&&i.hide()}},i.el=r().createElement("div"),i.el.className="pika-single"+(a.isRTL?" is-rtl":"")+(a.theme?" "+a.theme:""),s(i.el,"mousedown",i._onMouseDown,!0),s(i.el,"touchend",i._onMouseDown,!0),s(i.el,"change",i._onChange),a.keyboardInput&&s(r(),"keydown",i._onKeyChange),a.field&&(a.container?a.container.appendChild(i.el):a.bound?r().body.appendChild(i.el):a.field.parentNode.insertBefore(i.el,a.field.nextSibling),s(a.field,"change",i._onInputChange),a.defaultDate||(a.defaultDate=i._parseFieldValue(),a.setDefaultDate=!0));let l=a.defaultDate;u(l)?a.setDefaultDate?i.setDate(l,!0):i.gotoDate(l):i.gotoDate(new Date),a.bound?(this.hide(),i.el.className+=" is-bound",s(a.trigger,"click",i._onInputClick),s(a.trigger,"focus",i._onInputFocus),s(a.trigger,"blur",i._onInputBlur)):this.show()}M.prototype={config:function(e){this._o||(this._o=m({},w,!0));let t=m(this._o,e,!0);t.isRTL=!!t.isRTL,t.field=t.field&&t.field.nodeName?t.field:null,t.theme="string"==typeof t.theme&&t.theme?t.theme:null,t.bound=!!(void 0!==t.bound?t.field&&t.bound:t.field),t.trigger=t.trigger&&t.trigger.nodeName?t.trigger:t.field,t.disableWeekends=!!t.disableWeekends,t.disableDayFn="function"==typeof t.disableDayFn?t.disableDayFn:null;let r=parseInt(t.numberOfMonths,10)||1;if(t.numberOfMonths=r>4?4:r,u(t.minDate)||(t.minDate=!1),u(t.maxDate)||(t.maxDate=!1),t.minDate&&t.maxDate&&t.maxDate<t.minDate&&(t.maxDate=t.minDate=!1),t.minDate&&this.setMinDate(t.minDate),t.maxDate&&this.setMaxDate(t.maxDate),h(t.yearRange)){let e=(new Date).getFullYear()-10;t.yearRange[0]=parseInt(t.yearRange[0],10)||e,t.yearRange[1]=parseInt(t.yearRange[1],10)||e}else t.yearRange=Math.abs(parseInt(t.yearRange,10))||w.yearRange,t.yearRange>100&&(t.yearRange=100);return t},toString:function(e){return e=e||this._o.format,u(this._d)?this._o.toString?this._o.toString(this._d,e):this.hasMoment?this.moment(this._d).format(e):this._d.toDateString():""},getMoment:function(){return this.hasMoment?this.moment(this._d):null},setMoment:function(e,t){this.hasMoment&&this.moment.isMoment(e)&&this.setDate(e.toDate(),t)},useMoment:function(e){this.hasMoment=!0,this.moment=e},getDate:function(){return u(this._d)?new Date(this._d.getTime()):null},setDate:function(e,t){if(!e)return this._d=null,this._o.field&&(this._o.field.value="",y(this._o.field,"change",{firedBy:this})),this.draw();if("string"==typeof e&&(e=new Date(Date.parse(e))),!u(e))return;let r=this._o.minDate,n=this._o.maxDate;u(r)&&e<r?e=r:u(n)&&e>n&&(e=n),this._d=new Date(e.getTime()),g(this._d),this.gotoDate(this._d),this._o.field&&(this._o.field.value=this.toString(),y(this._o.field,"change",{firedBy:this})),t||"function"!=typeof this._o.onSelect||this._o.onSelect.call(this,this.getDate())},clear:function(){this.setDate(null)},gotoDate:function(e){let t=!0;if(u(e)){if(this.calendars){let r=new Date(this.calendars[0].year,this.calendars[0].month,1),n=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),s=e.getTime();n.setMonth(n.getMonth()+1),n.setDate(n.getDate()-1),t=s<r.getTime()||n.getTime()<s}t&&(this.calendars=[{month:e.getMonth(),year:e.getFullYear()}],"right"===this._o.mainCalendar&&(this.calendars[0].month+=1-this._o.numberOfMonths)),this.adjustCalendars()}},adjustDate:function(e,t){let r,n=this.getDate()||new Date,s=24*parseInt(t)*60*60*1e3;"add"===e?r=new Date(n.valueOf()+s):"subtract"===e&&(r=new Date(n.valueOf()-s)),this.setDate(r)},adjustCalendars:function(){this.calendars[0]=E(this.calendars[0]);for(let e=1;e<this._o.numberOfMonths;e++)this.calendars[e]=E({month:this.calendars[0].month+e,year:this.calendars[0].year});this.draw()},gotoToday:function(){this.gotoDate(new Date)},gotoMonth:function(e){isNaN(e)||(this.calendars[0].month=parseInt(e,10),this.adjustCalendars())},nextMonth:function(){this.calendars[0].month++,this.adjustCalendars()},prevMonth:function(){this.calendars[0].month--,this.adjustCalendars()},gotoYear:function(e){isNaN(e)||(this.calendars[0].year=parseInt(e,10),this.adjustCalendars())},setMinDate:function(e){e instanceof Date?(g(e),this._o.minDate=e,this._o.minYear=e.getFullYear(),this._o.minMonth=e.getMonth()):(this._o.minDate=w.minDate,this._o.minYear=w.minYear,this._o.minMonth=w.minMonth,this._o.startRange=w.startRange),this.draw()},setMaxDate:function(e){e instanceof Date?(g(e),this._o.maxDate=e,this._o.maxYear=e.getFullYear(),this._o.maxMonth=e.getMonth()):(this._o.maxDate=w.maxDate,this._o.maxYear=w.maxYear,this._o.maxMonth=w.maxMonth,this._o.endRange=w.endRange),this.draw()},setStartRange:function(e){this._o.startRange=e},setEndRange:function(e){this._o.endRange=e},draw:function(e){if(!this._v&&!e)return;let t,r=this._o,s=r.minYear,i=r.maxYear,o=r.minMonth,a=r.maxMonth,l="";this._y<=s&&(this._y=s,!isNaN(o)&&this._m<o&&(this._m=o)),this._y>=i&&(this._y=i,!isNaN(a)&&this._m>a&&(this._m=a));for(let e=0;e<r.numberOfMonths;e++)t="pika-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2),l+='<div class="pika-lendar">'+T(this,e,this.calendars[e].year,this.calendars[e].month,this.calendars[0].year,t)+this.render(this.calendars[e].year,this.calendars[e].month,t)+"</div>";this.el.innerHTML=l,r.bound&&"hidden"!==r.field.type&&n((function(){r.trigger.focus()}),1),"function"==typeof this._o.onDraw&&this._o.onDraw(this),r.bound&&r.field.setAttribute("aria-label",r.ariaLabel)},adjustPosition:function(){let e,n,s,i,o,h,u,c,d,p,g;this._o.container||(this.el.style.position="absolute",e=this._o.trigger,n=this.el.offsetWidth,s=this.el.offsetHeight,i=t().innerWidth||r().documentElement.clientWidth,o=t().innerHeight||r().documentElement.clientHeight,h=r().body.scrollTop||r().documentElement.scrollTop,p=!0,g=!0,d=e.getBoundingClientRect(),u=d.left+t().pageXOffset,c=d.bottom+t().pageYOffset,(this._o.reposition&&u+n>i||this._o.position.indexOf("right")>-1&&u-n+e.offsetWidth>0)&&(u=u-n+e.offsetWidth,p=!1),(this._o.reposition&&c+s>o+h||this._o.position.indexOf("top")>-1&&c-s-e.offsetHeight>0)&&(c=c-s-e.offsetHeight,g=!1),u<0&&(u=0),c<0&&(c=0),this.el.style.left=u+"px",this.el.style.top=c+"px",a(this.el,p?"left-aligned":"right-aligned"),a(this.el,g?"bottom-aligned":"top-aligned"),l(this.el,p?"right-aligned":"left-aligned"),l(this.el,g?"top-aligned":"bottom-aligned"))},render:function(e,t,r){let n=this._o,s=new Date,i=p(e,t),o=new Date(e,t,1).getDay(),a=[],l=[];g(s),n.firstDay>0&&(o-=n.firstDay,o<0&&(o+=7));let h=0===t?11:t-1,d=11===t?0:t+1,m=0===t?e-1:e,y=11===t?e+1:e,E=p(m,h),w=i+o,C=w;for(;C>7;)C-=7;w+=7-C;let T=!1;for(let r=0,p=0;r<w;r++){let g=new Date(e,t,r-o+1),w=!!u(this._d)&&f(g,this._d),C=f(g,s),N=-1!==n.events.indexOf(g.toDateString()),M=r<o||r>=i+o,_=r-o+1,b=t,O=e,A=n.startRange&&f(n.startRange,g),I=n.endRange&&f(n.endRange,g),x=n.startRange&&n.endRange&&n.startRange<g&&g<n.endRange;M&&(r<o?(_=E+_,b=h,O=m):(_-=i,b=d,O=y));let P={day:_,month:b,year:O,hasEvent:N,isSelected:w,isToday:C,isDisabled:n.minDate&&g<n.minDate||n.maxDate&&g>n.maxDate||n.disableWeekends&&c(g)||n.disableDayFn&&n.disableDayFn(g),isEmpty:M,isStartRange:A,isEndRange:I,isInRange:x,showDaysInNextAndPreviousMonths:n.showDaysInNextAndPreviousMonths,enableSelectionDaysInNextAndPreviousMonths:n.enableSelectionDaysInNextAndPreviousMonths};n.pickWholeWeek&&w&&(T=!0),l.push(v(P)),7==++p&&(n.showWeekNumber&&l.unshift(R(this,r-o,t,e,n.firstWeekOfYearMinDays)),a.push(S(l,n.isRTL,n.pickWholeWeek,T)),l=[],p=0,T=!1)}return N(n,a,r)},isVisible:function(){return this._v},show:function(){this.isVisible()||(this._v=!0,this.draw(),l(this.el,"is-hidden"),this._o.bound&&(s(r(),"click",this._onClick),this.adjustPosition()),"function"==typeof this._o.onOpen&&this._o.onOpen.call(this))},hide:function(){let e=this._v;!1!==e&&(this._o.bound&&i(r(),"click",this._onClick),this._o.container||(this.el.style.position="static",this.el.style.left="auto",this.el.style.top="auto"),a(this.el,"is-hidden"),this._v=!1,void 0!==e&&"function"==typeof this._o.onClose&&this._o.onClose.call(this))},destroy:function(){let e=this._o;this.hide(),i(this.el,"mousedown",this._onMouseDown,!0),i(this.el,"touchend",this._onMouseDown,!0),i(this.el,"change",this._onChange),e.keyboardInput&&i(r(),"keydown",this._onKeyChange),e.field&&(i(e.field,"change",this._onInputChange),e.bound&&(i(e.trigger,"click",this._onInputClick),i(e.trigger,"focus",this._onInputFocus),i(e.trigger,"blur",this._onInputBlur))),this.el.parentNode&&this.el.parentNode.removeChild(this.el)}},e.exports=M},68120:(e,t,r)=>{"use strict";var n=r(1483),s=r(18761),i=TypeError;e.exports=function(e){if(n(e))return e;throw new i(s(e)+" is not a function")}},63852:(e,t,r)=>{"use strict";var n=r(40735),s=String,i=TypeError;e.exports=function(e){if(n(e))return e;throw new i("Can't set "+s(e)+" as a prototype")}},14246:(e,t,r)=>{"use strict";var n=r(36880).has;e.exports=function(e){return n(e),e}},37095:(e,t,r)=>{"use strict";var n=r(70001),s=r(25290),i=r(25835).f,o=n("unscopables"),a=Array.prototype;void 0===a[o]&&i(a,o,{configurable:!0,value:s(null)}),e.exports=function(e){a[o][e]=!0}},96021:(e,t,r)=>{"use strict";var n=r(4815),s=TypeError;e.exports=function(e,t){if(n(t,e))return e;throw new s("Incorrect invocation")}},2293:(e,t,r)=>{"use strict";var n=r(71704),s=String,i=TypeError;e.exports=function(e){if(n(e))return e;throw new i(s(e)+" is not an object")}},78592:(e,t,r)=>{"use strict";var n=r(66960);e.exports=function(e,t,r){for(var s=0,i=arguments.length>2?r:n(t),o=new e(i);i>s;)o[s]=t[s++];return o}},86651:(e,t,r)=>{"use strict";var n=r(35599),s=r(33392),i=r(66960),o=function(e){return function(t,r,o){var a=n(t),l=i(a);if(0===l)return!e&&-1;var h,u=s(o,l);if(e&&r!=r){for(;l>u;)if((h=a[u++])!=h)return!0}else for(;l>u;u++)if((e||u in a)&&a[u]===r)return e||u||0;return!e&&-1}};e.exports={includes:o(!0),indexOf:o(!1)}},39273:(e,t,r)=>{"use strict";var n=r(20382),s=r(14914),i=TypeError,o=Object.getOwnPropertyDescriptor,a=n&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=a?function(e,t){if(s(e)&&!o(e,"length").writable)throw new i("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},61698:(e,t,r)=>{"use strict";var n=r(14762);e.exports=n([].slice)},48901:(e,t,r)=>{"use strict";var n=r(2293),s=r(46721);e.exports=function(e,t,r,i){try{return i?t(n(r)[0],r[1]):t(r)}catch(t){s(e,"throw",t)}}},91278:(e,t,r)=>{"use strict";var n=r(14762),s=n({}.toString),i=n("".slice);e.exports=function(e){return i(s(e),8,-1)}},26145:(e,t,r)=>{"use strict";var n=r(34338),s=r(1483),i=r(91278),o=r(70001)("toStringTag"),a=Object,l="Arguments"===i(function(){return arguments}());e.exports=n?i:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=a(e),o))?r:l?i(t):"Object"===(n=i(t))&&s(t.callee)?"Arguments":n}},16726:(e,t,r)=>{"use strict";var n=r(55755),s=r(89497),i=r(4961),o=r(25835);e.exports=function(e,t,r){for(var a=s(t),l=o.f,h=i.f,u=0;u<a.length;u++){var c=a[u];n(e,c)||r&&n(r,c)||l(e,c,h(t,c))}}},19441:(e,t,r)=>{"use strict";var n=r(28473);e.exports=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},75247:e=>{"use strict";e.exports=function(e,t){return{value:e,done:t}}},69037:(e,t,r)=>{"use strict";var n=r(20382),s=r(25835),i=r(57738);e.exports=n?function(e,t,r){return s.f(e,t,i(1,r))}:function(e,t,r){return e[t]=r,e}},57738:e=>{"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},30670:(e,t,r)=>{"use strict";var n=r(20382),s=r(25835),i=r(57738);e.exports=function(e,t,r){n?s.f(e,t,i(0,r)):e[t]=r}},83864:(e,t,r)=>{"use strict";var n=r(90169),s=r(25835);e.exports=function(e,t,r){return r.get&&n(r.get,t,{getter:!0}),r.set&&n(r.set,t,{setter:!0}),s.f(e,t,r)}},77914:(e,t,r)=>{"use strict";var n=r(1483),s=r(25835),i=r(90169),o=r(82095);e.exports=function(e,t,r,a){a||(a={});var l=a.enumerable,h=void 0!==a.name?a.name:t;if(n(r)&&i(r,h,a),a.global)l?e[t]=r:o(t,r);else{try{a.unsafe?e[t]&&(l=!0):delete e[t]}catch(e){}l?e[t]=r:s.f(e,t,{value:r,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return e}},82313:(e,t,r)=>{"use strict";var n=r(77914);e.exports=function(e,t,r){for(var s in t)n(e,s,t[s],r);return e}},82095:(e,t,r)=>{"use strict";var n=r(85578),s=Object.defineProperty;e.exports=function(e,t){try{s(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}},16060:(e,t,r)=>{"use strict";var n=r(18761),s=TypeError;e.exports=function(e,t){if(!delete e[t])throw new s("Cannot delete property "+n(t)+" of "+n(e))}},20382:(e,t,r)=>{"use strict";var n=r(28473);e.exports=!n((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},3145:(e,t,r)=>{"use strict";var n=r(85578),s=r(71704),i=n.document,o=s(i)&&s(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},31091:e=>{"use strict";var t=TypeError;e.exports=function(e){if(e>9007199254740991)throw t("Maximum allowed index exceeded");return e}},44741:e=>{"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},91058:(e,t,r)=>{"use strict";var n=r(19461);e.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(n)},35207:(e,t,r)=>{"use strict";var n=r(63897);e.exports="NODE"===n},19461:(e,t,r)=>{"use strict";var n=r(85578).navigator,s=n&&n.userAgent;e.exports=s?String(s):""},66477:(e,t,r)=>{"use strict";var n,s,i=r(85578),o=r(19461),a=i.process,l=i.Deno,h=a&&a.versions||l&&l.version,u=h&&h.v8;u&&(s=(n=u.split("."))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!s&&o&&(!(n=o.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=o.match(/Chrome\/(\d+)/))&&(s=+n[1]),e.exports=s},63897:(e,t,r)=>{"use strict";var n=r(85578),s=r(19461),i=r(91278),o=function(e){return s.slice(0,e.length)===e};e.exports=o("Bun/")?"BUN":o("Cloudflare-Workers")?"CLOUDFLARE":o("Deno/")?"DENO":o("Node.js/")?"NODE":n.Bun&&"string"==typeof Bun.version?"BUN":n.Deno&&"object"==typeof Deno.version?"DENO":"process"===i(n.process)?"NODE":n.window&&n.document?"BROWSER":"REST"},58223:(e,t,r)=>{"use strict";var n=r(14762),s=Error,i=n("".replace),o=String(new s("zxcasd").stack),a=/\n\s*at [^:]*:[^\n]*/,l=a.test(o);e.exports=function(e,t){if(l&&"string"==typeof e&&!s.prepareStackTrace)for(;t--;)e=i(e,a,"");return e}},27473:(e,t,r)=>{"use strict";var n=r(69037),s=r(58223),i=r(58541),o=Error.captureStackTrace;e.exports=function(e,t,r,a){i&&(o?o(e,t):n(e,"stack",s(r,a)))}},58541:(e,t,r)=>{"use strict";var n=r(28473),s=r(57738);e.exports=!n((function(){var e=new Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",s(1,7)),7!==e.stack)}))},28612:(e,t,r)=>{"use strict";var n=r(85578),s=r(4961).f,i=r(69037),o=r(77914),a=r(82095),l=r(16726),h=r(98730);e.exports=function(e,t){var r,u,c,d,p,g=e.target,f=e.global,m=e.stat;if(r=f?n:m?n[g]||a(g,{}):n[g]&&n[g].prototype)for(u in t){if(d=t[u],c=e.dontCallGetSet?(p=s(r,u))&&p.value:r[u],!h(f?u:g+(m?".":"#")+u,e.forced)&&void 0!==c){if(typeof d==typeof c)continue;l(d,c)}(e.sham||c&&c.sham)&&i(d,"sham",!0),o(r,u,d,e)}}},28473:e=>{"use strict";e.exports=function(e){try{return!!e()}catch(e){return!0}}},73067:(e,t,r)=>{"use strict";var n=r(274),s=Function.prototype,i=s.apply,o=s.call;e.exports="object"==typeof Reflect&&Reflect.apply||(n?o.bind(i):function(){return o.apply(i,arguments)})},32914:(e,t,r)=>{"use strict";var n=r(23786),s=r(68120),i=r(274),o=n(n.bind);e.exports=function(e,t){return s(e),void 0===t?e:i?o(e,t):function(){return e.apply(t,arguments)}}},274:(e,t,r)=>{"use strict";var n=r(28473);e.exports=!n((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},21807:(e,t,r)=>{"use strict";var n=r(274),s=Function.prototype.call;e.exports=n?s.bind(s):function(){return s.apply(s,arguments)}},42048:(e,t,r)=>{"use strict";var n=r(20382),s=r(55755),i=Function.prototype,o=n&&Object.getOwnPropertyDescriptor,a=s(i,"name"),l=a&&"something"===function(){}.name,h=a&&(!n||n&&o(i,"name").configurable);e.exports={EXISTS:a,PROPER:l,CONFIGURABLE:h}},680:(e,t,r)=>{"use strict";var n=r(14762),s=r(68120);e.exports=function(e,t,r){try{return n(s(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(e){}}},23786:(e,t,r)=>{"use strict";var n=r(91278),s=r(14762);e.exports=function(e){if("Function"===n(e))return s(e)}},14762:(e,t,r)=>{"use strict";var n=r(274),s=Function.prototype,i=s.call,o=n&&s.bind.bind(i,i);e.exports=n?o:function(e){return function(){return i.apply(e,arguments)}}},16458:(e,t,r)=>{"use strict";var n=r(85578);e.exports=function(e,t){var r=n[e],s=r&&r.prototype;return s&&s[t]}},11409:(e,t,r)=>{"use strict";var n=r(85578),s=r(1483);e.exports=function(e,t){return arguments.length<2?(r=n[e],s(r)?r:void 0):n[e]&&n[e][t];var r}},40041:e=>{"use strict";e.exports=function(e){return{iterator:e,next:e.next,done:!1}}},22992:(e,t,r)=>{"use strict";var n=r(21807),s=r(2293),i=r(40041),o=r(26665);e.exports=function(e,t){t&&"string"==typeof e||s(e);var r=o(e);return i(s(void 0!==r?n(r,e):e))}},26665:(e,t,r)=>{"use strict";var n=r(26145),s=r(92564),i=r(15983),o=r(86775),a=r(70001)("iterator");e.exports=function(e){if(!i(e))return s(e,a)||s(e,"@@iterator")||o[n(e)]}},14887:(e,t,r)=>{"use strict";var n=r(21807),s=r(68120),i=r(2293),o=r(18761),a=r(26665),l=TypeError;e.exports=function(e,t){var r=arguments.length<2?a(e):t;if(s(r))return i(n(r,e));throw new l(o(e)+" is not iterable")}},55215:(e,t,r)=>{"use strict";var n=r(14762),s=r(14914),i=r(1483),o=r(91278),a=r(26261),l=n([].push);e.exports=function(e){if(i(e))return e;if(s(e)){for(var t=e.length,r=[],n=0;n<t;n++){var h=e[n];"string"==typeof h?l(r,h):"number"!=typeof h&&"Number"!==o(h)&&"String"!==o(h)||l(r,a(h))}var u=r.length,c=!0;return function(e,t){if(c)return c=!1,t;if(s(this))return t;for(var n=0;n<u;n++)if(r[n]===e)return t}}}},92564:(e,t,r)=>{"use strict";var n=r(68120),s=r(15983);e.exports=function(e,t){var r=e[t];return s(r)?void 0:n(r)}},53131:(e,t,r)=>{"use strict";var n=r(68120),s=r(2293),i=r(21807),o=r(73005),a=r(40041),l="Invalid size",h=RangeError,u=TypeError,c=Math.max,d=function(e,t){this.set=e,this.size=c(t,0),this.has=n(e.has),this.keys=n(e.keys)};d.prototype={getIterator:function(){return a(s(i(this.keys,this.set)))},includes:function(e){return i(this.has,this.set,e)}},e.exports=function(e){s(e);var t=+e.size;if(t!=t)throw new u(l);var r=o(t);if(r<0)throw new h(l);return new d(e,r)}},20708:(e,t,r)=>{"use strict";var n=r(14762),s=r(22347),i=Math.floor,o=n("".charAt),a=n("".replace),l=n("".slice),h=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,u=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,t,r,n,c,d){var p=r+e.length,g=n.length,f=u;return void 0!==c&&(c=s(c),f=h),a(d,f,(function(s,a){var h;switch(o(a,0)){case"$":return"$";case"&":return e;case"`":return l(t,0,r);case"'":return l(t,p);case"<":h=c[l(a,1,-1)];break;default:var u=+a;if(0===u)return s;if(u>g){var d=i(u/10);return 0===d?s:d<=g?void 0===n[d-1]?o(a,1):n[d-1]+o(a,1):s}h=n[u-1]}return void 0===h?"":h}))}},85578:function(e){"use strict";var t=function(e){return e&&e.Math===Math&&e};e.exports=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof global&&global)||t("object"==typeof this&&this)||function(){return this}()||Function("return this")()},55755:(e,t,r)=>{"use strict";var n=r(14762),s=r(22347),i=n({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return i(s(e),t)}},11507:e=>{"use strict";e.exports={}},42811:(e,t,r)=>{"use strict";var n=r(11409);e.exports=n("document","documentElement")},1799:(e,t,r)=>{"use strict";var n=r(20382),s=r(28473),i=r(3145);e.exports=!n&&!s((function(){return 7!==Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},32121:(e,t,r)=>{"use strict";var n=r(14762),s=r(28473),i=r(91278),o=Object,a=n("".split);e.exports=s((function(){return!o("z").propertyIsEnumerable(0)}))?function(e){return"String"===i(e)?a(e,""):o(e)}:o},32429:(e,t,r)=>{"use strict";var n=r(1483),s=r(71704),i=r(51953);e.exports=function(e,t,r){var o,a;return i&&n(o=t.constructor)&&o!==r&&s(a=o.prototype)&&a!==r.prototype&&i(e,a),e}},17268:(e,t,r)=>{"use strict";var n=r(14762),s=r(1483),i=r(91831),o=n(Function.toString);s(i.inspectSource)||(i.inspectSource=function(e){return o(e)}),e.exports=i.inspectSource},16866:(e,t,r)=>{"use strict";var n=r(71704),s=r(69037);e.exports=function(e,t){n(t)&&"cause"in t&&s(e,"cause",t.cause)}},64483:(e,t,r)=>{"use strict";var n,s,i,o=r(74644),a=r(85578),l=r(71704),h=r(69037),u=r(55755),c=r(91831),d=r(65409),p=r(11507),g="Object already initialized",f=a.TypeError,m=a.WeakMap;if(o||c.state){var y=c.state||(c.state=new m);y.get=y.get,y.has=y.has,y.set=y.set,n=function(e,t){if(y.has(e))throw new f(g);return t.facade=e,y.set(e,t),t},s=function(e){return y.get(e)||{}},i=function(e){return y.has(e)}}else{var E=d("state");p[E]=!0,n=function(e,t){if(u(e,E))throw new f(g);return t.facade=e,h(e,E,t),t},s=function(e){return u(e,E)?e[E]:{}},i=function(e){return u(e,E)}}e.exports={set:n,get:s,has:i,enforce:function(e){return i(e)?s(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!l(t)||(r=s(t)).type!==e)throw new f("Incompatible receiver, "+e+" required");return r}}}},95299:(e,t,r)=>{"use strict";var n=r(70001),s=r(86775),i=n("iterator"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(s.Array===e||o[i]===e)}},14914:(e,t,r)=>{"use strict";var n=r(91278);e.exports=Array.isArray||function(e){return"Array"===n(e)}},1483:e=>{"use strict";var t="object"==typeof document&&document.all;e.exports=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(e){return"function"==typeof e}},98730:(e,t,r)=>{"use strict";var n=r(28473),s=r(1483),i=/#|\.prototype\./,o=function(e,t){var r=l[a(e)];return r===u||r!==h&&(s(t)?n(t):!!t)},a=o.normalize=function(e){return String(e).replace(i,".").toLowerCase()},l=o.data={},h=o.NATIVE="N",u=o.POLYFILL="P";e.exports=o},15983:e=>{"use strict";e.exports=function(e){return null==e}},71704:(e,t,r)=>{"use strict";var n=r(1483);e.exports=function(e){return"object"==typeof e?null!==e:n(e)}},40735:(e,t,r)=>{"use strict";var n=r(71704);e.exports=function(e){return n(e)||null===e}},19557:e=>{"use strict";e.exports=!1},84786:(e,t,r)=>{"use strict";var n=r(71704),s=r(91278),i=r(70001)("match");e.exports=function(e){var t;return n(e)&&(void 0!==(t=e[i])?!!t:"RegExp"===s(e))}},31423:(e,t,r)=>{"use strict";var n=r(11409),s=r(1483),i=r(4815),o=r(45022),a=Object;e.exports=o?function(e){return"symbol"==typeof e}:function(e){var t=n("Symbol");return s(t)&&i(t.prototype,a(e))}},76001:(e,t,r)=>{"use strict";var n=r(21807);e.exports=function(e,t,r){for(var s,i,o=r?e:e.iterator,a=e.next;!(s=n(a,o)).done;)if(void 0!==(i=t(s.value)))return i}},11506:(e,t,r)=>{"use strict";var n=r(32914),s=r(21807),i=r(2293),o=r(18761),a=r(95299),l=r(66960),h=r(4815),u=r(14887),c=r(26665),d=r(46721),p=TypeError,g=function(e,t){this.stopped=e,this.result=t},f=g.prototype;e.exports=function(e,t,r){var m,y,E,w,C,v,R,S=r&&r.that,T=!(!r||!r.AS_ENTRIES),N=!(!r||!r.IS_RECORD),M=!(!r||!r.IS_ITERATOR),_=!(!r||!r.INTERRUPTED),b=n(t,S),O=function(e){return m&&d(m,"normal",e),new g(!0,e)},A=function(e){return T?(i(e),_?b(e[0],e[1],O):b(e[0],e[1])):_?b(e,O):b(e)};if(N)m=e.iterator;else if(M)m=e;else{if(!(y=c(e)))throw new p(o(e)+" is not iterable");if(a(y)){for(E=0,w=l(e);w>E;E++)if((C=A(e[E]))&&h(f,C))return C;return new g(!1)}m=u(e,y)}for(v=N?e.next:m.next;!(R=s(v,m)).done;){try{C=A(R.value)}catch(e){d(m,"throw",e)}if("object"==typeof C&&C&&h(f,C))return C}return new g(!1)}},46721:(e,t,r)=>{"use strict";var n=r(21807),s=r(2293),i=r(92564);e.exports=function(e,t,r){var o,a;s(e);try{if(!(o=i(e,"return"))){if("throw"===t)throw r;return r}o=n(o,e)}catch(e){a=!0,o=e}if("throw"===t)throw r;if(a)throw o;return s(o),r}},58660:(e,t,r)=>{"use strict";var n=r(21807),s=r(25290),i=r(69037),o=r(82313),a=r(70001),l=r(64483),h=r(92564),u=r(21851).IteratorPrototype,c=r(75247),d=r(46721),p=a("toStringTag"),g="IteratorHelper",f="WrapForValidIterator",m=l.set,y=function(e){var t=l.getterFor(e?f:g);return o(s(u),{next:function(){var r=t(this);if(e)return r.nextHandler();if(r.done)return c(void 0,!0);try{var n=r.nextHandler();return r.returnHandlerResult?n:c(n,r.done)}catch(e){throw r.done=!0,e}},return:function(){var r=t(this),s=r.iterator;if(r.done=!0,e){var i=h(s,"return");return i?n(i,s):c(void 0,!0)}if(r.inner)try{d(r.inner.iterator,"normal")}catch(e){return d(s,"throw",e)}return s&&d(s,"normal"),c(void 0,!0)}})},E=y(!0),w=y(!1);i(w,p,"Iterator Helper"),e.exports=function(e,t,r){var n=function(n,s){s?(s.iterator=n.iterator,s.next=n.next):s=n,s.type=t?f:g,s.returnHandlerResult=!!r,s.nextHandler=e,s.counter=0,s.done=!1,m(this,s)};return n.prototype=t?E:w,n}},13963:(e,t,r)=>{"use strict";var n=r(21807),s=r(68120),i=r(2293),o=r(40041),a=r(58660),l=r(48901),h=a((function(){var e=this.iterator,t=i(n(this.next,e));if(!(this.done=!!t.done))return l(e,this.mapper,[t.value,this.counter++],!0)}));e.exports=function(e){return i(this),s(e),new h(o(this),{mapper:e})}},21851:(e,t,r)=>{"use strict";var n,s,i,o=r(28473),a=r(1483),l=r(71704),h=r(25290),u=r(53181),c=r(77914),d=r(70001),p=r(19557),g=d("iterator"),f=!1;[].keys&&("next"in(i=[].keys())?(s=u(u(i)))!==Object.prototype&&(n=s):f=!0),!l(n)||o((function(){var e={};return n[g].call(e)!==e}))?n={}:p&&(n=h(n)),a(n[g])||c(n,g,(function(){return this})),e.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:f}},86775:e=>{"use strict";e.exports={}},66960:(e,t,r)=>{"use strict";var n=r(58324);e.exports=function(e){return n(e.length)}},90169:(e,t,r)=>{"use strict";var n=r(14762),s=r(28473),i=r(1483),o=r(55755),a=r(20382),l=r(42048).CONFIGURABLE,h=r(17268),u=r(64483),c=u.enforce,d=u.get,p=String,g=Object.defineProperty,f=n("".slice),m=n("".replace),y=n([].join),E=a&&!s((function(){return 8!==g((function(){}),"length",{value:8}).length})),w=String(String).split("String"),C=e.exports=function(e,t,r){"Symbol("===f(p(t),0,7)&&(t="["+m(p(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!o(e,"name")||l&&e.name!==t)&&(a?g(e,"name",{value:t,configurable:!0}):e.name=t),E&&r&&o(r,"arity")&&e.length!==r.arity&&g(e,"length",{value:r.arity});try{r&&o(r,"constructor")&&r.constructor?a&&g(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var n=c(e);return o(n,"source")||(n.source=y(w,"string"==typeof t?t:"")),e};Function.prototype.toString=C((function(){return i(this)&&d(this).source||h(this)}),"toString")},61703:e=>{"use strict";var t=Math.ceil,r=Math.floor;e.exports=Math.trunc||function(e){var n=+e;return(n>0?r:t)(n)}},17969:(e,t,r)=>{"use strict";var n=r(26261);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:n(e)}},25290:(e,t,r)=>{"use strict";var n,s=r(2293),i=r(95799),o=r(44741),a=r(11507),l=r(42811),h=r(3145),u=r(65409),c="prototype",d="script",p=u("IE_PROTO"),g=function(){},f=function(e){return"<"+d+">"+e+"</"+d+">"},m=function(e){e.write(f("")),e.close();var t=e.parentWindow.Object;return e=null,t},y=function(){try{n=new ActiveXObject("htmlfile")}catch(e){}var e,t,r;y="undefined"!=typeof document?document.domain&&n?m(n):(t=h("iframe"),r="java"+d+":",t.style.display="none",l.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(f("document.F=Object")),e.close(),e.F):m(n);for(var s=o.length;s--;)delete y[c][o[s]];return y()};a[p]=!0,e.exports=Object.create||function(e,t){var r;return null!==e?(g[c]=s(e),r=new g,g[c]=null,r[p]=e):r=y(),void 0===t?r:i.f(r,t)}},95799:(e,t,r)=>{"use strict";var n=r(20382),s=r(3896),i=r(25835),o=r(2293),a=r(35599),l=r(33658);t.f=n&&!s?Object.defineProperties:function(e,t){o(e);for(var r,n=a(t),s=l(t),h=s.length,u=0;h>u;)i.f(e,r=s[u++],n[r]);return e}},25835:(e,t,r)=>{"use strict";var n=r(20382),s=r(1799),i=r(3896),o=r(2293),a=r(83815),l=TypeError,h=Object.defineProperty,u=Object.getOwnPropertyDescriptor,c="enumerable",d="configurable",p="writable";t.f=n?i?function(e,t,r){if(o(e),t=a(t),o(r),"function"==typeof e&&"prototype"===t&&"value"in r&&p in r&&!r[p]){var n=u(e,t);n&&n[p]&&(e[t]=r.value,r={configurable:d in r?r[d]:n[d],enumerable:c in r?r[c]:n[c],writable:!1})}return h(e,t,r)}:h:function(e,t,r){if(o(e),t=a(t),o(r),s)try{return h(e,t,r)}catch(e){}if("get"in r||"set"in r)throw new l("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},4961:(e,t,r)=>{"use strict";var n=r(20382),s=r(21807),i=r(37611),o=r(57738),a=r(35599),l=r(83815),h=r(55755),u=r(1799),c=Object.getOwnPropertyDescriptor;t.f=n?c:function(e,t){if(e=a(e),t=l(t),u)try{return c(e,t)}catch(e){}if(h(e,t))return o(!s(i.f,e,t),e[t])}},12278:(e,t,r)=>{"use strict";var n=r(56742),s=r(44741).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,s)}},74347:(e,t)=>{"use strict";t.f=Object.getOwnPropertySymbols},53181:(e,t,r)=>{"use strict";var n=r(55755),s=r(1483),i=r(22347),o=r(65409),a=r(19441),l=o("IE_PROTO"),h=Object,u=h.prototype;e.exports=a?h.getPrototypeOf:function(e){var t=i(e);if(n(t,l))return t[l];var r=t.constructor;return s(r)&&t instanceof r?r.prototype:t instanceof h?u:null}},4815:(e,t,r)=>{"use strict";var n=r(14762);e.exports=n({}.isPrototypeOf)},56742:(e,t,r)=>{"use strict";var n=r(14762),s=r(55755),i=r(35599),o=r(86651).indexOf,a=r(11507),l=n([].push);e.exports=function(e,t){var r,n=i(e),h=0,u=[];for(r in n)!s(a,r)&&s(n,r)&&l(u,r);for(;t.length>h;)s(n,r=t[h++])&&(~o(u,r)||l(u,r));return u}},33658:(e,t,r)=>{"use strict";var n=r(56742),s=r(44741);e.exports=Object.keys||function(e){return n(e,s)}},37611:(e,t)=>{"use strict";var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,s=n&&!r.call({1:2},1);t.f=s?function(e){var t=n(this,e);return!!t&&t.enumerable}:r},51953:(e,t,r)=>{"use strict";var n=r(680),s=r(71704),i=r(53312),o=r(63852);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=n(Object.prototype,"__proto__","set"))(r,[]),t=r instanceof Array}catch(e){}return function(r,n){return i(r),o(n),s(r)?(t?e(r,n):r.__proto__=n,r):r}}():void 0)},348:(e,t,r)=>{"use strict";var n=r(21807),s=r(1483),i=r(71704),o=TypeError;e.exports=function(e,t){var r,a;if("string"===t&&s(r=e.toString)&&!i(a=n(r,e)))return a;if(s(r=e.valueOf)&&!i(a=n(r,e)))return a;if("string"!==t&&s(r=e.toString)&&!i(a=n(r,e)))return a;throw new o("Can't convert object to primitive value")}},89497:(e,t,r)=>{"use strict";var n=r(11409),s=r(14762),i=r(12278),o=r(74347),a=r(2293),l=s([].concat);e.exports=n("Reflect","ownKeys")||function(e){var t=i.f(a(e)),r=o.f;return r?l(t,r(e)):t}},7150:(e,t,r)=>{"use strict";var n=r(25835).f;e.exports=function(e,t,r){r in e||n(e,r,{configurable:!0,get:function(){return t[r]},set:function(e){t[r]=e}})}},36653:(e,t,r)=>{"use strict";var n=r(2293);e.exports=function(){var e=n(this),t="";return e.hasIndices&&(t+="d"),e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.unicodeSets&&(t+="v"),e.sticky&&(t+="y"),t}},39736:(e,t,r)=>{"use strict";var n=r(21807),s=r(55755),i=r(4815),o=r(36653),a=RegExp.prototype;e.exports=function(e){var t=e.flags;return void 0!==t||"flags"in a||s(e,"flags")||!i(a,e)?t:n(o,e)}},53312:(e,t,r)=>{"use strict";var n=r(15983),s=TypeError;e.exports=function(e){if(n(e))throw new s("Can't call method on "+e);return e}},39570:(e,t,r)=>{"use strict";var n,s=r(85578),i=r(73067),o=r(1483),a=r(63897),l=r(19461),h=r(61698),u=r(4066),c=s.Function,d=/MSIE .\./.test(l)||"BUN"===a&&((n=s.Bun.version.split(".")).length<3||"0"===n[0]&&(n[1]<3||"3"===n[1]&&"0"===n[2]));e.exports=function(e,t){var r=t?2:1;return d?function(n,s){var a=u(arguments.length,1)>r,l=o(n)?n:c(n),d=a?h(arguments,r):[],p=a?function(){i(l,this,d)}:l;return t?e(p,s):e(p)}:e}},34824:(e,t,r)=>{"use strict";var n=r(36880),s=r(11639),i=n.Set,o=n.add;e.exports=function(e){var t=new i;return s(e,(function(e){o(t,e)})),t}},26006:(e,t,r)=>{"use strict";var n=r(14246),s=r(36880),i=r(34824),o=r(45828),a=r(53131),l=r(11639),h=r(76001),u=s.has,c=s.remove;e.exports=function(e){var t=n(this),r=a(e),s=i(t);return o(t)<=r.size?l(t,(function(e){r.includes(e)&&c(s,e)})):h(r.getIterator(),(function(e){u(t,e)&&c(s,e)})),s}},36880:(e,t,r)=>{"use strict";var n=r(14762),s=Set.prototype;e.exports={Set,add:n(s.add),has:n(s.has),remove:n(s.delete),proto:s}},25472:(e,t,r)=>{"use strict";var n=r(14246),s=r(36880),i=r(45828),o=r(53131),a=r(11639),l=r(76001),h=s.Set,u=s.add,c=s.has;e.exports=function(e){var t=n(this),r=o(e),s=new h;return i(t)>r.size?l(r.getIterator(),(function(e){c(t,e)&&u(s,e)})):a(t,(function(e){r.includes(e)&&u(s,e)})),s}},87035:(e,t,r)=>{"use strict";var n=r(14246),s=r(36880).has,i=r(45828),o=r(53131),a=r(11639),l=r(76001),h=r(46721);e.exports=function(e){var t=n(this),r=o(e);if(i(t)<=r.size)return!1!==a(t,(function(e){if(r.includes(e))return!1}),!0);var u=r.getIterator();return!1!==l(u,(function(e){if(s(t,e))return h(u,"normal",!1)}))}},51984:(e,t,r)=>{"use strict";var n=r(14246),s=r(45828),i=r(11639),o=r(53131);e.exports=function(e){var t=n(this),r=o(e);return!(s(t)>r.size)&&!1!==i(t,(function(e){if(!r.includes(e))return!1}),!0)}},33049:(e,t,r)=>{"use strict";var n=r(14246),s=r(36880).has,i=r(45828),o=r(53131),a=r(76001),l=r(46721);e.exports=function(e){var t=n(this),r=o(e);if(i(t)<r.size)return!1;var h=r.getIterator();return!1!==a(h,(function(e){if(!s(t,e))return l(h,"normal",!1)}))}},11639:(e,t,r)=>{"use strict";var n=r(14762),s=r(76001),i=r(36880),o=i.Set,a=i.proto,l=n(a.forEach),h=n(a.keys),u=h(new o).next;e.exports=function(e,t,r){return r?s({iterator:h(e),next:u},t):l(e,t)}},5242:(e,t,r)=>{"use strict";var n=r(11409),s=function(e){return{size:e,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},i=function(e){return{size:e,has:function(){return!0},keys:function(){throw new Error("e")}}};e.exports=function(e,t){var r=n("Set");try{(new r)[e](s(0));try{return(new r)[e](s(-1)),!1}catch(n){if(!t)return!0;try{return(new r)[e](i(-1/0)),!1}catch(n){var o=new r;return o.add(1),o.add(2),t(o[e](i(1/0)))}}}catch(e){return!1}}},45828:(e,t,r)=>{"use strict";var n=r(680),s=r(36880);e.exports=n(s.proto,"size","get")||function(e){return e.size}},61916:(e,t,r)=>{"use strict";var n=r(14246),s=r(36880),i=r(34824),o=r(53131),a=r(76001),l=s.add,h=s.has,u=s.remove;e.exports=function(e){var t=n(this),r=o(e).getIterator(),s=i(t);return a(r,(function(e){h(t,e)?u(s,e):l(s,e)})),s}},95790:(e,t,r)=>{"use strict";var n=r(14246),s=r(36880).add,i=r(34824),o=r(53131),a=r(76001);e.exports=function(e){var t=n(this),r=o(e).getIterator(),l=i(t);return a(r,(function(e){s(l,e)})),l}},65409:(e,t,r)=>{"use strict";var n=r(47255),s=r(81866),i=n("keys");e.exports=function(e){return i[e]||(i[e]=s(e))}},91831:(e,t,r)=>{"use strict";var n=r(19557),s=r(85578),i=r(82095),o="__core-js_shared__",a=e.exports=s[o]||i(o,{});(a.versions||(a.versions=[])).push({version:"3.40.0",mode:n?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE",source:"https://github.com/zloirock/core-js"})},47255:(e,t,r)=>{"use strict";var n=r(91831);e.exports=function(e,t){return n[e]||(n[e]=t||{})}},86029:(e,t,r)=>{"use strict";var n=r(66477),s=r(28473),i=r(85578).String;e.exports=!!Object.getOwnPropertySymbols&&!s((function(){var e=Symbol("symbol detection");return!i(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},17007:(e,t,r)=>{"use strict";var n,s,i,o,a=r(85578),l=r(73067),h=r(32914),u=r(1483),c=r(55755),d=r(28473),p=r(42811),g=r(61698),f=r(3145),m=r(4066),y=r(91058),E=r(35207),w=a.setImmediate,C=a.clearImmediate,v=a.process,R=a.Dispatch,S=a.Function,T=a.MessageChannel,N=a.String,M=0,_={},b="onreadystatechange";d((function(){n=a.location}));var O=function(e){if(c(_,e)){var t=_[e];delete _[e],t()}},A=function(e){return function(){O(e)}},I=function(e){O(e.data)},x=function(e){a.postMessage(N(e),n.protocol+"//"+n.host)};w&&C||(w=function(e){m(arguments.length,1);var t=u(e)?e:S(e),r=g(arguments,1);return _[++M]=function(){l(t,void 0,r)},s(M),M},C=function(e){delete _[e]},E?s=function(e){v.nextTick(A(e))}:R&&R.now?s=function(e){R.now(A(e))}:T&&!y?(o=(i=new T).port2,i.port1.onmessage=I,s=h(o.postMessage,o)):a.addEventListener&&u(a.postMessage)&&!a.importScripts&&n&&"file:"!==n.protocol&&!d(x)?(s=x,a.addEventListener("message",I,!1)):s=b in f("script")?function(e){p.appendChild(f("script"))[b]=function(){p.removeChild(this),O(e)}}:function(e){setTimeout(A(e),0)}),e.exports={set:w,clear:C}},33392:(e,t,r)=>{"use strict";var n=r(73005),s=Math.max,i=Math.min;e.exports=function(e,t){var r=n(e);return r<0?s(r+t,0):i(r,t)}},35599:(e,t,r)=>{"use strict";var n=r(32121),s=r(53312);e.exports=function(e){return n(s(e))}},73005:(e,t,r)=>{"use strict";var n=r(61703);e.exports=function(e){var t=+e;return t!=t||0===t?0:n(t)}},58324:(e,t,r)=>{"use strict";var n=r(73005),s=Math.min;e.exports=function(e){var t=n(e);return t>0?s(t,9007199254740991):0}},22347:(e,t,r)=>{"use strict";var n=r(53312),s=Object;e.exports=function(e){return s(n(e))}},22355:(e,t,r)=>{"use strict";var n=r(21807),s=r(71704),i=r(31423),o=r(92564),a=r(348),l=r(70001),h=TypeError,u=l("toPrimitive");e.exports=function(e,t){if(!s(e)||i(e))return e;var r,l=o(e,u);if(l){if(void 0===t&&(t="default"),r=n(l,e,t),!s(r)||i(r))return r;throw new h("Can't convert object to primitive value")}return void 0===t&&(t="number"),a(e,t)}},83815:(e,t,r)=>{"use strict";var n=r(22355),s=r(31423);e.exports=function(e){var t=n(e,"string");return s(t)?t:t+""}},34338:(e,t,r)=>{"use strict";var n={};n[r(70001)("toStringTag")]="z",e.exports="[object z]"===String(n)},26261:(e,t,r)=>{"use strict";var n=r(26145),s=String;e.exports=function(e){if("Symbol"===n(e))throw new TypeError("Cannot convert a Symbol value to a string");return s(e)}},18761:e=>{"use strict";var t=String;e.exports=function(e){try{return t(e)}catch(e){return"Object"}}},81866:(e,t,r)=>{"use strict";var n=r(14762),s=0,i=Math.random(),o=n(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+o(++s+i,36)}},45022:(e,t,r)=>{"use strict";var n=r(86029);e.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3896:(e,t,r)=>{"use strict";var n=r(20382),s=r(28473);e.exports=n&&s((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},4066:e=>{"use strict";var t=TypeError;e.exports=function(e,r){if(e<r)throw new t("Not enough arguments");return e}},74644:(e,t,r)=>{"use strict";var n=r(85578),s=r(1483),i=n.WeakMap;e.exports=s(i)&&/native code/.test(String(i))},70001:(e,t,r)=>{"use strict";var n=r(85578),s=r(47255),i=r(55755),o=r(81866),a=r(86029),l=r(45022),h=n.Symbol,u=s("wks"),c=l?h.for||h:h&&h.withoutSetter||o;e.exports=function(e){return i(u,e)||(u[e]=a&&i(h,e)?h[e]:c("Symbol."+e)),u[e]}},72335:(e,t,r)=>{"use strict";var n=r(11409),s=r(55755),i=r(69037),o=r(4815),a=r(51953),l=r(16726),h=r(7150),u=r(32429),c=r(17969),d=r(16866),p=r(27473),g=r(20382),f=r(19557);e.exports=function(e,t,r,m){var y="stackTraceLimit",E=m?2:1,w=e.split("."),C=w[w.length-1],v=n.apply(null,w);if(v){var R=v.prototype;if(!f&&s(R,"cause")&&delete R.cause,!r)return v;var S=n("Error"),T=t((function(e,t){var r=c(m?t:e,void 0),n=m?new v(e):new v;return void 0!==r&&i(n,"message",r),p(n,T,n.stack,2),this&&o(R,this)&&u(n,this,T),arguments.length>E&&d(n,arguments[E]),n}));if(T.prototype=R,"Error"!==C?a?a(T,S):l(T,S,{name:!0}):g&&y in v&&(h(T,v,y),h(T,v,"prepareStackTrace")),l(T,v),!f)try{R.name!==C&&i(R,"name",C),R.constructor=T}catch(e){}return T}}},95913:(e,t,r)=>{"use strict";var n=r(28612),s=r(22347),i=r(66960),o=r(73005),a=r(37095);n({target:"Array",proto:!0},{at:function(e){var t=s(this),r=i(t),n=o(e),a=n>=0?n:r+n;return a<0||a>=r?void 0:t[a]}}),a("at")},15724:(e,t,r)=>{"use strict";var n=r(28612),s=r(22347),i=r(66960),o=r(39273),a=r(31091);n({target:"Array",proto:!0,arity:1,forced:r(28473)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function(e){var t=s(this),r=i(t),n=arguments.length;a(r+n);for(var l=0;l<n;l++)t[r]=arguments[l],r++;return o(t,r),r}})},79747:(e,t,r)=>{"use strict";var n=r(28612),s=r(14762),i=r(68120),o=r(35599),a=r(78592),l=r(16458),h=r(37095),u=Array,c=s(l("Array","sort"));n({target:"Array",proto:!0},{toSorted:function(e){void 0!==e&&i(e);var t=o(this),r=a(u,t);return c(r,e)}}),h("toSorted")},63979:(e,t,r)=>{"use strict";r(37095)("flatMap")},25352:(e,t,r)=>{"use strict";r(37095)("flat")},54999:(e,t,r)=>{"use strict";var n=r(28612),s=r(22347),i=r(66960),o=r(39273),a=r(16060),l=r(31091);n({target:"Array",proto:!0,arity:1,forced:1!==[].unshift(0)||!function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(e){return e instanceof TypeError}}()},{unshift:function(e){var t=s(this),r=i(t),n=arguments.length;if(n){l(r+n);for(var h=r;h--;){var u=h+n;h in t?t[u]=t[h]:a(t,u)}for(var c=0;c<n;c++)t[c]=arguments[c]}return o(t,r+n)}})},67834:(e,t,r)=>{"use strict";var n=r(28612),s=r(85578),i=r(73067),o=r(72335),a="WebAssembly",l=s[a],h=7!==new Error("e",{cause:7}).cause,u=function(e,t){var r={};r[e]=o(e,t,h),n({global:!0,constructor:!0,arity:1,forced:h},r)},c=function(e,t){if(l&&l[e]){var r={};r[e]=o(a+"."+e,t,h),n({target:a,stat:!0,constructor:!0,arity:1,forced:h},r)}};u("Error",(function(e){return function(t){return i(e,this,arguments)}})),u("EvalError",(function(e){return function(t){return i(e,this,arguments)}})),u("RangeError",(function(e){return function(t){return i(e,this,arguments)}})),u("ReferenceError",(function(e){return function(t){return i(e,this,arguments)}})),u("SyntaxError",(function(e){return function(t){return i(e,this,arguments)}})),u("TypeError",(function(e){return function(t){return i(e,this,arguments)}})),u("URIError",(function(e){return function(t){return i(e,this,arguments)}})),c("CompileError",(function(e){return function(t){return i(e,this,arguments)}})),c("LinkError",(function(e){return function(t){return i(e,this,arguments)}})),c("RuntimeError",(function(e){return function(t){return i(e,this,arguments)}}))},43617:(e,t,r)=>{"use strict";var n=r(28612),s=r(85578),i=r(96021),o=r(2293),a=r(1483),l=r(53181),h=r(83864),u=r(30670),c=r(28473),d=r(55755),p=r(70001),g=r(21851).IteratorPrototype,f=r(20382),m=r(19557),y="constructor",E="Iterator",w=p("toStringTag"),C=TypeError,v=s[E],R=m||!a(v)||v.prototype!==g||!c((function(){v({})})),S=function(){if(i(this,g),l(this)===g)throw new C("Abstract class Iterator not directly constructable")},T=function(e,t){f?h(g,e,{configurable:!0,get:function(){return t},set:function(t){if(o(this),this===g)throw new C("You can't redefine this property");d(this,e)?this[e]=t:u(this,e,t)}}):g[e]=t};d(g,w)||T(w,E),!R&&d(g,y)&&g[y]!==Object||T(y,S),S.prototype=g,n({global:!0,constructor:!0,forced:R},{Iterator:S})},35214:(e,t,r)=>{"use strict";var n=r(28612),s=r(11506),i=r(68120),o=r(2293),a=r(40041);n({target:"Iterator",proto:!0,real:!0},{every:function(e){o(this),i(e);var t=a(this),r=0;return!s(t,(function(t,n){if(!e(t,r++))return n()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},81975:(e,t,r)=>{"use strict";var n=r(28612),s=r(21807),i=r(68120),o=r(2293),a=r(40041),l=r(58660),h=r(48901),u=r(19557),c=l((function(){for(var e,t,r=this.iterator,n=this.predicate,i=this.next;;){if(e=o(s(i,r)),this.done=!!e.done)return;if(t=e.value,h(r,n,[t,this.counter++],!0))return t}}));n({target:"Iterator",proto:!0,real:!0,forced:u},{filter:function(e){return o(this),i(e),new c(a(this),{predicate:e})}})},73242:(e,t,r)=>{"use strict";var n=r(28612),s=r(11506),i=r(68120),o=r(2293),a=r(40041);n({target:"Iterator",proto:!0,real:!0},{find:function(e){o(this),i(e);var t=a(this),r=0;return s(t,(function(t,n){if(e(t,r++))return n(t)}),{IS_RECORD:!0,INTERRUPTED:!0}).result}})},22269:(e,t,r)=>{"use strict";var n=r(28612),s=r(21807),i=r(68120),o=r(2293),a=r(40041),l=r(22992),h=r(58660),u=r(46721),c=r(19557),d=h((function(){for(var e,t,r=this.iterator,n=this.mapper;;){if(t=this.inner)try{if(!(e=o(s(t.next,t.iterator))).done)return e.value;this.inner=null}catch(e){u(r,"throw",e)}if(e=o(s(this.next,r)),this.done=!!e.done)return;try{this.inner=l(n(e.value,this.counter++),!1)}catch(e){u(r,"throw",e)}}}));n({target:"Iterator",proto:!0,real:!0,forced:c},{flatMap:function(e){return o(this),i(e),new d(a(this),{mapper:e,inner:null})}})},99930:(e,t,r)=>{"use strict";var n=r(28612),s=r(11506),i=r(68120),o=r(2293),a=r(40041);n({target:"Iterator",proto:!0,real:!0},{forEach:function(e){o(this),i(e);var t=a(this),r=0;s(t,(function(t){e(t,r++)}),{IS_RECORD:!0})}})},93991:(e,t,r)=>{"use strict";var n=r(28612),s=r(13963);n({target:"Iterator",proto:!0,real:!0,forced:r(19557)},{map:s})},37227:(e,t,r)=>{"use strict";var n=r(28612),s=r(11506),i=r(68120),o=r(2293),a=r(40041),l=TypeError;n({target:"Iterator",proto:!0,real:!0},{reduce:function(e){o(this),i(e);var t=a(this),r=arguments.length<2,n=r?void 0:arguments[1],h=0;if(s(t,(function(t){r?(r=!1,n=t):n=e(n,t,h),h++}),{IS_RECORD:!0}),r)throw new l("Reduce of empty iterator with no initial value");return n}})},29217:(e,t,r)=>{"use strict";var n=r(28612),s=r(11506),i=r(68120),o=r(2293),a=r(40041);n({target:"Iterator",proto:!0,real:!0},{some:function(e){o(this),i(e);var t=a(this),r=0;return s(t,(function(t,n){if(e(t,r++))return n()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},66184:(e,t,r)=>{"use strict";var n=r(28612),s=r(11409),i=r(73067),o=r(21807),a=r(14762),l=r(28473),h=r(1483),u=r(31423),c=r(61698),d=r(55215),p=r(86029),g=String,f=s("JSON","stringify"),m=a(/./.exec),y=a("".charAt),E=a("".charCodeAt),w=a("".replace),C=a(1..toString),v=/[\uD800-\uDFFF]/g,R=/^[\uD800-\uDBFF]$/,S=/^[\uDC00-\uDFFF]$/,T=!p||l((function(){var e=s("Symbol")("stringify detection");return"[null]"!==f([e])||"{}"!==f({a:e})||"{}"!==f(Object(e))})),N=l((function(){return'"\\udf06\\ud834"'!==f("\udf06\ud834")||'"\\udead"'!==f("\udead")})),M=function(e,t){var r=c(arguments),n=d(t);if(h(n)||void 0!==e&&!u(e))return r[1]=function(e,t){if(h(n)&&(t=o(n,this,g(e),t)),!u(t))return t},i(f,null,r)},_=function(e,t,r){var n=y(r,t-1),s=y(r,t+1);return m(R,e)&&!m(S,s)||m(S,e)&&!m(R,n)?"\\u"+C(E(e,0),16):e};f&&n({target:"JSON",stat:!0,arity:3,forced:T||N},{stringify:function(e,t,r){var n=c(arguments),s=i(T?M:f,null,n);return N&&"string"==typeof s?w(s,v,_):s}})},75339:(e,t,r)=>{"use strict";var n=r(28612),s=r(11506),i=r(30670);n({target:"Object",stat:!0},{fromEntries:function(e){var t={};return s(e,(function(e,r){i(t,e,r)}),{AS_ENTRIES:!0}),t}})},71336:(e,t,r)=>{"use strict";var n=r(28612),s=r(26006);n({target:"Set",proto:!0,real:!0,forced:!r(5242)("difference",(function(e){return 0===e.size}))},{difference:s})},41558:(e,t,r)=>{"use strict";var n=r(28612),s=r(28473),i=r(25472);n({target:"Set",proto:!0,real:!0,forced:!r(5242)("intersection",(function(e){return 2===e.size&&e.has(1)&&e.has(2)}))||s((function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))}))},{intersection:i})},17663:(e,t,r)=>{"use strict";var n=r(28612),s=r(87035);n({target:"Set",proto:!0,real:!0,forced:!r(5242)("isDisjointFrom",(function(e){return!e}))},{isDisjointFrom:s})},68630:(e,t,r)=>{"use strict";var n=r(28612),s=r(51984);n({target:"Set",proto:!0,real:!0,forced:!r(5242)("isSubsetOf",(function(e){return e}))},{isSubsetOf:s})},79645:(e,t,r)=>{"use strict";var n=r(28612),s=r(33049);n({target:"Set",proto:!0,real:!0,forced:!r(5242)("isSupersetOf",(function(e){return!e}))},{isSupersetOf:s})},89858:(e,t,r)=>{"use strict";var n=r(28612),s=r(61916);n({target:"Set",proto:!0,real:!0,forced:!r(5242)("symmetricDifference")},{symmetricDifference:s})},8620:(e,t,r)=>{"use strict";var n=r(28612),s=r(95790);n({target:"Set",proto:!0,real:!0,forced:!r(5242)("union")},{union:s})},12587:(e,t,r)=>{"use strict";var n=r(28612),s=r(14762),i=r(53312),o=r(73005),a=r(26261),l=r(28473),h=s("".charAt);n({target:"String",proto:!0,forced:l((function(){return"\ud842"!=="𠮷".at(-2)}))},{at:function(e){var t=a(i(this)),r=t.length,n=o(e),s=n>=0?n:r+n;return s<0||s>=r?void 0:h(t,s)}})},64552:(e,t,r)=>{"use strict";var n=r(28612),s=r(21807),i=r(14762),o=r(53312),a=r(1483),l=r(15983),h=r(84786),u=r(26261),c=r(92564),d=r(39736),p=r(20708),g=r(70001),f=r(19557),m=g("replace"),y=TypeError,E=i("".indexOf),w=i("".replace),C=i("".slice),v=Math.max;n({target:"String",proto:!0},{replaceAll:function(e,t){var r,n,i,g,R,S,T,N,M,_,b=o(this),O=0,A="";if(!l(e)){if((r=h(e))&&(n=u(o(d(e))),!~E(n,"g")))throw new y("`.replaceAll` does not allow non-global regexes");if(i=c(e,m))return s(i,e,b,t);if(f&&r)return w(u(b),e,t)}for(g=u(b),R=u(e),(S=a(t))||(t=u(t)),T=R.length,N=v(1,T),M=E(g,R);-1!==M;)_=S?u(t(R,M,g)):p(R,g,M,[],void 0,t),A+=C(g,O,M)+_,O=M+T,M=M+N>g.length?-1:E(g,R,M+N);return O<g.length&&(A+=C(g,O)),A}})},14846:(e,t,r)=>{"use strict";r(43617)},63333:(e,t,r)=>{"use strict";r(35214)},27458:(e,t,r)=>{"use strict";r(81975)},6211:(e,t,r)=>{"use strict";r(73242)},49748:(e,t,r)=>{"use strict";r(22269)},69655:(e,t,r)=>{"use strict";r(99930)},94364:(e,t,r)=>{"use strict";r(93991)},90458:(e,t,r)=>{"use strict";r(37227)},75568:(e,t,r)=>{"use strict";r(29217)},31998:(e,t,r)=>{"use strict";var n=r(28612),s=r(85578),i=r(17007).clear;n({global:!0,bind:!0,enumerable:!0,forced:s.clearImmediate!==i},{clearImmediate:i})},71766:(e,t,r)=>{"use strict";r(31998),r(8615)},8615:(e,t,r)=>{"use strict";var n=r(28612),s=r(85578),i=r(17007).set,o=r(39570),a=s.setImmediate?o(i,!1):i;n({global:!0,bind:!0,enumerable:!0,forced:s.setImmediate!==a},{setImmediate:a})}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var i=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.loaded=!0,i.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var n={};return(()=>{"use strict";r.d({},{f1:()=>Vi,iz:()=>ot});var e,t,n={};r.r(n),r.d(n,{AbsPlugin:()=>Ki,AddressPlugin:()=>zi,ArrayPlugin:()=>$i,BitShiftPlugin:()=>Xi,BitwiseLogicOperationsPlugin:()=>Ji,BooleanPlugin:()=>eo,CharPlugin:()=>to,CodePlugin:()=>ro,ComplexPlugin:()=>Gl,ConditionalAggregationPlugin:()=>ha,CountBlankPlugin:()=>no,CountUniquePlugin:()=>so,DateTimePlugin:()=>io,DegreesPlugin:()=>uo,DeltaPlugin:()=>co,ExpPlugin:()=>po,FinancialPlugin:()=>go,FormulaTextPlugin:()=>Co,HyperlinkPlugin:()=>vo,InformationPlugin:()=>Ro,IsEvenPlugin:()=>So,IsOddPlugin:()=>To,LogarithmPlugin:()=>No,LookupPlugin:()=>ga,MathConstantsPlugin:()=>_o,MathPlugin:()=>Vl,MatrixPlugin:()=>Ao,MedianPlugin:()=>Io,ModuloPlugin:()=>xo,NumericAggregationPlugin:()=>Do,PowerPlugin:()=>Fo,RadiansPlugin:()=>Uo,RadixConversionPlugin:()=>Bo,RandomPlugin:()=>Ko,RomanPlugin:()=>fa,RoundingPlugin:()=>Qo,SimpleArithmerticPlugin:()=>Ea,SqrtPlugin:()=>Zo,StatisticalAggregationPlugin:()=>rh,StatisticalPlugin:()=>Ul,SumprodPlugin:()=>ua,TextPlugin:()=>ca,TrigonometryPlugin:()=>da}),function(e){e.RELATIVE="RELATIVE",e.ABSOLUTE="ABSOLUTE"}(e||(e={}));class s{constructor(e,t,r){this.type=e,this.col=t,this.sheet=r}static absolute(t,r){return new s(e.ABSOLUTE,t,r)}static relative(t,r){return new s(e.RELATIVE,t,r)}static compareByAbsoluteAddress(e){return(t,r)=>t.toSimpleColumnAddress(e).col-r.toSimpleColumnAddress(e).col}isColumnAbsolute(){return this.type===e.ABSOLUTE}isColumnRelative(){return this.type===e.RELATIVE}isAbsolute(){return this.type===e.ABSOLUTE&&void 0!==this.sheet}moved(e,t,r){const n=void 0===this.sheet?void 0:e;return new s(this.type,this.col+t,n)}shiftedByColumns(e){return new s(this.type,this.col+e,this.sheet)}toSimpleColumnAddress(e){const t=xr(this,e);let r=this.col;return this.isColumnRelative()&&(r=e.col+this.col),Nr(t,r)}shiftRelativeDimensions(e,t){const r=this.isColumnRelative()?this.col+e:this.col;return new s(this.type,r,this.sheet)}shiftAbsoluteDimensions(e,t){const r=this.isColumnAbsolute()?this.col+e:this.col;return new s(this.type,r,this.sheet)}withSheet(e){return new s(this.type,this.col,e)}isInvalid(e){return this.toSimpleColumnAddress(e).col<0}hash(t){const r=t&&void 0!==this.sheet?`#${this.sheet}`:"";switch(this.type){case e.RELATIVE:return`${r}#COLR${this.col}`;case e.ABSOLUTE:return`${r}#COLA${this.col}`}}unparse(t){const r=this.toSimpleColumnAddress(t);if(Mr(r))return;const n=I(r.col);return`${this.type===e.ABSOLUTE?"$":""}${n}`}exceedsSheetSizeLimits(e){return this.col>=e}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class i{constructor(e,t,r){this.type=e,this.row=t,this.sheet=r}static absolute(t,r){return new i(e.ABSOLUTE,t,r)}static relative(t,r){return new i(e.RELATIVE,t,r)}static compareByAbsoluteAddress(e){return(t,r)=>t.toSimpleRowAddress(e).row-r.toSimpleRowAddress(e).row}isRowAbsolute(){return this.type===e.ABSOLUTE}isRowRelative(){return this.type===e.RELATIVE}isAbsolute(){return this.type===e.ABSOLUTE&&void 0!==this.sheet}moved(e,t,r){const n=void 0===this.sheet?void 0:e;return new i(this.type,this.row+r,n)}shiftedByRows(e){return new i(this.type,this.row+e,this.sheet)}toSimpleRowAddress(e){const t=xr(this,e);let r=this.row;return this.isRowRelative()&&(r=e.row+this.row),Sr(t,r)}shiftRelativeDimensions(e,t){const r=this.isRowRelative()?this.row+t:this.row;return new i(this.type,r,this.sheet)}shiftAbsoluteDimensions(e,t){const r=this.isRowAbsolute()?this.row+t:this.row;return new i(this.type,r,this.sheet)}withSheet(e){return new i(this.type,this.row,e)}isInvalid(e){return this.toSimpleRowAddress(e).row<0}hash(t){const r=t&&void 0!==this.sheet?`#${this.sheet}`:"";switch(this.type){case e.RELATIVE:return`${r}#ROWR${this.row}`;case e.ABSOLUTE:return`${r}#ROWA${this.row}`}}unparse(t){const r=this.toSimpleRowAddress(t);if(Tr(r))return;return`${this.type===e.ABSOLUTE?"$":""}${r.row+1}`}exceedsSheetSizeLimits(e){return this.row>=e}}!function(e){e.CELL_REFERENCE_RELATIVE="CELL_REFERENCE",e.CELL_REFERENCE_ABSOLUTE="CELL_REFERENCE_ABSOLUTE",e.CELL_REFERENCE_ABSOLUTE_COL="CELL_REFERENCE_ABSOLUTE_COL",e.CELL_REFERENCE_ABSOLUTE_ROW="CELL_REFERENCE_ABSOLUTE_ROW"}(t||(t={}));class o{constructor(e,t,r,n){this.col=e,this.row=t,this.type=r,this.sheet=n}static fromColAndRow(e,t,r){return(e.isColumnAbsolute()&&t.isRowAbsolute()?o.absolute.bind(this):e.isColumnAbsolute()?o.absoluteCol.bind(this):t.isRowAbsolute()?o.absoluteRow.bind(this):o.relative.bind(this))(e.col,t.row,r)}static relative(e,r,n){return new o(e,r,t.CELL_REFERENCE_RELATIVE,n)}static absolute(e,r,n){return new o(e,r,t.CELL_REFERENCE_ABSOLUTE,n)}static absoluteCol(e,r,n){return new o(e,r,t.CELL_REFERENCE_ABSOLUTE_COL,n)}static absoluteRow(e,r,n){return new o(e,r,t.CELL_REFERENCE_ABSOLUTE_ROW,n)}toSimpleCellAddress(e){const r=xr(this,e);return this.type===t.CELL_REFERENCE_ABSOLUTE?_r(r,this.col,this.row):this.type===t.CELL_REFERENCE_ABSOLUTE_ROW?_r(r,e.col+this.col,this.row):this.type===t.CELL_REFERENCE_ABSOLUTE_COL?_r(r,this.col,e.row+this.row):_r(r,e.col+this.col,e.row+this.row)}toColumnAddress(){const t=this.isColumnRelative()?e.RELATIVE:e.ABSOLUTE;return new s(t,this.col,this.sheet)}toRowAddress(){const t=this.isRowRelative()?e.RELATIVE:e.ABSOLUTE;return new i(t,this.row,this.sheet)}toSimpleColumnAddress(e){const t=xr(this,e);let r=this.col;return this.isColumnRelative()&&(r+=e.col),Nr(t,r)}toSimpleRowAddress(e){const t=xr(this,e);let r=this.row;return this.isRowRelative()&&(r+=e.row),Sr(t,r)}isRowAbsolute(){return this.type===t.CELL_REFERENCE_ABSOLUTE||this.type===t.CELL_REFERENCE_ABSOLUTE_ROW}isColumnAbsolute(){return this.type===t.CELL_REFERENCE_ABSOLUTE||this.type===t.CELL_REFERENCE_ABSOLUTE_COL}isColumnRelative(){return this.type===t.CELL_REFERENCE_RELATIVE||this.type===t.CELL_REFERENCE_ABSOLUTE_ROW}isRowRelative(){return this.type===t.CELL_REFERENCE_RELATIVE||this.type===t.CELL_REFERENCE_ABSOLUTE_COL}isAbsolute(){return this.type===t.CELL_REFERENCE_ABSOLUTE&&void 0!==this.sheet}shiftedByRows(e){return new o(this.col,this.row+e,this.type,this.sheet)}shiftedByColumns(e){return new o(this.col+e,this.row,this.type,this.sheet)}moved(e,t,r){const n=void 0===this.sheet?void 0:e;return new o(this.col+t,this.row+r,this.type,n)}withSheet(e){return new o(this.col,this.row,this.type,e)}isInvalid(e){return br(this.toSimpleCellAddress(e))}shiftRelativeDimensions(e,t){const r=this.isColumnAbsolute()?this.col:this.col+e,n=this.isRowAbsolute()?this.row:this.row+t;return new o(r,n,this.type,this.sheet)}shiftAbsoluteDimensions(e,t){const r=this.isColumnRelative()?this.col:this.col+e,n=this.isRowRelative()?this.row:this.row+t;return new o(r,n,this.type,this.sheet)}hash(e){const r=e&&void 0!==this.sheet?`#${this.sheet}`:"";switch(this.type){case t.CELL_REFERENCE_RELATIVE:return`${r}#${this.row}R${this.col}`;case t.CELL_REFERENCE_ABSOLUTE:return`${r}#${this.row}A${this.col}`;case t.CELL_REFERENCE_ABSOLUTE_COL:return`${r}#${this.row}AC${this.col}`;case t.CELL_REFERENCE_ABSOLUTE_ROW:return`${r}#${this.row}AR${this.col}`}}unparse(e){const r=this.toSimpleCellAddress(e);if(br(r))return;const n=I(r.col),s=this.type===t.CELL_REFERENCE_ABSOLUTE||this.type===t.CELL_REFERENCE_ABSOLUTE_ROW?"$":"";return`${this.type===t.CELL_REFERENCE_ABSOLUTE||this.type===t.CELL_REFERENCE_ABSOLUTE_COL?"$":""}${n}${s}${r.row+1}`}exceedsSheetSizeLimits(e,t){return this.row>=t||this.col>=e}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const a=":",l="$",h="A-Za-zÀ-ʯ",u=`${h}0-9_.`,c=`[${h}0-9_]+`,d=`(${c}|'(((?!').|'')*)')!`,p=`(${d})?\\${l}?[A-Za-z]+\\${l}?[0-9]+`,g=`(${d})?\\${l}?[A-Za-z]+`,f=`(${d})?\\${l}?[0-9]+`,m="[rR][0-9]*[cC][0-9]*",y=`(${p})[^${u}]`,E=`[${h}_][${u}]*`,w=["0","1","2","3","4","5","6","7","8","9"],C=[...Array.from(Array(26)).map(((e,t)=>t+"A".charCodeAt(0))),...Array.from(Array(26)).map(((e,t)=>t+"a".charCodeAt(0))),...Array.from(Array(496)).map(((e,t)=>t+192))].map((e=>String.fromCharCode(e))),v=new RegExp(`^(${d})?(\\${l}?)([A-Za-z]+)(\\${l}?)([0-9]+)$`),R=new RegExp(`^(${d})?(\\${l}?)([A-Za-z]+)$`),S=new RegExp(`^(${d})?(\\${l}?)([0-9]+)$`),T=new RegExp(`^${c}$`),N=(e,t,r)=>{const n=v.exec(t),s=A(n[6]);let i=P(n,e);if(void 0===i)return;null===i&&(i=void 0);const a=Number(n[8])-1;return n[5]===l&&n[7]===l?o.absolute(s,a,i):n[5]===l?o.absoluteCol(s,a-r.row,i):n[7]===l?o.absoluteRow(s-r.col,a,i):o.relative(s-r.col,a-r.row,i)},M=(e,t,r)=>{const n=R.exec(t);let i=P(n,e);if(void 0===i)return;null===i&&(i=void 0);const o=A(n[6]);return n[5]===l?s.absolute(o,i):s.relative(o-r.col,i)},_=(e,t,r)=>{const n=S.exec(t);let s=P(n,e);if(void 0===s)return;null===s&&(s=void 0);const o=Number(n[6])-1;return n[5]===l?i.absolute(o,s):i.relative(o-r.row,s)},b=(e,t,r)=>{const n=v.exec(t);if(!n)return;const s=A(n[6]);let i=P(n,e);if(void 0===i)return;null===i&&(i=r);const o=Number(n[8])-1;return _r(i,s,o)},O=(e,t,r)=>{const n=I(t.col),s=x(t.sheet,e);if(void 0!==s)return r!==t.sheet?`${s}!${n}${t.row+1}`:`${n}${t.row+1}`};function A(e){return 1===e.length?e.toUpperCase().charCodeAt(0)-65:e.split("").reduce(((e,t)=>26*e+(t.toUpperCase().charCodeAt(0)-64)),0)-1}function I(e){let t="";for(;e>=0;)t=String.fromCharCode(e%26+97)+t,e=Math.floor(e/26)-1;return t.toUpperCase()}function x(e,t){let r=t(e);if(void 0!==r)return T.test(r)?r:(r=r.replace(/'/g,"''"),`'${r}'`)}function P(e,t){var r;let n=null!==(r=e[3])&&void 0!==r?r:e[2];return n?(n=n.replace(/''/g,"'"),t(n)):null}var L=r(83012);
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const D=(e,t)=>({type:e,message:t});var k,H,F;!function(e){e.LexingError="LexingError",e.ParserError="ParsingError",e.StaticOffsetError="StaticOffsetError",e.StaticOffsetOutOfRangeError="StaticOffsetOutOfRangeError",e.RangeOffsetNotAllowed="RangeOffsetNotAllowed",e.InvalidRangeSize="InvalidRangeSize"}(k||(k={})),function(e){e.EMPTY="EMPTY",e.NUMBER="NUMBER",e.STRING="STRING",e.MINUS_UNARY_OP="MINUS_UNARY_OP",e.PLUS_UNARY_OP="PLUS_UNARY_OP",e.PERCENT_OP="PERCENT_OP",e.CONCATENATE_OP="CONCATENATE_OP",e.EQUALS_OP="EQUALS_OP",e.NOT_EQUAL_OP="NOT_EQUAL_OP",e.GREATER_THAN_OP="GREATER_THAN_OP",e.LESS_THAN_OP="LESS_THAN_OP",e.GREATER_THAN_OR_EQUAL_OP="GREATER_THAN_OR_EQUAL_OP",e.LESS_THAN_OR_EQUAL_OP="LESS_THAN_OR_EQUAL_OP",e.PLUS_OP="PLUS_OP",e.MINUS_OP="MINUS_OP",e.TIMES_OP="TIMES_OP",e.DIV_OP="DIV_OP",e.POWER_OP="POWER_OP",e.FUNCTION_CALL="FUNCTION_CALL",e.NAMED_EXPRESSION="NAMED_EXPRESSION",e.PARENTHESIS="PARENTHESES",e.CELL_REFERENCE="CELL_REFERENCE",e.CELL_RANGE="CELL_RANGE",e.COLUMN_RANGE="COLUMN_RANGE",e.ROW_RANGE="ROW_RANGE",e.ERROR="ERROR",e.ERROR_WITH_RAW_INPUT="ERROR_WITH_RAW_INPUT",e.ARRAY="ARRAY"}(H||(H={})),function(e){e[e.RELATIVE=0]="RELATIVE",e[e.START_ABSOLUTE=1]="START_ABSOLUTE",e[e.BOTH_ABSOLUTE=2]="BOTH_ABSOLUTE"}(F||(F={}));const U=(e,t)=>({type:H.CELL_REFERENCE,reference:e,leadingWhitespace:null==t?void 0:t.image}),V=(e,t,r,n)=>(j(e,t,r),{type:H.CELL_RANGE,start:e,end:t,sheetReferenceType:r,leadingWhitespace:n}),B=(e,t,r)=>({type:H.ARRAY,args:e,leadingWhitespace:null==t?void 0:t.image,internalWhitespace:null==r?void 0:r.image}),W=(e,t)=>({type:H.ERROR,error:e,leadingWhitespace:null==t?void 0:t.image}),Y=(e,t,r)=>({type:H.ERROR_WITH_RAW_INPUT,error:t,rawInput:e,leadingWhitespace:null==r?void 0:r.image}),G=()=>({type:H.ERROR,error:Rr.parsingError()});function j(e,t,r){if(void 0!==e.sheet&&void 0===t.sheet||void 0===e.sheet&&void 0!==t.sheet)throw new Error("Start address inconsistent with end address");if(void 0===e.sheet&&r!==F.RELATIVE||void 0!==e.sheet&&r===F.RELATIVE)throw new Error("Sheet address inconsistent with sheet reference type")}function z(e,t){return(null!=t?t:"")+e}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const $={[H.PLUS_OP]:"+",[H.MINUS_OP]:"-",[H.TIMES_OP]:"*",[H.DIV_OP]:"/",[H.CONCATENATE_OP]:"&",[H.POWER_OP]:"^",[H.EQUALS_OP]:"=",[H.NOT_EQUAL_OP]:"<>",[H.GREATER_THAN_OP]:">",[H.GREATER_THAN_OR_EQUAL_OP]:">=",[H.LESS_THAN_OP]:"<",[H.LESS_THAN_OR_EQUAL_OP]:"<="};class K{constructor(e){this.functionRegistry=e,this.cache=new Map}set(e,t){const r=((e,t,r,n)=>({ast:e,relativeDependencies:t,hasVolatileFunction:r,hasStructuralChangeFunction:n}))(t,Le(t,this.functionRegistry),X(t,this.functionRegistry.isFunctionVolatile),X(t,this.functionRegistry.isFunctionDependentOnSheetStructureChange));return this.cache.set(e,r),r}get(e){return this.cache.get(e)}maybeSetAndThenGet(e,t){const r=this.cache.get(e);return void 0!==r?r.ast:(this.set(e,t),t)}}const X=(e,t)=>{switch(e.type){case H.EMPTY:case H.NUMBER:case H.STRING:case H.ERROR:case H.ERROR_WITH_RAW_INPUT:case H.CELL_REFERENCE:case H.CELL_RANGE:case H.COLUMN_RANGE:case H.ROW_RANGE:case H.NAMED_EXPRESSION:return!1;case H.PERCENT_OP:case H.PLUS_UNARY_OP:case H.MINUS_UNARY_OP:return X(e.value,t);case H.CONCATENATE_OP:case H.EQUALS_OP:case H.NOT_EQUAL_OP:case H.LESS_THAN_OP:case H.GREATER_THAN_OP:case H.LESS_THAN_OR_EQUAL_OP:case H.GREATER_THAN_OR_EQUAL_OP:case H.MINUS_OP:case H.PLUS_OP:case H.TIMES_OP:case H.DIV_OP:case H.POWER_OP:return X(e.left,t)||X(e.right,t);case H.PARENTHESIS:return X(e.expression,t);case H.FUNCTION_CALL:return!!t(e.procedureName)||e.args.some((e=>X(e,t)));case H.ARRAY:return e.args.some((e=>e.some((e=>X(e,t)))))}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class q{}q.DistinctSigns="Distinct signs.",q.WrongArgNumber="Wrong number of arguments.",q.EmptyArg="Empty function argument.",q.EmptyArray="Empty array not allowed.",q.ArrayDimensions="Array dimensions are not compatible.",q.NoSpaceForArrayResult="No space for array result.",q.ValueSmall="Value too small.",q.ValueLarge="Value too large.",q.BadCriterion="Incorrect criterion.",q.RangeManySheets="Range spans more than one sheet.",q.CellRangeExpected="Cell range expected.",q.WrongDimension="Wrong range dimension.",q.ScalarExpected="Cell range not allowed.",q.NumberCoercion="Value cannot be coerced to number.",q.NumberExpected="Number argument expected.",q.IntegerExpected="Value needs to be an integer.",q.BadMode="Mode not recognized.",q.DateBounds="Date outside of bounds.",q.OutOfSheet="Resulting reference is out of the sheet.",q.WrongType="Wrong type of argument.",q.NaN="NaN or infinite value encountered.",q.EqualLength="Ranges need to be of equal length.",q.Negative="Value cannot be negative.",q.NotBinary="String does not represent a binary number.",q.NotOctal="String does not represent an octal number.",q.NotHex="String does not represent a hexadecimal number.",q.EndStartPeriod="End period needs to be at least start period.",q.CellRefExpected="Cell reference expected.",q.EmptyRange="Empty range not allowed.",q.BadRef="Address is not correct.",q.NumberRange="Number-only range expected.",q.ValueNotFound="Value not found.",q.ValueBaseLarge="Value in base too large.",q.ValueBaseSmall="Value in base too small.",q.ValueBaseLong="Value in base too long.",q.NegativeLength="Length cannot be negative.",q.PatternNotFound="Pattern not found.",q.OneValue="Needs at least one value.",q.TwoValues="Range needs to contain at least two elements.",q.ThreeValues="Range needs to contain at least three elements.",q.IndexBounds="Index out of bounds.",q.IndexLarge="Index too large.",q.Formula="Expected formula.",q.NegativeCount="Count cannot be negative.",q.ParseError="Parsing error.",q.SheetRef="Sheet does not exist.",q.PeriodLong="Period number cannot exceed life length.",q.InvalidDate="Invalid date.",q.BitshiftLong="Result of bitshift is too long.",q.EmptyString="Empty-string argument not allowed.",q.LengthBounds="Length out of bounds.",q.NegativeTime="Time cannot be negative.",q.NoDefault="No default option.",q.NoConditionMet="None of the conditions were met.",q.Selector="Selector cannot exceed the number of arguments.",q.StartEndDate="Start date needs to be earlier than end date.",q.IncorrectDateTime="String does not represent correct DateTime.",q.CharacterCodeBounds="Character code out of bounds.",q.NonZero="Argument cannot be 0.",q.LessThanOne="Argument cannot be less than 1.",q.WeekendString="Incorrect weekend bitmask string.",q.InvalidRoman="Invalid roman numeral.",q.WrongOrder="Wrong order of values.",q.ComplexNumberExpected="Complex number expected.",q.ShouldBeIorJ="Should be 'i' or 'j'.",q.SizeMismatch="Array dimensions mismatched.",q.FunctionName=e=>`Function name ${e} not recognized.`,q.NamedExpressionName=e=>`Named expression ${e} not recognized.`,q.LicenseKey=e=>`License key is ${e}.`;
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const Q=(0,L.createToken)({name:"AdditionOp",pattern:L.Lexer.NA}),Z=(0,L.createToken)({name:"PlusOp",pattern:/\+/,categories:Q}),J=(0,L.createToken)({name:"MinusOp",pattern:/-/,categories:Q}),ee=(0,L.createToken)({name:"MultiplicationOp",pattern:L.Lexer.NA}),te=(0,L.createToken)({name:"TimesOp",pattern:/\*/,categories:ee}),re=(0,L.createToken)({name:"DivOp",pattern:/\//,categories:ee}),ne=(0,L.createToken)({name:"PowerOp",pattern:/\^/}),se=(0,L.createToken)({name:"PercentOp",pattern:/%/}),ie=(0,L.createToken)({name:"BooleanOp",pattern:L.Lexer.NA}),oe=(0,L.createToken)({name:"EqualsOp",pattern:/=/,categories:ie}),ae=(0,L.createToken)({name:"NotEqualOp",pattern:/<>/,categories:ie}),le=(0,L.createToken)({name:"GreaterThanOp",pattern:/>/,categories:ie}),he=(0,L.createToken)({name:"LessThanOp",pattern:/</,categories:ie}),ue=(0,L.createToken)({name:"GreaterThanOrEqualOp",pattern:/>=/,categories:ie}),ce=(0,L.createToken)({name:"LessThanOrEqualOp",pattern:/<=/,categories:ie}),de=(0,L.createToken)({name:"ConcatenateOp",pattern:/&/}),pe=(0,L.createToken)({name:"LParen",pattern:/\(/}),ge=(0,L.createToken)({name:"RParen",pattern:/\)/}),fe=(0,L.createToken)({name:"ArrayLParen",pattern:/{/}),me=(0,L.createToken)({name:"ArrayRParen",pattern:/}/}),ye=(0,L.createToken)({name:"StringLiteral",pattern:/"([^"\\]*(\\.[^"\\]*)*)"/}),Ee=(0,L.createToken)({name:"ErrorLiteral",pattern:/#[A-Za-z0-9\/]+[?!]?/}),we=(0,L.createToken)({name:"RangeSeparator",pattern:new RegExp(a)}),Ce=(0,L.createToken)({name:"ColumnRange",pattern:new RegExp(`${g}${a}${g}`)}),ve=(0,L.createToken)({name:"RowRange",pattern:new RegExp(`${f}${a}${f}`)}),Re=(0,L.createToken)({name:"ProcedureName",pattern:new RegExp(`([${h}][${u}]*)\\(`)}),Se=new
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class{constructor(){this.POSSIBLE_START_CHARACTERS=[...C,...w,l,"'","_"],this.cellReferenceRegexp=new RegExp(y,"y")}match(e,t){this.cellReferenceRegexp.lastIndex=t;const r=this.cellReferenceRegexp.exec(e+"@");return null==r||null==r[1]?null:(r[0]=r[1],r)}},Te=(0,L.createToken)({name:"CellReference",pattern:Se.match.bind(Se),start_chars_hint:Se.POSSIBLE_START_CHARACTERS,line_breaks:!1}),Ne=new
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class{constructor(){this.POSSIBLE_START_CHARACTERS=[...C,"_"],this.namedExpressionRegexp=new RegExp(E,"y"),this.r1c1CellRefRegexp=new RegExp(`^${m}$`)}match(e,t){this.namedExpressionRegexp.lastIndex=t;const r=this.namedExpressionRegexp.exec(e);return null==r||null==r[0]||this.r1c1CellRefRegexp.test(r[0])?null:r}},Me=(0,L.createToken)({name:"NamedExpression",pattern:Ne.match.bind(Ne),start_chars_hint:Ne.POSSIBLE_START_CHARACTERS,line_breaks:!1}),_e=e=>{const t=e.translationPackage.getFunctionTranslation("OFFSET"),r=e.errorMapping,n=e.translationPackage.buildFunctionMapping(),s=new RegExp("standard"===e.ignoreWhiteSpace?"[ \\t\\n\\r]+":"\\s+"),i=(0,L.createToken)({name:"WhiteSpace",pattern:s}),o=(0,L.createToken)({name:"ArrayRowSep",pattern:e.arrayRowSeparator}),a=(0,L.createToken)({name:"ArrayColSep",pattern:e.arrayColumnSeparator}),l=(0,L.createToken)({name:"NumberLiteral",pattern:new RegExp(`(([${e.decimalSeparator}]\\d+)|(\\d+([${e.decimalSeparator}]\\d*)?))(e[+-]?\\d+)?`)}),h=(0,L.createToken)({name:"OffsetProcedureName",pattern:new RegExp(t,"i")});let u,c;e.functionArgSeparator===e.arrayColumnSeparator?(u=a,c=[]):e.functionArgSeparator===e.arrayRowSeparator?(u=o,c=[]):(u=(0,L.createToken)({name:"ArgSeparator",pattern:e.functionArgSeparator}),c=[u]);return{ArgSeparator:u,NumberLiteral:l,OffsetProcedureName:h,ArrayRowSeparator:o,ArrayColSeparator:a,WhiteSpace:i,allTokens:[i,Z,J,te,re,ne,oe,ae,se,ue,ce,le,he,pe,ge,fe,me,h,Re,we,...c,Ce,ve,l,ye,Ee,de,ie,Q,ee,Te,Me,o,a],errorMapping:r,functionMapping:n,decimalSeparator:e.decimalSeparator,maxColumns:e.maxColumns,maxRows:e.maxRows}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class be extends L.EmbeddedActionsParser{constructor(e,t){super(e.allTokens,{outputCst:!1,maxLookahead:7}),this.booleanExpressionOrEmpty=this.RULE("booleanExpressionOrEmpty",(()=>{return this.OR([{ALT:()=>this.SUBRULE(this.booleanExpression)},{ALT:(0,L.EMPTY_ALT)({type:H.EMPTY,leadingWhitespace:null==e?void 0:e.image})}]);var e})),this.procedureExpression=this.RULE("procedureExpression",(()=>{var e;const t=this.CONSUME(Re),r=t.image.toUpperCase().slice(0,-1),n=null!==(e=this.lexerConfig.functionMapping[r])&&void 0!==e?e:r,s=[];let i=this.SUBRULE(this.booleanExpressionOrEmpty);this.MANY((()=>{var e;const t=this.CONSUME(this.lexerConfig.ArgSeparator);i.type===H.EMPTY&&(i.leadingWhitespace=null===(e=t.leadingWhitespace)||void 0===e?void 0:e.image),s.push(i),i=this.SUBRULE2(this.booleanExpressionOrEmpty)})),s.push(i),1===s.length&&s[0].type===H.EMPTY&&(s.length=0);const o=this.CONSUME(ge);return((e,t,r,n,s)=>({type:H.FUNCTION_CALL,procedureName:e,args:t,leadingWhitespace:null==r?void 0:r.image,internalWhitespace:null==n?void 0:n.image,hyperlink:s}))(n,s,t.leadingWhitespace,o.leadingWhitespace)})),this.namedExpressionExpression=this.RULE("namedExpressionExpression",(()=>{const e=this.CONSUME(Me);return t=e.image,r=e.leadingWhitespace,{type:H.NAMED_EXPRESSION,expressionName:t,leadingWhitespace:null==r?void 0:r.image};var t,r})),this.offsetProcedureExpression=this.RULE("offsetProcedureExpression",(()=>{const e=[];return this.CONSUME(this.lexerConfig.OffsetProcedureName),this.CONSUME(pe),this.MANY_SEP({SEP:this.lexerConfig.ArgSeparator,DEF:()=>{e.push(this.SUBRULE(this.booleanExpression))}}),this.CONSUME(ge),this.handleOffsetHeuristic(e)})),this.columnRangeExpression=this.RULE("columnRangeExpression",(()=>{const e=this.CONSUME(Ce),[t,r]=e.image.split(":"),n=this.ACTION((()=>M(this.sheetMapping,t,this.formulaAddress))),s=this.ACTION((()=>M(this.sheetMapping,r,this.formulaAddress)));if(void 0===n||void 0===s)return W(new Rr(nr.REF));if(n.exceedsSheetSizeLimits(this.lexerConfig.maxColumns)||s.exceedsSheetSizeLimits(this.lexerConfig.maxColumns))return Y(e.image,new Rr(nr.NAME),e.leadingWhitespace);if(void 0===n.sheet&&void 0!==s.sheet)return this.parsingError(k.ParserError,"Malformed range expression");const{firstEnd:i,secondEnd:o,sheetRefType:a}=be.fixSheetIdsForRangeEnds(n,s);return l=i,h=o,u=a,c=e.leadingWhitespace,j(l,h,u),{type:H.COLUMN_RANGE,start:l,end:h,sheetReferenceType:u,leadingWhitespace:null==c?void 0:c.image};var l,h,u,c})),this.rowRangeExpression=this.RULE("rowRangeExpression",(()=>{const e=this.CONSUME(ve),[t,r]=e.image.split(":"),n=this.ACTION((()=>_(this.sheetMapping,t,this.formulaAddress))),s=this.ACTION((()=>_(this.sheetMapping,r,this.formulaAddress)));if(void 0===n||void 0===s)return W(new Rr(nr.REF));if(n.exceedsSheetSizeLimits(this.lexerConfig.maxRows)||s.exceedsSheetSizeLimits(this.lexerConfig.maxRows))return Y(e.image,new Rr(nr.NAME),e.leadingWhitespace);if(void 0===n.sheet&&void 0!==s.sheet)return this.parsingError(k.ParserError,"Malformed range expression");const{firstEnd:i,secondEnd:o,sheetRefType:a}=be.fixSheetIdsForRangeEnds(n,s);return l=i,h=o,u=a,c=e.leadingWhitespace,j(l,h,u),{type:H.ROW_RANGE,start:l,end:h,sheetReferenceType:u,leadingWhitespace:null==c?void 0:c.image};var l,h,u,c})),this.cellReference=this.RULE("cellReference",(()=>{const e=this.CONSUME(Te),t=this.ACTION((()=>N(this.sheetMapping,e.image,this.formulaAddress)));return void 0===t?Y(e.image,new Rr(nr.REF),e.leadingWhitespace):t.exceedsSheetSizeLimits(this.lexerConfig.maxColumns,this.lexerConfig.maxRows)?Y(e.image,new Rr(nr.NAME),e.leadingWhitespace):U(t,e.leadingWhitespace)})),this.endRangeReference=this.RULE("endRangeReference",(e=>{var t;const r=this.CONSUME(Te),n=this.ACTION((()=>N(this.sheetMapping,e.image,this.formulaAddress))),s=this.ACTION((()=>N(this.sheetMapping,r.image,this.formulaAddress)));return void 0===n||void 0===s?this.ACTION((()=>Y(`${e.image}:${r.image}`,new Rr(nr.REF),e.leadingWhitespace))):n.exceedsSheetSizeLimits(this.lexerConfig.maxColumns,this.lexerConfig.maxRows)||s.exceedsSheetSizeLimits(this.lexerConfig.maxColumns,this.lexerConfig.maxRows)?this.ACTION((()=>Y(`${e.image}:${r.image}`,new Rr(nr.NAME),e.leadingWhitespace))):this.buildCellRange(n,s,null===(t=e.leadingWhitespace)||void 0===t?void 0:t.image)})),this.endOfRangeExpression=this.RULE("endOfRangeExpression",(e=>this.OR([{ALT:()=>this.SUBRULE(this.endRangeReference,{ARGS:[e]})},{ALT:()=>{var t;const r=this.SUBRULE(this.offsetProcedureExpression),n=this.ACTION((()=>N(this.sheetMapping,e.image,this.formulaAddress)));return void 0===n?W(new Rr(nr.REF)):r.type===H.CELL_REFERENCE?this.buildCellRange(n,r.reference,null===(t=e.leadingWhitespace)||void 0===t?void 0:t.image):this.parsingError(k.RangeOffsetNotAllowed,"Range offset not allowed here")}}]))),this.cellRangeExpression=this.RULE("cellRangeExpression",(()=>{const e=this.CONSUME(Te);return this.CONSUME2(we),this.SUBRULE(this.endOfRangeExpression,{ARGS:[e]})})),this.endRangeWithOffsetStartReference=this.RULE("endRangeWithOffsetStartReference",(e=>{const t=this.CONSUME(Te),r=this.ACTION((()=>N(this.sheetMapping,t.image,this.formulaAddress)));return void 0===r?this.ACTION((()=>W(new Rr(nr.REF)))):this.buildCellRange(e.reference,r,e.leadingWhitespace)})),this.endOfRangeWithOffsetStartExpression=this.RULE("endOfRangeWithOffsetStartExpression",(e=>this.OR([{ALT:()=>this.SUBRULE(this.endRangeWithOffsetStartReference,{ARGS:[e]})},{ALT:()=>{const t=this.SUBRULE(this.offsetProcedureExpression);return t.type===H.CELL_REFERENCE?this.buildCellRange(e.reference,t.reference,e.leadingWhitespace):this.parsingError(k.RangeOffsetNotAllowed,"Range offset not allowed here")}}]))),this.offsetExpression=this.RULE("offsetExpression",(()=>{const e=this.SUBRULE(this.offsetProcedureExpression);let t;return this.OPTION((()=>{this.CONSUME(we),t=e.type===H.CELL_RANGE?this.parsingError(k.RangeOffsetNotAllowed,"Range offset not allowed here"):this.SUBRULE(this.endOfRangeWithOffsetStartExpression,{ARGS:[e]})})),void 0!==t?t:e})),this.insideArrayExpression=this.RULE("insideArrayExpression",(()=>{const e=[[]];return e[e.length-1].push(this.SUBRULE(this.booleanExpression)),this.MANY((()=>{this.OR([{ALT:()=>{this.CONSUME(this.lexerConfig.ArrayColSeparator),e[e.length-1].push(this.SUBRULE2(this.booleanExpression))}},{ALT:()=>{this.CONSUME(this.lexerConfig.ArrayRowSeparator),e.push([]),e[e.length-1].push(this.SUBRULE3(this.booleanExpression))}}])})),B(e)})),this.parenthesisExpression=this.RULE("parenthesisExpression",(()=>{const e=this.CONSUME(pe),t=this.SUBRULE(this.booleanExpression),r=this.CONSUME(ge);return((e,t,r)=>({type:H.PARENTHESIS,expression:e,leadingWhitespace:null==t?void 0:t.image,internalWhitespace:null==r?void 0:r.image}))(t,e.leadingWhitespace,r.leadingWhitespace)})),this.arrayExpression=this.RULE("arrayExpression",(()=>this.OR([{ALT:()=>{const e=this.CONSUME(fe),t=this.SUBRULE(this.insideArrayExpression),r=this.CONSUME(me);return B(t.args,e.leadingWhitespace,r.leadingWhitespace)}},{ALT:()=>this.SUBRULE(this.parenthesisExpression)}]))),this.numericStringToNumber=e=>{const t=e.replace(this.lexerConfig.decimalSeparator,".");return Number(t)},this.positiveAtomicExpression=this.RULE("positiveAtomicExpression",(()=>{var e;return this.OR(null!==(e=this.atomicExpCache)&&void 0!==e?e:this.atomicExpCache=[{ALT:()=>this.SUBRULE(this.arrayExpression)},{ALT:()=>this.SUBRULE(this.cellRangeExpression)},{ALT:()=>this.SUBRULE(this.columnRangeExpression)},{ALT:()=>this.SUBRULE(this.rowRangeExpression)},{ALT:()=>this.SUBRULE(this.offsetExpression)},{ALT:()=>this.SUBRULE(this.cellReference)},{ALT:()=>this.SUBRULE(this.procedureExpression)},{ALT:()=>this.SUBRULE(this.namedExpressionExpression)},{ALT:()=>{const e=this.CONSUME(this.lexerConfig.NumberLiteral);return t=this.numericStringToNumber(e.image),r=e.leadingWhitespace,{type:H.NUMBER,value:t,leadingWhitespace:null==r?void 0:r.image};var t,r}},{ALT:()=>(e=>{var t;return{type:H.STRING,value:e.image.slice(1,-1),leadingWhitespace:null===(t=e.leadingWhitespace)||void 0===t?void 0:t.image}})(this.CONSUME(ye))},{ALT:()=>{const e=this.CONSUME(Ee),t=e.image.toUpperCase(),r=this.lexerConfig.errorMapping[t];return r?W(new Rr(r),e.leadingWhitespace):this.parsingError(k.ParserError,"Unknown error literal")}}])})),this.rightUnaryOpAtomicExpression=this.RULE("rightUnaryOpAtomicExpression",(()=>{const e=this.SUBRULE(this.positiveAtomicExpression),t=this.OPTION((()=>this.CONSUME(se)));return t?(r=e,n=t.leadingWhitespace,{type:H.PERCENT_OP,value:r,leadingWhitespace:null==n?void 0:n.image}):e;var r,n})),this.atomicExpression=this.RULE("atomicExpression",(()=>this.OR([{ALT:()=>{const e=this.CONSUME(Q),t=this.SUBRULE(this.atomicExpression);return(0,L.tokenMatcher)(e,Z)?((e,t)=>({type:H.PLUS_UNARY_OP,value:e,leadingWhitespace:null==t?void 0:t.image}))(t,e.leadingWhitespace):(0,L.tokenMatcher)(e,J)?((e,t)=>({type:H.MINUS_UNARY_OP,value:e,leadingWhitespace:null==t?void 0:t.image}))(t,e.leadingWhitespace):(this.customParsingError=D(k.ParserError,"Mismatched token type"),this.customParsingError)}},{ALT:()=>this.SUBRULE2(this.rightUnaryOpAtomicExpression)}]))),this.powerExpression=this.RULE("powerExpression",(()=>{let e=this.SUBRULE(this.atomicExpression);return this.MANY((()=>{const t=this.CONSUME(ne),r=this.SUBRULE2(this.atomicExpression);var n,s,i;(0,L.tokenMatcher)(t,ne)?(n=e,s=r,i=t.leadingWhitespace,e={type:H.POWER_OP,left:n,right:s,leadingWhitespace:null==i?void 0:i.image}):this.ACTION((()=>{throw Error("Operator not supported")}))})),e})),this.multiplicationExpression=this.RULE("multiplicationExpression",(()=>{let e=this.SUBRULE(this.powerExpression);return this.MANY((()=>{const t=this.CONSUME(ee),r=this.SUBRULE2(this.powerExpression);var n,s,i;(0,L.tokenMatcher)(t,te)?(n=e,s=r,i=t.leadingWhitespace,e={type:H.TIMES_OP,left:n,right:s,leadingWhitespace:null==i?void 0:i.image}):(0,L.tokenMatcher)(t,re)?e=((e,t,r)=>({type:H.DIV_OP,left:e,right:t,leadingWhitespace:null==r?void 0:r.image}))(e,r,t.leadingWhitespace):this.ACTION((()=>{throw Error("Operator not supported")}))})),e})),this.additionExpression=this.RULE("additionExpression",(()=>{let e=this.SUBRULE(this.multiplicationExpression);return this.MANY((()=>{const t=this.CONSUME(Q),r=this.SUBRULE2(this.multiplicationExpression);var n,s,i;(0,L.tokenMatcher)(t,Z)?(n=e,s=r,i=t.leadingWhitespace,e={type:H.PLUS_OP,left:n,right:s,leadingWhitespace:null==i?void 0:i.image}):(0,L.tokenMatcher)(t,J)?e=((e,t,r)=>({type:H.MINUS_OP,left:e,right:t,leadingWhitespace:null==r?void 0:r.image}))(e,r,t.leadingWhitespace):this.ACTION((()=>{throw Error("Operator not supported")}))})),e})),this.concatenateExpression=this.RULE("concatenateExpression",(()=>{let e=this.SUBRULE(this.additionExpression);return this.MANY((()=>{const t=this.CONSUME(de),r=this.SUBRULE2(this.additionExpression);var n,s,i;n=e,s=r,i=t.leadingWhitespace,e={type:H.CONCATENATE_OP,left:n,right:s,leadingWhitespace:null==i?void 0:i.image}})),e})),this.booleanExpression=this.RULE("booleanExpression",(()=>{let e=this.SUBRULE(this.concatenateExpression);return this.MANY((()=>{const t=this.CONSUME(ie),r=this.SUBRULE2(this.concatenateExpression);var n,s,i;(0,L.tokenMatcher)(t,oe)?(n=e,s=r,i=t.leadingWhitespace,e={type:H.EQUALS_OP,left:n,right:s,leadingWhitespace:null==i?void 0:i.image}):(0,L.tokenMatcher)(t,ae)?e=((e,t,r)=>({type:H.NOT_EQUAL_OP,left:e,right:t,leadingWhitespace:null==r?void 0:r.image}))(e,r,t.leadingWhitespace):(0,L.tokenMatcher)(t,le)?e=((e,t,r)=>({type:H.GREATER_THAN_OP,left:e,right:t,leadingWhitespace:null==r?void 0:r.image}))(e,r,t.leadingWhitespace):(0,L.tokenMatcher)(t,he)?e=((e,t,r)=>({type:H.LESS_THAN_OP,left:e,right:t,leadingWhitespace:null==r?void 0:r.image}))(e,r,t.leadingWhitespace):(0,L.tokenMatcher)(t,ue)?e=((e,t,r)=>({type:H.GREATER_THAN_OR_EQUAL_OP,left:e,right:t,leadingWhitespace:null==r?void 0:r.image}))(e,r,t.leadingWhitespace):(0,L.tokenMatcher)(t,ce)?e=((e,t,r)=>({type:H.LESS_THAN_OR_EQUAL_OP,left:e,right:t,leadingWhitespace:null==r?void 0:r.image}))(e,r,t.leadingWhitespace):this.ACTION((()=>{throw Error("Operator not supported")}))})),e})),this.formula=this.RULE("formula",(()=>(this.CONSUME(oe),this.SUBRULE(this.booleanExpression)))),this.lexerConfig=e,this.sheetMapping=t,this.formulaAddress=_r(0,0,0),this.performSelfAnalysis()}parseFromTokens(e,t){this.input=e;let r=this.formulaWithContext(t),n=[];return this.customParsingError&&n.push(this.customParsingError),n=n.concat(this.errors.map((e=>({type:k.ParserError,message:e.message})))),n.length>0&&(r=G()),{ast:r,errors:n}}reset(){super.reset(),this.customParsingError=void 0}formulaWithContext(e){return this.formulaAddress=e,this.formula()}buildCellRange(e,t,r){if(void 0===e.sheet&&void 0!==t.sheet)return this.parsingError(k.ParserError,"Malformed range expression");const{firstEnd:n,secondEnd:s,sheetRefType:i}=be.fixSheetIdsForRangeEnds(e,t);return V(n,s,i,r)}static fixSheetIdsForRangeEnds(e,t){const r=be.rangeSheetReferenceType(e.sheet,t.sheet);return{firstEnd:e,secondEnd:void 0!==e.sheet&&void 0===t.sheet?t.withSheet(e.sheet):t,sheetRefType:r}}handleOffsetHeuristic(e){const r=e[0];if(r.type!==H.CELL_REFERENCE)return this.parsingError(k.StaticOffsetError,"First argument to OFFSET is not a reference");const n=e[1];let s;if(n.type===H.NUMBER&&Number.isInteger(n.value))s=n.value;else if(n.type===H.PLUS_UNARY_OP&&n.value.type===H.NUMBER&&Number.isInteger(n.value.value))s=n.value.value;else{if(n.type!==H.MINUS_UNARY_OP||n.value.type!==H.NUMBER||!Number.isInteger(n.value.value))return this.parsingError(k.StaticOffsetError,"Second argument to OFFSET is not a static number");s=-n.value.value}const i=e[2];let a;if(i.type===H.NUMBER&&Number.isInteger(i.value))a=i.value;else if(i.type===H.PLUS_UNARY_OP&&i.value.type===H.NUMBER&&Number.isInteger(i.value.value))a=i.value.value;else{if(i.type!==H.MINUS_UNARY_OP||i.value.type!==H.NUMBER||!Number.isInteger(i.value.value))return this.parsingError(k.StaticOffsetError,"Third argument to OFFSET is not a static number");a=-i.value.value}const l=e[3];let h;if(void 0===l)h=1;else{if(l.type!==H.NUMBER)return this.parsingError(k.StaticOffsetError,"Fourth argument to OFFSET is not a static number");if(h=l.value,h<1)return this.parsingError(k.StaticOffsetError,"Fourth argument to OFFSET is too small number");if(!Number.isInteger(h))return this.parsingError(k.StaticOffsetError,"Fourth argument to OFFSET is not integer")}const u=e[4];let c;if(void 0===u)c=1;else{if(u.type!==H.NUMBER)return this.parsingError(k.StaticOffsetError,"Fifth argument to OFFSET is not a static number");if(c=u.value,c<1)return this.parsingError(k.StaticOffsetError,"Fifth argument to OFFSET is too small number");if(!Number.isInteger(c))return this.parsingError(k.StaticOffsetError,"Fifth argument to OFFSET is not integer")}const d=new o(r.reference.col+a,r.reference.row+s,r.reference.type);let p=d.col,g=d.row;if(r.reference.type!==t.CELL_REFERENCE_RELATIVE&&r.reference.type!==t.CELL_REFERENCE_ABSOLUTE_COL||(g+=this.formulaAddress.row),r.reference.type!==t.CELL_REFERENCE_RELATIVE&&r.reference.type!==t.CELL_REFERENCE_ABSOLUTE_ROW||(p+=this.formulaAddress.col),p<0||g<0)return W(new Rr(nr.REF,q.OutOfSheet));if(1===c&&1===h)return U(d);{const e=new o(d.col+c-1,d.row+h-1,d.type);return V(d,e,F.RELATIVE)}}parsingError(e,t){return this.customParsingError=D(e,t),G()}static rangeSheetReferenceType(e,t){return void 0===e?F.RELATIVE:void 0===t?F.START_ABSOLUTE:F.BOTH_ABSOLUTE}}class Oe{constructor(e){this.lexerConfig=e,this.lexer=new L.Lexer(e.allTokens,{ensureOptimizations:!0})}tokenizeFormula(e){const t=this.lexer.tokenize(e);let r=t.tokens;return r=this.trimTrailingWhitespaces(r),r=this.skipWhitespacesInsideRanges(r),r=this.skipWhitespacesBeforeArgSeparators(r),t.tokens=r,t}skipWhitespacesInsideRanges(e){return Oe.filterTokensByNeighbors(e,((e,t,r)=>((0,L.tokenMatcher)(e,Te)||(0,L.tokenMatcher)(e,we))&&(0,L.tokenMatcher)(t,this.lexerConfig.WhiteSpace)&&((0,L.tokenMatcher)(r,Te)||(0,L.tokenMatcher)(r,we))))}skipWhitespacesBeforeArgSeparators(e){return Oe.filterTokensByNeighbors(e,((e,t,r)=>!(0,L.tokenMatcher)(e,this.lexerConfig.ArgSeparator)&&(0,L.tokenMatcher)(t,this.lexerConfig.WhiteSpace)&&(0,L.tokenMatcher)(r,this.lexerConfig.ArgSeparator)))}static filterTokensByNeighbors(e,t){if(e.length<3)return e;let r=0;const n=[e[r++]];for(;r<e.length-1;)t(e[r-1],e[r],e[r+1])||n.push(e[r]),++r;return n.push(e[r]),n}trimTrailingWhitespaces(e){return e.length>0&&(0,L.tokenMatcher)(e[e.length-1],this.lexerConfig.WhiteSpace)&&e.pop(),e}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ae{constructor(e,t,r,n){this.config=e,this.lexerConfig=t,this.sheetMappingFn=r,this.namedExpressions=n}unparse(e,t){return"="+this.unparseAst(e,t)}unparseAst(e,t){var r,n;switch(e.type){case H.EMPTY:return z("",e.leadingWhitespace);case H.NUMBER:return z(Ie(e.value,this.config.decimalSeparator),e.leadingWhitespace);case H.STRING:return z('"'+e.value+'"',e.leadingWhitespace);case H.FUNCTION_CALL:{const r=e.args.map((e=>void 0!==e?this.unparseAst(e,t):"")).join(this.config.functionArgSeparator),n=(this.config.translationPackage.isFunctionTranslated(e.procedureName)?this.config.translationPackage.getFunctionTranslation(e.procedureName):e.procedureName)+"("+r+z(")",e.internalWhitespace);return z(n,e.leadingWhitespace)}case H.NAMED_EXPRESSION:return z((null===(r=this.namedExpressions.nearestNamedExpression(e.expressionName,t.sheet))||void 0===r?void 0:r.displayName)||e.expressionName,e.leadingWhitespace);case H.CELL_REFERENCE:{let r;return r=void 0!==e.reference.sheet?this.unparseSheetName(e.reference.sheet)+"!":"",r+=null!==(n=e.reference.unparse(t))&&void 0!==n?n:this.config.translationPackage.getErrorTranslation(nr.REF),z(r,e.leadingWhitespace)}case H.COLUMN_RANGE:case H.ROW_RANGE:case H.CELL_RANGE:return z(this.formatRange(e,t),e.leadingWhitespace);case H.PLUS_UNARY_OP:{const r=this.unparseAst(e.value,t);return z("+",e.leadingWhitespace)+r}case H.MINUS_UNARY_OP:{const r=this.unparseAst(e.value,t);return z("-",e.leadingWhitespace)+r}case H.PERCENT_OP:return this.unparseAst(e.value,t)+z("%",e.leadingWhitespace);case H.ERROR:return z(this.config.translationPackage.getErrorTranslation(e.error?e.error.type:nr.ERROR),e.leadingWhitespace);case H.ERROR_WITH_RAW_INPUT:return z(e.rawInput,e.leadingWhitespace);case H.PARENTHESIS:{const r="("+this.unparseAst(e.expression,t)+z(")",e.internalWhitespace);return z(r,e.leadingWhitespace)}case H.ARRAY:{const r="{"+e.args.map((e=>e.map((e=>this.unparseAst(e,t))).join(this.config.arrayColumnSeparator))).join(this.config.arrayRowSeparator)+z("}",e.internalWhitespace);return z(r,e.leadingWhitespace)}default:{const r=this.unparseAst(e.left,t),n=this.unparseAst(e.right,t);return r+z($[e.type],e.leadingWhitespace)+n}}}unparseSheetName(e){const t=x(e,this.sheetMappingFn);if(void 0===t)throw new ot(e);return t}formatRange(e,t){let r="",n="";void 0!==e.start.sheet&&e.sheetReferenceType!==F.RELATIVE&&(r=this.unparseSheetName(e.start.sheet)+"!"),void 0!==e.end.sheet&&e.sheetReferenceType===F.BOTH_ABSOLUTE&&(n=this.unparseSheetName(e.end.sheet)+"!");const s=e.start.unparse(t),i=e.end.unparse(t);return void 0===s||void 0===i?this.config.translationPackage.getErrorTranslation(nr.REF):`${r}${s}:${n}${i}`}}function Ie(e,t){return e.toString().replace(".",t)}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class xe{constructor(e,t,r){this.config=e,this.functionRegistry=t,this.sheetMapping=r,this.statsCacheUsed=0,this.lexerConfig=_e(e),this.lexer=new Oe(this.lexerConfig),this.formulaParser=new be(this.lexerConfig,this.sheetMapping),this.cache=new K(this.functionRegistry)}parse(e,t){this.formulaAddress=t;const r=this.tokenizeFormula(e);if(r.errors.length>0){const e=r.errors.map((e=>({type:k.LexingError,message:e.message})));return{ast:G(),errors:e,hasVolatileFunction:!1,hasStructuralChangeFunction:!1,dependencies:[]}}const n=this.computeHashFromTokens(r.tokens,t);let s=this.cache.get(n);if(void 0!==s)++this.statsCacheUsed;else{const e=this.bindWhitespacesToTokens(r.tokens),i=this.formulaParser.parseFromTokens(e,t);if(i.errors.length>0)return Object.assign(Object.assign({},i),{hasVolatileFunction:!1,hasStructuralChangeFunction:!1,dependencies:[]});s=this.cache.set(n,i.ast)}const{ast:i,hasVolatileFunction:o,hasStructuralChangeFunction:a}=s,l=this.convertReversedRangesToRegularRanges(i);return{ast:l,errors:[],hasVolatileFunction:o,hasStructuralChangeFunction:a,dependencies:Le(l,this.functionRegistry)}}convertReversedRangesToRegularRanges(e){switch(e.type){case H.EMPTY:case H.NUMBER:case H.STRING:case H.ERROR:case H.ERROR_WITH_RAW_INPUT:case H.CELL_REFERENCE:case H.NAMED_EXPRESSION:return e;case H.CELL_RANGE:{const{start:t,end:r}=e,n=this.orderCellRangeEnds(t,r);return Object.assign(Object.assign({},e),{start:n.start,end:n.end})}case H.COLUMN_RANGE:{const{start:t,end:r}=e,n=this.orderColumnRangeEnds(t,r);return Object.assign(Object.assign({},e),{start:n.start,end:n.end})}case H.ROW_RANGE:{const{start:t,end:r}=e,n=this.orderRowRangeEnds(t,r);return Object.assign(Object.assign({},e),{start:n.start,end:n.end})}case H.PERCENT_OP:case H.PLUS_UNARY_OP:case H.MINUS_UNARY_OP:{const t=this.convertReversedRangesToRegularRanges(e.value);return Object.assign(Object.assign({},e),{value:t})}case H.CONCATENATE_OP:case H.EQUALS_OP:case H.NOT_EQUAL_OP:case H.LESS_THAN_OP:case H.GREATER_THAN_OP:case H.LESS_THAN_OR_EQUAL_OP:case H.GREATER_THAN_OR_EQUAL_OP:case H.MINUS_OP:case H.PLUS_OP:case H.TIMES_OP:case H.DIV_OP:case H.POWER_OP:{const t=this.convertReversedRangesToRegularRanges(e.left),r=this.convertReversedRangesToRegularRanges(e.right);return Object.assign(Object.assign({},e),{left:t,right:r})}case H.PARENTHESIS:{const t=this.convertReversedRangesToRegularRanges(e.expression);return Object.assign(Object.assign({},e),{expression:t})}case H.FUNCTION_CALL:{const t=e.args.map((e=>this.convertReversedRangesToRegularRanges(e)));return Object.assign(Object.assign({},e),{args:t})}case H.ARRAY:{const t=e.args.map((e=>e.map((e=>this.convertReversedRangesToRegularRanges(e)))));return Object.assign(Object.assign({},e),{args:t})}}}orderCellRangeEnds(e,t){const r=[e,t],[n,a]=r.map((e=>e.toColumnAddress())).sort(s.compareByAbsoluteAddress(this.formulaAddress)),[l,h]=r.map((e=>e.toRowAddress())).sort(i.compareByAbsoluteAddress(this.formulaAddress)),[u,c]=r.map((e=>e.sheet)).sort(xe.compareSheetIds.bind(this));return{start:o.fromColAndRow(n,l,u),end:o.fromColAndRow(a,h,c)}}orderColumnRangeEnds(e,t){const r=[e,t],[n,i]=r.sort(s.compareByAbsoluteAddress(this.formulaAddress)),[o,a]=r.map((e=>e.sheet)).sort(xe.compareSheetIds.bind(this));return{start:new s(n.type,n.col,o),end:new s(i.type,i.col,a)}}orderRowRangeEnds(e,t){const r=[e,t],[n,s]=r.sort(i.compareByAbsoluteAddress(this.formulaAddress)),[o,a]=r.map((e=>e.sheet)).sort(xe.compareSheetIds.bind(this));return{start:new i(n.type,n.row,o),end:new i(s.type,s.row,a)}}static compareSheetIds(e,t){return(e=null!=e?e:1/0)-(t=null!=t?t:1/0)}fetchCachedResultForAst(e){const t=this.computeHashFromAst(e);return this.fetchCachedResult(t)}fetchCachedResult(e){const t=this.cache.get(e);if(void 0===t)throw new Error("There is no AST with such key in the cache");{const{ast:e,hasVolatileFunction:r,hasStructuralChangeFunction:n,relativeDependencies:s}=t;return{ast:e,errors:[],hasVolatileFunction:r,hasStructuralChangeFunction:n,dependencies:s}}}computeHashFromTokens(e,t){var r;let n="",s=0;for(;s<e.length;){const i=e[s];if((0,L.tokenMatcher)(i,Te)){const e=N(this.sheetMapping,i.image,t);n=void 0===e?n.concat(i.image):n.concat(e.hash(!0))}else if((0,L.tokenMatcher)(i,Re)){const e=i.image.toUpperCase().slice(0,-1),t=null!==(r=this.lexerConfig.functionMapping[e])&&void 0!==r?r:e;n=n.concat(t,"(")}else if((0,L.tokenMatcher)(i,Ce)){const[e,r]=i.image.split(":"),s=M(this.sheetMapping,e,t),o=M(this.sheetMapping,r,t);n=void 0===s||void 0===o?n.concat("!REF"):n.concat(s.hash(!0),":",o.hash(!0))}else if((0,L.tokenMatcher)(i,ve)){const[e,r]=i.image.split(":"),s=_(this.sheetMapping,e,t),o=_(this.sheetMapping,r,t);n=void 0===s||void 0===o?n.concat("!REF"):n.concat(s.hash(!0),":",o.hash(!0))}else n=n.concat(i.image);s++}return n}rememberNewAst(e){const t=this.computeHashFromAst(e);return this.cache.maybeSetAndThenGet(t,e)}computeHashFromAst(e){return"="+this.computeHashOfAstNode(e)}computeHashOfAstNode(e){switch(e.type){case H.EMPTY:return e.leadingWhitespace||"";case H.NUMBER:return z(Ie(e.value,this.config.decimalSeparator),e.leadingWhitespace);case H.STRING:return z('"'+e.value+'"',e.leadingWhitespace);case H.NAMED_EXPRESSION:return z(e.expressionName,e.leadingWhitespace);case H.FUNCTION_CALL:{const t=e.args.map((e=>this.computeHashOfAstNode(e))).join(this.config.functionArgSeparator),r=e.procedureName+"("+t+z(")",e.internalWhitespace);return z(r,e.leadingWhitespace)}case H.CELL_REFERENCE:return z(e.reference.hash(!0),e.leadingWhitespace);case H.COLUMN_RANGE:case H.ROW_RANGE:case H.CELL_RANGE:return z(e.start.hash(e.sheetReferenceType!==F.RELATIVE)+":"+e.end.hash(e.sheetReferenceType===F.BOTH_ABSOLUTE),e.leadingWhitespace);case H.MINUS_UNARY_OP:return z("-"+this.computeHashOfAstNode(e.value),e.leadingWhitespace);case H.PLUS_UNARY_OP:return z("+"+this.computeHashOfAstNode(e.value),e.leadingWhitespace);case H.PERCENT_OP:return this.computeHashOfAstNode(e.value)+z("%",e.leadingWhitespace);case H.ERROR:return z(this.config.translationPackage.getErrorTranslation(e.error?e.error.type:nr.ERROR),e.leadingWhitespace);case H.ERROR_WITH_RAW_INPUT:return z(e.rawInput,e.leadingWhitespace);case H.ARRAY:return z("{"+e.args.map((e=>e.map((e=>this.computeHashOfAstNode(e))).join(","))).join(";")+z("}",e.internalWhitespace),e.leadingWhitespace);case H.PARENTHESIS:{const t="("+this.computeHashOfAstNode(e.expression)+z(")",e.internalWhitespace);return z(t,e.leadingWhitespace)}default:return this.computeHashOfAstNode(e.left)+z($[e.type],e.leadingWhitespace)+this.computeHashOfAstNode(e.right)}}bindWhitespacesToTokens(e){const t=[],r=e[0];(0,L.tokenMatcher)(r,this.lexerConfig.WhiteSpace)||t.push(r);for(let r=1;r<e.length;++r){const n=e[r];if((0,L.tokenMatcher)(n,this.lexerConfig.WhiteSpace))continue;const s=e[r-1];(0,L.tokenMatcher)(s,this.lexerConfig.WhiteSpace)&&(n.leadingWhitespace=s),t.push(n)}return t}tokenizeFormula(e){return this.lexer.tokenizeFormula(e)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const Pe=(e,t,r,n)=>{switch(e.type){case H.EMPTY:case H.NUMBER:case H.STRING:case H.ERROR:return;case H.NAMED_EXPRESSION:return void(n&&r.push(new Ue(e.expressionName)));case H.CELL_REFERENCE:return void(n&&r.push(new De(e.reference)));case H.CELL_RANGE:return void(n&&e.start.sheet===e.end.sheet&&r.push(new ke(e.start,e.end)));case H.COLUMN_RANGE:return void(n&&e.start.sheet===e.end.sheet&&r.push(new He(e.start,e.end)));case H.ROW_RANGE:return void(n&&e.start.sheet===e.end.sheet&&r.push(new Fe(e.start,e.end)));case H.PERCENT_OP:case H.PLUS_UNARY_OP:case H.MINUS_UNARY_OP:return void Pe(e.value,t,r,!0);case H.CONCATENATE_OP:case H.EQUALS_OP:case H.NOT_EQUAL_OP:case H.LESS_THAN_OP:case H.GREATER_THAN_OP:case H.LESS_THAN_OR_EQUAL_OP:case H.GREATER_THAN_OR_EQUAL_OP:case H.MINUS_OP:case H.PLUS_OP:case H.TIMES_OP:case H.DIV_OP:case H.POWER_OP:return Pe(e.left,t,r,!0),void Pe(e.right,t,r,!0);case H.PARENTHESIS:return void Pe(e.expression,t,r,n);case H.FUNCTION_CALL:{const n=!t.doesFunctionNeedArgumentToBeComputed(e.procedureName);return void e.args.forEach((e=>Pe(e,t,r,n)))}}},Le=(e,t)=>{const r=new Array;return Pe(e,t,r,!0),r};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class De{constructor(e){this.dependency=e}absolutize(e){return this.dependency.toSimpleCellAddress(e)}}class ke{constructor(e,t){this.start=e,this.end=t}absolutize(e){return new kr(this.start.toSimpleCellAddress(e),this.end.toSimpleCellAddress(e))}}class He{constructor(e,t){this.start=e,this.end=t}absolutize(e){const t=this.start.toSimpleColumnAddress(e),r=this.end.toSimpleColumnAddress(e);return new Hr(t.sheet,t.col,r.col)}}class Fe{constructor(e,t){this.start=e,this.end=t}absolutize(e){const t=this.start.toSimpleRowAddress(e),r=this.end.toSimpleRowAddress(e);return new Fr(t.sheet,t.row,r.row)}}class Ue{constructor(e){this.name=e}absolutize(e){return this}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const Ve=(e,t)=>e.map((e=>e.absolutize(t))),Be=Symbol("Empty value");function We(e){return e instanceof Ye?e.val:e}class Ye{constructor(e,t){this.val=e,this.format=t}fromNumber(e){return new this.constructor(e)}}function Ge(e,t){if("number"==typeof e)return t;{const r=e.fromNumber(t);return r.format=e.format,r}}class je extends Ye{getDetailedType(){return Qe.NUMBER_DATE}}class ze extends Ye{getDetailedType(){return Qe.NUMBER_CURRENCY}}class $e extends Ye{getDetailedType(){return Qe.NUMBER_TIME}}class Ke extends Ye{getDetailedType(){return Qe.NUMBER_DATETIME}}class Xe extends Ye{getDetailedType(){return Qe.NUMBER_PERCENT}}function qe(e){return"number"==typeof e||e instanceof Ye}var Qe,Ze;function Je(e){return e instanceof Ye?{type:e.getDetailedType(),format:e.format}:{type:Qe.NUMBER_RAW}}!function(e){e.NUMBER_RAW="NUMBER_RAW",e.NUMBER_DATE="NUMBER_DATE",e.NUMBER_TIME="NUMBER_TIME",e.NUMBER_DATETIME="NUMBER_DATETIME",e.NUMBER_CURRENCY="NUMBER_CURRENCY",e.NUMBER_PERCENT="NUMBER_PERCENT"}(Qe||(Qe={}));
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class et{constructor(e,t,r,n){this._data=e,this.range=t,this.dependencyGraph=r,this._hasOnlyNumbers=n,this.size=void 0===e?new hn(t.effectiveWidth(r),t.effectiveHeight(r)):new hn(e[0].length,e.length)}get data(){return this.ensureThatComputed(),this._data}static fromRange(e,t,r){return new et(e,t,r,!0)}static onlyNumbers(e){return new et(e,void 0,void 0,!0)}static onlyValues(e){return new et(e,void 0,void 0,void 0)}static onlyRange(e,t){return new et(void 0,e,t,void 0)}static fromScalar(e){return new et([[e]],void 0,void 0,void 0)}isAdHoc(){return void 0===this.range}width(){return this.size.width}height(){return this.size.height}valuesFromTopLeftCorner(){this.ensureThatComputed();const e=[];for(let t=0;t<this._data.length;t++)for(let r=0;r<this._data[0].length;r++)e.push(this._data[t][r]);return e}*effectiveAddressesFromData(e){for(let t=0;t<this.data.length;++t){const r=this.data[t];for(let n=0;n<r.length;++n)yield _r(e.sheet,e.col+n,e.row+t)}}*entriesFromTopLeftCorner(e){this.ensureThatComputed();for(let t=0;t<this.size.height;++t)for(let r=0;r<this.size.width;++r)yield[this._data[t][r],_r(e.sheet,e.col+r,e.row+t)]}*iterateValuesFromTopLeftCorner(){yield*this.valuesFromTopLeftCorner()}numberOfElements(){return this.size.width*this.size.height}hasOnlyNumbers(){if(void 0===this._hasOnlyNumbers){this._hasOnlyNumbers=!0;for(const e of this.data)for(const t of e)if("number"!=typeof t)return this._hasOnlyNumbers=!1,!1}return this._hasOnlyNumbers}rawNumbers(){return this._data}rawData(){var e;return this.ensureThatComputed(),null!==(e=this._data)&&void 0!==e?e:[]}sameDimensionsAs(e){return this.width()===e.width()&&this.height()===e.height()}ensureThatComputed(){void 0===this._data&&(this._hasOnlyNumbers=!0,this._data=this.range.addressesArrayMap(this.dependencyGraph,(e=>{const t=this.dependencyGraph.getCellValue(e);return t instanceof et?(this._hasOnlyNumbers=!1,new Rr(nr.VALUE,q.ScalarExpected)):(qe(t)||(this._hasOnlyNumbers=!1),t)})))}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class tt{constructor(){this.changes=new Map}static empty(){return new tt}addAll(e){for(const t of e.changes.values())this.add(t.address,t);return this}addChange(e,t,r){this.addInterpreterValue(e,t,r)}exportChanges(e){let t=[];return this.changes.forEach((r=>{const n=e.exportChange(r);Array.isArray(n)?t=t.concat(n):t.push(n)})),t}getChanges(){return Array.from(this.changes.values())}isEmpty(){return 0===this.changes.size}add(e,t){const r=t.value;if(r instanceof et)for(const t of r.effectiveAddressesFromData(e))this.changes.delete(Ar(t));this.changes.set(Ar(e),t)}addInterpreterValue(e,t,r){this.add(t,{address:t,value:e,oldValue:r})}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class rt{constructor(e,t,r){if(this.sheet=e,this.rowStart=t,this.rowEnd=r,t<0)throw Error("Starting row cant be less than 0");if(r<t)throw Error("Row span cant end before start")}get numberOfRows(){return this.rowEnd-this.rowStart+1}get start(){return this.rowStart}get end(){return this.rowEnd}static fromNumberOfRows(e,t,r){return new rt(e,t,t+r-1)}static fromRowStartAndEnd(e,t,r){return new rt(e,t,r)}*rows(){for(let e=this.rowStart;e<=this.rowEnd;++e)yield e}intersect(e){if(this.sheet!==e.sheet)throw Error("Can't intersect spans from different sheets");const t=Math.max(this.rowStart,e.rowStart),r=Math.min(this.rowEnd,e.rowEnd);return t>r?null:new rt(this.sheet,t,r)}firstRow(){return new rt(this.sheet,this.rowStart,this.rowStart)}}class nt{constructor(e,t,r){if(this.sheet=e,this.columnStart=t,this.columnEnd=r,t<0)throw Error("Starting column cant be less than 0");if(r<t)throw Error("Column span cant end before start")}get numberOfColumns(){return this.columnEnd-this.columnStart+1}get start(){return this.columnStart}get end(){return this.columnEnd}static fromNumberOfColumns(e,t,r){return new nt(e,t,t+r-1)}static fromColumnStartAndEnd(e,t,r){return new nt(e,t,r)}*columns(){for(let e=this.columnStart;e<=this.columnEnd;++e)yield e}intersect(e){if(this.sheet!==e.sheet)throw Error("Can't intersect spans from different sheets");const t=Math.max(this.columnStart,e.columnStart),r=Math.min(this.columnEnd,e.columnEnd);return t>r?null:new nt(this.sheet,t,r)}firstColumn(){return new nt(this.sheet,this.columnStart,this.columnStart)}}!function(e){e.BUILD_ENGINE_TOTAL="BUILD_ENGINE_TOTAL",e.PARSER="PARSER",e.GRAPH_BUILD="GRAPH_BUILD",e.COLLECT_DEPENDENCIES="COLLECT_DEPENDENCIES",e.PROCESS_DEPENDENCIES="PROCESS_DEPENDENCIES",e.TOP_SORT="TOP_SORT",e.BUILD_COLUMN_INDEX="BUILD_COLUMN_INDEX",e.EVALUATION="EVALUATION",e.VLOOKUP="VLOOKUP",e.TRANSFORM_ASTS="TRANSFORM_ASTS",e.TRANSFORM_ASTS_POSTPONED="TRANSFORM_ASTS_POSTPONED",e.ADJUSTING_ADDRESS_MAPPING="ADJUSTING_ADDRESS_MAPPING",e.ADJUSTING_ARRAY_MAPPING="ADJUSTING_ARRAY_MAPPING",e.ADJUSTING_RANGES="ADJUSTING_RANGES",e.ADJUSTING_GRAPH="ADJUSTING_GRAPH",e.CRITERION_FUNCTION_FULL_CACHE_USED="CRITERION_FUNCTION_FULL_CACHE_USED",e.CRITERION_FUNCTION_PARTIAL_CACHE_USED="CRITERION_FUNCTION_PARTIAL_CACHE_USED"}(Ze||(Ze={}));
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class st{constructor(){this.stats=new Map([[Ze.CRITERION_FUNCTION_FULL_CACHE_USED,0],[Ze.CRITERION_FUNCTION_PARTIAL_CACHE_USED,0]]),this.startTimes=new Map}incrementCriterionFunctionFullCacheUsed(){var e;const t=(null!==(e=this.stats.get(Ze.CRITERION_FUNCTION_FULL_CACHE_USED))&&void 0!==e?e:0)+1;this.stats.set(Ze.CRITERION_FUNCTION_FULL_CACHE_USED,t)}incrementCriterionFunctionPartialCacheUsed(){var e;const t=(null!==(e=this.stats.get(Ze.CRITERION_FUNCTION_PARTIAL_CACHE_USED))&&void 0!==e?e:0)+1;this.stats.set(Ze.CRITERION_FUNCTION_PARTIAL_CACHE_USED,t)}reset(){this.stats.clear(),this.startTimes.clear(),this.stats.set(Ze.CRITERION_FUNCTION_FULL_CACHE_USED,0),this.stats.set(Ze.CRITERION_FUNCTION_PARTIAL_CACHE_USED,0)}start(e){if(this.startTimes.get(e))throw Error(`Statistics ${e} already started`);this.startTimes.set(e,Date.now())}end(e){var t;const r=Date.now(),n=this.startTimes.get(e);if(!n)throw Error(`Statistics ${e} not started`);{let s=null!==(t=this.stats.get(e))&&void 0!==t?t:0;s+=r-n,this.stats.set(e,s),this.startTimes.delete(e)}}measure(e,t){this.start(e);const r=t();return this.end(e),r}snapshot(){return new Map(this.stats)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class it extends st{incrementCriterionFunctionFullCacheUsed(){}incrementCriterionFunctionPartialCacheUsed(){}start(e){}end(e){}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class ot extends Error{constructor(e){super(`There's no sheet with id = ${e}`)}}class at extends Error{constructor(e){super(`There's no sheet with name '${e}'`)}}class lt extends Error{constructor(e){super(`Sheet with name ${e} already exists`)}}class ht extends Error{constructor(){super("Sheet size limit exceeded")}}class ut extends Error{constructor(){super("This is not a formula")}}class ct extends Error{constructor(e){super(`Address (row = ${e.row}, col = ${e.col}) is invalid`)}}class dt extends Error{constructor(e){super(`Invalid arguments, expected ${e}`)}}class pt extends Error{constructor(e,t){super(`Sheets ${e} and ${t} are not equal.`)}}class gt extends Error{constructor(e){super(`Name of Named Expression '${e}' is already present`)}}class ft extends Error{constructor(e){super(`Name of Named Expression '${e}' is invalid`)}}class mt extends Error{constructor(e){super(`Named Expression '${e}' does not exist`)}}class yt extends Error{constructor(){super("There is no operation to undo")}}class Et extends Error{constructor(){super("There is no operation to redo")}}class wt extends Error{constructor(){super("There is nothing to paste")}}function Ct(e,t){switch(typeof t){case"function":case"symbol":return t.toString();case"bigint":return"BigInt("+t.toString()+")";default:return t instanceof RegExp?"RegExp("+t.toString()+")":t}}class vt extends Error{constructor(e){super(`Unable to parse value: ${JSON.stringify(e,Ct,4)}`)}}class Rt extends Error{constructor(e,t){super(`Expected value of type: ${e} for config parameter: ${t}`)}}class St extends Error{constructor(e){super(`Config parameter ${e} cannot be empty.`)}}class Tt extends Error{constructor(e,t){super(`Config parameter ${e} should be at least ${t}`)}}class Nt extends Error{constructor(e,t){super(`Config parameter ${e} should be at most ${t}`)}}class Mt extends Error{constructor(e,t){super(`Expected one of ${e} for config parameter: ${t}`)}}class _t extends Error{constructor(){super("Computations are suspended")}}class bt extends Error{constructor(e){super(`Translation for ${e} is missing in the translation package you're using.`)}}class Ot extends Error{constructor(e){super(`Cannot register translation for function with id: ${e}`)}}class At extends Error{constructor(){super("Language not registered.")}}class It extends Error{constructor(){super("Language already registered.")}}class xt extends Error{static functionNotDeclaredInPlugin(e,t){return new xt(`Function with id ${e} not declared in plugin ${t}`)}static functionMethodNotFound(e,t){return new xt(`Function method ${e} not found in plugin ${t}`)}}class Pt extends Error{static cannotRegisterFunctionWithId(e){return new Pt(`Cannot register function with id ${e}`)}static cannotUnregisterFunctionWithId(e){return new Pt(`Cannot unregister function with id ${e}`)}static cannotUnregisterProtectedPlugin(){return new Pt("Cannot unregister protected plugin")}}class Lt extends Error{constructor(){super("Cannot perform this operation, source location has an array inside.")}}class Dt extends Error{constructor(){super("Cannot perform this operation, target location has an array inside.")}}class kt extends Error{constructor(){super("Relative addresses not allowed in named expressions.")}}class Ht extends Error{constructor(e,t){super(`Alias id ${e} in plugin ${t} already defined as a function or alias.`)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ft{constructor(e){this.policy=e,this.mapping=new Map}getCell(e){const t=this.mapping.get(e.sheet);if(void 0===t)throw new ot(e.sheet);return t.getCell(e)}fetchCell(e){const t=this.mapping.get(e.sheet);if(void 0===t)throw new ot(e.sheet);const r=t.getCell(e);if(!r)throw Error("Vertex for address missing in AddressMapping");return r}strategyFor(e){const t=this.mapping.get(e);if(void 0===t)throw new ot(e);return t}addSheet(e,t){if(this.mapping.has(e))throw Error("Sheet already added");this.mapping.set(e,t)}autoAddSheet(e,t){const{height:r,width:n,fill:s}=t,i=this.policy.call(s);this.addSheet(e,new i(n,r))}getCellValue(e){const t=this.getCell(e);return void 0===t?Be:t instanceof Gt?t.getArrayCellValue(e):t.getCellValue()}getRawValue(e){const t=this.getCell(e);return t instanceof ur?t.getValues().rawValue:t instanceof Gt?t.getArrayCellRawValue(e):null}setCell(e,t){const r=this.mapping.get(e.sheet);if(!r)throw Error("Sheet not initialized");r.setCell(e,t)}moveCell(e,t){const r=this.mapping.get(e.sheet);if(!r)throw Error("Sheet not initialized.");if(e.sheet!==t.sheet)throw Error("Cannot move cells between sheets.");if(r.has(t))throw new Error("Cannot move cell. Destination already occupied.");const n=r.getCell(e);if(void 0===n)throw new Error("Cannot move cell. No cell with such address.");this.setCell(t,n),this.removeCell(e)}removeCell(e){const t=this.mapping.get(e.sheet);if(!t)throw Error("Sheet not initialized");t.removeCell(e)}has(e){const t=this.mapping.get(e.sheet);return void 0!==t&&t.has(e)}getHeight(e){const t=this.mapping.get(e);if(void 0===t)throw new ot(e);return t.getHeight()}getWidth(e){const t=this.mapping.get(e);if(!t)throw new ot(e);return t.getWidth()}addRows(e,t,r){const n=this.mapping.get(e);if(void 0===n)throw new ot(e);n.addRows(t,r)}removeRows(e){const t=this.mapping.get(e.sheet);if(void 0===t)throw new ot(e.sheet);t.removeRows(e)}removeSheet(e){this.mapping.delete(e)}addColumns(e,t,r){const n=this.mapping.get(e);if(void 0===n)throw new ot(e);n.addColumns(t,r)}removeColumns(e){const t=this.mapping.get(e.sheet);if(void 0===t)throw new ot(e.sheet);t.removeColumns(e)}*verticesFromRowsSpan(e){yield*this.mapping.get(e.sheet).verticesFromRowsSpan(e)}*verticesFromColumnsSpan(e){yield*this.mapping.get(e.sheet).verticesFromColumnsSpan(e)}*entriesFromRowsSpan(e){yield*this.mapping.get(e.sheet).entriesFromRowsSpan(e)}*entriesFromColumnsSpan(e){yield*this.mapping.get(e.sheet).entriesFromColumnsSpan(e)}*entries(){for(const[e,t]of this.mapping.entries())yield*t.getEntries(e)}*sheetEntries(e){const t=this.mapping.get(e);if(void 0===t)throw new ot(e);yield*t.getEntries(e)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ut{constructor(){this.arrayMapping=new Map}getArray(e){const t=this.getArrayByCorner(e.start);if(null==t?void 0:t.getRange().sameAs(e))return t}getArrayByCorner(e){return this.arrayMapping.get(Ar(e))}setArray(e,t){this.arrayMapping.set(Ar(e.start),t)}removeArray(e){"string"==typeof e?this.arrayMapping.delete(e):this.arrayMapping.delete(Ar(e.start))}count(){return this.arrayMapping.size}*arraysInRows(e){for(const[t,r]of this.arrayMapping.entries())r.spansThroughSheetRows(e.sheet,e.rowStart,e.rowEnd)&&(yield[t,r])}*arraysInCols(e){for(const[t,r]of this.arrayMapping.entries())r.spansThroughSheetColumn(e.sheet,e.columnStart,e.columnEnd)&&(yield[t,r])}isFormulaArrayInRow(e,t){for(const r of this.arrayMapping.values())if(r.spansThroughSheetRows(e,t))return!0;return!1}isFormulaArrayInAllRows(e){let t=!0;for(const r of e.rows())this.isFormulaArrayInRow(e.sheet,r)||(t=!1);return t}isFormulaArrayInColumn(e,t){for(const r of this.arrayMapping.values())if(r.spansThroughSheetColumn(e,t))return!0;return!1}isFormulaArrayInAllColumns(e){let t=!0;for(const r of e.columns())this.isFormulaArrayInColumn(e.sheet,r)||(t=!1);return t}isFormulaArrayInRange(e){for(const t of this.arrayMapping.values())if(t.getRange().doesOverlap(e))return!0;return!1}isFormulaArrayAtAddress(e){for(const t of this.arrayMapping.values())if(t.getRange().addressInRange(e))return!0;return!1}moveArrayVerticesAfterRowByRows(e,t,r){this.updateArrayVerticesInSheet(e,((e,n)=>{const s=n.getRange();return t<=s.start.row?[s.shifted(0,r),n]:void 0}))}moveArrayVerticesAfterColumnByColumns(e,t,r){this.updateArrayVerticesInSheet(e,((e,n)=>{const s=n.getRange();return t<=s.start.col?[s.shifted(r,0),n]:void 0}))}updateArrayVerticesInSheet(e,t){const r=Array();for(const[n,s]of this.arrayMapping.entries()){if(s.sheet!==e)continue;const i=t(n,s);void 0!==i&&(this.removeArray(n),r.push(i))}r.forEach((([e,t])=>{this.setArray(e,t)}))}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Vt{constructor(e){this.size=e}width(){return this.size.width}height(){return this.size.height}get(e,t){throw Error("Array not computed yet.")}simpleRangeValue(){throw Error("Array not computed yet.")}}class Bt{constructor(e){if(this.size=new hn(e.length>0?e[0].length:0,e.length),this.array=e,this.size.width<=0||this.size.height<=0)throw Error("Incorrect array size")}static fromInterpreterValue(e){return new Bt(e instanceof et?e.data:[[e]])}simpleRangeValue(){return et.onlyValues(this.array)}addRows(e,t){this.array.splice(e,0,...this.nullArrays(t,this.width())),this.size.height+=t}addColumns(e,t){for(let r=0;r<this.height();r++)this.array[r].splice(e,0,...new Array(t).fill(Be));this.size.width+=t}removeRows(e,t){if(this.outOfBound(0,e)||this.outOfBound(0,t))throw Error("Array index out of bound");const r=t-e+1;this.array.splice(e,r),this.size.height-=r}removeColumns(e,t){if(this.outOfBound(e,0)||this.outOfBound(t,0))throw Error("Array index out of bound");const r=t-e+1;for(const t of this.array)t.splice(e,r);this.size.width-=r}nullArrays(e,t){const r=[];for(let n=0;n<e;++n)r.push(new Array(t).fill(Be));return r}get(e,t){if(this.outOfBound(e,t))throw Error("Array index out of bound");return this.array[t][e]}set(e,t,r){if(this.outOfBound(e,t))throw Error("Array index out of bound");this.array[t][e]=r}width(){return this.size.width}height(){return this.size.height}raw(){return this.array}resize(e){if(this.height()<e.height&&isFinite(e.height)&&this.addRows(this.height(),e.height-this.height()),this.height()>e.height)throw Error("Resizing to smaller array");if(this.width()<e.width&&isFinite(e.width)&&this.addColumns(this.width(),e.width-this.width()),this.width()>e.width)throw Error("Resizing to smaller array")}outOfBound(e,t){return e<0||t<0||t>this.size.height-1||e>this.size.width-1}}class Wt{constructor(e,t){this.error=e,this.size=t}get(e,t){return this.error}width(){return this.size.width}height(){return this.size.height}simpleRangeValue(){return this.error}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Yt{constructor(e,t,r){this.formula=e,this.cellAddress=t,this.version=r}get width(){return 1}get height(){return 1}static fromAst(e,t,r,n){return r.isScalar()?new jt(e,t,n):new Gt(e,t,r,n)}getFormula(e){return this.ensureRecentData(e),this.formula}ensureRecentData(e){if(this.version!=e.version()){const[t,r,n]=e.applyTransformations(this.formula,this.cellAddress,this.version);this.formula=t,this.cellAddress=r,this.version=n}}getAddress(e){return this.ensureRecentData(e),this.cellAddress}}class Gt extends Yt{constructor(e,t,r,n=0){super(e,t,n),r.isRef?this.array=new Wt(new Rr(nr.REF,q.NoSpaceForArrayResult),hn.error()):this.array=new Vt(r)}get width(){return this.array.width()}get height(){return this.array.height()}get sheet(){return this.cellAddress.sheet}get leftCorner(){return this.cellAddress}setCellValue(e){if(e instanceof Rr)return this.setErrorValue(e),e;const t=Bt.fromInterpreterValue(e);return t.resize(this.array.size),this.array=t,e}getCellValue(){if(this.array instanceof Vt)throw Error("Array not computed yet.");return this.array.simpleRangeValue()}valueOrUndef(){if(!(this.array instanceof Vt))return this.array.simpleRangeValue()}getArrayCellValue(e){const t=e.col-this.cellAddress.col,r=e.row-this.cellAddress.row;try{return this.array.get(t,r)}catch(e){return new Rr(nr.REF)}}getArrayCellRawValue(e){const t=this.getArrayCellValue(e);return t instanceof Rr||t===Be?void 0:We(t)}setArrayCellValue(e,t){const r=e.col-this.cellAddress.col,n=e.row-this.cellAddress.row;this.array instanceof Bt&&this.array.set(r,n,t)}setNoSpace(){return this.array=new Wt(new Rr(nr.SPILL,q.NoSpaceForArrayResult),hn.error()),this.getCellValue()}getRange(){return kr.spanFrom(this.cellAddress,this.width,this.height)}getRangeOrUndef(){return kr.spanFromOrUndef(this.cellAddress,this.width,this.height)}setAddress(e){this.cellAddress=e}setFormula(e){this.formula=e}spansThroughSheetRows(e,t,r=t){return this.cellAddress.sheet===e&&this.cellAddress.row<=r&&t<this.cellAddress.row+this.height}spansThroughSheetColumn(e,t,r=t){return this.cellAddress.sheet===e&&this.cellAddress.col<=r&&t<this.cellAddress.col+this.width}isComputed(){return!(this.array instanceof Vt)}columnsFromArray(){return nt.fromNumberOfColumns(this.cellAddress.sheet,this.cellAddress.col,this.width)}rowsFromArray(){return rt.fromNumberOfRows(this.cellAddress.sheet,this.cellAddress.row,this.height)}ensureRecentData(e){}isLeftCorner(e){return Pr(this.cellAddress,e)}setErrorValue(e){this.array=new Wt(e,this.array.size)}}class jt extends Yt{constructor(e,t,r){super(e,t,r)}valueOrUndef(){return this.cachedCellValue}setCellValue(e){return this.cachedCellValue=e,this.cachedCellValue}getCellValue(){if(void 0!==this.cachedCellValue)return this.cachedCellValue;throw Error("Value of the formula cell is not computed.")}isComputed(){return void 0!==this.cachedCellValue}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class zt{constructor(e){this.range=e,this.functionCache=new Map,this.criterionFunctionCache=new Map,this.dependentCacheRanges=new Set,this.bruteForce=!1}get start(){return this.range.start}get end(){return this.range.end}get sheet(){return this.range.start.sheet}getFunctionValue(e){return this.functionCache.get(e)}setFunctionValue(e,t){this.functionCache.set(e,t)}getCriterionFunctionValue(e,t){var r;return null===(r=this.getCriterionFunctionValues(e).get(t))||void 0===r?void 0:r[0]}getCriterionFunctionValues(e){var t;return null!==(t=this.criterionFunctionCache.get(e))&&void 0!==t?t:new Map}setCriterionFunctionValues(e,t){this.criterionFunctionCache.set(e,t)}addDependentCacheRange(e){e!==this&&this.dependentCacheRanges.add(e)}clearCache(){this.functionCache.clear(),this.criterionFunctionCache.clear(),this.dependentCacheRanges.forEach((e=>e.criterionFunctionCache.clear())),this.dependentCacheRanges.clear()}getStart(){return this.start}getEnd(){return this.end}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const $t=(e,t,r,n,s)=>{if(t instanceof zt){const e=t.range.intersectionWith(r);return void 0!==e?Array.from(e.addresses(s)):[]}let i,o;return t instanceof Yt?(i=t.getFormula(n),o=t.getAddress(n),Le(i,e).filter((e=>e instanceof De)).map((e=>e.dependency.toSimpleCellAddress(o))).filter((e=>r.addressInRange(e)))):[]};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
var Kt;!function(e){e[e.ON_STACK=0]="ON_STACK",e[e.PROCESSED=1]="PROCESSED",e[e.POPPED=2]="POPPED"}(Kt||(Kt={}));class Xt{constructor(e=[],t=[]){this.nodesSparseArray=e,this.edgesSparseArray=t,this.entranceTime=[],this.low=[],this.parent=[],this.inSCC=[],this.nodeStatus=[],this.order=[],this.sccNonSingletons=[],this.timeCounter=0}getTopSortedWithSccSubgraphFrom(e,t,r){const n=e.reverse();return n.forEach((e=>this.runDFS(e))),this.postprocess(n,r,t)}getAdjacentNodeIds(e){return this.edgesSparseArray[e].filter((e=>void 0!==e&&this.nodesSparseArray[e]))}runDFS(e){if(void 0!==this.nodeStatus[e])return;this.nodeStatus[e]=Kt.ON_STACK;const t=[e],r=[];for(;t.length>0;){const e=t[t.length-1];switch(this.nodeStatus[e]){case Kt.ON_STACK:this.handleOnStack(e,r,t);break;case Kt.PROCESSED:this.handleProcessed(e,r,t);break;case Kt.POPPED:t.pop()}}}handleOnStack(e,t,r){this.entranceTime[e]=this.timeCounter,this.low[e]=this.timeCounter,this.timeCounter++,t.push(e),this.getAdjacentNodeIds(e).forEach((t=>{void 0===this.entranceTime[t]&&(r.push(t),this.parent[t]=e,this.nodeStatus[t]=Kt.ON_STACK)})),this.nodeStatus[e]=Kt.PROCESSED}handleProcessed(e,t,r){let n=this.entranceTime[e];if(this.getAdjacentNodeIds(e).forEach((t=>{this.inSCC[t]||(n=this.parent[t]===e?Math.min(n,this.low[t]):Math.min(n,this.entranceTime[t]))})),this.low[e]=n,n===this.entranceTime[e]){const r=[];do{r.push(t[t.length-1]),t.pop()}while(r[r.length-1]!==e);r.forEach((e=>{this.inSCC[e]=!0})),this.order.push(...r),r.length>1&&r.forEach((e=>{this.sccNonSingletons[e]=!0}))}r.pop(),this.nodeStatus[e]=Kt.POPPED}postprocess(e,t,r){const n=[];e.forEach((e=>{n[e]=!0}));const s=[],i=[];return this.order.reverse(),this.order.forEach((e=>{const o=this.getAdjacentNodeIds(e);this.sccNonSingletons[e]||o.includes(e)?(i.push(this.nodesSparseArray[e]),t(this.nodesSparseArray[e]),o.forEach((e=>n[e]=!0))):(s.push(this.nodesSparseArray[e]),n[e]&&r(this.nodesSparseArray[e])&&o.forEach((e=>n[e]=!0)))})),{sorted:s,cycled:i}}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class qt{constructor(e,t){this.rawValue=e,this.processFn=t,this.processedValue=null}getProcessedValue(){return null===this.processedValue&&(this.processedValue=this.processFn(this.rawValue)),this.processedValue}markAsModified(){this.processedValue=null}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Qt{constructor(e){this.dependencyQuery=e,this.nodesSparseArray=[],this.edgesSparseArray=[],this.nodesIds=new Map,this.dirtyAndVolatileNodeIds=new qt({dirty:[],volatile:[]},(e=>this.processDirtyAndVolatileNodeIds(e))),this.infiniteRangeIds=new Set,this.changingWithStructureNodeIds=[],this.nextId=0}getNodes(){return this.nodesSparseArray.filter((e=>void 0!==e))}hasNode(e){return this.nodesIds.has(e)}existsEdge(e,t){const r=this.getNodeId(e),n=this.getNodeId(t);return void 0!==r&&void 0!==n&&this.edgesSparseArray[r].includes(n)}adjacentNodes(e){const t=this.getNodeId(e);if(void 0===t)throw this.missingNodeError(e);return new Set(this.edgesSparseArray[t].filter((e=>void 0!==e)).map((e=>this.nodesSparseArray[e])))}adjacentNodesCount(e){const t=this.getNodeId(e);if(void 0===t)throw this.missingNodeError(e);return this.fixEdgesArrayForNode(t).length}addNodeAndReturnId(e){const t=this.nodesIds.get(e);if(void 0!==t)return t;const r=this.nextId;return this.nextId++,this.nodesSparseArray[r]=e,this.edgesSparseArray[r]=[],this.nodesIds.set(e,r),r}addEdge(e,t){const r=this.getNodeIdIfNotNumber(e),n=this.getNodeIdIfNotNumber(t);if(void 0===r)throw this.missingNodeError(e);if(void 0===n)throw this.missingNodeError(t);this.edgesSparseArray[r].includes(n)||this.edgesSparseArray[r].push(n)}removeNode(e){const t=this.getNodeId(e);if(void 0===t)throw this.missingNodeError(e);this.edgesSparseArray[t].length>0&&(this.edgesSparseArray[t].forEach((e=>this.dirtyAndVolatileNodeIds.rawValue.dirty.push(e))),this.dirtyAndVolatileNodeIds.markAsModified());const r=this.removeDependencies(e);return delete this.nodesSparseArray[t],delete this.edgesSparseArray[t],this.infiniteRangeIds.delete(t),this.nodesIds.delete(e),r}removeEdge(e,t){const r=this.getNodeIdIfNotNumber(e),n=this.getNodeIdIfNotNumber(t);if(void 0===r)throw this.missingNodeError(e);if(void 0===n)throw this.missingNodeError(t);const s=this.edgesSparseArray[r].indexOf(n);if(-1===s)throw new Error("Edge does not exist");delete this.edgesSparseArray[r][s]}removeEdgeIfExists(e,t){const r=this.getNodeId(e),n=this.getNodeId(t);if(void 0===r)return;if(void 0===n)return;const s=this.edgesSparseArray[r].indexOf(n);-1!==s&&delete this.edgesSparseArray[r][s]}topSortWithScc(){return this.getTopSortedWithSccSubgraphFrom(this.getNodes(),(()=>!0),(()=>{}))}getTopSortedWithSccSubgraphFrom(e,t,r){const n=new Xt(this.nodesSparseArray,this.edgesSparseArray),s=e.map((e=>this.getNodeId(e))).filter((e=>void 0!==e));return n.getTopSortedWithSccSubgraphFrom(s,t,r)}markNodeAsVolatile(e){const t=this.getNodeId(e);void 0!==t&&(this.dirtyAndVolatileNodeIds.rawValue.volatile.push(t),this.dirtyAndVolatileNodeIds.markAsModified())}markNodeAsDirty(e){const t=this.getNodeId(e);void 0!==t&&(this.dirtyAndVolatileNodeIds.rawValue.dirty.push(t),this.dirtyAndVolatileNodeIds.markAsModified())}getDirtyAndVolatileNodes(){return this.dirtyAndVolatileNodeIds.getProcessedValue()}clearDirtyNodes(){this.dirtyAndVolatileNodeIds.rawValue.dirty=[],this.dirtyAndVolatileNodeIds.markAsModified()}markNodeAsChangingWithStructure(e){const t=this.getNodeId(e);void 0!==t&&this.changingWithStructureNodeIds.push(t)}markChangingWithStructureNodesAsDirty(){this.changingWithStructureNodeIds.length<=0||(this.dirtyAndVolatileNodeIds.rawValue.dirty=[...this.dirtyAndVolatileNodeIds.rawValue.dirty,...this.changingWithStructureNodeIds],this.dirtyAndVolatileNodeIds.markAsModified())}markNodeAsInfiniteRange(e){const t=this.getNodeIdIfNotNumber(e);void 0!==t&&this.infiniteRangeIds.add(t)}getInfiniteRanges(){return[...this.infiniteRangeIds].map((e=>({node:this.nodesSparseArray[e],id:e})))}getNodeId(e){return this.nodesIds.get(e)}getNodeIdIfNotNumber(e){return"number"==typeof e?e:this.nodesIds.get(e)}fixEdgesArrayForNode(e){const t=this.edgesSparseArray[e];return this.edgesSparseArray[e]=t.filter((e=>void 0!==e&&this.nodesSparseArray[e])),this.edgesSparseArray[e]}removeDependencies(e){const t=this.dependencyQuery(e);return t.forEach((([t,r])=>{this.removeEdgeIfExists(r,e)})),t}processDirtyAndVolatileNodeIds({dirty:e,volatile:t}){return[...new Set([...e,...t])].map((e=>this.nodesSparseArray[e])).filter((e=>void 0!==e))}missingNodeError(e){return new Error(`Unknown node ${e}`)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Zt{constructor(){this.rangeMapping=new Map}getMappingSize(e){var t,r;return null!==(r=null===(t=this.rangeMapping.get(e))||void 0===t?void 0:t.size)&&void 0!==r?r:0}setRange(e){let t=this.rangeMapping.get(e.getStart().sheet);void 0===t&&(t=new Map,this.rangeMapping.set(e.getStart().sheet,t));const r=Jt(e.getStart(),e.getEnd());t.set(r,e)}removeRange(e){const t=e.getStart().sheet,r=this.rangeMapping.get(t);if(void 0===r)return;const n=Jt(e.getStart(),e.getEnd());r.delete(n),0===r.size&&this.rangeMapping.delete(t)}getRange(e,t){const r=this.rangeMapping.get(e.sheet),n=Jt(e,t);return null==r?void 0:r.get(n)}fetchRange(e,t){const r=this.getRange(e,t);if(!r)throw Error("Range does not exist");return r}truncateRanges(e,t){const r=Array(),n=Array(),s=Array(),i=e.sheet;for(const[o,a]of this.entriesFromSheet(e.sheet)){const l=a.range;e.start<=t(a.range.end)&&(l.removeSpan(e),l.shouldBeRemoved()?(this.removeByKey(i,o),r.push(a)):n.push([o,a]),s.push(a))}const o=[];n.sort(((e,r)=>er(e[1],r[1],t)));for(const[e,t]of n){const r=Jt((a=t.range).start,a.end);if(r===e)continue;const n=this.getByKey(i,r);this.removeByKey(i,e),void 0!==n&&t!=n?o.push([n,t]):this.setRange(t)}var a;return{verticesToRemove:r,verticesToMerge:o,verticesWithChangedSize:s}}moveAllRangesInSheetAfterRowByRows(e,t,r){return this.updateVerticesFromSheet(e,((e,n)=>t<=n.start.row?(n.range.shiftByRows(r),{changedSize:!1,vertex:n}):t>n.start.row&&t<=n.end.row?(n.range.expandByRows(r),{changedSize:!0,vertex:n}):void 0))}moveAllRangesInSheetAfterColumnByColumns(e,t,r){return this.updateVerticesFromSheet(e,((e,n)=>t<=n.start.col?(n.range.shiftByColumns(r),{changedSize:!1,vertex:n}):t>n.start.col&&t<=n.end.col?(n.range.expandByColumns(r),{changedSize:!0,vertex:n}):void 0))}moveRangesInsideSourceRange(e,t,r,n){this.updateVerticesFromSheet(e.sheet,((s,i)=>e.containsRange(i.range)?(i.range.shiftByColumns(t),i.range.shiftByRows(r),i.range.moveToSheet(n),{changedSize:!1,vertex:i}):void 0))}removeRangesInSheet(e){if(this.rangeMapping.has(e)){const t=this.rangeMapping.get(e).values();return this.rangeMapping.delete(e),t}return[][Symbol.iterator]()}*rangesInSheet(e){const t=this.rangeMapping.get(e);t&&(yield*t.values())}*rangeVerticesContainedInRange(e){for(const t of this.rangesInSheet(e.sheet))e.containsRange(t.range)&&(yield t)}findSmallerRange(e){if(e.height()>1&&Number.isFinite(e.height())){const t=_r(e.end.sheet,e.end.col,e.end.row-1),r=this.getRange(e.start,t);if(void 0!==r){return{smallerRangeVertex:r,restRange:kr.fromSimpleCellAddresses(_r(e.start.sheet,e.start.col,e.end.row),e.end)}}}return{restRange:e}}*entriesFromSheet(e){const t=this.rangeMapping.get(e);t&&(yield*t.entries())}removeByKey(e,t){this.rangeMapping.get(e).delete(t)}getByKey(e,t){var r;return null===(r=this.rangeMapping.get(e))||void 0===r?void 0:r.get(t)}updateVerticesFromSheet(e,t){const r=Array();for(const[n,s]of this.entriesFromSheet(e)){const i=t(n,s);void 0!==i&&(this.removeByKey(e,n),r.push(i))}return r.forEach((e=>{this.setRange(e.vertex)})),{verticesWithChangedSize:r.filter((e=>e.changedSize)).map((e=>e.vertex))}}}function Jt(e,t){return`${e.col},${e.row},${t.col},${t.row}`}const er=(e,t,r)=>{const n=r(e.range.start),s=r(e.range.start);if(n===s){return r(e.range.end)-r(t.range.end)}return n-s};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class tr{constructor(e,t,r){this.functions=e,this.errors=t,this.ui=r,this._protectedTranslations={VERSION:"VERSION"},this.checkUI(),this.checkErrors(),this.checkFunctionTranslations(this.functions),Object.assign(this.functions,this._protectedTranslations)}extendFunctions(e){this.checkFunctionTranslations(e),Object.assign(this.functions,e)}buildFunctionMapping(){return Object.keys(this.functions).reduce(((e,t)=>(e[this.functions[t]]=t,e)),{})}buildErrorMapping(){return Object.keys(this.errors).reduce(((e,t)=>(e[this.errors[t]]=t,e)),{})}isFunctionTranslated(e){return void 0!==this.functions[e]}getFunctionTranslations(e){const t=[];for(const r of e)this.isFunctionTranslated(r)&&t.push(this.functions[r]);return t}getFunctionTranslation(e){const t=this.functions[e];if(void 0===t)throw new bt(`functions.${e}`);return t}getMaybeFunctionTranslation(e){return this.functions[e]}getErrorTranslation(e){if(e===nr.LIC)return`#${nr.LIC}!`;const t=this.errors[e];if(void 0===t)throw new bt(`errors.${e}`);return t}getUITranslation(e){const t=this.ui[e];if(void 0===t)throw new bt(`ui.${e}`);return t}checkUI(){for(const e of Object.values(rr))if(!(e in this.ui))throw new bt(`ui.${e}`)}checkErrors(){for(const e of Object.values(nr))if(!(e in this.errors)&&e!==nr.LIC)throw new bt(`errors.${e}`)}checkFunctionTranslations(e){const t=new Set(Object.getOwnPropertyNames(e));for(const e of Object.getOwnPropertyNames(this._protectedTranslations))if(t.has(e))throw new Ot(e)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
var rr,nr,sr;
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
function ir(e){return e.toLowerCase()}!function(e){e.NEW_SHEET_PREFIX="NEW_SHEET_PREFIX"}(rr||(rr={}));class or{constructor(e,t){this.id=e,this.displayName=t}get canonicalName(){return ir(this.displayName)}}class ar{constructor(e){this.languages=e,this.mappingFromCanonicalName=new Map,this.mappingFromId=new Map,this.lastSheetId=-1,this.fetch=e=>{const t=this.mappingFromCanonicalName.get(ir(e));if(void 0===t)throw new at(e);return t.id},this.get=e=>{var t;return null===(t=this.mappingFromCanonicalName.get(ir(e)))||void 0===t?void 0:t.id},this.fetchDisplayName=e=>this.fetchSheetById(e).displayName,this.sheetNamePrefix=e.getUITranslation(rr.NEW_SHEET_PREFIX)}addSheet(e=`${this.sheetNamePrefix}${this.lastSheetId+2}`){const t=ir(e);if(this.mappingFromCanonicalName.has(t))throw new lt(e);this.lastSheetId++;const r=new or(this.lastSheetId,e);return this.store(r),r.id}removeSheet(e){const t=this.fetchSheetById(e);e==this.lastSheetId&&--this.lastSheetId,this.mappingFromCanonicalName.delete(t.canonicalName),this.mappingFromId.delete(t.id)}getDisplayName(e){var t;return null===(t=this.mappingFromId.get(e))||void 0===t?void 0:t.displayName}*displayNames(){for(const e of this.mappingFromCanonicalName.values())yield e.displayName}numberOfSheets(){return this.mappingFromCanonicalName.size}hasSheetWithId(e){return this.mappingFromId.has(e)}hasSheetWithName(e){return this.mappingFromCanonicalName.has(ir(e))}renameSheet(e,t){const r=this.fetchSheetById(e),n=r.displayName;if(n===t)return;const s=this.mappingFromCanonicalName.get(ir(t));if(void 0!==s&&s.id!==r.id)throw new lt(t);const i=r.canonicalName;return this.mappingFromCanonicalName.delete(i),r.displayName=t,this.store(r),n}sheetNames(){return Array.from(this.mappingFromId.values()).map((e=>e.displayName))}store(e){this.mappingFromId.set(e.id,e),this.mappingFromCanonicalName.set(e.canonicalName,e)}fetchSheetById(e){const t=this.mappingFromId.get(e);if(void 0===t)throw new ot(e);return t}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class lr{constructor(e,t,r,n,s,i,o,a){this.addressMapping=e,this.rangeMapping=t,this.sheetMapping=r,this.arrayMapping=n,this.stats=s,this.lazilyTransformingAstService=i,this.functionRegistry=o,this.namedExpressions=a,this.changes=tt.empty(),this.dependencyQueryAddresses=e=>{if(e instanceof zt)return this.rangeDependencyQuery(e).map((([e,t])=>e));{const t=this.formulaDependencyQuery(e);if(void 0!==t){const[e,r]=t;return r.map((t=>t instanceof Ue?this.namedExpressions.namedExpressionOrPlaceholder(t.name,e.sheet).address:Ir(t)?t:Dr(t.start,t.end)))}return[]}},this.dependencyQueryVertices=e=>{if(e instanceof zt)return this.rangeDependencyQuery(e);{const t=this.formulaDependencyQuery(e);if(void 0!==t){const[e,r]=t;return r.map((t=>{if(t instanceof kr)return[t.start,this.rangeMapping.fetchRange(t.start,t.end)];if(t instanceof Ue){const r=this.namedExpressions.namedExpressionOrPlaceholder(t.name,e.sheet);return[r.address,this.addressMapping.fetchCell(r.address)]}return[t,this.addressMapping.fetchCell(t)]}))}return[]}},this.rangeDependencyQuery=e=>{const t=[],{smallerRangeVertex:r,restRange:n}=this.rangeMapping.findSmallerRange(e.range);let s;void 0!==r&&this.graph.adjacentNodes(r).has(e)?(s=n,t.push([new kr(r.start,r.end),r])):s=e.range;for(const e of s.addresses(this)){const r=this.addressMapping.getCell(e);void 0!==r&&t.push([e,r])}return t},this.formulaDependencyQuery=e=>{let t,r;if(!(e instanceof Yt))return;r=e.getAddress(this.lazilyTransformingAstService),t=e.getFormula(this.lazilyTransformingAstService);const n=Le(t,this.functionRegistry);return[r,Ve(n,r)]},this.graph=new Qt(this.dependencyQueryVertices)}static buildEmpty(e,t,r,n,s){return new lr(new Ft(t.chooseAddressMappingPolicy),new Zt,new ar(t.translationPackage),new Ut,s,e,r,n)}setFormulaToCell(e,t,r,n,s,i){const o=Yt.fromAst(t,e,n,this.lazilyTransformingAstService.version());return this.exchangeOrAddFormulaVertex(o),this.processCellDependencies(r,o),this.graph.markNodeAsDirty(o),s&&this.markAsVolatile(o),i&&this.markAsDependentOnStructureChange(o),this.correctInfiniteRangesDependency(e),this.getAndClearContentChanges()}setParsingErrorToCell(e,t){const r=this.shrinkPossibleArrayAndGetCell(e);return this.exchangeOrAddGraphNode(r,t),this.addressMapping.setCell(e,t),this.graph.markNodeAsDirty(t),this.correctInfiniteRangesDependency(e),this.getAndClearContentChanges()}setValueToCell(e,t){const r=this.shrinkPossibleArrayAndGetCell(e);if(r instanceof Gt&&this.arrayMapping.removeArray(r.getRange()),r instanceof ur){r.getValues().rawValue!==t.rawValue&&(r.setValues(t),this.graph.markNodeAsDirty(r))}else{const n=new ur(t.parsedValue,t.rawValue);this.exchangeOrAddGraphNode(r,n),this.addressMapping.setCell(e,n),this.graph.markNodeAsDirty(n)}return this.correctInfiniteRangesDependency(e),this.getAndClearContentChanges()}setCellEmpty(e){const t=this.shrinkPossibleArrayAndGetCell(e);if(void 0===t)return tt.empty();if(this.graph.adjacentNodes(t).size>0){const r=new hr;this.exchangeGraphNode(t,r),0===this.graph.adjacentNodesCount(r)?(this.removeVertex(r),this.addressMapping.removeCell(e)):(this.graph.markNodeAsDirty(r),this.addressMapping.setCell(e,r))}else this.removeVertex(t),this.addressMapping.removeCell(e);return this.getAndClearContentChanges()}clearDirtyVertices(){this.graph.clearDirtyNodes()}verticesToRecompute(){return this.graph.getDirtyAndVolatileNodes()}processCellDependencies(e,t){const r=this.graph.getNodeId(t);e.forEach((e=>{if(e instanceof kr){const t=e;let n=this.getRange(t.start,t.end);void 0===n&&(n=new zt(t),this.rangeMapping.setRange(n)),this.graph.addNodeAndReturnId(n);const s=this.graph.getNodeId(n);t.isFinite()||this.graph.markNodeAsInfiniteRange(s);const{smallerRangeVertex:i,restRange:o}=this.rangeMapping.findSmallerRange(t);if(void 0!==i){if(this.graph.addEdge(i,s),n.bruteForce){n.bruteForce=!1;for(const e of t.addresses(this))this.graph.removeEdge(this.fetchCell(e),s)}}else n.bruteForce=!0;const a=this.arrayMapping.getArray(o);if(void 0!==a)this.graph.addEdge(a,s);else for(const e of o.addresses(this)){const{vertex:t,id:r}=this.fetchCellOrCreateEmpty(e);this.graph.addEdge(null!=r?r:t,s)}this.graph.addEdge(s,r),t.isFinite()&&this.correctInfiniteRangesDependenciesByRangeVertex(n)}else if(e instanceof Ue){const n=t.getAddress(this.lazilyTransformingAstService).sheet,{vertex:s,id:i}=this.fetchNamedExpressionVertex(e.name,n);this.graph.addEdge(null!=i?i:s,r)}else{const{vertex:t,id:n}=this.fetchCellOrCreateEmpty(e);this.graph.addEdge(null!=n?n:t,r)}}))}fetchNamedExpressionVertex(e,t){const r=this.namedExpressions.namedExpressionOrPlaceholder(e,t);return this.fetchCellOrCreateEmpty(r.address)}exchangeNode(e,t){const r=this.fetchCellOrCreateEmpty(e).vertex,n=this.fetchCellOrCreateEmpty(t).vertex;this.addressMapping.removeCell(e),this.exchangeGraphNode(r,n)}fetchCellOrCreateEmpty(e){const t=this.addressMapping.getCell(e);if(void 0!==t)return{vertex:t,id:void 0};const r=new hr,n=this.graph.addNodeAndReturnId(r);return this.addressMapping.setCell(e,r),{vertex:r,id:n}}removeRows(e){this.stats.measure(Ze.ADJUSTING_GRAPH,(()=>{for(const[t,r]of this.addressMapping.entriesFromRowsSpan(e)){for(const e of this.graph.adjacentNodes(r))this.graph.markNodeAsDirty(e);if(r instanceof Gt){if(!r.isLeftCorner(t))continue;this.shrinkArrayToCorner(r),this.arrayMapping.removeArray(r.getRange())}this.removeVertex(r)}})),this.stats.measure(Ze.ADJUSTING_ADDRESS_MAPPING,(()=>{this.addressMapping.removeRows(e)}));const t=this.stats.measure(Ze.ADJUSTING_RANGES,(()=>{const t=this.truncateRanges(e,(e=>e.row));return this.getArrayVerticesRelatedToRanges(t)}));return this.stats.measure(Ze.ADJUSTING_ARRAY_MAPPING,(()=>{this.fixArraysAfterRemovingRows(e.sheet,e.rowStart,e.numberOfRows)})),this.addStructuralNodesToChangeSet(),{affectedArrays:t,contentChanges:this.getAndClearContentChanges()}}removeSheet(e){this.clearSheet(e);for(const[t,r]of this.addressMapping.sheetEntries(e)){for(const e of this.graph.adjacentNodes(r))this.graph.markNodeAsDirty(e);this.removeVertex(r),this.addressMapping.removeCell(t)}this.stats.measure(Ze.ADJUSTING_RANGES,(()=>{const t=this.rangeMapping.removeRangesInSheet(e);for(const e of t)this.removeVertex(e);this.stats.measure(Ze.ADJUSTING_ADDRESS_MAPPING,(()=>{this.addressMapping.removeSheet(e)}))}))}clearSheet(e){const t=new Set;for(const[r,n]of this.addressMapping.sheetEntries(e))n instanceof Gt?t.add(n):this.setCellEmpty(r);for(const e of t.values())this.setArrayEmpty(e);this.addStructuralNodesToChangeSet()}removeColumns(e){this.stats.measure(Ze.ADJUSTING_GRAPH,(()=>{for(const[t,r]of this.addressMapping.entriesFromColumnsSpan(e)){for(const e of this.graph.adjacentNodes(r))this.graph.markNodeAsDirty(e);if(r instanceof Gt){if(!r.isLeftCorner(t))continue;this.shrinkArrayToCorner(r),this.arrayMapping.removeArray(r.getRange())}this.removeVertex(r)}})),this.stats.measure(Ze.ADJUSTING_ADDRESS_MAPPING,(()=>{this.addressMapping.removeColumns(e)}));const t=this.stats.measure(Ze.ADJUSTING_RANGES,(()=>{const t=this.truncateRanges(e,(e=>e.col));return this.getArrayVerticesRelatedToRanges(t)}));return this.stats.measure(Ze.ADJUSTING_ARRAY_MAPPING,(()=>this.fixArraysAfterRemovingColumns(e.sheet,e.columnStart,e.numberOfColumns))),this.addStructuralNodesToChangeSet(),{affectedArrays:t,contentChanges:this.getAndClearContentChanges()}}addRows(e){this.stats.measure(Ze.ADJUSTING_ADDRESS_MAPPING,(()=>{this.addressMapping.addRows(e.sheet,e.rowStart,e.numberOfRows)}));const t=this.stats.measure(Ze.ADJUSTING_RANGES,(()=>{const t=this.rangeMapping.moveAllRangesInSheetAfterRowByRows(e.sheet,e.rowStart,e.numberOfRows);return this.fixRangesWhenAddingRows(e.sheet,e.rowStart,e.numberOfRows),this.getArrayVerticesRelatedToRanges(t.verticesWithChangedSize)}));this.stats.measure(Ze.ADJUSTING_ARRAY_MAPPING,(()=>{this.fixArraysAfterAddingRow(e.sheet,e.rowStart,e.numberOfRows)}));for(const t of this.addressMapping.verticesFromRowsSpan(e))this.graph.markNodeAsDirty(t);return this.addStructuralNodesToChangeSet(),{affectedArrays:t}}addColumns(e){this.stats.measure(Ze.ADJUSTING_ADDRESS_MAPPING,(()=>{this.addressMapping.addColumns(e.sheet,e.columnStart,e.numberOfColumns)}));const t=this.stats.measure(Ze.ADJUSTING_RANGES,(()=>{const t=this.rangeMapping.moveAllRangesInSheetAfterColumnByColumns(e.sheet,e.columnStart,e.numberOfColumns);return this.fixRangesWhenAddingColumns(e.sheet,e.columnStart,e.numberOfColumns),this.getArrayVerticesRelatedToRanges(t.verticesWithChangedSize)}));this.stats.measure(Ze.ADJUSTING_ARRAY_MAPPING,(()=>this.fixArraysAfterAddingColumn(e.sheet,e.columnStart,e.numberOfColumns)));for(const t of this.addressMapping.verticesFromColumnsSpan(e))this.graph.markNodeAsDirty(t);return this.addStructuralNodesToChangeSet(),{affectedArrays:t,contentChanges:this.getAndClearContentChanges()}}isThereSpaceForArray(e){const t=e.getRangeOrUndef();if(void 0===t)return!1;for(const r of t.addresses(this)){const t=this.addressMapping.getCell(r);if(void 0!==t&&!(t instanceof hr)&&t!==e)return!1}return!0}moveCells(e,t,r,n){for(const s of e.addressesWithDirection(t,r,this)){const i=_r(n,s.col+t,s.row+r);let o=this.addressMapping.getCell(s);const a=this.addressMapping.getCell(i);if(this.addressMapping.removeCell(s),void 0!==o){let t;this.graph.markNodeAsDirty(o),this.addressMapping.setCell(i,o);for(const r of this.graph.adjacentNodes(o))r instanceof zt&&!e.containsRange(r.range)&&(t=null!=t?t:this.fetchCellOrCreateEmpty(s).vertex,this.graph.addEdge(t,r),this.graph.removeEdge(o,r));t&&(this.graph.markNodeAsDirty(t),this.addressMapping.setCell(s,t))}if(void 0!==a){void 0===o&&this.addressMapping.removeCell(i);for(const e of this.graph.adjacentNodes(a))o=null!=o?o:this.fetchCellOrCreateEmpty(i).vertex,this.graph.addEdge(o,e),this.graph.markNodeAsDirty(o);this.removeVertex(a)}}for(const t of this.rangeMapping.rangeVerticesContainedInRange(e))for(const r of this.graph.adjacentNodes(t))if(r instanceof zt&&!e.containsRange(r.range)){this.graph.removeEdge(t,r);for(const e of t.range.addresses(this)){const{vertex:t,id:n}=this.fetchCellOrCreateEmpty(e);this.graph.addEdge(null!=n?n:t,r),this.addressMapping.setCell(e,t),this.graph.markNodeAsDirty(t)}}this.rangeMapping.moveRangesInsideSourceRange(e,t,r,n)}setArrayEmpty(e){const t=kr.spanFrom(e.getAddress(this.lazilyTransformingAstService),e.width,e.height),r=this.graph.adjacentNodes(e);for(const e of t.addresses(this))this.addressMapping.removeCell(e);for(const t of r.values()){const r=$t(this.functionRegistry,t,e.getRange(),this.lazilyTransformingAstService,this);for(const e of r){const{vertex:r,id:n}=this.fetchCellOrCreateEmpty(e);this.graph.addEdge(null!=n?n:r,t)}r.length>0&&this.graph.markNodeAsDirty(t)}this.removeVertex(e),this.arrayMapping.removeArray(e.getRange())}addVertex(e,t){this.graph.addNodeAndReturnId(t),this.addressMapping.setCell(e,t)}addArrayVertex(e,t){this.graph.addNodeAndReturnId(t),this.setAddressMappingForArrayVertex(t,e)}*arrayFormulaNodes(){for(const e of this.graph.getNodes())e instanceof Gt&&(yield e)}*entriesFromRowsSpan(e){yield*this.addressMapping.entriesFromRowsSpan(e)}*entriesFromColumnsSpan(e){yield*this.addressMapping.entriesFromColumnsSpan(e)}fetchCell(e){return this.addressMapping.fetchCell(e)}getCell(e){return this.addressMapping.getCell(e)}getCellValue(e){return this.addressMapping.getCellValue(e)}getRawValue(e){return this.addressMapping.getRawValue(e)}getScalarValue(e){const t=this.addressMapping.getCellValue(e);return t instanceof et?new Rr(nr.VALUE,q.ScalarExpected):t}existsEdge(e,t){return this.graph.existsEdge(e,t)}getSheetId(e){return this.sheetMapping.fetch(e)}getSheetHeight(e){return this.addressMapping.getHeight(e)}getSheetWidth(e){return this.addressMapping.getWidth(e)}getArray(e){return this.arrayMapping.getArray(e)}getRange(e,t){return this.rangeMapping.getRange(e,t)}topSortWithScc(){return this.graph.topSortWithScc()}markAsVolatile(e){this.graph.markNodeAsVolatile(e)}markAsDependentOnStructureChange(e){this.graph.markNodeAsChangingWithStructure(e)}forceApplyPostponedTransformations(){for(const e of this.graph.getNodes())e instanceof jt&&e.ensureRecentData(this.lazilyTransformingAstService)}*rawValuesFromRange(e){for(const t of e.addresses(this)){const e=this.getScalarValue(t);e!==Be&&(yield[We(e),t])}}computeListOfValuesInRange(e){const t=[];for(const r of e.addresses(this)){const e=this.getScalarValue(r);t.push(e)}return t}shrinkArrayToCorner(e){this.cleanAddressMappingUnderArray(e);for(const t of this.adjacentArrayVertices(e)){let r;r=t instanceof Yt?this.formulaDirectDependenciesToArray(t,e):this.rangeDirectDependenciesToArray(t,e);let n=!1;for(const[s,i]of r)e.isLeftCorner(s)&&(n=!0),this.graph.addEdge(i,t),this.graph.markNodeAsDirty(i);n||this.graph.removeEdge(e,t)}this.graph.markNodeAsDirty(e)}isArrayInternalCell(e){const t=this.getCell(e);return t instanceof Gt&&!t.isLeftCorner(e)}getAndClearContentChanges(){const e=this.changes;return this.changes=tt.empty(),e}getAdjacentNodesAddresses(e){const t=this.graph.adjacentNodes(e),r=[];return t.forEach((e=>{const t=e;t instanceof zt?r.push(Dr(t.start,t.end)):r.push(t.getAddress(this.lazilyTransformingAstService))})),r}exchangeGraphNode(e,t){this.graph.addNodeAndReturnId(t);const r=this.graph.adjacentNodes(e);this.removeVertex(e),r.forEach((e=>{this.graph.hasNode(e)&&this.graph.addEdge(t,e)}))}setArray(e,t){this.arrayMapping.setArray(e,t)}correctInfiniteRangesDependency(e){const t=this.graph.getInfiniteRanges().filter((({node:t})=>t.range.addressInRange(e)));if(t.length<=0)return;const{vertex:r,id:n}=this.fetchCellOrCreateEmpty(e),s=null!=n?n:this.graph.getNodeId(r);t.forEach((({id:e})=>{this.graph.addEdge(s,e)}))}exchangeOrAddGraphNode(e,t){e?this.exchangeGraphNode(e,t):this.graph.addNodeAndReturnId(t)}getArrayVerticesRelatedToRanges(e){const t=new Set;return e.forEach((e=>{this.graph.hasNode(e)&&this.graph.adjacentNodes(e).forEach((e=>{e instanceof Gt&&t.add(e)}))})),t}correctInfiniteRangesDependenciesByRangeVertex(e){this.graph.getInfiniteRanges().forEach((({id:t,node:r})=>{const n=e.range.intersectionWith(r.range);void 0!==n&&n.addresses(this).forEach((e=>{const{vertex:r,id:n}=this.fetchCellOrCreateEmpty(e);this.graph.addEdge(null!=n?n:r,t)}))}))}cleanAddressMappingUnderArray(e){const t=e.getRange();for(const r of t.addresses(this)){const t=e.getArrayCellValue(r);this.getCell(r)===e?e.isLeftCorner(r)?this.changes.addChange(new Rr(nr.REF),r,t):(this.addressMapping.removeCell(r),this.changes.addChange(Be,r,t)):this.changes.addChange(Be,r,t)}}*formulaDirectDependenciesToArray(e,t){var r;const[,n]=null!==(r=this.formulaDependencyQuery(e))&&void 0!==r?r:[];if(void 0!==n)for(const e of n)if(!(e instanceof Ue||e instanceof kr)&&t.getRange().addressInRange(e)){const t=this.fetchCellOrCreateEmpty(e).vertex;yield[e,t]}}*rangeDirectDependenciesToArray(e,t){const{restRange:r}=this.rangeMapping.findSmallerRange(e.range);for(const e of r.addresses(this))if(t.getRange().addressInRange(e)){const t=this.fetchCellOrCreateEmpty(e).vertex;yield[e,t]}}*adjacentArrayVertices(e){const t=this.graph.adjacentNodes(e);for(const e of t)(e instanceof Yt||e instanceof zt)&&(yield e)}addStructuralNodesToChangeSet(){this.graph.markChangingWithStructureNodesAsDirty()}fixRangesWhenAddingRows(e,t,r){const n=Array.from(this.rangeMapping.rangesInSheet(e));for(const e of n)if(e.range.includesRow(t+r))if(e.bruteForce){const n=e.range.rangeWithSameWidth(t,r);for(const t of n.addresses(this)){const{vertex:r,id:n}=this.fetchCellOrCreateEmpty(t);this.graph.addEdge(null!=n?n:r,e)}}else{let t=e,r=this.rangeMapping.findSmallerRange(t.range);if(void 0!==r.smallerRangeVertex)continue;for(;void 0===r.smallerRangeVertex;){const e=new zt(kr.spanFrom(t.range.start,t.range.width(),t.range.height()-1));this.rangeMapping.setRange(e),this.graph.addNodeAndReturnId(e);const n=new kr(_r(t.range.start.sheet,t.range.start.col,t.range.end.row),t.range.end);this.addAllFromRange(n,t),this.graph.addEdge(e,t),t=e,r=this.rangeMapping.findSmallerRange(t.range)}this.graph.addEdge(r.smallerRangeVertex,t),this.addAllFromRange(r.restRange,t),this.graph.removeEdge(r.smallerRangeVertex,e)}}addAllFromRange(e,t){for(const r of e.addresses(this)){const{vertex:e,id:n}=this.fetchCellOrCreateEmpty(r);this.graph.addEdge(null!=n?n:e,t)}}fixRangesWhenAddingColumns(e,t,r){for(const n of this.rangeMapping.rangesInSheet(e))if(n.range.includesColumn(t+r)){let s;s=n.bruteForce?n.range.rangeWithSameHeight(t,r):kr.spanFrom(_r(e,t,n.range.end.row),r,1);for(const e of s.addresses(this)){const{vertex:t,id:r}=this.fetchCellOrCreateEmpty(e);this.graph.addEdge(null!=r?r:t,n)}}}exchangeOrAddFormulaVertex(e){const t=e.getAddress(this.lazilyTransformingAstService),r=kr.spanFrom(t,e.width,e.height),n=this.shrinkPossibleArrayAndGetCell(t);if(e instanceof Gt&&this.setArray(r,e),this.exchangeOrAddGraphNode(n,e),this.addressMapping.setCell(t,e),e instanceof Gt){if(!this.isThereSpaceForArray(e))return;for(const t of r.addresses(this)){if(e.isLeftCorner(t))continue;const r=this.getCell(t);this.exchangeOrAddGraphNode(r,e)}}for(const t of r.addresses(this))this.addressMapping.setCell(t,e)}setAddressMappingForArrayVertex(e,t){if(this.addressMapping.setCell(t,e),!(e instanceof Gt))return;const r=kr.spanFromOrUndef(t,e.width,e.height);if(void 0!==r&&(this.setArray(r,e),this.isThereSpaceForArray(e)))for(const t of r.addresses(this))this.addressMapping.setCell(t,e)}truncateRanges(e,t){const{verticesToRemove:r,verticesToMerge:n,verticesWithChangedSize:s}=this.rangeMapping.truncateRanges(e,t);for(const[e,t]of n)this.mergeRangeVertices(e,t);for(const e of r)this.removeVertexAndCleanupDependencies(e);return s}fixArraysAfterAddingRow(e,t,r){if(this.arrayMapping.moveArrayVerticesAfterRowByRows(e,t,r),!(t<=0))for(const[,n]of this.arrayMapping.arraysInRows(rt.fromRowStartAndEnd(e,t-1,t-1))){const s=n.getRange();for(let i=s.start.col;i<=s.end.col;++i)for(let o=t;o<=s.end.row;++o){const t=_r(e,i,o),s=_r(e,i,o+r),a=n.getArrayCellValue(t);this.addressMapping.moveCell(s,t),this.changes.addChange(Be,s,a)}}}fixArraysAfterRemovingRows(e,t,r){if(this.arrayMapping.moveArrayVerticesAfterRowByRows(e,t,-r),!(t<=0))for(const[,r]of this.arrayMapping.arraysInRows(rt.fromRowStartAndEnd(e,t-1,t-1)))if(this.isThereSpaceForArray(r))for(const e of r.getRange().addresses(this))this.addressMapping.setCell(e,r);else this.setNoSpaceIfArray(r)}fixArraysAfterAddingColumn(e,t,r){if(this.arrayMapping.moveArrayVerticesAfterColumnByColumns(e,t,r),!(t<=0))for(const[,n]of this.arrayMapping.arraysInCols(nt.fromColumnStartAndEnd(e,t-1,t-1))){const s=n.getRange();for(let i=s.start.row;i<=s.end.row;++i)for(let o=t;o<=s.end.col;++o){const t=_r(e,o,i),s=_r(e,o+r,i),a=n.getArrayCellValue(t);this.addressMapping.moveCell(s,t),this.changes.addChange(Be,s,a)}}}fixArraysAfterRemovingColumns(e,t,r){if(this.arrayMapping.moveArrayVerticesAfterColumnByColumns(e,t,-r),!(t<=0))for(const[,r]of this.arrayMapping.arraysInCols(nt.fromColumnStartAndEnd(e,t-1,t-1)))if(this.isThereSpaceForArray(r))for(const e of r.getRange().addresses(this))this.addressMapping.setCell(e,r);else this.setNoSpaceIfArray(r)}shrinkPossibleArrayAndGetCell(e){const t=this.getCell(e);return t instanceof Gt?(this.setNoSpaceIfArray(t),this.getCell(e)):t}setNoSpaceIfArray(e){e instanceof Gt&&(this.shrinkArrayToCorner(e),e.setNoSpace())}removeVertex(e){this.removeVertexAndCleanupDependencies(e),e instanceof zt&&this.rangeMapping.removeRange(e)}mergeRangeVertices(e,t){const r=this.graph.adjacentNodes(t);this.removeVertexAndCleanupDependencies(t),this.graph.removeEdgeIfExists(e,t),r.forEach((t=>{this.graph.hasNode(t)&&this.graph.addEdge(e,t)}))}removeVertexAndCleanupDependencies(e){const t=new Set(this.graph.removeNode(e));for(;t.size>0;){const e=t.values().next().value;t.delete(e);const[r,n]=e;this.graph.hasNode(n)&&0===this.graph.adjacentNodesCount(n)&&((n instanceof zt||n instanceof hr)&&this.graph.removeNode(n).forEach((e=>t.add(e))),n instanceof zt?this.rangeMapping.removeRange(n):n instanceof hr&&this.addressMapping.removeCell(r))}}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class hr{constructor(){}getCellValue(){return Be}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class ur{constructor(e,t){this.parsedValue=e,this.rawValue=t}getValues(){return{parsedValue:this.parsedValue,rawValue:this.rawValue}}setValues(e){this.parsedValue=e.parsedValue,this.rawValue=e.rawValue}getCellValue(){return this.parsedValue}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class cr{constructor(e,t){this.errors=e,this.rawInput=t}getCellValue(){const e=this.errors.map((e=>e.message)).find((e=>e));return Rr.parsingError(e)}getFormula(){return this.rawInput}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class dr{constructor(e,t){this.width=e,this.height=t,this.mapping=new Map}getCell(e){var t;return null===(t=this.mapping.get(e.col))||void 0===t?void 0:t.get(e.row)}setCell(e,t){this.width=Math.max(this.width,e.col+1),this.height=Math.max(this.height,e.row+1);let r=this.mapping.get(e.col);r||(r=new Map,this.mapping.set(e.col,r)),r.set(e.row,t)}has(e){var t;return!!(null===(t=this.mapping.get(e.col))||void 0===t?void 0:t.get(e.row))}getHeight(){return this.height}getWidth(){return this.width}removeCell(e){var t;null===(t=this.mapping.get(e.col))||void 0===t||t.delete(e.row)}addRows(e,t){this.mapping.forEach((r=>{const n=new Map;r.forEach(((s,i)=>{i>=e&&(n.set(i+t,s),r.delete(i))})),n.forEach(((e,t)=>{r.set(t,e)}))})),this.height+=t}addColumns(e,t){const r=new Map;this.mapping.forEach(((n,s)=>{s>=e&&(r.set(s+t,n),this.mapping.delete(s))})),r.forEach(((e,t)=>{this.mapping.set(t,e)})),this.width+=t}removeRows(e){this.mapping.forEach((t=>{const r=new Map;t.forEach(((n,s)=>{s>=e.rowStart&&(t.delete(s),s>e.rowEnd&&r.set(s-e.numberOfRows,n))})),r.forEach(((e,r)=>{t.set(r,e)}))}));const t=Math.min(this.height-1,e.rowEnd),r=Math.max(0,t-e.rowStart+1);this.height=Math.max(0,this.height-r)}removeColumns(e){const t=new Map;this.mapping.forEach(((r,n)=>{n>=e.columnStart&&(this.mapping.delete(n),n>e.columnEnd&&t.set(n-e.numberOfColumns,r))})),t.forEach(((e,t)=>{this.mapping.set(t,e)}));const r=Math.min(this.width-1,e.columnEnd),n=Math.max(0,r-e.columnStart+1);this.width=Math.max(0,this.width-n)}*getEntries(e){for(const[t,r]of this.mapping)for(const[n,s]of r)yield[_r(e,t,n),s]}*verticesFromColumn(e){const t=this.mapping.get(e);if(void 0!==t)for(const[e,r]of t)yield r}*verticesFromRow(e){for(const t of this.mapping.values()){const r=t.get(e);void 0!==r&&(yield r)}}*verticesFromColumnsSpan(e){for(const t of e.columns()){const e=this.mapping.get(t);if(void 0!==e)for(const[t,r]of e)yield r}}*verticesFromRowsSpan(e){for(const t of this.mapping.values())for(const r of e.rows()){const e=t.get(r);void 0!==e&&(yield e)}}*entriesFromRowsSpan(e){for(const[t,r]of this.mapping.entries())for(const n of e.rows()){const s=r.get(n);void 0!==s&&(yield[_r(e.sheet,t,n),s])}}*entriesFromColumnsSpan(e){for(const t of e.columns()){const r=this.mapping.get(t);if(void 0!==r)for(const[n,s]of r.entries())yield[_r(e.sheet,t,n),s]}}*vertices(){for(const[e,t]of this.mapping)for(const[e,r]of t)void 0!==r&&(yield r)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class pr{constructor(e,t){this.width=e,this.height=t,this.mapping=new Array(t);for(let r=0;r<t;r++)this.mapping[r]=new Array(e)}getCell(e){return this.getCellVertex(e.col,e.row)}setCell(e,t){this.width=Math.max(this.width,e.col+1),this.height=Math.max(this.height,e.row+1);this.mapping[e.row]||(this.mapping[e.row]=new Array(this.width)),this.mapping[e.row][e.col]=t}has(e){const t=this.mapping[e.row];return!!t&&!!t[e.col]}getHeight(){return this.height}getWidth(){return this.width}removeCell(e){void 0!==this.mapping[e.row]&&delete this.mapping[e.row][e.col]}addRows(e,t){const r=[];for(let e=0;e<t;e++)r.push(new Array(this.width));this.mapping.splice(e,0,...r),this.height+=t}addColumns(e,t){for(let r=0;r<this.height;r++)void 0!==this.mapping[r]&&this.mapping[r].splice(e,0,...new Array(t));this.width+=t}removeRows(e){this.mapping.splice(e.rowStart,e.numberOfRows);const t=Math.min(this.height-1,e.rowEnd),r=Math.max(0,t-e.rowStart+1);this.height=Math.max(0,this.height-r)}removeColumns(e){for(let t=0;t<this.height;t++)void 0!==this.mapping[t]&&this.mapping[t].splice(e.columnStart,e.numberOfColumns);const t=Math.min(this.width-1,e.columnEnd),r=Math.max(0,t-e.columnStart+1);this.width=Math.max(0,this.width-r)}*getEntries(e){for(let t=0;t<this.height;++t)for(let r=0;r<this.width;++r){const n=this.getCellVertex(r,t);n&&(yield[_r(e,r,t),n])}}*verticesFromColumn(e){for(let t=0;t<this.height;++t){const r=this.getCellVertex(e,t);r&&(yield r)}}*verticesFromRow(e){for(let t=0;t<this.width;++t){const r=this.getCellVertex(t,e);r&&(yield r)}}*verticesFromColumnsSpan(e){for(let t=e.columnStart;t<=e.columnEnd;++t)for(let e=0;e<this.height;++e){const r=this.getCellVertex(t,e);r&&(yield r)}}*verticesFromRowsSpan(e){for(let t=0;t<this.width;++t)for(let r=e.rowStart;r<=e.rowEnd;++r){const e=this.getCellVertex(t,r);e&&(yield e)}}*entriesFromRowsSpan(e){for(let t=0;t<this.width;++t)for(let r=e.rowStart;r<=e.rowEnd;++r){const n=this.getCellVertex(t,r);n&&(yield[_r(e.sheet,t,r),n])}}*entriesFromColumnsSpan(e){for(let t=e.columnStart;t<=e.columnEnd;++t)for(let r=0;r<this.height;++r){const n=this.getCellVertex(t,r);n&&(yield[_r(e.sheet,t,r),n])}}*vertices(){for(let e=0;e<this.height;++e)for(let t=0;t<this.width;++t){const r=this.getCellVertex(t,e);r&&(yield r)}}getCellVertex(e,t){var r;return null===(r=this.mapping[t])||void 0===r?void 0:r[e]}}!function(e){e.DIV_BY_ZERO="DIV_BY_ZERO",e.NAME="NAME",e.VALUE="VALUE",e.NUM="NUM",e.NA="NA",e.CYCLE="CYCLE",e.REF="REF",e.SPILL="SPILL",e.LIC="LIC",e.ERROR="ERROR"}(nr||(nr={})),function(e){e.FORMULA="FORMULA",e.VALUE="VALUE",e.ARRAY="ARRAY",e.EMPTY="EMPTY",e.ARRAYFORMULA="ARRAYFORMULA"}(sr||(sr={}));var gr,fr;!function(e){e.EMPTY="EMPTY",e.NUMBER="NUMBER",e.STRING="STRING",e.BOOLEAN="BOOLEAN",e.ERROR="ERROR"}(gr||(gr={})),function(e){e.NUMBER="NUMBER"}(fr||(fr={}));const mr=Object.assign(Object.assign({},gr),fr),yr=Object.assign(Object.assign({},gr),Qe),Er=e=>{switch(e){case mr.EMPTY:return 0;case mr.NUMBER:return 1;case mr.STRING:return 2;case mr.BOOLEAN:return 3;case mr.ERROR:return 4}throw new Error("Cell value not computed")},wr=e=>{if(e===Be)return mr.EMPTY;if(e instanceof Rr||e instanceof et)return mr.ERROR;if("string"==typeof e)return mr.STRING;if(qe(e))return mr.NUMBER;if("boolean"==typeof e)return mr.BOOLEAN;throw new Error("Cell value not computed")},Cr=e=>{return qe(e)?(t=e)instanceof Ye?t.getDetailedType():Qe.NUMBER_RAW:wr(e);var t},vr=e=>{return qe(e)&&(t=e)instanceof Ye?t.format:void 0;var t};class Rr{constructor(e,t,r){this.type=e,this.message=t,this.root=r}static parsingError(e){return new Rr(nr.ERROR,`${q.ParseError}${e?" "+e:""}`)}attachRootVertex(e){return void 0===this.root?new Rr(this.type,this.message,e):this}}const Sr=(e,t)=>({sheet:e,row:t}),Tr=e=>e.row<0,Nr=(e,t)=>({sheet:e,col:t}),Mr=e=>e.col<0,_r=(e,t,r)=>({sheet:e,col:t,row:r}),br=e=>e.col<0||e.row<0,Or=(e,t,r,n)=>_r(t,e.col+r,e.row+n),Ar=e=>`${e.sheet},${e.row},${e.col}`;function Ir(e){var t,r,n;return e&&("object"==typeof e||"function"==typeof e)&&"number"==typeof(null===(t=e)||void 0===t?void 0:t.sheet)&&"number"==typeof(null===(r=e)||void 0===r?void 0:r.col)&&"number"==typeof(null===(n=e)||void 0===n?void 0:n.row)}const xr=(e,t)=>{var r;return null!==(r=e.sheet)&&void 0!==r?r:t.sheet},Pr=(e,t)=>e.sheet===t.sheet&&e.col===t.col&&e.row===t.row;function Lr(e){return!(!e||"object"!=typeof e&&"function"!=typeof e)&&("start"in e&&Ir(e.start)&&"end"in e&&Ir(e.end))}const Dr=(e,t)=>({start:e,end:t});class kr{constructor(e,t){if(e.sheet!==t.sheet)throw new pt(e.sheet,t.sheet);this.start=_r(e.sheet,e.col,e.row),this.end=_r(t.sheet,t.col,t.row)}get sheet(){return this.start.sheet}static fromSimpleCellAddresses(e,t){if(e.sheet!==t.sheet)throw new pt(e.sheet,t.sheet);const r=t.col-e.col,n=t.row-e.row;return Number.isFinite(n)&&Number.isFinite(r)?new kr(e,t):Number.isFinite(n)?new Fr(e.sheet,e.row,t.row):new Hr(e.sheet,e.col,t.col)}static fromAst(e,t){return e.type===H.CELL_RANGE?kr.fromCellRange(e,t):e.type===H.COLUMN_RANGE?Hr.fromColumnRange(e,t):Fr.fromRowRangeAst(e,t)}static fromAstOrUndef(e,t){try{return kr.fromAst(e,t)}catch(e){return}}static fromCellRange(e,t){return new kr(e.start.toSimpleCellAddress(t),e.end.toSimpleCellAddress(t))}static spanFrom(e,t,r){const n=kr.spanFromOrUndef(e,t,r);if(void 0===n)throw new Error("AbsoluteCellRange: Wrong range size");return n}static spanFromOrUndef(e,t,r){if(!Number.isFinite(t)&&Number.isFinite(r)){if(0!==e.col)return;return new Fr(e.sheet,e.row,e.row+r-1)}if(!Number.isFinite(r)&&Number.isFinite(t)){if(0!==e.row)return;return new Hr(e.sheet,e.col,e.col+t-1)}if(Number.isFinite(r)&&Number.isFinite(t))return new kr(e,_r(e.sheet,e.col+t-1,e.row+r-1))}static fromCoordinates(e,t,r,n,s){return new kr(_r(e,t,r),_r(e,n,s))}isFinite(){return Number.isFinite(this.size())}doesOverlap(e){return this.start.sheet==e.start.sheet&&(!(this.end.row<e.start.row||this.start.row>e.end.row)&&!(this.end.col<e.start.col||this.start.col>e.end.col))}addressInRange(e){return this.sheet===e.sheet&&(this.start.row<=e.row&&this.end.row>=e.row&&this.start.col<=e.col&&this.end.col>=e.col)}columnInRange(e){return this.sheet===e.sheet&&(this.start.col<=e.col&&this.end.col>=e.col)}rowInRange(e){return this.sheet===e.sheet&&(this.start.row<=e.row&&this.end.row>=e.row)}containsRange(e){return this.addressInRange(e.start)&&this.addressInRange(e.end)}intersectionWith(e){if(this.sheet!==e.start.sheet)return;const t=Math.max(this.start.row,e.start.row),r=Math.min(this.end.row,e.end.row),n=Math.max(this.start.col,e.start.col),s=Math.min(this.end.col,e.end.col);return t>r||n>s?void 0:new kr(_r(this.sheet,n,t),_r(this.sheet,s,r))}includesRow(e){return this.start.row<e&&this.end.row>=e}includesColumn(e){return this.start.col<e&&this.end.col>=e}shiftByRows(e){this.start.row+=e,this.end.row+=e}expandByRows(e){this.end.row+=e}shiftByColumns(e){this.start.col+=e,this.end.col+=e}shifted(e,t){return kr.spanFrom(_r(this.sheet,this.start.col+e,this.start.row+t),this.width(),this.height())}expandByColumns(e){this.end.col+=e}moveToSheet(e){this.start.sheet=e,this.end.sheet=e}removeSpan(e){e instanceof rt?this.removeRows(e.start,e.end):this.removeColumns(e.start,e.end)}shouldBeRemoved(){return this.width()<=0||this.height()<=0}rangeWithSameWidth(e,t){return kr.spanFrom(_r(this.sheet,this.start.col,e),this.width(),t)}rangeWithSameHeight(e,t){return kr.spanFrom(_r(this.sheet,e,this.start.row),t,this.height())}toString(){return`${this.start.sheet},${this.start.col},${this.start.row},${this.end.col},${this.end.row}`}width(){return this.end.col-this.start.col+1}height(){return this.end.row-this.start.row+1}size(){return this.height()*this.width()}arrayOfAddressesInRange(){const e=[];for(let t=0;t<this.height();++t){e[t]=[];for(let r=0;r<this.width();++r){const n=_r(this.sheet,this.start.col+r,this.start.row+t);e[t].push(n)}}return e}withStart(e){return new kr(e,this.end)}sameDimensionsAs(e){return this.width()===e.width()&&this.height()===e.height()}sameAs(e){return Pr(this.start,e.start)&&Pr(this.end,e.end)}addressesArrayMap(e,t){const r=[];let n=this.start.row;for(;n<=this.effectiveEndRow(e);){let s=this.start.col;const i=[];for(;s<=this.effectiveEndColumn(e);)i.push(t(_r(this.start.sheet,s,n))),s++;r.push(i),n++}return r}addresses(e){const t=[];let r=this.start.row;const n=this.effectiveEndRow(e),s=this.effectiveEndColumn(e);for(;r<=n;){let e=this.start.col;for(;e<=s;)t.push(_r(this.start.sheet,e,r)),e++;r++}return t}*addressesWithDirection(e,t,r){if(e>0)if(t>0){let e=this.effectiveEndRow(r);for(;e>=this.start.row;){let t=this.effectiveEndColumn(r);for(;t>=this.start.col;)yield _r(this.start.sheet,t,e),t-=1;e-=1}}else{let e=this.start.row;for(;e<=this.effectiveEndRow(r);){let t=this.effectiveEndColumn(r);for(;t>=this.start.col;)yield _r(this.start.sheet,t,e),t-=1;e+=1}}else if(t>0){let e=this.effectiveEndRow(r);for(;e>=this.start.row;){let t=this.start.col;for(;t<=this.effectiveEndColumn(r);)yield _r(this.start.sheet,t,e),t+=1;e-=1}}else{let e=this.start.row;for(;e<=this.effectiveEndRow(r);){let t=this.start.col;for(;t<=this.effectiveEndColumn(r);)yield _r(this.start.sheet,t,e),t+=1;e+=1}}}getAddress(e,t){if(e<0||t<0||t>this.height()-1||e>this.width()-1)throw Error("Index out of bound");return _r(this.start.sheet,this.start.col+e,this.start.row+t)}exceedsSheetSizeLimits(e,t){return this.end.col>=e||this.end.row>=t}effectiveEndColumn(e){return this.end.col}effectiveEndRow(e){return this.end.row}effectiveWidth(e){return this.width()}effectiveHeight(e){return this.height()}removeRows(e,t){if(!(e>this.end.row)){if(t<this.start.row){const r=t-e+1;return this.shiftByRows(-r)}e<=this.start.row&&(this.start.row=e),this.end.row-=Math.min(t,this.end.row)-e+1}}removeColumns(e,t){if(!(e>this.end.col)){if(t<this.start.col){const r=t-e+1;return this.shiftByColumns(-r)}e<=this.start.col&&(this.start.col=e),this.end.col-=Math.min(t,this.end.col)-e+1}}}class Hr extends kr{constructor(e,t,r){super(_r(e,t,0),_r(e,r,Number.POSITIVE_INFINITY))}static fromColumnRange(e,t){const r=e.start.toSimpleColumnAddress(t),n=e.end.toSimpleColumnAddress(t);if(r.sheet!==n.sheet)throw new pt(r.sheet,n.sheet);return new Hr(r.sheet,r.col,n.col)}shouldBeRemoved(){return this.width()<=0}shiftByRows(e){}expandByRows(e){}shifted(e,t){return new Hr(this.sheet,this.start.col+e,this.end.col+e)}rangeWithSameHeight(e,t){return new Hr(this.sheet,e,e+t-1)}exceedsSheetSizeLimits(e,t){return this.end.col>=e}effectiveEndRow(e){return this.effectiveHeight(e)-1}effectiveHeight(e){return e.getSheetHeight(this.sheet)}removeRows(e,t){}}class Fr extends kr{constructor(e,t,r){super(_r(e,0,t),_r(e,Number.POSITIVE_INFINITY,r))}static fromRowRangeAst(e,t){const r=e.start.toSimpleRowAddress(t),n=e.end.toSimpleRowAddress(t);if(r.sheet!==n.sheet)throw new pt(r.sheet,n.sheet);return new Fr(r.sheet,r.row,n.row)}shouldBeRemoved(){return this.height()<=0}shiftByColumns(e){}expandByColumns(e){}shifted(e,t){return new Fr(this.sheet,this.start.row+t,this.end.row+t)}rangeWithSameWidth(e,t){return new Fr(this.sheet,e,e+t-1)}exceedsSheetSizeLimits(e,t){return this.end.row>=t}effectiveEndColumn(e){return this.effectiveWidth(e)-1}effectiveWidth(e){return e.getSheetWidth(this.sheet)}removeColumns(e,t){}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ur{constructor(e,t,r){this.formulaAddress=e,this.arraysFlag=t,this.formulaVertex=r}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const Vr=/^\s*([+-]?)\s*(([\d\.,]+(e[+-]?\d+)?)\s*([ij]?)|([ij]))\s*(([+-])\s*([+-]?)\s*(([\d\.,]+(e[+-]?\d+)?)\s*([ij]?)|([ij])))?$/;class Br{constructor(e,t,r){this.config=e,this.dateTimeHelper=t,this.numberLiteralsHelper=r,this.lt=(e,t)=>this.compare(e,t)<0,this.leq=(e,t)=>this.compare(e,t)<=0,this.gt=(e,t)=>this.compare(e,t)>0,this.geq=(e,t)=>this.compare(e,t)>=0,this.eq=(e,t)=>0===this.compare(e,t),this.neq=(e,t)=>0!==this.compare(e,t),this.pow=(e,t)=>Math.pow(We(e),We(t)),this.addWithEpsilonRaw=(e,t)=>{const r=e+t;return Math.abs(r)<this.actualEps*Math.abs(e)?0:r},this.addWithEpsilon=(e,t)=>{const r=tn(e,t);return this.ExtendedNumberFactory(this.addWithEpsilonRaw(We(e),We(t)),r)},this.unaryMinus=e=>Ge(e,-We(e)),this.unaryPlus=e=>e,this.unaryPercent=e=>new Xe(We(e)/100),this.concat=(e,t)=>e.concat(t),this.nonstrictadd=(e,t)=>e instanceof Rr?e:t instanceof Rr?t:"number"==typeof e?"number"==typeof t?this.addWithEpsilonRaw(e,t):e:"number"==typeof t?t:0,this.subtract=(e,t)=>{const r=tn(e,t),n=We(e);let s=n-We(t);return Math.abs(s)<this.actualEps*Math.abs(n)&&(s=0),this.ExtendedNumberFactory(s,r)},this.divide=(e,t)=>{const r=We(e),n=We(t);if(0===n)return new Rr(nr.DIV_BY_ZERO);{const s=rn(e,t);return this.ExtendedNumberFactory(r/n,s)}},this.multiply=(e,t)=>{const r=rn(e,t);return this.ExtendedNumberFactory(We(e)*We(t),r)},this.manyToExactComplex=e=>{const t=[];for(const r of e){if(r instanceof Rr)return r;if(qe(r)||"string"==typeof r){const e=this.coerceScalarToComplex(r);e instanceof Rr||t.push(e)}}return t},this.coerceNumbersExactRanges=e=>this.manyToNumbers(e,this.manyToExactNumbers),this.coerceNumbersCoerceRangesDropNulls=e=>this.manyToNumbers(e,this.manyToCoercedNumbersDropNulls),this.manyToExactNumbers=e=>{const t=[];for(const r of e){if(r instanceof Rr)return r;qe(r)&&t.push(We(r))}return t},this.manyToOnlyNumbersDropNulls=e=>{const t=[];for(const r of e){if(r instanceof Rr)return r;if(qe(r))t.push(We(r));else if(r!==Be)return new Rr(nr.VALUE,q.NumberExpected)}return t},this.manyToCoercedNumbersDropNulls=e=>{const t=[];for(const r of e){if(r instanceof Rr)return r;if(r===Be)continue;const e=this.coerceScalarToNumberOrError(r);qe(e)&&t.push(We(e))}return t},this.collator=
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
function(e){const t=e.caseSensitive?e.accentSensitive?"variant":"case":e.accentSensitive?"accent":"base",r=e.caseFirst,n=e.ignorePunctuation;return new Intl.Collator(e.localeLang,{sensitivity:t,caseFirst:r,ignorePunctuation:n})}(e),this.actualEps=e.smartRounding?e.precisionEpsilon:0}eqMatcherFunction(e){const t=this.buildRegex(e);return e=>"string"==typeof e&&t.test(this.normalizeString(e))}neqMatcherFunction(e){const t=this.buildRegex(e);return e=>!("string"==typeof e&&t.test(this.normalizeString(e)))}searchString(e,t){var r;const n=this.buildRegex(e,!1).exec(t);return null!==(r=null==n?void 0:n.index)&&void 0!==r?r:-1}requiresRegex(e){if(!this.config.useRegularExpressions&&!this.config.useWildcards)return!this.config.matchWholeCell;for(let t=0;t<e.length;t++){const r=e.charAt(t);if(Zr(r)||this.config.useRegularExpressions&&en(r))return!0}return!1}floatCmp(e,t){const r=We(e),n=We(t),s=1+this.actualEps;return n>=0&&r*s>=n&&r<=n*s||n<=0&&r*s<=n&&r>=n*s?0:r>n?1:-1}coerceScalarToNumberOrError(e){var t;return e instanceof Rr?e:null!==(t=this.coerceToMaybeNumber(e))&&void 0!==t?t:new Rr(nr.VALUE,q.NumberCoercion)}coerceToMaybeNumber(e){var t;return null!==(t=this.coerceNonDateScalarToMaybeNumber(e))&&void 0!==t?t:"string"==typeof e?this.dateTimeHelper.dateStringToDateNumber(e):void 0}coerceNonDateScalarToMaybeNumber(e){if(e===Be)return 0;if("string"==typeof e){if(""===e)return 0;const t=this.coerceStringToMaybePercentNumber(e);if(void 0!==t)return t;const r=this.coerceStringToMaybeCurrencyNumber(e);return void 0!==r?r:this.numberLiteralsHelper.numericStringToMaybeNumber(e.trim())}return qe(e)?e:"boolean"==typeof e?Number(e):void 0}coerceStringToMaybePercentNumber(e){const t=e.trim();if(t.endsWith("%")){const e=t.slice(0,t.length-1).trim(),r=this.numberLiteralsHelper.numericStringToMaybeNumber(e);if(void 0!==r)return new Xe(r/100)}}coerceStringToMaybeCurrencyNumber(e){const t=this.currencyMatcher(e.trim());if(void 0!==t){const[e,r]=t,n=this.numberLiteralsHelper.numericStringToMaybeNumber(r);if(void 0!==n)return new ze(n,e)}}currencyMatcher(e){for(const t of this.config.currencySymbol){if(e.startsWith(t))return[t,e.slice(t.length).trim()];if(e.endsWith(t))return[t,e.slice(0,e.length-t.length).trim()]}}coerceComplexExactRanges(e){const t=[];for(const r of e)if(r instanceof et)t.push(r);else if(r!==Be){const e=this.coerceScalarToComplex(r);if(e instanceof Rr)return e;t.push(e)}const r=[];for(const e of t)if(e instanceof et){const t=this.manyToExactComplex(e.valuesFromTopLeftCorner());if(t instanceof Rr)return t;r.push(...t)}else r.push(e);return r}coerceScalarToComplex(e){return e instanceof Rr?e:e===Be?[0,0]:qe(e)?[We(e),0]:"string"==typeof e?this.coerceStringToComplex(e):new Rr(nr.NUM,q.ComplexNumberExpected)}ExtendedNumberFactory(e,t){const{type:r,format:n}=t;switch(r){case Qe.NUMBER_RAW:return e;case Qe.NUMBER_CURRENCY:return new ze(e,null!=n?n:this.config.currencySymbol[0]);case Qe.NUMBER_DATE:return new je(e,n);case Qe.NUMBER_DATETIME:return new Ke(e,n);case Qe.NUMBER_TIME:return new $e(e,n);case Qe.NUMBER_PERCENT:return new Xe(e,n)}}buildRegex(e,t=!0){let r;e=this.normalizeString(e);let n=this.config.useWildcards,s=this.config.useRegularExpressions;if(s)try{RegExp(e)}catch(e){s=!1,n=!1}return r=s?function(e,t){let r="";for(let n=0;n<e.length;n++){const s=e.charAt(n);Zr(s)||en(s)?r+=s:r+=t?s:s.toLowerCase()}return r}(e,this.config.caseSensitive):n?function(e,t){let r="";for(let n=0;n<e.length;n++){const s=e.charAt(n);if("~"===s){if(n==e.length-1){r+="~";continue}const t=e.charAt(n+1);Zr(t)||en(t)?(r+="\\"+t,n++):(r+=t,n++)}else Zr(s)?r+="."+s:en(s)?r+="\\"+s:r+=t?s:s.toLowerCase()}return r}(e,this.config.caseSensitive):function(e,t){let r="";for(let n=0;n<e.length;n++){const s=e.charAt(n);Zr(s)||en(s)?r+="\\"+s:r+=t?s:s.toLowerCase()}return r}(e,this.config.caseSensitive),this.config.matchWholeCell&&t?RegExp("^("+r+")$"):RegExp(r)}normalizeString(e){return this.config.caseSensitive||(e=e.toLowerCase()),this.config.accentSensitive||(e=on(e,"nfd").replace(/[\u0300-\u036f]/g,"")),e}compare(e,t){if("string"==typeof e||"string"==typeof t){const r="string"==typeof e?this.dateTimeHelper.dateStringToDateNumber(e):e,n="string"==typeof t?this.dateTimeHelper.dateStringToDateNumber(t):t;if(qe(r)&&qe(n))return this.floatCmp(r,n)}return e===Be?e=jr(t):t===Be&&(t=jr(e)),"string"==typeof e&&"string"==typeof t?this.stringCmp(e,t):"boolean"==typeof e&&"boolean"==typeof t?Xr(Gr(e),Gr(t)):qe(e)&&qe(t)?this.floatCmp(e,t):e===Be&&t===Be?0:Xr(Er(wr(e)),Er(wr(t)))}stringCmp(e,t){return this.collator.compare(e,t)}manyToNumbers(e,t){const r=[];for(const t of e)if(t instanceof et)r.push(t);else{const e=We(this.coerceScalarToNumberOrError(t));if(e instanceof Rr)return e;r.push(e)}const n=[];for(const e of r)if(e instanceof et){const r=t(e.valuesFromTopLeftCorner());if(r instanceof Rr)return r;n.push(...r)}else n.push(e);return n}coerceStringToComplex(e){const t=Vr.exec(e);if(null===t)return new Rr(nr.NUM,q.ComplexNumberExpected);let r,n;return r=void 0!==t[6]?"-"===t[1]?[0,-1]:[0,1]:this.parseComplexToken(t[1]+t[3],t[5]),r instanceof Rr||void 0===t[8]?r:(n=void 0!==t[14]?"-"===t[9]?[0,-1]:[0,1]:this.parseComplexToken(t[9]+t[11],t[13]),n instanceof Rr?n:""!==t[5]||""===t[13]?new Rr(nr.NUM,q.ComplexNumberExpected):"+"===t[8]?[r[0]+n[0],r[1]+n[1]]:[r[0]-n[0],r[1]-n[1]])}parseComplexToken(e,t){const r=We(this.coerceNonDateScalarToMaybeNumber(e));return void 0===r?new Rr(nr.NUM,q.ComplexNumberExpected):""===t?[r,0]:[0,r]}}function Wr([e,t],r){if(!isFinite(e)||!isFinite(t))return new Rr(nr.NUM,q.NaN);if(r=null!=r?r:"i",0===t)return`${e}`;const n=`${-1===t||1===t?"":Math.abs(t)}${r}`;return 0===e?`${t<0?"-":""}${n}`:`${e}${t<0?"-":"+"}${n}`}function Yr(e){return e instanceof et?e:et.fromScalar(e)}function Gr(e){return Number(e)}function jr(e){return"string"==typeof e?"":qe(e)?0:"boolean"!=typeof e&&Be}function zr(e){if(e instanceof Rr||"boolean"==typeof e)return e;if(e===Be)return!1;if(qe(e))return 0!==We(e);{const t=e.toUpperCase();return"TRUE"===t||"FALSE"!==t&&(""!==t&&void 0)}}function $r(e){return e instanceof Rr||"string"==typeof e?e:e===Be?"":qe(e)?We(e).toString():e?"TRUE":"FALSE"}function Kr(e){return e===Be?0:e}function Xr(e,t){const r=We(e),n=We(t);return r>n?1:r<n?-1:0}function qr(e){return isNaN(e)||e===1/0||e===-1/0}function Qr(e){return 0===e?0:e}function Zr(e){return["*","?"].includes(e)}const Jr=["{","}","[","]","(",")","<",">","=",".","+","-",",","\\","$","^","!"];function en(e){return Jr.includes(e)}function tn(e,t){const{type:r,format:n}=Je(e),{type:s,format:i}=Je(t);if(r===Qe.NUMBER_RAW)return{type:s,format:i};if(s===Qe.NUMBER_RAW)return{type:r,format:n};if(!(r!==Qe.NUMBER_DATETIME&&r!==Qe.NUMBER_DATE||s!==Qe.NUMBER_DATETIME&&s!==Qe.NUMBER_DATE))return{type:Qe.NUMBER_RAW};if(r===Qe.NUMBER_TIME){if(s===Qe.NUMBER_DATE)return{type:Qe.NUMBER_DATETIME,format:`${i} ${n}`};if(s===Qe.NUMBER_DATETIME)return{type:Qe.NUMBER_DATETIME,format:i}}if(s===Qe.NUMBER_TIME){if(r===Qe.NUMBER_DATE)return{type:Qe.NUMBER_DATETIME,format:`${n} ${i}`};if(r===Qe.NUMBER_DATETIME)return{type:Qe.NUMBER_DATETIME,format:n}}return{type:r,format:n}}function rn(e,t){let{type:r,format:n}=Je(e),{type:s,format:i}=Je(t);return r===Qe.NUMBER_PERCENT&&(r=Qe.NUMBER_RAW,n=void 0),s===Qe.NUMBER_PERCENT&&(s=Qe.NUMBER_RAW,i=void 0),r===Qe.NUMBER_RAW?{type:s,format:i}:s===Qe.NUMBER_RAW?{type:r,format:n}:{type:Qe.NUMBER_RAW}}function nn(e){return on(e.toLowerCase(),"nfd").replace(/[\u0300-\u036f]/g,"")}function sn(e,t){var r;if(e.isAdHoc())return null===(r=e.data[0])||void 0===r?void 0:r[0];const n=e.range;if(t.formulaAddress.sheet===n.sheet)if(1===n.width()){const r=t.formulaAddress.row-n.start.row;if(r>=0&&r<n.height())return e.data[r][0]}else if(1===n.height()){const r=t.formulaAddress.col-n.start.col;if(r>=0&&r<n.width())return e.data[0][r]}}function on(e,t){return e.normalize(t.toUpperCase())}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
var an;!function(e){e.STRING="STRING",e.NUMBER="NUMBER",e.BOOLEAN="BOOLEAN",e.SCALAR="SCALAR",e.NOERROR="NOERROR",e.RANGE="RANGE",e.INTEGER="INTEGER",e.COMPLEX="COMPLEX",e.ANY="ANY"}(an||(an={}));class ln{constructor(e){this.coerceScalarToNumberOrError=e=>this.arithmeticHelper.coerceScalarToNumberOrError(e),this.runFunction=(e,t,r,n)=>{const s=this.evaluateArguments(e,t,r),i=s.map((([e,t])=>e)),o=s.map((([e,t])=>t)),a=this.buildMetadataForEachArgumentValue(i.length,r),l=t.arraysFlag&&!r.vectorizationForbidden;if(!this.isNumberOfArgumentValuesValid(a,i.length))return new Rr(nr.NA,q.WrongArgNumber);const[h,u]=l?this.calculateSizeOfVectorizedResultArray(i,a):[1,1];if(1===h&&1===u){const e=this.vectorizeAndBroadcastArgumentsIfNecessary(l,i,a,0,0);return this.calculateSingleCellOfResultArray(t,e,a,o,n,r.returnNumberType)}const c=[...Array(h).keys()].map((e=>[...Array(u).keys()].map((s=>{const h=this.vectorizeAndBroadcastArgumentsIfNecessary(l,i,a,e,s),u=this.calculateSingleCellOfResultArray(t,h,a,o,n,r.returnNumberType);if(u instanceof et)throw new Error("Function returning array cannot be vectorized.");return u}))));return et.onlyValues(c)},this.runFunctionWithReferenceArgument=(e,t,r,n,s,i=()=>new Rr(nr.NA,q.CellRefExpected))=>{if(0===e.length)return this.returnNumberWrapper(n(),r.returnNumberType);if(e.length>1)return new Rr(nr.NA,q.WrongArgNumber);let o,a=e[0];for(;a.type===H.PARENTHESIS;)a=a.expression;if(a.type===H.CELL_REFERENCE)o=a.reference.toSimpleCellAddress(t.formulaAddress);else if(a.type===H.CELL_RANGE||a.type===H.COLUMN_RANGE||a.type===H.ROW_RANGE)try{o=kr.fromAst(a,t.formulaAddress).start}catch(e){return new Rr(nr.REF,q.CellRefExpected)}return void 0!==o?this.returnNumberWrapper(s(o),r.returnNumberType):this.runFunction(e,t,r,i)},this.interpreter=e,this.dependencyGraph=e.dependencyGraph,this.columnSearch=e.columnSearch,this.config=e.config,this.serialization=e.serialization,this.arraySizePredictor=e.arraySizePredictor,this.dateTimeHelper=e.dateTimeHelper,this.arithmeticHelper=e.arithmeticHelper}evaluateAst(e,t){return this.interpreter.evaluateAst(e,t)}arraySizeForAst(e,t){return this.arraySizePredictor.checkArraySizeForAst(e,t)}listOfScalarValues(e,t){const r=[];for(const n of e){const e=this.evaluateAst(n,t);if(e instanceof et)for(const t of e.valuesFromTopLeftCorner())r.push([t,!0]);else r.push([e,!1])}return r}coerceToType(e,t,r){let n;if(e instanceof et)switch(t.argumentType){case an.RANGE:case an.ANY:n=e;break;default:{const t=sn(e,r);if(void 0===t)return;e=t}}if(!(e instanceof et))switch(t.argumentType){case an.INTEGER:case an.NUMBER:const r=this.coerceScalarToNumberOrError(e);if(!qe(r)){n=r;break}const s=We(r);if(void 0!==t.maxValue&&s>t.maxValue)return new Rr(nr.NUM,q.ValueLarge);if(void 0!==t.minValue&&s<t.minValue)return new Rr(nr.NUM,q.ValueSmall);if(void 0!==t.lessThan&&s>=t.lessThan)return new Rr(nr.NUM,q.ValueLarge);if(void 0!==t.greaterThan&&s<=t.greaterThan)return new Rr(nr.NUM,q.ValueSmall);if(t.argumentType===an.INTEGER&&!Number.isInteger(s))return new Rr(nr.NUM,q.IntegerExpected);n=r;break;case an.STRING:n=$r(e);break;case an.BOOLEAN:n=zr(e);break;case an.SCALAR:case an.NOERROR:case an.ANY:n=e;break;case an.RANGE:if(e instanceof Rr)return e;n=Yr(e);break;case an.COMPLEX:return this.arithmeticHelper.coerceScalarToComplex(We(e))}return t.passSubtype||void 0===n?n:We(n)}calculateSingleCellOfResultArray(e,t,r,n,s,i){const o=this.coerceArgumentsToRequiredTypes(e,t,r,n);if(o instanceof Rr)return o;const a=s(...o);return this.returnNumberWrapper(a,i)}coerceArgumentsToRequiredTypes(e,t,r,n){const s=[];for(let i=0;i<r.length;i++){const o=r[i],a=void 0!==t[i]?t[i]:null==o?void 0:o.defaultValue;if(void 0===a){s.push(void 0);continue}const l=this.coerceToType(a,o,e);if(void 0===l&&!n[i])return new Rr(nr.VALUE,q.WrongType);if(l instanceof Rr&&o.argumentType!==an.SCALAR)return l;s.push(l)}return s}vectorizeAndBroadcastArgumentsIfNecessary(e,t,r,n,s){return t.map(((t,i)=>e&&this.isRangePassedAsAScalarArgument(t,r[i])?this.vectorizeAndBroadcastRangeArgument(t,n,s):t))}vectorizeAndBroadcastRangeArgument(e,t,r){var n;const s=1===e.height()?0:t,i=1===e.width()?0:r;return null===(n=e.data[s])||void 0===n?void 0:n[i]}evaluateArguments(e,t,r){return r.expandRanges?this.listOfScalarValues(e,t):e.map((e=>[this.evaluateAst(e,t),!1]))}buildMetadataForEachArgumentValue(e,t){const r=t.parameters?[...t.parameters]:[];if(void 0!==t.repeatLastArgs&&Number.isInteger(t.repeatLastArgs)&&t.repeatLastArgs>0)for(;e>r.length;)r.push(...r.slice(r.length-t.repeatLastArgs));return r}isNumberOfArgumentValuesValid(e,t){if(t>e.length)return!1;if(t<e.length){return e.slice(t).every((e=>(null==e?void 0:e.optionalArg)||void 0!==(null==e?void 0:e.defaultValue)))}return!0}calculateSizeOfVectorizedResultArray(e,t){const r=e.filter(((e,r)=>this.isRangePassedAsAScalarArgument(e,t[r])));return[Math.max(1,...r.map((e=>e.height()))),Math.max(1,...r.map((e=>e.width())))]}isRangePassedAsAScalarArgument(e,t){return null!=e&&null!=t&&(e instanceof et&&![an.RANGE,an.ANY].includes(t.argumentType))}metadata(e){const t=this.constructor.implementedFunctions[e];if(void 0!==t)return t;throw new Error(`No metadata for function ${e}.`)}returnNumberWrapper(e,t,r){return void 0!==t&&qe(e)?this.arithmeticHelper.ExtendedNumberFactory(We(e),{type:t,format:r}):e}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class hn{constructor(e,t,r=!1){this.width=e,this.height=t,this.isRef=r}static error(){return new hn(1,1,!0)}static scalar(){return new hn(1,1,!1)}isScalar(){return 1===this.width&&1===this.height||this.isRef}}class un{constructor(e,t){this.config=e,this.functionRegistry=t}checkArraySize(e,t){return this.checkArraySizeForAst(e,{formulaAddress:t,arraysFlag:this.config.useArrayArithmetic})}checkArraySizeForAst(e,t){switch(e.type){case H.FUNCTION_CALL:return this.checkArraySizeForFunction(e,t);case H.COLUMN_RANGE:case H.ROW_RANGE:case H.CELL_RANGE:{const r=kr.fromAstOrUndef(e,t.formulaAddress);return void 0===r?hn.error():new hn(r.width(),r.height(),!0)}case H.ARRAY:{const r=[],n=[];for(const s of e.args){const e=s.map((e=>this.checkArraySizeForAst(e,t))),i=Math.min(...e.map((e=>e.height))),o=e.reduce(((e,t)=>e+t.width),0);r.push(i),n.push(o)}const s=r.reduce(((e,t)=>e+t),0),i=Math.min(...n);return new hn(i,s)}case H.STRING:case H.NUMBER:return hn.scalar();case H.CELL_REFERENCE:return new hn(1,1,!0);case H.DIV_OP:case H.CONCATENATE_OP:case H.EQUALS_OP:case H.GREATER_THAN_OP:case H.GREATER_THAN_OR_EQUAL_OP:case H.LESS_THAN_OP:case H.LESS_THAN_OR_EQUAL_OP:case H.MINUS_OP:case H.NOT_EQUAL_OP:case H.PLUS_OP:case H.POWER_OP:case H.TIMES_OP:{const r=this.checkArraySizeForAst(e.left,t),i=this.checkArraySizeForAst(e.right,t);return!t.arraysFlag&&(r.height>1||r.width>1||i.height>1||i.width>1)?hn.error():(n=r,s=i,new hn(Math.max(n.width,s.width),Math.max(n.height,s.height)))}case H.MINUS_UNARY_OP:case H.PLUS_UNARY_OP:case H.PERCENT_OP:{const n=this.checkArraySizeForAst(e.value,t);return!t.arraysFlag&&(n.height>1||n.width>1)?hn.error():new hn((r=n).width,r.height)}case H.PARENTHESIS:return this.checkArraySizeForAst(e.expression,t);case H.EMPTY:default:return hn.error()}var r,n,s}checkArraySizeForFunction(e,t){const r=this.functionRegistry.getArraySizeFunction(e.procedureName);if(void 0!==r)return r(e,t);const n=this.functionRegistry.getMetadata(e.procedureName);if(void 0===n||n.expandRanges||!t.arraysFlag||n.vectorizationForbidden||void 0===n.parameters)return new hn(1,1);const s=e.args.map((e=>{var r;return this.checkArraySizeForAst(e,new Ur(t.formulaAddress,t.arraysFlag||null!==(r=null==n?void 0:n.arrayFunction)&&void 0!==r&&r))})),i=[...n.parameters];if(void 0!==n.repeatLastArgs&&i.length<s.length&&(s.length-i.length)%n.repeatLastArgs!=0)return hn.error();for(;i.length<s.length;){if(void 0===n.repeatLastArgs)return hn.error();i.push(...i.slice(i.length-n.repeatLastArgs))}let o=1,a=1;for(let e=0;e<s.length;e++)i[e].argumentType!==an.RANGE&&i[e].argumentType!==an.ANY&&(a=Math.max(a,s[e].height),o=Math.max(o,s[e].width));return new hn(o,a)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class cn{constructor(e,t,r){var n;this.value=t,this.address=r,this.type=e.type,this.message=null!==(n=e.message)&&void 0!==n?n:""}toString(){return this.value}valueOf(){return this.value}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
function dn(e,t,r){if(void 0===e)return Wi.defaultConfig[r];if("string"==typeof t){if(typeof e===t)return e;throw new Rt(t,r)}if(t.includes(e))return e;throw new Mt(t.map((e=>`'${e}'`)).join(" "),r)}function pn(e,t,r){if(e<r)throw new Tt(t,r)}function gn(e,t,r,n){if(t(e))return e;if(void 0===e)return Wi.defaultConfig[n];throw new Rt(r,n)}function fn(...e){const t=new Map;e.forEach((e=>{const r=t.get(e.value)||[];r.push(e.name),t.set(e.value,r)}));const r=[];for(const e of t.values())e.length>1&&r.push(e);if(r.length>0){r.forEach((e=>e.sort()));const e=r.map((e=>`[${e}]`)).join("; ");throw new Error(`Config initialization failed. Parameters in conflict: ${e}`)}}function mn(e,t,r){if(typeof e!==t)throw new Rt(t,r)}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const yn=new RegExp("^ss(\\.(s+|0+))?$"),En=new RegExp("^[0-9/.\\-: ]+[ap]?m?$"),wn=new RegExp("\\s+"),Cn=new RegExp("[ /.-]"),vn=Nn((function(e){const t=e.toLowerCase().trim(),r=(t.endsWith("am/pm")?t.substring(0,t.length-5):t.endsWith("a/p")?t.substring(0,e.length-3):t).trim().split(":");return{itemsCount:r.length,hourItem:r.indexOf("hh"),minuteItem:r.indexOf("mm"),secondItem:r.findIndex((e=>yn.test(e)))}})),Rn=Nn((function(e){const t=e.toLowerCase().trim().split(Cn);return{itemsCount:t.length,dayItem:t.indexOf("dd"),monthItem:t.indexOf("mm"),shortYearItem:t.indexOf("yy"),longYearItem:t.indexOf("yyyy")}}));function Sn(e,t){var r,n,s;if(void 0===t)return;const{itemsCount:i,hourItem:o,minuteItem:a,secondItem:l}=vn(t);let h;if("am"===e[e.length-1]||"a"===e[e.length-1]?(h=!1,e.pop()):"pm"!==e[e.length-1]&&"p"!==e[e.length-1]||(h=!0,e.pop()),e.length!==i)return;const u=Number(null!==(r=e[l])&&void 0!==r?r:"0");if(!Number.isFinite(u))return;const c=Math.round(1e3*u)/1e3,d=Number(null!==(n=e[a])&&void 0!==n?n:"0");if(!Number.isFinite(d)||!Number.isInteger(d))return;const p=Number(null!==(s=e[o])&&void 0!==s?s:"0");if(!Number.isFinite(p)||!Number.isInteger(p))return;if(void 0!==h&&(p<0||p>12))return;return{hours:void 0!==h?p%12+(h?12:0):p,minutes:d,seconds:c}}function Tn(e,t){var r;if(void 0===t)return;const{itemsCount:n,dayItem:s,monthItem:i,shortYearItem:o,longYearItem:a}=Rn(t);if(e.length!==n)return;const l=Number(e[s]);if(!Number.isFinite(l)||!Number.isInteger(l))return;const h=Number(e[i]);if(!Number.isFinite(h)||!Number.isInteger(h))return;if(e[a]&&e[o])return;const u=Number(null!==(r=e[a])&&void 0!==r?r:e[o]);return Number.isFinite(u)&&Number.isInteger(u)&&!(e[a]&&(u<1e3||u>9999)||e[o]&&(u<0||u>99))?{year:u,month:h,day:l}:void 0}function Nn(e){const t={};return r=>{const n=t[r];if(void 0!==n)return n;const s=e(r);return t[r]=s,s}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const Mn=[31,28,31,30,31,30,31,31,30,31,30,31],_n=[0,31,59,90,120,151,181,212,243,273,304,334];function bn(e){return!(!e||"object"!=typeof e&&"function"!=typeof e)&&("year"in e&&"number"==typeof e.year&&"month"in e&&"number"==typeof e.month&&"day"in e&&"number"==typeof e.day)}function On(e){return!(!e||"object"!=typeof e&&"function"!=typeof e)&&("hours"in e&&"number"==typeof e.hours&&"minutes"in e&&"number"==typeof e.minutes&&"seconds"in e&&"number"==typeof e.seconds)}const An={year:9999,month:12,day:31};class In{constructor(e){this.config=e,this.minDateAbsoluteValue=this.dateToNumberFromZero(e.nullDate),this.maxDateValue=this.dateToNumber(An),this.leapYear1900=e.leapYear1900,!this.leapYear1900&&0<=this.dateToNumber({year:1900,month:2,day:28})?this.epochYearZero=this.numberToSimpleDate(2).year:this.epochYearZero=this.numberToSimpleDate(1).year,this.parseDateTime=e.parseDateTime}getWithinBounds(e){return e<=this.maxDateValue&&e>=0?e:void 0}dateStringToDateNumber(e){const{dateTime:t,dateFormat:r="",timeFormat:n=""}=this.parseDateTimeFromConfigFormats(e);if(void 0!==t)return On(t)?bn(t)?new Ke(Dn(t)+this.dateToNumber(t),r+" "+n):new $e(Dn(t),n):bn(t)?new je(this.dateToNumber(t),r):0}parseDateTimeFromConfigFormats(e){return this.parseDateTimeFromFormats(e,this.config.dateFormats,this.config.timeFormats)}getNullYear(){return this.config.nullYear}getEpochYearZero(){return this.epochYearZero}isValidDate(e){return!(isNaN(e.year)||isNaN(e.month)||isNaN(e.day))&&(e.day===Math.round(e.day)&&e.month===Math.round(e.month)&&e.year===Math.round(e.year)&&(!(e.year<1582)&&(!(e.month<1||e.month>12)&&(!(e.day<1)&&(this.isLeapYear(e.year)&&2===e.month?e.day<=29:e.day<=Mn[e.month-1])))))}dateToNumber(e){return this.dateToNumberFromZero(e)-this.minDateAbsoluteValue}relativeNumberToAbsoluteNumber(e){return e+this.minDateAbsoluteValue-(this.leapYear1900?1:0)}numberToSimpleDate(e){const t=Math.floor(e)+this.minDateAbsoluteValue;let r=Math.floor(t/365.2425);this.dateToNumberFromZero({year:r+1,month:1,day:1})<=t?r++:this.dateToNumberFromZero({year:r-1,month:1,day:1})>t&&r--;const n=t-this.dateToNumberFromZero({year:r,month:1,day:1}),s=function(e){let t=0;_n[t+6]<=e&&(t+=6);_n[t+3]<=e&&(t+=3);_n[t+2]<=e?t+=2:_n[t+1]<=e&&(t+=1);return t}(n-(this.isLeapYear(r)&&n>=59?1:0));return{year:r,month:s+1,day:n-_n[s]-(this.isLeapYear(r)&&s>1?1:0)+1}}numberToSimpleDateTime(e){const t=Ln(e%1),r=Math.floor(t.hours/24);t.hours=t.hours%24;const n=this.numberToSimpleDate(Math.floor(e)+r);return Object.assign(Object.assign({},n),t)}leapYearsCount(e){return Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400)+(this.config.leapYear1900&&e>=1900?1:0)}daysInMonth(e,t){return this.isLeapYear(e)&&2===t?29:Mn[t-1]}endOfMonth(e){return{year:e.year,month:e.month,day:this.daysInMonth(e.year,e.month)}}toBasisUS(e,t){return 31===e.day&&(e.day=30),30===e.day&&31===t.day&&(t.day=30),2===e.month&&e.day===this.daysInMonth(e.year,e.month)&&(e.day=30,2===t.month&&t.day===this.daysInMonth(t.year,t.month)&&(t.day=30)),[e,t]}yearLengthForBasis(e,t){return e.year!==t.year?e.year+1!==t.year||e.month<t.month||e.month===t.month&&e.day<t.day?(this.leapYearsCount(t.year)-this.leapYearsCount(e.year-1))/(t.year-e.year+1)+365:this.countLeapDays(t)!==this.countLeapDays({year:e.year,month:e.month,day:e.day-1})?366:365:this.isLeapYear(e.year)?366:365}parseSingleFormat(e,t,r){const n=this.parseDateTime(e,t,r);if(!bn(n)||(n.year>=0&&n.year<100&&(n.year<this.getNullYear()?n.year+=2e3:n.year+=1900),this.isValidDate(n)))return n}parseDateTimeFromFormats(e,t,r){const n=0===t.length?[void 0]:t,s=0===r.length?[void 0]:r;for(const t of n)for(const r of s){const n=this.parseSingleFormat(e,t,r);if(void 0!==n)return{dateTime:n,timeFormat:r,dateFormat:t}}return{}}countLeapDays(e){return e.month>2||2===e.month&&e.day>=29?this.leapYearsCount(e.year):this.leapYearsCount(e.year-1)}dateToNumberFromZero(e){return 365*e.year+_n[e.month-1]+e.day-1+(e.month<=2?this.leapYearsCount(e.year-1):this.leapYearsCount(e.year))}isLeapYear(e){return!(e%4)&&(!!(e%100)||(!(e%400)||1900===e&&this.config.leapYear1900))}}function xn(e,t){const r=12*e.year+e.month-1+t;return{year:Math.floor(r/12),month:r%12+1,day:e.day}}function Pn(e){return Math.round(3600*e*24)/86400}function Ln(e){const t=24*e*60*60,r=function(e,t=1){return Math.round(e*t)/t}(t%60,1e5)%60,n=(t-r)/60,s=Math.round(n%60)%60,i=(n-s)/60;return{hours:Math.round(i),minutes:s,seconds:r}}function Dn(e){return((e.seconds/60+e.minutes)/60+e.hours)/24}function kn(e){return{year:e.year,month:e.month,day:Math.min(30,e.day)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const Hn=/(\\.|dd|DD|d|D|mm|MM|m|M|YYYY|YY|yyyy|yy|HH|hh|H|h|ss(\.(0+|s+))?|s|AM\/PM|am\/pm|A\/P|a\/p|\[mm]|\[MM]|\[hh]|\[HH])/g,Fn=/(\\.|[#0]+(\.[#0]*)?)/g;var Un,Vn;function Bn(e,t){return{type:e,value:t}}function Wn(e,t){const r=[];let n=0;for(let s=0;s<e.length;++s){const i=e[s];if(i.index!==n){const e=t.substr(n,i.index-n);r.push(Bn(Un.FREE_TEXT,e))}i[0].startsWith("\\")?r.push(Bn(Un.FREE_TEXT,i[0])):r.push(Bn(Un.FORMAT,i[0])),n=i.index+i[0].length}const s=e[e.length-1];if(s.index+s[0].length<t.length){const e=t.substr(s.index+s[0].length,t.length);r.push(Bn(Un.FREE_TEXT,e))}return r}function Yn(e){const t=function(e){Hn.lastIndex=0;const t=[];let r;do{r=Hn.exec(e),null!==r&&t.push(r)}while(r);return t}(e);return t.every((e=>jn(e)))?void 0:{type:Vn.DATE,tokens:Wn(t,e)}}function Gn(e){const t=function(e){Fn.lastIndex=0;const t=Fn.exec(e);return null!==t?[t]:[]}(e);return t.every((e=>jn(e)))?void 0:{type:Vn.NUMBER,tokens:Wn(t,e)}}function jn(e){return e[0].startsWith("\\")}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
function zn(e,t,r,n){const s=r.stringifyDateTime(n.numberToSimpleDateTime(e),t);if(void 0!==s)return s;const i=r.stringifyDuration(Ln(e),t);if(void 0!==i)return i;const o=Gn(t);return void 0!==o?function(e,t){let r="";for(let n=0;n<e.length;++n){const s=e[n];if(s.type===Un.FREE_TEXT){r+=s.value;continue}const i=s.value.split("."),o=i[0],a=i[1]||"",l=i[1]?".":"",h=Number(t.toFixed(a.length)).toString().split(".");let u=h[0]||"",c=h[1]||"";if(o.length>u.length){u=$n(u,Xn(o.substr(0,o.length-u.length),"0")+u.length)}c=Kn(c,Xn(a.substr(c.length,a.length-c.length),"0")+c.length),r+=u+l+c}return r}(o.tokens,e):t}function $n(e,t){let r=`${e}`;for(;r.length<t;)r="0"+r;return r}function Kn(e,t){let r=`${e}`;for(;r.length<t;)r+="0";return r}function Xn(e,t){return e.split(t).length-1}!function(e){e.FORMAT="FORMAT",e.FREE_TEXT="FREE_TEXT"}(Un||(Un={})),function(e){e.DATE="DATE",e.NUMBER="NUMBER",e.STRING="STRING"}(Vn||(Vn={}));
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const qn="length",Qn=e=>parseInt(e,16),Zn=e=>parseInt(e,10),Jn=e=>(e+"").replace(/\-/g,""),es=(e,t,r)=>e.substr(t,r),ts=e=>e.codePointAt(0)-65;
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const rs={invalid:()=>"The license key for HyperFormula is invalid.",expired:({keyValidityDate:e})=>`The license key for HyperFormula expired on ${e}, and is not valid for the installed version.`,missing:()=>"The license key for HyperFormula is missing."};let ns=!1;function ss(e){const t={template:"missing",vars:{}};if("gpl-v3"===e||"internal-use-in-handsontable"===e)t.template="valid";else if("string"==typeof e&&function(e){if((e=(e+"").replace(/\-/g,""))[qn]!==ts("Z"))return!1;let t=0;return[[0,ts("G")+1],[ts("H"),ts("H")-1],[ts("G")+ts("H"),ts("G")]].reduce(((r,[n,s],i)=>(r|=(Zn(`${Zn(Qn(es(e,t+n-(0===i?0:2),s+(i?2:0)))+(Qn(es(e,t+n+s,2))+[]).padStart(2,"0"))}`)%97||2)>>1,t+=2,r)),ts("A"))===[]+1>>1}(e)){const[n,s,i]="14/01/2025".split("/"),o=Math.floor(new Date(`${s}/${n}/${i}`).getTime()/864e5),a=25===Jn(r=e)[qn]?Qn(es(Jn(r),Qn("12"),ts("F")))/(Qn(es(Jn(r),ts("C"),ts("Y")>>4))||1+(![][qn]<<3)):0;t.vars.keyValidityDate=function(e){const t=["January","February","March","April","May","June","July","August","September","October","November","December"][e.getMonth()],r=e.getDate(),n=e.getFullYear();return`${t} ${r}, ${n}`}(new Date(864e5*(a+1))),t.template=o>a?"expired":"valid"}else""!==e&&(t.template="invalid");var r;return ns||"valid"===t.template||(console.warn(rs[t.template](t.vars)),ns=!0),t.template}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
var is,os,as;!function(e){e.Number=class{constructor(e){this.value=e,this.value=Ge(this.value,Qr(We(this.value)))}};e.String=class{constructor(e){this.value=e}};e.Boolean=class{constructor(e){this.value=e}};class t{static getSingletonInstance(){return t.instance||(t.instance=new t),t.instance}}e.Empty=t;e.Formula=class{constructor(e){this.formula=e}};e.Error=class{constructor(e,t){this.value=new Rr(e,t)}}}(is||(is={}));class ls{constructor(e,t,r){this.config=e,this.dateHelper=t,this.numberLiteralsHelper=r}parse(e){if(null==e)return is.Empty.getSingletonInstance();if("number"==typeof e)return qr(e)?new is.Error(nr.NUM,q.ValueLarge):new is.Number(e);if("boolean"==typeof e)return new is.Boolean(e);if(e instanceof Date){const t=this.dateHelper.dateToNumber({day:e.getDate(),month:e.getMonth()+1,year:e.getFullYear()})+Dn({hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds()+e.getMilliseconds()/1e3});return t<0?new is.Error(nr.NUM,q.DateBounds):t%1==0?new is.Number(new je(t,"Date()")):t<1?new is.Number(new $e(t,"Date()")):new is.Number(new Ke(t,"Date()"))}if("string"==typeof e){if(function(e){const t=e.toLowerCase();return"true"===t||"false"===t}(e))return new is.Boolean("true"===e.toLowerCase());if(e.startsWith("="))return new is.Formula(e);if(function(e,t){const r=e.toUpperCase();return/#[A-Za-z0-9\/]+[?!]?/.test(r)&&Object.prototype.hasOwnProperty.call(t,r)}(e,this.config.errorMapping))return new is.Error(this.config.errorMapping[e.toUpperCase()]);{let t,r=e.trim(),n=0;if(r.endsWith("%"))n=1,r=r.slice(0,r.length-1);else{const e=this.currencyMatcher(r);void 0!==e&&(n=2,[t,r]=e)}const s=this.numberLiteralsHelper.numericStringToMaybeNumber(r);if(void 0!==s){let e;return e=1===n?new Xe(s/100):2===n?new ze(s,t):s,new is.Number(e)}const i=this.dateHelper.dateStringToDateNumber(r);return void 0!==i?new is.Number(i):new is.String(e.startsWith("'")?e.slice(1):e)}}throw new vt(e)}currencyMatcher(e){for(const t of this.config.currencySymbol){if(e.startsWith(t))return[t,e.slice(t.length)];if(e.endsWith(t))return[t,e.slice(0,e.length-t.length)]}}}!function(e){e[e.COPY=0]="COPY",e[e.CUT=1]="CUT"}(os||(os={})),function(e){e[e.VALUE=0]="VALUE",e[e.EMPTY=1]="EMPTY",e[e.FORMULA=2]="FORMULA",e[e.PARSING_ERROR=3]="PARSING_ERROR"}(as||(as={}));class hs{constructor(e,t,r,n,s){this.sourceLeftCorner=e,this.width=t,this.height=r,this.type=n,this.content=s}*getContent(e){if(void 0!==this.content)for(let t=0;t<this.height;++t)for(let r=0;r<this.width;++r)yield[_r(e.sheet,e.col+r,e.row+t),this.content[t][r]]}}class us{constructor(e,t,r){this.dependencyGraph=t,this.operations=r,this.maxRows=e.maxRows,this.maxColumns=e.maxColumns}cut(e,t,r){this.clipboard=new hs(e,t,r,os.CUT)}copy(e,t,r){const n=[];for(let s=0;s<r;++s){n[s]=[];for(let r=0;r<t;++r){const t=this.operations.getClipboardCell(_r(e.sheet,e.col+r,e.row+s));n[s].push(t)}}this.clipboard=new hs(e,t,r,os.COPY,n)}abortCut(){this.clipboard&&this.clipboard.type===os.CUT&&this.clear()}clear(){this.clipboard=void 0}ensureItIsPossibleToCopyPaste(e){if(void 0===this.clipboard)return;if(br(e)||!this.dependencyGraph.sheetMapping.hasSheetWithId(e.sheet))throw new dt("a valid target address.");const t=kr.spanFrom(e,this.clipboard.width,this.clipboard.height);if(t.exceedsSheetSizeLimits(this.maxColumns,this.maxRows))throw new ht;if(this.dependencyGraph.arrayMapping.isFormulaArrayInRange(t))throw new Error("It is not possible to paste onto an array")}isCutClipboard(){return void 0!==this.clipboard&&this.clipboard.type===os.CUT}isCopyClipboard(){return void 0!==this.clipboard&&this.clipboard.type===os.COPY}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class cs{constructor(e,t,r,n){this.displayName=e,this.address=t,this.added=r,this.options=n}normalizeExpressionName(){return this.displayName.toLowerCase()}copy(){return new cs(this.displayName,this.address,this.added,this.options)}}class ds{constructor(){this.mapping=new Map}has(e){return this.mapping.has(this.normalizeExpressionName(e))}isNameAvailable(e){const t=this.normalizeExpressionName(e),r=this.mapping.get(t);return!(r&&r.added)}add(e){this.mapping.set(e.normalizeExpressionName(),e)}get(e){return this.mapping.get(this.normalizeExpressionName(e))}getExisting(e){const t=this.mapping.get(this.normalizeExpressionName(e));return t&&t.added?t:void 0}remove(e){const t=this.normalizeExpressionName(e),r=this.mapping.get(t);r&&(r.added=!1)}getAllNamedExpressions(){return Array.from(this.mapping.values()).filter((e=>e.added))}normalizeExpressionName(e){return e.toLowerCase()}}class ps{constructor(){this.mapping=new Map}add(e){this.mapping.set(this.normalizeExpressionName(e.displayName),e)}get(e){return this.mapping.get(this.normalizeExpressionName(e))}has(e){return this.mapping.has(this.normalizeExpressionName(e))}getAllNamedExpressions(){return Array.from(this.mapping.values()).filter((e=>e.added))}isNameAvailable(e){const t=this.normalizeExpressionName(e);return!this.mapping.has(t)}remove(e){const t=this.normalizeExpressionName(e);this.mapping.get(t)&&this.mapping.delete(t)}normalizeExpressionName(e){return e.toLowerCase()}}class gs{constructor(){this.nextNamedExpressionRow=0,this.workbookStore=new ds,this.worksheetStores=new Map,this.addressCache=new Map}isNameAvailable(e,t){var r,n;return void 0===t?this.workbookStore.isNameAvailable(e):null===(n=null===(r=this.worksheetStore(t))||void 0===r?void 0:r.isNameAvailable(e))||void 0===n||n}namedExpressionInAddress(e){const t=this.addressCache.get(e);return t&&t.added?t:void 0}namedExpressionForScope(e,t){var r;return void 0===t?this.workbookStore.getExisting(e):null===(r=this.worksheetStore(t))||void 0===r?void 0:r.get(e)}nearestNamedExpression(e,t){var r,n;return null!==(n=null===(r=this.worksheetStore(t))||void 0===r?void 0:r.get(e))&&void 0!==n?n:this.workbookStore.getExisting(e)}isExpressionInScope(e,t){var r,n;return null!==(n=null===(r=this.worksheetStore(t))||void 0===r?void 0:r.has(e))&&void 0!==n&&n}isNameValid(e){const t=new RegExp(`^${p}$`),r=new RegExp(`^${m}$`),n=new RegExp(`^${E}$`);return!t.test(e)&&!r.test(e)&&n.test(e)}addNamedExpression(e,t,r){const n=void 0===t?this.workbookStore:this.worksheetStoreOrCreate(t);let s=n.get(e);return void 0!==s?(s.added=!0,s.displayName=e,s.options=r):(s=new cs(e,this.nextAddress(),!0,r),n.add(s)),this.addressCache.set(s.address.row,s),s}restoreNamedExpression(e,t){const r=void 0===t?this.workbookStore:this.worksheetStoreOrCreate(t);return e.added=!0,r.add(e),this.addressCache.set(e.address.row,e),e}namedExpressionOrPlaceholder(e,t){var r;return null!==(r=this.worksheetStoreOrCreate(t).get(e))&&void 0!==r?r:this.workbookNamedExpressionOrPlaceholder(e)}workbookNamedExpressionOrPlaceholder(e){let t=this.workbookStore.get(e);return void 0===t&&(t=new cs(e,this.nextAddress(),!1),this.workbookStore.add(t)),t}remove(e,t){let r;r=void 0===t?this.workbookStore:this.worksheetStore(t);const n=null==r?void 0:r.get(e);if(void 0===r||void 0===n||!n.added)throw Error("Named expression does not exist");r.remove(e),r instanceof ps&&0===r.mapping.size&&this.worksheetStores.delete(t),this.addressCache.delete(n.address.row)}getAllNamedExpressionsNamesInScope(e){return this.getAllNamedExpressions().filter((({scope:t})=>t===e)).map((e=>e.expression.displayName))}getAllNamedExpressionsNames(){return this.getAllNamedExpressions().map((e=>e.expression.displayName))}getAllNamedExpressions(){const e=[];return this.workbookStore.getAllNamedExpressions().forEach((t=>{e.push({expression:t,scope:void 0})})),this.worksheetStores.forEach(((t,r)=>{t.getAllNamedExpressions().forEach((t=>{e.push({expression:t,scope:r})}))})),e}getAllNamedExpressionsForScope(e){var t,r;return void 0===e?this.workbookStore.getAllNamedExpressions():null!==(r=null===(t=this.worksheetStores.get(e))||void 0===t?void 0:t.getAllNamedExpressions())&&void 0!==r?r:[]}worksheetStoreOrCreate(e){let t=this.worksheetStores.get(e);return t||(t=new ps,this.worksheetStores.set(e,t)),t}worksheetStore(e){return this.worksheetStores.get(e)}nextAddress(){return _r(gs.SHEET_FOR_WORKBOOK_EXPRESSIONS,0,this.nextNamedExpressionRow++)}}gs.SHEET_FOR_WORKBOOK_EXPRESSIONS=-1;const fs=e=>{switch(e.type){case H.EMPTY:case H.NUMBER:case H.STRING:case H.ERROR:case H.ERROR_WITH_RAW_INPUT:return!1;case H.CELL_REFERENCE:return!e.reference.isAbsolute();case H.CELL_RANGE:case H.COLUMN_RANGE:case H.ROW_RANGE:return!e.start.isAbsolute();case H.NAMED_EXPRESSION:return!1;case H.PERCENT_OP:case H.PLUS_UNARY_OP:case H.MINUS_UNARY_OP:return fs(e.value);case H.CONCATENATE_OP:case H.EQUALS_OP:case H.NOT_EQUAL_OP:case H.LESS_THAN_OP:case H.GREATER_THAN_OP:case H.LESS_THAN_OR_EQUAL_OP:case H.GREATER_THAN_OR_EQUAL_OP:case H.MINUS_OP:case H.PLUS_OP:case H.TIMES_OP:case H.DIV_OP:case H.POWER_OP:return fs(e.left)||fs(e.right);case H.PARENTHESIS:return fs(e.expression);case H.FUNCTION_CALL:return e.args.some((e=>fs(e)));case H.ARRAY:return e.args.some((e=>e.some((e=>fs(e)))))}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class ms{performEagerTransformations(e,t){for(const r of e.arrayFormulaNodes()){const[n,s]=this.transformSingleAst(r.getFormula(e.lazilyTransformingAstService),r.getAddress(e.lazilyTransformingAstService)),i=t.rememberNewAst(n);r.setFormula(i),r.setAddress(s)}}transformSingleAst(e,t){return[this.transformAst(e,t),this.fixNodeAddress(t)]}transformAst(e,t){switch(e.type){case H.CELL_REFERENCE:return this.transformCellReferenceAst(e,t);case H.CELL_RANGE:return this.transformCellRangeAst(e,t);case H.COLUMN_RANGE:return this.transformColumnRangeAst(e,t);case H.ROW_RANGE:return this.transformRowRangeAst(e,t);case H.EMPTY:case H.ERROR:case H.NUMBER:case H.NAMED_EXPRESSION:case H.ERROR_WITH_RAW_INPUT:case H.STRING:return e;case H.PERCENT_OP:case H.MINUS_UNARY_OP:case H.PLUS_UNARY_OP:return Object.assign(Object.assign({},e),{value:this.transformAst(e.value,t)});case H.FUNCTION_CALL:return Object.assign(Object.assign({},e),{procedureName:e.procedureName,args:e.args.map((e=>this.transformAst(e,t)))});case H.PARENTHESIS:return Object.assign(Object.assign({},e),{expression:this.transformAst(e.expression,t)});case H.ARRAY:return Object.assign(Object.assign({},e),{args:e.args.map((e=>e.map((e=>this.transformAst(e,t)))))});default:return Object.assign(Object.assign({},e),{left:this.transformAst(e.left,t),right:this.transformAst(e.right,t)})}}transformCellReferenceAst(e,t){const r=this.transformCellAddress(e.reference,t);return r instanceof o?Object.assign(Object.assign({},e),{reference:r}):r===nr.REF?W(new Rr(nr.REF)):e}transformCellRangeAst(e,t){const r=this.transformCellRange(e.start,e.end,t);return Array.isArray(r)?Object.assign(Object.assign({},e),{start:r[0],end:r[1]}):r===nr.REF?W(new Rr(nr.REF)):e}transformColumnRangeAst(e,t){const r=this.transformColumnRange(e.start,e.end,t);return Array.isArray(r)?Object.assign(Object.assign({},e),{start:r[0],end:r[1]}):r===nr.REF?W(new Rr(nr.REF)):e}transformRowRangeAst(e,t){const r=this.transformRowRange(e.start,e.end,t);return Array.isArray(r)?Object.assign(Object.assign({},e),{start:r[0],end:r[1]}):r===nr.REF?W(new Rr(nr.REF)):e}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class ys extends ms{constructor(e){super(),this.columnsSpan=e}get sheet(){return this.columnsSpan.sheet}isIrreversible(){return!1}transformRowRangeAst(e,t){return e}transformCellRange(e,t,r){return this.transformRange(e,t,r)}transformRowRange(e,t,r){throw Error("Not implemented")}transformColumnRange(e,t,r){return this.transformRange(e,t,r)}transformCellAddress(e,t){const r=xr(e,t);if(r!==this.columnsSpan.sheet&&t.sheet!==this.columnsSpan.sheet)return!1;const n=e.toSimpleColumnAddress(t);if(r===this.columnsSpan.sheet&&t.sheet!==this.columnsSpan.sheet)return this.columnsSpan.columnStart<=n.col&&e.shiftedByColumns(this.columnsSpan.numberOfColumns);if(t.sheet===this.columnsSpan.sheet&&r!==this.columnsSpan.sheet)return!e.isColumnAbsolute()&&(!(t.col<this.columnsSpan.columnStart)&&e.shiftedByColumns(-this.columnsSpan.numberOfColumns));if(e.isColumnAbsolute())return!(e.col<this.columnsSpan.columnStart)&&e.shiftedByColumns(this.columnsSpan.numberOfColumns);return e.toSimpleColumnAddress(t).col<this.columnsSpan.columnStart?!(t.col<this.columnsSpan.columnStart)&&e.shiftedByColumns(-this.columnsSpan.numberOfColumns):t.col<this.columnsSpan.columnStart&&e.shiftedByColumns(this.columnsSpan.numberOfColumns)}fixNodeAddress(e){return this.columnsSpan.sheet===e.sheet&&this.columnsSpan.columnStart<=e.col?Object.assign(Object.assign({},e),{col:e.col+this.columnsSpan.numberOfColumns}):e}transformRange(e,t,r){const n=this.transformCellAddress(e,r),s=this.transformCellAddress(t,r);return n===nr.REF||s===nr.REF?nr.REF:!(!n&&!s)&&[n||e,s||t]}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Es extends ms{constructor(e){super(),this.rowsSpan=e}get sheet(){return this.rowsSpan.sheet}isIrreversible(){return!1}transformColumnRangeAst(e,t){return e}transformCellRange(e,t,r){return this.transformRange(e,t,r)}transformRowRange(e,t,r){return this.transformRange(e,t,r)}transformColumnRange(e,t,r){throw Error("Not implemented")}transformCellAddress(e,t){const r=xr(e,t);if(r!==this.rowsSpan.sheet&&t.sheet!==this.rowsSpan.sheet)return!1;const n=e.toSimpleRowAddress(t);return r===this.rowsSpan.sheet&&t.sheet!==this.rowsSpan.sheet?this.rowsSpan.rowStart<=n.row&&e.shiftedByRows(this.rowsSpan.numberOfRows):t.sheet===this.rowsSpan.sheet&&r!==this.rowsSpan.sheet?!e.isRowAbsolute()&&(!(t.row<this.rowsSpan.rowStart)&&e.shiftedByRows(-this.rowsSpan.numberOfRows)):e.isRowAbsolute()?!(e.row<this.rowsSpan.rowStart)&&e.shiftedByRows(this.rowsSpan.numberOfRows):n.row<this.rowsSpan.rowStart?!(t.row<this.rowsSpan.rowStart)&&e.shiftedByRows(-this.rowsSpan.numberOfRows):t.row<this.rowsSpan.rowStart&&e.shiftedByRows(this.rowsSpan.numberOfRows)}fixNodeAddress(e){return this.rowsSpan.sheet===e.sheet&&this.rowsSpan.rowStart<=e.row?Object.assign(Object.assign({},e),{row:e.row+this.rowsSpan.numberOfRows}):e}transformRange(e,t,r){const n=this.transformCellAddress(e,r),s=this.transformCellAddress(t,r);return n===nr.REF||s===nr.REF?nr.REF:!(!n&&!s)&&[n||e,s||t]}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class ws extends ms{constructor(e){super(),this.sheet=e}isIrreversible(){return!0}fixNodeAddress(e){return e}transformCellAddress(e,t){return!!e.isInvalid(t)&&nr.REF}transformCellRange(e,t,r){return!(!e.isInvalid(r)&&!t.isInvalid(r))&&nr.REF}transformColumnRange(e,t,r){return!(!e.isInvalid(r)&&!t.isInvalid(r))&&nr.REF}transformRowRange(e,t,r){return!(!e.isInvalid(r)&&!t.isInvalid(r))&&nr.REF}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Cs extends ms{constructor(e,t,r,n){super(),this.sourceRange=e,this.toRight=t,this.toBottom=r,this.toSheet=n,this.dependentFormulaTransformer=new vs(e,t,r,n)}get sheet(){return this.sourceRange.sheet}isIrreversible(){return!0}transformSingleAst(e,t){if(this.sourceRange.addressInRange(t)){return[this.transformAst(e,t),this.fixNodeAddress(t)]}return this.dependentFormulaTransformer.transformSingleAst(e,t)}fixNodeAddress(e){return _r(this.toSheet,e.col+this.toRight,e.row+this.toBottom)}transformCellAddress(e,t){return this.transformAddress(e,t)}transformCellRange(e,t,r){return this.transformRange(e,t,r)}transformColumnRange(e,t,r){return this.transformRange(e,t,r)}transformRowRange(e,t,r){return this.transformRange(e,t,r)}transformAddress(e,t){const r=this.sourceRange;if(e instanceof o){const n=e.toSimpleCellAddress(t);if(r.addressInRange(n))return e.shiftAbsoluteDimensions(this.toRight,this.toBottom)}return e.shiftRelativeDimensions(-this.toRight,-this.toBottom)}transformRange(e,t,r){const n=this.sourceRange;if(e instanceof o&&t instanceof o){const s=e.toSimpleCellAddress(r),i=t.toSimpleCellAddress(r);if(n.addressInRange(s)&&n.addressInRange(i))return[e.shiftAbsoluteDimensions(this.toRight,this.toBottom),t.shiftAbsoluteDimensions(this.toRight,this.toBottom)]}return[e.shiftRelativeDimensions(-this.toRight,-this.toBottom),t.shiftRelativeDimensions(-this.toRight,-this.toBottom)]}}class vs extends ms{constructor(e,t,r,n){super(),this.sourceRange=e,this.toRight=t,this.toBottom=r,this.toSheet=n}get sheet(){return this.sourceRange.sheet}isIrreversible(){return!0}fixNodeAddress(e){return e}transformCellAddress(e,t){return!!this.shouldMove(e,t)&&e.moved(this.toSheet,this.toRight,this.toBottom)}transformCellRange(e,t,r){return this.transformRange(e,t,r)}transformColumnRange(e,t,r){return this.transformRange(e,t,r)}transformRowRange(e,t,r){return this.transformRange(e,t,r)}shouldMove(e,t){return e instanceof o?this.sourceRange.addressInRange(e.toSimpleCellAddress(t)):e instanceof i?this.sourceRange.rowInRange(e.toSimpleRowAddress(t))&&!this.sourceRange.isFinite():this.sourceRange.columnInRange(e.toSimpleColumnAddress(t))&&!this.sourceRange.isFinite()}transformRange(e,t,r){const n=this.transformCellAddress(e,r),s=this.transformCellAddress(t,r);return!(!n||!s)&&[n,s]}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Rs extends ms{constructor(e){super(),this.columnsSpan=e}get sheet(){return this.columnsSpan.sheet}isIrreversible(){return!0}transformRowRangeAst(e,t){return e}transformCellRange(e,t,r){return this.transformRange(e,t,r)}transformRowRange(e,t,r){throw Error("Not implemented")}transformColumnRange(e,t,r){return this.transformRange(e,t,r)}transformCellAddress(e,t){const r=xr(e,t);if(this.columnsSpan.sheet!==t.sheet&&this.columnsSpan.sheet!==r)return!1;if(this.columnsSpan.sheet!==t.sheet&&this.columnsSpan.sheet===r){const r=e.toSimpleColumnAddress(t);if(r.col<this.columnsSpan.columnStart)return!1;if(r.col>this.columnsSpan.columnEnd)return e.shiftedByColumns(-this.columnsSpan.numberOfColumns)}if(this.columnsSpan.sheet===t.sheet&&this.columnsSpan.sheet!==r){if(e.isColumnAbsolute())return!1;if(t.col<this.columnsSpan.columnStart)return!1;if(t.col>this.columnsSpan.columnEnd)return e.shiftedByColumns(this.columnsSpan.numberOfColumns)}if(this.columnsSpan.sheet===t.sheet&&this.columnsSpan.sheet===r)if(e.isColumnAbsolute()){if(e.col<this.columnsSpan.columnStart)return!1;if(e.col>this.columnsSpan.columnEnd)return e.shiftedByColumns(-this.columnsSpan.numberOfColumns)}else{const r=e.toSimpleColumnAddress(t);if(r.col<this.columnsSpan.columnStart){if(t.col<this.columnsSpan.columnStart)return!1;if(t.col>this.columnsSpan.columnEnd)return e.shiftedByColumns(this.columnsSpan.numberOfColumns)}else if(r.col>this.columnsSpan.columnEnd){if(t.col<this.columnsSpan.columnStart)return e.shiftedByColumns(-this.columnsSpan.numberOfColumns);if(t.col>this.columnsSpan.columnEnd)return!1}}return nr.REF}fixNodeAddress(e){return this.columnsSpan.sheet===e.sheet&&this.columnsSpan.columnStart<=e.col?Object.assign(Object.assign({},e),{col:e.col-this.columnsSpan.numberOfColumns}):e}transformRange(e,t,r){const n=xr(e,r);let s=e,i=t;if(this.columnsSpan.sheet===n){const n=e.toSimpleColumnAddress(r),o=t.toSimpleColumnAddress(r);if(this.columnsSpan.columnStart<=n.col&&this.columnsSpan.columnEnd>=o.col)return nr.REF;n.col>=this.columnsSpan.columnStart&&n.col<=this.columnsSpan.columnEnd&&(s=e.shiftedByColumns(this.columnsSpan.columnEnd-n.col+1)),o.col>=this.columnsSpan.columnStart&&o.col<=this.columnsSpan.columnEnd&&(i=t.shiftedByColumns(-(o.col-this.columnsSpan.columnStart+1)))}const o=this.transformCellAddress(s,r),a=this.transformCellAddress(i,r);if(!1===o&&!1===a)return[s,i];if(o===nr.REF||a===nr.REF)throw Error("Cannot happen");return[o||s,a||i]}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ss extends ms{constructor(e){super(),this.rowsSpan=e}get sheet(){return this.rowsSpan.sheet}isIrreversible(){return!0}transformColumnRangeAst(e,t){return e}transformCellAddress(e,t){const r=xr(e,t);if(this.rowsSpan.sheet!==t.sheet&&this.rowsSpan.sheet!==r)return!1;if(this.rowsSpan.sheet!==t.sheet&&this.rowsSpan.sheet===r){const r=e.toSimpleRowAddress(t);if(r.row<this.rowsSpan.rowStart)return!1;if(r.row>this.rowsSpan.rowEnd)return e.shiftedByRows(-this.rowsSpan.numberOfRows)}if(this.rowsSpan.sheet===t.sheet&&this.rowsSpan.sheet!==r){if(e.isRowAbsolute())return!1;if(t.row<this.rowsSpan.rowStart)return!1;if(t.row>this.rowsSpan.rowEnd)return e.shiftedByRows(this.rowsSpan.numberOfRows)}if(this.rowsSpan.sheet===t.sheet&&this.rowsSpan.sheet===r)if(e.isRowAbsolute()){if(e.row<this.rowsSpan.rowStart)return!1;if(e.row>this.rowsSpan.rowEnd)return e.shiftedByRows(-this.rowsSpan.numberOfRows)}else{const r=e.toSimpleRowAddress(t);if(r.row<this.rowsSpan.rowStart){if(t.row<this.rowsSpan.rowStart)return!1;if(t.row>this.rowsSpan.rowEnd)return e.shiftedByRows(this.rowsSpan.numberOfRows)}else if(r.row>this.rowsSpan.rowEnd){if(t.row<this.rowsSpan.rowStart)return e.shiftedByRows(-this.rowsSpan.numberOfRows);if(t.row>this.rowsSpan.rowEnd)return!1}}return nr.REF}transformCellRange(e,t,r){return this.transformRange(e,t,r)}transformRowRange(e,t,r){return this.transformRange(e,t,r)}transformColumnRange(e,t,r){throw Error("Not implemented")}fixNodeAddress(e){return this.rowsSpan.sheet===e.sheet&&this.rowsSpan.rowStart<=e.row?Object.assign(Object.assign({},e),{row:e.row-this.rowsSpan.numberOfRows}):e}transformRange(e,t,r){const n=xr(e,r);let s=e,i=t;if(this.rowsSpan.sheet===n){const n=e.toSimpleRowAddress(r),o=t.toSimpleRowAddress(r);if(this.rowsSpan.rowStart<=n.row&&this.rowsSpan.rowEnd>=o.row)return nr.REF;n.row>=this.rowsSpan.rowStart&&n.row<=this.rowsSpan.rowEnd&&(s=e.shiftedByRows(this.rowsSpan.rowEnd-n.row+1)),o.row>=this.rowsSpan.rowStart&&o.row<=this.rowsSpan.rowEnd&&(i=t.shiftedByRows(-(o.row-this.rowsSpan.rowStart+1)))}const o=this.transformCellAddress(s,r),a=this.transformCellAddress(i,r);return!1===o&&!1===a?[s,i]:o===nr.REF||a===nr.REF?nr.REF:[o||s,a||i]}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ts extends ms{constructor(e){super(),this.sheet=e}isIrreversible(){return!0}performEagerTransformations(e,t){for(const t of e.arrayFormulaNodes()){const[r]=this.transformSingleAst(t.getFormula(e.lazilyTransformingAstService),t.getAddress(e.lazilyTransformingAstService));t.setFormula(r)}}fixNodeAddress(e){return e}transformCellAddress(e,t){return this.transformAddress(e)}transformCellRange(e,t,r){return this.transformAddress(e)}transformColumnRange(e,t,r){return this.transformAddress(e)}transformRowRange(e,t,r){return this.transformAddress(e)}transformAddress(e){return e.sheet===this.sheet&&nr.REF}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
function Ns(e){if(!Array.isArray(e))throw new dt("an array of arrays.");for(let t=0;t<e.length;t++)if(!Array.isArray(e[t]))throw new dt("an array of arrays.")}function Ms(e){let t=0,r=0,n=0;for(let s=0;s<e.length;s++){let i=0;for(let t=0;t<e[s].length;t++){const r=e[s][t];null!=r&&(i=t+1,++n)}t=Math.max(t,i),i>0&&(r=s+1)}const s=t*r;return{height:r,width:t,fill:0===s?0:n/s}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class _s{constructor(e,t){this.sheet=e,this.indexes=t}normalizedIndexes(){return xs(this.indexes)}rowsSpans(){return this.normalizedIndexes().map((e=>rt.fromNumberOfRows(this.sheet,e[0],e[1])))}}class bs{constructor(e,t){this.sheet=e,this.indexes=t}normalizedIndexes(){return Ps(this.indexes)}rowsSpans(){return this.normalizedIndexes().map((e=>rt.fromNumberOfRows(this.sheet,e[0],e[1])))}}class Os{constructor(e,t){this.sheet=e,this.indexes=t}normalizedIndexes(){return Ps(this.indexes)}columnsSpans(){return this.normalizedIndexes().map((e=>nt.fromNumberOfColumns(this.sheet,e[0],e[1])))}}class As{constructor(e,t){this.sheet=e,this.indexes=t}normalizedIndexes(){return xs(this.indexes)}columnsSpans(){return this.normalizedIndexes().map((e=>nt.fromNumberOfColumns(this.sheet,e[0],e[1])))}}class Is{constructor(e,t,r,n,s,i,o,a,l){this.dependencyGraph=t,this.columnSearch=r,this.cellContentParser=n,this.parser=s,this.stats=i,this.lazilyTransformingAstService=o,this.namedExpressions=a,this.arraySizePredictor=l,this.changes=tt.empty(),this.allocateNamedExpressionAddressSpace(),this.maxColumns=e.maxColumns,this.maxRows=e.maxRows}get sheetMapping(){return this.dependencyGraph.sheetMapping}get addressMapping(){return this.dependencyGraph.addressMapping}removeRows(e){const t=[];for(const r of e.rowsSpans()){const e=this.doRemoveRows(r);e&&t.push(e)}return t}addRows(e){for(const t of e.rowsSpans())this.doAddRows(t)}addColumns(e){for(const t of e.columnsSpans())this.doAddColumns(t)}removeColumns(e){const t=[];for(const r of e.columnsSpans()){const e=this.doRemoveColumns(r);e&&t.push(e)}return t}removeSheet(e){this.dependencyGraph.removeSheet(e);let t=0;this.stats.measure(Ze.TRANSFORM_ASTS,(()=>{const r=new Ts(e);r.performEagerTransformations(this.dependencyGraph,this.parser),t=this.lazilyTransformingAstService.addTransformation(r)})),this.sheetMapping.removeSheet(e),this.columnSearch.removeSheet(e);const r=this.namedExpressions.getAllNamedExpressionsForScope(e).map((t=>this.removeNamedExpression(t.normalizeExpressionName(),e)));return{version:t,scopedNamedExpressions:r}}removeSheetByName(e){const t=this.sheetMapping.fetch(e);return this.removeSheet(t)}clearSheet(e){this.dependencyGraph.clearSheet(e),this.columnSearch.removeSheet(e)}addSheet(e){const t=this.sheetMapping.addSheet(e);return this.dependencyGraph.addressMapping.autoAddSheet(t,Ms([])),this.sheetMapping.fetchDisplayName(t)}renameSheet(e,t){return this.sheetMapping.renameSheet(e,t)}moveRows(e,t,r,n){const s=rt.fromNumberOfRows(e,n,r);this.lazilyTransformingAstService.beginCombinedMode(e),this.doAddRows(s),n<t&&(t+=r);const i=_r(e,0,t),o=_r(e,0,n);this.moveCells(i,Number.POSITIVE_INFINITY,r,o);const a=rt.fromNumberOfRows(e,t,r);return this.doRemoveRows(a),this.lazilyTransformingAstService.commitCombinedMode()}moveColumns(e,t,r,n){const s=nt.fromNumberOfColumns(e,n,r);this.lazilyTransformingAstService.beginCombinedMode(e),this.doAddColumns(s),n<t&&(t+=r);const i=_r(e,t,0),o=_r(e,n,0);this.moveCells(i,r,Number.POSITIVE_INFINITY,o);const a=nt.fromNumberOfColumns(e,t,r);return this.doRemoveColumns(a),this.lazilyTransformingAstService.commitCombinedMode()}moveCells(e,t,r,n){this.ensureItIsPossibleToMoveCells(e,t,r,n);const s=kr.spanFrom(e,t,r),i=kr.spanFrom(n,t,r),o=n.col-e.col,a=n.row-e.row,l=n.sheet,h=this.getRangeClipboardCells(i),u=this.dependencyGraph.rawValuesFromRange(i);this.columnSearch.removeValues(u);const c=this.dependencyGraph.rawValuesFromRange(s);this.columnSearch.moveValues(c,o,a,l);let d=0;this.stats.measure(Ze.TRANSFORM_ASTS,(()=>{const e=new Cs(s,o,a,l);e.performEagerTransformations(this.dependencyGraph,this.parser),d=this.lazilyTransformingAstService.addTransformation(e)})),this.dependencyGraph.moveCells(s,o,a,l);const p=this.updateNamedExpressionsForMovedCells(e,t,r,n);return{version:d,overwrittenCellsData:h,addedGlobalNamedExpressions:p}}setRowOrder(e,t){const r=[];let n=[];for(const[s,i]of t)if(s!==i){const t=kr.spanFrom({sheet:e,col:0,row:s},1/0,1),o=this.getRangeClipboardCells(t);n=n.concat(o),r.push(o.map((([{sheet:e,col:t},r])=>[{sheet:e,col:t,row:i},r])))}return r.forEach((t=>this.restoreClipboardCells(e,t.values()))),n}setColumnOrder(e,t){const r=[];let n=[];for(const[s,i]of t)if(s!==i){const t=kr.spanFrom({sheet:e,col:s,row:0},1,1/0),o=this.getRangeClipboardCells(t);n=n.concat(o),r.push(o.map((([{sheet:e,col:t,row:r},n])=>[{sheet:e,col:i,row:r},n])))}return r.forEach((t=>this.restoreClipboardCells(e,t.values()))),n}addNamedExpression(e,t,r,n){const s=this.namedExpressions.addNamedExpression(e,r,n);this.storeNamedExpressionInCell(s.address,t),this.adjustNamedExpressionEdges(s,e,r)}restoreNamedExpression(e,t,r){const n=e.displayName;this.restoreCell(e.address,t);const s=this.namedExpressions.restoreNamedExpression(e,r);this.adjustNamedExpressionEdges(s,n,r)}changeNamedExpressionExpression(e,t,r,n){const s=this.namedExpressions.namedExpressionForScope(e,r);if(!s)throw new mt(e);const i=s.copy();s.options=n;const o=this.getClipboardCell(s.address);return this.storeNamedExpressionInCell(s.address,t),[i,o]}removeNamedExpression(e,t){const r=this.namedExpressions.namedExpressionForScope(e,t);if(!r)throw new mt(e);this.namedExpressions.remove(r.displayName,t);const n=this.getClipboardCell(r.address);if(void 0!==t){const t=this.namedExpressions.workbookNamedExpressionOrPlaceholder(e);this.dependencyGraph.exchangeNode(r.address,t.address)}else this.dependencyGraph.setCellEmpty(r.address);return[r,n]}ensureItIsPossibleToMoveCells(e,t,r,n){if(br(e)||!(Ls(t)&&Ls(r)||function(e,t,r){return 0===e.row&&Ls(t)&&r===Number.POSITIVE_INFINITY||0===e.col&&Ls(r)&&t===Number.POSITIVE_INFINITY}(e,t,r))||br(n)||!this.sheetMapping.hasSheetWithId(e.sheet)||!this.sheetMapping.hasSheetWithId(n.sheet))throw new dt("a valid range of cells to move.");const s=kr.spanFrom(e,t,r),i=kr.spanFrom(n,t,r);if(i.exceedsSheetSizeLimits(this.maxColumns,this.maxRows))throw new ht;if(this.dependencyGraph.arrayMapping.isFormulaArrayInRange(s))throw new Lt;if(this.dependencyGraph.arrayMapping.isFormulaArrayInRange(i))throw new Dt}restoreClipboardCells(e,t){const r=[];for(const[n,s]of t)if(this.restoreCell(n,s),s.type===as.FORMULA){const{dependencies:t}=this.parser.fetchCachedResult(s.hash);r.push(...this.updateNamedExpressionsForTargetAddress(e,n,t))}return r}restoreCell(e,t){switch(t.type){case as.VALUE:this.setValueToCell(t,e);break;case as.FORMULA:this.setFormulaToCellFromCache(t.hash,e);break;case as.EMPTY:this.setCellEmpty(e);break;case as.PARSING_ERROR:this.setParsingErrorToCell(t.rawInput,t.errors,e)}}getOldContent(e){const t=this.dependencyGraph.getCell(e);if(void 0===t||t instanceof hr)return[e,{type:as.EMPTY}];if(t instanceof ur)return[e,Object.assign({type:as.VALUE},t.getValues())];if(t instanceof Yt)return[t.getAddress(this.lazilyTransformingAstService),{type:as.FORMULA,hash:this.parser.computeHashFromAst(t.getFormula(this.lazilyTransformingAstService))}];if(t instanceof cr)return[e,{type:as.PARSING_ERROR,rawInput:t.rawInput,errors:t.errors}];throw Error("Trying to copy unsupported type")}getClipboardCell(e){const t=this.dependencyGraph.getCell(e);if(void 0===t||t instanceof hr)return{type:as.EMPTY};if(t instanceof ur)return Object.assign({type:as.VALUE},t.getValues());if(t instanceof Gt){const r=t.getArrayCellValue(e);return r===Be?{type:as.EMPTY}:{type:as.VALUE,parsedValue:r,rawValue:t.getArrayCellRawValue(e)}}if(t instanceof jt)return{type:as.FORMULA,hash:this.parser.computeHashFromAst(t.getFormula(this.lazilyTransformingAstService))};if(t instanceof cr)return{type:as.PARSING_ERROR,rawInput:t.rawInput,errors:t.errors};throw Error("Trying to copy unsupported type")}getSheetClipboardCells(e){const t=this.dependencyGraph.getSheetHeight(e),r=this.dependencyGraph.getSheetWidth(e),n=new Array(t);for(let s=0;s<t;s++){n[s]=new Array(r);for(let t=0;t<r;t++){const r=_r(e,t,s);n[s][t]=this.getClipboardCell(r)}}return n}getRangeClipboardCells(e){const t=[];for(const r of e.addresses(this.dependencyGraph))t.push([r,this.getClipboardCell(r)]);return t}setCellContent(e,t){const r=this.cellContentParser.parse(t),n=this.getOldContent(e);if(r instanceof is.Formula){const t=this.parser.parse(r.formula,e),{ast:n,errors:s}=t;if(s.length>0)this.setParsingErrorToCell(r.formula,s,e);else try{const r=this.arraySizePredictor.checkArraySize(n,e);if(r.width<=0||r.height<=0)throw Error("Incorrect array size");this.setFormulaToCell(e,r,t)}catch(t){if(!t.message)throw t;const n={type:k.InvalidRangeSize,message:"Invalid range size."};this.setParsingErrorToCell(r.formula,[n],e)}}else r instanceof is.Empty?this.setCellEmpty(e):this.setValueToCell({parsedValue:r.value,rawValue:t},e);return n}setSheetContent(e,t){this.clearSheet(e);for(let r=0;r<t.length;r++)for(let n=0;n<t[r].length;n++){const s=_r(e,n,r);this.setCellContent(s,t[r][n])}}setParsingErrorToCell(e,t,r){const n=this.dependencyGraph.getCellValue(r),s=new cr(t,e),i=this.dependencyGraph.setParsingErrorToCell(r,s);this.columnSearch.remove(We(n),r),this.columnSearch.applyChanges(i.getChanges()),this.changes.addAll(i),this.changes.addChange(s.getCellValue(),r)}setFormulaToCell(e,t,{ast:r,hasVolatileFunction:n,hasStructuralChangeFunction:s,dependencies:i}){const o=this.dependencyGraph.getCellValue(e),a=this.dependencyGraph.setFormulaToCell(e,r,Ve(i,e),t,n,s);this.columnSearch.remove(We(o),e),this.columnSearch.applyChanges(a.getChanges()),this.changes.addAll(a)}setValueToCell(e,t){const r=this.dependencyGraph.getCellValue(t),n=this.dependencyGraph.setValueToCell(t,e);this.columnSearch.change(We(r),We(e.parsedValue),t),this.columnSearch.applyChanges(n.getChanges().filter((e=>!Pr(e.address,t)))),this.changes.addAll(n),this.changes.addChange(e.parsedValue,t)}setCellEmpty(e){if(this.dependencyGraph.isArrayInternalCell(e))return;const t=this.dependencyGraph.getCellValue(e),r=this.dependencyGraph.setCellEmpty(e);this.columnSearch.remove(We(t),e),this.columnSearch.applyChanges(r.getChanges()),this.changes.addAll(r),this.changes.addChange(Be,e)}setFormulaToCellFromCache(e,t){const{ast:r,hasVolatileFunction:n,hasStructuralChangeFunction:s,dependencies:i}=this.parser.fetchCachedResult(e),o=Ve(i,t),[a]=new ws(t.sheet).transformSingleAst(r,t);this.parser.rememberNewAst(a);const l=o.filter((e=>e instanceof Ue||(e instanceof kr?!(br(e.start)||br(e.end)):!br(e))));const h=this.arraySizePredictor.checkArraySize(r,t);this.dependencyGraph.setFormulaToCell(t,a,l,h,n,s)}rowEffectivelyNotInSheet(e,t){return e>=this.dependencyGraph.addressMapping.getHeight(t)}getAndClearContentChanges(){const e=this.changes;return this.changes=tt.empty(),e}forceApplyPostponedTransformations(){this.dependencyGraph.forceApplyPostponedTransformations()}doRemoveRows(e){if(this.rowEffectivelyNotInSheet(e.rowStart,e.sheet))return;const t=[];for(const[r]of this.dependencyGraph.entriesFromRowsSpan(e))t.push({address:r,cellType:this.getClipboardCell(r)});const{affectedArrays:r,contentChanges:n}=this.dependencyGraph.removeRows(e);this.columnSearch.applyChanges(n.getChanges());let s=0;return this.stats.measure(Ze.TRANSFORM_ASTS,(()=>{const t=new Ss(e);t.performEagerTransformations(this.dependencyGraph,this.parser),s=this.lazilyTransformingAstService.addTransformation(t)})),this.rewriteAffectedArrays(r),{version:s,removedCells:t,rowFrom:e.rowStart,rowCount:e.numberOfRows}}doRemoveColumns(e){if(this.columnEffectivelyNotInSheet(e.columnStart,e.sheet))return;const t=[];for(const[r]of this.dependencyGraph.entriesFromColumnsSpan(e))t.push({address:r,cellType:this.getClipboardCell(r)});const{affectedArrays:r,contentChanges:n}=this.dependencyGraph.removeColumns(e);this.columnSearch.applyChanges(n.getChanges()),this.columnSearch.removeColumns(e);let s=0;return this.stats.measure(Ze.TRANSFORM_ASTS,(()=>{const t=new Rs(e);t.performEagerTransformations(this.dependencyGraph,this.parser),s=this.lazilyTransformingAstService.addTransformation(t)})),this.rewriteAffectedArrays(r),{version:s,removedCells:t,columnFrom:e.columnStart,columnCount:e.numberOfColumns}}doAddRows(e){if(this.rowEffectivelyNotInSheet(e.rowStart,e.sheet))return;const{affectedArrays:t}=this.dependencyGraph.addRows(e);this.stats.measure(Ze.TRANSFORM_ASTS,(()=>{const t=new Es(e);t.performEagerTransformations(this.dependencyGraph,this.parser),this.lazilyTransformingAstService.addTransformation(t)})),this.rewriteAffectedArrays(t)}rewriteAffectedArrays(e){for(const t of e.values()){if(t.array.size.isRef)continue;const e=t.getFormula(this.lazilyTransformingAstService),r=t.getAddress(this.lazilyTransformingAstService),n=this.parser.computeHashFromAst(e);this.setFormulaToCellFromCache(n,r)}}doAddColumns(e){if(this.columnEffectivelyNotInSheet(e.columnStart,e.sheet))return;const{affectedArrays:t,contentChanges:r}=this.dependencyGraph.addColumns(e);this.columnSearch.addColumns(e),this.columnSearch.applyChanges(r.getChanges()),this.stats.measure(Ze.TRANSFORM_ASTS,(()=>{const t=new ys(e);t.performEagerTransformations(this.dependencyGraph,this.parser),this.lazilyTransformingAstService.addTransformation(t)})),this.rewriteAffectedArrays(t)}columnEffectivelyNotInSheet(e,t){return e>=this.dependencyGraph.addressMapping.getWidth(t)}adjustNamedExpressionEdges(e,t,r){if(void 0===r)return;const{vertex:n,id:s}=this.dependencyGraph.fetchCellOrCreateEmpty(e.address),i=null!=s?s:this.dependencyGraph.graph.getNodeId(n),o=this.namedExpressions.workbookNamedExpressionOrPlaceholder(t),{vertex:a,id:l}=this.dependencyGraph.fetchCellOrCreateEmpty(o.address),h=null!=l?l:this.dependencyGraph.graph.getNodeId(a);for(const t of this.dependencyGraph.graph.adjacentNodes(a))if(t instanceof jt&&t.getAddress(this.lazilyTransformingAstService).sheet===r){const r=t.getFormula(this.lazilyTransformingAstService),n=t.getAddress(this.lazilyTransformingAstService),{dependencies:s}=this.parser.fetchCachedResultForAst(r);for(const r of Ve(s,n))r instanceof Ue&&r.name.toLowerCase()===e.displayName.toLowerCase()&&(this.dependencyGraph.graph.removeEdge(h,t),this.dependencyGraph.graph.addEdge(i,t))}}storeNamedExpressionInCell(e,t){const r=this.cellContentParser.parse(t);if(r instanceof is.Formula){const t=this.parser.parse(r.formula,_r(-1,0,0));if(fs(t.ast))throw new kt;const{ast:n,hasVolatileFunction:s,hasStructuralChangeFunction:i,dependencies:o}=t;this.dependencyGraph.setFormulaToCell(e,n,Ve(o,e),hn.scalar(),s,i)}else r instanceof is.Empty?this.setCellEmpty(e):this.setValueToCell({parsedValue:r.value,rawValue:t},e)}updateNamedExpressionsForMovedCells(e,t,r,n){if(e.sheet===n.sheet)return[];const s=[],i=kr.spanFrom(n,t,r);for(const t of i.addresses(this.dependencyGraph)){const r=this.addressMapping.fetchCell(t);if(r instanceof jt&&t.sheet!==e.sheet){const n=r.getFormula(this.lazilyTransformingAstService),{dependencies:i}=this.parser.fetchCachedResultForAst(n);s.push(...this.updateNamedExpressionsForTargetAddress(e.sheet,t,i))}}return s}updateNamedExpressionsForTargetAddress(e,t,r){if(e===t.sheet)return[];const n=[],s=this.addressMapping.fetchCell(t);for(const i of Ve(r,t)){if(!(i instanceof Ue))continue;const r=i.name,o=this.dependencyGraph.fetchNamedExpressionVertex(r,e).vertex,a=this.namedExpressions.isExpressionInScope(r,t.sheet)?this.dependencyGraph.fetchNamedExpressionVertex(r,t.sheet).vertex:this.copyOrFetchGlobalNamedExpressionVertex(r,o,n);a!==o&&(this.dependencyGraph.graph.removeEdgeIfExists(o,s),this.dependencyGraph.graph.addEdge(a,s))}return n}allocateNamedExpressionAddressSpace(){this.dependencyGraph.addressMapping.addSheet(gs.SHEET_FOR_WORKBOOK_EXPRESSIONS,new dr(0,0))}copyOrFetchGlobalNamedExpressionVertex(e,t,r){let n=this.namedExpressions.namedExpressionForScope(e);if(void 0===n)if(n=this.namedExpressions.addNamedExpression(e),r.push(n.normalizeExpressionName()),t instanceof jt){const e=this.parser.fetchCachedResultForAst(t.getFormula(this.lazilyTransformingAstService)),{ast:r,hasVolatileFunction:s,hasStructuralChangeFunction:i,dependencies:o}=e;this.dependencyGraph.setFormulaToCell(n.address,r,Ve(o,n.address),hn.scalar(),s,i)}else t instanceof hr?this.setCellEmpty(n.address):t instanceof ur&&this.setValueToCell(t.getValues(),n.address);return this.dependencyGraph.fetchCellOrCreateEmpty(n.address).vertex}}function xs(e){if(e.length<=1)return e;const t=[...e].sort((([e],[t])=>e-t)),r=t.reduce(((e,[t,r])=>{const n=e[e.length-1],s=n[0]+n[1];return t<=s?n[1]+=Math.max(0,r-(s-t)):e.push([t,r]),e}),[t[0]]);let n=0;for(let e=0;e<r.length;++e)r[e][0]-=n,n+=r[e][1];return r}function Ps(e){if(e.length<=1)return e;const t=[...e].sort((([e],[t])=>e-t)),r=t.reduce(((e,[t,r])=>{const n=e[e.length-1];return t===n[0]?n[1]=Math.max(n[1],r):e.push([t,r]),e}),[t[0]]);let n=0;for(let e=0;e<r.length;++e)r[e][0]+=n,n+=r[e][1];return r}function Ls(e){return Number.isInteger(e)&&e>0}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ds{}class ks extends Ds{constructor(e,t){super(),this.command=e,this.rowsRemovals=t}doUndo(e){e.undoRemoveRows(this)}doRedo(e){e.redoRemoveRows(this)}}class Hs extends Ds{constructor(e,t,r,n,s,i,o){super(),this.sourceLeftCorner=e,this.width=t,this.height=r,this.destinationLeftCorner=n,this.overwrittenCellsData=s,this.addedGlobalNamedExpressions=i,this.version=o}doUndo(e){e.undoMoveCells(this)}doRedo(e){e.redoMoveCells(this)}}class Fs extends Ds{constructor(e){super(),this.command=e}doUndo(e){e.undoAddRows(this)}doRedo(e){e.redoAddRows(this)}}class Us extends Ds{constructor(e,t,r){super(),this.sheetId=e,this.rowMapping=t,this.oldContent=r}doUndo(e){e.undoSetRowOrder(this)}doRedo(e){e.redoSetRowOrder(this)}}class Vs extends Ds{constructor(e,t,r){super(),this.sheetId=e,this.columnMapping=t,this.oldContent=r}doUndo(e){e.undoSetColumnOrder(this)}doRedo(e){e.redoSetColumnOrder(this)}}class Bs extends Ds{constructor(e,t,r){super(),this.sheetId=e,this.oldSheetContent=t,this.newSheetContent=r}doUndo(e){e.undoSetSheetContent(this)}doRedo(e){e.redoSetSheetContent(this)}}class Ws extends Ds{constructor(e,t,r,n,s){super(),this.sheet=e,this.startRow=t,this.numberOfRows=r,this.targetRow=n,this.version=s,this.undoStart=this.startRow<this.targetRow?this.targetRow-this.numberOfRows:this.targetRow,this.undoEnd=this.startRow>this.targetRow?this.startRow+this.numberOfRows:this.startRow}doUndo(e){e.undoMoveRows(this)}doRedo(e){e.redoMoveRows(this)}}class Ys extends Ds{constructor(e,t,r,n,s){super(),this.sheet=e,this.startColumn=t,this.numberOfColumns=r,this.targetColumn=n,this.version=s,this.undoStart=this.startColumn<this.targetColumn?this.targetColumn-this.numberOfColumns:this.targetColumn,this.undoEnd=this.startColumn>this.targetColumn?this.startColumn+this.numberOfColumns:this.startColumn}doUndo(e){e.undoMoveColumns(this)}doRedo(e){e.redoMoveColumns(this)}}class Gs extends Ds{constructor(e){super(),this.command=e}doUndo(e){e.undoAddColumns(this)}doRedo(e){e.redoAddColumns(this)}}class js extends Ds{constructor(e,t){super(),this.command=e,this.columnsRemovals=t}doUndo(e){e.undoRemoveColumns(this)}doRedo(e){e.redoRemoveColumns(this)}}class zs extends Ds{constructor(e){super(),this.sheetName=e}doUndo(e){e.undoAddSheet(this)}doRedo(e){e.redoAddSheet(this)}}class $s extends Ds{constructor(e,t,r,n,s){super(),this.sheetName=e,this.sheetId=t,this.oldSheetContent=r,this.scopedNamedExpressions=n,this.version=s}doUndo(e){e.undoRemoveSheet(this)}doRedo(e){e.redoRemoveSheet(this)}}class Ks extends Ds{constructor(e,t,r){super(),this.sheetId=e,this.oldName=t,this.newName=r}doUndo(e){e.undoRenameSheet(this)}doRedo(e){e.redoRenameSheet(this)}}class Xs extends Ds{constructor(e,t){super(),this.sheetId=e,this.oldSheetContent=t}doUndo(e){e.undoClearSheet(this)}doRedo(e){e.redoClearSheet(this)}}class qs extends Ds{constructor(e){super(),this.cellContents=e}doUndo(e){e.undoSetCellContents(this)}doRedo(e){e.redoSetCellContents(this)}}class Qs extends Ds{constructor(e,t,r,n){super(),this.targetLeftCorner=e,this.oldContent=t,this.newContent=r,this.addedGlobalNamedExpressions=n}doUndo(e){e.undoPaste(this)}doRedo(e){e.redoPaste(this)}}class Zs extends Ds{constructor(e,t,r,n){super(),this.name=e,this.newContent=t,this.scope=r,this.options=n}doUndo(e){e.undoAddNamedExpression(this)}doRedo(e){e.redoAddNamedExpression(this)}}class Js extends Ds{constructor(e,t,r){super(),this.namedExpression=e,this.content=t,this.scope=r}doUndo(e){e.undoRemoveNamedExpression(this)}doRedo(e){e.redoRemoveNamedExpression(this)}}class ei extends Ds{constructor(e,t,r,n,s){super(),this.namedExpression=e,this.newContent=t,this.oldContent=r,this.scope=n,this.options=s}doUndo(e){e.undoChangeNamedExpression(this)}doRedo(e){e.redoChangeNamedExpression(this)}}class ti extends Ds{constructor(){super(...arguments),this.operations=[]}add(e){this.operations.push(e)}*reversedOperations(){for(let e=this.operations.length-1;e>=0;e--)yield this.operations[e]}doUndo(e){e.undoBatch(this)}doRedo(e){e.redoBatch(this)}}class ri{constructor(e,t){this.operations=t,this.oldData=new Map,this.undoStack=[],this.redoStack=[],this.undoLimit=e.undoLimit}saveOperation(e){void 0!==this.batchUndoEntry?this.batchUndoEntry.add(e):this.addUndoEntry(e)}beginBatchMode(){this.batchUndoEntry=new ti}commitBatchMode(){if(void 0===this.batchUndoEntry)throw Error("Batch mode wasn't started");this.addUndoEntry(this.batchUndoEntry),this.batchUndoEntry=void 0}storeDataForVersion(e,t,r){this.oldData.has(e)||this.oldData.set(e,[]);this.oldData.get(e).push([t,r])}clearRedoStack(){this.redoStack=[]}clearUndoStack(){this.undoStack=[]}isUndoStackEmpty(){return 0===this.undoStack.length}isRedoStackEmpty(){return 0===this.redoStack.length}undo(){const e=this.undoStack.pop();if(!e)throw Error("Attempted to undo without operation on stack");this.undoEntry(e),this.redoStack.push(e)}undoBatch(e){for(const t of e.reversedOperations())this.undoEntry(t)}undoRemoveRows(e){this.operations.forceApplyPostponedTransformations();const{command:{sheet:t},rowsRemovals:r}=e;for(let e=r.length-1;e>=0;--e){const n=r[e];this.operations.addRows(new bs(t,[[n.rowFrom,n.rowCount]]));for(const{address:e,cellType:t}of n.removedCells)this.operations.restoreCell(e,t);this.restoreOldDataFromVersion(n.version-1)}}undoRemoveColumns(e){this.operations.forceApplyPostponedTransformations();const{command:{sheet:t},columnsRemovals:r}=e;for(let e=r.length-1;e>=0;--e){const n=r[e];this.operations.addColumns(new Os(t,[[n.columnFrom,n.columnCount]]));for(const{address:e,cellType:t}of n.removedCells)this.operations.restoreCell(e,t);this.restoreOldDataFromVersion(n.version-1)}}undoAddRows(e){const t=e.command.rowsSpans();for(let r=t.length-1;r>=0;--r){const n=t[r];this.operations.removeRows(new _s(e.command.sheet,[[n.rowStart,n.numberOfRows]]))}}undoAddColumns(e){const t=e.command.columnsSpans();for(let r=t.length-1;r>=0;--r){const n=t[r];this.operations.removeColumns(new As(e.command.sheet,[[n.columnStart,n.numberOfColumns]]))}}undoSetCellContents(e){for(const t of e.cellContents){const e=t.address,[r,n]=t.oldContent;Pr(e,r)||this.operations.setCellEmpty(e),this.operations.restoreCell(r,n)}}undoPaste(e){this.restoreOperationOldContent(e.oldContent);for(const t of e.addedGlobalNamedExpressions)this.operations.removeNamedExpression(t)}undoMoveRows(e){const{sheet:t}=e;this.operations.moveRows(t,e.undoStart,e.numberOfRows,e.undoEnd),this.restoreOldDataFromVersion(e.version-1)}undoMoveColumns(e){const{sheet:t}=e;this.operations.moveColumns(t,e.undoStart,e.numberOfColumns,e.undoEnd),this.restoreOldDataFromVersion(e.version-1)}undoMoveCells(e){this.operations.forceApplyPostponedTransformations(),this.operations.moveCells(e.destinationLeftCorner,e.width,e.height,e.sourceLeftCorner),this.restoreOperationOldContent(e.overwrittenCellsData),this.restoreOldDataFromVersion(e.version-1);for(const t of e.addedGlobalNamedExpressions)this.operations.removeNamedExpression(t)}undoAddSheet(e){const{sheetName:t}=e;this.operations.removeSheetByName(t)}undoRemoveSheet(e){this.operations.forceApplyPostponedTransformations();const{oldSheetContent:t,sheetId:r}=e;this.operations.addSheet(e.sheetName);for(let e=0;e<t.length;e++){const n=t[e];for(let t=0;t<n.length;t++){const s=n[t],i=_r(r,t,e);this.operations.restoreCell(i,s)}}for(const[t,n]of e.scopedNamedExpressions)this.operations.restoreNamedExpression(t,n,r);this.restoreOldDataFromVersion(e.version-1)}undoRenameSheet(e){this.operations.renameSheet(e.sheetId,e.oldName)}undoClearSheet(e){const{oldSheetContent:t,sheetId:r}=e;for(let e=0;e<t.length;e++){const n=t[e];for(let t=0;t<n.length;t++){const s=n[t],i=_r(r,t,e);this.operations.restoreCell(i,s)}}}undoSetSheetContent(e){const{oldSheetContent:t,sheetId:r}=e;this.operations.clearSheet(r);for(let e=0;e<t.length;e++){const n=t[e];for(let t=0;t<n.length;t++){const s=n[t],i=_r(r,t,e);this.operations.restoreCell(i,s)}}}undoAddNamedExpression(e){this.operations.removeNamedExpression(e.name,e.scope)}undoRemoveNamedExpression(e){this.operations.restoreNamedExpression(e.namedExpression,e.content,e.scope)}undoChangeNamedExpression(e){this.operations.restoreNamedExpression(e.namedExpression,e.oldContent,e.scope)}undoSetRowOrder(e){this.restoreOperationOldContent(e.oldContent)}undoSetColumnOrder(e){this.restoreOperationOldContent(e.oldContent)}redo(){const e=this.redoStack.pop();if(!e)throw Error("Attempted to redo without operation on stack");this.redoEntry(e),this.undoStack.push(e)}redoBatch(e){for(const t of e.operations)this.redoEntry(t)}redoRemoveRows(e){this.operations.removeRows(e.command)}redoMoveCells(e){this.operations.moveCells(e.sourceLeftCorner,e.width,e.height,e.destinationLeftCorner)}redoRemoveColumns(e){this.operations.removeColumns(e.command)}redoPaste(e){const{targetLeftCorner:t,newContent:r}=e,n=r.length,s=r[0].length;for(let e=0;e<n;++e)for(let n=0;n<s;++n){const s=_r(t.sheet,t.col+n,t.row+e);this.operations.restoreCell(s,r[e][n])}}redoSetCellContents(e){for(const t of e.cellContents)this.operations.setCellContent(t.address,t.newContent)}redoAddRows(e){this.operations.addRows(e.command)}redoAddColumns(e){this.operations.addColumns(e.command)}redoRemoveSheet(e){this.operations.removeSheetByName(e.sheetName)}redoAddSheet(e){this.operations.addSheet(e.sheetName)}redoRenameSheet(e){this.operations.renameSheet(e.sheetId,e.newName)}redoMoveRows(e){this.operations.moveRows(e.sheet,e.startRow,e.numberOfRows,e.targetRow)}redoMoveColumns(e){this.operations.moveColumns(e.sheet,e.startColumn,e.numberOfColumns,e.targetColumn)}redoClearSheet(e){this.operations.clearSheet(e.sheetId)}redoSetSheetContent(e){const{sheetId:t,newSheetContent:r}=e;this.operations.setSheetContent(t,r)}redoAddNamedExpression(e){this.operations.addNamedExpression(e.name,e.newContent,e.scope,e.options)}redoRemoveNamedExpression(e){this.operations.removeNamedExpression(e.namedExpression.displayName,e.scope)}redoChangeNamedExpression(e){this.operations.changeNamedExpressionExpression(e.namedExpression.displayName,e.newContent,e.scope,e.options)}redoSetRowOrder(e){this.operations.setRowOrder(e.sheetId,e.rowMapping)}redoSetColumnOrder(e){this.operations.setColumnOrder(e.sheetId,e.columnMapping)}addUndoEntry(e){this.undoStack.push(e),this.undoStack.splice(0,Math.max(0,this.undoStack.length-this.undoLimit))}undoEntry(e){e.doUndo(this)}restoreOperationOldContent(e){for(const[t,r]of e)this.operations.restoreCell(t,r)}redoEntry(e){e.doRedo(this)}restoreOldDataFromVersion(e){const t=this.oldData.get(e)||[];for(const e of t){const[t,r]=e;this.operations.setFormulaToCellFromCache(r,t)}}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class ni{constructor(e,t,r,n,s,i,o,a,l,h){this.operations=t,this.undoRedo=r,this.clipboardOperations=n,this.dependencyGraph=s,this.columnSearch=i,this.parser=o,this.cellContentParser=a,this.lazilyTransformingAstService=l,this.namedExpressions=h,this.maxRows=e.maxRows,this.maxColumns=e.maxColumns}get sheetMapping(){return this.dependencyGraph.sheetMapping}addRows(e,...t){const r=new bs(e,t);this.ensureItIsPossibleToAddRows(e,...t),this.undoRedo.clearRedoStack(),this.clipboardOperations.abortCut(),this.operations.addRows(r),this.undoRedo.saveOperation(new Fs(r))}removeRows(e,...t){const r=new _s(e,t);this.ensureItIsPossibleToRemoveRows(e,...t),this.undoRedo.clearRedoStack(),this.clipboardOperations.abortCut();const n=this.operations.removeRows(r);this.undoRedo.saveOperation(new ks(r,n))}addColumns(e,...t){const r=new Os(e,t);this.ensureItIsPossibleToAddColumns(e,...t),this.undoRedo.clearRedoStack(),this.clipboardOperations.abortCut(),this.operations.addColumns(r),this.undoRedo.saveOperation(new Gs(r))}removeColumns(e,...t){const r=new As(e,t);this.ensureItIsPossibleToRemoveColumns(e,...t),this.undoRedo.clearRedoStack(),this.clipboardOperations.abortCut();const n=this.operations.removeColumns(r);this.undoRedo.saveOperation(new js(r,n))}moveCells(e,t,r,n){this.undoRedo.clearRedoStack(),this.clipboardOperations.abortCut();const{version:s,overwrittenCellsData:i,addedGlobalNamedExpressions:o}=this.operations.moveCells(e,t,r,n);this.undoRedo.saveOperation(new Hs(e,t,r,n,i,o,s))}moveRows(e,t,r,n){this.ensureItIsPossibleToMoveRows(e,t,r,n),this.undoRedo.clearRedoStack(),this.clipboardOperations.abortCut();const s=this.operations.moveRows(e,t,r,n);this.undoRedo.saveOperation(new Ws(e,t,r,n,s))}moveColumns(e,t,r,n){this.ensureItIsPossibleToMoveColumns(e,t,r,n),this.undoRedo.clearRedoStack();const s=this.operations.moveColumns(e,t,r,n);this.undoRedo.saveOperation(new Ys(e,t,r,n,s))}cut(e,t,r){this.clipboardOperations.cut(e,t,r)}ensureItIsPossibleToCopy(e,t,r){if(!si(t))throw new dt("width to be positive integer.");if(!si(r))throw new dt("height to be positive integer.")}copy(e,t,r){this.ensureItIsPossibleToCopy(e,t,r),this.clipboardOperations.copy(e,t,r)}paste(e){const t=this.clipboardOperations.clipboard;if(void 0===t)throw new wt;if(this.clipboardOperations.isCutClipboard())this.moveCells(t.sourceLeftCorner,t.width,t.height,e);else if(this.clipboardOperations.isCopyClipboard()){this.clipboardOperations.ensureItIsPossibleToCopyPaste(e);const r=kr.spanFrom(e,t.width,t.height),n=this.operations.getRangeClipboardCells(r);this.undoRedo.clearRedoStack();const s=this.operations.restoreClipboardCells(t.sourceLeftCorner.sheet,t.getContent(e));this.undoRedo.saveOperation(new Qs(e,n,t.content,s))}}beginUndoRedoBatchMode(){this.undoRedo.beginBatchMode()}commitUndoRedoBatchMode(){this.undoRedo.commitBatchMode()}isClipboardEmpty(){return void 0===this.clipboardOperations.clipboard}clearClipboard(){this.clipboardOperations.clear()}addSheet(e){void 0!==e&&this.ensureItIsPossibleToAddSheet(e),this.undoRedo.clearRedoStack();const t=this.operations.addSheet(e);return this.undoRedo.saveOperation(new zs(t)),t}removeSheet(e){this.ensureScopeIdIsValid(e),this.undoRedo.clearRedoStack(),this.clipboardOperations.abortCut();const t=this.sheetMapping.fetchDisplayName(e),r=this.operations.getSheetClipboardCells(e),{version:n,scopedNamedExpressions:s}=this.operations.removeSheet(e);this.undoRedo.saveOperation(new $s(t,e,r,s,n))}renameSheet(e,t){this.ensureItIsPossibleToRenameSheet(e,t);const r=this.operations.renameSheet(e,t);return void 0!==r&&(this.undoRedo.clearRedoStack(),this.undoRedo.saveOperation(new Ks(e,r,t))),r}clearSheet(e){this.ensureScopeIdIsValid(e),this.undoRedo.clearRedoStack(),this.clipboardOperations.abortCut();const t=this.operations.getSheetClipboardCells(e);this.operations.clearSheet(e),this.undoRedo.saveOperation(new Xs(e,t))}setCellContents(e,t){if(t instanceof Array){for(let e=0;e<t.length;e++)if(!(t[e]instanceof Array))throw new dt("an array of arrays or a raw cell value.")}else t=[[t]];this.ensureItIsPossibleToChangeCellContents(e,t),this.undoRedo.clearRedoStack();const r=[];for(let n=0;n<t.length;n++)for(let s=0;s<t[n].length;s++){const i={sheet:e.sheet,row:e.row+n,col:e.col+s},o=t[n][s];this.clipboardOperations.abortCut();const a=this.operations.setCellContent(i,o);r.push({address:i,newContent:o,oldContent:a})}this.undoRedo.saveOperation(new qs(r))}setSheetContent(e,t){this.ensureScopeIdIsValid(e),this.ensureItIsPossibleToChangeSheetContents(e,t),Ns(t),this.undoRedo.clearRedoStack(),this.clipboardOperations.abortCut();const r=this.operations.getSheetClipboardCells(e);this.operations.setSheetContent(e,t),this.undoRedo.saveOperation(new Bs(e,r,t))}setRowOrder(e,t){this.validateSwapRowIndexes(e,t),this.testRowOrderForArrays(e,t),this.undoRedo.clearRedoStack(),this.clipboardOperations.abortCut();const r=this.operations.setRowOrder(e,t);this.undoRedo.saveOperation(new Us(e,t,r))}validateSwapRowIndexes(e,t){if(!this.sheetMapping.hasSheetWithId(e))throw new ot(e);this.validateRowOrColumnMapping(e,t,"row")}testColumnOrderForArrays(e,t){for(const[r,n]of t)if(r!==n){const t=kr.spanFrom({sheet:e,col:r,row:0},1,1/0);if(this.dependencyGraph.arrayMapping.isFormulaArrayInRange(t))throw new Lt}}setColumnOrder(e,t){this.validateSwapColumnIndexes(e,t),this.testColumnOrderForArrays(e,t),this.undoRedo.clearRedoStack(),this.clipboardOperations.abortCut();const r=this.operations.setColumnOrder(e,t);this.undoRedo.saveOperation(new Vs(e,t,r))}validateSwapColumnIndexes(e,t){if(!this.sheetMapping.hasSheetWithId(e))throw new ot(e);this.validateRowOrColumnMapping(e,t,"column")}testRowOrderForArrays(e,t){for(const[r,n]of t)if(r!==n){const t=kr.spanFrom({sheet:e,col:0,row:r},1/0,1);if(this.dependencyGraph.arrayMapping.isFormulaArrayInRange(t))throw new Lt}}mappingFromOrder(e,t,r){if(!this.sheetMapping.hasSheetWithId(e))throw new ot(e);const n="row"===r?this.dependencyGraph.getSheetHeight(e):this.dependencyGraph.getSheetWidth(e);if(t.length!==n)throw new dt(`number of ${r}s provided to be sheet ${"row"===r?"height":"width"}.`);const s=[];for(let e=0;e<n;e++)t[e]!==e&&s.push([e,t[e]]);return s}undo(){if(this.undoRedo.isUndoStackEmpty())throw new yt;this.clipboardOperations.abortCut(),this.undoRedo.undo()}redo(){if(this.undoRedo.isRedoStackEmpty())throw new Et;this.clipboardOperations.abortCut(),this.undoRedo.redo()}addNamedExpression(e,t,r,n){this.ensureItIsPossibleToAddNamedExpression(e,t,r),this.operations.addNamedExpression(e,t,r,n),this.undoRedo.clearRedoStack(),this.clipboardOperations.abortCut(),this.undoRedo.saveOperation(new Zs(e,t,r,n))}changeNamedExpressionExpression(e,t,r,n){this.ensureItIsPossibleToChangeNamedExpression(e,r,t);const[s,i]=this.operations.changeNamedExpressionExpression(e,r,t,n);this.undoRedo.clearRedoStack(),this.clipboardOperations.abortCut(),this.undoRedo.saveOperation(new ei(s,r,i,t,n))}removeNamedExpression(e,t){this.ensureScopeIdIsValid(t);const[r,n]=this.operations.removeNamedExpression(e,t);return this.undoRedo.clearRedoStack(),this.clipboardOperations.abortCut(),this.undoRedo.saveOperation(new Js(r,n,t)),r}ensureItIsPossibleToAddNamedExpression(e,t,r){this.ensureScopeIdIsValid(r),this.ensureNamedExpressionNameIsValid(e,r),this.ensureNamedExpressionIsValid(t)}ensureItIsPossibleToChangeNamedExpression(e,t,r){if(this.ensureScopeIdIsValid(r),void 0===this.namedExpressions.namedExpressionForScope(e,r))throw new mt(e);this.ensureNamedExpressionIsValid(t)}isItPossibleToRemoveNamedExpression(e,t){if(this.ensureScopeIdIsValid(t),void 0===this.namedExpressions.namedExpressionForScope(e,t))throw new mt(e)}ensureItIsPossibleToAddRows(e,...t){if(!this.sheetMapping.hasSheetWithId(e))throw new ot(e);if(this.dependencyGraph.getSheetHeight(e)+t.map((e=>e[1])).reduce(((e,t)=>e+t),0)>this.maxRows)throw new ht;for(const[e,r]of t)if(!ii(e)||!si(r))throw new dt("row number to be nonnegative and number of rows to add to be positive.")}ensureItIsPossibleToRemoveRows(e,...t){for(const[r,n]of t){const t=r+n-1;if(!ii(r)||!ii(t))throw new dt("starting and ending row to be nonnegative.");if(t<r)throw new dt("starting row to be smaller than the ending row.");if(!this.sheetMapping.hasSheetWithId(e))throw new ot(e)}}ensureItIsPossibleToAddColumns(e,...t){if(!this.sheetMapping.hasSheetWithId(e))throw new ot(e);if(this.dependencyGraph.getSheetWidth(e)+t.map((e=>e[1])).reduce(((e,t)=>e+t),0)>this.maxColumns)throw new ht;for(const[e,r]of t)if(!ii(e)||!si(r))throw new dt("column number to be nonnegative and number of columns to add to be positive.")}ensureItIsPossibleToRemoveColumns(e,...t){for(const[r,n]of t){const t=r+n-1;if(!ii(r)||!ii(t))throw new dt("starting and ending column to be nonnegative.");if(t<r)throw new dt("starting column to be smaller than the ending column.");if(!this.sheetMapping.hasSheetWithId(e))throw new ot(e)}}ensureItIsPossibleToMoveRows(e,t,r,n){this.ensureItIsPossibleToAddRows(e,[n,r]);const s=_r(e,0,t),i=_r(e,0,n);if(!this.sheetMapping.hasSheetWithId(e)||br(s)||br(i)||!si(r)||n<=t+r&&n>=t)throw new dt("a valid range of rows to move.");const o=this.dependencyGraph.getSheetWidth(e),a=kr.spanFrom(s,o,r);if(this.dependencyGraph.arrayMapping.isFormulaArrayInRange(a))throw new Lt;if(n>0&&this.dependencyGraph.arrayMapping.isFormulaArrayInAllRows(rt.fromNumberOfRows(e,n-1,2)))throw new Dt}ensureItIsPossibleToMoveColumns(e,t,r,n){this.ensureItIsPossibleToAddColumns(e,[n,r]);const s=_r(e,t,0),i=_r(e,n,0);if(!this.sheetMapping.hasSheetWithId(e)||br(s)||br(i)||!si(r)||n<=t+r&&n>=t)throw new dt("a valid range of columns to move.");const o=this.dependencyGraph.getSheetHeight(e),a=kr.spanFrom(s,r,o);if(this.dependencyGraph.arrayMapping.isFormulaArrayInRange(a))throw new Lt;if(n>0&&this.dependencyGraph.arrayMapping.isFormulaArrayInAllColumns(nt.fromNumberOfColumns(e,n-1,2)))throw new Dt}ensureItIsPossibleToAddSheet(e){if(this.sheetMapping.hasSheetWithName(e))throw new lt(e)}ensureItIsPossibleToRenameSheet(e,t){if(!this.sheetMapping.hasSheetWithId(e))throw new ot(e);const r=this.sheetMapping.get(t);if(void 0!==r&&r!==e)throw new lt(t)}ensureItIsPossibleToChangeContent(e){if(br(e))throw new ct(e);if(!this.sheetMapping.hasSheetWithId(e.sheet))throw new ot(e.sheet)}ensureItIsPossibleToChangeCellContents(e,t){const r=Ms(t),n=kr.spanFrom(e,r.width,r.height);this.ensureRangeInSizeLimits(n);for(const e of n.addresses(this.dependencyGraph))this.ensureItIsPossibleToChangeContent(e)}ensureItIsPossibleToChangeSheetContents(e,t){const r=Ms(t),n=kr.spanFrom(_r(e,0,0),r.width,r.height);this.ensureRangeInSizeLimits(n)}ensureRangeInSizeLimits(e){if(e.exceedsSheetSizeLimits(this.maxColumns,this.maxRows))throw new ht}isThereSomethingToUndo(){return!this.undoRedo.isUndoStackEmpty()}isThereSomethingToRedo(){return!this.undoRedo.isRedoStackEmpty()}getAndClearContentChanges(){return this.operations.getAndClearContentChanges()}ensureScopeIdIsValid(e){if(void 0!==e&&!this.sheetMapping.hasSheetWithId(e))throw new ot(e)}validateRowOrColumnMapping(e,t,r){const n="row"===r?this.dependencyGraph.getSheetHeight(e):this.dependencyGraph.getSheetWidth(e),s=t.map((([e,t])=>e)).sort(((e,t)=>e-t)),i=t.map((([e,t])=>t)).sort(((e,t)=>e-t));for(let e=0;e<s.length;e++){if(!ii(s[e])||s[e]>=n)throw new dt(`${r} numbers to be nonnegative integers and less than sheet ${"row"===r?"height":"width"}.`);if(s[e]===s[e+1])throw new dt(`source ${r} numbers to be unique.`);if(s[e]!==i[e])throw new dt(`target ${r} numbers to be permutation of source ${r} numbers.`)}}ensureNamedExpressionNameIsValid(e,t){if(!this.namedExpressions.isNameValid(e))throw new ft(e);if(!this.namedExpressions.isNameAvailable(e,t))throw new gt(e)}ensureNamedExpressionIsValid(e){const t=this.cellContentParser.parse(e);if(t instanceof is.Formula){const e=this.parser.parse(t.formula,_r(-1,0,0));if(fs(e.ast))throw new kt}}}function si(e){return Number.isInteger(e)&&e>0}function ii(e){return Number.isInteger(e)&&e>=0}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class oi{constructor(e,t,r,n,s,i){this.config=e,this.stats=t,this.interpreter=r,this.lazilyTransformingAstService=n,this.dependencyGraph=s,this.columnSearch=i}run(){this.stats.start(Ze.TOP_SORT);const{sorted:e,cycled:t}=this.dependencyGraph.topSortWithScc();this.stats.end(Ze.TOP_SORT),this.stats.measure(Ze.EVALUATION,(()=>{this.recomputeFormulas(t,e)}))}partialRun(e){const t=tt.empty();return this.stats.measure(Ze.EVALUATION,(()=>{this.dependencyGraph.graph.getTopSortedWithSccSubgraphFrom(e,(e=>{if(e instanceof Yt){const r=e.isComputed()?e.getCellValue():void 0,n=this.recomputeFormulaVertexValue(e);if(n!==r){const s=e.getAddress(this.lazilyTransformingAstService);return t.addChange(n,s),this.columnSearch.change(We(r),We(n),s),!0}return!1}return!(e instanceof zt)||(e.clearCache(),!0)}),(e=>{if(e instanceof zt)e.clearCache();else if(e instanceof Yt){const r=e.getAddress(this.lazilyTransformingAstService);this.columnSearch.remove(We(e.valueOrUndef()),r);const n=new Rr(nr.CYCLE,void 0,e);e.setCellValue(n),t.addChange(n,r)}}))})),t}runAndForget(e,t,r){const n=[];for(const e of Ve(r,t))if(e instanceof kr){const t=e;if(void 0===this.dependencyGraph.getRange(t.start,t.end)){const e=new zt(t);this.dependencyGraph.rangeMapping.setRange(e),n.push(e)}}const s=this.evaluateAstToCellValue(e,new Ur(t,this.config.useArrayArithmetic));return n.forEach((e=>{this.dependencyGraph.rangeMapping.removeRange(e)})),s}recomputeFormulas(e,t){e.forEach((e=>{e instanceof Yt&&e.setCellValue(new Rr(nr.CYCLE,void 0,e))})),t.forEach((e=>{if(e instanceof Yt){const t=this.recomputeFormulaVertexValue(e),r=e.getAddress(this.lazilyTransformingAstService);this.columnSearch.add(We(t),r)}else e instanceof zt&&e.clearCache()}))}recomputeFormulaVertexValue(e){const t=e.getAddress(this.lazilyTransformingAstService);if(e instanceof Gt&&(e.array.size.isRef||!this.dependencyGraph.isThereSpaceForArray(e)))return e.setNoSpace();{const r=e.getFormula(this.lazilyTransformingAstService),n=this.evaluateAstToCellValue(r,new Ur(t,this.config.useArrayArithmetic,e));return e.setCellValue(n)}}evaluateAstToCellValue(e,t){const r=this.interpreter.evaluateAst(e,t);return r instanceof et?r:r===Be&&this.config.evaluateNullToZero?0:r}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class ai{constructor(e,t){this.address=e,this.newValue=t}get col(){return this.address.col}get row(){return this.address.row}get sheet(){return this.address.sheet}get value(){return this.newValue}}class li{constructor(e,t){this.name=e,this.newValue=t}}class hi{constructor(e,t,r,n){this.config=e,this.namedExpressions=t,this.sheetIndexMapping=r,this.lazilyTransformingService=n}exportChange(e){const t=e.value,r=e.address;if(r.sheet===gs.SHEET_FOR_WORKBOOK_EXPRESSIONS){const e=this.namedExpressions.namedExpressionInAddress(r.row);if(!e)throw new Error("Missing named expression");return new li(e.displayName,this.exportScalarOrRange(t))}if(t instanceof et){const e=[];for(const[n,s]of t.entriesFromTopLeftCorner(r))e.push(new ai(s,this.exportValue(n)));return e}return new ai(r,this.exportValue(t))}exportValue(e){return e instanceof et?this.detailedError(new Rr(nr.VALUE,q.ScalarExpected)):this.config.smartRounding&&qe(e)?this.cellValueRounding(We(e)):e instanceof Rr?this.detailedError(e):e===Be?null:We(e)}exportScalarOrRange(e){return e instanceof et?e.rawData().map((e=>e.map((e=>this.exportValue(e))))):this.exportValue(e)}detailedError(e){var t,r;let n;const s=null===(t=e.root)||void 0===t?void 0:t.getAddress(this.lazilyTransformingService);return void 0!==s&&(n=s.sheet===gs.SHEET_FOR_WORKBOOK_EXPRESSIONS?null===(r=this.namedExpressions.namedExpressionInAddress(s.row))||void 0===r?void 0:r.displayName:O(this.sheetIndexMapping,s,-1)),new cn(e,this.config.translationPackage.getErrorTranslation(e.type),n)}cellValueRounding(e){if(0===e)return e;const t=Math.floor(Math.log10(Math.abs(e))),r=Math.pow(10,this.config.precisionRounding-t);return e<0?-Math.round(-e*r)/r:Math.round(e*r)/r}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class ui{constructor(e,t,r,n,s,i){this.dependencyGraph=e,this.columnSearch=t,this.parser=r,this.cellContentParser=n,this.stats=s,this.arraySizePredictor=i,this.buildStrategy=new ci(e,t,r,s,n,i)}buildGraph(e,t){const r=t.measure(Ze.COLLECT_DEPENDENCIES,(()=>this.buildStrategy.run(e)));this.dependencyGraph.getAndClearContentChanges(),t.measure(Ze.PROCESS_DEPENDENCIES,(()=>this.processDependencies(r)))}processDependencies(e){e.forEach(((e,t)=>{this.dependencyGraph.processCellDependencies(e,t)}))}}class ci{constructor(e,t,r,n,s,i){this.dependencyGraph=e,this.columnIndex=t,this.parser=r,this.stats=n,this.cellContentParser=s,this.arraySizePredictor=i}run(e){const t=new Map;for(const r in e){const n=this.dependencyGraph.getSheetId(r),s=e[r];for(let e=0;e<s.length;++e){const r=s[e];for(let s=0;s<r.length;++s){const i=r[s],o=_r(n,s,e),a=this.cellContentParser.parse(i);if(a instanceof is.Formula){const e=this.stats.measure(Ze.PARSER,(()=>this.parser.parse(a.formula,o)));if(e.errors.length>0){this.shrinkArrayIfNeeded(o);const t=new cr(e.errors,a.formula);this.dependencyGraph.addVertex(o,t)}else{this.shrinkArrayIfNeeded(o);const r=this.arraySizePredictor.checkArraySize(e.ast,o);if(r.isScalar()){const r=new jt(e.ast,o,0);t.set(r,Ve(e.dependencies,o)),this.dependencyGraph.addVertex(o,r),e.hasVolatileFunction&&this.dependencyGraph.markAsVolatile(r),e.hasStructuralChangeFunction&&this.dependencyGraph.markAsDependentOnStructureChange(r)}else{const n=new Gt(e.ast,o,new hn(r.width,r.height));t.set(n,Ve(e.dependencies,o)),this.dependencyGraph.addArrayVertex(o,n)}}}else if(a instanceof is.Empty);else{this.shrinkArrayIfNeeded(o);const e=new ur(a.value,i);this.columnIndex.add(We(a.value),o),this.dependencyGraph.addVertex(o,e)}}}}return t}shrinkArrayIfNeeded(e){const t=this.dependencyGraph.getCell(e);t instanceof Gt&&this.dependencyGraph.shrinkArrayToCorner(t)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const di=new Map([["gpl-v3",1],["missing",2],["invalid",3],["expired",4]]);class pi extends ln{version(e,t){return this.runFunction(e.args,t,this.metadata("VERSION"),(()=>{const{licenseKeyValidityState:e,licenseKey:t}=this.config;let r;return di.has(t)?r=di.get(t):di.has(e)?r=di.get(e):"valid"===e&&(r=t.slice(-5)),`HyperFormula v${Vi.version}, ${r}`}))}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
function gi(e,t){var r;let n=t.implementedFunctions[e];const s=null===(r=t.aliases)||void 0===r?void 0:r[e];if(void 0!==s){if(void 0!==n)throw new Ht(e,t.name);n=t.implementedFunctions[s]}if(void 0===n)throw xt.functionNotDeclaredInPlugin(e,t.name);return n}pi.implementedFunctions={VERSION:{method:"version",parameters:[]}};class fi{constructor(e){if(this.config=e,this.functions=new Map,this.arraySizeFunctions=new Map,this.volatileFunctions=new Set,this.arrayFunctions=new Set,this.structuralChangeFunctions=new Set,this.functionsWhichDoesNotNeedArgumentsToBeComputed=new Set,this.functionsMetadata=new Map,this.doesFunctionNeedArgumentToBeComputed=e=>this.functionsWhichDoesNotNeedArgumentsToBeComputed.has(e),this.isFunctionVolatile=e=>this.volatileFunctions.has(e),this.isArrayFunction=e=>this.arrayFunctions.has(e),this.isFunctionDependentOnSheetStructureChange=e=>this.structuralChangeFunctions.has(e),e.functionPlugins.length>0){this.instancePlugins=new Map;for(const t of e.functionPlugins)fi.loadPluginFunctions(t,this.instancePlugins)}else this.instancePlugins=new Map(fi.plugins);for(const[e,t]of fi.protectedFunctions())fi.loadFunctionUnprotected(t,e,this.instancePlugins);for(const[e,t]of this.instancePlugins.entries())this.categorizeFunction(e,gi(e,t))}static registerFunctionPlugin(e,t){this.loadPluginFunctions(e,this.plugins),void 0!==t&&this.loadTranslations(t)}static registerFunction(e,t,r){this.loadPluginFunction(t,e,this.plugins),void 0!==r&&this.loadTranslations(r)}static unregisterFunction(e){if(this.functionIsProtected(e))throw Pt.cannotUnregisterFunctionWithId(e);this.plugins.delete(e)}static unregisterFunctionPlugin(e){for(const t of this.protectedPlugins())if(t===e)throw Pt.cannotUnregisterProtectedPlugin();for(const[t,r]of this.plugins.entries())r===e&&this.plugins.delete(t)}static unregisterAll(){this.plugins.clear()}static getRegisteredFunctionIds(){return[...Array.from(this.plugins.keys()),...Array.from(this._protectedPlugins.keys())]}static getPlugins(){return Array.from(new Set(this.plugins.values()).values())}static getFunctionPlugin(e){return this.functionIsProtected(e)?void 0:this.plugins.get(e)}static functionIsProtected(e){return this._protectedPlugins.has(e)}static loadTranslations(e){const t=new Set(Vi.getRegisteredLanguagesCodes());Object.keys(e).forEach((r=>{t.has(r)&&Vi.getLanguage(r).extendFunctions(e[r])}))}static loadPluginFunctions(e,t){Object.keys(e.implementedFunctions).forEach((r=>{this.loadPluginFunction(e,r,t)})),void 0!==e.aliases&&Object.keys(e.aliases).forEach((r=>{this.loadPluginFunction(e,r,t)}))}static loadPluginFunction(e,t,r){if(this.functionIsProtected(t))throw Pt.cannotRegisterFunctionWithId(t);this.loadFunctionUnprotected(e,t,r)}static loadFunctionUnprotected(e,t,r){const n=gi(t,e).method;if(!Object.prototype.hasOwnProperty.call(e.prototype,n))throw xt.functionMethodNotFound(n,e.name);r.set(t,e)}static*protectedFunctions(){for(const[e,t]of this._protectedPlugins)void 0!==t&&(yield[e,t])}static*protectedPlugins(){for(const[,e]of this._protectedPlugins)void 0!==e&&(yield e)}initializePlugins(e){const t=[];for(const[r,n]of this.instancePlugins.entries()){let s=t.find((e=>e instanceof n));void 0===s&&(s=new n(e),t.push(s));const i=gi(r,n),o=i.method;this.functions.set(r,[o,s]);const a=i.arraySizeMethod;void 0!==a&&this.arraySizeFunctions.set(r,[a,s])}}getFunctionPlugin(e){if(!fi.functionIsProtected(e))return this.instancePlugins.get(e)}getFunction(e){const t=this.functions.get(e);if(void 0!==t&&this.config.translationPackage.isFunctionTranslated(e)){const[e,r]=t;return(t,n)=>r[e](t,n)}}getArraySizeFunction(e){const t=this.arraySizeFunctions.get(e);if(void 0!==t&&this.config.translationPackage.isFunctionTranslated(e)){const[e,r]=t;return(t,n)=>r[e](t,n)}}getMetadata(e){return this.functionsMetadata.get(e)}getPlugins(){const e=new Set;for(const[t,r]of this.instancePlugins)fi.functionIsProtected(t)||e.add(r);return Array.from(e)}getRegisteredFunctionIds(){return Array.from(this.functions.keys())}categorizeFunction(e,t){t.isVolatile&&this.volatileFunctions.add(e),t.arrayFunction&&this.arrayFunctions.add(e),t.doesNotNeedArgumentsToBeComputed&&this.functionsWhichDoesNotNeedArgumentsToBeComputed.add(e),t.isDependentOnSheetStructureChange&&this.structuralChangeFunctions.add(e),this.functionsMetadata.set(e,t)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
var mi;fi.plugins=new Map,fi._protectedPlugins=new Map([["VERSION",pi],["OFFSET",void 0]]),function(e){e.GREATER_THAN="GREATER_THAN",e.GREATER_THAN_OR_EQUAL="GREATER_THAN_OR_EQUAL",e.LESS_THAN="LESS_THAN",e.LESS_THAN_OR_EQUAL="LESS_THAN_OR_EQUAL",e.NOT_EQUAL="NOT_EQUAL",e.EQUAL="EQUAL"}(mi||(mi={}));const yi=(e,t)=>({operator:e,value:t});class Ei{constructor(e){var t,r,n,s;this.trueString=null!==(r=null===(t=e.translationPackage.getMaybeFunctionTranslation("TRUE"))||void 0===t?void 0:t.toLowerCase())&&void 0!==r?r:"true",this.falseString=null!==(s=null===(n=e.translationPackage.getMaybeFunctionTranslation("FALSE"))||void 0===n?void 0:n.toLowerCase())&&void 0!==s?s:"false"}fromCellValue(e,t){if("string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e)return;const r=this.parseCriterion(e,t);return void 0!==r?{raw:e,lambda:Ci(r,t)}:void 0}parseCriterion(e,t){if("number"==typeof e||"boolean"==typeof e)return yi(mi.EQUAL,e);if("string"==typeof e){const r=wi.exec(e);let n,s;r?(s=function(e){switch(e){case">":return mi.GREATER_THAN;case">=":return mi.GREATER_THAN_OR_EQUAL;case"<":return mi.LESS_THAN;case"<=":return mi.LESS_THAN_OR_EQUAL;case"<>":return mi.NOT_EQUAL;case"=":return mi.EQUAL;default:return}}(r[1]),n=r[2]):(s=mi.EQUAL,n=e);const i=t.coerceToMaybeNumber(n),o=n.toLowerCase()===this.trueString||n.toLowerCase()!==this.falseString&&void 0;if(void 0===s)return;if(""===n)return yi(s,null);if(void 0!==i)return yi(s,We(i));if(s===mi.EQUAL||s===mi.NOT_EQUAL)return yi(s,null!=o?o:n)}}}const wi=/([<>=]+)(.*)/;const Ci=(e,t)=>{switch(e.operator){case mi.GREATER_THAN:return"number"==typeof e.value?r=>"number"==typeof r&&t.floatCmp(r,e.value)>0:e=>!1;case mi.GREATER_THAN_OR_EQUAL:return"number"==typeof e.value?r=>"number"==typeof r&&t.floatCmp(r,e.value)>=0:e=>!1;case mi.LESS_THAN:return"number"==typeof e.value?r=>"number"==typeof r&&t.floatCmp(r,e.value)<0:e=>!1;case mi.LESS_THAN_OR_EQUAL:return"number"==typeof e.value?r=>"number"==typeof r&&t.floatCmp(r,e.value)<=0:e=>!1;case mi.EQUAL:return"number"==typeof e.value?r=>{if("number"==typeof r)return 0===t.floatCmp(r,e.value);if("string"==typeof r){if(""===r)return!1;const n=t.coerceToMaybeNumber(r);return void 0!==n&&0===t.floatCmp(n,e.value)}return!1}:"string"==typeof e.value?t.eqMatcherFunction(e.value):"boolean"==typeof e.value?t=>"boolean"==typeof t&&t===e.value:e=>e===Be;case mi.NOT_EQUAL:return"number"==typeof e.value?r=>{if("number"==typeof r)return 0!==t.floatCmp(r,e.value);if("string"==typeof r){if(""===r)return!0;const n=t.coerceToMaybeNumber(r);return void 0===n||0!==t.floatCmp(n,e.value)}return!0}:"string"==typeof e.value?t.neqMatcherFunction(e.value):"boolean"==typeof e.value?t=>"boolean"!=typeof t||t!==e.value:e=>e!==Be}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class vi{constructor(e,t,r,n,s,i,o,a,l,h){this.config=e,this.dependencyGraph=t,this.columnSearch=r,this.stats=n,this.arithmeticHelper=s,this.functionRegistry=i,this.namedExpressions=o,this.serialization=a,this.arraySizePredictor=l,this.dateTimeHelper=h,this.equalOp=(e,t)=>Si(this.arithmeticHelper.eq,e,t),this.notEqualOp=(e,t)=>Si(this.arithmeticHelper.neq,e,t),this.greaterThanOp=(e,t)=>Si(this.arithmeticHelper.gt,e,t),this.lessThanOp=(e,t)=>Si(this.arithmeticHelper.lt,e,t),this.greaterThanOrEqualOp=(e,t)=>Si(this.arithmeticHelper.geq,e,t),this.lessThanOrEqualOp=(e,t)=>Si(this.arithmeticHelper.leq,e,t),this.concatOp=(e,t)=>Si(this.arithmeticHelper.concat,$r(e),$r(t)),this.plusOp=(e,t)=>Si(this.arithmeticHelper.addWithEpsilon,this.arithmeticHelper.coerceScalarToNumberOrError(e),this.arithmeticHelper.coerceScalarToNumberOrError(t)),this.minusOp=(e,t)=>Si(this.arithmeticHelper.subtract,this.arithmeticHelper.coerceScalarToNumberOrError(e),this.arithmeticHelper.coerceScalarToNumberOrError(t)),this.timesOp=(e,t)=>Si(this.arithmeticHelper.multiply,this.arithmeticHelper.coerceScalarToNumberOrError(e),this.arithmeticHelper.coerceScalarToNumberOrError(t)),this.powerOp=(e,t)=>Si(this.arithmeticHelper.pow,this.arithmeticHelper.coerceScalarToNumberOrError(e),this.arithmeticHelper.coerceScalarToNumberOrError(t)),this.divOp=(e,t)=>Si(this.arithmeticHelper.divide,this.arithmeticHelper.coerceScalarToNumberOrError(e),this.arithmeticHelper.coerceScalarToNumberOrError(t)),this.unaryMinusOp=e=>Ri(this.arithmeticHelper.unaryMinus,this.arithmeticHelper.coerceScalarToNumberOrError(e)),this.percentOp=e=>Ri(this.arithmeticHelper.unaryPercent,this.arithmeticHelper.coerceScalarToNumberOrError(e)),this.unaryPlusOp=e=>this.arithmeticHelper.unaryPlus(e),this.functionRegistry.initializePlugins(this),this.criterionBuilder=new Ei(e)}evaluateAst(e,t){let r=this.evaluateAstWithoutPostprocessing(e,t);if(qe(r)){if(qr(We(r)))return new Rr(nr.NUM,q.NaN);r=Ge(r,Qr(We(r)))}return r instanceof et&&1===r.height()&&1===r.width()&&([[r]]=r.data),function(e,t){if(e instanceof Rr&&void 0!==t)return e.attachRootVertex(t);return e}(r,t.formulaVertex)}evaluateAstWithoutPostprocessing(e,t){switch(e.type){case H.EMPTY:return Be;case H.CELL_REFERENCE:{const r=e.reference.toSimpleCellAddress(t.formulaAddress);return br(r)?new Rr(nr.REF,q.BadRef):this.dependencyGraph.getCellValue(r)}case H.NUMBER:case H.STRING:return e.value;case H.CONCATENATE_OP:{const r=this.evaluateAst(e.left,t),n=this.evaluateAst(e.right,t);return this.binaryRangeWrapper(this.concatOp,r,n,t)}case H.EQUALS_OP:{const r=this.evaluateAst(e.left,t),n=this.evaluateAst(e.right,t);return this.binaryRangeWrapper(this.equalOp,r,n,t)}case H.NOT_EQUAL_OP:{const r=this.evaluateAst(e.left,t),n=this.evaluateAst(e.right,t);return this.binaryRangeWrapper(this.notEqualOp,r,n,t)}case H.GREATER_THAN_OP:{const r=this.evaluateAst(e.left,t),n=this.evaluateAst(e.right,t);return this.binaryRangeWrapper(this.greaterThanOp,r,n,t)}case H.LESS_THAN_OP:{const r=this.evaluateAst(e.left,t),n=this.evaluateAst(e.right,t);return this.binaryRangeWrapper(this.lessThanOp,r,n,t)}case H.GREATER_THAN_OR_EQUAL_OP:{const r=this.evaluateAst(e.left,t),n=this.evaluateAst(e.right,t);return this.binaryRangeWrapper(this.greaterThanOrEqualOp,r,n,t)}case H.LESS_THAN_OR_EQUAL_OP:{const r=this.evaluateAst(e.left,t),n=this.evaluateAst(e.right,t);return this.binaryRangeWrapper(this.lessThanOrEqualOp,r,n,t)}case H.PLUS_OP:{const r=this.evaluateAst(e.left,t),n=this.evaluateAst(e.right,t);return this.binaryRangeWrapper(this.plusOp,r,n,t)}case H.MINUS_OP:{const r=this.evaluateAst(e.left,t),n=this.evaluateAst(e.right,t);return this.binaryRangeWrapper(this.minusOp,r,n,t)}case H.TIMES_OP:{const r=this.evaluateAst(e.left,t),n=this.evaluateAst(e.right,t);return this.binaryRangeWrapper(this.timesOp,r,n,t)}case H.POWER_OP:{const r=this.evaluateAst(e.left,t),n=this.evaluateAst(e.right,t);return this.binaryRangeWrapper(this.powerOp,r,n,t)}case H.DIV_OP:{const r=this.evaluateAst(e.left,t),n=this.evaluateAst(e.right,t);return this.binaryRangeWrapper(this.divOp,r,n,t)}case H.PLUS_UNARY_OP:{const r=this.evaluateAst(e.value,t);return this.unaryRangeWrapper(this.unaryPlusOp,r,t)}case H.MINUS_UNARY_OP:{const r=this.evaluateAst(e.value,t);return this.unaryRangeWrapper(this.unaryMinusOp,r,t)}case H.PERCENT_OP:{const r=this.evaluateAst(e.value,t);return this.unaryRangeWrapper(this.percentOp,r,t)}case H.FUNCTION_CALL:{if("valid"!==this.config.licenseKeyValidityState&&!fi.functionIsProtected(e.procedureName))return new Rr(nr.LIC,q.LicenseKey(this.config.licenseKeyValidityState));const r=this.functionRegistry.getFunction(e.procedureName);return void 0!==r?r(e,new Ur(t.formulaAddress,t.arraysFlag||this.functionRegistry.isArrayFunction(e.procedureName),t.formulaVertex)):new Rr(nr.NAME,q.FunctionName(e.procedureName))}case H.NAMED_EXPRESSION:{const r=this.namedExpressions.nearestNamedExpression(e.expressionName,t.formulaAddress.sheet);return r?this.dependencyGraph.getCellValue(r.address):new Rr(nr.NAME,q.NamedExpressionName(e.expressionName))}case H.CELL_RANGE:{if(!this.rangeSpansOneSheet(e))return new Rr(nr.REF,q.RangeManySheets);const r=kr.fromCellRange(e,t.formulaAddress),n=this.dependencyGraph.getArray(r);if(n){const e=n.array;if(e instanceof Vt)throw new Error("Array should be already computed");if(e instanceof Rr)return e;if(e instanceof Bt)return et.fromRange(e.raw(),r,this.dependencyGraph);throw new Error("Unknown array")}return et.onlyRange(r,this.dependencyGraph)}case H.COLUMN_RANGE:{if(!this.rangeSpansOneSheet(e))return new Rr(nr.REF,q.RangeManySheets);const r=Hr.fromColumnRange(e,t.formulaAddress);return et.onlyRange(r,this.dependencyGraph)}case H.ROW_RANGE:{if(!this.rangeSpansOneSheet(e))return new Rr(nr.REF,q.RangeManySheets);const r=Fr.fromRowRangeAst(e,t.formulaAddress);return et.onlyRange(r,this.dependencyGraph)}case H.PARENTHESIS:return this.evaluateAst(e.expression,t);case H.ARRAY:{let r;const n=[];for(const s of e.args){let e;const i=[];for(const r of s){const n=Yr(this.evaluateAst(r,t)),s=n.height();if(void 0===e)e=s,i.push(...n.data);else{if(e!==s)return new Rr(nr.REF,q.SizeMismatch);for(let e=0;e<s;e++)i[e].push(...n.data[e])}}const o=i[0].length;if(void 0===r)r=o,n.push(...i);else{if(r!==o)return new Rr(nr.REF,q.SizeMismatch);n.push(...i)}}return et.onlyValues(n)}case H.ERROR_WITH_RAW_INPUT:case H.ERROR:return e.error}}rangeSpansOneSheet(e){return e.start.sheet===e.end.sheet}unaryRangeWrapper(e,t,r){var n;if(t instanceof et&&!r.arraysFlag&&(t=null!==(n=sn(t,r))&&void 0!==n?n:new Rr(nr.VALUE,q.ScalarExpected)),t instanceof Rr)return t;if(t instanceof et){const r=t.data.map((t=>t.map(e)));return et.onlyValues(r)}return e(t)}binaryRangeWrapper(e,t,r,n){var s,i;if(t instanceof et&&!n.arraysFlag&&(t=null!==(s=sn(t,n))&&void 0!==s?s:new Rr(nr.VALUE,q.ScalarExpected)),t instanceof Rr)return t;if(r instanceof et&&!n.arraysFlag&&(r=null!==(i=sn(r,n))&&void 0!==i?i:new Rr(nr.VALUE,q.ScalarExpected)),r instanceof Rr)return r;if(t instanceof et||r instanceof et){if(!(t instanceof et)){if(r.isAdHoc()){const n=r.data;for(let r=0;r<n.length;r++)for(let s=0;s<n[0].length;s++)n[r][s]=e(t,n[r][s]);return et.onlyValues(n)}t=et.fromScalar(t)}if(!(r instanceof et)){if(t.isAdHoc()){const n=t.data;for(let t=0;t<n.length;t++)for(let s=0;s<n[0].length;s++)n[t][s]=e(n[t][s],r);return et.onlyValues(n)}r=et.fromScalar(r)}if(t.width()===r.width()&&t.height()===r.height()){if(t.isAdHoc()){const n=t.data,s=r.data;for(let t=0;t<n.length;t++)for(let r=0;r<n[0].length;r++)n[t][r]=e(n[t][r],s[t][r]);return et.onlyValues(n)}if(r.isAdHoc()){const n=t.data,s=r.data;for(let t=0;t<n.length;t++)for(let r=0;r<n[0].length;r++)s[t][r]=e(n[t][r],s[t][r]);return et.onlyValues(s)}}const n=Math.max(t.width(),r.width()),s=Math.max(t.height(),r.height()),i=Array(s);for(let e=0;e<s;e++)i[e]=Array(n);for(let o=0;o<s;o++){const s=1!==t.height()?o:0,a=1!==r.height()?o:0;for(let l=0;l<n;l++){const n=1!==t.width()?l:0,h=1!==r.width()?l:0;s<t.height()&&a<r.height()&&n<t.width()&&h<r.width()?i[o][l]=e(t.data[s][n],r.data[a][h]):i[o][l]=new Rr(nr.NA)}}return et.onlyValues(i)}return e(t,r)}}function Ri(e,t){return t instanceof Rr?t:e(t)}function Si(e,t,r){return t instanceof Rr?t:r instanceof Rr?r:e(t,r)}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ti{constructor(e){this.sheet=e,this.transformations=[]}add(e){this.transformations.push(e)}performEagerTransformations(e,t){this.transformations.forEach((r=>r.performEagerTransformations(e,t)))}transformSingleAst(e,t){let[r,n]=[e,t];return this.transformations.forEach((e=>{[r,n]=e.transformSingleAst(r,n)})),[r,n]}isIrreversible(){return!0}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ni{constructor(e){this.stats=e,this.transformations=[]}version(){return this.transformations.length}addTransformation(e){return void 0!==this.combinedTransformer?this.combinedTransformer.add(e):this.transformations.push(e),this.version()}beginCombinedMode(e){this.combinedTransformer=new Ti(e)}commitCombinedMode(){if(void 0===this.combinedTransformer)throw Error("Combined mode wasn't started");return this.transformations.push(this.combinedTransformer),this.combinedTransformer=void 0,this.version()}applyTransformations(e,t,r){this.stats.start(Ze.TRANSFORM_ASTS_POSTPONED);for(let n=r;n<this.transformations.length;n++){const r=this.transformations[n];r.isIrreversible()&&(this.undoRedo.storeDataForVersion(n,t,this.parser.computeHashFromAst(e)),this.parser.rememberNewAst(e));const[s,i]=r.transformSingleAst(e,t);e=s,t=i}const n=this.parser.rememberNewAst(e);return this.stats.end(Ze.TRANSFORM_ASTS_POSTPONED),[n,t,this.transformations.length]}*getTransformationsFrom(e,t){for(let r=e;r<this.transformations.length;r++){const e=this.transformations[r];t&&!t(e)||(yield e)}}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const Mi=-1;function _i(e,t,r){let n=t,s=r;for(;n<s;){const t=Math.ceil((n+s)/2);e(t)?n=t:s=t-1}return n===s&&e(n)?n:Mi}function bi(e,t){return typeof e==typeof t?e===Be?0:e<t?-1:e>t?1:0:e===Be?-1:t===Be?1:t instanceof Rr||"number"==typeof e&&"string"==typeof t||"number"==typeof e&&"boolean"==typeof t?-1:"string"==typeof e&&"number"==typeof t?1:"string"==typeof e&&"boolean"==typeof t?-1:1}class Oi{constructor(e){this.dependencyGraph=e}advancedFind(e,t,{returnOccurrence:r}={returnOccurrence:"first"}){const n=t.range,s=void 0===n?t.valuesFromTopLeftCorner():this.dependencyGraph.computeListOfValuesInRange(n),i="first"===r?e=>e<s.length:e=>e>=0,o="first"===r?e=>e+1:e=>e-1;for(let t="first"===r?0:s.length-1;i(t);t=o(t))if(e(We(s[t])))return t;return-1}basicFind(e,t,r,{ordering:n,ifNoMatch:s,returnOccurrence:i}){const o="string"==typeof e?nn(e):e,a=t.range;return void 0===a?this.findNormalizedValue(o,t.valuesFromTopLeftCorner(),s,i):"none"===n?this.findNormalizedValue(o,this.dependencyGraph.computeListOfValuesInRange(a),s,i):function(e,t,{searchCoordinate:r,orderingDirection:n,ifNoMatch:s},i){const o=t.start[r],a="col"===r?t.effectiveEndColumn(i):t.effectiveEndRow(i),l="col"===r?e=>We(i.getCellValue(_r(t.sheet,e,t.start.row))):e=>We(i.getCellValue(_r(t.sheet,t.start.col,e))),h="asc"===n?(e,t)=>bi(e,t):(e,t)=>-bi(e,t),u=_i((t=>h(e,l(t))>=0),o,a),c=l(u);if(c===e)return u-o;if("returnLowerBound"===s){if(u===Mi)return"asc"===n?Mi:0;if(typeof c!=typeof e)return Mi;if("asc"===n)return u-o;const t=u+1;return t<=a?t-o:Mi}if("returnUpperBound"===s){if(u===Mi)return"asc"===n?0:Mi;if(typeof c!=typeof e)return Mi;if("desc"===n)return u-o;const t=u+1;return t<=a?t-o:Mi}return Mi}(o,a,{searchCoordinate:r,orderingDirection:n,ifNoMatch:s},this.dependencyGraph)}findNormalizedValue(e,t,r="returnNotFound",n="first"){const s=t.map(We).map((e=>"string"==typeof e?nn(e):e));if("returnNotFound"===r)return"first"===n?s.indexOf(e):s.lastIndexOf(e);const i="returnLowerBound"===r?(e,t)=>bi(e,t):(e,t)=>-bi(e,t);let o="returnLowerBound"===r?-1/0:1/0,a=-1;const l="first"===n?e=>e<s.length:e=>e>=0,h="first"===n?e=>e+1:e=>e-1;for(let t="first"===n?0:s.length-1;l(t);t=h(t)){const r=s[t];if(r===e)return t;i(r,e)>0||i(o,r)<0&&(o=r,a=t)}return a}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ai extends Oi{constructor(e){super(e),this.dependencyGraph=e}add(e,t){}remove(e,t){}change(e,t,r){}applyChanges(e){}addColumns(e){}removeColumns(e){}removeSheet(e){}moveValues(e,t,r,n){}removeValues(e){}find(e,t,r){return this.basicFind(e,t,"row",r)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ii{constructor(e,t,r){this.dependencyGraph=e,this.config=t,this.stats=r,this.index=new Map,this.transformingService=this.dependencyGraph.lazilyTransformingAstService,this.binarySearchStrategy=new Ai(e)}add(e,t){if(!(e===Be||e instanceof Rr))if(e instanceof et)for(const[r,n]of e.entriesFromTopLeftCorner(t))this.addSingleCellValue(We(r),n);else this.addSingleCellValue(e,t)}remove(e,t){if(void 0!==e)if(e instanceof et)for(const[r,n]of e.entriesFromTopLeftCorner(t))this.removeSingleValue(We(r),n);else this.removeSingleValue(e,t)}change(e,t,r){e!==t&&(this.remove(e,r),this.add(t,r))}applyChanges(e){for(const t of e)void 0!==t.oldValue&&this.change(We(t.oldValue),We(t.value),t.address)}moveValues(e,t,r,n){for(const[s,i]of e){const e=Or(i,n,t,r);this.remove(s,i),this.add(s,e)}}removeValues(e){for(const[t,r]of e)this.remove(t,r)}find(e,t,{ordering:r,ifNoMatch:n,returnOccurrence:s}){null==s&&(s="none"===r?"first":"last");const i=this.findUsingColumnIndex(e,t,s);return void 0!==i?i:this.binarySearchStrategy.find(e,t,{ordering:r,ifNoMatch:n,returnOccurrence:s})}findUsingColumnIndex(e,t,r){const n=t.range;if(void 0===n)return;this.ensureRecentData(n.sheet,n.start.col,e);const s=this.getColumnMap(n.sheet,n.start.col);if(!s)return-1;const i="string"==typeof e?nn(e):e,o=s.get(i);if(!o||!o.index||0===o.index.length)return;const a=Ii.findRowBelongingToRange(o,n,r);return void 0!==a?a-n.start.row:void 0}static findRowBelongingToRange(e,t,r){const n=t.start.row,s=t.end.row,i="first"===r?xi(n,e.index,"upperBound"):xi(s,e.index,"lowerBound");if(-1===i)return;const o=e.index[i];return o>=n&&o<=s?o:void 0}advancedFind(e,t,r={returnOccurrence:"first"}){return this.binarySearchStrategy.advancedFind(e,t,r)}addColumns(e){const t=this.index.get(e.sheet);t&&t.splice(e.columnStart,0,...Array(e.numberOfColumns))}removeColumns(e){const t=this.index.get(e.sheet);t&&t.splice(e.columnStart,e.numberOfColumns)}removeSheet(e){this.index.delete(e)}getColumnMap(e,t){this.index.has(e)||this.index.set(e,[]);const r=this.index.get(e);let n=r[t];return n||(n=new Map,r[t]=n),n}getValueIndex(e,t,r){const n=this.getColumnMap(e,t);let s=this.getColumnMap(e,t).get(r);return s||(s={version:this.transformingService.version(),index:[]},n.set(r,s)),s}ensureRecentData(e,t,r){const n=this.getValueIndex(e,t,r),s=this.transformingService.version();if(n.version===s)return;const i=this.transformingService.getTransformationsFrom(n.version,(t=>t.sheet===e&&(t instanceof Es||t instanceof Ss)));for(const e of i)e instanceof Es?this.addRows(t,e.rowsSpan,r):e instanceof Ss&&this.removeRows(t,e.rowsSpan,r);n.version=s}addSingleCellValue(e,t){this.stats.measure(Ze.BUILD_COLUMN_INDEX,(()=>{this.ensureRecentData(t.sheet,t.col,e),"string"==typeof e&&(e=nn(e));const r=this.getValueIndex(t.sheet,t.col,e);Ii.addValue(r,t.row)}))}removeSingleValue(e,t){this.stats.measure(Ze.BUILD_COLUMN_INDEX,(()=>{this.ensureRecentData(t.sheet,t.col,e);const r=this.getColumnMap(t.sheet,t.col);"string"==typeof e&&(e=nn(e));const n=r.get(e);if(!n)return;const s=xi(t.row,n.index);s>-1&&n.index.splice(s,1),0===n.index.length&&r.delete(e),0===r.size&&delete this.index.get(t.sheet)[t.col]}))}addRows(e,t,r){const n=this.getValueIndex(t.sheet,e,r);Ii.shiftRows(n,t.rowStart,t.numberOfRows)}removeRows(e,t,r){const n=this.getValueIndex(t.sheet,e,r);Ii.removeRowsFromValues(n,t),Ii.shiftRows(n,t.rowEnd+1,-t.numberOfRows)}static addValue(e,t){const r=xi(t,e.index,"lowerBound");e.index[r]===t||e.index.splice(r+1,0,t)}static removeRowsFromValues(e,t){const r=xi(t.rowStart,e.index,"upperBound"),n=xi(t.rowEnd,e.index,"lowerBound");r>-1&&n>-1&&r<=n&&e.index[r]<=t.rowEnd&&e.index.splice(r,n-r+1)}static shiftRows(e,t,r){const n=xi(t,e.index,"upperBound");if(-1!==n)for(let t=n;t<e.index.length;++t)e.index[t]+=r}}function xi(e,t,r="upperBound"){let n=0,s=t.length-1;for(;n<=s;){const r=Math.floor((n+s)/2);if(e>t[r])n=r+1;else{if(!(e<t[r]))return r;s=r-1}}const i="lowerBound"===r?s:n;return i>=0&&i<=t.length?i:-1}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Pi{constructor(e){this.config=e;const t="."===this.config.thousandSeparator?`\\${this.config.thousandSeparator}`:this.config.thousandSeparator,r="."===this.config.decimalSeparator?`\\${this.config.decimalSeparator}`:this.config.decimalSeparator;this.numberPattern=new RegExp(`^([+-]?((${r}\\d+)|(\\d+(${t}\\d{3,})*(${r}\\d*)?)))(e[+-]?\\d+)?$`),this.allThousandSeparatorsRegex=new RegExp(`${t}`,"g")}numericStringToMaybeNumber(e){if(this.numberPattern.test(e)){const t=this.numericStringToNumber(e);if(isNaN(t))return;return t}}numericStringToNumber(e){const t=e.replace(this.allThousandSeparatorsRegex,"").replace(this.config.decimalSeparator,".");return Number(t)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Li{constructor(e,t,r){this.dependencyGraph=e,this.unparser=t,this.exporter=r}getCellHyperlink(e){const t=this.dependencyGraph.getCell(e);if(t instanceof jt){const e=t.getFormula(this.dependencyGraph.lazilyTransformingAstService);if("HYPERLINK"===e.procedureName)return e.hyperlink}}getCellFormula(e,t){const r=this.dependencyGraph.getCell(e);if(r instanceof jt){const n=r.getFormula(this.dependencyGraph.lazilyTransformingAstService);return t=null!=t?t:e,this.unparser.unparse(n,t)}if(r instanceof Gt){const n=r.getAddress(this.dependencyGraph.lazilyTransformingAstService);if(n.row!==e.row||n.col!==e.col||n.sheet!==e.sheet)return;t=null!=t?t:e;const s=r.getFormula(this.dependencyGraph.lazilyTransformingAstService);if(void 0!==s)return this.unparser.unparse(s,t)}else if(r instanceof cr)return r.getFormula()}getCellSerialized(e,t){var r;return null!==(r=this.getCellFormula(e,t))&&void 0!==r?r:this.getRawValue(e)}getCellValue(e){return this.exporter.exportValue(this.dependencyGraph.getScalarValue(e))}getRawValue(e){return this.dependencyGraph.getRawValue(e)}getSheetValues(e){return this.genericSheetGetter(e,(e=>this.getCellValue(e)))}getSheetFormulas(e){return this.genericSheetGetter(e,(e=>this.getCellFormula(e)))}genericSheetGetter(e,t){const r=this.dependencyGraph.getSheetHeight(e),n=this.dependencyGraph.getSheetWidth(e),s=new Array(r);for(let i=0;i<r;i++){s[i]=new Array(n);for(let r=0;r<n;r++){const n=_r(e,r,i);s[i][r]=t(n)}for(let e=n-1;e>=0&&(null===s[i][e]||void 0===s[i][e]);e--)s[i].pop()}for(let e=r-1;e>=0&&0===s[e].length;e--)s.pop();return s}genericAllSheetsGetter(e){const t={};for(const r of this.dependencyGraph.sheetMapping.displayNames()){const n=this.dependencyGraph.sheetMapping.fetch(r);t[r]=e(n)}return t}getSheetSerialized(e){return this.genericSheetGetter(e,(e=>this.getCellSerialized(e)))}getAllSheetsValues(){return this.genericAllSheetsGetter((e=>this.getSheetValues(e)))}getAllSheetsFormulas(){return this.genericAllSheetsGetter((e=>this.getSheetFormulas(e)))}getAllSheetsSerialized(){return this.genericAllSheetsGetter((e=>this.getSheetSerialized(e)))}getAllNamedExpressionsSerialized(){const e=[];let t=0;for(const r of this.dependencyGraph.sheetMapping.displayNames()){const n=this.dependencyGraph.sheetMapping.fetch(r);e[n]=t,t++}return this.dependencyGraph.namedExpressions.getAllNamedExpressions().map((t=>({name:t.expression.displayName,expression:this.getCellSerialized(t.expression.address),scope:void 0!==t.scope?e[t.scope]:void 0,options:t.expression.options})))}withNewConfig(e,t){const r=new Ae(e,_e(e),this.dependencyGraph.sheetMapping.fetchDisplayName,t);return new Li(this.dependencyGraph,r,this.exporter)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Di{static buildFromSheets(e,t={},r=[]){const n=new Wi(t);return this.buildEngine(n,e,r)}static buildFromSheet(e,t={},r=[]){const n=new Wi(t),s=n.translationPackage.getUITranslation(rr.NEW_SHEET_PREFIX)+"1";return this.buildEngine(n,{[s]:e},r)}static buildEmpty(e={},t=[]){return this.buildEngine(new Wi(e),{},t)}static rebuildWithConfig(e,t,r,n){return this.buildEngine(e,t,r,n)}static buildEngine(e,t={},r=[],n=(e.useStats?new st:new it)){n.start(Ze.BUILD_ENGINE_TOTAL);const s=new gs,i=new fi(e),o=new Ni(n),a=lr.buildEmpty(o,e,i,s,n),l=
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
function(e,t,r){return t.useColumnIndex?new Ii(e,t,r):new Ai(e)}(a,e,n),h=a.sheetMapping,u=a.addressMapping;for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const n=t[r];Ns(n);const s=Ms(n);if(s.height>e.maxRows||s.width>e.maxColumns)throw new ht;const i=h.addSheet(r);u.autoAddSheet(i,s)}const c=new xe(e,i,h.get);o.parser=c;const d=new Ae(e,_e(e),h.fetchDisplayName,s),p=new In(e),g=new Pi(e),f=new Br(e,p,g),m=new ls(e,p,g),y=new un(e,i),E=new Is(e,a,l,m,c,n,o,s,y),w=new ri(e,E);o.undoRedo=w;const C=new us(e,a,E),v=new ni(e,E,w,C,a,l,c,m,o,s);r.forEach((e=>{v.ensureItIsPossibleToAddNamedExpression(e.name,e.expression,e.scope),v.operations.addNamedExpression(e.name,e.expression,e.scope,e.options)}));const R=new hi(e,s,h.fetchDisplayName,o),S=new Li(a,d,R),T=new vi(e,a,l,n,f,i,s,S,y,p);n.measure(Ze.GRAPH_BUILD,(()=>{new ui(a,l,c,m,n,y).buildGraph(t,n)}));const N=new oi(e,n,T,o,a,l);return N.run(),n.end(Ze.BUILD_ENGINE_TOTAL),{config:e,stats:n,dependencyGraph:a,columnSearch:l,parser:c,unparser:d,cellContentParser:m,evaluator:N,lazilyTransformingAstService:o,crudOperations:v,exporter:R,namedExpressions:s,serialization:S,functionRegistry:i}}}function ki(e){return()=>{throw new Error(`The "${e}" method cannot be called because this HyperFormula instance has been destroyed`)}}var Hi,Fi=r(23420);!function(e){e.SheetAdded="sheetAdded",e.SheetRemoved="sheetRemoved",e.SheetRenamed="sheetRenamed",e.NamedExpressionAdded="namedExpressionAdded",e.NamedExpressionRemoved="namedExpressionRemoved",e.ValuesUpdated="valuesUpdated",e.EvaluationSuspended="evaluationSuspended",e.EvaluationResumed="evaluationResumed"}(Hi||(Hi={}));class Ui extends Fi.TinyEmitter{emit(e,...t){return super.emit(e,...t),this}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Vi{constructor(e,t,r,n,s,i,o,a,l,h,u,c,d,p){this._config=e,this._stats=t,this._dependencyGraph=r,this._columnSearch=n,this._parser=s,this._unparser=i,this._cellContentParser=o,this._evaluator=a,this._lazilyTransformingAstService=l,this._crudOperations=h,this._exporter=u,this._namedExpressions=c,this._serialization=d,this._functionRegistry=p,this._emitter=new Ui,this._evaluationSuspended=!1}static get defaultConfig(){return Yi({})}get graph(){return this.dependencyGraph.graph}get rangeMapping(){return this.dependencyGraph.rangeMapping}get arrayMapping(){return this.dependencyGraph.arrayMapping}get sheetMapping(){return this.dependencyGraph.sheetMapping}get addressMapping(){return this.dependencyGraph.addressMapping}get dependencyGraph(){return this._dependencyGraph}get evaluator(){return this._evaluator}get columnSearch(){return this._columnSearch}get lazilyTransformingAstService(){return this._lazilyTransformingAstService}get licenseKeyValidityState(){return this._config.licenseKeyValidityState}static buildFromArray(e,t={},r=[]){return this.buildFromEngineState(Di.buildFromSheet(e,t,r))}static buildFromSheets(e,t={},r=[]){return this.buildFromEngineState(Di.buildFromSheets(e,t,r))}static buildEmpty(e={},t=[]){return this.buildFromEngineState(Di.buildEmpty(e,t))}static getLanguage(e){mn(e,"string","languageCode");const t=this.registeredLanguages.get(e);if(void 0===t)throw new At;return t}static registerLanguage(e,t){if(mn(e,"string","languageCode"),this.registeredLanguages.has(e))throw new It;var r;this.registeredLanguages.set(e,(r=t,new tr(Object.assign({},r.functions),Object.assign({},r.errors),Object.assign({},r.ui))))}static unregisterLanguage(e){if(mn(e,"string","languageCode"),!this.registeredLanguages.has(e))throw new At;this.registeredLanguages.delete(e)}static getRegisteredLanguagesCodes(){return Array.from(this.registeredLanguages.keys())}static registerFunctionPlugin(e,t){fi.registerFunctionPlugin(e,t)}static unregisterFunctionPlugin(e){fi.unregisterFunctionPlugin(e)}static registerFunction(e,t,r){mn(e,"string","functionId"),fi.registerFunction(e,t,r)}static unregisterFunction(e){mn(e,"string","functionId"),fi.unregisterFunction(e)}static unregisterAllFunctions(){fi.unregisterAll()}static getRegisteredFunctionNames(e){mn(e,"string","code");const t=fi.getRegisteredFunctionIds();return this.getLanguage(e).getFunctionTranslations(t)}static getFunctionPlugin(e){return mn(e,"string","functionId"),fi.getFunctionPlugin(e)}static getAllFunctionPlugins(){return fi.getPlugins()}static buildFromEngineState(e){return new Vi(e.config,e.stats,e.dependencyGraph,e.columnSearch,e.parser,e.unparser,e.cellContentParser,e.evaluator,e.lazilyTransformingAstService,e.crudOperations,e.exporter,e.namedExpressions,e.serialization,e.functionRegistry)}getCellValue(e){if(!Ir(e))throw new Rt("SimpleCellAddress","cellAddress");return this.ensureEvaluationIsNotSuspended(),this._serialization.getCellValue(e)}getCellFormula(e){if(!Ir(e))throw new Rt("SimpleCellAddress","cellAddress");return this._serialization.getCellFormula(e)}getCellHyperlink(e){if(!Ir(e))throw new Rt("SimpleCellAddress","cellAddress");return this.ensureEvaluationIsNotSuspended(),this._serialization.getCellHyperlink(e)}getCellSerialized(e){if(!Ir(e))throw new Rt("SimpleCellAddress","cellAddress");return this.ensureEvaluationIsNotSuspended(),this._serialization.getCellSerialized(e)}getSheetValues(e){return mn(e,"number","sheetId"),this.ensureEvaluationIsNotSuspended(),this._serialization.getSheetValues(e)}getSheetFormulas(e){return mn(e,"number","sheetId"),this._serialization.getSheetFormulas(e)}getSheetSerialized(e){return mn(e,"number","sheetId"),this.ensureEvaluationIsNotSuspended(),this._serialization.getSheetSerialized(e)}getAllSheetsDimensions(){return this._serialization.genericAllSheetsGetter((e=>this.getSheetDimensions(e)))}getSheetDimensions(e){return mn(e,"number","sheetId"),{width:this.dependencyGraph.getSheetWidth(e),height:this.dependencyGraph.getSheetHeight(e)}}getAllSheetsValues(){return this.ensureEvaluationIsNotSuspended(),this._serialization.getAllSheetsValues()}getAllSheetsFormulas(){return this._serialization.getAllSheetsFormulas()}getAllSheetsSerialized(){return this.ensureEvaluationIsNotSuspended(),this._serialization.getAllSheetsSerialized()}updateConfig(e){Object.entries(e).every((([e,t])=>this._config[e]===t))||this.rebuildWithConfig(e)}getConfig(){return this._config.getConfig()}rebuildAndRecalculate(){this.rebuildWithConfig({})}getStats(){return this._stats.snapshot()}undo(){return this._crudOperations.undo(),this.recomputeIfDependencyGraphNeedsIt()}redo(){return this._crudOperations.redo(),this.recomputeIfDependencyGraphNeedsIt()}isThereSomethingToUndo(){return this._crudOperations.isThereSomethingToUndo()}isThereSomethingToRedo(){return this._crudOperations.isThereSomethingToRedo()}isItPossibleToSetCellContents(e){let t;if(Ir(e))t=new kr(e,e);else{if(!Lr(e))throw new Rt("SimpleCellAddress | SimpleCellRange","address");t=new kr(e.start,e.end)}try{this._crudOperations.ensureRangeInSizeLimits(t);for(const e of t.addresses(this._dependencyGraph))this._crudOperations.ensureItIsPossibleToChangeContent(e)}catch(e){return!1}return!0}setCellContents(e,t){return this._crudOperations.setCellContents(e,t),this.recomputeIfDependencyGraphNeedsIt()}swapRowIndexes(e,t){return mn(e,"number","sheetId"),this._crudOperations.setRowOrder(e,t),this.recomputeIfDependencyGraphNeedsIt()}isItPossibleToSwapRowIndexes(e,t){mn(e,"number","sheetId");try{return this._crudOperations.validateSwapRowIndexes(e,t),this._crudOperations.testRowOrderForArrays(e,t),!0}catch(e){return!1}}setRowOrder(e,t){mn(e,"number","sheetId");const r=this._crudOperations.mappingFromOrder(e,t,"row");return this.swapRowIndexes(e,r)}isItPossibleToSetRowOrder(e,t){mn(e,"number","sheetId");try{const r=this._crudOperations.mappingFromOrder(e,t,"row");return this._crudOperations.validateSwapRowIndexes(e,r),this._crudOperations.testRowOrderForArrays(e,r),!0}catch(e){return!1}}swapColumnIndexes(e,t){return mn(e,"number","sheetId"),this._crudOperations.setColumnOrder(e,t),this.recomputeIfDependencyGraphNeedsIt()}isItPossibleToSwapColumnIndexes(e,t){mn(e,"number","sheetId");try{return this._crudOperations.validateSwapColumnIndexes(e,t),this._crudOperations.testColumnOrderForArrays(e,t),!0}catch(e){return!1}}setColumnOrder(e,t){mn(e,"number","sheetId");const r=this._crudOperations.mappingFromOrder(e,t,"column");return this.swapColumnIndexes(e,r)}isItPossibleToSetColumnOrder(e,t){mn(e,"number","sheetId");try{const r=this._crudOperations.mappingFromOrder(e,t,"column");return this._crudOperations.validateSwapColumnIndexes(e,r),this._crudOperations.testColumnOrderForArrays(e,r),!0}catch(e){return!1}}isItPossibleToAddRows(e,...t){mn(e,"number","sheetId");const r=Ps(t);try{return this._crudOperations.ensureItIsPossibleToAddRows(e,...r),!0}catch(e){return!1}}addRows(e,...t){return mn(e,"number","sheetId"),this._crudOperations.addRows(e,...t),this.recomputeIfDependencyGraphNeedsIt()}isItPossibleToRemoveRows(e,...t){mn(e,"number","sheetId");const r=xs(t);try{return this._crudOperations.ensureItIsPossibleToRemoveRows(e,...r),!0}catch(e){return!1}}removeRows(e,...t){return mn(e,"number","sheetId"),this._crudOperations.removeRows(e,...t),this.recomputeIfDependencyGraphNeedsIt()}isItPossibleToAddColumns(e,...t){mn(e,"number","sheetId");const r=Ps(t);try{return this._crudOperations.ensureItIsPossibleToAddColumns(e,...r),!0}catch(e){return!1}}addColumns(e,...t){return mn(e,"number","sheetId"),this._crudOperations.addColumns(e,...t),this.recomputeIfDependencyGraphNeedsIt()}isItPossibleToRemoveColumns(e,...t){mn(e,"number","sheetId");const r=xs(t);try{return this._crudOperations.ensureItIsPossibleToRemoveColumns(e,...r),!0}catch(e){return!1}}removeColumns(e,...t){return mn(e,"number","sheetId"),this._crudOperations.removeColumns(e,...t),this.recomputeIfDependencyGraphNeedsIt()}isItPossibleToMoveCells(e,t){if(!Ir(t))throw new Rt("SimpleCellAddress","destinationLeftCorner");if(!Lr(e))throw new Rt("SimpleCellRange","source");try{const r=new kr(e.start,e.end);return this._crudOperations.operations.ensureItIsPossibleToMoveCells(r.start,r.width(),r.height(),t),!0}catch(e){return!1}}moveCells(e,t){if(!Ir(t))throw new Rt("SimpleCellAddress","destinationLeftCorner");if(!Lr(e))throw new Rt("SimpleCellRange","source");const r=new kr(e.start,e.end);return this._crudOperations.moveCells(r.start,r.width(),r.height(),t),this.recomputeIfDependencyGraphNeedsIt()}isItPossibleToMoveRows(e,t,r,n){mn(e,"number","sheetId"),mn(t,"number","startRow"),mn(r,"number","numberOfRows"),mn(n,"number","targetRow");try{return this._crudOperations.ensureItIsPossibleToMoveRows(e,t,r,n),!0}catch(e){return!1}}moveRows(e,t,r,n){return mn(e,"number","sheetId"),mn(t,"number","startRow"),mn(r,"number","numberOfRows"),mn(n,"number","targetRow"),this._crudOperations.moveRows(e,t,r,n),this.recomputeIfDependencyGraphNeedsIt()}isItPossibleToMoveColumns(e,t,r,n){mn(e,"number","sheetId"),mn(t,"number","startColumn"),mn(r,"number","numberOfColumns"),mn(n,"number","targetColumn");try{return this._crudOperations.ensureItIsPossibleToMoveColumns(e,t,r,n),!0}catch(e){return!1}}moveColumns(e,t,r,n){return mn(e,"number","sheetId"),mn(t,"number","startColumn"),mn(r,"number","numberOfColumns"),mn(n,"number","targetColumn"),this._crudOperations.moveColumns(e,t,r,n),this.recomputeIfDependencyGraphNeedsIt()}copy(e){if(!Lr(e))throw new Rt("SimpleCellRange","source");const t=new kr(e.start,e.end);return this._crudOperations.copy(t.start,t.width(),t.height()),this.getRangeValues(e)}cut(e){if(!Lr(e))throw new Rt("SimpleCellRange","source");const t=new kr(e.start,e.end);return this._crudOperations.cut(t.start,t.width(),t.height()),this.getRangeValues(e)}paste(e){if(!Ir(e))throw new Rt("SimpleCellAddress","targetLeftCorner");return this.ensureEvaluationIsNotSuspended(),this._crudOperations.paste(e),this.recomputeIfDependencyGraphNeedsIt()}isClipboardEmpty(){return this._crudOperations.isClipboardEmpty()}clearClipboard(){this._crudOperations.clearClipboard()}clearRedoStack(){this._crudOperations.undoRedo.clearRedoStack()}clearUndoStack(){this._crudOperations.undoRedo.clearUndoStack()}getRangeValues(e){if(!Lr(e))throw new Rt("SimpleCellRange","source");return new kr(e.start,e.end).arrayOfAddressesInRange().map((e=>e.map((e=>this.getCellValue(e)))))}getRangeFormulas(e){if(!Lr(e))throw new Rt("SimpleCellRange","source");return new kr(e.start,e.end).arrayOfAddressesInRange().map((e=>e.map((e=>this.getCellFormula(e)))))}getRangeSerialized(e){if(!Lr(e))throw new Rt("SimpleCellRange","source");return new kr(e.start,e.end).arrayOfAddressesInRange().map((e=>e.map((e=>this.getCellSerialized(e)))))}getFillRangeData(e,t,r=!1){if(!Lr(e))throw new Rt("SimpleCellRange","source");if(!Lr(t))throw new Rt("SimpleCellRange","target");const n=new kr(e.start,e.end),s=new kr(t.start,t.end);return this.ensureEvaluationIsNotSuspended(),s.arrayOfAddressesInRange().map((s=>s.map((s=>{const i=((s.row-(r?t:e).start.row)%n.height()+n.height())%n.height()+e.start.row,o=((s.col-(r?t:e).start.col)%n.width()+n.width())%n.width()+e.start.col;return this._serialization.getCellSerialized({row:i,col:o,sheet:n.sheet},s)}))))}isItPossibleToAddSheet(e){mn(e,"string","sheetName");try{return this._crudOperations.ensureItIsPossibleToAddSheet(e),!0}catch(e){return!1}}addSheet(e){void 0!==e&&mn(e,"string","sheetName");const t=this._crudOperations.addSheet(e);return this._emitter.emit(Hi.SheetAdded,t),t}isItPossibleToRemoveSheet(e){mn(e,"number","sheetId");try{return this._crudOperations.ensureScopeIdIsValid(e),!0}catch(e){return!1}}removeSheet(e){mn(e,"number","sheetId");const t=this.sheetMapping.getDisplayName(e);this._crudOperations.removeSheet(e);const r=this.recomputeIfDependencyGraphNeedsIt();return this._emitter.emit(Hi.SheetRemoved,t,r),r}isItPossibleToClearSheet(e){mn(e,"number","sheetId");try{return this._crudOperations.ensureScopeIdIsValid(e),!0}catch(e){return!1}}clearSheet(e){return mn(e,"number","sheetId"),this._crudOperations.clearSheet(e),this.recomputeIfDependencyGraphNeedsIt()}isItPossibleToReplaceSheetContent(e,t){mn(e,"number","sheetId");try{return this._crudOperations.ensureScopeIdIsValid(e),this._crudOperations.ensureItIsPossibleToChangeSheetContents(e,t),!0}catch(e){return!1}}setSheetContent(e,t){return mn(e,"number","sheetId"),this._crudOperations.setSheetContent(e,t),this.recomputeIfDependencyGraphNeedsIt()}simpleCellAddressFromString(e,t){return mn(e,"string","cellAddress"),mn(t,"number","sheetId"),b(this.sheetMapping.get,e,t)}simpleCellRangeFromString(e,t){return mn(e,"string","cellRange"),mn(t,"number","sheetId"),((e,t,r)=>{const n=t.split(a);if(2!==n.length)return;const[s,i]=n,o=b(e,s,r);if(void 0===o)return;const l=b(e,i,o.sheet);return void 0!==l&&o.sheet===l.sheet?Dr(o,l):void 0})(this.sheetMapping.get,e,t)}simpleCellAddressToString(e,t={}){if(!Ir(e))throw new Rt("SimpleCellAddress","cellAddress");const r="number"==typeof t?t:t.includeSheetName?e.sheet+1:e.sheet;return O(this.sheetMapping.fetchDisplayName,e,r)}simpleCellRangeToString(e,t={}){if(!Lr(e))throw new Rt("SimpleCellRange","cellRange");const r="number"==typeof t?t:t.includeSheetName?e.start.sheet+e.end.sheet+1:e.start.sheet;return((e,t,r)=>{const n=O(e,t.start,r),s=O(e,t.end,t.start.sheet);return void 0===n||void 0===s?void 0:`${n}${a}${s}`})(this.sheetMapping.fetchDisplayName,e,r)}getCellDependents(e){let t;if(Ir(e))t=this._dependencyGraph.addressMapping.getCell(e);else{if(!Lr(e))throw new Rt("SimpleCellAddress | SimpleCellRange",e);t=this._dependencyGraph.rangeMapping.getRange(e.start,e.end)}return void 0===t?[]:this._dependencyGraph.getAdjacentNodesAddresses(t)}getCellPrecedents(e){let t;if(Ir(e))t=this._dependencyGraph.addressMapping.getCell(e);else{if(!Lr(e))throw new Rt("SimpleCellAddress | SimpleCellRange",e);t=this._dependencyGraph.rangeMapping.getRange(e.start,e.end)}return void 0===t?[]:this._dependencyGraph.dependencyQueryAddresses(t)}getSheetName(e){return mn(e,"number","sheetId"),this.sheetMapping.getDisplayName(e)}getSheetNames(){return this.sheetMapping.sheetNames()}getSheetId(e){return mn(e,"string","sheetName"),this.sheetMapping.get(e)}doesSheetExist(e){return mn(e,"string","sheetName"),this.sheetMapping.hasSheetWithName(e)}getCellType(e){if(!Ir(e))throw new Rt("SimpleCellAddress","cellAddress");return((e,t)=>e instanceof Gt?e.isLeftCorner(t)?sr.ARRAYFORMULA:sr.ARRAY:e instanceof jt||e instanceof cr?sr.FORMULA:e instanceof ur?sr.VALUE:sr.EMPTY)(this.dependencyGraph.getCell(e),e)}doesCellHaveSimpleValue(e){if(!Ir(e))throw new Rt("SimpleCellAddress","cellAddress");return this.getCellType(e)===sr.VALUE}doesCellHaveFormula(e){if(!Ir(e))throw new Rt("SimpleCellAddress","cellAddress");const t=this.getCellType(e);return t===sr.FORMULA||t===sr.ARRAYFORMULA}isCellEmpty(e){if(!Ir(e))throw new Rt("SimpleCellAddress","cellAddress");return this.getCellType(e)===sr.EMPTY}isCellPartOfArray(e){if(!Ir(e))throw new Rt("SimpleCellAddress","cellAddress");const t=this.getCellType(e);return t===sr.ARRAY||t===sr.ARRAYFORMULA}getCellValueType(e){if(!Ir(e))throw new Rt("SimpleCellAddress","cellAddress");this.ensureEvaluationIsNotSuspended();const t=this.dependencyGraph.getCellValue(e);return wr(t)}getCellValueDetailedType(e){if(!Ir(e))throw new Rt("SimpleCellAddress","cellAddress");this.ensureEvaluationIsNotSuspended();const t=this.dependencyGraph.getCellValue(e);return Cr(t)}getCellValueFormat(e){if(!Ir(e))throw new Rt("SimpleCellAddress","cellAddress");this.ensureEvaluationIsNotSuspended();const t=this.dependencyGraph.getCellValue(e);return vr(t)}countSheets(){return this.sheetMapping.numberOfSheets()}isItPossibleToRenameSheet(e,t){mn(e,"number","sheetId"),mn(t,"string","newName");try{return this._crudOperations.ensureItIsPossibleToRenameSheet(e,t),!0}catch(e){return!1}}renameSheet(e,t){mn(e,"number","sheetId"),mn(t,"string","newName");const r=this._crudOperations.renameSheet(e,t);void 0!==r&&this._emitter.emit(Hi.SheetRenamed,r,t)}batch(e){this.suspendEvaluation(),this._crudOperations.beginUndoRedoBatchMode();try{e()}catch(e){throw this._crudOperations.commitUndoRedoBatchMode(),this.resumeEvaluation(),e}return this._crudOperations.commitUndoRedoBatchMode(),this.resumeEvaluation()}suspendEvaluation(){this._evaluationSuspended=!0,this._emitter.emit(Hi.EvaluationSuspended)}resumeEvaluation(){this._evaluationSuspended=!1;const e=this.recomputeIfDependencyGraphNeedsIt();return this._emitter.emit(Hi.EvaluationResumed,e),e}isEvaluationSuspended(){return this._evaluationSuspended}isItPossibleToAddNamedExpression(e,t,r){mn(e,"string","expressionName"),void 0!==r&&mn(r,"number","scope");try{return this._crudOperations.ensureItIsPossibleToAddNamedExpression(e,t,r),!0}catch(e){return!1}}addNamedExpression(e,t,r,n){mn(e,"string","expressionName"),void 0!==r&&mn(r,"number","scope"),this._crudOperations.addNamedExpression(e,t,r,n);const s=this.recomputeIfDependencyGraphNeedsIt();return this._emitter.emit(Hi.NamedExpressionAdded,e,s),s}getNamedExpressionValue(e,t){mn(e,"string","expressionName"),void 0!==t&&mn(t,"number","scope"),this.ensureEvaluationIsNotSuspended(),this._crudOperations.ensureScopeIdIsValid(t);const r=this._namedExpressions.namedExpressionForScope(e,t);return r?this._serialization.getCellValue(r.address):void 0}getNamedExpressionFormula(e,t){mn(e,"string","expressionName"),void 0!==t&&mn(t,"number","scope"),this._crudOperations.ensureScopeIdIsValid(t);const r=this._namedExpressions.namedExpressionForScope(e,t);return void 0===r?void 0:this._serialization.getCellFormula(r.address)}getNamedExpression(e,t){mn(e,"string","expressionName"),void 0!==t&&mn(t,"number","scope");const r=this._namedExpressions.namedExpressionForScope(e,t);if(void 0===r)return;return{name:e,scope:t,expression:this._serialization.getCellFormula(r.address),options:r.options}}isItPossibleToChangeNamedExpression(e,t,r){mn(e,"string","expressionName"),void 0!==r&&mn(r,"number","scope");try{return this._crudOperations.ensureItIsPossibleToChangeNamedExpression(e,t,r),!0}catch(e){return!1}}changeNamedExpression(e,t,r,n){return mn(e,"string","expressionName"),void 0!==r&&mn(r,"number","scope"),this._crudOperations.changeNamedExpressionExpression(e,r,t,n),this.recomputeIfDependencyGraphNeedsIt()}isItPossibleToRemoveNamedExpression(e,t){mn(e,"string","expressionName"),void 0!==t&&mn(t,"number","scope");try{return this._crudOperations.isItPossibleToRemoveNamedExpression(e,t),!0}catch(e){return!1}}removeNamedExpression(e,t){mn(e,"string","expressionName"),void 0!==t&&mn(t,"number","scope");const r=this._crudOperations.removeNamedExpression(e,t);if(r){const e=this.recomputeIfDependencyGraphNeedsIt();return this._emitter.emit(Hi.NamedExpressionRemoved,r.displayName,e),e}return[]}listNamedExpressions(e){return void 0!==e&&mn(e,"number","scope"),this._crudOperations.ensureScopeIdIsValid(e),this._namedExpressions.getAllNamedExpressionsNamesInScope(e)}getAllNamedExpressionsSerialized(){return this._serialization.getAllNamedExpressionsSerialized()}normalizeFormula(e){mn(e,"string","formulaString");const{ast:t,address:r}=this.extractTemporaryFormula(e);if(void 0===t)throw new ut;return this._unparser.unparse(t,r)}calculateFormula(e,t){mn(e,"string","formulaString"),mn(t,"number","sheetId"),this._crudOperations.ensureScopeIdIsValid(t);const{ast:r,address:n,dependencies:s}=this.extractTemporaryFormula(e,t);if(void 0===r)throw new ut;const i=this.evaluator.runAndForget(r,n,s);return this._exporter.exportScalarOrRange(i)}getNamedExpressionsFromFormula(e){mn(e,"string","formulaString");const{ast:t,dependencies:r}=this.extractTemporaryFormula(e);if(void 0===t)throw new ut;const n=r.filter((e=>e instanceof Ue)).map((e=>e.name));return[...new Set(n)]}validateFormula(e){mn(e,"string","formulaString");const{ast:t}=this.extractTemporaryFormula(e);return void 0!==t}getRegisteredFunctionNames(){return Vi.getLanguage(this._config.language).getFunctionTranslations(this._functionRegistry.getRegisteredFunctionIds())}getFunctionPlugin(e){return mn(e,"string","functionId"),this._functionRegistry.getFunctionPlugin(e)}getAllFunctionPlugins(){return this._functionRegistry.getPlugins()}numberToDateTime(e){return mn(e,"number","val"),this._evaluator.interpreter.dateTimeHelper.numberToSimpleDateTime(e)}numberToDate(e){return mn(e,"number","val"),this._evaluator.interpreter.dateTimeHelper.numberToSimpleDate(e)}numberToTime(e){return mn(e,"number","val"),Ln(e)}on(e,t){this._emitter.on(e,t)}once(e,t){this._emitter.once(e,t)}off(e,t){this._emitter.off(e,t)}destroy(){!
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
function(e){for(const[t,r]of Object.entries(e))r instanceof Function?e[t]=ki(r):delete e[t]}(this)}ensureEvaluationIsNotSuspended(){if(this._evaluationSuspended)throw new _t}extractTemporaryFormula(e,t=1){const r=this._cellContentParser.parse(e),n={sheet:t,col:0,row:0};if(!(r instanceof is.Formula))return{address:n,dependencies:[]};const{ast:s,errors:i,dependencies:o}=this._parser.parse(r.formula,n);return i.length>0?{address:n,dependencies:[]}:{ast:s,address:n,dependencies:o}}rebuildWithConfig(e){const t=this._config.mergeConfig(e),r=this._config.mergeConfig({language:e.language}),n=this._serialization.withNewConfig(r,this._namedExpressions).getAllSheetsSerialized(),s=this._serialization.getAllNamedExpressionsSerialized(),i=Di.rebuildWithConfig(t,n,s,this._stats);this._config=i.config,this._stats=i.stats,this._dependencyGraph=i.dependencyGraph,this._columnSearch=i.columnSearch,this._parser=i.parser,this._unparser=i.unparser,this._cellContentParser=i.cellContentParser,this._evaluator=i.evaluator,this._lazilyTransformingAstService=i.lazilyTransformingAstService,this._crudOperations=i.crudOperations,this._exporter=i.exporter,this._namedExpressions=i.namedExpressions,this._serialization=i.serialization,this._functionRegistry=i.functionRegistry}recomputeIfDependencyGraphNeedsIt(){if(this._evaluationSuspended)return[];{const e=this._crudOperations.getAndClearContentChanges(),t=this.dependencyGraph.verticesToRecompute();this.dependencyGraph.clearDirtyVertices(),t.length>0&&e.addAll(this.evaluator.partialRun(t));const r=e.exportChanges(this._exporter);return e.isEmpty()||this._emitter.emit(Hi.ValuesUpdated,r),r}}}Vi.version="3.0.0",Vi.buildDate="14/01/2025 11:44:17",Vi.releaseDate="14/01/2025",Vi.languages={},Vi.registeredLanguages=new Map;
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const Bi=new WeakMap;class Wi{constructor(e={},t=!0){const{accentSensitive:r,caseSensitive:n,caseFirst:s,chooseAddressMappingPolicy:i,context:o,currencySymbol:a,dateFormats:l,decimalSeparator:h,evaluateNullToZero:u,functionArgSeparator:c,functionPlugins:d,ignorePunctuation:p,leapYear1900:g,localeLang:f,language:m,ignoreWhiteSpace:y,licenseKey:E,matchWholeCell:w,arrayColumnSeparator:C,arrayRowSeparator:v,maxRows:R,maxColumns:S,nullYear:T,nullDate:N,parseDateTime:M,precisionEpsilon:_,precisionRounding:b,stringifyDateTime:O,stringifyDuration:A,smartRounding:I,timeFormats:x,thousandSeparator:P,useArrayArithmetic:L,useStats:D,undoLimit:k,useColumnIndex:H,useRegularExpressions:F,useWildcards:U}=e;t&&Wi.warnDeprecatedOptions(e),this.useArrayArithmetic=dn(L,"boolean","useArrayArithmetic"),this.accentSensitive=dn(r,"boolean","accentSensitive"),this.caseSensitive=dn(n,"boolean","caseSensitive"),this.caseFirst=dn(s,["upper","lower","false"],"caseFirst"),this.ignorePunctuation=dn(p,"boolean","ignorePunctuation"),this.chooseAddressMappingPolicy=null!=i?i:Wi.defaultConfig.chooseAddressMappingPolicy,this.dateFormats=[...gn(l,Array.isArray,"array","dateFormats")],this.timeFormats=[...gn(x,Array.isArray,"array","timeFormats")],this.functionArgSeparator=dn(c,"string","functionArgSeparator"),this.decimalSeparator=dn(h,[".",","],"decimalSeparator"),this.language=dn(m,"string","language"),this.ignoreWhiteSpace=dn(y,["standard","any"],"ignoreWhiteSpace"),this.licenseKey=dn(E,"string","licenseKey"),this.thousandSeparator=dn(P,["",","," ","."],"thousandSeparator"),this.arrayColumnSeparator=dn(C,[",",";"],"arrayColumnSeparator"),this.arrayRowSeparator=dn(v,[";","|"],"arrayRowSeparator"),this.localeLang=dn(f,"string","localeLang"),this.functionPlugins=[...null!=d?d:Wi.defaultConfig.functionPlugins],this.smartRounding=dn(I,"boolean","smartRounding"),this.evaluateNullToZero=dn(u,"boolean","evaluateNullToZero"),this.nullYear=dn(T,"number","nullYear"),pn(this.nullYear,"nullYear",0),function(e,t,r){if(e>r)throw new Nt(t,r)}(this.nullYear,"nullYear",100),this.precisionRounding=dn(b,"number","precisionRounding"),pn(this.precisionRounding,"precisionRounding",0),this.precisionEpsilon=dn(_,"number","precisionEpsilon"),pn(this.precisionEpsilon,"precisionEpsilon",0),this.useColumnIndex=dn(H,"boolean","useColumnIndex"),this.useStats=dn(D,"boolean","useStats"),this.parseDateTime=dn(M,"function","parseDateTime"),this.stringifyDateTime=dn(O,"function","stringifyDateTime"),this.stringifyDuration=dn(A,"function","stringifyDuration"),this.translationPackage=Vi.getLanguage(this.language),this.errorMapping=this.translationPackage.buildErrorMapping(),this.nullDate=gn(N,bn,"IDate","nullDate"),this.leapYear1900=dn(g,"boolean","leapYear1900"),this.undoLimit=dn(k,"number","undoLimit"),this.useRegularExpressions=dn(F,"boolean","useRegularExpressions"),this.useWildcards=dn(U,"boolean","useWildcards"),this.matchWholeCell=dn(w,"boolean","matchWholeCell"),pn(this.undoLimit,"undoLimit",0),this.maxRows=dn(R,"number","maxRows"),pn(this.maxRows,"maxRows",1),this.maxColumns=dn(S,"number","maxColumns"),this.currencySymbol=this.setupCurrencySymbol(a),pn(this.maxColumns,"maxColumns",1),this.context=o,Bi.set(this,{licenseKeyValidityState:ss(this.licenseKey)}),fn({value:this.decimalSeparator,name:"decimalSeparator"},{value:this.functionArgSeparator,name:"functionArgSeparator"},{value:this.thousandSeparator,name:"thousandSeparator"}),fn({value:this.arrayRowSeparator,name:"arrayRowSeparator"},{value:this.arrayColumnSeparator,name:"arrayColumnSeparator"})}setupCurrencySymbol(e){const t=[...gn(e,Array.isArray,"array","currencySymbol")];return t.forEach((e=>{if("string"!=typeof e)throw new Rt("string[]","currencySymbol");if(""===e)throw new St("currencySymbol")})),t}get licenseKeyValidityState(){return Bi.get(this).licenseKeyValidityState}getConfig(){return Yi(this)}mergeConfig(e){const t=Object.assign({},this.getConfig(),e);return Wi.warnDeprecatedOptions(e),new Wi(t,!1)}static warnDeprecatedOptions(e){}static warnDeprecatedIfUsed(e,t,r,n){void 0!==e&&(void 0===n?console.warn(`${t} option is deprecated since ${r}`):console.warn(`${t} option is deprecated since ${r}, please use ${n}`))}}function Yi(e){var t;const r={};for(const n in Wi.defaultConfig){const s=null!==(t=e[n])&&void 0!==t?t:Wi.defaultConfig[n];Array.isArray(s)?r[n]=[...s]:r[n]=s}return r}Wi.defaultConfig={accentSensitive:!1,currencySymbol:["$"],caseSensitive:!1,caseFirst:"lower",context:void 0,chooseAddressMappingPolicy:new class{call(){return pr}},dateFormats:["DD/MM/YYYY","DD/MM/YY"],decimalSeparator:".",evaluateNullToZero:!1,functionArgSeparator:",",functionPlugins:[],ignorePunctuation:!1,language:"enGB",ignoreWhiteSpace:"standard",licenseKey:"",leapYear1900:!1,localeLang:"en",matchWholeCell:!0,arrayColumnSeparator:",",arrayRowSeparator:";",maxRows:4e4,maxColumns:18278,nullYear:30,nullDate:{year:1899,month:12,day:30},parseDateTime:function(e,t,r){if(void 0===t&&void 0===r)return;let n=e.replace(wn," ").trim().toLowerCase();if(!function(e){return En.test(e)}(n))return;let s=n.substring(n.length-2);"am"===s||"pm"===s?n=n.substring(0,n.length-2).trim():(s=n.substring(n.length-1),"a"===s||"p"===s?n=n.substring(0,n.length-1).trim():s=void 0);const i=n.split(Cn);i.length>=2&&i[i.length-2].includes(":")&&(i[i.length-2]=i[i.length-2]+"."+i[i.length-1],i.pop());const o=i[i.length-1].split(":");if(void 0!==s&&o.push(s),1===i.length)return Sn(o,r);if(1===o.length)return Tn(i,t);const a=Tn(i.slice(0,i.length-1),t),l=Sn(o,r);return void 0===a||void 0===l?void 0:Object.assign(Object.assign({},a),l)},precisionEpsilon:1e-13,precisionRounding:10,smartRounding:!0,stringifyDateTime:function(e,t){const r=Yn(t);if(void 0===r)return;const n=r.tokens;let s="",i=!1;const o=n.some((e=>e.type===Un.FORMAT&&("a/p"===e.value||"A/P"===e.value||"am/pm"===e.value||"AM/PM"===e.value)));for(let t=0;t<n.length;t++){const r=n[t];if(r.type!==Un.FREE_TEXT)switch(r.value.toLowerCase()){case"h":case"hh":i=!0,s+=$n(o?(e.hours+11)%12+1:e.hours,r.value.length);break;case"d":case"dd":s+=$n(e.day,r.value.length);break;case"s":case"ss":s+=$n(Math.floor(e.seconds),r.value.length);break;case"m":case"mm":t+1<n.length&&n[t+1].value.startsWith(":")&&(i=!0),s+=$n(i?e.minutes:e.month,r.value.length),i=!0;break;case"yy":s+=$n(e.year%100,r.value.length);break;case"yyyy":s+=e.year;break;case"am/pm":case"a/p":{const[t,n]=r.value.split("/");s+=e.hours<12?t:n;break}default:if(yn.test(r.value)){const t=r.value.length-3;s+=`${e.seconds<10?"0":""}${Math.floor(e.seconds*Math.pow(10,t))/Math.pow(10,t)}`;continue}return}else s+=r.value}return s},stringifyDuration:function(e,t){const r=Yn(t);if(void 0===r)return;const n=r.tokens;let s="";for(const t of n)if(t.type!==Un.FREE_TEXT)switch(t.value.toLowerCase()){case"h":case"hh":s+=$n(e.hours,t.value.length),e.hours=0;break;case"[hh]":s+=$n(e.hours,t.value.length-2),e.hours=0;break;case"m":case"mm":s+=$n(e.minutes,t.value.length),e.minutes=0;break;case"[mm]":s+=$n(e.minutes+60*e.hours,t.value.length-2),e.minutes=0,e.hours=0;break;case"s":case"ss":s+=$n(Math.floor(e.seconds),t.value.length);break;default:if(yn.test(t.value)){const r=Math.max(t.value.length-3,0);s+=`${e.seconds<10?"0":""}${Math.floor(e.seconds*Math.pow(10,r))/Math.pow(10,r)}`;continue}return}else s+=t.value;return s},timeFormats:["hh:mm","hh:mm:ss.sss"],thousandSeparator:"",undoLimit:20,useRegularExpressions:!1,useWildcards:!0,useColumnIndex:!1,useStats:!1,useArrayArithmetic:!1};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const Gi={errors:{CYCLE:"#CYCLE!",DIV_BY_ZERO:"#DIV/0!",ERROR:"#ERROR!",NA:"#N/A",NAME:"#NAME?",NUM:"#NUM!",REF:"#REF!",SPILL:"#SPILL!",VALUE:"#VALUE!"},functions:{FILTER:"FILTER",ADDRESS:"ADDRESS",ARRAY_CONSTRAIN:"ARRAY_CONSTRAIN",ARRAYFORMULA:"ARRAYFORMULA",ABS:"ABS",ACOS:"ACOS",ACOSH:"ACOSH",ACOT:"ACOT",ACOTH:"ACOTH",AND:"AND",ARABIC:"ARABIC",ASIN:"ASIN",ASINH:"ASINH",ATAN2:"ATAN2",ATAN:"ATAN",ATANH:"ATANH",AVERAGE:"AVERAGE",AVERAGEA:"AVERAGEA",AVERAGEIF:"AVERAGEIF",BASE:"BASE",BIN2DEC:"BIN2DEC",BIN2HEX:"BIN2HEX",BIN2OCT:"BIN2OCT",BITAND:"BITAND",BITLSHIFT:"BITLSHIFT",BITOR:"BITOR",BITRSHIFT:"BITRSHIFT",BITXOR:"BITXOR",CEILING:"CEILING",CHAR:"CHAR",CHOOSE:"CHOOSE",CLEAN:"CLEAN",CODE:"CODE",COLUMN:"COLUMN",COLUMNS:"COLUMNS",CONCATENATE:"CONCATENATE",CORREL:"CORREL",COS:"COS",COSH:"COSH",COT:"COT",COTH:"COTH",COUNT:"COUNT",COUNTA:"COUNTA",COUNTBLANK:"COUNTBLANK",COUNTIF:"COUNTIF",COUNTIFS:"COUNTIFS",COUNTUNIQUE:"COUNTUNIQUE",CSC:"CSC",CSCH:"CSCH",CUMIPMT:"CUMIPMT",CUMPRINC:"CUMPRINC",DATE:"DATE",DATEDIF:"DATEDIF",DATEVALUE:"DATEVALUE",DAY:"DAY",DAYS360:"DAYS360",DAYS:"DAYS",DB:"DB",DDB:"DDB",DEC2BIN:"DEC2BIN",DEC2HEX:"DEC2HEX",DEC2OCT:"DEC2OCT",DECIMAL:"DECIMAL",DEGREES:"DEGREES",DELTA:"DELTA",DOLLARDE:"DOLLARDE",DOLLARFR:"DOLLARFR",EDATE:"EDATE",EFFECT:"EFFECT",EOMONTH:"EOMONTH",ERF:"ERF",ERFC:"ERFC",EVEN:"EVEN",EXACT:"EXACT",EXP:"EXP",FALSE:"FALSE",FIND:"FIND",FORMULATEXT:"FORMULATEXT",FV:"FV",FVSCHEDULE:"FVSCHEDULE",HEX2BIN:"HEX2BIN",HEX2DEC:"HEX2DEC",HEX2OCT:"HEX2OCT",HLOOKUP:"HLOOKUP",HOUR:"HOUR",HYPERLINK:"HYPERLINK",IF:"IF",IFERROR:"IFERROR",IFNA:"IFNA",IFS:"IFS",INDEX:"INDEX",INT:"INT",INTERVAL:"INTERVAL",IPMT:"IPMT",ISBINARY:"ISBINARY",ISBLANK:"ISBLANK",ISERR:"ISERR",ISERROR:"ISERROR",ISEVEN:"ISEVEN",ISFORMULA:"ISFORMULA",ISLOGICAL:"ISLOGICAL",ISNA:"ISNA",ISNONTEXT:"ISNONTEXT",ISNUMBER:"ISNUMBER",ISODD:"ISODD",ISOWEEKNUM:"ISOWEEKNUM",ISPMT:"ISPMT",ISREF:"ISREF",ISTEXT:"ISTEXT",LEFT:"LEFT",LEN:"LEN",LN:"LN",LOG10:"LOG10",LOG:"LOG",LOWER:"LOWER",MATCH:"MATCH",MAX:"MAX",MAXA:"MAXA",MAXIFS:"MAXIFS",MAXPOOL:"MAXPOOL",MEDIAN:"MEDIAN",MEDIANPOOL:"MEDIANPOOL",MID:"MID",MIN:"MIN",MINA:"MINA",MINIFS:"MINIFS",MINUTE:"MINUTE",MIRR:"MIRR",MMULT:"MMULT",MOD:"MOD",MONTH:"MONTH",NA:"NA",NETWORKDAYS:"NETWORKDAYS","NETWORKDAYS.INTL":"NETWORKDAYS.INTL",NOMINAL:"NOMINAL",NOT:"NOT",NOW:"NOW",NPER:"NPER",NPV:"NPV",OCT2BIN:"OCT2BIN",OCT2DEC:"OCT2DEC",OCT2HEX:"OCT2HEX",ODD:"ODD",OFFSET:"OFFSET",OR:"OR",PI:"PI",PMT:"PMT",PDURATION:"PDURATION",PRODUCT:"PRODUCT",POWER:"POWER",PPMT:"PPMT",PROPER:"PROPER",PV:"PV",RADIANS:"RADIANS",RAND:"RAND",RATE:"RATE",REPLACE:"REPLACE",REPT:"REPT",RIGHT:"RIGHT",ROMAN:"ROMAN",ROUND:"ROUND",ROUNDDOWN:"ROUNDDOWN",ROUNDUP:"ROUNDUP",ROW:"ROW",ROWS:"ROWS",RRI:"RRI",SEARCH:"SEARCH",SEC:"SEC",SECH:"SECH",SECOND:"SECOND",SHEET:"SHEET",SHEETS:"SHEETS",SIN:"SIN",SINH:"SINH",SLN:"SLN",SPLIT:"SPLIT",SQRT:"SQRT",STDEVA:"STDEVA","STDEV.P":"STDEV.P",STDEVPA:"STDEVPA","STDEV.S":"STDEV.S",SUBSTITUTE:"SUBSTITUTE",SUBTOTAL:"SUBTOTAL",SUM:"SUM",SUMIF:"SUMIF",SUMIFS:"SUMIFS",SUMPRODUCT:"SUMPRODUCT",SUMSQ:"SUMSQ",SWITCH:"SWITCH",SYD:"SYD",T:"T",TAN:"TAN",TANH:"TANH",TBILLEQ:"TBILLEQ",TBILLPRICE:"TBILLPRICE",TBILLYIELD:"TBILLYIELD",TEXT:"TEXT",TIME:"TIME",TIMEVALUE:"TIMEVALUE",TODAY:"TODAY",TRANSPOSE:"TRANSPOSE",TRIM:"TRIM",TRUE:"TRUE",TRUNC:"TRUNC",UNICHAR:"UNICHAR",UNICODE:"UNICODE",UPPER:"UPPER",VARA:"VARA","VAR.P":"VAR.P",VARPA:"VARPA","VAR.S":"VAR.S",VLOOKUP:"VLOOKUP",WEEKDAY:"WEEKDAY",WEEKNUM:"WEEKNUM",WORKDAY:"WORKDAY","WORKDAY.INTL":"WORKDAY.INTL",XNPV:"XNPV",XOR:"XOR",XLOOKUP:"XLOOKUP",YEAR:"YEAR",YEARFRAC:"YEARFRAC","HF.ADD":"HF.ADD","HF.CONCAT":"HF.CONCAT","HF.DIVIDE":"HF.DIVIDE","HF.EQ":"HF.EQ","HF.GT":"HF.GT","HF.GTE":"HF.GTE","HF.LT":"HF.LT","HF.LTE":"HF.LTE","HF.MINUS":"HF.MINUS","HF.MULTIPLY":"HF.MULTIPLY","HF.NE":"HF.NE","HF.POW":"HF.POW","HF.UMINUS":"HF.UMINUS","HF.UNARY_PERCENT":"HF.UNARY_PERCENT","HF.UPLUS":"HF.UPLUS",VARP:"VARP",VAR:"VAR",STDEVP:"STDEVP",STDEV:"STDEV","EXPON.DIST":"EXPON.DIST",FISHER:"FISHER",FISHERINV:"FISHERINV",GAMMA:"GAMMA","GAMMA.DIST":"GAMMA.DIST",GAMMALN:"GAMMALN","GAMMALN.PRECISE":"GAMMALN.PRECISE","GAMMA.INV":"GAMMA.INV",GAUSS:"GAUSS",FACT:"FACT",FACTDOUBLE:"FACTDOUBLE",COMBIN:"COMBIN",COMBINA:"COMBINA",GCD:"GCD",LCM:"LCM",MROUND:"MROUND",MULTINOMIAL:"MULTINOMIAL",QUOTIENT:"QUOTIENT",RANDBETWEEN:"RANDBETWEEN",SERIESSUM:"SERIESSUM",SIGN:"SIGN",SQRTPI:"SQRTPI",SUMX2MY2:"SUMX2MY2",SUMX2PY2:"SUMX2PY2",SUMXMY2:"SUMXMY2",EXPONDIST:"EXPONDIST",GAMMADIST:"GAMMADIST",GAMMAINV:"GAMMAINV","BETA.DIST":"BETA.DIST",BETADIST:"BETADIST","BETA.INV":"BETA.INV",BETAINV:"BETAINV","BINOM.DIST":"BINOM.DIST",BINOMDIST:"BINOMDIST","BINOM.INV":"BINOM.INV",BESSELI:"BESSELI",BESSELJ:"BESSELJ",BESSELK:"BESSELK",BESSELY:"BESSELY","CHISQ.DIST":"CHISQ.DIST","CHISQ.DIST.RT":"CHISQ.DIST.RT","CHISQ.INV":"CHISQ.INV","CHISQ.INV.RT":"CHISQ.INV.RT",CHIDIST:"CHIDIST",CHIINV:"CHIINV","F.DIST":"F.DIST","F.DIST.RT":"F.DIST.RT","F.INV":"F.INV","F.INV.RT":"F.INV.RT",FDIST:"FDIST",FINV:"FINV",WEIBULL:"WEIBULL","WEIBULL.DIST":"WEIBULL.DIST",POISSON:"POISSON","POISSON.DIST":"POISSON.DIST","HYPGEOM.DIST":"HYPGEOM.DIST",HYPGEOMDIST:"HYPGEOMDIST","T.DIST":"T.DIST","T.DIST.2T":"T.DIST.2T","T.DIST.RT":"T.DIST.RT","T.INV":"T.INV","T.INV.2T":"T.INV.2T",TDIST:"TDIST",TINV:"TINV",LOGINV:"LOGINV","LOGNORM.DIST":"LOGNORM.DIST","LOGNORM.INV":"LOGNORM.INV",LOGNORMDIST:"LOGNORMDIST","NORM.DIST":"NORM.DIST","NORM.INV":"NORM.INV","NORM.S.DIST":"NORM.S.DIST","NORM.S.INV":"NORM.S.INV",NORMDIST:"NORMDIST",NORMINV:"NORMINV",NORMSDIST:"NORMSDIST",NORMSINV:"NORMSINV",PHI:"PHI","NEGBINOM.DIST":"NEGBINOM.DIST",NEGBINOMDIST:"NEGBINOMDIST",COMPLEX:"COMPLEX",IMABS:"IMABS",IMAGINARY:"IMAGINARY",IMARGUMENT:"IMARGUMENT",IMCONJUGATE:"IMCONJUGATE",IMCOS:"IMCOS",IMCOSH:"IMCOSH",IMCOT:"IMCOT",IMCSC:"IMCSC",IMCSCH:"IMCSCH",IMDIV:"IMDIV",IMEXP:"IMEXP",IMLN:"IMLN",IMLOG10:"IMLOG10",IMLOG2:"IMLOG2",IMPOWER:"IMPOWER",IMPRODUCT:"IMPRODUCT",IMREAL:"IMREAL",IMSEC:"IMSEC",IMSECH:"IMSECH",IMSIN:"IMSIN",IMSINH:"IMSINH",IMSQRT:"IMSQRT",IMSUB:"IMSUB",IMSUM:"IMSUM",IMTAN:"IMTAN",LARGE:"LARGE",SMALL:"SMALL",AVEDEV:"AVEDEV",CONFIDENCE:"CONFIDENCE","CONFIDENCE.NORM":"CONFIDENCE.NORM","CONFIDENCE.T":"CONFIDENCE.T",DEVSQ:"DEVSQ",GEOMEAN:"GEOMEAN",HARMEAN:"HARMEAN",CRITBINOM:"CRITBINOM","COVARIANCE.P":"COVARIANCE.P","COVARIANCE.S":"COVARIANCE.S",COVAR:"COVAR",PEARSON:"PEARSON",RSQ:"RSQ",STANDARDIZE:"STANDARDIZE","Z.TEST":"Z.TEST",ZTEST:"ZTEST","F.TEST":"F.TEST",FTEST:"FTEST",STEYX:"STEYX",SLOPE:"SLOPE","CHISQ.TEST":"CHISQ.TEST",CHITEST:"CHITEST","T.TEST":"T.TEST",TTEST:"TTEST",SKEW:"SKEW","SKEW.P":"SKEW.P",WEIBULLDIST:"WEIBULLDIST",VARS:"VARS",TINV2T:"TINV2T",TDISTRT:"TDISTRT",TDIST2T:"TDIST2T",STDEVS:"STDEVS",FINVRT:"FINVRT",FDISTRT:"FDISTRT",CHIDISTRT:"CHIDISTRT",CHIINVRT:"CHIINVRT",COVARIANCEP:"COVARIANCEP",COVARIANCES:"COVARIANCES",LOGNORMINV:"LOGNORMINV",POISSONDIST:"POISSONDIST",SKEWP:"SKEWP","CEILING.MATH":"CEILING.MATH",FLOOR:"FLOOR","FLOOR.MATH":"FLOOR.MATH","CEILING.PRECISE":"CEILING.PRECISE","FLOOR.PRECISE":"FLOOR.PRECISE","ISO.CEILING":"ISO.CEILING"},langCode:"enGB",ui:{NEW_SHEET_PREFIX:"Sheet"}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
var ji;!function(e){e[e.FullyAbsolute=1]="FullyAbsolute",e[e.RowAbsoluteColRelative=2]="RowAbsoluteColRelative",e[e.RowRelativeColAbsolute=3]="RowRelativeColAbsolute",e[e.FullyRelative=4]="FullyRelative"}(ji||(ji={}));class zi extends ln{verifyAddressArguments(e,t,r,n){if(n){if(e<1||t<1)return new Rr(nr.VALUE,q.LessThanOne)}else if(ji.FullyAbsolute==r){if(e<1||t<1)return new Rr(nr.VALUE,q.LessThanOne)}else if(ji.RowAbsoluteColRelative==r){if(e<1)return new Rr(nr.VALUE,q.LessThanOne)}else if(ji.RowRelativeColAbsolute==r&&t<1)return new Rr(nr.VALUE,q.LessThanOne)}address(e,t){return this.runFunction(e.args,t,this.metadata("ADDRESS"),((e,t,r,n,s)=>{const i=this.verifyAddressArguments(e,t,r,n);if(void 0!==i)return i;const o=I(t-1);let a="";null!=s&&(a=`${s}!`);const l=0==t?"C":`C[${t}]`,h=0==e?"R":`R[${e}]`;return ji.FullyRelative==r?n?`${a}${o}${e}`:`${a}${h}${l}`:ji.RowRelativeColAbsolute==r?n?`${a}$${o}${e}`:`${a}${h}C${t}`:ji.RowAbsoluteColRelative==r?n?`${a}${o}$${e}`:`${a}R${e}${l}`:n?`${a}$${o}$${e}`:`${a}R${e}C${t}`}))}}zi.implementedFunctions={ADDRESS:{method:"address",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER,optionalArg:!0,defaultValue:1,minValue:1,maxValue:4},{argumentType:an.BOOLEAN,optionalArg:!0,defaultValue:!0},{argumentType:an.STRING,optionalArg:!0}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class $i extends ln{arrayformula(e,t){return this.runFunction(e.args,t,this.metadata("ARRAYFORMULA"),(e=>e))}arrayformulaArraySize(e,t){if(1!==e.args.length)return hn.error();const r=this.metadata("ARRAYFORMULA");return e.args.map((e=>{var n;return this.arraySizeForAst(e,new Ur(t.formulaAddress,t.arraysFlag||null!==(n=null==r?void 0:r.arrayFunction)&&void 0!==n&&n))}))[0]}arrayconstrain(e,t){return this.runFunction(e.args,t,this.metadata("ARRAY_CONSTRAIN"),((e,t,r)=>{t=Math.min(t,e.height()),r=Math.min(r,e.width());const n=e.data,s=[];for(let e=0;e<t;e++)s.push(n[e].slice(0,r));return et.onlyValues(s)}))}arrayconstrainArraySize(e,t){if(3!==e.args.length)return hn.error();const r=this.metadata("ARRAY_CONSTRAIN"),n=e.args.map((e=>{var n;return this.arraySizeForAst(e,new Ur(t.formulaAddress,t.arraysFlag||null!==(n=null==r?void 0:r.arrayFunction)&&void 0!==n&&n))}));let{height:s,width:i}=n[0];return e.args[1].type===H.NUMBER&&(s=Math.min(s,e.args[1].value)),e.args[2].type===H.NUMBER&&(i=Math.min(i,e.args[2].value)),s<1||i<1||!Number.isInteger(s)||!Number.isInteger(i)?hn.error():new hn(i,s)}filter(e,t){return this.runFunction(e.args,t,this.metadata("FILTER"),((e,...t)=>{for(const r of t)if(e.width()!==r.width()||e.height()!==r.height())return new Rr(nr.NA,q.EqualLength);if(e.width()>1&&e.height()>1)return new Rr(nr.NA,q.WrongDimension);const r=e.data,n=[];for(let s=0;s<e.height();s++){const i=[];for(let n=0;n<e.width();n++){let e=!0;for(const r of t){if(!0!==zr(r.data[s][n])){e=!1;break}}e&&i.push(r[s][n])}i.length>0&&n.push(i)}return n.length>0?et.onlyValues(n):new Rr(nr.NA,q.EmptyRange)}))}filterArraySize(e,t){if(e.args.length<=1)return hn.error();const r=this.metadata("FILTER"),n=e.args.map((e=>{var n;return this.arraySizeForAst(e,new Ur(t.formulaAddress,t.arraysFlag||null!==(n=null==r?void 0:r.arrayFunction)&&void 0!==n&&n))})),s=Math.max(...n.map((e=>e.width))),i=Math.max(...n.map((e=>e.height)));return new hn(s,i)}}$i.implementedFunctions={ARRAYFORMULA:{method:"arrayformula",arraySizeMethod:"arrayformulaArraySize",arrayFunction:!0,parameters:[{argumentType:an.ANY}]},ARRAY_CONSTRAIN:{method:"arrayconstrain",arraySizeMethod:"arrayconstrainArraySize",parameters:[{argumentType:an.RANGE},{argumentType:an.INTEGER,minValue:1},{argumentType:an.INTEGER,minValue:1}],vectorizationForbidden:!0},FILTER:{method:"filter",arraySizeMethod:"filterArraySize",arrayFunction:!0,parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE}],repeatLastArgs:1}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ki extends ln{abs(e,t){return this.runFunction(e.args,t,this.metadata("ABS"),Math.abs)}}Ki.implementedFunctions={ABS:{method:"abs",parameters:[{argumentType:an.NUMBER}]}};class Xi extends ln{bitlshift(e,t){return this.runFunction(e.args,t,this.metadata("BITLSHIFT"),qi)}bitrshift(e,t){return this.runFunction(e.args,t,this.metadata("BITRSHIFT"),Qi)}}function qi(e,t){return t<0?Qi(e,-t):Zi(e*Math.pow(2,t))}function Qi(e,t){return t<0?qi(e,-t):Zi(Math.floor(e/Math.pow(2,t)))}function Zi(e){return e>0xffffffffffff?new Rr(nr.NUM,q.BitshiftLong):e}Xi.implementedFunctions={BITLSHIFT:{method:"bitlshift",parameters:[{argumentType:an.INTEGER,minValue:0},{argumentType:an.INTEGER,minValue:-53,maxValue:53}]},BITRSHIFT:{method:"bitrshift",parameters:[{argumentType:an.INTEGER,minValue:0},{argumentType:an.INTEGER,minValue:-53,maxValue:53}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ji extends ln{bitand(e,t){return this.runFunction(e.args,t,this.metadata("BITAND"),((e,t)=>e&t))}bitor(e,t){return this.runFunction(e.args,t,this.metadata("BITOR"),((e,t)=>e|t))}bitxor(e,t){return this.runFunction(e.args,t,this.metadata("BITXOR"),((e,t)=>e^t))}}Ji.implementedFunctions={BITAND:{method:"bitand",parameters:[{argumentType:an.INTEGER,minValue:0},{argumentType:an.INTEGER,minValue:0}]},BITOR:{method:"bitor",parameters:[{argumentType:an.INTEGER,minValue:0},{argumentType:an.INTEGER,minValue:0}]},BITXOR:{method:"bitxor",parameters:[{argumentType:an.INTEGER,minValue:0},{argumentType:an.INTEGER,minValue:0}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class eo extends ln{literalTrue(e,t){return this.runFunction(e.args,t,this.metadata("TRUE"),(()=>!0))}literalFalse(e,t){return this.runFunction(e.args,t,this.metadata("FALSE"),(()=>!1))}conditionalIf(e,t){return this.runFunction(e.args,t,this.metadata("IF"),((e,t,r)=>e?t:r))}ifs(e,t){return this.runFunction(e.args,t,this.metadata("IFS"),((...e)=>{for(let t=0;t<e.length;t+=2)if(e[t])return e[t+1];return new Rr(nr.NA,q.NoConditionMet)}))}and(e,t){return this.runFunction(e.args,t,this.metadata("AND"),((...e)=>e.filter((e=>void 0!==e)).every((e=>!!e))))}or(e,t){return this.runFunction(e.args,t,this.metadata("OR"),((...e)=>e.filter((e=>void 0!==e)).some((e=>e))))}not(e,t){return this.runFunction(e.args,t,this.metadata("NOT"),(e=>!e))}xor(e,t){return this.runFunction(e.args,t,this.metadata("XOR"),((...e)=>{let t=0;return e.filter((e=>void 0!==e)).forEach((e=>{e&&t++})),t%2==1}))}switch(e,t){return this.runFunction(e.args,t,this.metadata("SWITCH"),((e,...t)=>{const r=t.length;let n=0;for(;n+1<r;n+=2)if(!(t[n]instanceof Rr)&&this.arithmeticHelper.eq(e,t[n]))return t[n+1];return n<r?t[n]:new Rr(nr.NA,q.NoDefault)}))}iferror(e,t){return this.runFunction(e.args,t,this.metadata("IFERROR"),((e,t)=>e instanceof Rr?t:e))}ifna(e,t){return this.runFunction(e.args,t,this.metadata("IFNA"),((e,t)=>e instanceof Rr&&e.type===nr.NA?t:e))}choose(e,t){return this.runFunction(e.args,t,this.metadata("CHOOSE"),((e,...t)=>e>t.length?new Rr(nr.NUM,q.Selector):t[e-1]))}}eo.implementedFunctions={TRUE:{method:"literalTrue",parameters:[]},FALSE:{method:"literalFalse",parameters:[]},IF:{method:"conditionalIf",parameters:[{argumentType:an.BOOLEAN},{argumentType:an.SCALAR,passSubtype:!0},{argumentType:an.SCALAR,defaultValue:!1,passSubtype:!0}]},IFS:{method:"ifs",parameters:[{argumentType:an.BOOLEAN},{argumentType:an.SCALAR,passSubtype:!0}],repeatLastArgs:2},AND:{method:"and",parameters:[{argumentType:an.BOOLEAN}],repeatLastArgs:1,expandRanges:!0},OR:{method:"or",parameters:[{argumentType:an.BOOLEAN}],repeatLastArgs:1,expandRanges:!0},XOR:{method:"xor",parameters:[{argumentType:an.BOOLEAN}],repeatLastArgs:1,expandRanges:!0},NOT:{method:"not",parameters:[{argumentType:an.BOOLEAN}]},SWITCH:{method:"switch",parameters:[{argumentType:an.NOERROR},{argumentType:an.SCALAR,passSubtype:!0},{argumentType:an.SCALAR,passSubtype:!0}],repeatLastArgs:1},IFERROR:{method:"iferror",parameters:[{argumentType:an.SCALAR,passSubtype:!0},{argumentType:an.SCALAR,passSubtype:!0}]},IFNA:{method:"ifna",parameters:[{argumentType:an.SCALAR,passSubtype:!0},{argumentType:an.SCALAR,passSubtype:!0}]},CHOOSE:{method:"choose",parameters:[{argumentType:an.INTEGER,minValue:1},{argumentType:an.SCALAR,passSubtype:!0}],repeatLastArgs:1}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class to extends ln{char(e,t){return this.runFunction(e.args,t,this.metadata("CHAR"),(e=>e<1||e>=256?new Rr(nr.VALUE,q.CharacterCodeBounds):String.fromCharCode(Math.trunc(e))))}unichar(e,t){return this.runFunction(e.args,t,this.metadata("CHAR"),(e=>e<1||e>=1114112?new Rr(nr.VALUE,q.CharacterCodeBounds):String.fromCodePoint(Math.trunc(e))))}}to.implementedFunctions={CHAR:{method:"char",parameters:[{argumentType:an.NUMBER}]},UNICHAR:{method:"unichar",parameters:[{argumentType:an.NUMBER}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class ro extends ln{code(e,t){return this.runFunction(e.args,t,this.metadata("CODE"),(e=>0===e.length?new Rr(nr.VALUE,q.EmptyString):e.charCodeAt(0)))}unicode(e,t){return this.runFunction(e.args,t,this.metadata("UNICODE"),(e=>{var t;return null!==(t=e.codePointAt(0))&&void 0!==t?t:new Rr(nr.VALUE,q.EmptyString)}))}}ro.implementedFunctions={CODE:{method:"code",parameters:[{argumentType:an.STRING}]},UNICODE:{method:"unicode",parameters:[{argumentType:an.STRING}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class no extends ln{countblank(e,t){return this.runFunction(e.args,t,this.metadata("COUNTBLANK"),((...e)=>{let t=0;return e.forEach((e=>{e===Be&&t++})),t}))}}no.implementedFunctions={COUNTBLANK:{method:"countblank",parameters:[{argumentType:an.SCALAR}],repeatLastArgs:1,expandRanges:!0}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class so extends ln{countunique(e,t){return this.runFunction(e.args,t,this.metadata("COUNTUNIQUE"),((...e)=>{const t=new Set,r=new Set;for(const n of e)n instanceof Rr?r.add(n.type):""!==n&&t.add(n);return t.size+r.size}))}}so.implementedFunctions={COUNTUNIQUE:{method:"countunique",parameters:[{argumentType:an.SCALAR}],repeatLastArgs:1,expandRanges:!0}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class io extends ln{constructor(){super(...arguments),this.isoweeknumCore=e=>{const t=Math.floor(this.dateTimeHelper.relativeNumberToAbsoluteNumber(e)),r=this.dateTimeHelper.numberToSimpleDate(e),n=this.dateTimeHelper.dateToNumber({year:r.year,month:1,day:1}),s=this.dateTimeHelper.relativeNumberToAbsoluteNumber(n),i=s+((4-s)%7+7)%7,o=Math.floor((t-1)/7)-Math.floor((i-1)/7)+1;return 0===o?this.isoweeknumCore(e-7)+1:o},this.days360Core=(e,t,r)=>{const n=this.dateTimeHelper.numberToSimpleDate(e),s=this.dateTimeHelper.numberToSimpleDate(t);let i,o;return r?(i=kn(n),o=kn(s)):[i,o]=this.dateTimeHelper.toBasisUS(n,s),360*(o.year-i.year)+30*(o.month-i.month)+o.day-i.day}}date(e,t){return this.runFunction(e.args,t,this.metadata("DATE"),((e,t,r)=>{const n=Math.trunc(r);let s=Math.trunc(t),i=Math.trunc(e);i<this.dateTimeHelper.getEpochYearZero()&&(i+=this.dateTimeHelper.getEpochYearZero());const o=Math.floor((s-1)/12);i+=o,s-=12*o;const a={year:i,month:s,day:1};if(this.dateTimeHelper.isValidDate(a)){let e=this.dateTimeHelper.dateToNumber(a)+(n-1);return e=this.dateTimeHelper.getWithinBounds(e),void 0===e?new Rr(nr.NUM,q.DateBounds):e}return new Rr(nr.VALUE,q.InvalidDate)}))}time(e,t){return this.runFunction(e.args,t,this.metadata("TIME"),((e,t,r)=>{const n=Dn({hours:Math.trunc(e),minutes:Math.trunc(t),seconds:Math.trunc(r)});return n<0?new Rr(nr.NUM,q.NegativeTime):n%1}))}eomonth(e,t){return this.runFunction(e.args,t,this.metadata("EOMONTH"),((e,t)=>{const r=this.dateTimeHelper.numberToSimpleDate(e);let n=this.dateTimeHelper.dateToNumber(this.dateTimeHelper.endOfMonth(xn(r,t)));return n=this.dateTimeHelper.getWithinBounds(n),void 0===n?new Rr(nr.NUM,q.DateBounds):n}))}day(e,t){return this.runFunction(e.args,t,this.metadata("DAY"),(e=>this.dateTimeHelper.numberToSimpleDate(e).day))}days(e,t){return this.runFunction(e.args,t,this.metadata("DAYS"),((e,t)=>Math.trunc(e)-Math.trunc(t)))}month(e,t){return this.runFunction(e.args,t,this.metadata("MONTH"),(e=>this.dateTimeHelper.numberToSimpleDate(e).month))}year(e,t){return this.runFunction(e.args,t,this.metadata("YEAR"),(e=>this.dateTimeHelper.numberToSimpleDate(e).year))}hour(e,t){return this.runFunction(e.args,t,this.metadata("HOUR"),(e=>Ln(Pn(e)%1).hours))}minute(e,t){return this.runFunction(e.args,t,this.metadata("MINUTE"),(e=>Ln(Pn(e)%1).minutes))}second(e,t){return this.runFunction(e.args,t,this.metadata("SECOND"),(e=>Ln(Pn(e)%1).seconds))}text(e,t){return this.runFunction(e.args,t,this.metadata("TEXT"),((e,t)=>zn(e,t,this.config,this.dateTimeHelper)))}weekday(e,t){return this.runFunction(e.args,t,this.metadata("WEEKDAY"),((e,t)=>{const r=Math.floor(this.dateTimeHelper.relativeNumberToAbsoluteNumber(e));if(3===t)return(r-1)%7;const n=lo.get(t);return void 0===n?new Rr(nr.NUM,q.BadMode):(r-n)%7+1}))}weeknum(e,t){return this.runFunction(e.args,t,this.metadata("WEEKNUM"),((e,t)=>{const r=Math.floor(this.dateTimeHelper.relativeNumberToAbsoluteNumber(e)),n=this.dateTimeHelper.numberToSimpleDate(e),s=this.dateTimeHelper.dateToNumber({year:n.year,month:1,day:1}),i=this.dateTimeHelper.relativeNumberToAbsoluteNumber(s);if(21===t)return this.isoweeknumCore(e);const o=lo.get(t);return void 0===o?new Rr(nr.NUM,q.BadMode):Math.floor((r-o)/7)-Math.floor((i-o)/7)+1}))}isoweeknum(e,t){return this.runFunction(e.args,t,this.metadata("ISOWEEKNUM"),this.isoweeknumCore)}datevalue(e,t){return this.runFunction(e.args,t,this.metadata("DATEVALUE"),(e=>{const{dateTime:t}=this.dateTimeHelper.parseDateTimeFromConfigFormats(e);return void 0===t?new Rr(nr.VALUE,q.IncorrectDateTime):bn(t)?(On(t)?Math.trunc(Dn(t)):0)+this.dateTimeHelper.dateToNumber(t):0}))}timevalue(e,t){return this.runFunction(e.args,t,this.metadata("TIMEVALUE"),(e=>{const t=this.dateTimeHelper.dateStringToDateNumber(e);return void 0===t?new Rr(nr.VALUE,q.IncorrectDateTime):We(t)%1}))}now(e,t){return this.runFunction(e.args,t,this.metadata("NOW"),(()=>{const e=new Date(Date.now());return Dn({hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds()})+this.dateTimeHelper.dateToNumber({year:e.getFullYear(),month:e.getMonth()+1,day:e.getDate()})}))}today(e,t){return this.runFunction(e.args,t,this.metadata("TODAY"),(()=>{const e=new Date(Date.now());return this.dateTimeHelper.dateToNumber({year:e.getFullYear(),month:e.getMonth()+1,day:e.getDate()})}))}edate(e,t){return this.runFunction(e.args,t,this.metadata("EDATE"),((e,t)=>{const r=function(e){return{year:e.year,month:e.month,day:Math.min(e.day,Mn[e.month-1])}}(xn(this.dateTimeHelper.numberToSimpleDate(e),t));let n=this.dateTimeHelper.dateToNumber(r);return n=this.dateTimeHelper.getWithinBounds(n),void 0===n?new Rr(nr.NUM,q.DateBounds):n}))}datedif(e,t){return this.runFunction(e.args,t,this.metadata("DATEDIF"),((e,t,r)=>{if(e>t)return new Rr(nr.NUM,q.StartEndDate);if("D"===r)return Math.floor(t)-Math.floor(e);const n=this.dateTimeHelper.numberToSimpleDate(e),s=this.dateTimeHelper.numberToSimpleDate(t);switch(r){case"M":return 12*(s.year-n.year)+(s.month-n.month)-(s.day<n.day?1:0);case"YM":return(s.month-n.month+12-(s.day<n.day?1:0))%12;case"Y":return s.month>n.month||s.month===n.month&&s.day>=n.day?s.year-n.year:s.year-n.year-1;case"MD":if(s.day>=n.day)return s.day-n.day;{const e=1===s.month?12:s.month-1,t=1===s.month?s.year-1:s.year;return this.dateTimeHelper.daysInMonth(t,e)+s.day-n.day}case"YD":return s.month>n.month||s.month===n.month&&s.day>=n.day?Math.floor(t)-this.dateTimeHelper.dateToNumber({year:s.year,month:n.month,day:n.day}):Math.floor(t)-Math.floor(e)-365*(s.year-n.year-1)-this.dateTimeHelper.leapYearsCount(s.year-1)+this.dateTimeHelper.leapYearsCount(n.year);default:return new Rr(nr.NUM,q.BadMode)}}))}days360(e,t){return this.runFunction(e.args,t,this.metadata("DAYS360"),this.days360Core)}yearfrac(e,t){return this.runFunction(e.args,t,this.metadata("YEARFRAC"),((e,t,r)=>{switch((e=Math.trunc(e))>(t=Math.trunc(t))&&([e,t]=[t,e]),r){case 0:return this.days360Core(e,t,!1)/360;case 1:return(t-e)/this.dateTimeHelper.yearLengthForBasis(this.dateTimeHelper.numberToSimpleDate(e),this.dateTimeHelper.numberToSimpleDate(t));case 2:return(t-e)/360;case 3:return(t-e)/365;case 4:return this.days360Core(e,t,!0)/360}throw new Error("Should not be reachable.")}))}interval(e,t){return this.runFunction(e.args,t,this.metadata("INTERVAL"),(e=>{const t=(e=Math.trunc(e))%60,r=(e=Math.trunc(e/60))%60,n=(e=Math.trunc(e/60))%24,s=(e=Math.trunc(e/24))%30,i=(e=Math.trunc(e/30))%12,o=Math.trunc(e/12);return"P"+(o>0?`${o}Y`:"")+(i>0?`${i}M`:"")+(s>0?`${s}D`:"")+"T"+(n>0?`${n}H`:"")+(r>0?`${r}M`:"")+(t>0?`${t}S`:"")}))}networkdays(e,t){return this.runFunction(e.args,t,this.metadata("NETWORKDAYS"),((e,t,r)=>this.networkdayscore(e,t,1,r)))}networkdaysintl(e,t){return this.runFunction(e.args,t,this.metadata("NETWORKDAYS.INTL"),((e,t,r,n)=>this.networkdayscore(e,t,r,n)))}workday(e,t){return this.runFunction(e.args,t,this.metadata("WORKDAY"),((e,t,r)=>this.workdaycore(e,t,1,r)))}workdayintl(e,t){return this.runFunction(e.args,t,this.metadata("WORKDAY.INTL"),((e,t,r,n)=>this.workdaycore(e,t,r,n)))}networkdayscore(e,t,r,n){let s=1;(e=Math.trunc(e))>(t=Math.trunc(t))&&([e,t]=[t,e],s=-1);const i=ao(r);if(i instanceof Rr)return i;const o=this.simpleRangeToFilteredHolidays(i,n);return o instanceof Rr?o:s*this.countWorkdays(e,t,i,o)}workdaycore(e,t,r,n){e=Math.trunc(e),t=Math.trunc(t);const s=ao(r);if(s instanceof Rr)return s;const i=this.simpleRangeToFilteredHolidays(s,n);if(i instanceof Rr)return i;if(t>0){let r=1;for(;this.countWorkdays(e+1,e+r,s,i)<t;)r*=2;let n=1;for(;n+1<r;){const o=Math.trunc((n+r)/2);this.countWorkdays(e+1,e+o,s,i)<t?n=o:r=o}return e+r}if(t<0){t*=-1;let r=1;for(;this.countWorkdays(e-r,e-1,s,i)<t;)r*=2;let n=1;for(;n+1<r;){const o=Math.trunc((n+r)/2);this.countWorkdays(e-o,e-1,s,i)<t?n=o:r=o}return e-r}return e}countWorkdays(e,t,r,n){const s=Math.floor(this.dateTimeHelper.relativeNumberToAbsoluteNumber(t)),i=Math.floor(this.dateTimeHelper.relativeNumberToAbsoluteNumber(e));let o=0;for(let e=0;e<7;e++)"0"===r.charAt(e)&&(o+=Math.floor((s+6-e)/7),o-=Math.floor((i-1+6-e)/7));return o-=oo(t+1,n)-oo(e,n),o}simpleRangeToFilteredHolidays(e,t){var r;const n=null!==(r=null==t?void 0:t.valuesFromTopLeftCorner())&&void 0!==r?r:[];for(const e of n)if(e instanceof Rr)return e;const s=[];for(const e of n)if(e!==Be){if(!qe(e))return new Rr(nr.VALUE,q.WrongType);s.push(Math.trunc(We(e)))}return[...new Set(s)].sort(((e,t)=>e-t)).filter((t=>{const r=(this.dateTimeHelper.relativeNumberToAbsoluteNumber(t)-1)%7;return"0"===e.charAt(r)}))}}function oo(e,t){if(0===t.length)return 0;if(e<=t[0])return 0;if(t[t.length-1]<e)return t.length;let r=0,n=t.length-1;for(;r+1<n;){const s=Math.floor((n+r)/2);t[s]>=e?n=s:r=s}return n}function ao(e){var t;return"number"!=typeof e&&"string"!=typeof e?new Rr(nr.VALUE,q.WrongType):"string"==typeof e?7===e.length&&/^(0|1)*$/.test(e)&&"1111111"!==e?e:new Rr(nr.NUM,q.WeekendString):null!==(t=ho.get(e))&&void 0!==t?t:new Rr(nr.NUM,q.BadMode)}io.implementedFunctions={DATE:{method:"date",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER}],returnNumberType:Qe.NUMBER_DATE},TIME:{method:"time",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER}],returnNumberType:Qe.NUMBER_TIME},MONTH:{method:"month",parameters:[{argumentType:an.NUMBER,minValue:0}]},YEAR:{method:"year",parameters:[{argumentType:an.NUMBER,minValue:0}]},HOUR:{method:"hour",parameters:[{argumentType:an.NUMBER,minValue:0}]},MINUTE:{method:"minute",parameters:[{argumentType:an.NUMBER,minValue:0}]},SECOND:{method:"second",parameters:[{argumentType:an.NUMBER,minValue:0}]},TEXT:{method:"text",parameters:[{argumentType:an.NUMBER},{argumentType:an.STRING}]},EOMONTH:{method:"eomonth",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER}],returnNumberType:Qe.NUMBER_DATE},DAY:{method:"day",parameters:[{argumentType:an.NUMBER,minValue:0}]},DAYS:{method:"days",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0}]},WEEKDAY:{method:"weekday",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,defaultValue:1}]},WEEKNUM:{method:"weeknum",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,defaultValue:1}]},ISOWEEKNUM:{method:"isoweeknum",parameters:[{argumentType:an.NUMBER,minValue:0}]},DATEVALUE:{method:"datevalue",parameters:[{argumentType:an.STRING}],returnNumberType:Qe.NUMBER_DATE},TIMEVALUE:{method:"timevalue",parameters:[{argumentType:an.STRING}],returnNumberType:Qe.NUMBER_TIME},NOW:{method:"now",parameters:[],isVolatile:!0,returnNumberType:Qe.NUMBER_DATETIME},TODAY:{method:"today",parameters:[],isVolatile:!0,returnNumberType:Qe.NUMBER_DATE},EDATE:{method:"edate",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER}],returnNumberType:Qe.NUMBER_DATE},DAYS360:{method:"days360",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0},{argumentType:an.BOOLEAN,defaultValue:!1}]},DATEDIF:{method:"datedif",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0},{argumentType:an.STRING}]},YEARFRAC:{method:"yearfrac",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0},{argumentType:an.INTEGER,defaultValue:0,minValue:0,maxValue:4}]},INTERVAL:{method:"interval",parameters:[{argumentType:an.NUMBER,minValue:0}]},NETWORKDAYS:{method:"networkdays",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0},{argumentType:an.RANGE,optionalArg:!0}]},"NETWORKDAYS.INTL":{method:"networkdaysintl",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0},{argumentType:an.NOERROR,defaultValue:1},{argumentType:an.RANGE,optionalArg:!0}]},WORKDAY:{method:"workday",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER},{argumentType:an.RANGE,optionalArg:!0}]},"WORKDAY.INTL":{method:"workdayintl",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER},{argumentType:an.NOERROR,defaultValue:1},{argumentType:an.RANGE,optionalArg:!0}]}};const lo=new Map([[1,0],[2,1],[11,1],[12,2],[13,3],[14,4],[15,5],[16,6],[17,0]]),ho=new Map([[1,"0000011"],[2,"1000001"],[3,"1100000"],[4,"0110000"],[5,"0011000"],[6,"0001100"],[7,"0000110"],[11,"0000001"],[12,"1000000"],[13,"0100000"],[14,"0010000"],[15,"0001000"],[16,"0000100"],[17,"0000010"]]);
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class uo extends ln{degrees(e,t){return this.runFunction(e.args,t,this.metadata("DEGREES"),(e=>e*(180/Math.PI)))}}uo.implementedFunctions={DEGREES:{method:"degrees",parameters:[{argumentType:an.NUMBER}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class co extends ln{delta(e,t){return this.runFunction(e.args,t,this.metadata("DELTA"),((e,t)=>e===t?1:0))}}co.implementedFunctions={DELTA:{method:"delta",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:0}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class po extends ln{exp(e,t){return this.runFunction(e.args,t,this.metadata("EXP"),Math.exp)}}po.implementedFunctions={EXP:{method:"exp",parameters:[{argumentType:an.NUMBER}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class go extends ln{pmt(e,t){return this.runFunction(e.args,t,this.metadata("PMT"),fo)}ipmt(e,t){return this.runFunction(e.args,t,this.metadata("IPMT"),mo)}ppmt(e,t){return this.runFunction(e.args,t,this.metadata("PPMT"),Eo)}fv(e,t){return this.runFunction(e.args,t,this.metadata("FV"),yo)}cumipmt(e,t){return this.runFunction(e.args,t,this.metadata("CUMIPMT"),((e,t,r,n,s,i)=>{if(n>s)return new Rr(nr.NUM,q.EndStartPeriod);let o=0;for(let a=n;a<=s;a++)o+=mo(e,a,t,r,0,i);return o}))}cumprinc(e,t){return this.runFunction(e.args,t,this.metadata("CUMPRINC"),((e,t,r,n,s,i)=>{if(n>s)return new Rr(nr.NUM,q.EndStartPeriod);let o=0;for(let a=n;a<=s;a++)o+=Eo(e,a,t,r,0,i);return o}))}db(e,t){return this.runFunction(e.args,t,this.metadata("DB"),((e,t,r,n,s)=>{if(12===s&&n>r||n>r+1)return new Rr(nr.NUM,q.PeriodLong);if(t>=e)return 0;const i=Math.round(1e3*(1-Math.pow(t/e,1/r)))/1e3,o=e*i*s/12;if(1===n)return o;let a=o;for(let t=0;t<n-2;t++)a+=(e-a)*i;return n===r+1?(e-a)*i*(12-s)/12:(e-a)*i}))}ddb(e,t){return this.runFunction(e.args,t,this.metadata("DDB"),((e,t,r,n,s)=>{if(n>r)return new Rr(nr.NUM);let i,o=s/r;o>=1?(o=1,i=1===n?e:0):i=e*Math.pow(1-o,n-1);const a=e*Math.pow(1-o,n);return Math.max(i-Math.max(t,a),0)}))}dollarde(e,t){return this.runFunction(e.args,t,this.metadata("DOLLARDE"),((e,t)=>{if(t<1)return new Rr(nr.DIV_BY_ZERO);for(t=Math.trunc(t);t>10;)t/=10;return Math.trunc(e)+10*(e-Math.trunc(e))/t}))}dollarfr(e,t){return this.runFunction(e.args,t,this.metadata("DOLLARFR"),((e,t)=>{if(t<1)return new Rr(nr.DIV_BY_ZERO);for(t=Math.trunc(t);t>10;)t/=10;return Math.trunc(e)+(e-Math.trunc(e))*t/10}))}effect(e,t){return this.runFunction(e.args,t,this.metadata("EFFECT"),((e,t)=>(t=Math.trunc(t),Math.pow(1+e/t,t)-1)))}ispmt(e,t){return this.runFunction(e.args,t,this.metadata("ISPMT"),((e,t,r,n)=>0===r?new Rr(nr.DIV_BY_ZERO):n*e*(t/r-1)))}nominal(e,t){return this.runFunction(e.args,t,this.metadata("NOMINAL"),((e,t)=>(t=Math.trunc(t),(Math.pow(e+1,1/t)-1)*t)))}nper(e,t){return this.runFunction(e.args,t,this.metadata("NPER"),((e,t,r,n,s)=>0===e?0===t?new Rr(nr.DIV_BY_ZERO):(-r-n)/t:(s&&(t*=1+e),Math.log((t-n*e)/(r*e+t))/Math.log(1+e))))}rate(e,t){return this.runFunction(e.args,t,this.metadata("RATE"),((e,t,r,n,s,i)=>{if(i<=-1)return new Rr(nr.VALUE);const o=1e-7;let a=i;s=s?1:0;for(let i=0;i<50;i++){if(a<=-1)return new Rr(nr.NUM);let i,l;if(Math.abs(a)<o)i=r*(1+e*a)+t*(1+a*s)*e+n;else{const o=Math.pow(1+a,e);i=r*o+t*(1/a+s)*(o-1)+n}if(Math.abs(i)<o)return a;if(Math.abs(a)<o)l=r*e+t*s*e;else{const n=Math.pow(1+a,e),i=e*Math.pow(1+a,e-1);l=r*i+t*(1/a+s)*i+t*(-1/(a*a))*(n-1)}a-=i/l}return new Rr(nr.NUM)}))}pv(e,t){return this.runFunction(e.args,t,this.metadata("PV"),((e,t,r,n,s)=>(s=s?1:0,-1===e?new Rr(0===t?nr.NUM:nr.DIV_BY_ZERO):0===e?-r*t-n:((1-Math.pow(1+e,t))*r*(1+e*s)/e-n)/Math.pow(1+e,t))))}rri(e,t){return this.runFunction(e.args,t,this.metadata("RRI"),((e,t,r)=>0===t||r<0&&t>0||r>0&&t<0?new Rr(nr.NUM):Math.pow(r/t,1/e)-1))}sln(e,t){return this.runFunction(e.args,t,this.metadata("SLN"),((e,t,r)=>0===r?new Rr(nr.DIV_BY_ZERO):(e-t)/r))}syd(e,t){return this.runFunction(e.args,t,this.metadata("SYD"),((e,t,r,n)=>n>r?new Rr(nr.NUM):(e-t)*(r-n+1)*2/(r*(r+1))))}tbilleq(e,t){return this.runFunction(e.args,t,this.metadata("TBILLEQ"),((e,t,r)=>{if((e=Math.round(e))>=(t=Math.round(t)))return new Rr(nr.NUM);const n=this.dateTimeHelper.numberToSimpleDate(e),s=this.dateTimeHelper.numberToSimpleDate(t);if(s.year>n.year+1||s.year===n.year+1&&(s.month>n.month||s.month===n.month&&s.day>n.day))return new Rr(nr.NUM);const i=360-r*(t-e);return 0===i?0:i<0?new Rr(nr.NUM):365*r/i}))}tbillprice(e,t){return this.runFunction(e.args,t,this.metadata("TBILLPRICE"),((e,t,r)=>{if((e=Math.round(e))>=(t=Math.round(t)))return new Rr(nr.NUM);const n=this.dateTimeHelper.numberToSimpleDate(e),s=this.dateTimeHelper.numberToSimpleDate(t);if(s.year>n.year+1||s.year===n.year+1&&(s.month>n.month||s.month===n.month&&s.day>n.day))return new Rr(nr.NUM);const i=360-r*(t-e);return 0===i?0:i<0?new Rr(nr.NUM):100*(1-r*(t-e)/360)}))}tbillyield(e,t){return this.runFunction(e.args,t,this.metadata("TBILLYIELD"),((e,t,r)=>{if((e=Math.round(e))>=(t=Math.round(t)))return new Rr(nr.NUM);const n=this.dateTimeHelper.numberToSimpleDate(e),s=this.dateTimeHelper.numberToSimpleDate(t);return s.year>n.year+1||s.year===n.year+1&&(s.month>n.month||s.month===n.month&&s.day>n.day)?new Rr(nr.NUM):360*(100-r)/(r*(t-e))}))}fvschedule(e,t){return this.runFunction(e.args,t,this.metadata("FVSCHEDULE"),((e,t)=>{const r=t.valuesFromTopLeftCorner();for(const e of r)if(e instanceof Rr)return e;for(const t of r)if(qe(t))e*=1+We(t);else if(t!==Be)return new Rr(nr.VALUE,q.NumberExpected);return e}))}npv(e,t){return this.runFunction(e.args,t,this.metadata("NPV"),((e,...t)=>{const r=this.arithmeticHelper.coerceNumbersExactRanges(t);return r instanceof Rr?r:wo(e,r)}))}mirr(e,t){return this.runFunction(e.args,t,this.metadata("MIRR"),((e,t,r)=>{const n=this.arithmeticHelper.manyToExactNumbers(e.valuesFromTopLeftCorner());if(n instanceof Rr)return n;let s=!1,i=!1;const o=[],a=[];for(const e of n)e>0?(s=!0,o.push(e),a.push(0)):e<0?(i=!0,a.push(e),o.push(0)):(a.push(0),o.push(0));if(!s||!i)return new Rr(nr.DIV_BY_ZERO);const l=n.length,h=wo(r,o);if(h instanceof Rr)return h;const u=wo(t,a);return u instanceof Rr?u:Math.pow(-h*Math.pow(1+r,l)/u/(1+t),1/(l-1))-1}))}pduration(e,t){return this.runFunction(e.args,t,this.metadata("PDURATION"),((e,t,r)=>(Math.log(r)-Math.log(t))/Math.log(1+e)))}xnpv(e,t){return this.runFunction(e.args,t,this.metadata("XNPV"),((e,t,r)=>{const n=t.valuesFromTopLeftCorner();for(const e of n)if("number"!=typeof e)return new Rr(nr.VALUE,q.NumberExpected);const s=n,i=r.valuesFromTopLeftCorner();for(const e of i)if("number"!=typeof e)return new Rr(nr.VALUE,q.NumberExpected);const o=i;if(o.length!==s.length)return new Rr(nr.NUM,q.EqualLength);const a=o.length;let l=0;if(o[0]<0)return new Rr(nr.NUM,q.ValueSmall);for(let t=0;t<a;t++){if(o[t]=Math.floor(o[t]),o[t]<o[0])return new Rr(nr.NUM,q.ValueSmall);l+=s[t]/Math.pow(1+e,(o[t]-o[0])/365)}return l}))}}function fo(e,t,r,n,s){if(0===e)return(-r-n)/t;{const i=Math.pow(1+e,t);return(n*e+r*e*i)*(s?1/(1+e):1)/(1-i)}}function mo(e,t,r,n,s,i){const o=fo(e,r,n,s,i);return 1===t?e*(i?0:-n):e*(i?yo(e,t-2,o,n,i)-o:yo(e,t-1,o,n,i))}function yo(e,t,r,n,s){if(0===e)return-n-r*t;{const i=Math.pow(1+e,t);return r*(s?1+e:1)*(1-i)/e-n*i}}function Eo(e,t,r,n,s,i){return fo(e,r,n,s,i)-mo(e,t,r,n,s,i)}function wo(e,t){let r=0;for(let n=t.length-1;n>=0;n--){if(r+=t[n],-1===e){if(0===r)continue;return new Rr(nr.DIV_BY_ZERO)}r/=1+e}return r}go.implementedFunctions={PMT:{method:"pmt",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:0},{argumentType:an.NUMBER,defaultValue:0}],returnNumberType:Qe.NUMBER_CURRENCY},IPMT:{method:"ipmt",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:0},{argumentType:an.NUMBER,defaultValue:0}],returnNumberType:Qe.NUMBER_CURRENCY},PPMT:{method:"ppmt",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:0},{argumentType:an.NUMBER,defaultValue:0}],returnNumberType:Qe.NUMBER_CURRENCY},FV:{method:"fv",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:0},{argumentType:an.NUMBER,defaultValue:0}],returnNumberType:Qe.NUMBER_CURRENCY},CUMIPMT:{method:"cumipmt",parameters:[{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.INTEGER,minValue:1},{argumentType:an.INTEGER,minValue:1},{argumentType:an.INTEGER,minValue:0,maxValue:1}],returnNumberType:Qe.NUMBER_CURRENCY},CUMPRINC:{method:"cumprinc",parameters:[{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.INTEGER,minValue:1},{argumentType:an.INTEGER,minValue:1},{argumentType:an.INTEGER,minValue:0,maxValue:1}],returnNumberType:Qe.NUMBER_CURRENCY},DB:{method:"db",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0},{argumentType:an.INTEGER,minValue:0},{argumentType:an.INTEGER,minValue:0},{argumentType:an.INTEGER,minValue:1,maxValue:12,defaultValue:12}],returnNumberType:Qe.NUMBER_CURRENCY},DDB:{method:"ddb",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0},{argumentType:an.INTEGER,minValue:0},{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,greaterThan:0,defaultValue:2}],returnNumberType:Qe.NUMBER_CURRENCY},DOLLARDE:{method:"dollarde",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,minValue:0}]},DOLLARFR:{method:"dollarfr",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,minValue:0}]},EFFECT:{method:"effect",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:1}],returnNumberType:Qe.NUMBER_PERCENT},ISPMT:{method:"ispmt",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER}]},NOMINAL:{method:"nominal",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:1}],returnNumberType:Qe.NUMBER_PERCENT},NPER:{method:"nper",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:0},{argumentType:an.NUMBER,defaultValue:0}]},PV:{method:"pv",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:0},{argumentType:an.NUMBER,defaultValue:0}],returnNumberType:Qe.NUMBER_CURRENCY},RATE:{method:"rate",parameters:[{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:0},{argumentType:an.NUMBER,defaultValue:0},{argumentType:an.NUMBER,defaultValue:.1}],returnNumberType:Qe.NUMBER_PERCENT},RRI:{method:"rri",parameters:[{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER},{argumentType:an.NUMBER}],returnNumberType:Qe.NUMBER_PERCENT},SLN:{method:"sln",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER}],returnNumberType:Qe.NUMBER_CURRENCY},SYD:{method:"syd",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,greaterThan:0}],returnNumberType:Qe.NUMBER_CURRENCY},TBILLEQ:{method:"tbilleq",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,greaterThan:0}],returnNumberType:Qe.NUMBER_PERCENT},TBILLPRICE:{method:"tbillprice",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,greaterThan:0}],returnNumberType:Qe.NUMBER_CURRENCY},TBILLYIELD:{method:"tbillyield",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,greaterThan:0}],returnNumberType:Qe.NUMBER_PERCENT},FVSCHEDULE:{method:"fvschedule",parameters:[{argumentType:an.NUMBER},{argumentType:an.RANGE}],returnNumberType:Qe.NUMBER_CURRENCY},NPV:{method:"npv",parameters:[{argumentType:an.NUMBER},{argumentType:an.ANY}],repeatLastArgs:1,returnNumberType:Qe.NUMBER_CURRENCY},MIRR:{method:"mirr",parameters:[{argumentType:an.RANGE},{argumentType:an.NUMBER},{argumentType:an.NUMBER}],returnNumberType:Qe.NUMBER_PERCENT},PDURATION:{method:"pduration",parameters:[{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,greaterThan:0}]},XNPV:{method:"xnpv",parameters:[{argumentType:an.NUMBER,greaterThan:-1},{argumentType:an.RANGE},{argumentType:an.RANGE}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Co extends ln{formulatext(e,t){return this.runFunctionWithReferenceArgument(e.args,t,this.metadata("FORMULATEXT"),(()=>new Rr(nr.NA,q.WrongArgNumber)),(e=>{var t;return null!==(t=this.serialization.getCellFormula(e))&&void 0!==t?t:new Rr(nr.NA,q.Formula)}))}}Co.implementedFunctions={FORMULATEXT:{method:"formulatext",parameters:[{argumentType:an.NOERROR}],doesNotNeedArgumentsToBeComputed:!0,isDependentOnSheetStructureChange:!0,vectorizationForbidden:!0}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class vo extends ln{hyperlink(e,t){return this.runFunction(e.args,t,this.metadata("HYPERLINK"),((t,r)=>(e.hyperlink=t,null!=r?r:t)))}}vo.implementedFunctions={HYPERLINK:{method:"hyperlink",parameters:[{argumentType:an.STRING},{argumentType:an.STRING,optionalArg:!0}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ro extends ln{isbinary(e,t){return this.runFunction(e.args,t,this.metadata("ISBINARY"),(e=>/^[01]{1,10}$/.test(e)))}iserr(e,t){return this.runFunction(e.args,t,this.metadata("ISERR"),(e=>e instanceof Rr&&e.type!==nr.NA))}iserror(e,t){return this.runFunction(e.args,t,this.metadata("ISERROR"),(e=>e instanceof Rr))}isformula(e,t){return this.runFunctionWithReferenceArgument(e.args,t,this.metadata("ISFORMULA"),(()=>new Rr(nr.NA,q.WrongArgNumber)),(e=>this.dependencyGraph.addressMapping.getCell(e)instanceof Yt))}isblank(e,t){return this.runFunction(e.args,t,this.metadata("ISBLANK"),(e=>e===Be))}isna(e,t){return this.runFunction(e.args,t,this.metadata("ISNA"),(e=>e instanceof Rr&&e.type==nr.NA))}isnumber(e,t){return this.runFunction(e.args,t,this.metadata("ISNUMBER"),qe)}islogical(e,t){return this.runFunction(e.args,t,this.metadata("ISLOGICAL"),(e=>"boolean"==typeof e))}isref(e,t){return this.runFunction(e.args,t,this.metadata("ISREF"),(e=>e instanceof Rr&&(e.type==nr.REF||e.type==nr.CYCLE)))}istext(e,t){return this.runFunction(e.args,t,this.metadata("ISTEXT"),(e=>"string"==typeof e))}isnontext(e,t){return this.runFunction(e.args,t,this.metadata("ISNONTEXT"),(e=>!("string"==typeof e)))}column(e,t){return this.runFunctionWithReferenceArgument(e.args,t,this.metadata("COLUMN"),(()=>t.formulaAddress.col+1),(e=>e.col+1))}columns(e,t){if(1!==e.args.length)return new Rr(nr.NA,q.WrongArgNumber);if(e.args.some((e=>e.type===H.EMPTY)))return new Rr(nr.NUM,q.EmptyArg);let r=e.args[0];for(;r.type===H.PARENTHESIS;)r=r.expression;if(r.type===H.CELL_RANGE||r.type===H.COLUMN_RANGE)return r.end.col-r.start.col+1;if(r.type===H.CELL_REFERENCE)return 1;if(r.type===H.ROW_RANGE)return this.config.maxColumns;{const e=this.evaluateAst(r,t);return e instanceof et?e.width():e instanceof Rr?e:1}}row(e,t){return this.runFunctionWithReferenceArgument(e.args,t,this.metadata("ROW"),(()=>t.formulaAddress.row+1),(e=>e.row+1))}rows(e,t){if(1!==e.args.length)return new Rr(nr.NA,q.WrongArgNumber);if(e.args.some((e=>e.type===H.EMPTY)))return new Rr(nr.NUM,q.EmptyArg);let r=e.args[0];for(;r.type===H.PARENTHESIS;)r=r.expression;if(r.type===H.CELL_RANGE||r.type===H.ROW_RANGE)return r.end.row-r.start.row+1;if(r.type===H.CELL_REFERENCE)return 1;if(r.type===H.COLUMN_RANGE)return this.config.maxRows;{const e=this.evaluateAst(r,t);return e instanceof et?e.height():e instanceof Rr?e:1}}index(e,t){return this.runFunction(e.args,t,this.metadata("INDEX"),((e,t,r)=>{var n,s,i,o,a,l;return r<1||t<1?new Rr(nr.VALUE,q.LessThanOne):r>e.width()||t>e.height()?new Rr(nr.NUM,q.ValueLarge):null!==(l=null!==(i=null===(s=null===(n=null==e?void 0:e.data)||void 0===n?void 0:n[t-1])||void 0===s?void 0:s[r-1])&&void 0!==i?i:null===(a=null===(o=null==e?void 0:e.data)||void 0===o?void 0:o[0])||void 0===a?void 0:a[0])&&void 0!==l?l:new Rr(nr.VALUE,q.CellRangeExpected)}))}na(e,t){return new Rr(nr.NA)}sheet(e,t){return this.runFunctionWithReferenceArgument(e.args,t,this.metadata("SHEET"),(()=>t.formulaAddress.sheet+1),(e=>e.sheet+1),(e=>{const t=this.dependencyGraph.sheetMapping.get(e);return void 0!==t?t+1:new Rr(nr.NA,q.SheetRef)}))}sheets(e,t){return this.runFunctionWithReferenceArgument(e.args,t,this.metadata("SHEETS"),(()=>this.dependencyGraph.sheetMapping.numberOfSheets()),(()=>1),(()=>new Rr(nr.VALUE,q.CellRefExpected)))}}Ro.implementedFunctions={COLUMN:{method:"column",parameters:[{argumentType:an.NOERROR,optionalArg:!0}],isDependentOnSheetStructureChange:!0,doesNotNeedArgumentsToBeComputed:!0,vectorizationForbidden:!0},COLUMNS:{method:"columns",parameters:[{argumentType:an.RANGE}],isDependentOnSheetStructureChange:!0,doesNotNeedArgumentsToBeComputed:!0,vectorizationForbidden:!0},ISBINARY:{method:"isbinary",parameters:[{argumentType:an.STRING}]},ISERR:{method:"iserr",parameters:[{argumentType:an.SCALAR}]},ISFORMULA:{method:"isformula",parameters:[{argumentType:an.NOERROR}],doesNotNeedArgumentsToBeComputed:!0,vectorizationForbidden:!0},ISNA:{method:"isna",parameters:[{argumentType:an.SCALAR}]},ISREF:{method:"isref",parameters:[{argumentType:an.SCALAR}],vectorizationForbidden:!0},ISERROR:{method:"iserror",parameters:[{argumentType:an.SCALAR}]},ISBLANK:{method:"isblank",parameters:[{argumentType:an.SCALAR}]},ISNUMBER:{method:"isnumber",parameters:[{argumentType:an.SCALAR}]},ISLOGICAL:{method:"islogical",parameters:[{argumentType:an.SCALAR}]},ISTEXT:{method:"istext",parameters:[{argumentType:an.SCALAR}]},ISNONTEXT:{method:"isnontext",parameters:[{argumentType:an.SCALAR}]},INDEX:{method:"index",parameters:[{argumentType:an.RANGE},{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:1}]},NA:{method:"na",parameters:[]},ROW:{method:"row",parameters:[{argumentType:an.NOERROR,optionalArg:!0}],isDependentOnSheetStructureChange:!0,doesNotNeedArgumentsToBeComputed:!0,vectorizationForbidden:!0},ROWS:{method:"rows",parameters:[{argumentType:an.RANGE}],isDependentOnSheetStructureChange:!0,doesNotNeedArgumentsToBeComputed:!0,vectorizationForbidden:!0},SHEET:{method:"sheet",parameters:[{argumentType:an.STRING}],doesNotNeedArgumentsToBeComputed:!0,vectorizationForbidden:!0},SHEETS:{method:"sheets",parameters:[{argumentType:an.STRING}],doesNotNeedArgumentsToBeComputed:!0,vectorizationForbidden:!0}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class So extends ln{iseven(e,t){return this.runFunction(e.args,t,this.metadata("ISEVEN"),(e=>e%2==0))}}So.implementedFunctions={ISEVEN:{method:"iseven",parameters:[{argumentType:an.NUMBER}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class To extends ln{isodd(e,t){return this.runFunction(e.args,t,this.metadata("ISODD"),(e=>e%2==1))}}To.implementedFunctions={ISODD:{method:"isodd",parameters:[{argumentType:an.NUMBER}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class No extends ln{log10(e,t){return this.runFunction(e.args,t,this.metadata("LOG10"),Math.log10)}log(e,t){return this.runFunction(e.args,t,this.metadata("LOG"),((e,t)=>Math.log(e)/Math.log(t)))}ln(e,t){return this.runFunction(e.args,t,this.metadata("LN"),Math.log)}}No.implementedFunctions={LOG10:{method:"log10",parameters:[{argumentType:an.NUMBER}]},LOG:{method:"log",parameters:[{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,defaultValue:10,greaterThan:0}]},LN:{method:"ln",parameters:[{argumentType:an.NUMBER}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const Mo=parseFloat(Math.PI.toFixed(14));class _o extends ln{pi(e,t){return this.runFunction(e.args,t,this.metadata("PI"),(()=>Mo))}sqrtpi(e,t){return this.runFunction(e.args,t,this.metadata("SQRTPI"),(e=>Math.sqrt(Mo*e)))}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
function bo(e,t){return new hn(t.width,e.height)}function Oo(e,t,r){return new hn(1+(e.width-t)/r,1+(e.height-t)/r)}_o.implementedFunctions={PI:{method:"pi",parameters:[]},SQRTPI:{method:"sqrtpi",parameters:[{argumentType:an.NUMBER,minValue:0}]}};class Ao extends ln{mmult(e,t){return this.runFunction(e.args,t,this.metadata("MMULT"),((e,t)=>{if(!e.hasOnlyNumbers()||!t.hasOnlyNumbers())return new Rr(nr.VALUE,q.NumberRange);if(t.height()!==e.width())return new Rr(nr.VALUE,q.ArrayDimensions);const r=bo(e.size,t.size),n=this.createKernel((function(e,t,r){let n=0;for(let s=0;s<r;++s)n+=e[this.thread.y][s]*t[s][this.thread.x];return n}),r)(e.rawNumbers(),t.rawNumbers(),e.width());return et.onlyNumbers(n)}))}mmultArraySize(e,t){if(2!==e.args.length)return hn.error();const r=this.metadata("MMULT"),n=e.args.map((e=>{var n;return this.arraySizeForAst(e,new Ur(t.formulaAddress,t.arraysFlag||null!==(n=null==r?void 0:r.arrayFunction)&&void 0!==n&&n))})),[s,i]=n;return bo(s,i)}maxpool(e,t){return this.runFunction(e.args,t,this.metadata("MAXPOOL"),((e,t,r=t)=>{if(!e.hasOnlyNumbers())return new Rr(nr.VALUE,q.NumberRange);const n=Oo(e.size,t,r),s=this.createKernel((function(e,t,r){const n=this.thread.x*r,s=this.thread.y*r;let i=e[s][n];for(let r=0;r<t;r++)for(let o=0;o<t;o++)i=Math.max(i,e[s+r][n+o]);return i}),n)(e.rawNumbers(),t,r);return et.onlyNumbers(s)}))}medianpool(e,t){return this.runFunction(e.args,t,this.metadata("MEDIANPOOL"),((e,t,r=t)=>{if(!e.hasOnlyNumbers())return new Rr(nr.VALUE,q.NumberRange);const n=Oo(e.size,t,r),s=this.createKernel((function(e,t,r){const n=this.thread.x*r,s=this.thread.y*r;let i=e[s][n];for(let r=0;r<t;r++)for(let o=0;o<t;o++)i=Math.max(i,e[s+r][n+o]);let o=e[s][n];for(let r=0;r<t;r++)for(let i=0;i<t;i++)o=Math.min(o,e[s+r][n+i]);const a=t*t;let l=o,h=i,u=42;for(let r=0;r<32;r++){const r=(l+h)/2;let i=0;for(let o=0;o<t;o++)for(let a=0;a<t;a++)e[s+o][n+a]>r&&i++;if(t%2==0){if(i===a/2){u=r;break}i>a/2?l=r:h=r}else{if(i===(a-1)/2){u=r;break}i>(a-1)/2?l=r:h=r}}return u}),n)(e.rawNumbers(),t,r);return et.onlyNumbers(s)}))}maxpoolArraySize(e,t){if(e.args.length<2||e.args.length>3)return hn.error();const r=this.metadata("MAXPOOL"),n=e.args.map((e=>{var n;return this.arraySizeForAst(e,new Ur(t.formulaAddress,t.arraysFlag||null!==(n=null==r?void 0:r.arrayFunction)&&void 0!==n&&n))}))[0],s=e.args[1];let i;i=s.type===H.NUMBER?s.value:1;let o=i;if(3===e.args.length){const t=e.args[2];o=t.type===H.NUMBER?t.value:1}return i>n.width||i>n.height||o>i||(n.width-i)%o!=0||(n.height-i)%o!=0?hn.error():Oo(n,i,o)}medianpoolArraySize(e,t){return this.maxpoolArraySize(e,t)}transpose(e,t){return this.runFunction(e.args,t,this.metadata("TRANSPOSE"),(e=>{const t=e.rawData(),r=e.size,n=[];for(let e=0;e<r.width;++e){n[e]=[];for(let s=0;s<r.height;++s)n[e][s]=t[s][e]}return et.onlyValues(n)}))}transposeArraySize(e,t){if(1!==e.args.length)return hn.error();const r=this.metadata("TRANSPOSE"),n=e.args.map((e=>{var n;return this.arraySizeForAst(e,new Ur(t.formulaAddress,t.arraysFlag||null!==(n=null==r?void 0:r.arrayFunction)&&void 0!==n&&n))})),[s]=n;return new hn(s.height,s.width)}createKernel(e,t){return function(...r){const n=[];for(let s=0;s<t.height;++s){n.push([]);for(let i=0;i<t.width;++i)n[s][i]=e.apply({thread:{x:i,y:s}},r)}return n}}}Ao.implementedFunctions={MMULT:{method:"mmult",arraySizeMethod:"mmultArraySize",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE}],vectorizationForbidden:!0},TRANSPOSE:{method:"transpose",arraySizeMethod:"transposeArraySize",parameters:[{argumentType:an.RANGE}],vectorizationForbidden:!0},MAXPOOL:{method:"maxpool",arraySizeMethod:"maxpoolArraySize",parameters:[{argumentType:an.RANGE},{argumentType:an.NUMBER},{argumentType:an.NUMBER,optionalArg:!0}],vectorizationForbidden:!0},MEDIANPOOL:{method:"medianpool",arraySizeMethod:"medianpoolArraySize",parameters:[{argumentType:an.RANGE},{argumentType:an.NUMBER},{argumentType:an.NUMBER,optionalArg:!0}],vectorizationForbidden:!0}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Io extends ln{median(e,t){return this.runFunction(e.args,t,this.metadata("MEDIAN"),((...e)=>{const t=this.arithmeticHelper.coerceNumbersExactRanges(e);return t instanceof Rr?t:0===t.length?new Rr(nr.NUM,q.OneValue):(t.sort(((e,t)=>e-t)),t.length%2==0?(t[t.length/2-1]+t[t.length/2])/2:t[Math.floor(t.length/2)])}))}large(e,t){return this.runFunction(e.args,t,this.metadata("LARGE"),((e,t)=>{const r=this.arithmeticHelper.manyToExactNumbers(e.valuesFromTopLeftCorner());return r instanceof Rr?r:(r.sort(((e,t)=>e-t)),(t=Math.trunc(t))>r.length?new Rr(nr.NUM,q.ValueLarge):r[r.length-t])}))}small(e,t){return this.runFunction(e.args,t,this.metadata("SMALL"),((e,t)=>{const r=this.arithmeticHelper.manyToExactNumbers(e.valuesFromTopLeftCorner());return r instanceof Rr?r:(r.sort(((e,t)=>e-t)),(t=Math.trunc(t))>r.length?new Rr(nr.NUM,q.ValueLarge):r[t-1])}))}}Io.implementedFunctions={MEDIAN:{method:"median",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},LARGE:{method:"large",parameters:[{argumentType:an.RANGE},{argumentType:an.NUMBER,minValue:1}]},SMALL:{method:"small",parameters:[{argumentType:an.RANGE},{argumentType:an.NUMBER,minValue:1}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class xo extends ln{mod(e,t){return this.runFunction(e.args,t,this.metadata("MOD"),((e,t)=>0===t?new Rr(nr.DIV_BY_ZERO):e%t))}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
function Po(e){return qe(e)&&!Number.isFinite(We(e))?0:e}xo.implementedFunctions={MOD:{method:"mod",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER}]}};class Lo{constructor(e,t,r){this.sumsq=e,this.sum=t,this.count=r}static single(e){return new Lo(e*e,e,1)}compose(e){return new Lo(this.sumsq+e.sumsq,this.sum+e.sum,this.count+e.count)}averageValue(){return this.count>0?this.sum/this.count:void 0}varSValue(){return this.count>1?(this.sumsq-this.sum*this.sum/this.count)/(this.count-1):void 0}varPValue(){return this.count>0?(this.sumsq-this.sum*this.sum/this.count)/this.count:void 0}}Lo.empty=new Lo(0,0,0);class Do extends ln{constructor(){super(...arguments),this.addWithEpsilonRaw=(e,t)=>this.arithmeticHelper.addWithEpsilonRaw(e,t)}sum(e,t){return this.doSum(e.args,t)}sumsq(e,t){return this.reduce(e.args,t,0,"SUMSQ",this.addWithEpsilonRaw,(e=>Math.pow(We(e),2)),ko)}max(e,t){return this.doMax(e.args,t)}maxa(e,t){return Po(this.reduce(e.args,t,Number.NEGATIVE_INFINITY,"MAXA",((e,t)=>Math.max(e,t)),We,Ho))}min(e,t){return this.doMin(e.args,t)}mina(e,t){return Po(this.reduce(e.args,t,Number.POSITIVE_INFINITY,"MINA",((e,t)=>Math.min(e,t)),We,Ho))}count(e,t){return this.doCount(e.args,t)}counta(e,t){return this.doCounta(e.args,t)}average(e,t){return this.doAverage(e.args,t)}averagea(e,t){var r;const n=this.reduce(e.args,t,Lo.empty,"_AGGREGATE_A",((e,t)=>e.compose(t)),(e=>Lo.single(We(e))),Ho);return n instanceof Rr?n:null!==(r=n.averageValue())&&void 0!==r?r:new Rr(nr.DIV_BY_ZERO)}vars(e,t){return this.doVarS(e.args,t)}varp(e,t){return this.doVarP(e.args,t)}vara(e,t){var r;const n=this.reduceAggregateA(e.args,t);return n instanceof Rr?n:null!==(r=n.varSValue())&&void 0!==r?r:new Rr(nr.DIV_BY_ZERO)}varpa(e,t){var r;const n=this.reduceAggregateA(e.args,t);return n instanceof Rr?n:null!==(r=n.varPValue())&&void 0!==r?r:new Rr(nr.DIV_BY_ZERO)}stdevs(e,t){return this.doStdevS(e.args,t)}stdevp(e,t){return this.doStdevP(e.args,t)}stdeva(e,t){const r=this.reduceAggregateA(e.args,t);if(r instanceof Rr)return r;{const e=r.varSValue();return void 0===e?new Rr(nr.DIV_BY_ZERO):Math.sqrt(e)}}stdevpa(e,t){const r=this.reduceAggregateA(e.args,t);if(r instanceof Rr)return r;{const e=r.varPValue();return void 0===e?new Rr(nr.DIV_BY_ZERO):Math.sqrt(e)}}product(e,t){return this.doProduct(e.args,t)}subtotal(e,t){if(e.args.length<2)return new Rr(nr.NA,q.WrongArgNumber);const r=this.coerceToType(this.evaluateAst(e.args[0],t),{argumentType:an.NUMBER},t),n=e.args.slice(1);switch(r){case 1:case 101:return this.doAverage(n,t);case 2:case 102:return this.doCount(n,t);case 3:case 103:return this.doCounta(n,t);case 4:case 104:return this.doMax(n,t);case 5:case 105:return this.doMin(n,t);case 6:case 106:return this.doProduct(n,t);case 7:case 107:return this.doStdevS(n,t);case 8:case 108:return this.doStdevP(n,t);case 9:case 109:return this.doSum(n,t);case 10:case 110:return this.doVarS(n,t);case 11:case 111:return this.doVarP(n,t);default:return new Rr(nr.VALUE,q.BadMode)}}reduceAggregate(e,t){return this.reduce(e,t,Lo.empty,"_AGGREGATE",((e,t)=>e.compose(t)),(e=>Lo.single(We(e))),ko)}reduceAggregateA(e,t){return this.reduce(e,t,Lo.empty,"_AGGREGATE_A",((e,t)=>e.compose(t)),(e=>Lo.single(We(e))),Ho)}doAverage(e,t){var r;const n=this.reduceAggregate(e,t);return n instanceof Rr?n:null!==(r=n.averageValue())&&void 0!==r?r:new Rr(nr.DIV_BY_ZERO)}doVarS(e,t){var r;const n=this.reduceAggregate(e,t);return n instanceof Rr?n:null!==(r=n.varSValue())&&void 0!==r?r:new Rr(nr.DIV_BY_ZERO)}doVarP(e,t){var r;const n=this.reduceAggregate(e,t);return n instanceof Rr?n:null!==(r=n.varPValue())&&void 0!==r?r:new Rr(nr.DIV_BY_ZERO)}doStdevS(e,t){const r=this.reduceAggregate(e,t);if(r instanceof Rr)return r;{const e=r.varSValue();return void 0===e?new Rr(nr.DIV_BY_ZERO):Math.sqrt(e)}}doStdevP(e,t){const r=this.reduceAggregate(e,t);if(r instanceof Rr)return r;{const e=r.varPValue();return void 0===e?new Rr(nr.DIV_BY_ZERO):Math.sqrt(e)}}doCount(e,t){return this.reduce(e,t,0,"COUNT",((e,t)=>e+t),We,(e=>qe(e)?1:0))}doCounta(e,t){return this.reduce(e,t,0,"COUNTA",((e,t)=>e+t),We,(e=>e===Be?0:1))}doMax(e,t){return Po(this.reduce(e,t,Number.NEGATIVE_INFINITY,"MAX",((e,t)=>Math.max(e,t)),We,ko))}doMin(e,t){return Po(this.reduce(e,t,Number.POSITIVE_INFINITY,"MIN",((e,t)=>Math.min(e,t)),We,ko))}doSum(e,t){return this.reduce(e,t,0,"SUM",this.addWithEpsilonRaw,We,ko)}doProduct(e,t){return this.reduce(e,t,1,"PRODUCT",((e,t)=>e*t),We,ko)}reduce(e,t,r,n,s,i,o){return e.length<1?new Rr(nr.NA,q.WrongArgNumber):e.reduce(((e,a)=>{if(e instanceof Rr)return e;if(a.type===H.CELL_RANGE||a.type===H.COLUMN_RANGE||a.type===H.ROW_RANGE){const l=this.evaluateRange(a,t,r,n,s,i,o);return l instanceof Rr?l:s(l,e)}let l;if(l=this.evaluateAst(a,t),l instanceof et){const t=Array.from(l.valuesFromTopLeftCorner()).map(o).filter((e=>void 0!==e));return t.map((e=>e instanceof Rr?e:i(e))).reduce(((e,t)=>e instanceof Rr?e:t instanceof Rr?t:s(e,t)),e)}if(a.type===H.CELL_REFERENCE){if(l=o(l),void 0===l)return e}else if(l=this.coerceScalarToNumberOrError(l),l=o(l),void 0===l)return e;return l instanceof Rr?l:s(e,i(l))}),r)}evaluateRange(e,t,r,n,s,i,o){let a;try{a=kr.fromAst(e,t.formulaAddress)}catch(e){if(e instanceof pt)return new Rr(nr.REF,q.RangeManySheets);throw e}const l=this.dependencyGraph.getRange(a.start,a.end);if(void 0===l)throw new Error("Range does not exists in graph");let h=l.getFunctionValue(n);if(void 0===h){h=this.getRangeValues(n,a,l,i,o).reduce(((e,t)=>e instanceof Rr?e:t instanceof Rr?t:s(e,t)),r),l.setFunctionValue(n,h)}return h}getRangeValues(e,t,r,n,s){const i=[],{smallerRangeVertex:o,restRange:a}=this.dependencyGraph.rangeMapping.findSmallerRange(t);let l;if(void 0!==o&&this.dependencyGraph.existsEdge(o,r)){const t=o.getFunctionValue(e);if(void 0!==t)i.push(t);else for(const e of o.range.addresses(this.dependencyGraph)){const t=s(this.dependencyGraph.getScalarValue(e));t instanceof Rr?i.push(t):void 0!==t&&i.push(n(t))}l=a}else l=t;for(const e of l.addresses(this.dependencyGraph)){const t=s(this.dependencyGraph.getScalarValue(e));t instanceof Rr?i.push(t):void 0!==t&&i.push(n(t))}return i}}function ko(e){return qe(e)||e instanceof Rr?e:void 0}function Ho(e){return"boolean"==typeof e?Gr(e):qe(e)||e instanceof Rr?e:"string"==typeof e?0:void 0}Do.implementedFunctions={SUM:{method:"sum",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},SUMSQ:{method:"sumsq",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},MAX:{method:"max",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},MIN:{method:"min",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},MAXA:{method:"maxa",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},MINA:{method:"mina",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},COUNT:{method:"count",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},COUNTA:{method:"counta",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},AVERAGE:{method:"average",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},AVERAGEA:{method:"averagea",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},PRODUCT:{method:"product",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},"VAR.S":{method:"vars",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},"VAR.P":{method:"varp",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},VARA:{method:"vara",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},VARPA:{method:"varpa",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},"STDEV.S":{method:"stdevs",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},"STDEV.P":{method:"stdevp",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},STDEVA:{method:"stdeva",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},STDEVPA:{method:"stdevpa",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},SUBTOTAL:{method:"subtotal",parameters:[{argumentType:an.NUMBER},{argumentType:an.ANY}],repeatLastArgs:1}},Do.aliases={VAR:"VAR.S",VARP:"VAR.P",STDEV:"STDEV.S",STDEVP:"STDEV.P",VARS:"VAR.S",STDEVS:"STDEV.S"};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Fo extends ln{power(e,t){return this.runFunction(e.args,t,this.metadata("POWER"),Math.pow)}}Fo.implementedFunctions={POWER:{method:"power",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Uo extends ln{radians(e,t){return this.runFunction(e.args,t,this.metadata("RADIANS"),(e=>e*(Math.PI/180)))}}Uo.implementedFunctions={RADIANS:{method:"radians",parameters:[{argumentType:an.NUMBER}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
const Vo=10;class Bo extends ln{dec2bin(e,t){return this.runFunction(e.args,t,this.metadata("DEC2BIN"),((e,t)=>Yo(e,2,t)))}dec2oct(e,t){return this.runFunction(e.args,t,this.metadata("DEC2OCT"),((e,t)=>Yo(e,8,t)))}dec2hex(e,t){return this.runFunction(e.args,t,this.metadata("DEC2HEX"),((e,t)=>Yo(e,16,t)))}bin2dec(e,t){return this.runFunction(e.args,t,this.metadata("BIN2DEC"),(e=>{const t=Wo(e,2,Vo);return void 0===t?new Rr(nr.NUM,q.NotBinary):$o(t,2)}))}bin2oct(e,t){return this.runFunction(e.args,t,this.metadata("BIN2OCT"),((e,t)=>{const r=Wo(e,2,Vo);return void 0===r?new Rr(nr.NUM,q.NotBinary):Yo($o(r,2),8,t)}))}bin2hex(e,t){return this.runFunction(e.args,t,this.metadata("BIN2HEX"),((e,t)=>{const r=Wo(e,2,Vo);return void 0===r?new Rr(nr.NUM,q.NotBinary):Yo($o(r,2),16,t)}))}oct2dec(e,t){return this.runFunction(e.args,t,this.metadata("OCT2DEC"),(e=>{const t=Wo(e,8,Vo);return void 0===t?new Rr(nr.NUM,q.NotOctal):$o(t,8)}))}oct2bin(e,t){return this.runFunction(e.args,t,this.metadata("OCT2BIN"),((e,t)=>{const r=Wo(e,8,Vo);return void 0===r?new Rr(nr.NUM,q.NotOctal):Yo($o(r,8),2,t)}))}oct2hex(e,t){return this.runFunction(e.args,t,this.metadata("OCT2HEX"),((e,t)=>{const r=Wo(e,8,Vo);return void 0===r?new Rr(nr.NUM,q.NotOctal):Yo($o(r,8),16,t)}))}hex2dec(e,t){return this.runFunction(e.args,t,this.metadata("HEX2DEC"),(e=>{const t=Wo(e,16,Vo);return void 0===t?new Rr(nr.NUM,q.NotHex):$o(t,16)}))}hex2bin(e,t){return this.runFunction(e.args,t,this.metadata("HEX2BIN"),((e,t)=>{const r=Wo(e,16,Vo);return void 0===r?new Rr(nr.NUM,q.NotHex):Yo($o(r,16),2,t)}))}hex2oct(e,t){return this.runFunction(e.args,t,this.metadata("HEX2OCT"),((e,t)=>{const r=Wo(e,16,Vo);return void 0===r?new Rr(nr.NUM,q.NotHex):Yo($o(r,16),8,t)}))}base(e,t){return this.runFunction(e.args,t,this.metadata("BASE"),jo)}decimal(e,t){return this.runFunction(e.args,t,this.metadata("DECIMAL"),((e,t)=>{const r=Wo(e,t,255);return void 0===r?new Rr(nr.NUM,q.NotHex):parseInt(r,t)}))}}function Wo(e,t,r){const n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".substr(0,t),s=new RegExp(`^[${n}]+$`);if(!(e.length>r)&&s.test(e))return e}function Yo(e,t,r){if(e>function(e){return-Go(e)-1}(t))return new Rr(nr.NUM,q.ValueBaseLarge);if(e<Go(t))return new Rr(nr.NUM,q.ValueBaseSmall);const n=zo(e,t);return void 0===r||e<0?n:n.length>r?new Rr(nr.NUM,q.ValueBaseLong):$n(n,r)}function Go(e){return-Math.pow(e,Vo)/2}function jo(e,t,r){const n=zo(e,t);return void 0!==r&&r>n.length?$n(n,r):n}function zo(e,t){return(e+(e<0?Math.pow(t,Vo):0)).toString(t).toUpperCase()}function $o(e,t){const r=parseInt(e,t),n=Math.pow(t,Vo);return r>=n/2?r-n:r}Bo.implementedFunctions={DEC2BIN:{method:"dec2bin",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,optionalArg:!0,minValue:1,maxValue:10}]},DEC2OCT:{method:"dec2oct",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,optionalArg:!0,minValue:1,maxValue:10}]},DEC2HEX:{method:"dec2hex",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,optionalArg:!0,minValue:1,maxValue:10}]},BIN2DEC:{method:"bin2dec",parameters:[{argumentType:an.STRING}]},BIN2OCT:{method:"bin2oct",parameters:[{argumentType:an.STRING},{argumentType:an.NUMBER,optionalArg:!0,minValue:0,maxValue:Vo}]},BIN2HEX:{method:"bin2hex",parameters:[{argumentType:an.STRING},{argumentType:an.NUMBER,optionalArg:!0,minValue:0,maxValue:Vo}]},OCT2DEC:{method:"oct2dec",parameters:[{argumentType:an.STRING}]},OCT2BIN:{method:"oct2bin",parameters:[{argumentType:an.STRING},{argumentType:an.NUMBER,optionalArg:!0,minValue:0,maxValue:Vo}]},OCT2HEX:{method:"oct2hex",parameters:[{argumentType:an.STRING},{argumentType:an.NUMBER,optionalArg:!0,minValue:0,maxValue:Vo}]},HEX2DEC:{method:"hex2dec",parameters:[{argumentType:an.STRING}]},HEX2BIN:{method:"hex2bin",parameters:[{argumentType:an.STRING},{argumentType:an.NUMBER,optionalArg:!0,minValue:0,maxValue:Vo}]},HEX2OCT:{method:"hex2oct",parameters:[{argumentType:an.STRING},{argumentType:an.NUMBER,optionalArg:!0,minValue:0,maxValue:Vo}]},DECIMAL:{method:"decimal",parameters:[{argumentType:an.STRING},{argumentType:an.NUMBER,minValue:2,maxValue:36}]},BASE:{method:"base",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:2,maxValue:36},{argumentType:an.NUMBER,optionalArg:!0,minValue:0,maxValue:255}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ko extends ln{rand(e,t){return this.runFunction(e.args,t,this.metadata("RAND"),Math.random)}randbetween(e,t){return this.runFunction(e.args,t,this.metadata("RANDBETWEEN"),((e,t)=>t<e?new Rr(nr.NUM,q.WrongOrder):((e=Math.ceil(e))===(t=Math.floor(t)+1)&&(t+=1),e+Math.floor(Math.random()*(t-e)))))}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
function Xo(e){const t=Math.ceil(e);return t%2==1?t:t+1}function qo(e){const t=Math.ceil(e);return t%2==0?t:t+1}Ko.implementedFunctions={RAND:{method:"rand",parameters:[],isVolatile:!0},RANDBETWEEN:{method:"randbetween",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER}],isVolatile:!0}};class Qo extends ln{roundup(e,t){return this.runFunction(e.args,t,this.metadata("ROUNDDOWN"),((e,t)=>{const r=Math.pow(10,t);return e<0?-Math.ceil(-e*r)/r:Math.ceil(e*r)/r}))}rounddown(e,t){return this.runFunction(e.args,t,this.metadata("ROUNDDOWN"),((e,t)=>{const r=Math.pow(10,t);return e<0?-Math.floor(-e*r)/r:Math.floor(e*r)/r}))}round(e,t){return this.runFunction(e.args,t,this.metadata("ROUND"),((e,t)=>{const r=Math.pow(10,t);return e<0?-Math.round(-e*r)/r:Math.round(e*r)/r}))}intFunc(e,t){return this.runFunction(e.args,t,this.metadata("INT"),(e=>e<0?-Math.floor(-e):Math.floor(e)))}even(e,t){return this.runFunction(e.args,t,this.metadata("EVEN"),(e=>e<0?-qo(-e):qo(e)))}odd(e,t){return this.runFunction(e.args,t,this.metadata("ODD"),(e=>e<0?-Xo(-e):Xo(e)))}ceilingmath(e,t){return this.runFunction(e.args,t,this.metadata("CEILING.MATH"),((e,t,r)=>0===t||0===e?0:(t=Math.abs(t),1===r&&e<0&&(t=-t),Math.ceil(e/t)*t)))}ceiling(e,t){return this.runFunction(e.args,t,this.metadata("CEILING"),((e,t)=>0===e?0:0===t?new Rr(nr.DIV_BY_ZERO):e>0&&t<0?new Rr(nr.NUM,q.DistinctSigns):Math.ceil(e/t)*t))}ceilingprecise(e,t){return this.runFunction(e.args,t,this.metadata("CEILING.PRECISE"),((e,t)=>0===t||0===e?0:(t=Math.abs(t),Math.ceil(e/t)*t)))}floormath(e,t){return this.runFunction(e.args,t,this.metadata("FLOOR.MATH"),((e,t,r)=>0===t||0===e?0:(t=Math.abs(t),1===r&&e<0&&(t*=-1),Math.floor(e/t)*t)))}floor(e,t){return this.runFunction(e.args,t,this.metadata("FLOOR"),((e,t)=>0===e?0:0===t?new Rr(nr.DIV_BY_ZERO):e>0&&t<0?new Rr(nr.NUM,q.DistinctSigns):Math.floor(e/t)*t))}floorprecise(e,t){return this.runFunction(e.args,t,this.metadata("FLOOR.PRECISE"),((e,t)=>0===t||0===e?0:(t=Math.abs(t),Math.floor(e/t)*t)))}}Qo.implementedFunctions={ROUNDUP:{method:"roundup",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:0}]},ROUNDDOWN:{method:"rounddown",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:0}]},ROUND:{method:"round",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:0}]},INT:{method:"intFunc",parameters:[{argumentType:an.NUMBER}]},EVEN:{method:"even",parameters:[{argumentType:an.NUMBER}]},ODD:{method:"odd",parameters:[{argumentType:an.NUMBER}]},"CEILING.MATH":{method:"ceilingmath",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:1},{argumentType:an.NUMBER,defaultValue:0}]},CEILING:{method:"ceiling",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER}]},"CEILING.PRECISE":{method:"ceilingprecise",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:1}]},"FLOOR.MATH":{method:"floormath",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:1},{argumentType:an.NUMBER,defaultValue:0}]},FLOOR:{method:"floor",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER}]},"FLOOR.PRECISE":{method:"floorprecise",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,defaultValue:1}]}},Qo.aliases={"ISO.CEILING":"CEILING.PRECISE",TRUNC:"ROUNDDOWN"};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Zo extends ln{sqrt(e,t){return this.runFunction(e.args,t,this.metadata("SQRT"),Math.sqrt)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
function*Jo(){}function ea(e){const t=e[Symbol.iterator](),{done:r,value:n}=t.next();return r?{rest:Jo()}:{value:n,rest:t}}Zo.implementedFunctions={SQRT:{method:"sqrt",parameters:[{argumentType:an.NUMBER}]}};class ta{constructor(e,t,r,n,s){this.interpreter=e,this.cacheKey=t,this.reduceInitialValue=r,this.composeFunction=n,this.mapFunction=s,this.dependencyGraph=this.interpreter.dependencyGraph}compute(e,t){for(const r of t)if(!r.conditionRange.sameDimensionsAs(e))return new Rr(nr.VALUE,q.EqualLength);const r=this.tryToGetRangeVertexForRangeValue(e),n=t.map((e=>this.tryToGetRangeVertexForRangeValue(e.conditionRange)));if(r&&n.every((e=>void 0!==e))){const s=t.map((e=>e.criterionPackage.raw)).join(","),i=this.findAlreadyComputedValueInCache(r,this.cacheKey(t),s);if(void 0!==i)return this.interpreter.stats.incrementCriterionFunctionFullCacheUsed(),i;const o=this.buildNewCriterionCache(this.cacheKey(t),t.map((e=>e.conditionRange.range)),e.range);return o.has(s)||o.set(s,[this.evaluateRangeValue(e,t),t.map((e=>e.criterionPackage.lambda))]),r.setCriterionFunctionValues(this.cacheKey(t),o),n.forEach((e=>{void 0!==e&&e.addDependentCacheRange(r)})),o.get(s)[0]}return this.evaluateRangeValue(e,t)}tryToGetRangeVertexForRangeValue(e){const t=e.range;return void 0===t?void 0:this.dependencyGraph.getRange(t.start,t.end)}reduceFunction(e){let t=this.reduceInitialValue;for(const r of e)t=this.composeFunction(t,r);return t}findAlreadyComputedValueInCache(e,t,r){return e.getCriterionFunctionValue(t,r)}evaluateRangeValue(e,t){const r=t.map((e=>e.criterionPackage.lambda)),n=Array.from(e.valuesFromTopLeftCorner()).map(this.mapFunction)[Symbol.iterator](),s=sa(r,t.map((e=>e.conditionRange.iterateValuesFromTopLeftCorner())),n);return this.reduceFunction(s)}buildNewCriterionCache(e,t,r){const n=this.dependencyGraph.getRange(r.start,r.end),{smallerRangeVertex:s,restConditionRanges:i,restValuesRange:o}=((e,t,r)=>{if(r.end.row>r.start.row){const n=_r(r.end.sheet,r.end.col,r.end.row-1),s=e.getRange(r.start,n);if(void 0!==s)return{smallerRangeVertex:s,restValuesRange:r.withStart(_r(r.start.sheet,r.start.col,r.end.row)),restConditionRanges:t.map((e=>e.withStart(_r(e.start.sheet,e.start.col,e.end.row))))}}return{restValuesRange:r,restConditionRanges:t}})(this.dependencyGraph,t,r);let a;a=void 0!==s&&this.dependencyGraph.existsEdge(s,n)?s.getCriterionFunctionValues(e):new Map;const l=new Map;return a.forEach((([e,t],r)=>{const n=sa(t,i.map((e=>na(this.dependencyGraph,e))),Array.from(na(this.dependencyGraph,o)).map(this.mapFunction)[Symbol.iterator]()),s=this.composeFunction(e,this.reduceFunction(n));this.interpreter.stats.incrementCriterionFunctionPartialCacheUsed(),l.set(r,[s,t])})),l}}class ra{constructor(e,t){this.conditionRange=e,this.criterionPackage=t}}function*na(e,t){for(const r of t.addresses(e))yield We(e.getScalarValue(r))}function*sa(e,t,r){for(const n of r){const r=t.map((e=>ea(e)));if(!r.every((e=>Object.prototype.hasOwnProperty.call(e,"value"))))return;ia(r.map((e=>We(e.value))),e).every((([e,t])=>t(e)))&&(yield n),t=r.map((e=>e.rest))}}function ia(e,t){const r=[];for(let n=0;n<Math.min(e.length,t.length);n++)r.push([e[n],t[n]]);return r}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class oa{constructor(e,t){this.sum=e,this.count=t}static single(e){return new oa(e,1)}compose(e){return new oa(this.sum+e.sum,this.count+e.count)}averageValue(){return this.count>0?this.sum/this.count:void 0}}function aa(e){return qe(e)&&!Number.isFinite(We(e))?0:e}function la(e){return e instanceof Rr?e:qe(e)?We(e):void 0}oa.empty=new oa(0,0);class ha extends ln{sumif(e,t){const r="SUMIF";return this.runFunction(e.args,t,this.metadata(r),((e,t,n)=>this.computeConditionalAggregationFunction(null!=n?n:e,[e,t],r,0,((e,t)=>this.arithmeticHelper.nonstrictadd(e,t)),la)))}sumifs(e,t){const r="SUMIFS";return this.runFunction(e.args,t,this.metadata(r),((e,...t)=>this.computeConditionalAggregationFunction(e,t,r,0,((e,t)=>this.arithmeticHelper.nonstrictadd(e,t)),la)))}averageif(e,t){const r="AVERAGEIF";return this.runFunction(e.args,t,this.metadata(r),((e,t,n)=>{const s=this.computeConditionalAggregationFunction(null!=n?n:e,[e,t],r,oa.empty,((e,t)=>e.compose(t)),(e=>qe(e)?oa.single(We(e)):oa.empty));return s instanceof Rr?s:s.averageValue()||new Rr(nr.DIV_BY_ZERO)}))}countif(e,t){const r="COUNTIF";return this.runFunction(e.args,t,this.metadata(r),((e,t)=>this.computeConditionalAggregationFunction(e,[e,t],r,0,((e,t)=>e+t),(()=>1))))}countifs(e,t){const r="COUNTIFS";return this.runFunction(e.args,t,this.metadata(r),((...e)=>this.computeConditionalAggregationFunction(e[0],e,r,0,((e,t)=>e+t),(()=>1))))}minifs(e,t){const r="MINIFS",n=(e,t)=>void 0===t||void 0===e?void 0===t?e:t:Math.min(e,t);return this.runFunction(e.args,t,this.metadata(r),((e,...t)=>aa(this.computeConditionalAggregationFunction(e,t,r,Number.POSITIVE_INFINITY,n,la))))}maxifs(e,t){const r="MAXIFS",n=(e,t)=>void 0===t||void 0===e?void 0===t?e:t:Math.max(e,t);return this.runFunction(e.args,t,this.metadata(r),((e,...t)=>aa(this.computeConditionalAggregationFunction(e,t,r,Number.NEGATIVE_INFINITY,n,la))))}computeConditionalAggregationFunction(e,t,r,n,s,i){const o=[];for(let e=0;e<t.length;e+=2){const r=t[e],n=this.interpreter.criterionBuilder.fromCellValue(t[e+1],this.arithmeticHelper);if(void 0===n)return new Rr(nr.VALUE,q.BadCriterion);o.push(new ra(r,n))}return new ta(this.interpreter,function(e){return t=>{const r=t.map((e=>`${e.conditionRange.range.sheet},${e.conditionRange.range.start.col},${e.conditionRange.range.start.row}`));return[e,...r].join(",")}}(r),n,s,i).compute(e,o)}}ha.implementedFunctions={SUMIF:{method:"sumif",parameters:[{argumentType:an.RANGE},{argumentType:an.NOERROR},{argumentType:an.RANGE,optionalArg:!0}]},COUNTIF:{method:"countif",parameters:[{argumentType:an.RANGE},{argumentType:an.NOERROR}]},AVERAGEIF:{method:"averageif",parameters:[{argumentType:an.RANGE},{argumentType:an.NOERROR},{argumentType:an.RANGE,optionalArg:!0}]},SUMIFS:{method:"sumifs",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE},{argumentType:an.NOERROR}],repeatLastArgs:2},COUNTIFS:{method:"countifs",parameters:[{argumentType:an.RANGE},{argumentType:an.NOERROR}],repeatLastArgs:2},MINIFS:{method:"minifs",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE},{argumentType:an.NOERROR}],repeatLastArgs:2},MAXIFS:{method:"maxifs",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE},{argumentType:an.NOERROR}],repeatLastArgs:2}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class ua extends ln{sumproduct(e,t){return this.runFunction(e.args,t,this.metadata("SUMPRODUCT"),((...e)=>{const t=e[0].width(),r=e[0].height();for(const n of e)if(n.width()!==t||n.height()!==r)return new Rr(nr.VALUE,q.EqualLength);let n=0;const s=e.map((e=>e.iterateValuesFromTopLeftCorner()));for(let e=0;e<t*r;e++){let e=1;for(const t of s){const r=t.next().value;if(r instanceof Rr)return r;const n=this.coerceScalarToNumberOrError(r);qe(n)?e*=We(n):e=0}n+=e}return n}))}}ua.implementedFunctions={SUMPRODUCT:{method:"sumproduct",parameters:[{argumentType:an.RANGE}],repeatLastArgs:1}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class ca extends ln{concatenate(e,t){return this.runFunction(e.args,t,this.metadata("CONCATENATE"),((...e)=>"".concat(...e)))}split(e,t){return this.runFunction(e.args,t,this.metadata("SPLIT"),((e,t)=>{const r=e.split(" ");return t>=r.length||t<0?new Rr(nr.VALUE,q.IndexBounds):r[t]}))}len(e,t){return this.runFunction(e.args,t,this.metadata("LEN"),(e=>e.length))}lower(e,t){return this.runFunction(e.args,t,this.metadata("LOWER"),(e=>e.toLowerCase()))}trim(e,t){return this.runFunction(e.args,t,this.metadata("TRIM"),(e=>e.replace(/^ +| +$/g,"").replace(/ +/g," ")))}proper(e,t){return this.runFunction(e.args,t,this.metadata("PROPER"),(e=>e.replace(/\p{L}+/gu,(e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()))))}clean(e,t){return this.runFunction(e.args,t,this.metadata("CLEAN"),(e=>e.replace(/[\u0000-\u001F]/g,"")))}exact(e,t){return this.runFunction(e.args,t,this.metadata("EXACT"),((e,t)=>e===t))}rept(e,t){return this.runFunction(e.args,t,this.metadata("REPT"),((e,t)=>t<0?new Rr(nr.VALUE,q.NegativeCount):e.repeat(t)))}right(e,t){return this.runFunction(e.args,t,this.metadata("RIGHT"),((e,t)=>t<0?new Rr(nr.VALUE,q.NegativeLength):0===t?"":e.slice(-t)))}left(e,t){return this.runFunction(e.args,t,this.metadata("LEFT"),((e,t)=>t<0?new Rr(nr.VALUE,q.NegativeLength):e.slice(0,t)))}mid(e,t){return this.runFunction(e.args,t,this.metadata("MID"),((e,t,r)=>t<1?new Rr(nr.VALUE,q.LessThanOne):r<0?new Rr(nr.VALUE,q.NegativeLength):e.substring(t-1,t+r-1)))}replace(e,t){return this.runFunction(e.args,t,this.metadata("REPLACE"),((e,t,r,n)=>t<1?new Rr(nr.VALUE,q.LessThanOne):r<0?new Rr(nr.VALUE,q.NegativeLength):e.substring(0,t-1)+n+e.substring(t+r-1)))}search(e,t){return this.runFunction(e.args,t,this.metadata("SEARCH"),((e,t,r)=>{if(r<1||r>t.length)return new Rr(nr.VALUE,q.LengthBounds);const n=e.toLowerCase(),s=t.substring(r-1).toLowerCase(),i=this.arithmeticHelper.requiresRegex(n)?this.arithmeticHelper.searchString(n,s):s.indexOf(n);return i>-1?i+r:new Rr(nr.VALUE,q.PatternNotFound)}))}substitute(e,t){return this.runFunction(e.args,t,this.metadata("SUBSTITUTE"),((e,t,r,n)=>{const s=this.escapeRegExpSpecialCharacters(t),i=new RegExp(s,"g");if(void 0===n)return e.replace(i,r);if(n<1)return new Rr(nr.VALUE,q.LessThanOne);let o,a=0;for(;null!==(o=i.exec(e));)if(n===++a)return e.substring(0,o.index)+r+e.substring(i.lastIndex);return e}))}find(e,t){return this.runFunction(e.args,t,this.metadata("FIND"),((e,t,r)=>{if(r<1||r>t.length)return new Rr(nr.VALUE,q.IndexBounds);const n=t.substring(r-1).indexOf(e)+r;return n>0?n:new Rr(nr.VALUE,q.PatternNotFound)}))}t(e,t){return this.runFunction(e.args,t,this.metadata("T"),(e=>e instanceof Rr||"string"==typeof e?e:""))}upper(e,t){return this.runFunction(e.args,t,this.metadata("UPPER"),(e=>e.toUpperCase()))}escapeRegExpSpecialCharacters(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}}ca.implementedFunctions={CONCATENATE:{method:"concatenate",parameters:[{argumentType:an.STRING}],repeatLastArgs:1,expandRanges:!0},EXACT:{method:"exact",parameters:[{argumentType:an.STRING},{argumentType:an.STRING}]},SPLIT:{method:"split",parameters:[{argumentType:an.STRING},{argumentType:an.NUMBER}]},LEN:{method:"len",parameters:[{argumentType:an.STRING}]},LOWER:{method:"lower",parameters:[{argumentType:an.STRING}]},MID:{method:"mid",parameters:[{argumentType:an.STRING},{argumentType:an.NUMBER},{argumentType:an.NUMBER}]},TRIM:{method:"trim",parameters:[{argumentType:an.STRING}]},T:{method:"t",parameters:[{argumentType:an.SCALAR}]},PROPER:{method:"proper",parameters:[{argumentType:an.STRING}]},CLEAN:{method:"clean",parameters:[{argumentType:an.STRING}]},REPT:{method:"rept",parameters:[{argumentType:an.STRING},{argumentType:an.NUMBER}]},RIGHT:{method:"right",parameters:[{argumentType:an.STRING},{argumentType:an.NUMBER,defaultValue:1}]},LEFT:{method:"left",parameters:[{argumentType:an.STRING},{argumentType:an.NUMBER,defaultValue:1}]},REPLACE:{method:"replace",parameters:[{argumentType:an.STRING},{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.STRING}]},SEARCH:{method:"search",parameters:[{argumentType:an.STRING},{argumentType:an.STRING},{argumentType:an.NUMBER,defaultValue:1}]},SUBSTITUTE:{method:"substitute",parameters:[{argumentType:an.STRING},{argumentType:an.STRING},{argumentType:an.STRING},{argumentType:an.NUMBER,optionalArg:!0}]},FIND:{method:"find",parameters:[{argumentType:an.STRING},{argumentType:an.STRING},{argumentType:an.NUMBER,defaultValue:1}]},UPPER:{method:"upper",parameters:[{argumentType:an.STRING}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class da extends ln{acos(e,t){return this.runFunction(e.args,t,this.metadata("ACOS"),Math.acos)}asin(e,t){return this.runFunction(e.args,t,this.metadata("ASIN"),Math.asin)}cos(e,t){return this.runFunction(e.args,t,this.metadata("COS"),Math.cos)}sin(e,t){return this.runFunction(e.args,t,this.metadata("SIN"),Math.sin)}tan(e,t){return this.runFunction(e.args,t,this.metadata("TAN"),Math.tan)}atan(e,t){return this.runFunction(e.args,t,this.metadata("ATAN"),Math.atan)}atan2(e,t){return this.runFunction(e.args,t,this.metadata("ATAN2"),((e,t)=>0===e&&0===t?new Rr(nr.DIV_BY_ZERO):Math.atan2(t,e)))}cot(e,t){return this.runFunction(e.args,t,this.metadata("COT"),(e=>0===e?new Rr(nr.DIV_BY_ZERO):1/Math.tan(e)))}acot(e,t){return this.runFunction(e.args,t,this.metadata("ACOT"),(e=>0===e?Mo/2:Math.atan(1/e)))}sec(e,t){return this.runFunction(e.args,t,this.metadata("SEC"),(e=>1/Math.cos(e)))}csc(e,t){return this.runFunction(e.args,t,this.metadata("CSC"),(e=>0===e?new Rr(nr.DIV_BY_ZERO):1/Math.sin(e)))}sinh(e,t){return this.runFunction(e.args,t,this.metadata("SINH"),Math.sinh)}asinh(e,t){return this.runFunction(e.args,t,this.metadata("ASINH"),Math.asinh)}cosh(e,t){return this.runFunction(e.args,t,this.metadata("COSH"),Math.cosh)}acosh(e,t){return this.runFunction(e.args,t,this.metadata("ACOSH"),Math.acosh)}tanh(e,t){return this.runFunction(e.args,t,this.metadata("TANH"),Math.tanh)}atanh(e,t){return this.runFunction(e.args,t,this.metadata("ATANH"),Math.atanh)}coth(e,t){return this.runFunction(e.args,t,this.metadata("COTH"),(e=>0===e?new Rr(nr.DIV_BY_ZERO):1/Math.tanh(e)))}acoth(e,t){return this.runFunction(e.args,t,this.metadata("ACOTH"),(e=>0===e?new Rr(nr.NUM,q.NonZero):Math.atanh(1/e)))}sech(e,t){return this.runFunction(e.args,t,this.metadata("SECH"),(e=>1/Math.cosh(e)))}csch(e,t){return this.runFunction(e.args,t,this.metadata("CSCH"),(e=>0===e?new Rr(nr.DIV_BY_ZERO):1/Math.sinh(e)))}}da.implementedFunctions={ACOS:{method:"acos",parameters:[{argumentType:an.NUMBER}]},ASIN:{method:"asin",parameters:[{argumentType:an.NUMBER}]},COS:{method:"cos",parameters:[{argumentType:an.NUMBER}]},SIN:{method:"sin",parameters:[{argumentType:an.NUMBER}]},TAN:{method:"tan",parameters:[{argumentType:an.NUMBER}]},ATAN:{method:"atan",parameters:[{argumentType:an.NUMBER}]},ATAN2:{method:"atan2",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER}]},COT:{method:"cot",parameters:[{argumentType:an.NUMBER}]},SEC:{method:"sec",parameters:[{argumentType:an.NUMBER}]},CSC:{method:"csc",parameters:[{argumentType:an.NUMBER}]},SINH:{method:"sinh",parameters:[{argumentType:an.NUMBER}]},COSH:{method:"cosh",parameters:[{argumentType:an.NUMBER}]},TANH:{method:"tanh",parameters:[{argumentType:an.NUMBER}]},COTH:{method:"coth",parameters:[{argumentType:an.NUMBER}]},SECH:{method:"sech",parameters:[{argumentType:an.NUMBER}]},CSCH:{method:"csch",parameters:[{argumentType:an.NUMBER}]},ACOT:{method:"acot",parameters:[{argumentType:an.NUMBER}]},ASINH:{method:"asinh",parameters:[{argumentType:an.NUMBER}]},ACOSH:{method:"acosh",parameters:[{argumentType:an.NUMBER}]},ATANH:{method:"atanh",parameters:[{argumentType:an.NUMBER}]},ACOTH:{method:"acoth",parameters:[{argumentType:an.NUMBER}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class pa extends Oi{constructor(e){super(e),this.dependencyGraph=e}find(e,t,r){return this.basicFind(e,t,"col",r)}}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class ga extends ln{constructor(){super(...arguments),this.rowSearch=new pa(this.dependencyGraph)}vlookup(e,t){return this.runFunction(e.args,t,this.metadata("VLOOKUP"),((e,t,r,n)=>{const s=t.range;if(void 0===s)return new Rr(nr.VALUE,q.WrongType);if(r<1)return new Rr(nr.VALUE,q.LessThanOne);if(r>s.width())return new Rr(nr.REF,q.IndexLarge);const i={ordering:n?"asc":"none",ifNoMatch:n?"returnLowerBound":"returnNotFound"};return this.doVlookup(Kr(e),t,r-1,i)}))}hlookup(e,t){return this.runFunction(e.args,t,this.metadata("HLOOKUP"),((e,t,r,n)=>{const s=t.range;if(void 0===s)return new Rr(nr.VALUE,q.WrongType);if(r<1)return new Rr(nr.VALUE,q.LessThanOne);if(r>s.height())return new Rr(nr.REF,q.IndexLarge);const i={ordering:n?"asc":"none",ifNoMatch:n?"returnLowerBound":"returnNotFound"};return this.doHlookup(Kr(e),t,r-1,i)}))}xlookup(e,t){return this.runFunction(e.args,t,this.metadata("XLOOKUP"),((e,t,r,n,s,i)=>{if(![0,-1,1,2].includes(s))return new Rr(nr.VALUE,q.BadMode);if(![1,-1,2,-2].includes(i))return new Rr(nr.VALUE,q.BadMode);const o=t instanceof et?t:et.fromScalar(t),a=r instanceof et?r:et.fromScalar(r),l=2===s,h={ordering:2===i?"asc":-2===i?"desc":"none",returnOccurrence:-1===i?"last":"first",ifNoMatch:-1===s?"returnLowerBound":1===s?"returnUpperBound":"returnNotFound"};return this.doXlookup(Kr(e),o,a,n,l,h)}))}xlookupArraySize(e){var t,r;const n=null===(t=null==e?void 0:e.args)||void 0===t?void 0:t[1],s=null===(r=null==e?void 0:e.args)||void 0===r?void 0:r[2];if(null==(null==n?void 0:n.start)||null==(null==n?void 0:n.end)||null==(null==s?void 0:s.start)||null==(null==s?void 0:s.end))return hn.error();const i=n.end.row-n.start.row+1,o=n.end.col-n.start.col+1,a=s.end.row-s.start.row+1,l=s.end.col-s.start.col+1,h=1===o&&a===i;return h||1===i&&l===o?h?new hn(l,1):new hn(1,a):hn.error()}match(e,t){return this.runFunction(e.args,t,this.metadata("MATCH"),((e,t,r)=>this.doMatch(Kr(e),t,r)))}searchInRange(e,t,r,n,s){return r&&"string"==typeof e&&this.arithmeticHelper.requiresRegex(e)?s.advancedFind(this.arithmeticHelper.eqMatcherFunction(e),t,{returnOccurrence:n.returnOccurrence}):s.find(e,t,n)}doVlookup(e,t,r,n){this.dependencyGraph.stats.start(Ze.VLOOKUP);const s=t.range;let i;i=void 0===s?et.onlyValues(t.data.map((e=>[e[0]]))):et.onlyRange(kr.spanFrom(s.start,1,s.height()),this.dependencyGraph);const o=this.searchInRange(e,i,"none"===n.ordering,n,this.columnSearch);if(this.dependencyGraph.stats.end(Ze.VLOOKUP),-1===o)return new Rr(nr.NA,q.ValueNotFound);let a;if(void 0===s)a=t.data[o][r];else{const e=_r(s.sheet,s.start.col+r,s.start.row+o);a=this.dependencyGraph.getCellValue(e)}return a instanceof et?new Rr(nr.VALUE,q.WrongType):a}doHlookup(e,t,r,n){const s=t.range;let i;i=void 0===s?et.onlyValues([t.data[0]]):et.onlyRange(kr.spanFrom(s.start,s.width(),1),this.dependencyGraph);const o=this.searchInRange(e,i,"none"===n.ordering,n,this.rowSearch);if(-1===o)return new Rr(nr.NA,q.ValueNotFound);let a;if(void 0===s)a=t.data[r][o];else{const e=_r(s.sheet,s.start.col+o,s.start.row+r);a=this.dependencyGraph.getCellValue(e)}return a instanceof et?new Rr(nr.VALUE,q.WrongType):a}doXlookup(e,t,r,n,s,i){const o=1===t.width()&&r.height()===t.height(),a=1===t.height()&&r.width()===t.width();if(!o&&!a)return new Rr(nr.VALUE,q.WrongDimension);const l=o?this.columnSearch:this.rowSearch,h=this.searchInRange(e,t,s,i,l);if(-1===h)return n==nr.NA?new Rr(nr.NA,q.ValueNotFound):n;const u=o?[r.data[h]]:r.data.map((e=>[e[h]]));return et.onlyValues(u)}doMatch(e,t,r){if(![-1,0,1].includes(r))return new Rr(nr.VALUE,q.BadMode);if(t.width()>1&&t.height()>1)return new Rr(nr.NA);const n=0===r?{ordering:"none",ifNoMatch:"returnNotFound"}:{ordering:-1===r?"desc":"asc",ifNoMatch:-1===r?"returnUpperBound":"returnLowerBound"},s=(1===t.width()?this.columnSearch:this.rowSearch).find(e,t,n);return-1===s?new Rr(nr.NA,q.ValueNotFound):s+1}}ga.implementedFunctions={VLOOKUP:{method:"vlookup",parameters:[{argumentType:an.NOERROR},{argumentType:an.RANGE},{argumentType:an.NUMBER},{argumentType:an.BOOLEAN,defaultValue:!0}]},HLOOKUP:{method:"hlookup",parameters:[{argumentType:an.NOERROR},{argumentType:an.RANGE},{argumentType:an.NUMBER},{argumentType:an.BOOLEAN,defaultValue:!0}]},XLOOKUP:{method:"xlookup",arraySizeMethod:"xlookupArraySize",parameters:[{argumentType:an.NOERROR},{argumentType:an.RANGE},{argumentType:an.RANGE},{argumentType:an.SCALAR,optionalArg:!0,defaultValue:nr.NA},{argumentType:an.NUMBER,optionalArg:!0,defaultValue:0},{argumentType:an.NUMBER,optionalArg:!0,defaultValue:1}]},MATCH:{method:"match",parameters:[{argumentType:an.NOERROR},{argumentType:an.RANGE},{argumentType:an.NUMBER,defaultValue:1}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class fa extends ln{roman(e,t){return this.runFunction(e.args,t,this.metadata("ROMAN"),((e,t)=>(e=Math.trunc(e),!1===t?t=4:!0===t&&(t=0),(t=We(this.coerceScalarToNumberOrError(t)))instanceof Rr?t:(t=Math.trunc(t))<0?new Rr(nr.VALUE,q.ValueSmall):t>4?new Rr(nr.VALUE,q.ValueLarge):function(e,t){const r={val:e%1e3,acc:"M".repeat(Math.floor(e/1e3))};4===t&&(ya(r,"IM",999,1e3),ya(r,"ID",499,500));t>=3&&(ya(r,"VM",995,1e3),ya(r,"VD",495,500));t>=2&&(ya(r,"XM",990,1e3),ya(r,"XD",490,500));t>=1&&(ya(r,"LM",950,1e3),ya(r,"LD",450,500));ya(r,"CM",900,1e3),ya(r,"CD",400,500),ya(r,"D",500,900),r.acc+="C".repeat(Math.floor(r.val/100)),r.val%=100,t>=2&&(ya(r,"IC",99,100),ya(r,"IL",49,50));t>=1&&(ya(r,"VC",95,100),ya(r,"VL",45,50));return ya(r,"XC",90,100),ya(r,"XL",40,50),ya(r,"L",50,90),r.acc+="X".repeat(Math.floor(r.val/10)),r.val%=10,ya(r,"IX",9,10),ya(r,"IV",4,5),ya(r,"V",5,9),r.acc+="I".repeat(r.val),r.acc}(e,t))))}arabic(e,t){return this.runFunction(e.args,t,this.metadata("ARABIC"),(e=>{let t=!1;if((e=e.trim().toUpperCase()).startsWith("-")&&(t=!0,""===(e=e.slice(1))))return new Rr(nr.VALUE,q.InvalidRoman);const r={input:e,acc:0};return ma(r,{token:"MMM",val:3e3},{token:"MM",val:2e3},{token:"M",val:1e3}),ma(r,{token:"IM",val:999},{token:"VM",val:995},{token:"XM",val:990},{token:"LM",val:950},{token:"CM",val:900}),ma(r,{token:"D",val:500},{token:"ID",val:499},{token:"VD",val:495},{token:"XD",val:490},{token:"LD",val:450},{token:"CD",val:400}),ma(r,{token:"CCC",val:300},{token:"CC",val:200},{token:"C",val:100}),ma(r,{token:"IC",val:99},{token:"VC",val:95},{token:"XC",val:90}),ma(r,{token:"L",val:50},{token:"IL",val:49},{token:"VL",val:45},{token:"XL",val:40}),ma(r,{token:"XXX",val:30},{token:"XX",val:20},{token:"X",val:10}),ma(r,{token:"IX",val:9}),ma(r,{token:"V",val:5},{token:"IV",val:4}),ma(r,{token:"III",val:3},{token:"II",val:2},{token:"I",val:1}),""!==r.input?new Rr(nr.VALUE,q.InvalidRoman):t?-r.acc:r.acc}))}}function ma(e,...t){for(const r of t)if(e.input.startsWith(r.token)){e.input=e.input.slice(r.token.length),e.acc+=r.val;break}}function ya(e,t,r,n){e.val>=r&&e.val<n&&(e.val-=r,e.acc+=t)}fa.implementedFunctions={ROMAN:{method:"roman",parameters:[{argumentType:an.NUMBER,minValue:1,lessThan:4e3},{argumentType:an.NOERROR,optionalArg:!0,defaultValue:0}]},ARABIC:{method:"arabic",parameters:[{argumentType:an.STRING}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ea extends ln{add(e,t){return this.runFunction(e.args,t,this.metadata("HF.ADD"),this.arithmeticHelper.addWithEpsilon)}concat(e,t){return this.runFunction(e.args,t,this.metadata("HF.CONCAT"),this.arithmeticHelper.concat)}divide(e,t){return this.runFunction(e.args,t,this.metadata("HF.DIVIDE"),this.arithmeticHelper.divide)}eq(e,t){return this.runFunction(e.args,t,this.metadata("HF.EQ"),this.arithmeticHelper.eq)}gt(e,t){return this.runFunction(e.args,t,this.metadata("HF.GT"),this.arithmeticHelper.gt)}gte(e,t){return this.runFunction(e.args,t,this.metadata("HF.GTE"),this.arithmeticHelper.geq)}lt(e,t){return this.runFunction(e.args,t,this.metadata("HF.LT"),this.arithmeticHelper.lt)}lte(e,t){return this.runFunction(e.args,t,this.metadata("HF.LTE"),this.arithmeticHelper.leq)}minus(e,t){return this.runFunction(e.args,t,this.metadata("HF.MINUS"),this.arithmeticHelper.subtract)}multiply(e,t){return this.runFunction(e.args,t,this.metadata("HF.MULTIPLY"),this.arithmeticHelper.multiply)}ne(e,t){return this.runFunction(e.args,t,this.metadata("HF.NE"),this.arithmeticHelper.neq)}pow(e,t){return this.runFunction(e.args,t,this.metadata("HF.POW"),this.arithmeticHelper.pow)}uminus(e,t){return this.runFunction(e.args,t,this.metadata("HF.UMINUS"),this.arithmeticHelper.unaryMinus)}upercent(e,t){return this.runFunction(e.args,t,this.metadata("HF.UNARY_PERCENT"),this.arithmeticHelper.unaryPercent)}uplus(e,t){return this.runFunction(e.args,t,this.metadata("HF.UPLUS"),this.arithmeticHelper.unaryPlus)}}Ea.implementedFunctions={"HF.ADD":{method:"add",parameters:[{argumentType:an.NUMBER,passSubtype:!0},{argumentType:an.NUMBER,passSubtype:!0}]},"HF.CONCAT":{method:"concat",parameters:[{argumentType:an.STRING,passSubtype:!0},{argumentType:an.STRING,passSubtype:!0}]},"HF.DIVIDE":{method:"divide",parameters:[{argumentType:an.NUMBER,passSubtype:!0},{argumentType:an.NUMBER,passSubtype:!0}]},"HF.EQ":{method:"eq",parameters:[{argumentType:an.NOERROR,passSubtype:!0},{argumentType:an.NOERROR,passSubtype:!0}]},"HF.GT":{method:"gt",parameters:[{argumentType:an.NOERROR,passSubtype:!0},{argumentType:an.NOERROR,passSubtype:!0}]},"HF.GTE":{method:"gte",parameters:[{argumentType:an.NOERROR,passSubtype:!0},{argumentType:an.NOERROR,passSubtype:!0}]},"HF.LT":{method:"lt",parameters:[{argumentType:an.NOERROR,passSubtype:!0},{argumentType:an.NOERROR,passSubtype:!0}]},"HF.LTE":{method:"lte",parameters:[{argumentType:an.NOERROR,passSubtype:!0},{argumentType:an.NOERROR,passSubtype:!0}]},"HF.MINUS":{method:"minus",parameters:[{argumentType:an.NUMBER,passSubtype:!0},{argumentType:an.NUMBER,passSubtype:!0}]},"HF.MULTIPLY":{method:"multiply",parameters:[{argumentType:an.NUMBER,passSubtype:!0},{argumentType:an.NUMBER,passSubtype:!0}]},"HF.NE":{method:"ne",parameters:[{argumentType:an.NOERROR,passSubtype:!0},{argumentType:an.NOERROR,passSubtype:!0}]},"HF.POW":{method:"pow",parameters:[{argumentType:an.NUMBER,passSubtype:!0},{argumentType:an.NUMBER,passSubtype:!0}]},"HF.UMINUS":{method:"uminus",parameters:[{argumentType:an.NUMBER,passSubtype:!0}]},"HF.UNARY_PERCENT":{method:"upercent",parameters:[{argumentType:an.NUMBER,passSubtype:!0}]},"HF.UPLUS":{method:"uplus",parameters:[{argumentType:an.NUMBER,passSubtype:!0}]}};
/**
 * @license
 bessel.js (C) 2013-present SheetJS -- http://sheetjs.com

 Apache License
 Version 2.0, January 2004
 http://www.apache.org/licenses/

 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

 1. Definitions.

 "License" shall mean the terms and conditions for use, reproduction,
 and distribution as defined by Sections 1 through 9 of this document.

 "Licensor" shall mean the copyright owner or entity authorized by
 the copyright owner that is granting the License.

 "Legal Entity" shall mean the union of the acting entity and all
 other entities that control, are controlled by, or are under common
 control with that entity. For the purposes of this definition,
 "control" means (i) the power, direct or indirect, to cause the
 direction or management of such entity, whether by contract or
 otherwise, or (ii) ownership of fifty percent (50%) or more of the
 outstanding shares, or (iii) beneficial ownership of such entity.

 "You" (or "Your") shall mean an individual or Legal Entity
 exercising permissions granted by this License.

 "Source" form shall mean the preferred form for making modifications,
 including but not limited to software source code, documentation
 source, and configuration files.

 "Object" form shall mean any form resulting from mechanical
 transformation or translation of a Source form, including but
 not limited to compiled object code, generated documentation,
 and conversions to other media types.

 "Work" shall mean the work of authorship, whether in Source or
 Object form, made available under the License, as indicated by a
 copyright notice that is included in or attached to the work
 (an example is provided in the Appendix below).

 "Derivative Works" shall mean any work, whether in Source or Object
 form, that is based on (or derived from) the Work and for which the
 editorial revisions, annotations, elaborations, or other modifications
 represent, as a whole, an original work of authorship. For the purposes
 of this License, Derivative Works shall not include works that remain
 separable from, or merely link (or bind by name) to the interfaces of,
 the Work and Derivative Works thereof.

 "Contribution" shall mean any work of authorship, including
 the original version of the Work and any modifications or additions
 to that Work or Derivative Works thereof, that is intentionally
 submitted to Licensor for inclusion in the Work by the copyright owner
 or by an individual or Legal Entity authorized to submit on behalf of
 the copyright owner. For the purposes of this definition, "submitted"
 means any form of electronic, verbal, or written communication sent
 to the Licensor or its representatives, including but not limited to
 communication on electronic mailing lists, source code control systems,
 and issue tracking systems that are managed by, or on behalf of, the
 Licensor for the purpose of discussing and improving the Work, but
 excluding communication that is conspicuously marked or otherwise
 designated in writing by the copyright owner as "Not a Contribution."

 "Contributor" shall mean Licensor and any individual or Legal Entity
 on behalf of whom a Contribution has been received by Licensor and
 subsequently incorporated within the Work.

 2. Grant of Copyright License. Subject to the terms and conditions of
 this License, each Contributor hereby grants to You a perpetual,
 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 copyright license to reproduce, prepare Derivative Works of,
 publicly display, publicly perform, sublicense, and distribute the
 Work and such Derivative Works in Source or Object form.

 3. Grant of Patent License. Subject to the terms and conditions of
 this License, each Contributor hereby grants to You a perpetual,
 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 (except as stated in this section) patent license to make, have made,
 use, offer to sell, sell, import, and otherwise transfer the Work,
 where such license applies only to those patent claims licensable
 by such Contributor that are necessarily infringed by their
 Contribution(s) alone or by combination of their Contribution(s)
 with the Work to which such Contribution(s) was submitted. If You
 institute patent litigation against any entity (including a
 cross-claim or counterclaim in a lawsuit) alleging that the Work
 or a Contribution incorporated within the Work constitutes direct
 or contributory patent infringement, then any patent licenses
 granted to You under this License for that Work shall terminate
 as of the date such litigation is filed.

 4. Redistribution. You may reproduce and distribute copies of the
 Work or Derivative Works thereof in any medium, with or without
 modifications, and in Source or Object form, provided that You
 meet the following conditions:

 (a) You must give any other recipients of the Work or
 Derivative Works a copy of this License; and

 (b) You must cause any modified files to carry prominent notices
 stating that You changed the files; and

 (c) You must retain, in the Source form of any Derivative Works
 that You distribute, all copyright, patent, trademark, and
 attribution notices from the Source form of the Work,
 excluding those notices that do not pertain to any part of
 the Derivative Works; and

 (d) If the Work includes a "NOTICE" text file as part of its
 distribution, then any Derivative Works that You distribute must
 include a readable copy of the attribution notices contained
 within such NOTICE file, excluding those notices that do not
 pertain to any part of the Derivative Works, in at least one
 of the following places: within a NOTICE text file distributed
 as part of the Derivative Works; within the Source form or
 documentation, if provided along with the Derivative Works; or,
 within a display generated by the Derivative Works, if and
 wherever such third-party notices normally appear. The contents
 of the NOTICE file are for informational purposes only and
 do not modify the License. You may add Your own attribution
 notices within Derivative Works that You distribute, alongside
 or as an addendum to the NOTICE text from the Work, provided
 that such additional attribution notices cannot be construed
 as modifying the License.

 You may add Your own copyright statement to Your modifications and
 may provide additional or different license terms and conditions
 for use, reproduction, or distribution of Your modifications, or
 for any such Derivative Works as a whole, provided Your use,
 reproduction, and distribution of the Work otherwise complies with
 the conditions stated in this License.

 5. Submission of Contributions. Unless You explicitly state otherwise,
 any Contribution intentionally submitted for inclusion in the Work
 by You to the Licensor shall be under the terms and conditions of
 this License, without any additional terms or conditions.
 Notwithstanding the above, nothing herein shall supersede or modify
 the terms of any separate license agreement you may have executed
 with Licensor regarding such Contributions.

 6. Trademarks. This License does not grant permission to use the trade
 names, trademarks, service marks, or product names of the Licensor,
 except as required for reasonable and customary use in describing the
 origin of the Work and reproducing the content of the NOTICE file.

 7. Disclaimer of Warranty. Unless required by applicable law or
 agreed to in writing, Licensor provides the Work (and each
 Contributor provides its Contributions) on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 implied, including, without limitation, any warranties or conditions
 of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
 PARTICULAR PURPOSE. You are solely responsible for determining the
 appropriateness of using or redistributing the Work and assume any
 risks associated with Your exercise of permissions under this License.

 8. Limitation of Liability. In no event and under no legal theory,
 whether in tort (including negligence), contract, or otherwise,
 unless required by applicable law (such as deliberate and grossly
 negligent acts) or agreed to in writing, shall any Contributor be
 liable to You for damages, including any direct, indirect, special,
 incidental, or consequential damages of any character arising as a
 result of this License or out of the use or inability to use the
 Work (including but not limited to damages for loss of goodwill,
 work stoppage, computer failure or malfunction, or any and all
 other commercial damages or losses), even if such Contributor
 has been advised of the possibility of such damages.

 9. Accepting Warranty or Additional Liability. While redistributing
 the Work or Derivative Works thereof, You may choose to offer,
 and charge a fee for, acceptance of support, warranty, indemnity,
 or other liability obligations and/or rights consistent with this
 License. However, in accepting such obligations, You may act only
 on Your own behalf and on Your sole responsibility, not on behalf
 of any other Contributor, and only if You agree to indemnify,
 defend, and hold each Contributor harmless for any liability
 incurred by, or claims asserted against, such Contributor by reason
 of your accepting any such warranty or additional liability.

 END OF TERMS AND CONDITIONS

 APPENDIX: How to apply the Apache License to your work.

 To apply the Apache License to your work, attach the following
 boilerplate notice, with the fields enclosed by brackets "{}"
 replaced with your own identifying information. (Don't include
 the brackets!)  The text should be enclosed in the appropriate
 comment syntax for the file format. We also recommend that a
 file or class name and description of purpose be included on the
 same "printed page" as the copyright notice for easier
 identification within third-party archives.

 Copyright (C) 2013-present   SheetJS LLC

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.

 */
var wa=Math;function Ca(e,t){for(var r=0,n=0;r<e.length;++r)n=t*n+e[r];return n}function va(e,t,r,n,s){if(0===t)return r;if(1===t)return n;for(var i=2/e,o=n,a=1;a<t;++a)o=n*a*i+s*r,r=n,n=o;return o}function Ra(e,t,r,n,s){return function(r,i){if(n){if(0===r)return 1==n?-1/0:1/0;if(r<0)return NaN}return 0===i?e(r):1===i?t(r):i<0?NaN:va(r,i|=0,e(r),t(r),s)}}var Sa,Ta,Na,Ma,_a,ba,Oa,Aa,Ia,xa,Pa,La,Da,ka=function(){var e=.636619772,t=[57568490574,-13362590354,651619640.7,-11214424.18,77392.33017,-184.9052456].reverse(),r=[57568490411,1029532985,9494680.718,59272.64853,267.8532712,1].reverse(),n=[1,-.001098628627,2734510407e-14,-2073370639e-15,2.093887211e-7].reverse(),s=[-.01562499995,.0001430488765,-6911147651e-15,7.621095161e-7,-9.34935152e-8].reverse();function i(i){var o=0,a=0,l=0,h=i*i;if(i<8)o=(a=Ca(t,h))/(l=Ca(r,h));else{var u=i-.785398164;a=Ca(n,h=64/h),l=Ca(s,h),o=wa.sqrt(e/i)*(wa.cos(u)*a-wa.sin(u)*l*8/i)}return o}var o=[72362614232,-7895059235,242396853.1,-2972611.439,15704.4826,-30.16036606].reverse(),a=[144725228442,2300535178,18583304.74,99447.43394,376.9991397,1].reverse(),l=[1,.00183105,-3516396496e-14,2457520174e-15,-2.40337019e-7].reverse(),h=[.04687499995,-.0002002690873,8449199096e-15,-8.8228987e-7,1.05787412e-7].reverse();function u(t){var r=0,n=0,s=0,i=t*t,u=wa.abs(t)-2.356194491;return Math.abs(t)<8?r=(n=t*Ca(o,i))/(s=Ca(a,i)):(n=Ca(l,i=64/i),s=Ca(h,i),r=wa.sqrt(e/wa.abs(t))*(wa.cos(u)*n-wa.sin(u)*s*8/wa.abs(t)),t<0&&(r=-r)),r}return function e(t,r){if(r=Math.round(r),!isFinite(t))return isNaN(t)?t:0;if(r<0)return(r%2?-1:1)*e(t,-r);if(t<0)return(r%2?-1:1)*e(-t,r);if(0===r)return i(t);if(1===r)return u(t);if(0===t)return 0;var n=0;if(t>r)n=va(t,r,i(t),u(t),-1);else{for(var s=!1,o=0,a=0,l=1,h=0,c=2/t,d=2*wa.floor((r+wa.floor(wa.sqrt(40*r)))/2);d>0;d--)h=d*c*l-o,o=l,l=h,wa.abs(l)>1e10&&(l*=1e-10,o*=1e-10,n*=1e-10,a*=1e-10),s&&(a+=l),s=!s,d==r&&(n=o);n/=a=2*a-l}return n}}(),Ha=(Sa=.636619772,Ta=[-2957821389,7062834065,-512359803.6,10879881.29,-86327.92757,228.4622733].reverse(),Na=[40076544269,745249964.8,7189466.438,47447.2647,226.1030244,1].reverse(),Ma=[1,-.001098628627,2734510407e-14,-2073370639e-15,2.093887211e-7].reverse(),_a=[-.01562499995,.0001430488765,-6911147651e-15,7.621095161e-7,-9.34945152e-8].reverse(),ba=[-4900604943e3,127527439e4,-51534381390,734926455.1,-4237922.726,8511.937935].reverse(),Oa=[249958057e5,424441966400,3733650367,22459040.02,102042.605,354.9632885,1].reverse(),Aa=[1,.00183105,-3516396496e-14,2457520174e-15,-2.40337019e-7].reverse(),Ia=[.04687499995,-.0002002690873,8449199096e-15,-8.8228987e-7,1.05787412e-7].reverse(),Ra((function(e){var t=0,r=0,n=0,s=e*e,i=e-.785398164;return e<8?t=(r=Ca(Ta,s))/(n=Ca(Na,s))+Sa*ka(e,0)*wa.log(e):(r=Ca(Ma,s=64/s),n=Ca(_a,s),t=wa.sqrt(Sa/e)*(wa.sin(i)*r+wa.cos(i)*n*8/e)),t}),(function(e){var t=0,r=0,n=0,s=e*e,i=e-2.356194491;return e<8?t=(r=e*Ca(ba,s))/(n=Ca(Oa,s))+Sa*(ka(e,1)*wa.log(e)-1/e):(r=Ca(Aa,s=64/s),n=Ca(Ia,s),t=wa.sqrt(Sa/e)*(wa.sin(i)*r+wa.cos(i)*n*8/e)),t}),0,1,-1)),Fa=(xa=[1,3.5156229,3.0899424,1.2067492,.2659732,.0360768,.0045813].reverse(),Pa=[.39894228,.01328592,.00225319,-.00157565,.00916281,-.02057706,.02635537,-.01647633,.00392377].reverse(),La=[.5,.87890594,.51498869,.15084934,.02658733,.00301532,32411e-8].reverse(),Da=[.39894228,-.03988024,-.00362018,.00163801,-.01031555,.02282967,-.02895312,.01787654,-.00420059].reverse(),function e(t,r){if(0===(r=Math.round(r)))return function(e){return e<=3.75?Ca(xa,e*e/14.0625):wa.exp(wa.abs(e))/wa.sqrt(wa.abs(e))*Ca(Pa,3.75/wa.abs(e))}(t);if(1===r)return function(e){return e<3.75?e*Ca(La,e*e/14.0625):(e<0?-1:1)*wa.exp(wa.abs(e))/wa.sqrt(wa.abs(e))*Ca(Da,3.75/wa.abs(e))}(t);if(r<0)return NaN;if(0===wa.abs(t))return 0;if(t==1/0)return 1/0;var n,s=0,i=2/wa.abs(t),o=0,a=1,l=0;for(n=2*wa.round((r+wa.round(wa.sqrt(40*r)))/2);n>0;n--)l=n*i*a+o,o=a,a=l,wa.abs(a)>1e10&&(a*=1e-10,o*=1e-10,s*=1e-10),n==r&&(s=o);return s*=e(t,0)/a,t<0&&r%2?-s:s}),Ua=function(){var e=[-.57721566,.4227842,.23069756,.0348859,.00262698,1075e-7,74e-7].reverse(),t=[1.25331414,-.07832358,.02189568,-.01062446,.00587872,-.0025154,53208e-8].reverse();var r=[1,.15443144,-.67278579,-.18156897,-.01919402,-.00110404,-4686e-8].reverse(),n=[1.25331414,.23498619,-.0365562,.01504268,-.00780353,.00325614,-68245e-8].reverse();return Ra((function(r){return r<=2?-wa.log(r/2)*Fa(r,0)+Ca(e,r*r/4):wa.exp(-r)/wa.sqrt(r)*Ca(t,2/r)}),(function(e){return e<=2?wa.log(e/2)*Fa(e,1)+1/e*Ca(r,e*e/4):wa.exp(-e)/wa.sqrt(e)*Ca(n,2/e)}),0,2,1)}();
/**
 * @license
 Copyright (c) 2013 jStat

 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
 in the Software without restriction, including without limitation the rights
 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 copies of the Software, and to permit persons to whom the Software is
 furnished to do so, subject to the following conditions:

 The above copyright notice and this permission notice shall be included in
 all copies or substantial portions of the Software.

 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 */
function Va(e){const t=[-1.3026537197817094,.6419697923564902,.019476473204185836,-.00956151478680863,-.000946595344482036,.000366839497852761,42523324806907e-18,-20278578112534e-18,-1624290004647e-18,130365583558e-17,1.5626441722e-8,-8.5238095915e-8,6.529054439e-9,5.059343495e-9,-9.91364156e-10,-2.27365122e-10,96467911e-18,2394038e-18,-6886027e-18,894487e-18,313092e-18,-112708e-18,381e-18,7106e-18,-1523e-18,-94e-18,121e-18,-28e-18];let r,n,s,i,o=t.length-1,a=!1,l=0,h=0;if(0===e)return 0;for(e<0&&(e=-e,a=!0),r=2/(2+e),n=4*r-2;o>0;o--)s=l,l=n*l-h+t[o],h=s;return i=r*Math.exp(-e*e+.5*(t[0]+n*l)-h),a?i-1:1-i}function Ba(e){return 1-Va(e)}function Wa(e){let t,r,n,s,i=0;if(e>=2)return-100;if(e<=0)return 100;for(s=e<1?e:2-e,n=Math.sqrt(-2*Math.log(s/2)),t=-.70711*((2.30753+.27061*n)/(1+n*(.99229+.04481*n))-n);i<2;i++)r=Ba(t)-s,t+=r/(1.1283791670955126*Math.exp(-t*t)-t*r);return e<1?t:-t}const Ya=(e,t)=>e<0?0:t*Math.exp(-t*e),Ga=(e,t)=>e<0?0:1-Math.exp(-t*e);function ja(e){const t=[-1.716185138865495,24.76565080557592,-379.80425647094563,629.3311553128184,866.9662027904133,-31451.272968848367,-36144.413418691176,66456.14382024054],r=[-30.8402300119739,315.35062697960416,-1015.1563674902192,-3107.771671572311,22538.11842098015,4755.846277527881,-134659.9598649693,-115132.2596755535];let n,s,i,o,a=!1,l=0,h=0,u=0,c=e;if(e>171.6243769536076)return 1/0;if(c<=0){if(o=c%1,!o)return 1/0;a=(1&c?-1:1)*Math.PI/Math.sin(Math.PI*o),c=1-c}for(i=c,s=c<1?c++:(c-=l=(0|c)-1)-1,n=0;n<8;++n)u=(u+t[n])*s,h=h*s+r[n];if(o=u/h+1,i<c)o/=i;else if(i>c)for(n=0;n<l;++n)o*=c,c++;return a&&(o=a/o),o}const za=function(e,t,r){return e<0?0:0===e&&1===t?1/r:Math.exp((t-1)*Math.log(e)-e/r-Xa(t)-t*Math.log(r))},$a=function(e,t,r){return e<0?0:qa(t,e/r)},Ka=function(e,t,r){return Qa(e,t)*r};function Xa(e){let t=0;const r=[76.18009172947146,-86.50532032941678,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18];let n,s,i,o=1.000000000190015;for(i=(s=n=e)+5.5,i-=(n+.5)*Math.log(i);t<6;t++)o+=r[t]/++s;return Math.log(2.5066282746310007*o/n)-i}function qa(e,t){const r=Xa(e);let n=e,s=1/e,i=s,o=t+1-e,a=1/1e-30,l=1/o,h=l,u=1;const c=-~(8.5*Math.log(e>=1?e:1/e)+.4*e+17);let d;if(t<0||e<=0)return NaN;if(t<e+1){for(;u<=c;u++)s+=i*=t/++n;return s*Math.exp(-t+e*Math.log(t)-r)}for(;u<=c;u++)d=-u*(u-e),o+=2,l=d*l+o,a=o+d/a,l=1/l,h*=l*a;return 1-h*Math.exp(-t+e*Math.log(t)-r)}function Qa(e,t){let r=0;const n=t-1,s=Xa(t);let i,o,a,l,h,u,c;if(e>=1)return Math.max(100,t+100*Math.sqrt(t));if(e<=0)return 0;for(t>1?(u=Math.log(n),c=Math.exp(n*(u-1)-s),h=e<.5?e:1-e,a=Math.sqrt(-2*Math.log(h)),i=(2.30753+.27061*a)/(1+a*(.99229+.04481*a))-a,e<.5&&(i=-i),i=Math.max(.001,t*Math.pow(1-1/(9*t)-i/(3*Math.sqrt(t)),3))):(a=1-t*(.253+.12*t),i=e<a?Math.pow(e/a,1/t):1-Math.log(1-(e-a)/(1-a)));r<12;r++){if(i<=0)return 0;if(o=qa(t,i)-e,a=t>1?c*Math.exp(-(i-n)+n*(Math.log(i)-u)):Math.exp(-i+n*Math.log(i)-s),l=o/a,i-=a=l/(1-.5*Math.min(1,l*((t-1)/i-1))),i<=0&&(i=.5*(i+a)),Math.abs(a)<1e-8*i)break}return i}const Za=function(e,t,r){return Math.exp(-.5*Math.log(2*Math.PI)-Math.log(r)-Math.pow(e-t,2)/(2*r*r))},Ja=function(e,t,r){return.5*(1+Va((e-t)/Math.sqrt(2*r*r)))},el=function(e,t,r){return-1.4142135623730951*r*Wa(2*e)+t},tl=function(e,t,r){return e>1||e<0?0:1==t&&1==r?1:t<512&&r<512?Math.pow(e,t-1)*Math.pow(1-e,r-1)/sl(t,r):Math.exp((t-1)*Math.log(e)+(r-1)*Math.log(1-e)-il(t,r))},rl=function(e,t,r){return e>1||e<0?+(e>1):al(e,t,r)},nl=function(e,t,r){return ol(e,t,r)};function sl(e,t){if(!(e<=0||t<=0))return e+t>170?Math.exp(il(e,t)):ja(e)*ja(t)/ja(e+t)}function il(e,t){return Xa(e)+Xa(t)-Xa(e+t)}function ol(e,t,r){var n,s,i,o,a,l,h,u,c,d,p=t-1,g=r-1,f=0;if(e<=0)return 0;if(e>=1)return 1;for(t>=1&&r>=1?(i=e<.5?e:1-e,l=(2.30753+.27061*(o=Math.sqrt(-2*Math.log(i))))/(1+o*(.99229+.04481*o))-o,e<.5&&(l=-l),h=(l*l-3)/6,u=2/(1/(2*t-1)+1/(2*r-1)),c=l*Math.sqrt(h+u)/u-(1/(2*r-1)-1/(2*t-1))*(h+5/6-2/(3*u)),l=t/(t+r*Math.exp(2*c))):(n=Math.log(t/(t+r)),s=Math.log(r/(t+r)),l=e<(o=Math.exp(t*n)/t)/(c=o+(a=Math.exp(r*s)/r))?Math.pow(t*c*e,1/t):1-Math.pow(r*c*(1-e),1/r)),d=-Xa(t)-Xa(r)+Xa(t+r);f<10;f++){if(0===l||1===l)return l;if((l-=o=(a=(al(l,t,r)-e)/(o=Math.exp(p*Math.log(l)+g*Math.log(1-l)+d)))/(1-.5*Math.min(1,a*(p/l-g/(1-l)))))<=0&&(l=.5*(l+o)),l>=1&&(l=.5*(l+o+1)),Math.abs(o)<1e-8*l&&f>0)break}return l}function al(e,t,r){var n=0===e||1===e?0:Math.exp(Xa(t+r)-Xa(t)-Xa(r)+t*Math.log(e)+r*Math.log(1-e));return!(e<0||e>1)&&(e<(t+1)/(t+r+2)?n*ll(e,t,r)/t:1-n*ll(1-e,r,t)/r)}function ll(e,t,r){var n,s,i,o,a=1e-30,l=1,h=t+r,u=t+1,c=t-1,d=1,p=1-h*e/u;for(Math.abs(p)<a&&(p=a),o=p=1/p;l<=100&&(p=1+(s=l*(r-l)*e/((c+(n=2*l))*(t+n)))*p,Math.abs(p)<a&&(p=a),d=1+s/d,Math.abs(d)<a&&(d=a),o*=(p=1/p)*d,p=1+(s=-(t+l)*(h+l)*e/((t+n)*(u+n)))*p,Math.abs(p)<a&&(p=a),d=1+s/d,Math.abs(d)<a&&(d=a),o*=i=(p=1/p)*d,!(Math.abs(i-1)<3e-7));l++);return o}const hl=function(e,t,r){return 0===r||1===r?t*r===e?1:0:dl(t,e)*Math.pow(r,e)*Math.pow(1-r,t-e)},ul=function(e,t,r){var n,s=1e-10;if(e<0)return 0;if(e>=t)return 1;if(r<0||r>1||t<=0)return NaN;var i=r,o=(e=Math.floor(e))+1,a=t-e,l=o+a,h=Math.exp(Xa(l)-Xa(a)-Xa(o)+o*Math.log(i)+a*Math.log(1-i));return n=i<(o+1)/(l+2)?h*cl(i,o,a,s):1-h*cl(1-i,a,o,s),Math.round(1/s*(1-n))/(1/s)};function cl(e,t,r,n){for(var s,i=0,o=1,a=1,l=1,h=0,u=0;Math.abs((a-u)/a)>n;)u=a,o=l+(s=-(t+h)*(t+r+h)*e/(t+2*h)/(t+2*h+1))*o,a=(i=a+s*i)+(s=(h+=1)*(r-h)*e/(t+2*h-1)/(t+2*h))*a,i/=l=o+s*l,o/=l,a/=l,l=1;return a/t}function dl(e,t){return e>170||t>170?Math.exp(function(e,t){return pl(e)-pl(t)-pl(e-t)}(e,t)):gl(e)/gl(t)/gl(e-t)}function pl(e){return e<0?NaN:Xa(e+1)}function gl(e){return e<0?NaN:ja(e+1)}const fl=function(e,t){return e<0?0:0===e&&2===t?.5:Math.exp((t/2-1)*Math.log(e)-e/2-t/2*Math.log(2)-Xa(t/2))},ml=function(e,t){return e<0?0:qa(t/2,e/2)},yl=function(e,t){return 2*Qa(e,.5*t)},El=function(e,t,r){return e<0?0:t<=2?0===e&&t<2?1/0:0===e&&2===t?1:1/sl(t/2,r/2)*Math.pow(t/r,t/2)*Math.pow(e,t/2-1)*Math.pow(1+t/r*e,-(t+r)/2):t*(r/(r+e*t))/2*hl((t-2)/2,(t+r-2)/2,t*e/(r+e*t))},wl=function(e,t,r){return e<0?0:al(t*e/(t*e+r),t/2,r/2)},Cl=function(e,t,r){return r/(t*(1/ol(e,t/2,r/2)-1))},vl=function(e,t,r){return e<0||t<0||r<0?0:r/t*Math.pow(e/t,r-1)*Math.exp(-Math.pow(e/t,r))},Rl=function(e,t,r){return e<0?0:1-Math.exp(-Math.pow(e/t,r))},Sl={pdf:function(e,t){return t<0||e%1!=0||e<0?0:Math.pow(t,e)*Math.exp(-t)/gl(e)},cdf:function(e,t){var r=0;if(e<0)return 0;for(var n=0;r<=e;r++)n+=Sl.pdf(r,t);return n}},Tl={pdf:function(e,t,r,n){if(e<0||e<r-(t-n))return 0;if(e>n||e>r)return 0;if(2*r>t)return 2*n>t?Tl.pdf(t-r-n+e,t,t-r,t-n):Tl.pdf(n-e,t,t-r,n);if(2*n>t)return Tl.pdf(r-e,t,r,t-n);if(r<n)return Tl.pdf(e,t,n,r);for(var s=1,i=0,o=0;o<e;o++){for(;s>1&&i<n;)s*=1-r/(t-i),i++;s*=(n-o)*(r-o)/((o+1)*(t-r-n+o+1))}for(;i<n;i++)s*=1-r/(t-i);return Math.min(1,Math.max(0,s))},cdf:function e(t,r,n,s){if(t<0||t<n-(r-s))return 0;if(t>=s||t>=n)return 1;if(2*n>r)return 2*s>r?e(r-n-s+t,r,r-n,r-s):1-Tl.cdf(s-t-1,r,r-n,s);if(2*s>r)return 1-Tl.cdf(n-t-1,r,n,r-s);if(n<s)return Tl.cdf(t,r,s,n);for(var i=1,o=1,a=0,l=0;l<t;l++){for(;i>1&&a<s;){var h=1-n/(r-a);o*=h,i*=h,a++}i+=o*=(s-l)*(n-l)/((l+1)*(r-n-s+l+1))}for(;a<s;a++)i*=1-n/(r-a);return Math.min(1,Math.max(0,i))}},Nl=function(e,t){return t=t>1e100?1e100:t,1/(Math.sqrt(t)*sl(.5,t/2))*Math.pow(1+e*e/t,-(t+1)/2)},Ml=function(e,t){var r=t/2;return al((e+Math.sqrt(e*e+t))/(2*Math.sqrt(e*e+t)),r,r)},_l=function(e,t){var r=ol(2*Math.min(e,1-e),.5*t,.5);return r=Math.sqrt(t*(1-r)/r),e>.5?r:-r},bl=function(e,t,r){return e<=0?0:Math.exp(-Math.log(e)-.5*Math.log(2*Math.PI)-Math.log(r)-Math.pow(Math.log(e)-t,2)/(2*r*r))},Ol=function(e,t,r){return e<0?0:.5+.5*Va((Math.log(e)-t)/Math.sqrt(2*r*r))},Al=function(e,t,r){return Math.exp(-1.4142135623730951*r*Wa(2*e)+t)},Il={pdf:function(e,t,r){return e===e>>>0&&(e<0?0:dl(e+t-1,t-1)*Math.pow(1-r,e)*Math.pow(r,t))},cdf:function(e,t,r){var n=0,s=0;if(e<0)return 0;for(;s<=e;s++)n+=Il.pdf(s,t,r);return n}};function xl(e){for(var t=0,r=e.length;--r>=0;)t+=e[r];return t}function Pl(e){return xl(e)/e.length}function Ll(e){for(var t,r=Pl(e),n=0,s=e.length;--s>=0;)n+=(t=e[s]-r)*t;return n}function Dl(e,t){return Ll(e)/(e.length-(t?1:0))}function kl(e,t){return Math.sqrt(Dl(e,t))}function Hl(e,t){var r,n=Pl(e),s=Pl(t),i=e.length,o=new Array(i);for(r=0;r<i;r++)o[r]=(e[r]-n)*(t[r]-s);return xl(o)/(i-1)}function Fl(e,t){return Hl(e,t)/kl(e,1)/kl(t,1)}
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Ul extends ln{erf(e,t){return this.runFunction(e.args,t,this.metadata("ERF"),((e,t)=>void 0===t?Va(e):Va(t)-Va(e)))}erfc(e,t){return this.runFunction(e.args,t,this.metadata("ERFC"),Ba)}expondist(e,t){return this.runFunction(e.args,t,this.metadata("EXPON.DIST"),((e,t,r)=>r?Ga(e,t):Ya(e,t)))}fisher(e,t){return this.runFunction(e.args,t,this.metadata("FISHER"),(e=>Math.log((1+e)/(1-e))/2))}fisherinv(e,t){return this.runFunction(e.args,t,this.metadata("FISHERINV"),(e=>1-2/(Math.exp(2*e)+1)))}gamma(e,t){return this.runFunction(e.args,t,this.metadata("GAMMA"),ja)}gammadist(e,t){return this.runFunction(e.args,t,this.metadata("GAMMA.DIST"),((e,t,r,n)=>n?$a(e,t,r):za(e,t,r)))}gammaln(e,t){return this.runFunction(e.args,t,this.metadata("GAMMALN"),Xa)}gammainv(e,t){return this.runFunction(e.args,t,this.metadata("GAMMA.INV"),Ka)}gauss(e,t){return this.runFunction(e.args,t,this.metadata("GAUSS"),(e=>Ja(e,0,1)-.5))}betadist(e,t){return this.runFunction(e.args,t,this.metadata("BETA.DIST"),((e,t,r,n,s,i)=>e<=s?new Rr(nr.NUM,q.ValueSmall):e>=i?new Rr(nr.NUM,q.ValueLarge):(e=(e-s)/(i-s),n?rl(e,t,r):tl(e,t,r))))}betainv(e,t){return this.runFunction(e.args,t,this.metadata("BETA.INV"),((e,t,r,n,s)=>n>=s?new Rr(nr.NUM,q.WrongOrder):nl(e,t,r)*(s-n)+n))}binomialdist(e,t){return this.runFunction(e.args,t,this.metadata("BINOM.DIST"),((e,t,r,n)=>e>t?new Rr(nr.NUM,q.WrongOrder):(e=Math.trunc(e),t=Math.trunc(t),n?ul(e,t,r):hl(e,t,r))))}binomialinv(e,t){return this.runFunction(e.args,t,this.metadata("BINOM.INV"),((e,t,r)=>{let n=-1,s=e=Math.trunc(e);for(;s>n+1;){const i=Math.trunc((n+s)/2);ul(i,e,t)>=r?s=i:n=i}return s}))}besselifn(e,t){return this.runFunction(e.args,t,this.metadata("BESSELI"),((e,t)=>Fa(e,Math.trunc(t))))}besseljfn(e,t){return this.runFunction(e.args,t,this.metadata("BESSELJ"),((e,t)=>ka(e,Math.trunc(t))))}besselkfn(e,t){return this.runFunction(e.args,t,this.metadata("BESSELK"),((e,t)=>Ua(e,Math.trunc(t))))}besselyfn(e,t){return this.runFunction(e.args,t,this.metadata("BESSELY"),((e,t)=>Ha(e,Math.trunc(t))))}chisqdist(e,t){return this.runFunction(e.args,t,this.metadata("CHISQ.DIST"),((e,t,r)=>(t=Math.trunc(t),r?ml(e,t):fl(e,t))))}chisqdistrt(e,t){return this.runFunction(e.args,t,this.metadata("CHISQ.DIST.RT"),((e,t)=>1-ml(e,Math.trunc(t))))}chisqinv(e,t){return this.runFunction(e.args,t,this.metadata("CHISQ.INV"),((e,t)=>yl(e,Math.trunc(t))))}chisqinvrt(e,t){return this.runFunction(e.args,t,this.metadata("CHISQ.INV.RT"),((e,t)=>yl(1-e,Math.trunc(t))))}fdist(e,t){return this.runFunction(e.args,t,this.metadata("F.DIST"),((e,t,r,n)=>(t=Math.trunc(t),r=Math.trunc(r),n?wl(e,t,r):El(e,t,r))))}fdistrt(e,t){return this.runFunction(e.args,t,this.metadata("F.DIST.RT"),((e,t,r)=>1-wl(e,Math.trunc(t),Math.trunc(r))))}finv(e,t){return this.runFunction(e.args,t,this.metadata("F.INV"),((e,t,r)=>Cl(e,Math.trunc(t),Math.trunc(r))))}finvrt(e,t){return this.runFunction(e.args,t,this.metadata("F.INV.RT"),((e,t,r)=>Cl(1-e,Math.trunc(t),Math.trunc(r))))}weibulldist(e,t){return this.runFunction(e.args,t,this.metadata("WEIBULL.DIST"),((e,t,r,n)=>n?Rl(e,r,t):vl(e,r,t)))}poissondist(e,t){return this.runFunction(e.args,t,this.metadata("POISSON.DIST"),((e,t,r)=>(e=Math.trunc(e),r?Sl.cdf(e,t):Sl.pdf(e,t))))}hypgeomdist(e,t){return this.runFunction(e.args,t,this.metadata("HYPGEOM.DIST"),((e,t,r,n,s)=>e>t||e>r||t>n||r>n||e+n<r+t?new Rr(nr.NUM,q.ValueLarge):(e=Math.trunc(e),t=Math.trunc(t),r=Math.trunc(r),n=Math.trunc(n),s?Tl.cdf(e,n,r,t):Tl.pdf(e,n,r,t))))}tdist(e,t){return this.runFunction(e.args,t,this.metadata("T.DIST"),((e,t,r)=>(t=Math.trunc(t),r?Ml(e,t):Nl(e,t))))}tdist2t(e,t){return this.runFunction(e.args,t,this.metadata("T.DIST.2T"),((e,t)=>2*(1-Ml(e,Math.trunc(t)))))}tdistrt(e,t){return this.runFunction(e.args,t,this.metadata("T.DIST.RT"),((e,t)=>1-Ml(e,Math.trunc(t))))}tdistold(e,t){return this.runFunction(e.args,t,this.metadata("TDIST"),((e,t,r)=>r*(1-Ml(e,Math.trunc(t)))))}tinv(e,t){return this.runFunction(e.args,t,this.metadata("T.INV"),((e,t)=>_l(e,Math.trunc(t))))}tinv2t(e,t){return this.runFunction(e.args,t,this.metadata("T.INV.2T"),((e,t)=>_l(1-e/2,Math.trunc(t))))}lognormdist(e,t){return this.runFunction(e.args,t,this.metadata("LOGNORM.DIST"),((e,t,r,n)=>n?Ol(e,t,r):bl(e,t,r)))}lognorminv(e,t){return this.runFunction(e.args,t,this.metadata("LOGNORM.INV"),((e,t,r)=>Al(e,t,r)))}normdist(e,t){return this.runFunction(e.args,t,this.metadata("NORM.DIST"),((e,t,r,n)=>n?Ja(e,t,r):Za(e,t,r)))}norminv(e,t){return this.runFunction(e.args,t,this.metadata("NORM.INV"),((e,t,r)=>el(e,t,r)))}normsdist(e,t){return this.runFunction(e.args,t,this.metadata("NORM.S.DIST"),((e,t)=>t?Ja(e,0,1):Za(e,0,1)))}normsinv(e,t){return this.runFunction(e.args,t,this.metadata("NORM.S.INV"),(e=>el(e,0,1)))}phi(e,t){return this.runFunction(e.args,t,this.metadata("PHI"),(e=>Za(e,0,1)))}negbinomdist(e,t){return this.runFunction(e.args,t,this.metadata("NEGBINOM.DIST"),((e,t,r,n)=>(e=Math.trunc(e),t=Math.trunc(t),n?Il.cdf(e,t,r):Il.pdf(e,t,r))))}confidencenorm(e,t){return this.runFunction(e.args,t,this.metadata("CONFIDENCE.NORM"),((e,t,r)=>function(){var e,t=[].slice.call(arguments),r=new Array(2);return e=4===t.length?Math.abs(el(t[1]/2,0,1)*t[2]/Math.sqrt(t[3])):Math.abs(el(t[1]/2,0,1)*kl(t[2])/Math.sqrt(t[2].length)),r[0]=t[0]-e,r[1]=t[0]+e,r}(1,e,t,Math.trunc(r))[1]-1))}confidencet(e,t){return this.runFunction(e.args,t,this.metadata("CONFIDENCE.T"),((e,t,r)=>1===(r=Math.trunc(r))?new Rr(nr.DIV_BY_ZERO):function(){var e,t=[].slice.call(arguments),r=new Array(2);return e=4===t.length?Math.abs(_l(t[1]/2,t[3]-1)*t[2]/Math.sqrt(t[3])):Math.abs(_l(t[1]/2,t[2].length-1)*kl(t[2],!0)/Math.sqrt(t[2].length)),r[0]=t[0]-e,r[1]=t[0]+e,r}(1,e,t,r)[1]-1))}standardize(e,t){return this.runFunction(e.args,t,this.metadata("STANDARDIZE"),((e,t,r)=>(e-t)/r))}}Ul.implementedFunctions={ERF:{method:"erf",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,optionalArg:!0}]},ERFC:{method:"erfc",parameters:[{argumentType:an.NUMBER}]},"EXPON.DIST":{method:"expondist",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.BOOLEAN}]},FISHER:{method:"fisher",parameters:[{argumentType:an.NUMBER,greaterThan:-1,lessThan:1}]},FISHERINV:{method:"fisherinv",parameters:[{argumentType:an.NUMBER}]},GAMMA:{method:"gamma",parameters:[{argumentType:an.NUMBER}]},"GAMMA.DIST":{method:"gammadist",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.BOOLEAN}]},GAMMALN:{method:"gammaln",parameters:[{argumentType:an.NUMBER,greaterThan:0}]},"GAMMA.INV":{method:"gammainv",parameters:[{argumentType:an.NUMBER,minValue:0,lessThan:1},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,greaterThan:0}]},GAUSS:{method:"gauss",parameters:[{argumentType:an.NUMBER}]},"BETA.DIST":{method:"betadist",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.BOOLEAN},{argumentType:an.NUMBER,defaultValue:0},{argumentType:an.NUMBER,defaultValue:1}]},"BETA.INV":{method:"betainv",parameters:[{argumentType:an.NUMBER,greaterThan:0,maxValue:1},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,defaultValue:0},{argumentType:an.NUMBER,defaultValue:1}]},"BINOM.DIST":{method:"binomialdist",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0,maxValue:1},{argumentType:an.BOOLEAN}]},"BINOM.INV":{method:"binomialinv",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0,maxValue:1},{argumentType:an.NUMBER,greaterThan:0,lessThan:1}]},BESSELI:{method:"besselifn",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,minValue:0}]},BESSELJ:{method:"besseljfn",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,minValue:0}]},BESSELK:{method:"besselkfn",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,minValue:0}]},BESSELY:{method:"besselyfn",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,minValue:0}]},"CHISQ.DIST":{method:"chisqdist",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,minValue:1,maxValue:1e10},{argumentType:an.BOOLEAN}]},"CHISQ.DIST.RT":{method:"chisqdistrt",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,minValue:1,maxValue:1e10}]},"CHISQ.INV":{method:"chisqinv",parameters:[{argumentType:an.NUMBER,minValue:0,maxValue:1},{argumentType:an.NUMBER,minValue:1,maxValue:1e10}]},"CHISQ.INV.RT":{method:"chisqinvrt",parameters:[{argumentType:an.NUMBER,minValue:0,maxValue:1},{argumentType:an.NUMBER,minValue:1}]},"F.DIST":{method:"fdist",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:1},{argumentType:an.NUMBER,minValue:1},{argumentType:an.BOOLEAN}]},"F.DIST.RT":{method:"fdistrt",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:1},{argumentType:an.NUMBER,minValue:1}]},"F.INV":{method:"finv",parameters:[{argumentType:an.NUMBER,minValue:0,maxValue:1},{argumentType:an.NUMBER,minValue:1},{argumentType:an.NUMBER,minValue:1}]},"F.INV.RT":{method:"finvrt",parameters:[{argumentType:an.NUMBER,minValue:0,maxValue:1},{argumentType:an.NUMBER,minValue:1},{argumentType:an.NUMBER,minValue:1}]},"WEIBULL.DIST":{method:"weibulldist",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.BOOLEAN}]},"POISSON.DIST":{method:"poissondist",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0},{argumentType:an.BOOLEAN}]},"HYPGEOM.DIST":{method:"hypgeomdist",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.BOOLEAN}]},"T.DIST":{method:"tdist",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,minValue:1},{argumentType:an.BOOLEAN}]},"T.DIST.2T":{method:"tdist2t",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:1}]},"T.DIST.RT":{method:"tdistrt",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER,minValue:1}]},TDIST:{method:"tdistold",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:1},{argumentType:an.INTEGER,minValue:1,maxValue:2}]},"T.INV":{method:"tinv",parameters:[{argumentType:an.NUMBER,greaterThan:0,lessThan:1},{argumentType:an.NUMBER,minValue:1}]},"T.INV.2T":{method:"tinv2t",parameters:[{argumentType:an.NUMBER,greaterThan:0,maxValue:1},{argumentType:an.NUMBER,minValue:1}]},"LOGNORM.DIST":{method:"lognormdist",parameters:[{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.BOOLEAN}]},"LOGNORM.INV":{method:"lognorminv",parameters:[{argumentType:an.NUMBER,greaterThan:0,lessThan:1},{argumentType:an.NUMBER},{argumentType:an.NUMBER,greaterThan:0}]},"NORM.DIST":{method:"normdist",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.BOOLEAN}]},"NORM.INV":{method:"norminv",parameters:[{argumentType:an.NUMBER,greaterThan:0,lessThan:1},{argumentType:an.NUMBER},{argumentType:an.NUMBER,greaterThan:0}]},"NORM.S.DIST":{method:"normsdist",parameters:[{argumentType:an.NUMBER},{argumentType:an.BOOLEAN}]},"NORM.S.INV":{method:"normsinv",parameters:[{argumentType:an.NUMBER,greaterThan:0,lessThan:1}]},PHI:{method:"phi",parameters:[{argumentType:an.NUMBER}]},"NEGBINOM.DIST":{method:"negbinomdist",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:1},{argumentType:an.NUMBER,minValue:0,maxValue:1},{argumentType:an.BOOLEAN}]},"CONFIDENCE.NORM":{method:"confidencenorm",parameters:[{argumentType:an.NUMBER,greaterThan:0,lessThan:1},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,minValue:1}]},"CONFIDENCE.T":{method:"confidencet",parameters:[{argumentType:an.NUMBER,greaterThan:0,lessThan:1},{argumentType:an.NUMBER,greaterThan:0},{argumentType:an.NUMBER,minValue:1}]},STANDARDIZE:{method:"standardize",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER,greaterThan:0}]}},Ul.aliases={NEGBINOMDIST:"NEGBINOM.DIST",EXPONDIST:"EXPON.DIST",BETADIST:"BETA.DIST",NORMDIST:"NORM.DIST",NORMINV:"NORM.INV",NORMSDIST:"NORM.S.DIST",NORMSINV:"NORM.S.INV",LOGNORMDIST:"LOGNORM.DIST",LOGINV:"LOGNORM.INV",TINV:"T.INV.2T",HYPGEOMDIST:"HYPGEOM.DIST",POISSON:"POISSON.DIST",WEIBULL:"WEIBULL.DIST",FINV:"F.INV.RT",FDIST:"F.DIST.RT",CHIDIST:"CHISQ.DIST.RT",CHIINV:"CHISQ.INV.RT",GAMMADIST:"GAMMA.DIST","GAMMALN.PRECISE":"GAMMALN",GAMMAINV:"GAMMA.INV",BETAINV:"BETA.INV",BINOMDIST:"BINOM.DIST",CONFIDENCE:"CONFIDENCE.NORM",CRITBINOM:"BINOM.INV",WEIBULLDIST:"WEIBULL.DIST",TINV2T:"T.INV.2T",TDISTRT:"T.DIST.RT",TDIST2T:"T.DIST.2T",FINVRT:"F.INV.RT",FDISTRT:"F.DIST.RT",CHIDISTRT:"CHISQ.DIST.RT",CHIINVRT:"CHISQ.INV.RT",LOGNORMINV:"LOGNORM.INV",POISSONDIST:"POISSON.DIST"};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Vl extends ln{fact(e,t){return this.runFunction(e.args,t,this.metadata("FACT"),(e=>{e=Math.trunc(e);let t=1;for(let r=1;r<=e;r++)t*=r;return t}))}factdouble(e,t){return this.runFunction(e.args,t,this.metadata("FACTDOUBLE"),(e=>{let t=1;for(let r=e=Math.trunc(e);r>=1;r-=2)t*=r;return t}))}combin(e,t){return this.runFunction(e.args,t,this.metadata("COMBIN"),((e,t)=>t>e?new Rr(nr.NUM,q.WrongOrder):Bl(e=Math.trunc(e),t=Math.trunc(t))))}combina(e,t){return this.runFunction(e.args,t,this.metadata("COMBINA"),((e,t)=>(e=Math.trunc(e))+(t=Math.trunc(t))-1>=1030?new Rr(nr.NUM,q.ValueLarge):0===e&&0===t?1:Bl(e+t-1,t)))}gcd(e,t){return this.runFunction(e.args,t,this.metadata("GCD"),((...e)=>{const t=this.arithmeticHelper.coerceNumbersCoerceRangesDropNulls(e);if(t instanceof Rr)return t;let r=0;for(const e of t){if(e<0)return new Rr(nr.NUM,q.ValueSmall);r=Wl(r,Math.trunc(e))}return r>Number.MAX_SAFE_INTEGER?new Rr(nr.NUM,q.ValueLarge):r}))}lcm(e,t){return this.runFunction(e.args,t,this.metadata("LCM"),((...e)=>{const t=this.arithmeticHelper.coerceNumbersCoerceRangesDropNulls(e);if(t instanceof Rr)return t;let r=1;for(const e of t){if(e<0)return new Rr(nr.NUM,q.ValueSmall);r=Yl(r,Math.trunc(e))}return r>Number.MAX_SAFE_INTEGER?new Rr(nr.NUM,q.ValueLarge):r}))}mround(e,t){return this.runFunction(e.args,t,this.metadata("MROUND"),((e,t)=>0===t?0:e>0&&t<0||e<0&&t>0?new Rr(nr.NUM,q.DistinctSigns):Math.round(e/t)*t))}multinomial(e,t){return this.runFunction(e.args,t,this.metadata("MULTINOMIAL"),((...e)=>{let t=0,r=1;for(let n of e){if(n<0)return new Rr(nr.NUM,q.ValueSmall);n=Math.trunc(n);for(let e=1;e<=n;e++)r*=(t+e)/e;t+=n}return Math.round(r)}))}quotient(e,t){return this.runFunction(e.args,t,this.metadata("QUOTIENT"),((e,t)=>0===t?new Rr(nr.DIV_BY_ZERO):Math.trunc(e/t)))}seriessum(e,t){return this.runFunction(e.args,t,this.metadata("SERIESSUM"),((e,t,r,n)=>{const s=this.arithmeticHelper.manyToOnlyNumbersDropNulls(n.valuesFromTopLeftCorner());if(s instanceof Rr)return s;let i=0;s.reverse();for(const t of s)i*=Math.pow(e,r),i+=t;return i*Math.pow(e,t)}))}sign(e,t){return this.runFunction(e.args,t,this.metadata("SIGN"),(e=>e>0?1:e<0?-1:0))}sumx2my2(e,t){return this.runFunction(e.args,t,this.metadata("SUMX2MY2"),((e,t)=>{const r=e.valuesFromTopLeftCorner(),n=t.valuesFromTopLeftCorner();if(r.length!==n.length)return new Rr(nr.NA,q.EqualLength);const s=r.length;let i=0;for(let e=0;e<s;e++){const t=r[e],s=n[e];if(t instanceof Rr)return t;if(s instanceof Rr)return s;"number"==typeof t&&"number"==typeof s&&(i+=Math.pow(t,2)-Math.pow(s,2))}return i}))}sumx2py2(e,t){return this.runFunction(e.args,t,this.metadata("SUMX2PY2"),((e,t)=>{const r=e.valuesFromTopLeftCorner(),n=t.valuesFromTopLeftCorner();if(r.length!==n.length)return new Rr(nr.NA,q.EqualLength);const s=r.length;let i=0;for(let e=0;e<s;e++){const t=r[e],s=n[e];if(t instanceof Rr)return t;if(s instanceof Rr)return s;"number"==typeof t&&"number"==typeof s&&(i+=Math.pow(t,2)+Math.pow(s,2))}return i}))}sumxmy2(e,t){return this.runFunction(e.args,t,this.metadata("SUMXMY2"),((e,t)=>{const r=e.valuesFromTopLeftCorner(),n=t.valuesFromTopLeftCorner();if(r.length!==n.length)return new Rr(nr.NA,q.EqualLength);const s=r.length;let i=0;for(let e=0;e<s;e++){const t=r[e],s=n[e];if(t instanceof Rr)return t;if(s instanceof Rr)return s;"number"==typeof t&&"number"==typeof s&&(i+=Math.pow(t-s,2))}return i}))}}function Bl(e,t){2*t>e&&(t=e-t);let r=1;for(let n=1;n<=t;n++)r*=(e-t+n)/n;return Math.round(r)}function Wl(e,t){for(e<t&&([e,t]=[t,e]);t>0;)[e,t]=[t,e%t];return e}function Yl(e,t){return 0===e||0===t?0:e*(t/Wl(e,t))}Vl.implementedFunctions={FACT:{method:"fact",parameters:[{argumentType:an.NUMBER,minValue:0,maxValue:170}]},FACTDOUBLE:{method:"factdouble",parameters:[{argumentType:an.NUMBER,minValue:0,maxValue:288}]},COMBIN:{method:"combin",parameters:[{argumentType:an.NUMBER,minValue:0,lessThan:1030},{argumentType:an.NUMBER,minValue:0}]},COMBINA:{method:"combina",parameters:[{argumentType:an.NUMBER,minValue:0},{argumentType:an.NUMBER,minValue:0}]},GCD:{method:"gcd",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},LCM:{method:"lcm",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},MROUND:{method:"mround",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER}]},MULTINOMIAL:{method:"multinomial",parameters:[{argumentType:an.NUMBER}],repeatLastArgs:1,expandRanges:!0},QUOTIENT:{method:"quotient",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER}]},SERIESSUM:{method:"seriessum",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.RANGE}]},SIGN:{method:"sign",parameters:[{argumentType:an.NUMBER}]},SUMX2MY2:{method:"sumx2my2",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE}]},SUMX2PY2:{method:"sumx2py2",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE}]},SUMXMY2:{method:"sumxmy2",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class Gl extends ln{complex(e,t){return this.runFunction(e.args,t,this.metadata("COMPLEX"),((e,t,r)=>"i"!==r&&"j"!==r?new Rr(nr.VALUE,q.ShouldBeIorJ):Wr([e,t],r)))}imabs(e,t){return this.runFunction(e.args,t,this.metadata("IMABS"),Jl)}imaginary(e,t){return this.runFunction(e.args,t,this.metadata("IMAGINARY"),(([e,t])=>t))}imreal(e,t){return this.runFunction(e.args,t,this.metadata("IMREAL"),(([e,t])=>e))}imargument(e,t){return this.runFunction(e.args,t,this.metadata("IMARGUMENT"),(([e,t])=>0===e&&0===t?new Rr(nr.DIV_BY_ZERO):Math.atan2(t,e)))}imconjugate(e,t){return this.runFunction(e.args,t,this.metadata("IMCONJUGATE"),(([e,t])=>Wr([e,-t])))}imcos(e,t){return this.runFunction(e.args,t,this.metadata("IMCOS"),(e=>Wr(Kl(e))))}imcosh(e,t){return this.runFunction(e.args,t,this.metadata("IMCOSH"),(e=>Wr(Xl(e))))}imcot(e,t){return this.runFunction(e.args,t,this.metadata("IMCOT"),(e=>Wr($l(Kl(e),ql(e)))))}imcsc(e,t){return this.runFunction(e.args,t,this.metadata("IMCSC"),(e=>Wr($l([1,0],ql(e)))))}imcsch(e,t){return this.runFunction(e.args,t,this.metadata("IMCSCH"),(e=>Wr($l([1,0],Ql(e)))))}imsec(e,t){return this.runFunction(e.args,t,this.metadata("IMSEC"),(e=>Wr($l([1,0],Kl(e)))))}imsech(e,t){return this.runFunction(e.args,t,this.metadata("IMSECH"),(e=>Wr($l([1,0],Xl(e)))))}imsin(e,t){return this.runFunction(e.args,t,this.metadata("IMSIN"),(e=>Wr(ql(e))))}imsinh(e,t){return this.runFunction(e.args,t,this.metadata("IMSINH"),(e=>Wr(Ql(e))))}imtan(e,t){return this.runFunction(e.args,t,this.metadata("IMTAN"),(e=>Wr($l(ql(e),Kl(e)))))}imdiv(e,t){return this.runFunction(e.args,t,this.metadata("IMDIV"),((e,t)=>Wr($l(e,t))))}improduct(e,t){return this.runFunction(e.args,t,this.metadata("IMPRODUCT"),((...e)=>{const t=this.arithmeticHelper.coerceComplexExactRanges(e);if(t instanceof Rr)return t;let r=[1,0];for(const e of t)r=zl(r,e);return Wr(r)}))}imsum(e,t){return this.runFunction(e.args,t,this.metadata("IMSUM"),((...e)=>{const t=this.arithmeticHelper.coerceComplexExactRanges(e);if(t instanceof Rr)return t;let r=[0,0];for(const e of t)r=jl(r,e);return Wr(r)}))}imsub(e,t){return this.runFunction(e.args,t,this.metadata("IMSUB"),((e,t)=>Wr(function([e,t],[r,n]){return[e-r,t-n]}(e,t))))}imexp(e,t){return this.runFunction(e.args,t,this.metadata("IMEXP"),(e=>Wr(Zl(e))))}imln(e,t){return this.runFunction(e.args,t,this.metadata("IMLN"),(e=>Wr(eh(e))))}imlog10(e,t){return this.runFunction(e.args,t,this.metadata("IMLOG10"),(e=>{const[t,r]=eh(e),n=Math.log(10);return Wr([t/n,r/n])}))}imlog2(e,t){return this.runFunction(e.args,t,this.metadata("IMLOG2"),(e=>{const[t,r]=eh(e),n=Math.log(2);return Wr([t/n,r/n])}))}impower(e,t){return this.runFunction(e.args,t,this.metadata("IMPOWER"),((e,t)=>Wr(th(e,t))))}imsqrt(e,t){return this.runFunction(e.args,t,this.metadata("IMSQRT"),(e=>Wr(th(e,.5))))}}function jl([e,t],[r,n]){return[e+r,t+n]}function zl([e,t],[r,n]){return[e*r-t*n,e*n+r*t]}function $l([e,t],[r,n]){const s=Math.pow(r,2)+Math.pow(n,2),[i,o]=zl([e,t],[r,-n]);return[i/s,o/s]}function Kl([e,t]){return[Math.cos(e)*Math.cosh(t),-Math.sin(e)*Math.sinh(t)]}function Xl([e,t]){return[Math.cosh(e)*Math.cos(t),Math.sinh(e)*Math.sin(t)]}function ql([e,t]){return[Math.sin(e)*Math.cosh(t),Math.cos(e)*Math.sinh(t)]}function Ql([e,t]){return[Math.sinh(e)*Math.cos(t),Math.cosh(e)*Math.sin(t)]}function Zl([e,t]){return[Math.exp(e)*Math.cos(t),Math.exp(e)*Math.sin(t)]}function Jl([e,t]){return Math.sqrt(e*e+t*t)}function eh([e,t]){return[Math.log(Jl([e,t])),Math.atan2(t,e)]}function th(e,t){const[r,n]=eh(e);return Zl([t*r,t*n])}Gl.implementedFunctions={COMPLEX:{method:"complex",parameters:[{argumentType:an.NUMBER},{argumentType:an.NUMBER},{argumentType:an.STRING,defaultValue:"i"}]},IMABS:{method:"imabs",parameters:[{argumentType:an.COMPLEX}]},IMAGINARY:{method:"imaginary",parameters:[{argumentType:an.COMPLEX}]},IMREAL:{method:"imreal",parameters:[{argumentType:an.COMPLEX}]},IMARGUMENT:{method:"imargument",parameters:[{argumentType:an.COMPLEX}]},IMCONJUGATE:{method:"imconjugate",parameters:[{argumentType:an.COMPLEX}]},IMCOS:{method:"imcos",parameters:[{argumentType:an.COMPLEX}]},IMCOSH:{method:"imcosh",parameters:[{argumentType:an.COMPLEX}]},IMCOT:{method:"imcot",parameters:[{argumentType:an.COMPLEX}]},IMCSC:{method:"imcsc",parameters:[{argumentType:an.COMPLEX}]},IMCSCH:{method:"imcsch",parameters:[{argumentType:an.COMPLEX}]},IMSEC:{method:"imsec",parameters:[{argumentType:an.COMPLEX}]},IMSECH:{method:"imsech",parameters:[{argumentType:an.COMPLEX}]},IMSIN:{method:"imsin",parameters:[{argumentType:an.COMPLEX}]},IMSINH:{method:"imsinh",parameters:[{argumentType:an.COMPLEX}]},IMTAN:{method:"imtan",parameters:[{argumentType:an.COMPLEX}]},IMDIV:{method:"imdiv",parameters:[{argumentType:an.COMPLEX},{argumentType:an.COMPLEX}]},IMPRODUCT:{method:"improduct",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},IMSUM:{method:"imsum",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},IMSUB:{method:"imsub",parameters:[{argumentType:an.COMPLEX},{argumentType:an.COMPLEX}]},IMEXP:{method:"imexp",parameters:[{argumentType:an.COMPLEX}]},IMLN:{method:"imln",parameters:[{argumentType:an.COMPLEX}]},IMLOG10:{method:"imlog10",parameters:[{argumentType:an.COMPLEX}]},IMLOG2:{method:"imlog2",parameters:[{argumentType:an.COMPLEX}]},IMPOWER:{method:"impower",parameters:[{argumentType:an.COMPLEX},{argumentType:an.NUMBER}]},IMSQRT:{method:"imsqrt",parameters:[{argumentType:an.COMPLEX}]}};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class rh extends ln{avedev(e,t){return this.runFunction(e.args,t,this.metadata("AVEDEV"),((...e)=>{const t=this.arithmeticHelper.coerceNumbersExactRanges(e);if(t instanceof Rr)return t;if(0===t.length)return new Rr(nr.DIV_BY_ZERO);const r=Pl(t);return t.reduce(((e,t)=>e+Math.abs(t-r)),0)/t.length}))}devsq(e,t){return this.runFunction(e.args,t,this.metadata("DEVSQ"),((...e)=>{const t=this.arithmeticHelper.coerceNumbersExactRanges(e);return t instanceof Rr?t:0===t.length?0:Ll(t)}))}geomean(e,t){return this.runFunction(e.args,t,this.metadata("GEOMEAN"),((...e)=>{const t=this.arithmeticHelper.coerceNumbersExactRanges(e);if(t instanceof Rr)return t;if(0===t.length)return new Rr(nr.NUM,q.OneValue);for(const e of t)if(e<=0)return new Rr(nr.NUM,q.ValueSmall);return r=t,Math.pow(function(e){for(var t=1,r=e.length;--r>=0;)t*=e[r];return t}(r),1/r.length);var r}))}harmean(e,t){return this.runFunction(e.args,t,this.metadata("HARMEAN"),((...e)=>{const t=this.arithmeticHelper.coerceNumbersExactRanges(e);if(t instanceof Rr)return t;if(0===t.length)return new Rr(nr.NUM,q.OneValue);for(const e of t)if(e<=0)return new Rr(nr.NUM,q.ValueSmall);return t.length/t.reduce(((e,t)=>e+1/t),0)}))}correl(e,t){return this.runFunction(e.args,t,this.metadata("CORREL"),((e,t)=>{if(e.numberOfElements()!==t.numberOfElements())return new Rr(nr.NA,q.EqualLength);const r=nh(e,t);if(r instanceof Rr)return r;return r[0].length<=1?new Rr(nr.DIV_BY_ZERO,q.TwoValues):Fl(r[0],r[1])}))}rsq(e,t){return this.runFunction(e.args,t,this.metadata("RSQ"),((e,t)=>{if(e.numberOfElements()!==t.numberOfElements())return new Rr(nr.NA,q.EqualLength);const r=nh(e,t);if(r instanceof Rr)return r;return r[0].length<=1?new Rr(nr.DIV_BY_ZERO,q.TwoValues):Math.pow(Fl(r[0],r[1]),2)}))}covariancep(e,t){return this.runFunction(e.args,t,this.metadata("COVARIANCE.P"),((e,t)=>{if(e.numberOfElements()!==t.numberOfElements())return new Rr(nr.NA,q.EqualLength);const r=nh(e,t);if(r instanceof Rr)return r;const n=r[0].length;return n<1?new Rr(nr.DIV_BY_ZERO,q.OneValue):1===n?0:Hl(r[0],r[1])*(n-1)/n}))}covariances(e,t){return this.runFunction(e.args,t,this.metadata("COVARIANCE.S"),((e,t)=>{if(e.numberOfElements()!==t.numberOfElements())return new Rr(nr.NA,q.EqualLength);const r=nh(e,t);if(r instanceof Rr)return r;return r[0].length<=1?new Rr(nr.DIV_BY_ZERO,q.TwoValues):Hl(r[0],r[1])}))}ztest(e,t){return this.runFunction(e.args,t,this.metadata("Z.TEST"),((e,t,r)=>{const n=this.arithmeticHelper.manyToExactNumbers(e.valuesFromTopLeftCorner());if(n instanceof Rr)return n;const s=n.length;if(void 0===r){if(s<2)return new Rr(nr.DIV_BY_ZERO,q.TwoValues);r=kl(n,!0)}return s<1?new Rr(nr.NA,q.OneValue):0===r?new Rr(nr.DIV_BY_ZERO):1-Ja((Pl(n)-t)/(r/Math.sqrt(s)),0,1)}))}ftest(e,t){return this.runFunction(e.args,t,this.metadata("F.TEST"),((e,t)=>{const r=this.arithmeticHelper.manyToExactNumbers(e.valuesFromTopLeftCorner()),n=this.arithmeticHelper.manyToExactNumbers(t.valuesFromTopLeftCorner());if(r instanceof Rr)return r;if(n instanceof Rr)return n;if(r.length<=1||n.length<=1)return new Rr(nr.DIV_BY_ZERO);const s=Dl(r,!0),i=Dl(n,!0);if(0===s||0===i)return new Rr(nr.DIV_BY_ZERO);const o=wl(s/i,r.length-1,n.length-1);return 2*Math.min(o,1-o)}))}steyx(e,t){return this.runFunction(e.args,t,this.metadata("STEYX"),((e,t)=>{if(e.numberOfElements()!==t.numberOfElements())return new Rr(nr.NA,q.EqualLength);const r=nh(e,t);if(r instanceof Rr)return r;const n=r[0].length;return n<=2?new Rr(nr.DIV_BY_ZERO,q.ThreeValues):Math.sqrt((Ll(r[0])-Math.pow(Hl(r[0],r[1])*(n-1),2)/Ll(r[1]))/(n-2))}))}slope(e,t){return this.runFunction(e.args,t,this.metadata("SLOPE"),((e,t)=>{if(e.numberOfElements()!==t.numberOfElements())return new Rr(nr.NA,q.EqualLength);const r=nh(e,t);if(r instanceof Rr)return r;const n=r[0].length;return n<=1?new Rr(nr.DIV_BY_ZERO,q.TwoValues):Hl(r[0],r[1])*(n-1)/Ll(r[1])}))}chisqtest(e,t){return this.runFunction(e.args,t,this.metadata("CHISQ.TEST"),((e,t)=>{const r=e.height(),n=e.width();if(t.height()!==r||t.width()!==n)return new Rr(nr.NA,q.EqualLength);const s=nh(e,t);if(s instanceof Rr)return s;if(s[0].length<=1)return new Rr(nr.DIV_BY_ZERO,q.TwoValues);let i=0;for(let e=0;e<s[0].length;e++){if(0===s[1][e])return new Rr(nr.DIV_BY_ZERO);i+=Math.pow(s[0][e]-s[1][e],2)/s[1][e]}return i<0?new Rr(nr.NUM,q.NaN):1-ml(i,r>1&&n>1?(r-1)*(n-1):r*n-1)}))}ttest(e,t){return this.runFunction(e.args,t,this.metadata("T.TEST"),((e,t,r,n)=>{const s=this.arithmeticHelper.manyToExactNumbers(e.valuesFromTopLeftCorner()),i=this.arithmeticHelper.manyToExactNumbers(t.valuesFromTopLeftCorner());if(s instanceof Rr)return s;if(i instanceof Rr)return i;const o=s.length,a=i.length;if(1===n){if(a!==o)return new Rr(nr.NA,q.EqualLength);if(o<=1)return new Rr(nr.DIV_BY_ZERO,q.TwoValues);const e=Array(o);for(let t=0;t<o;t++)e[t]=s[t]-i[t];const t=kl(e,!0);if(0===t)return new Rr(nr.DIV_BY_ZERO);const n=Math.abs(Math.sqrt(o)*Pl(e)/t);return r*(1-Ml(n,o-1))}if(2===n){if(o<=1||a<=1)return new Rr(nr.DIV_BY_ZERO,q.TwoValues);const e=(Ll(s)+Ll(i))/(o+a-2);if(0===e)return new Rr(nr.DIV_BY_ZERO);const t=Math.abs((Pl(s)-Pl(i))/Math.sqrt(e*(1/o+1/a)));return r*(1-Ml(t,o+a-2))}{if(o<=1||a<=1)return new Rr(nr.DIV_BY_ZERO,q.TwoValues);const e=Dl(s,!0),t=Dl(i,!0);if(0===e&&0===t)return new Rr(nr.DIV_BY_ZERO);const n=Math.abs((Pl(s)-Pl(i))/Math.sqrt(e/o+t/a)),l=Math.pow(e/o+t/a,2)/(Math.pow(e/o,2)/(o-1)+Math.pow(t/a,2)/(a-1));return r*(1-Ml(n,l))}}))}skew(e,t){return this.runFunction(e.args,t,this.metadata("SKEW"),((...e)=>{const t=this.arithmeticHelper.coerceNumbersExactRanges(e);if(t instanceof Rr)return t;const r=t.length;if(r<3)return new Rr(nr.DIV_BY_ZERO,q.ThreeValues);const n=Pl(t),s=kl(t,!0);return 0===s?new Rr(nr.DIV_BY_ZERO):t.reduce(((e,t)=>e+Math.pow((t-n)/s,3)),0)*r/(r-1)/(r-2)}))}skewp(e,t){return this.runFunction(e.args,t,this.metadata("SKEW.P"),((...e)=>{const t=this.arithmeticHelper.coerceNumbersExactRanges(e);if(t instanceof Rr)return t;const r=t.length;if(r<3)return new Rr(nr.DIV_BY_ZERO,q.ThreeValues);const n=Pl(t),s=kl(t,!1);return 0===s?new Rr(nr.DIV_BY_ZERO):t.reduce(((e,t)=>e+Math.pow((t-n)/s,3)),0)/r}))}}function nh(e,t){const r=e.iterateValuesFromTopLeftCorner(),n=t.iterateValuesFromTopLeftCorner();let s,i;const o=[],a=[];for(;s=r.next(),i=n.next(),!s.done&&!i.done;){const e=s.value,t=i.value;if(e instanceof Rr)return e;if(t instanceof Rr)return t;qe(e)&&qe(t)&&(o.push(We(e)),a.push(We(t)))}return[o,a]}rh.implementedFunctions={AVEDEV:{method:"avedev",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},DEVSQ:{method:"devsq",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},GEOMEAN:{method:"geomean",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},HARMEAN:{method:"harmean",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},CORREL:{method:"correl",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE}]},RSQ:{method:"rsq",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE}]},"COVARIANCE.P":{method:"covariancep",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE}]},"COVARIANCE.S":{method:"covariances",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE}]},"Z.TEST":{method:"ztest",parameters:[{argumentType:an.RANGE},{argumentType:an.NUMBER},{argumentType:an.NUMBER,optionalArg:!0}]},"F.TEST":{method:"ftest",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE}]},STEYX:{method:"steyx",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE}]},SLOPE:{method:"slope",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE}]},"CHISQ.TEST":{method:"chisqtest",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE}]},"T.TEST":{method:"ttest",parameters:[{argumentType:an.RANGE},{argumentType:an.RANGE},{argumentType:an.INTEGER,minValue:1,maxValue:2},{argumentType:an.INTEGER,minValue:1,maxValue:3}]},SKEW:{method:"skew",parameters:[{argumentType:an.ANY}],repeatLastArgs:1},"SKEW.P":{method:"skewp",parameters:[{argumentType:an.ANY}],repeatLastArgs:1}},rh.aliases={COVAR:"COVARIANCE.P",FTEST:"F.TEST",PEARSON:"CORREL",ZTEST:"Z.TEST",CHITEST:"CHISQ.TEST",TTEST:"T.TEST",COVARIANCEP:"COVARIANCE.P",COVARIANCES:"COVARIANCE.S",SKEWP:"SKEW.P"};
/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
class sh extends Vi{}sh.HyperFormula=Vi,sh.ErrorType=nr,sh.CellError=Rr,sh.CellType=sr,sh.CellValueType=mr,sh.CellValueDetailedType=yr,sh.DetailedCellError=cn,sh.ExportedCellChange=ai,sh.ExportedNamedExpressionChange=li,sh.ConfigValueTooBigError=Nt,sh.ConfigValueTooSmallError=Tt,sh.EvaluationSuspendedError=_t,sh.ExpectedOneOfValuesError=Mt,sh.ExpectedValueOfTypeError=Rt,sh.ArraySize=hn,sh.SimpleRangeValue=et,sh.EmptyValue=Be,sh.FunctionPlugin=ln,sh.FunctionArgumentType=an,sh.FunctionPluginValidationError=xt,sh.InvalidAddressError=ct,sh.InvalidArgumentsError=dt,sh.LanguageNotRegisteredError=At,sh.LanguageAlreadyRegisteredError=It,sh.MissingTranslationError=bt,sh.NamedExpressionDoesNotExistError=mt,sh.NamedExpressionNameIsAlreadyTakenError=gt,sh.NamedExpressionNameIsInvalidError=ft,sh.NoOperationToRedoError=Et,sh.NoOperationToUndoError=yt,sh.NoRelativeAddressesAllowedError=kt,sh.NoSheetWithIdError=ot,sh.NoSheetWithNameError=at,sh.NotAFormulaError=ut,sh.NothingToPasteError=wt,sh.ProtectedFunctionTranslationError=Ot,sh.SheetNameAlreadyTakenError=lt,sh.SheetSizeLimitExceededError=ht,sh.SourceLocationHasArrayError=Lt,sh.TargetLocationHasArrayError=Dt,sh.UnableToParseError=vt;const ih=Wi.defaultConfig.language;Vi.registerLanguage(ih,Gi),Vi.languages[Gi.langCode]=Gi;for(const e of Object.getOwnPropertyNames(n))e.startsWith("_")||Vi.registerFunctionPlugin(n[e]);window.HyperFormula=Vi})(),(()=>{"use strict";var e=n,t=r(96784);var s=k(r(87935));s.CellCoords,s.CellRange;var i,o,a,l,h,u=r(45793),c=k(r(3849)),d=r(61149),p=t(r(29861)),g=t(r(4965)),f=k(r(96173)),m=k(r(10587)),y=k(r(25046)),E=k(r(87124)),w=k(r(95976)),C=k(r(85992)),v=k(r(89804)),R=k(r(70505)),S=k(r(22137)),T=k(r(25499)),N=k(r(5893)),M=k(r(83445)),_=k(r(62577)),b=k(r(77661)),O=r(8266),A=r(54852),I=r(17027),x=r(1791),P=r(74672),L=r(75089);function D(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(D=function(e){return e?r:t})(e)}function k(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=D(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var o=s?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(0,u.registerAllModules)(),(0,p.default)(s.default),s.default.__GhostTable=g.default,s.default._getListenersCounter=c.getListenersCounter,s.default._getRegisteredMapsCounter=d.getRegisteredMapsCounter,s.default.EventManager=c.default;const H=[m,y,E,w,C,v,R,S,T,N,M,f],F=[_,b];s.default.helper={},s.default.dom={},m.arrayEach(H,(e=>{m.arrayEach(Object.getOwnPropertyNames(e),(t=>{"_"!==t.charAt(0)&&(s.default.helper[t]=e[t])}))})),m.arrayEach(F,(e=>{m.arrayEach(Object.getOwnPropertyNames(e),(t=>{"_"!==t.charAt(0)&&(s.default.dom[t]=e[t])}))})),s.default.cellTypes=null!==(i=s.default.cellTypes)&&void 0!==i?i:{},m.arrayEach((0,x.getRegisteredCellTypeNames)(),(e=>{s.default.cellTypes[e]=(0,x.getCellType)(e)})),s.default.cellTypes.registerCellType=x.registerCellType,s.default.cellTypes.getCellType=x.getCellType,s.default.editors=null!==(o=s.default.editors)&&void 0!==o?o:{},m.arrayEach((0,O.getRegisteredEditorNames)(),(e=>{s.default.editors[`${N.toUpperCaseFirst(e)}Editor`]=(0,O.getEditor)(e)})),s.default.editors.registerEditor=O.registerEditor,s.default.editors.getEditor=O.getEditor,s.default.renderers=null!==(a=s.default.renderers)&&void 0!==a?a:{},m.arrayEach((0,A.getRegisteredRendererNames)(),(e=>{const t=(0,A.getRenderer)(e);"base"===e&&(s.default.renderers.cellDecorator=t),s.default.renderers[`${N.toUpperCaseFirst(e)}Renderer`]=t})),s.default.renderers.registerRenderer=A.registerRenderer,s.default.renderers.getRenderer=A.getRenderer,s.default.validators=null!==(l=s.default.validators)&&void 0!==l?l:{},m.arrayEach((0,I.getRegisteredValidatorNames)(),(e=>{s.default.validators[`${N.toUpperCaseFirst(e)}Validator`]=(0,I.getValidator)(e)})),s.default.validators.registerValidator=I.registerValidator,s.default.validators.getValidator=I.getValidator,s.default.plugins=null!==(h=s.default.plugins)&&void 0!==h?h:{},m.arrayEach((0,P.getPluginsNames)(),(e=>{s.default.plugins[e]=(0,P.getPlugin)(e)})),s.default.plugins[`${N.toUpperCaseFirst(L.BasePlugin.PLUGIN_KEY)}Plugin`]=L.BasePlugin,s.default.plugins.registerPlugin=P.registerPlugin,s.default.plugins.getPlugin=P.getPlugin;e.default=s.default})(),n=n.default,n})()));