/g,">")}function ey(e){return Object.keys(e||{}).reduce((t,i)=>t+"".concat(i,": ").concat(e[i].trim(),";"),"")}function ew(e){return e.size!==ep.size||e.x!==ep.x||e.y!==ep.y||e.rotate!==ep.rotate||e.flipX||e.flipY}function e_(){let e=ed.cssPrefix,t=ed.replacementClass,i=':root, :host {\n --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";\n --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";\n --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";\n --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";\n --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";\n --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";\n --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";\n --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";\n --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";\n --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";\n --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";\n --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";\n --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";\n}\n\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\n overflow: visible;\n box-sizing: content-box;\n}\n\n.svg-inline--fa {\n display: var(--fa-display, inline-block);\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-2xs {\n vertical-align: 0.1em;\n}\n.svg-inline--fa.fa-xs {\n vertical-align: 0em;\n}\n.svg-inline--fa.fa-sm {\n vertical-align: -0.0714285705em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.2em;\n}\n.svg-inline--fa.fa-xl {\n vertical-align: -0.25em;\n}\n.svg-inline--fa.fa-2xl {\n vertical-align: -0.3125em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-li {\n width: var(--fa-li-width, 2em);\n top: 0.25em;\n}\n.svg-inline--fa.fa-fw {\n width: var(--fa-fw-width, 1.25em);\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n transform-origin: center center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: var(--fa-counter-background-color, #ff253a);\n border-radius: var(--fa-counter-border-radius, 1em);\n box-sizing: border-box;\n color: var(--fa-inverse, #fff);\n line-height: var(--fa-counter-line-height, 1);\n max-width: var(--fa-counter-max-width, 5em);\n min-width: var(--fa-counter-min-width, 1.5em);\n overflow: hidden;\n padding: var(--fa-counter-padding, 0.25em 0.5em);\n right: var(--fa-right, 0);\n text-overflow: ellipsis;\n top: var(--fa-top, 0);\n transform: scale(var(--fa-counter-scale, 0.25));\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: var(--fa-bottom, 0);\n right: var(--fa-right, 0);\n top: auto;\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: var(--fa-bottom, 0);\n left: var(--fa-left, 0);\n right: auto;\n top: auto;\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n top: var(--fa-top, 0);\n right: var(--fa-right, 0);\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: var(--fa-left, 0);\n right: auto;\n top: var(--fa-top, 0);\n transform: scale(var(--fa-layers-scale, 0.25));\n transform-origin: top left;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-2xs {\n font-size: 0.625em;\n line-height: 0.1em;\n vertical-align: 0.225em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n line-height: 0.0833333337em;\n vertical-align: 0.125em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n line-height: 0.0714285718em;\n vertical-align: 0.0535714295em;\n}\n\n.fa-lg {\n font-size: 1.25em;\n line-height: 0.05em;\n vertical-align: -0.075em;\n}\n\n.fa-xl {\n font-size: 1.5em;\n line-height: 0.0416666682em;\n vertical-align: -0.125em;\n}\n\n.fa-2xl {\n font-size: 2em;\n line-height: 0.03125em;\n vertical-align: -0.1875em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: var(--fa-li-margin, 2.5em);\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: calc(-1 * var(--fa-li-width, 2em));\n position: absolute;\n text-align: center;\n width: var(--fa-li-width, 2em);\n line-height: inherit;\n}\n\n.fa-border {\n border-color: var(--fa-border-color, #eee);\n border-radius: var(--fa-border-radius, 0.1em);\n border-style: var(--fa-border-style, solid);\n border-width: var(--fa-border-width, 0.08em);\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\n}\n\n.fa-pull-left {\n float: left;\n margin-right: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-pull-right {\n float: right;\n margin-left: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-beat {\n animation-name: fa-beat;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-bounce {\n animation-name: fa-bounce;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n}\n\n.fa-fade {\n animation-name: fa-fade;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-beat-fade {\n animation-name: fa-beat-fade;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-flip {\n animation-name: fa-flip;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-shake {\n animation-name: fa-shake;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin {\n animation-name: fa-spin;\n animation-delay: var(--fa-animation-delay, 0s);\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 2s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin-reverse {\n --fa-animation-direction: reverse;\n}\n\n.fa-pulse,\n.fa-spin-pulse {\n animation-name: fa-spin;\n animation-direction: var(--fa-animation-direction, normal);\n animation-duration: var(--fa-animation-duration, 1s);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-timing-function: var(--fa-animation-timing, steps(8));\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fa-beat,\n.fa-bounce,\n.fa-fade,\n.fa-beat-fade,\n.fa-flip,\n.fa-pulse,\n.fa-shake,\n.fa-spin,\n.fa-spin-pulse {\n animation-delay: -1ms;\n animation-duration: 1ms;\n animation-iteration-count: 1;\n transition-delay: 0s;\n transition-duration: 0s;\n }\n}\n@keyframes fa-beat {\n 0%, 90% {\n transform: scale(1);\n }\n 45% {\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@keyframes fa-bounce {\n 0% {\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n }\n 50% {\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n transform: scale(1, 1) translateY(0);\n }\n}\n@keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@keyframes fa-flip {\n 50% {\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@keyframes fa-shake {\n 0% {\n transform: rotate(-15deg);\n }\n 4% {\n transform: rotate(15deg);\n }\n 8%, 24% {\n transform: rotate(-18deg);\n }\n 12%, 28% {\n transform: rotate(18deg);\n }\n 16% {\n transform: rotate(-22deg);\n }\n 20% {\n transform: rotate(22deg);\n }\n 32% {\n transform: rotate(-12deg);\n }\n 36% {\n transform: rotate(12deg);\n }\n 40%, 100% {\n transform: rotate(0deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n transform: scale(1, -1);\n}\n\n.fa-flip-both,\n.fa-flip-horizontal.fa-flip-vertical {\n transform: scale(-1, -1);\n}\n\n.fa-rotate-by {\n transform: rotate(var(--fa-rotate-angle, 0));\n}\n\n.fa-stack {\n display: inline-block;\n vertical-align: middle;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: var(--fa-stack-z-index, auto);\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: var(--fa-inverse, #fff);\n}\n\n.sr-only,\n.fa-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.sr-only-focusable:not(:focus),\n.fa-sr-only-focusable:not(:focus) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}';if("fa"!==e||t!==j){let n=RegExp("\\.".concat("fa","\\-"),"g"),s=RegExp("\\--".concat("fa","\\-"),"g"),o=RegExp("\\.".concat(j),"g");i=i.replace(n,".".concat(e,"-")).replace(s,"--".concat(e,"-")).replace(o,".".concat(t))}return i}let eC=!1;function eE(){ed.autoAddCss&&!eC&&(!function(e){if(!e||!E)return;let t=w.createElement("style");t.setAttribute("type","text/css"),t.innerHTML=e;let i=w.head.childNodes,n=null;for(let e=i.length-1;e>-1;e--){let t=i[e];["STYLE","LINK"].indexOf((t.tagName||"").toUpperCase())>-1&&(n=t)}w.head.insertBefore(t,n)}(e_()),eC=!0)}const ex=y||{};ex[B]||(ex[B]={}),ex[B].styles||(ex[B].styles={}),ex[B].hooks||(ex[B].hooks={}),ex[B].shims||(ex[B].shims=[]);var eT=ex[B];const ek=[],eS=function(){w.removeEventListener("DOMContentLoaded",eS),eL=1,ek.map(e=>e())};let eL=!1;function eM(e){let{tag:t,attributes:i={},children:n=[]}=e;return"string"==typeof e?ev(e):"<".concat(t," ").concat(Object.keys(i||{}).reduce((e,t)=>e+"".concat(t,'="').concat(ev(i[t]),'" '),"").trim(),">").concat(n.map(eM).join(""),"").concat(t,">")}function eR(e,t,i){if(e&&e[t]&&e[t][i])return{prefix:t,iconName:i,icon:e[t][i]}}!E||(eL=(w.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(w.readyState))||w.addEventListener("DOMContentLoaded",eS);var eP=function(e,t,i,n){var s,o,r,a=Object.keys(e),l=a.length,h=void 0!==n?function(e,i,s,o){return t.call(n,e,i,s,o)}:t;for(void 0===i?(s=1,r=e[a[0]]):(s=0,r=i);s=55296&&s<=56319&&i{let n=e[i];return n.icon?t[n.iconName]=n.icon:t[i]=n,t},{})}function ez(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{skipHooks:n=!1}=i,s=eD(t);"function"!=typeof eT.hooks.addPack||n?eT.styles[e]=d(d({},eT.styles[e]||{}),s):eT.hooks.addPack(e,eD(t)),"fas"===e&&ez("fa",t)}const{styles:eA,shims:eI}=eT,eF=Object.keys(et),eN=eF.reduce((e,t)=>(e[t]=Object.keys(et[t]),e),{});let eH=null,eB={},ej={},eV={},eW={},eZ={};const eG=()=>{let e=e=>eP(eA,(t,i,n)=>(t[n]=eP(i,e,{}),t),{});eB=e((e,t,i)=>(t[3]&&(e[t[3]]=i),t[2]&&t[2].filter(e=>"number"==typeof e).forEach(t=>{e[t.toString(16)]=i}),e)),ej=e((e,t,i)=>(e[i]=i,t[2]&&t[2].filter(e=>"string"==typeof e).forEach(t=>{e[t]=i}),e)),eZ=e((e,t,i)=>{let n=t[2];return e[i]=i,n.forEach(t=>{e[t]=i}),e});let t="far"in eA||ed.autoFetchSvg,i=eP(eI,(e,i)=>{let n=i[0],s=i[1],o=i[2];return"far"!==s||t||(s="fas"),"string"==typeof n&&(e.names[n]={prefix:s,iconName:o}),"number"==typeof n&&(e.unicodes[n.toString(16)]={prefix:s,iconName:o}),e},{names:{},unicodes:{}});eV=i.names,eW=i.unicodes,eH=e$(ed.styleDefault,{family:ed.familyDefault})};function eU(e,t){return(eB[e]||{})[t]}function eq(e,t){return(eZ[e]||{})[t]}function eK(e){return eV[e]||{prefix:null,iconName:null}}nm=e=>{eH=e$(e.styleDefault,{family:ed.familyDefault})},em.push(nm),eG();const eY=()=>({prefix:null,iconName:null,rest:[]});function e$(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{family:i=S}=t,n=J[i][e];if(i===M&&!e)return"fad";let s=Q[i][e]||Q[i][n],o=e in eT.styles?e:null;return s||o||null}function eJ(e){return e.sort().filter((e,t,i)=>i.indexOf(e)===t)}function eX(e){let t,i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{skipLookups:s=!1}=n,o=null,r=I.concat(z),a=eJ(e.filter(e=>r.includes(e))),l=eJ(e.filter(e=>!I.includes(e))),[h=null]=a.filter(e=>(o=e,!k.includes(e))),c=function(e){let t=S,i=eF.reduce((e,t)=>(e[t]="".concat(ed.cssPrefix,"-").concat(t),e),{});return R.forEach(n=>{(e.includes(i[n])||e.some(e=>eN[n].includes(e)))&&(t=n)}),t}(a),u=d(d({},(t=[],i=null,l.forEach(e=>{let n=function(e,t){let i=t.split("-"),n=i[0],s=i.slice(1).join("-");return n!==e||""===s||~el.indexOf(s)?null:s}(ed.cssPrefix,e);n?i=n:e&&t.push(e)}),{iconName:i,rest:t})),{},{prefix:e$(h,{family:c})});return d(d(d({},u),function(e){let{values:t,family:i,canonical:n,givenPrefix:s="",styles:o={},config:r={}}=e,a=i===M,l=t.includes("fa-duotone")||t.includes("fad"),h="duotone"===r.familyDefault,c="fad"===n.prefix||"fa-duotone"===n.prefix;if(!a&&(l||h||c)&&(n.prefix="fad"),(t.includes("fa-brands")||t.includes("fab"))&&(n.prefix="fab"),!n.prefix&&eQ.includes(i)&&(Object.keys(o).find(e=>e0.includes(e))||r.autoFetchSvg)){let e=P.get(i).defaultShortPrefixId;n.prefix=e,n.iconName=eq(n.prefix,n.iconName)||n.iconName}return("fa"===n.prefix||"fa"===s)&&(n.prefix=eH||"fas"),n}({values:e,family:c,styles:eA,config:ed,canonical:u,givenPrefix:o})),function(e,t,i){let{prefix:n,iconName:s}=i;if(e||!n||!s)return{prefix:n,iconName:s};let o="fa"===t?eK(s):{},r=eq(n,s);return s=o.iconName||r||s,"far"!==(n=o.prefix||n)||eA.far||!eA.fas||ed.autoFetchSvg||(n="fas"),{prefix:n,iconName:s}}(s,o,u))}const eQ=R.filter(e=>e!==S||e!==M),e0=Object.keys(A).filter(e=>e!==S).map(e=>Object.keys(A[e])).flat();let e1=[],e2={};const e3={},e4=Object.keys(e3);function e6(e,t){for(var i=arguments.length,n=Array(i>2?i-2:0),s=2;s{t=e.apply(null,[t,...n])}),t}function e5(e){for(var t=arguments.length,i=Array(t>1?t-1:0),n=1;n{e.apply(null,i)})}function e9(){let e=arguments[0],t=Array.prototype.slice.call(arguments,1);return e3[e]?e3[e].apply(null,t):void 0}function e7(e){"fa"===e.prefix&&(e.prefix="fas");let{iconName:t}=e,i=e.prefix||eH;if(t)return t=eq(i,t)||t,eR(e8.definitions,i,t)||eR(eT.styles,i,t)}const e8=new class{constructor(){this.definitions={}}add(){for(var e=arguments.length,t=Array(e),i=0;i{this.definitions[e]=d(d({},this.definitions[e]||{}),n[e]),ez(e,n[e]);let t=et[S][e];t&&ez(t,n[e]),eG()})}reset(){this.definitions={}}_pullDefinitions(e,t){let i=t.prefix&&t.iconName&&t.icon?{0:t}:t;return Object.keys(i).map(t=>{let{prefix:n,iconName:s,icon:o}=i[t],r=o[2];e[n]||(e[n]={}),r.length>0&&r.forEach(t=>{"string"==typeof t&&(e[n][t]=o)}),e[n][s]=o}),e}},te={noAuto:()=>{ed.autoReplaceSvg=!1,ed.observeMutations=!1,e5("noAuto")},config:ed,dom:{i2svg:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return E?(e5("beforeI2svg",e),e9("pseudoElements2svg",e),e9("i2svg",e)):Promise.reject(Error("Operation requires a DOM of some kind."))},watch:function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{autoReplaceSvgRoot:i}=t;!1===ed.autoReplaceSvg&&(ed.autoReplaceSvg=!0),ed.observeMutations=!0,e=()=>{tt({autoReplaceSvgRoot:i}),e5("watch",t)},E&&(eL?setTimeout(e,0):ek.push(e))}},parse:{icon:e=>{if(null===e)return null;if("object"==typeof e&&e.prefix&&e.iconName)return{prefix:e.prefix,iconName:eq(e.prefix,e.iconName)||e.iconName};if(Array.isArray(e)&&2===e.length){let t=0===e[1].indexOf("fa-")?e[1].slice(3):e[1],i=e$(e[0]);return{prefix:i,iconName:eq(i,t)||t}}if("string"==typeof e&&(e.indexOf("".concat(ed.cssPrefix,"-"))>-1||e.match(en))){let t=eX(e.split(" "),{skipLookups:!0});return{prefix:t.prefix||eH,iconName:eq(t.prefix,t.iconName)||t.iconName}}if("string"==typeof e){let t=eH;return{prefix:t,iconName:eq(t,e)||e}}}},library:e8,findIconDefinition:e7,toHtml:eM},tt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{autoReplaceSvgRoot:t=w}=e;(Object.keys(eT.styles).length>0||ed.autoFetchSvg)&&E&&ed.autoReplaceSvg&&te.dom.i2svg({node:t})};function ti(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(e=>eM(e))}}),Object.defineProperty(e,"node",{get:function(){if(!E)return;let t=w.createElement("div");return t.innerHTML=e.html,t.children}}),e}function tn(e){let{icons:{main:t,mask:i},prefix:n,iconName:s,transform:o,symbol:r,title:a,maskId:l,titleId:h,extra:c,watchable:u=!1}=e,{width:m,height:p}=i.found?i:t,f=D.includes(n),g=[ed.replacementClass,s?"".concat(ed.cssPrefix,"-").concat(s):""].filter(e=>-1===c.classes.indexOf(e)).filter(e=>""!==e||!!e).concat(c.classes).join(" "),b={children:[],attributes:d(d({},c.attributes),{},{"data-prefix":n,"data-icon":s,class:g,role:c.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(m," ").concat(p)})},v=f&&!~c.classes.indexOf("fa-fw")?{width:"".concat(m/p*1,"em")}:{};u&&(b.attributes[V]=""),a&&(b.children.push({tag:"title",attributes:{id:b.attributes["aria-labelledby"]||"title-".concat(h||ef())},children:[a]}),delete b.attributes.title);let y=d(d({},b),{},{prefix:n,iconName:s,main:t,mask:i,maskId:l,transform:o,symbol:r,styles:d(d({},v),c.styles)}),{children:w,attributes:_}=i.found&&t.found?e9("generateAbstractMask",y)||{children:[],attributes:{}}:e9("generateAbstractIcon",y)||{children:[],attributes:{}};return(y.children=w,y.attributes=_,r)?function(e){let{prefix:t,iconName:i,children:n,attributes:s,symbol:o}=e,r=!0===o?"".concat(t,"-").concat(ed.cssPrefix,"-").concat(i):o;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:d(d({},s),{},{id:r}),children:n}]}]}(y):function(e){let{children:t,main:i,mask:n,attributes:s,styles:o,transform:r}=e;if(ew(r)&&i.found&&!n.found){let{width:e,height:t}=i,n={x:e/t/2,y:.5};s.style=ey(d(d({},o),{},{"transform-origin":"".concat(n.x+r.x/16,"em ").concat(n.y+r.y/16,"em")}))}return[{tag:"svg",attributes:s,children:t}]}(y)}function ts(e){let{content:t,width:i,height:n,transform:s,title:o,extra:r,watchable:a=!1}=e,l=d(d(d({},r.attributes),o?{title:o}:{}),{},{class:r.classes.join(" ")});a&&(l[V]="");let h=d({},r.styles);ew(s)&&(h.transform=function(e){let{transform:t,width:i=16,height:n=16,startCentered:s=!1}=e,o="";return s&&x?o+="translate(".concat(t.x/16-i/2,"em, ").concat(t.y/16-n/2,"em) "):s?o+="translate(calc(-50% + ".concat(t.x/16,"em), calc(-50% + ").concat(t.y/16,"em)) "):o+="translate(".concat(t.x/16,"em, ").concat(t.y/16,"em) "),o+="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),o+="rotate(".concat(t.rotate,"deg) ")}({transform:s,startCentered:!0,width:i,height:n}),h["-webkit-transform"]=h.transform);let c=ey(h);c.length>0&&(l.style=c);let u=[];return u.push({tag:"span",attributes:l,children:[t]}),o&&u.push({tag:"span",attributes:{class:"sr-only"},children:[o]}),u}const{styles:to}=eT;function tr(e){let t=e[0],i=e[1],[n]=e.slice(4);return{found:!0,width:t,height:i,icon:Array.isArray(n)?{tag:"g",attributes:{class:"".concat(ed.cssPrefix,"-").concat(ea.GROUP)},children:[{tag:"path",attributes:{class:"".concat(ed.cssPrefix,"-").concat(ea.SECONDARY),fill:"currentColor",d:n[0]}},{tag:"path",attributes:{class:"".concat(ed.cssPrefix,"-").concat(ea.PRIMARY),fill:"currentColor",d:n[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:n}}}}const ta={found:!1,width:512,height:512};function tl(e,t){let i=t;return"fa"===t&&null!==ed.styleDefault&&(t=eH),new Promise((n,s)=>{var o,r;if("fa"===i){let i=eK(e)||{};e=i.iconName||e,t=i.prefix||t}if(e&&t&&to[t]&&to[t][e])return n(tr(to[t][e]));o=e,r=t,K||ed.showMissingIcons||!o||console.error('Icon with name "'.concat(o,'" and prefix "').concat(r,'" is missing.')),n(d(d({},ta),{},{icon:ed.showMissingIcons&&e&&e9("missingIconAbstract")||{}}))})}const th=()=>{},tc=ed.measurePerformance&&C&&C.mark&&C.measure?C:{mark:th,measure:th},tu='FA "6.7.2"',td=e=>{tc.mark("".concat(tu," ").concat(e," ends")),tc.measure("".concat(tu," ").concat(e),"".concat(tu," ").concat(e," begins"),"".concat(tu," ").concat(e," ends"))};var tm={begin:e=>(tc.mark("".concat(tu," ").concat(e," begins")),()=>td(e))};const tp=()=>{};function tf(e){return"string"==typeof(e.getAttribute?e.getAttribute(V):null)}function tg(e){return w.createElementNS("http://www.w3.org/2000/svg",e)}function tb(e){return w.createElement(e)}const tv={replace:function(e){let t=e[0];if(t.parentNode){if(e[1].forEach(e=>{t.parentNode.insertBefore(function e(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{ceFn:n="svg"===t.tag?tg:tb}=i;if("string"==typeof t)return w.createTextNode(t);let s=n(t.tag);return Object.keys(t.attributes||[]).forEach(function(e){s.setAttribute(e,t.attributes[e])}),(t.children||[]).forEach(function(t){s.appendChild(e(t,{ceFn:n}))}),s}(e),t)}),null===t.getAttribute(V)&&ed.keepOriginalSource){let e;let i=w.createComment((e=" ".concat(t.outerHTML," "),e="".concat(e,"Font Awesome fontawesome.com ")));t.parentNode.replaceChild(i,t)}else t.remove()}},nest:function(e){let t=e[0],i=e[1];if(~eb(t).indexOf(ed.replacementClass))return tv.replace(e);let n=new RegExp("".concat(ed.cssPrefix,"-.*"));if(delete i[0].attributes.id,i[0].attributes.class){let e=i[0].attributes.class.split(" ").reduce((e,t)=>(t===ed.replacementClass||t.match(n)?e.toSvg.push(t):e.toNode.push(t),e),{toNode:[],toSvg:[]});i[0].attributes.class=e.toSvg.join(" "),0===e.toNode.length?t.removeAttribute("class"):t.setAttribute("class",e.toNode.join(" "))}let s=i.map(e=>eM(e)).join("\n");t.setAttribute(V,""),t.innerHTML=s}};function ty(e){e()}function tw(e,t){let i="function"==typeof t?t:tp;if(0===e.length)i();else{let t=ty;"async"===ed.mutateApproach&&(t=y.requestAnimationFrame||ty),t(()=>{let t=!0===ed.autoReplaceSvg?tv.replace:tv[ed.autoReplaceSvg]||tv.replace,n=tm.begin("mutate");e.map(t),n(),i()})}}let t_=!1,tC=null;function tE(e){if(!_||!ed.observeMutations)return;let{treeCallback:t=tp,nodeCallback:i=tp,pseudoElementsCallback:n=tp,observeMutationsRoot:s=w}=e;tC=new _(e=>{if(t_)return;let s=eH;eg(e).forEach(e=>{if("childList"===e.type&&e.addedNodes.length>0&&!tf(e.addedNodes[0])&&(ed.searchPseudoElements&&n(e.target),t(e.target)),"attributes"===e.type&&e.target.parentNode&&ed.searchPseudoElements&&n(e.target.parentNode),"attributes"===e.type&&tf(e.target)&&~er.indexOf(e.attributeName)){if("class"===e.attributeName&&function(e){let t=e.getAttribute?e.getAttribute(Z):null,i=e.getAttribute?e.getAttribute(G):null;return t&&i}(e.target)){let{prefix:t,iconName:i}=eX(eb(e.target));e.target.setAttribute(Z,t||s),i&&e.target.setAttribute(G,i)}else{var o;(o=e.target)&&o.classList&&o.classList.contains&&o.classList.contains(ed.replacementClass)&&i(e.target)}}})}),E&&tC.observe(s,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}function tx(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{styleParser:!0},{iconName:i,prefix:n,rest:s}=function(e){let t=e.getAttribute("data-prefix"),i=e.getAttribute("data-icon"),n=void 0!==e.innerText?e.innerText.trim():"",s=eX(eb(e));if(s.prefix||(s.prefix=eH),t&&i&&(s.prefix=t,s.iconName=i),s.iconName&&s.prefix)return s;if(s.prefix&&n.length>0){var o,r;s.iconName=(o=s.prefix,r=e.innerText,(ej[o]||{})[r]||eU(s.prefix,eO(e.innerText)))}return!s.iconName&&ed.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(s.iconName=e.firstChild.data),s}(e),o=function(e){let t=eg(e.attributes).reduce((e,t)=>("class"!==e.name&&"style"!==e.name&&(e[t.name]=t.value),e),{}),i=e.getAttribute("title"),n=e.getAttribute("data-fa-title-id");return ed.autoA11y&&(i?t["aria-labelledby"]="".concat(ed.replacementClass,"-title-").concat(n||ef()):(t["aria-hidden"]="true",t.focusable="false")),t}(e),r=e6("parseNodeAttributes",{},e),a=t.styleParser?function(e){let t=e.getAttribute("style"),i=[];return t&&(i=t.split(";").reduce((e,t)=>{let i=t.split(":"),n=i[0],s=i.slice(1);return n&&s.length>0&&(e[n]=s.join(":").trim()),e},{})),i}(e):[];return d({iconName:i,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:n,transform:ep,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:s,styles:a,attributes:o}},r)}const{styles:tT}=eT;function tk(e){let t="nest"===ed.autoReplaceSvg?tx(e,{styleParser:!1}):tx(e);return~t.extra.classes.indexOf(es)?e9("generateLayersText",e,t):e9("generateSvgReplacementMutation",e,t)}function tS(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!E)return Promise.resolve();let i=w.documentElement.classList,n=e=>i.add("".concat(U,"-").concat(e)),s=e=>i.remove("".concat(U,"-").concat(e)),o=ed.autoFetchSvg?[...O,...I]:k.concat(Object.keys(tT));o.includes("fa")||o.push("fa");let r=[".".concat(es,":not([").concat(V,"])")].concat(o.map(e=>".".concat(e,":not([").concat(V,"])"))).join(", ");if(0===r.length)return Promise.resolve();let a=[];try{a=eg(e.querySelectorAll(r))}catch(e){}if(!(a.length>0))return Promise.resolve();n("pending"),s("complete");let l=tm.begin("onTree"),h=a.reduce((e,t)=>{try{let i=tk(t);i&&e.push(i)}catch(e){K||"MissingIcon"!==e.name||console.error(e)}return e},[]);return new Promise((e,i)=>{Promise.all(h).then(i=>{tw(i,()=>{n("active"),n("complete"),s("pending"),"function"==typeof t&&t(),l(),e()})}).catch(e=>{l(),i(e)})})}function tL(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;tk(e).then(e=>{e&&tw([e],t)})}const tM=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{transform:i=ep,symbol:n=!1,mask:s=null,maskId:o=null,title:r=null,titleId:a=null,classes:l=[],attributes:h={},styles:c={}}=t;if(!e)return;let{prefix:u,iconName:m,icon:p}=e;return ti(d({type:"icon"},e),()=>(e5("beforeDOMElementCreation",{iconDefinition:e,params:t}),ed.autoA11y&&(r?h["aria-labelledby"]="".concat(ed.replacementClass,"-title-").concat(a||ef()):(h["aria-hidden"]="true",h.focusable="false")),tn({icons:{main:tr(p),mask:s?tr(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:u,iconName:m,transform:d(d({},ep),i),symbol:n,title:r,maskId:o,titleId:a,extra:{attributes:h,styles:c,classes:l}})))},tR=RegExp('"',"ug"),tP=d(d(d(d({},{FontAwesome:{normal:"fas",400:"fas"}}),{"Font Awesome 6 Free":{900:"fas",400:"far"},"Font Awesome 6 Pro":{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},"Font Awesome 6 Brands":{400:"fab",normal:"fab"},"Font Awesome 6 Duotone":{900:"fad",400:"fadr",normal:"fadr",300:"fadl",100:"fadt"},"Font Awesome 6 Sharp":{900:"fass",400:"fasr",normal:"fasr",300:"fasl",100:"fast"},"Font Awesome 6 Sharp Duotone":{900:"fasds",400:"fasdr",normal:"fasdr",300:"fasdl",100:"fasdt"}}),{"Font Awesome 5 Free":{900:"fas",400:"far"},"Font Awesome 5 Pro":{900:"fas",400:"far",normal:"far",300:"fal"},"Font Awesome 5 Brands":{400:"fab",normal:"fab"},"Font Awesome 5 Duotone":{900:"fad"}}),{"Font Awesome Kit":{400:"fak",normal:"fak"},"Font Awesome Kit Duotone":{400:"fakd",normal:"fakd"}}),tO=Object.keys(tP).reduce((e,t)=>(e[t.toLowerCase()]=tP[t],e),{}),tD=Object.keys(tO).reduce((e,t)=>{let i=tO[t];return e[t]=i[900]||[...Object.entries(i)][0][1],e},{});function tz(e,t){let i="".concat("data-fa-pseudo-element-pending").concat(t.replace(":","-"));return new Promise((n,s)=>{if(null!==e.getAttribute(i))return n();let o=eg(e.children).filter(e=>e.getAttribute(W)===t)[0],r=y.getComputedStyle(e,t),a=r.getPropertyValue("font-family"),l=a.match(eo),h=r.getPropertyValue("font-weight"),c=r.getPropertyValue("content");if(o&&!l)return e.removeChild(o),n();if(l&&"none"!==c&&""!==c){let c=r.getPropertyValue("content"),u=function(e,t){let i=e.replace(/^['"]|['"]$/g,"").toLowerCase(),n=parseInt(t),s=isNaN(n)?"normal":n;return(tO[i]||{})[s]||tD[i]}(a,h),{value:m,isSecondary:p}=function(e){let t=e.replace(tR,""),i=function(e,t){let i;let n=e.length,s=e.charCodeAt(0);return s>=55296&&s<=56319&&n>1&&(i=e.charCodeAt(1))>=56320&&i<=57343?(s-55296)*1024+i-56320+65536:s}(t,0),n=2===t.length&&t[0]===t[1];return{value:n?eO(t[0]):eO(t),isSecondary:i>=1105920&&i<=1112319||n}}(c),f=l[0].startsWith("FontAwesome"),g=eU(u,m),b=g;if(f){let e=function(e){let t=eW[e],i=eU("fas",e);return t||(i?{prefix:"fas",iconName:i}:null)||{prefix:null,iconName:null}}(m);e.iconName&&e.prefix&&(g=e.iconName,u=e.prefix)}if(!g||p||o&&o.getAttribute(Z)===u&&o.getAttribute(G)===b)n();else{e.setAttribute(i,b),o&&e.removeChild(o);let r={iconName:null,title:null,titleId:null,prefix:null,transform:ep,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}},{extra:a}=r;a.attributes[W]=t,tl(g,u).then(s=>{let o=tn(d(d({},r),{},{icons:{main:s,mask:eY()},prefix:u,iconName:b,extra:a,watchable:!0})),l=w.createElementNS("http://www.w3.org/2000/svg","svg");"::before"===t?e.insertBefore(l,e.firstChild):e.appendChild(l),l.outerHTML=o.map(e=>eM(e)).join("\n"),e.removeAttribute(i),n()}).catch(s)}}else n()})}function tA(e){return Promise.all([tz(e,"::before"),tz(e,"::after")])}function tI(e){return e.parentNode!==document.head&&!~q.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(W)&&(!e.parentNode||"svg"!==e.parentNode.tagName)}function tF(e){if(E)return new Promise((t,i)=>{let n=eg(e.querySelectorAll("*")).filter(tI).map(tA),s=tm.begin("searchPseudoElements");t_=!0,Promise.all(n).then(()=>{s(),t_=!1,t()}).catch(()=>{s(),t_=!1,i()})})}let tN=!1;const tH=e=>e.toLowerCase().split(" ").reduce((e,t)=>{let i=t.toLowerCase().split("-"),n=i[0],s=i.slice(1).join("-");if(n&&"h"===s)return e.flipX=!0,e;if(n&&"v"===s)return e.flipY=!0,e;if(isNaN(s=parseFloat(s)))return e;switch(n){case"grow":e.size=e.size+s;break;case"shrink":e.size=e.size-s;break;case"left":e.x=e.x-s;break;case"right":e.x=e.x+s;break;case"up":e.y=e.y-s;break;case"down":e.y=e.y+s;break;case"rotate":e.rotate=e.rotate+s}return e},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0}),tB={x:0,y:0,width:"100%",height:"100%"};function tj(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}!function(e,t){let{mixoutsTo:i}=t;e1=e,e2={},Object.keys(e3).forEach(e=>{-1===e4.indexOf(e)&&delete e3[e]}),e1.forEach(e=>{let t=e.mixout?e.mixout():{};if(Object.keys(t).forEach(e=>{"function"==typeof t[e]&&(i[e]=t[e]),"object"==typeof t[e]&&Object.keys(t[e]).forEach(n=>{i[e]||(i[e]={}),i[e][n]=t[e][n]})}),e.hooks){let t=e.hooks();Object.keys(t).forEach(e=>{e2[e]||(e2[e]=[]),e2[e].push(t[e])})}e.provides&&e.provides(e3)})}([{mixout:()=>({dom:{css:e_,insertCss:eE}}),hooks:()=>({beforeDOMElementCreation(){eE()},beforeI2svg(){eE()}})},{mixout:()=>({icon:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=(e||{}).icon?e:e7(e||{}),{mask:n}=t;return n&&(n=(n||{}).icon?n:e7(n||{})),tM(i,d(d({},t),{},{mask:n}))}}),hooks:()=>({mutationObserverCallbacks:e=>(e.treeCallback=tS,e.nodeCallback=tL,e)}),provides(e){e.i2svg=function(e){let{node:t=w,callback:i=()=>{}}=e;return tS(t,i)},e.generateSvgReplacementMutation=function(e,t){let{iconName:i,title:n,titleId:s,prefix:o,transform:r,symbol:a,mask:l,maskId:h,extra:c}=t;return new Promise((t,u)=>{Promise.all([tl(i,o),l.iconName?tl(l.iconName,l.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(l=>{let[u,d]=l;t([e,tn({icons:{main:u,mask:d},prefix:o,iconName:i,transform:r,symbol:a,maskId:h,title:n,titleId:s,extra:c,watchable:!0})])}).catch(u)})},e.generateAbstractIcon=function(e){let t,{children:i,attributes:n,main:s,transform:o,styles:r}=e,a=ey(r);return a.length>0&&(n.style=a),ew(o)&&(t=e9("generateAbstractTransformGrouping",{main:s,transform:o,containerWidth:s.width,iconWidth:s.width})),i.push(t||s.icon),{children:i,attributes:n}}}},{mixout:()=>({layer(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{classes:i=[]}=t;return ti({type:"layer"},()=>{e5("beforeDOMElementCreation",{assembler:e,params:t});let n=[];return e(e=>{Array.isArray(e)?e.map(e=>{n=n.concat(e.abstract)}):n=n.concat(e.abstract)}),[{tag:"span",attributes:{class:["".concat(ed.cssPrefix,"-layers"),...i].join(" ")},children:n}]})}})},{mixout:()=>({counter(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{title:i=null,classes:n=[],attributes:s={},styles:o={}}=t;return ti({type:"counter",content:e},()=>(e5("beforeDOMElementCreation",{content:e,params:t}),function(e){let{content:t,title:i,extra:n}=e,s=d(d(d({},n.attributes),i?{title:i}:{}),{},{class:n.classes.join(" ")}),o=ey(n.styles);o.length>0&&(s.style=o);let r=[];return r.push({tag:"span",attributes:s,children:[t]}),i&&r.push({tag:"span",attributes:{class:"sr-only"},children:[i]}),r}({content:e.toString(),title:i,extra:{attributes:s,styles:o,classes:["".concat(ed.cssPrefix,"-layers-counter"),...n]}})))}})},{mixout:()=>({text(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{transform:i=ep,title:n=null,classes:s=[],attributes:o={},styles:r={}}=t;return ti({type:"text",content:e},()=>(e5("beforeDOMElementCreation",{content:e,params:t}),ts({content:e,transform:d(d({},ep),i),title:n,extra:{attributes:o,styles:r,classes:["".concat(ed.cssPrefix,"-layers-text"),...s]}})))}}),provides(e){e.generateLayersText=function(e,t){let{title:i,transform:n,extra:s}=t,o=null,r=null;if(x){let t=parseInt(getComputedStyle(e).fontSize,10),i=e.getBoundingClientRect();o=i.width/t,r=i.height/t}return ed.autoA11y&&!i&&(s.attributes["aria-hidden"]="true"),Promise.resolve([e,ts({content:e.innerHTML,width:o,height:r,transform:n,title:i,extra:s,watchable:!0})])}}},{hooks:()=>({mutationObserverCallbacks:e=>(e.pseudoElementsCallback=tF,e)}),provides(e){e.pseudoElements2svg=function(e){let{node:t=w}=e;ed.searchPseudoElements&&tF(t)}}},{mixout:()=>({dom:{unwatch(){t_=!0,tN=!0}}}),hooks:()=>({bootstrap(){tE(e6("mutationObserverCallbacks",{}))},noAuto(){tC&&tC.disconnect()},watch(e){let{observeMutationsRoot:t}=e;tN?t_=!1:tE(e6("mutationObserverCallbacks",{observeMutationsRoot:t}))}})},{mixout:()=>({parse:{transform:e=>tH(e)}}),hooks:()=>({parseNodeAttributes(e,t){let i=t.getAttribute("data-fa-transform");return i&&(e.transform=tH(i)),e}}),provides(e){e.generateAbstractTransformGrouping=function(e){let{main:t,transform:i,containerWidth:n,iconWidth:s}=e,o="translate(".concat(32*i.x,", ").concat(32*i.y,") "),r="scale(".concat(i.size/16*(i.flipX?-1:1),", ").concat(i.size/16*(i.flipY?-1:1),") "),a="rotate(".concat(i.rotate," 0 0)"),l={transform:"".concat(o," ").concat(r," ").concat(a)},h={outer:{transform:"translate(".concat(n/2," 256)")},inner:l,path:{transform:"translate(".concat(-(s/2*1)," -256)")}};return{tag:"g",attributes:d({},h.outer),children:[{tag:"g",attributes:d({},h.inner),children:[{tag:t.icon.tag,children:t.icon.children,attributes:d(d({},t.icon.attributes),h.path)}]}]}}}},{hooks:()=>({parseNodeAttributes(e,t){let i=t.getAttribute("data-fa-mask"),n=i?eX(i.split(" ").map(e=>e.trim())):eY();return n.prefix||(n.prefix=eH),e.mask=n,e.maskId=t.getAttribute("data-fa-mask-id"),e}}),provides(e){e.generateAbstractMask=function(e){let{children:t,attributes:i,main:n,mask:s,maskId:o,transform:r}=e,{width:a,icon:l}=n,{width:h,icon:c}=s,u=function(e){let{transform:t,containerWidth:i,iconWidth:n}=e,s="translate(".concat(32*t.x,", ").concat(32*t.y,") "),o="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),r="rotate(".concat(t.rotate," 0 0)"),a={transform:"".concat(s," ").concat(o," ").concat(r)};return{outer:{transform:"translate(".concat(i/2," 256)")},inner:a,path:{transform:"translate(".concat(-(n/2*1)," -256)")}}}({transform:r,containerWidth:h,iconWidth:a}),m={tag:"rect",attributes:d(d({},tB),{},{fill:"white"})},p=l.children?{children:l.children.map(tj)}:{},f={tag:"g",attributes:d({},u.inner),children:[tj(d({tag:l.tag,attributes:d(d({},l.attributes),u.path)},p))]},g={tag:"g",attributes:d({},u.outer),children:[f]},b="mask-".concat(o||ef()),v="clip-".concat(o||ef()),y={tag:"mask",attributes:d(d({},tB),{},{id:b,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[m,g]},w={tag:"defs",children:[{tag:"clipPath",attributes:{id:v},children:"g"===c.tag?c.children:[c]},y]};return t.push(w,{tag:"rect",attributes:d({fill:"currentColor","clip-path":"url(#".concat(v,")"),mask:"url(#".concat(b,")")},tB)}),{children:t,attributes:i}}}},{provides(e){let t=!1;y.matchMedia&&(t=y.matchMedia("(prefers-reduced-motion: reduce)").matches),e.missingIconAbstract=function(){let e=[],i={fill:"currentColor"},n={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};e.push({tag:"path",attributes:d(d({},i),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});let s=d(d({},n),{},{attributeName:"opacity"}),o={tag:"circle",attributes:d(d({},i),{},{cx:"256",cy:"364",r:"28"}),children:[]};return t||o.children.push({tag:"animate",attributes:d(d({},n),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:d(d({},s),{},{values:"1;0;1;1;0;1;"})}),e.push(o),e.push({tag:"path",attributes:d(d({},i),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:t?[]:[{tag:"animate",attributes:d(d({},s),{},{values:"1;0;0;0;0;1;"})}]}),t||e.push({tag:"path",attributes:d(d({},i),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:d(d({},s),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:e}}}},{hooks:()=>({parseNodeAttributes(e,t){let i=t.getAttribute("data-fa-symbol");return e.symbol=null!==i&&(""===i||i),e}})}],{mixoutsTo:te}),te.noAuto,te.config;const tV=te.library,tW=te.dom;te.parse,te.findIconDefinition,te.toHtml,te.icon,te.layer,te.text,te.counter;const tZ={prefix:"far",iconName:"square",icon:[448,512,[9632,9723,9724,61590],"f0c8","M384 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l320 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z"]},tG={prefix:"far",iconName:"circle-question",icon:[512,512,[62108,"question-circle"],"f059","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm169.8-90.7c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]},tU={prefix:"far",iconName:"circle-xmark",icon:[512,512,[61532,"times-circle","xmark-circle"],"f057","M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z"]},tq={prefix:"fas",iconName:"table",icon:[512,512,[],"f0ce","M64 256l0-96 160 0 0 96L64 256zm0 64l160 0 0 96L64 416l0-96zm224 96l0-96 160 0 0 96-160 0zM448 256l-160 0 0-96 160 0 0 96zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z"]},tK={prefix:"fas",iconName:"square-check",icon:[448,512,[9745,9989,61510,"check-square"],"f14a","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"]},tY={prefix:"fas",iconName:"chevron-up",icon:[512,512,[],"f077","M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"]},t$={prefix:"fas",iconName:"arrow-right",icon:[448,512,[8594],"f061","M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"]},tJ={prefix:"fas",iconName:"up-right-from-square",icon:[512,512,["external-link-alt"],"f35d","M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-128c0-17.7-14.3-32-32-32L352 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z"]},tX={prefix:"fas",iconName:"sliders",icon:[512,512,["sliders-h"],"f1de","M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z"]},tQ={prefix:"fas",iconName:"earth-americas",icon:[512,512,[127758,"earth","earth-america","globe-americas"],"f57d","M57.7 193l9.4 16.4c8.3 14.5 21.9 25.2 38 29.8L163 255.7c17.2 4.9 29 20.6 29 38.5l0 39.9c0 11 6.2 21 16 25.9s16 14.9 16 25.9l0 39c0 15.6 14.9 26.9 29.9 22.6c16.1-4.6 28.6-17.5 32.7-33.8l2.8-11.2c4.2-16.9 15.2-31.4 30.3-40l8.1-4.6c15-8.5 24.2-24.5 24.2-41.7l0-8.3c0-12.7-5.1-24.9-14.1-33.9l-3.9-3.9c-9-9-21.2-14.1-33.9-14.1L257 256c-11.1 0-22.1-2.9-31.8-8.4l-34.5-19.7c-4.3-2.5-7.6-6.5-9.2-11.2c-3.2-9.6 1.1-20 10.2-24.5l5.9-3c6.6-3.3 14.3-3.9 21.3-1.5l23.2 7.7c8.2 2.7 17.2-.4 21.9-7.5c4.7-7 4.2-16.3-1.2-22.8l-13.6-16.3c-10-12-9.9-29.5 .3-41.3l15.7-18.3c8.8-10.3 10.2-25 3.5-36.7l-2.4-4.2c-3.5-.2-6.9-.3-10.4-.3C163.1 48 84.4 108.9 57.7 193zM464 256c0-36.8-9.6-71.4-26.4-101.5L412 164.8c-15.7 6.3-23.8 23.8-18.5 39.8l16.9 50.7c3.5 10.4 12 18.3 22.6 20.9l29.1 7.3c1.2-9 1.8-18.2 1.8-27.5zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"]},t0={prefix:"fas",iconName:"magnifying-glass",icon:[512,512,[128269,"search"],"f002","M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"]},t1={prefix:"fas",iconName:"chevron-down",icon:[512,512,[],"f078","M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"]},t2={prefix:"fas",iconName:"triangle-exclamation",icon:[512,512,[9888,"exclamation-triangle","warning"],"f071","M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]};var t3={};!function(e){function t(e){var t,i,n,s;for(i=1,n=arguments.length;i0?Math.floor(e):Math.ceil(e)};function V(e,t,i){return e instanceof B?e:k(e)?new B(e[0],e[1]):null==e?e:"object"==typeof e&&"x"in e&&"y"in e?new B(e.x,e.y):new B(e,t,i)}function W(e,t){if(e)for(var i=t?[e,t]:e,n=0,s=i.length;n=this.min.x&&i.x<=this.max.x&&t.y>=this.min.y&&i.y<=this.max.y},intersects:function(e){e=Z(e);var t=this.min,i=this.max,n=e.min,s=e.max,o=s.x>=t.x&&n.x<=i.x,r=s.y>=t.y&&n.y<=i.y;return o&&r},overlaps:function(e){e=Z(e);var t=this.min,i=this.max,n=e.min,s=e.max,o=s.x>t.x&&n.xt.y&&n.y=n.lat&&i.lat<=s.lat&&t.lng>=n.lng&&i.lng<=s.lng},intersects:function(e){e=U(e);var t=this._southWest,i=this._northEast,n=e.getSouthWest(),s=e.getNorthEast(),o=s.lat>=t.lat&&n.lat<=i.lat,r=s.lng>=t.lng&&n.lng<=i.lng;return o&&r},overlaps:function(e){e=U(e);var t=this._southWest,i=this._northEast,n=e.getSouthWest(),s=e.getNorthEast(),o=s.lat>t.lat&&n.latt.lng&&n.lng1,eR=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("testPassiveEventSupport",v,t),window.removeEventListener("testPassiveEventSupport",v,t)}catch(e){}return e}(),eP=!!document.createElement("canvas").getContext,eO=!!(document.createElementNS&&ei("svg").createSVGRect),eD=!!eO&&((c=document.createElement("div")).innerHTML="","http://www.w3.org/2000/svg"===(c.firstChild&&c.firstChild.namespaceURI)),ez=!eO&&function(){try{var e=document.createElement("div");e.innerHTML='';var t=e.firstChild;return t.style.behavior="url(#default#VML)",t&&"object"==typeof t.adj}catch(e){return!1}}();function eA(e){return navigator.userAgent.toLowerCase().indexOf(e)>=0}var eI={ie:eo,ielt9:er,edge:ea,webkit:el,android:eh,android23:ec,androidStock:ed,opera:em,chrome:ep,gecko:ef,safari:eg,phantom:eb,opera12:ev,win:ey,ie3d:ew,webkit3d:e_,gecko3d:eC,any3d:eE,mobile:ex,mobileWebkit:ex&&el,mobileWebkit3d:ex&&e_,msPointer:eT,pointer:ek,touch:eL,touchNative:eS,mobileOpera:ex&&em,mobileGecko:ex&&ef,retina:eM,passiveEvents:eR,canvas:eP,svg:eO,vml:ez,inlineSvg:eD,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},eF=eI.msPointer?"MSPointerDown":"pointerdown",eN=eI.msPointer?"MSPointerMove":"pointermove",eH=eI.msPointer?"MSPointerUp":"pointerup",eB=eI.msPointer?"MSPointerCancel":"pointercancel",ej={touchstart:eF,touchmove:eN,touchend:eH,touchcancel:eB},eV={touchstart:function(e,t){t.MSPOINTER_TYPE_TOUCH&&t.pointerType===t.MSPOINTER_TYPE_TOUCH&&tC(t),eK(e,t)},touchmove:eK,touchend:eK,touchcancel:eK},eW={},eZ=!1;function eG(e){eW[e.pointerId]=e}function eU(e){eW[e.pointerId]&&(eW[e.pointerId]=e)}function eq(e){delete eW[e.pointerId]}function eK(e,t){if(t.pointerType!==(t.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in t.touches=[],eW)t.touches.push(eW[i]);t.changedTouches=[t],e(t)}}var eY=tt(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),e$=tt(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),eJ="webkitTransition"===e$||"OTransition"===e$?e$+"End":"transitionend";function eX(e){return"string"==typeof e?document.getElementById(e):e}function eQ(e,t){var i=e.style[t]||e.currentStyle&&e.currentStyle[t];if((!i||"auto"===i)&&document.defaultView){var n=document.defaultView.getComputedStyle(e,null);i=n?n[t]:null}return"auto"===i?null:i}function e0(e,t,i){var n=document.createElement(e);return n.className=t||"",i&&i.appendChild(n),n}function e1(e){var t=e.parentNode;t&&t.removeChild(e)}function e2(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function e3(e){var t=e.parentNode;t&&t.lastChild!==e&&t.appendChild(e)}function e4(e){var t=e.parentNode;t&&t.firstChild!==e&&t.insertBefore(e,t.firstChild)}function e6(e,t){if(void 0!==e.classList)return e.classList.contains(t);var i=e8(e);return i.length>0&&RegExp("(^|\\s)"+t+"(\\s|$)").test(i)}function e5(e,t){if(void 0!==e.classList)for(var i=_(t),n=0,s=i.length;n0?2*window.devicePixelRatio:1;function tS(e){return eI.edge?e.wheelDeltaY/2:e.deltaY&&0===e.deltaMode?-e.deltaY/tk:e.deltaY&&1===e.deltaMode?-(20*e.deltaY):e.deltaY&&2===e.deltaMode?-(60*e.deltaY):e.deltaX||e.deltaZ?0:e.wheelDelta?(e.wheelDeltaY||e.wheelDelta)/2:e.detail&&32765>Math.abs(e.detail)?-(20*e.detail):e.detail?-(60*(e.detail/32765)):0}function tL(e,t){var i=t.relatedTarget;if(!i)return!0;try{for(;i&&i!==e;)i=i.parentNode}catch(e){return!1}return i!==e}var tM=H.extend({run:function(e,t,i,n){this.stop(),this._el=e,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=ts(e),this._offset=t.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=A(this._animate,this),this._step()},_step:function(e){var t=+new Date-this._startTime,i=1e3*this._duration;tthis.options.maxZoom))?this.setZoom(e):this},panInsideBounds:function(e,t){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,U(e));return i.equals(n)||this.panTo(n,t),this._enforcingBounds=!1,this},panInside:function(e,t){var i=V((t=t||{}).paddingTopLeft||t.padding||[0,0]),n=V(t.paddingBottomRight||t.padding||[0,0]),s=this.project(this.getCenter()),o=this.project(e),r=this.getPixelBounds(),a=Z([r.min.add(i),r.max.subtract(n)]),l=a.getSize();if(!a.contains(o)){this._enforcingBounds=!0;var h=o.subtract(a.getCenter()),c=a.extend(o).getSize().subtract(l);s.x+=h.x<0?-c.x:c.x,s.y+=h.y<0?-c.y:c.y,this.panTo(this.unproject(s),t),this._enforcingBounds=!1}return this},invalidateSize:function(e){if(!this._loaded)return this;e=t({animate:!1,pan:!0},!0===e?{animate:!0}:e);var i=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var n=this.getSize(),s=i.divideBy(2).round(),o=n.divideBy(2).round(),r=s.subtract(o);return r.x||r.y?(e.animate&&e.pan?this.panBy(r):(e.pan&&this._rawPanBy(r),this.fire("move"),e.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(m(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:i,newSize:n})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(e){if(e=this._locateOptions=t({timeout:1e4,watch:!1},e),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var i=m(this._handleGeolocationResponse,this),n=m(this._handleGeolocationError,this);return e.watch?this._locationWatchId=navigator.geolocation.watchPosition(i,n,e):navigator.geolocation.getCurrentPosition(i,n,e),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(e){if(this._container._leaflet_id){var t=e.code,i=e.message||(1===t?"permission denied":2===t?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:t,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(e){if(this._container._leaflet_id){var t=new q(e.coords.latitude,e.coords.longitude),i=t.toBounds(2*e.coords.accuracy),n=this._locateOptions;if(n.setView){var s=this.getBoundsZoom(i);this.setView(t,n.maxZoom?Math.min(s,n.maxZoom):s)}var o={latlng:t,bounds:i,timestamp:e.timestamp};for(var r in e.coords)"number"==typeof e.coords[r]&&(o[r]=e.coords[r]);this.fire("locationfound",o)}},addHandler:function(e,t){if(!t)return this;var i=this[e]=new t(this);return this._handlers.push(i),this.options[e]&&i.enable(),this},remove:function(){var e;if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(e){this._container._leaflet_id=void 0,this._containerId=void 0}for(e in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),e1(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(I(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[e].remove();for(e in this._panes)e1(this._panes[e]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(e,t){var i=e0("div","leaflet-pane"+(e?" leaflet-"+e.replace("Pane","")+"-pane":""),t||this._mapPane);return e&&(this._panes[e]=i),i},getCenter:function(){return(this._checkIfLoaded(),this._lastCenter&&!this._moved())?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var e=this.getPixelBounds();return new G(this.unproject(e.getBottomLeft()),this.unproject(e.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(e,t,i){e=U(e),i=V(i||[0,0]);var n=this.getZoom()||0,s=this.getMinZoom(),o=this.getMaxZoom(),r=e.getNorthWest(),a=e.getSouthEast(),l=this.getSize().subtract(i),h=Z(this.project(a,n),this.project(r,n)).getSize(),c=eI.any3d?this.options.zoomSnap:1,u=l.x/h.x,d=l.y/h.y,m=t?Math.max(u,d):Math.min(u,d);return n=this.getScaleZoom(m,n),c&&(n=c/100*Math.round(n/(c/100)),n=t?Math.ceil(n/c)*c:Math.floor(n/c)*c),Math.max(s,Math.min(o,n))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new B(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(e,t){var i=this._getTopLeftPoint(e,t);return new W(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(e){return this.options.crs.getProjectedBounds(void 0===e?this.getZoom():e)},getPane:function(e){return"string"==typeof e?this._panes[e]:e},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(e,t){var i=this.options.crs;return t=void 0===t?this._zoom:t,i.scale(e)/i.scale(t)},getScaleZoom:function(e,t){var i=this.options.crs;t=void 0===t?this._zoom:t;var n=i.zoom(e*i.scale(t));return isNaN(n)?1/0:n},project:function(e,t){return t=void 0===t?this._zoom:t,this.options.crs.latLngToPoint(K(e),t)},unproject:function(e,t){return t=void 0===t?this._zoom:t,this.options.crs.pointToLatLng(V(e),t)},layerPointToLatLng:function(e){var t=V(e).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(e){return this.project(K(e))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(e){return this.options.crs.wrapLatLng(K(e))},wrapLatLngBounds:function(e){return this.options.crs.wrapLatLngBounds(U(e))},distance:function(e,t){return this.options.crs.distance(K(e),K(t))},containerPointToLayerPoint:function(e){return V(e).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(e){return V(e).add(this._getMapPanePos())},containerPointToLatLng:function(e){var t=this.containerPointToLayerPoint(V(e));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(e){return this.layerPointToContainerPoint(this.latLngToLayerPoint(K(e)))},mouseEventToContainerPoint:function(e){return tT(e,this._container)},mouseEventToLayerPoint:function(e){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(e))},mouseEventToLatLng:function(e){return this.layerPointToLatLng(this.mouseEventToLayerPoint(e))},_initContainer:function(e){var t=this._container=eX(e);if(t){if(t._leaflet_id)throw Error("Map container is already initialized.")}else throw Error("Map container not found.");td(t,"scroll",this._onScroll,this),this._containerId=f(t)},_initLayout:function(){var e=this._container;this._fadeAnimated=this.options.fadeAnimation&&eI.any3d,e5(e,"leaflet-container"+(eI.touch?" leaflet-touch":"")+(eI.retina?" leaflet-retina":"")+(eI.ielt9?" leaflet-oldie":"")+(eI.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var t=eQ(e,"position");"absolute"!==t&&"relative"!==t&&"fixed"!==t&&"sticky"!==t&&(e.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var e=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),tn(this._mapPane,new B(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(e5(e.markerPane,"leaflet-zoom-hide"),e5(e.shadowPane,"leaflet-zoom-hide"))},_resetView:function(e,t,i){tn(this._mapPane,new B(0,0));var n=!this._loaded;this._loaded=!0,t=this._limitZoom(t),this.fire("viewprereset");var s=this._zoom!==t;this._moveStart(s,i)._move(e,t)._moveEnd(s),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(e,t){return e&&this.fire("zoomstart"),t||this.fire("movestart"),this},_move:function(e,t,i,n){void 0===t&&(t=this._zoom);var s=this._zoom!==t;return this._zoom=t,this._lastCenter=e,this._pixelOrigin=this._getNewPixelOrigin(e),n?i&&i.pinch&&this.fire("zoom",i):((s||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(e){return e&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return I(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(e){tn(this._mapPane,this._getMapPanePos().subtract(e))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw Error("Set map center and zoom first.")},_initEvents:function(e){this._targets={},this._targets[f(this._container)]=this;var t=e?tp:td;t(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&t(window,"resize",this._onResize,this),eI.any3d&&this.options.transform3DLimit&&(e?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){I(this._resizeRequest),this._resizeRequest=A(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var e=this._getMapPanePos();Math.max(Math.abs(e.x),Math.abs(e.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(e,t){for(var i,n=[],s="mouseout"===t||"mouseover"===t,o=e.target||e.srcElement,r=!1;o;){if((i=this._targets[f(o)])&&("click"===t||"preclick"===t)&&this._draggableMoved(i)){r=!0;break}if(i&&i.listens(t,!0)&&(s&&!tL(o,e)||(n.push(i),s))||o===this._container)break;o=o.parentNode}return!n.length&&!r&&!s&&this.listens(t,!0)&&(n=[this]),n},_isClickDisabled:function(e){for(;e&&e!==this._container;){if(e._leaflet_disable_click)return!0;e=e.parentNode}},_handleDOMEvent:function(e){var t=e.target||e.srcElement;if(!(!this._loaded||t._leaflet_disable_events||"click"===e.type&&this._isClickDisabled(t))){var i=e.type;"mousedown"===i&&tl(t),this._fireDOMEvent(e,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(e,i,n){if("click"===e.type){var s=t({},e);s.type="preclick",this._fireDOMEvent(s,s.type,n)}var o=this._findEventTargets(e,i);if(n){for(var r=[],a=0;a=Math.abs(r.x)&&1>=Math.abs(r.y)?e:this.unproject(n.add(r),t)},_limitOffset:function(e,t){if(!t)return e;var i=this.getPixelBounds(),n=new W(i.min.add(e),i.max.add(e));return e.add(this._getBoundsOffset(n,t))},_getBoundsOffset:function(e,t,i){var n=Z(this.project(t.getNorthEast(),i),this.project(t.getSouthWest(),i)),s=n.min.subtract(e.min),o=n.max.subtract(e.max);return new B(this._rebound(s.x,-o.x),this._rebound(s.y,-o.y))},_rebound:function(e,t){return e+t>0?Math.round(e-t)/2:Math.max(0,Math.ceil(e))-Math.max(0,Math.floor(t))},_limitZoom:function(e){var t=this.getMinZoom(),i=this.getMaxZoom(),n=eI.any3d?this.options.zoomSnap:1;return n&&(e=Math.round(e/n)*n),Math.max(t,Math.min(i,e))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){e9(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(e,t){var i=this._getCenterOffset(e)._trunc();return!!(!0===(t&&t.animate)||this.getSize().contains(i))&&(this.panBy(i,t),!0)},_createAnimProxy:function(){var e=this._proxy=e0("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(e),this.on("zoomanim",function(e){var t=this._proxy.style[eY];ti(this._proxy,this.project(e.center,e.zoom),this.getZoomScale(e.zoom,1)),t===this._proxy.style[eY]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){e1(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var e=this.getCenter(),t=this.getZoom();ti(this._proxy,this.project(e,t),this.getZoomScale(t,1))},_catchTransitionEnd:function(e){this._animatingZoom&&e.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(e,t,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(t-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(t),s=this._getCenterOffset(e)._divideBy(1-1/n);return!!(!0===i.animate||this.getSize().contains(s))&&(A(function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(e,t,!0)},this),!0)},_animateZoom:function(e,t,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=e,this._animateToZoom=t,e5(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:e,zoom:t,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(m(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&e9(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}}),tP=F.extend({options:{position:"topright"},initialize:function(e){C(this,e)},getPosition:function(){return this.options.position},setPosition:function(e){var t=this._map;return t&&t.removeControl(this),this.options.position=e,t&&t.addControl(this),this},getContainer:function(){return this._container},addTo:function(e){this.remove(),this._map=e;var t=this._container=this.onAdd(e),i=this.getPosition(),n=e._controlCorners[i];return e5(t,"leaflet-control"),-1!==i.indexOf("bottom")?n.insertBefore(t,n.firstChild):n.appendChild(t),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(e1(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(e){this._map&&e&&e.screenX>0&&e.screenY>0&&this._map.getContainer().focus()}}),tO=function(e){return new tP(e)};tR.include({addControl:function(e){return e.addTo(this),this},removeControl:function(e){return e.remove(),this},_initControlPos:function(){var e=this._controlCorners={},t="leaflet-",i=this._controlContainer=e0("div",t+"control-container",this._container);function n(n,s){e[n+s]=e0("div",t+n+" "+t+s,i)}n("top","left"),n("top","right"),n("bottom","left"),n("bottom","right")},_clearControlPos:function(){for(var e in this._controlCorners)e1(this._controlCorners[e]);e1(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var tD=tP.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(e,t,i,n){return i1,this._baseLayersList.style.display=e?"":"none"),this._separator.style.display=t&&e?"":"none",this},_onLayerChange:function(e){this._handlingClick||this._update();var t=this._getLayer(f(e.target)),i=t.overlay?"add"===e.type?"overlayadd":"overlayremove":"add"===e.type?"baselayerchange":null;i&&this._map.fire(i,t)},_createRadioElement:function(e,t){var i=document.createElement("div");return i.innerHTML='",i.firstChild},_addItem:function(e){var t,i=document.createElement("label"),n=this._map.hasLayer(e.layer);e.overlay?((t=document.createElement("input")).type="checkbox",t.className="leaflet-control-layers-selector",t.defaultChecked=n):t=this._createRadioElement("leaflet-base-layers_"+f(this),n),this._layerControlInputs.push(t),t.layerId=f(e.layer),td(t,"click",this._onInputClick,this);var s=document.createElement("span");s.innerHTML=" "+e.name;var o=document.createElement("span");return i.appendChild(o),o.appendChild(t),o.appendChild(s),(e.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var e,t,i=this._layerControlInputs,n=[],s=[];this._handlingClick=!0;for(var o=i.length-1;o>=0;o--)e=i[o],t=this._getLayer(e.layerId).layer,e.checked?n.push(t):e.checked||s.push(t);for(o=0;o=0;s--)e=i[s],t=this._getLayer(e.layerId).layer,e.disabled=void 0!==t.options.minZoom&&nt.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var e=this._section;this._preventClick=!0,td(e,"click",tC),this.expand();var t=this;setTimeout(function(){tp(e,"click",tC),t._preventClick=!1})}}),tz=tP.extend({options:{position:"topleft",zoomInText:'+',zoomInTitle:"Zoom in",zoomOutText:'−',zoomOutTitle:"Zoom out"},onAdd:function(e){var t="leaflet-control-zoom",i=e0("div",t+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,t+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,t+"-out",i,this._zoomOut),this._updateDisabled(),e.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(e){e.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(e){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(e.shiftKey?3:1))},_createButton:function(e,t,i,n,s){var o=e0("a",i,n);return o.innerHTML=e,o.href="#",o.title=t,o.setAttribute("role","button"),o.setAttribute("aria-label",t),t_(o),td(o,"click",tE),td(o,"click",s,this),td(o,"click",this._refocusOnMap,this),o},_updateDisabled:function(){var e=this._map,t="leaflet-disabled";e9(this._zoomInButton,t),e9(this._zoomOutButton,t),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||e._zoom===e.getMinZoom())&&(e5(this._zoomOutButton,t),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||e._zoom===e.getMaxZoom())&&(e5(this._zoomInButton,t),this._zoomInButton.setAttribute("aria-disabled","true"))}});tR.mergeOptions({zoomControl:!0}),tR.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new tz,this.addControl(this.zoomControl))});var tA=tP.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(e){var t="leaflet-control-scale",i=e0("div",t),n=this.options;return this._addScales(n,t+"-line",i),e.on(n.updateWhenIdle?"moveend":"move",this._update,this),e.whenReady(this._update,this),i},onRemove:function(e){e.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(e,t,i){e.metric&&(this._mScale=e0("div",t,i)),e.imperial&&(this._iScale=e0("div",t,i))},_update:function(){var e=this._map,t=e.getSize().y/2,i=e.distance(e.containerPointToLatLng([0,t]),e.containerPointToLatLng([this.options.maxWidth,t]));this._updateScales(i)},_updateScales:function(e){this.options.metric&&e&&this._updateMetric(e),this.options.imperial&&e&&this._updateImperial(e)},_updateMetric:function(e){var t=this._getRoundNum(e);this._updateScale(this._mScale,t<1e3?t+" m":t/1e3+" km",t/e)},_updateImperial:function(e){var t,i,n,s=3.2808399*e;s>5280?(t=s/5280,i=this._getRoundNum(t),this._updateScale(this._iScale,i+" mi",i/t)):(n=this._getRoundNum(s),this._updateScale(this._iScale,n+" ft",n/s))},_updateScale:function(e,t,i){e.style.width=Math.round(this.options.maxWidth*i)+"px",e.innerHTML=t},_getRoundNum:function(e){var t=Math.pow(10,(Math.floor(e)+"").length-1),i=e/t;return t*(i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1)}}),tI=tP.extend({options:{position:"bottomright",prefix:''+(eI.inlineSvg?' ':"")+"Leaflet"},initialize:function(e){C(this,e),this._attributions={}},onAdd:function(e){for(var t in e.attributionControl=this,this._container=e0("div","leaflet-control-attribution"),t_(this._container),e._layers)e._layers[t].getAttribution&&this.addAttribution(e._layers[t].getAttribution());return this._update(),e.on("layeradd",this._addAttribution,this),this._container},onRemove:function(e){e.off("layeradd",this._addAttribution,this)},_addAttribution:function(e){e.layer.getAttribution&&(this.addAttribution(e.layer.getAttribution()),e.layer.once("remove",function(){this.removeAttribution(e.layer.getAttribution())},this))},setPrefix:function(e){return this.options.prefix=e,this._update(),this},addAttribution:function(e){return e&&(this._attributions[e]||(this._attributions[e]=0),this._attributions[e]++,this._update()),this},removeAttribution:function(e){return e&&this._attributions[e]&&(this._attributions[e]--,this._update()),this},_update:function(){if(this._map){var e=[];for(var t in this._attributions)this._attributions[t]&&e.push(t);var i=[];this.options.prefix&&i.push(this.options.prefix),e.length&&i.push(e.join(", ")),this._container.innerHTML=i.join(' | ')}}});tR.mergeOptions({attributionControl:!0}),tR.addInitHook(function(){this.options.attributionControl&&new tI().addTo(this)}),tP.Layers=tD,tP.Zoom=tz,tP.Scale=tA,tP.Attribution=tI,tO.layers=function(e,t,i){return new tD(e,t,i)},tO.zoom=function(e){return new tz(e)},tO.scale=function(e){return new tA(e)},tO.attribution=function(e){return new tI(e)};var tF=F.extend({initialize:function(e){this._map=e},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}});tF.addTo=function(e,t){return e.addHandler(t,this),this};var tN=eI.touch?"touchstart mousedown":"mousedown",tH=H.extend({options:{clickTolerance:3},initialize:function(e,t,i,n){C(this,n),this._element=e,this._dragStartTarget=t||e,this._preventOutline=i},enable:function(){this._enabled||(td(this._dragStartTarget,tN,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(tH._dragging===this&&this.finishDrag(!0),tp(this._dragStartTarget,tN,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(e){if(!(!this._enabled||(this._moved=!1,e6(this._element,"leaflet-zoom-anim")))){if(e.touches&&1!==e.touches.length){tH._dragging===this&&this.finishDrag();return}if(!tH._dragging&&!e.shiftKey&&(1===e.which||1===e.button||e.touches)&&(tH._dragging=this,this._preventOutline&&tl(this._element),tr(),i(),!this._moving)){this.fire("down");var t=e.touches?e.touches[0]:e,n=tc(this._element);this._startPoint=new B(t.clientX,t.clientY),this._startPos=ts(this._element),this._parentScale=tu(n);var s="mousedown"===e.type;td(document,s?"mousemove":"touchmove",this._onMove,this),td(document,s?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(e){if(this._enabled){if(e.touches&&e.touches.length>1){this._moved=!0;return}var t=e.touches&&1===e.touches.length?e.touches[0]:e,i=new B(t.clientX,t.clientY)._subtract(this._startPoint);(i.x||i.y)&&(Math.abs(i.x)+Math.abs(i.y)h&&(r=a,h=l);h>n&&(i[r]=1,e(t,i,n,s,r),e(t,i,n,r,o))}(e,n,t,0,i-1);var s,o=[];for(s=0;st&&(i.push(e[n]),s=n);return st.max.x&&(i|=2),e.yt.max.y&&(i|=8),i}function tK(e,t,i,n){var s,o=t.x,r=t.y,a=i.x-o,l=i.y-r,h=a*a+l*l;return h>0&&((s=((e.x-o)*a+(e.y-r)*l)/h)>1?(o=i.x,r=i.y):s>0&&(o+=a*s,r+=l*s)),a=e.x-o,l=e.y-r,n?a*a+l*l:new B(o,r)}function tY(e){return!k(e[0])||"object"!=typeof e[0][0]&&void 0!==e[0][0]}function t$(e){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),tY(e)}function tJ(e,t){if(!e||0===e.length)throw Error("latlngs not passed");tY(e)||(console.warn("latlngs are not flat! Only the first ring will be used"),e=e[0]);var i,n,s,o,r,a,l,h,c=K([0,0]),u=U(e);u.getNorthWest().distanceTo(u.getSouthWest())*u.getNorthEast().distanceTo(u.getNorthWest())<1700&&(c=tV(e));var d=e.length,m=[];for(i=0;in){l=(o-n)/s,h=[a.x-l*(a.x-r.x),a.y-l*(a.y-r.y)];break}var f=t.unproject(V(h));return K([f.lat+c.lat,f.lng+c.lng])}var tX={project:function(e){return new B(e.lng,e.lat)},unproject:function(e){return new q(e.y,e.x)},bounds:new W([-180,-90],[180,90])},tQ={R:6378137,R_MINOR:6356752.314245179,bounds:new W([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(e){var t=Math.PI/180,i=this.R,n=e.lat*t,s=this.R_MINOR/i,o=Math.sqrt(1-s*s),r=o*Math.sin(n);return n=-i*Math.log(Math.max(Math.tan(Math.PI/4-n/2)/Math.pow((1-r)/(1+r),o/2),1e-10)),new B(e.lng*t*i,n)},unproject:function(e){for(var t,i=180/Math.PI,n=this.R,s=this.R_MINOR/n,o=Math.sqrt(1-s*s),r=Math.exp(-e.y/n),a=Math.PI/2-2*Math.atan(r),l=0,h=.1;l<15&&Math.abs(h)>1e-7;l++)h=Math.PI/2-2*Math.atan(r*(t=Math.pow((1-(t=o*Math.sin(a)))/(1+t),o/2)))-a,a+=h;return new q(a*i,e.x*i/n)}},t0=t({},$,{code:"EPSG:3395",projection:tQ,transformation:Q(u=.5/(Math.PI*tQ.R),.5,-u,.5)}),t1=t({},$,{code:"EPSG:4326",projection:tX,transformation:Q(1/180,1,-1/180,.5)}),t2=t({},Y,{projection:tX,transformation:Q(1,0,-1,0),scale:function(e){return Math.pow(2,e)},zoom:function(e){return Math.log(e)/Math.LN2},distance:function(e,t){var i=t.lng-e.lng,n=t.lat-e.lat;return Math.sqrt(i*i+n*n)},infinite:!0});Y.Earth=$,Y.EPSG3395=t0,Y.EPSG3857=ee,Y.EPSG900913=et,Y.EPSG4326=t1,Y.Simple=t2;var t3=H.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(e){return e.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(e){return e&&e.removeLayer(this),this},getPane:function(e){return this._map.getPane(e?this.options[e]||e:this.options.pane)},addInteractiveTarget:function(e){return this._map._targets[f(e)]=this,this},removeInteractiveTarget:function(e){return delete this._map._targets[f(e)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(e){var t=e.target;if(t.hasLayer(this)){if(this._map=t,this._zoomAnimated=t._zoomAnimated,this.getEvents){var i=this.getEvents();t.on(i,this),this.once("remove",function(){t.off(i,this)},this)}this.onAdd(t),this.fire("add"),t.fire("layeradd",{layer:this})}}});tR.include({addLayer:function(e){if(!e._layerAdd)throw Error("The provided object is not a Layer.");var t=f(e);return this._layers[t]||(this._layers[t]=e,e._mapToAdd=this,e.beforeAdd&&e.beforeAdd(this),this.whenReady(e._layerAdd,e)),this},removeLayer:function(e){var t=f(e);return this._layers[t]&&(this._loaded&&e.onRemove(this),delete this._layers[t],this._loaded&&(this.fire("layerremove",{layer:e}),e.fire("remove")),e._map=e._mapToAdd=null),this},hasLayer:function(e){return f(e)in this._layers},eachLayer:function(e,t){for(var i in this._layers)e.call(t,this._layers[i]);return this},_addLayers:function(e){e=e?k(e)?e:[e]:[];for(var t=0,i=e.length;tthis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()=2&&t[0]instanceof q&&t[0].equals(t[i-1])&&t.pop(),t},_setLatLngs:function(e){is.prototype._setLatLngs.call(this,e),tY(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return tY(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var e=this._renderer._bounds,t=this.options.weight,i=new B(t,t);if(e=new W(e.min.subtract(i),e.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(e)){if(this.options.noClip){this._parts=this._rings;return}for(var n,s=0,o=this._rings.length;se.y!=n.y>e.y&&e.x<(n.x-i.x)*(e.y-i.y)/(n.y-i.y)+i.x&&(h=!h);return h||is.prototype._containsPoint.call(this,e,!0)}}),ir=t6.extend({initialize:function(e,t){C(this,t),this._layers={},e&&this.addData(e)},addData:function(e){var t,i,n,s=k(e)?e:e.features;if(s){for(t=0,i=s.length;t0&&s.push(s[0].slice()),s}function im(e,i){return e.feature?t({},e.feature,{geometry:i}):ip(i)}function ip(e){return"Feature"===e.type||"FeatureCollection"===e.type?e:{type:"Feature",properties:{},geometry:e}}var ig={toGeoJSON:function(e){return im(this,{type:"Point",coordinates:iu(this.getLatLng(),e)})}};function ib(e,t){return new ir(e,t)}t8.include(ig),ii.include(ig),it.include(ig),is.include({toGeoJSON:function(e){var t=!tY(this._latlngs),i=id(this._latlngs,t?1:0,!1,e);return im(this,{type:(t?"Multi":"")+"LineString",coordinates:i})}}),io.include({toGeoJSON:function(e){var t=!tY(this._latlngs),i=t&&!tY(this._latlngs[0]),n=id(this._latlngs,i?2:t?1:0,!0,e);return t||(n=[n]),im(this,{type:(i?"Multi":"")+"Polygon",coordinates:n})}}),t4.include({toMultiPoint:function(e){var t=[];return this.eachLayer(function(i){t.push(i.toGeoJSON(e).geometry.coordinates)}),im(this,{type:"MultiPoint",coordinates:t})},toGeoJSON:function(e){var t=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===t)return this.toMultiPoint(e);var i="GeometryCollection"===t,n=[];return(this.eachLayer(function(t){if(t.toGeoJSON){var s=t.toGeoJSON(e);if(i)n.push(s.geometry);else{var o=ip(s);"FeatureCollection"===o.type?n.push.apply(n,o.features):n.push(o)}}}),i)?im(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n}}});var iv=t3.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(e,t,i){this._url=e,this._bounds=U(t),C(this,i)},onAdd:function(){!this._image&&(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(e5(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){e1(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(e){return this.options.opacity=e,this._image&&this._updateOpacity(),this},setStyle:function(e){return e.opacity&&this.setOpacity(e.opacity),this},bringToFront:function(){return this._map&&e3(this._image),this},bringToBack:function(){return this._map&&e4(this._image),this},setUrl:function(e){return this._url=e,this._image&&(this._image.src=e),this},setBounds:function(e){return this._bounds=U(e),this._map&&this._reset(),this},getEvents:function(){var e={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(e.zoomanim=this._animateZoom),e},setZIndex:function(e){return this.options.zIndex=e,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var e="IMG"===this._url.tagName,t=this._image=e?this._url:e0("img");if(e5(t,"leaflet-image-layer"),this._zoomAnimated&&e5(t,"leaflet-zoom-animated"),this.options.className&&e5(t,this.options.className),t.onselectstart=v,t.onmousemove=v,t.onload=m(this.fire,this,"load"),t.onerror=m(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(t.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),e){this._url=t.src;return}t.src=this._url,t.alt=this.options.alt},_animateZoom:function(e){var t=this._map.getZoomScale(e.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,e.zoom,e.center).min;ti(this._image,i,t)},_reset:function(){var e=this._image,t=new W(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=t.getSize();tn(e,t.min),e.style.width=i.x+"px",e.style.height=i.y+"px"},_updateOpacity:function(){te(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var e=this.options.errorOverlayUrl;e&&this._url!==e&&(this._url=e,this._image.src=e)},getCenter:function(){return this._bounds.getCenter()}}),iy=iv.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var e="VIDEO"===this._url.tagName,t=this._image=e?this._url:e0("video");if(e5(t,"leaflet-image-layer"),this._zoomAnimated&&e5(t,"leaflet-zoom-animated"),this.options.className&&e5(t,this.options.className),t.onselectstart=v,t.onmousemove=v,t.onloadeddata=m(this.fire,this,"load"),e){for(var i=t.getElementsByTagName("source"),n=[],s=0;s0?n:[t.src];return}k(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(t.style,"objectFit")&&(t.style.objectFit="fill"),t.autoplay=!!this.options.autoplay,t.loop=!!this.options.loop,t.muted=!!this.options.muted,t.playsInline=!!this.options.playsInline;for(var o=0;o×',td(n,"click",function(e){tC(e),this.close()},this)}},_updateLayout:function(){var e=this._contentNode,t=e.style;t.width="",t.whiteSpace="nowrap";var i=e.offsetWidth;i=Math.max(i=Math.min(i,this.options.maxWidth),this.options.minWidth),t.width=i+1+"px",t.whiteSpace="",t.height="";var n=e.offsetHeight,s=this.options.maxHeight,o="leaflet-popup-scrolled";s&&n>s?(t.height=s+"px",e5(e,o)):e9(e,o),this._containerWidth=this._container.offsetWidth},_animateZoom:function(e){var t=this._map._latLngToNewLayerPoint(this._latlng,e.zoom,e.center),i=this._getAnchor();tn(this._container,t.add(i))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var e=this._map,t=parseInt(eQ(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+t,n=this._containerWidth,s=new B(this._containerLeft,-i-this._containerBottom);s._add(ts(this._container));var o=e.layerPointToContainerPoint(s),r=V(this.options.autoPanPadding),a=V(this.options.autoPanPaddingTopLeft||r),l=V(this.options.autoPanPaddingBottomRight||r),h=e.getSize(),c=0,u=0;o.x+n+l.x>h.x&&(c=o.x+n-h.x+l.x),o.x-c-a.x<0&&(c=o.x-a.x),o.y+i+l.y>h.y&&(u=o.y+i-h.y+l.y),o.y-u-a.y<0&&(u=o.y-a.y),(c||u)&&(this.options.keepInView&&(this._autopanning=!0),e.fire("autopanstart").panBy([c,u]))}},_getAnchor:function(){return V(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});tR.mergeOptions({closePopupOnClick:!0}),tR.include({openPopup:function(e,t,i){return this._initOverlay(iC,e,t,i).openOn(this),this},closePopup:function(e){return e=arguments.length?e:this._popup,e&&e.close(),this}}),t3.include({bindPopup:function(e,t){return this._popup=this._initOverlay(iC,this._popup,e,t),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(e){return this._popup&&(this instanceof t6||(this._popup._source=this),this._popup._prepareOpen(e||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(e){return this._popup&&this._popup.setContent(e),this},getPopup:function(){return this._popup},_openPopup:function(e){if(this._popup&&this._map){tE(e);var t=e.layer||e.target;if(this._popup._source===t&&!(t instanceof ie)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(e.latlng);return}this._popup._source=t,this.openPopup(e.latlng)}},_movePopup:function(e){this._popup.setLatLng(e.latlng)},_onKeyPress:function(e){13===e.originalEvent.keyCode&&this._openPopup(e)}});var iE=i_.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(e){i_.prototype.onAdd.call(this,e),this.setOpacity(this.options.opacity),e.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(e){i_.prototype.onRemove.call(this,e),e.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var e=i_.prototype.getEvents.call(this);return this.options.permanent||(e.preclick=this.close),e},_initLayout:function(){var e="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=e0("div",e),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+f(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(e){var t,i,n=this._map,s=this._container,o=n.latLngToContainerPoint(n.getCenter()),r=n.layerPointToContainerPoint(e),a=this.options.direction,l=s.offsetWidth,h=s.offsetHeight,c=V(this.options.offset),u=this._getAnchor();"top"===a?(t=l/2,i=h):"bottom"===a?(t=l/2,i=0):("center"===a?t=l/2:"right"===a?t=0:"left"===a?t=l:r.xthis.options.maxZoom||in&&this._retainParent(s,o,r,n))},_retainChildren:function(e,t,i,n){for(var s=2*e;s<2*e+2;s++)for(var o=2*t;o<2*t+2;o++){var r=new B(s,o);r.z=i+1;var a=this._tileCoordsToKey(r),l=this._tiles[a];if(l&&l.active){l.retain=!0;continue}l&&l.loaded&&(l.retain=!0),i+1this.options.maxZoom||void 0!==this.options.minZoom&&s1){this._setView(e,i);return}for(var u=s.min.y;u<=s.max.y;u++)for(var d=s.min.x;d<=s.max.x;d++){var m=new B(d,u);if(m.z=this._tileZoom,this._isValidTile(m)){var p=this._tiles[this._tileCoordsToKey(m)];p?p.current=!0:r.push(m)}}if(r.sort(function(e,t){return e.distanceTo(o)-t.distanceTo(o)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var f=document.createDocumentFragment();for(d=0;di.max.x)||!t.wrapLat&&(e.yi.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(e);return U(this.options.bounds).overlaps(n)},_keyToBounds:function(e){return this._tileCoordsToBounds(this._keyToTileCoords(e))},_tileCoordsToNwSe:function(e){var t=this._map,i=this.getTileSize(),n=e.scaleBy(i),s=n.add(i);return[t.unproject(n,e.z),t.unproject(s,e.z)]},_tileCoordsToBounds:function(e){var t=this._tileCoordsToNwSe(e),i=new G(t[0],t[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(e){return e.x+":"+e.y+":"+e.z},_keyToTileCoords:function(e){var t=e.split(":"),i=new B(+t[0],+t[1]);return i.z=+t[2],i},_removeTile:function(e){var t=this._tiles[e];t&&(e1(t.el),delete this._tiles[e],this.fire("tileunload",{tile:t.el,coords:this._keyToTileCoords(e)}))},_initTile:function(e){e5(e,"leaflet-tile");var t=this.getTileSize();e.style.width=t.x+"px",e.style.height=t.y+"px",e.onselectstart=v,e.onmousemove=v,eI.ielt9&&this.options.opacity<1&&te(e,this.options.opacity)},_addTile:function(e,t){var i=this._getTilePos(e),n=this._tileCoordsToKey(e),s=this.createTile(this._wrapCoords(e),m(this._tileReady,this,e));this._initTile(s),this.createTile.length<2&&A(m(this._tileReady,this,e,null,s)),tn(s,i),this._tiles[n]={el:s,coords:e,current:!0},t.appendChild(s),this.fire("tileloadstart",{tile:s,coords:e})},_tileReady:function(e,t,i){t&&this.fire("tileerror",{error:t,tile:i,coords:e});var n=this._tileCoordsToKey(e);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(te(i.el,0),I(this._fadeFrame),this._fadeFrame=A(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),t||(e5(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:e})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),eI.ielt9||!this._map._fadeAnimated?A(this._pruneTiles,this):setTimeout(m(this._pruneTiles,this),250)))},_getTilePos:function(e){return e.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(e){var t=new B(this._wrapX?b(e.x,this._wrapX):e.x,this._wrapY?b(e.y,this._wrapY):e.y);return t.z=e.z,t},_pxBoundsToTileRange:function(e){var t=this.getTileSize();return new W(e.min.unscaleBy(t).floor(),e.max.unscaleBy(t).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var e in this._tiles)if(!this._tiles[e].loaded)return!1;return!0}}),ik=iT.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(e,t){this._url=e,(t=C(this,t)).detectRetina&&eI.retina&&t.maxZoom>0?(t.tileSize=Math.floor(t.tileSize/2),t.zoomReverse?(t.zoomOffset--,t.minZoom=Math.min(t.maxZoom,t.minZoom+1)):(t.zoomOffset++,t.maxZoom=Math.max(t.minZoom,t.maxZoom-1)),t.minZoom=Math.max(0,t.minZoom)):t.zoomReverse?t.minZoom=Math.min(t.maxZoom,t.minZoom):t.maxZoom=Math.max(t.minZoom,t.maxZoom),"string"==typeof t.subdomains&&(t.subdomains=t.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(e,t){return this._url===e&&void 0===t&&(t=!0),this._url=e,t||this.redraw(),this},createTile:function(e,t){var i=document.createElement("img");return td(i,"load",m(this._tileOnLoad,this,t,i)),td(i,"error",m(this._tileOnError,this,t,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(e),i},getTileUrl:function(e){var i={r:eI.retina?"@2x":"",s:this._getSubdomain(e),x:e.x,y:e.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var n=this._globalTileRange.max.y-e.y;this.options.tms&&(i.y=n),i["-y"]=n}return T(this._url,t(i,this.options))},_tileOnLoad:function(e,t){eI.ielt9?setTimeout(m(e,this,null,t),0):e(null,t)},_tileOnError:function(e,t,i){var n=this.options.errorTileUrl;n&&t.getAttribute("src")!==n&&(t.src=n),e(i,t)},_onTileRemove:function(e){e.tile.onload=null},_getZoomForUrl:function(){var e=this._tileZoom,t=this.options.maxZoom,i=this.options.zoomReverse,n=this.options.zoomOffset;return i&&(e=t-e),e+n},_getSubdomain:function(e){var t=Math.abs(e.x+e.y)%this.options.subdomains.length;return this.options.subdomains[t]},_abortLoading:function(){var e,t;for(e in this._tiles)if(this._tiles[e].coords.z!==this._tileZoom&&((t=this._tiles[e].el).onload=v,t.onerror=v,!t.complete)){t.src=M;var i=this._tiles[e].coords;e1(t),delete this._tiles[e],this.fire("tileabort",{tile:t,coords:i})}},_removeTile:function(e){var t=this._tiles[e];if(t)return t.el.setAttribute("src",M),iT.prototype._removeTile.call(this,e)},_tileReady:function(e,t,i){if(this._map&&(!i||i.getAttribute("src")!==M))return iT.prototype._tileReady.call(this,e,t,i)}});function iS(e,t){return new ik(e,t)}var iL=ik.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(e,i){this._url=e;var n=t({},this.defaultWmsParams);for(var s in i)s in this.options||(n[s]=i[s]);var o=(i=C(this,i)).detectRetina&&eI.retina?2:1,r=this.getTileSize();n.width=r.x*o,n.height=r.y*o,this.wmsParams=n},onAdd:function(e){this._crs=this.options.crs||e.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var t=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[t]=this._crs.code,ik.prototype.onAdd.call(this,e)},getTileUrl:function(e){var t=this._tileCoordsToNwSe(e),i=this._crs,n=Z(i.project(t[0]),i.project(t[1])),s=n.min,o=n.max,r=(this._wmsVersion>=1.3&&this._crs===t1?[s.y,s.x,o.y,o.x]:[s.x,s.y,o.x,o.y]).join(","),a=ik.prototype.getTileUrl.call(this,e);return a+E(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(e,i){return t(this.wmsParams,e),i||this.redraw(),this}});ik.WMS=iL,iS.wms=function(e,t){return new iL(e,t)};var iM=t3.extend({options:{padding:.1},initialize:function(e){C(this,e),f(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),e5(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var e={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(e.zoomanim=this._onAnimZoom),e},_onAnimZoom:function(e){this._updateTransform(e.center,e.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(e,t){var i=this._map.getZoomScale(t,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),s=this._map.project(this._center,t),o=n.multiplyBy(-i).add(s).subtract(this._map._getNewPixelOrigin(e,t));eI.any3d?ti(this._container,o,i):tn(this._container,o)},_reset:function(){for(var e in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[e]._reset()},_onZoomEnd:function(){for(var e in this._layers)this._layers[e]._project()},_updatePaths:function(){for(var e in this._layers)this._layers[e]._update()},_update:function(){var e=this.options.padding,t=this._map.getSize(),i=this._map.containerPointToLayerPoint(t.multiplyBy(-e)).round();this._bounds=new W(i,i.add(t.multiplyBy(1+2*e)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),iR=iM.extend({options:{tolerance:0},getEvents:function(){var e=iM.prototype.getEvents.call(this);return e.viewprereset=this._onViewPreReset,e},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){iM.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var e=this._container=document.createElement("canvas");td(e,"mousemove",this._onMouseMove,this),td(e,"click dblclick mousedown mouseup contextmenu",this._onClick,this),td(e,"mouseout",this._handleMouseOut,this),e._leaflet_disable_events=!0,this._ctx=e.getContext("2d")},_destroyContainer:function(){I(this._redrawRequest),delete this._ctx,e1(this._container),tp(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var e in this._redrawBounds=null,this._layers)this._layers[e]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){iM.prototype._update.call(this);var e=this._bounds,t=this._container,i=e.getSize(),n=eI.retina?2:1;tn(t,e.min),t.width=n*i.x,t.height=n*i.y,t.style.width=i.x+"px",t.style.height=i.y+"px",eI.retina&&this._ctx.scale(2,2),this._ctx.translate(-e.min.x,-e.min.y),this.fire("update")}},_reset:function(){iM.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(e){this._updateDashArray(e),this._layers[f(e)]=e;var t=e._order={layer:e,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=t),this._drawLast=t,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(e){this._requestRedraw(e)},_removePath:function(e){var t=e._order,i=t.next,n=t.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete e._order,delete this._layers[f(e)],this._requestRedraw(e)},_updatePath:function(e){this._extendRedrawBounds(e),e._project(),e._update(),this._requestRedraw(e)},_updateStyle:function(e){this._updateDashArray(e),this._requestRedraw(e)},_updateDashArray:function(e){if("string"==typeof e.options.dashArray){var t,i,n=e.options.dashArray.split(/[, ]+/),s=[];for(i=0;i')}}catch(e){}return function(e){return document.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),iD=eI.vml?iO:ei,iz=iM.extend({_initContainer:function(){this._container=iD("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=iD("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){e1(this._container),tp(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!this._map._animatingZoom||!this._bounds){iM.prototype._update.call(this);var e=this._bounds,t=e.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(t)||(this._svgSize=t,i.setAttribute("width",t.x),i.setAttribute("height",t.y)),tn(i,e.min),i.setAttribute("viewBox",[e.min.x,e.min.y,t.x,t.y].join(" ")),this.fire("update")}},_initPath:function(e){var t=e._path=iD("path");e.options.className&&e5(t,e.options.className),e.options.interactive&&e5(t,"leaflet-interactive"),this._updateStyle(e),this._layers[f(e)]=e},_addPath:function(e){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(e._path),e.addInteractiveTarget(e._path)},_removePath:function(e){e1(e._path),e.removeInteractiveTarget(e._path),delete this._layers[f(e)]},_updatePath:function(e){e._project(),e._update()},_updateStyle:function(e){var t=e._path,i=e.options;t&&(i.stroke?(t.setAttribute("stroke",i.color),t.setAttribute("stroke-opacity",i.opacity),t.setAttribute("stroke-width",i.weight),t.setAttribute("stroke-linecap",i.lineCap),t.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?t.setAttribute("stroke-dasharray",i.dashArray):t.removeAttribute("stroke-dasharray"),i.dashOffset?t.setAttribute("stroke-dashoffset",i.dashOffset):t.removeAttribute("stroke-dashoffset")):t.setAttribute("stroke","none"),i.fill?(t.setAttribute("fill",i.fillColor||i.color),t.setAttribute("fill-opacity",i.fillOpacity),t.setAttribute("fill-rule",i.fillRule||"evenodd")):t.setAttribute("fill","none"))},_updatePoly:function(e,t){this._setPath(e,en(e._parts,t))},_updateCircle:function(e){var t=e._point,i=Math.max(Math.round(e._radius),1),n=Math.max(Math.round(e._radiusY),1)||i,s="a"+i+","+n+" 0 1,0 ",o=e._empty()?"M0 0":"M"+(t.x-i)+","+t.y+s+2*i+",0 "+s+-(2*i)+",0 ";this._setPath(e,o)},_setPath:function(e,t){e._path.setAttribute("d",t)},_bringToFront:function(e){e3(e._path)},_bringToBack:function(e){e4(e._path)}});function iA(e){return eI.svg||eI.vml?new iz(e):null}eI.vml&&iz.include({_initContainer:function(){this._container=e0("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(iM.prototype._update.call(this),this.fire("update"))},_initPath:function(e){var t=e._container=iO("shape");e5(t,"leaflet-vml-shape "+(this.options.className||"")),t.coordsize="1 1",e._path=iO("path"),t.appendChild(e._path),this._updateStyle(e),this._layers[f(e)]=e},_addPath:function(e){var t=e._container;this._container.appendChild(t),e.options.interactive&&e.addInteractiveTarget(t)},_removePath:function(e){var t=e._container;e1(t),e.removeInteractiveTarget(t),delete this._layers[f(e)]},_updateStyle:function(e){var t=e._stroke,i=e._fill,n=e.options,s=e._container;s.stroked=!!n.stroke,s.filled=!!n.fill,n.stroke?(t||(t=e._stroke=iO("stroke")),s.appendChild(t),t.weight=n.weight+"px",t.color=n.color,t.opacity=n.opacity,n.dashArray?t.dashStyle=k(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):t.dashStyle="",t.endcap=n.lineCap.replace("butt","flat"),t.joinstyle=n.lineJoin):t&&(s.removeChild(t),e._stroke=null),n.fill?(i||(i=e._fill=iO("fill")),s.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(s.removeChild(i),e._fill=null)},_updateCircle:function(e){var t=e._point.round(),i=Math.round(e._radius),n=Math.round(e._radiusY||i);this._setPath(e,e._empty()?"M0 0":"AL "+t.x+","+t.y+" "+i+","+n+" 0,23592600")},_setPath:function(e,t){e._path.v=t},_bringToFront:function(e){e3(e._container)},_bringToBack:function(e){e4(e._container)}}),tR.include({getRenderer:function(e){var t=e.options.renderer||this._getPaneRenderer(e.options.pane)||this.options.renderer||this._renderer;return t||(t=this._renderer=this._createRenderer()),this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(e){if("overlayPane"===e||void 0===e)return!1;var t=this._paneRenderers[e];return void 0===t&&(t=this._createRenderer({pane:e}),this._paneRenderers[e]=t),t},_createRenderer:function(e){return this.options.preferCanvas&&iP(e)||iA(e)}});var iI=io.extend({initialize:function(e,t){io.prototype.initialize.call(this,this._boundsToLatLngs(e),t)},setBounds:function(e){return this.setLatLngs(this._boundsToLatLngs(e))},_boundsToLatLngs:function(e){return[(e=U(e)).getSouthWest(),e.getNorthWest(),e.getNorthEast(),e.getSouthEast()]}});iz.create=iD,iz.pointsToPath=en,ir.geometryToLayer=ia,ir.coordsToLatLng=ih,ir.coordsToLatLngs=ic,ir.latLngToCoords=iu,ir.latLngsToCoords=id,ir.getFeature=im,ir.asFeature=ip,tR.mergeOptions({boxZoom:!0});var iF=tF.extend({initialize:function(e){this._map=e,this._container=e._container,this._pane=e._panes.overlayPane,this._resetStateTimeout=0,e.on("unload",this._destroy,this)},addHooks:function(){td(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){tp(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){e1(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(e){if(!e.shiftKey||1!==e.which&&1!==e.button)return!1;this._clearDeferredResetState(),this._resetState(),i(),tr(),this._startPoint=this._map.mouseEventToContainerPoint(e),td(document,{contextmenu:tE,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(e){this._moved||(this._moved=!0,this._box=e0("div","leaflet-zoom-box",this._container),e5(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(e);var t=new W(this._point,this._startPoint),i=t.getSize();tn(this._box,t.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(e1(this._box),e9(this._container,"leaflet-crosshair")),n(),ta(),tp(document,{contextmenu:tE,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(e){if((1===e.which||1===e.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(m(this._resetState,this),0);var t=new G(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(t).fire("boxzoomend",{boxZoomBounds:t})}},_onKeyDown:function(e){27===e.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});tR.addInitHook("addHandler","boxZoom",iF),tR.mergeOptions({doubleClickZoom:!0});var iN=tF.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(e){var t=this._map,i=t.getZoom(),n=t.options.zoomDelta,s=e.originalEvent.shiftKey?i-n:i+n;"center"===t.options.doubleClickZoom?t.setZoom(s):t.setZoomAround(e.containerPoint,s)}});tR.addInitHook("addHandler","doubleClickZoom",iN),tR.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var iH=tF.extend({addHooks:function(){if(!this._draggable){var e=this._map;this._draggable=new tH(e._mapPane,e._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),e.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),e.on("zoomend",this._onZoomEnd,this),e.whenReady(this._onZoomEnd,this))}e5(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){e9(this._map._container,"leaflet-grab"),e9(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var e=this._map;if(e._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var t=U(this._map.options.maxBounds);this._offsetLimit=Z(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;e.fire("movestart").fire("dragstart"),e.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(e){if(this._map.options.inertia){var t=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(t),this._prunePositions(t)}this._map.fire("move",e).fire("drag",e)},_prunePositions:function(e){for(;this._positions.length>1&&e-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var e=this._map.getSize().divideBy(2),t=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=t.subtract(e).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(e,t){return e-(e-t)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var e=this._draggable._newPos.subtract(this._draggable._startPos),t=this._offsetLimit;e.xt.max.x&&(e.x=this._viscousLimit(e.x,t.max.x)),e.y>t.max.y&&(e.y=this._viscousLimit(e.y,t.max.y)),this._draggable._newPos=this._draggable._startPos.add(e)}},_onPreDragWrap:function(){var e=this._worldWidth,t=Math.round(e/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,s=(n-t+i)%e+t-i,o=(n+t+i)%e-t-i,r=Math.abs(s+i)0?s:-s))-t;this._delta=0,this._startTime=null,o&&("center"===e.options.scrollWheelZoom?e.setZoom(t+o):e.setZoomAround(this._lastMousePos,t+o))}});tR.addInitHook("addHandler","scrollWheelZoom",ij),tR.mergeOptions({tapHold:eI.touchNative&&eI.safari&&eI.mobile,tapTolerance:15});var iV=tF.extend({addHooks:function(){td(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){tp(this._map._container,"touchstart",this._onDown,this)},_onDown:function(e){if(clearTimeout(this._holdTimeout),1===e.touches.length){var t=e.touches[0];this._startPos=this._newPos=new B(t.clientX,t.clientY),this._holdTimeout=setTimeout(m(function(){this._cancel(),this._isTapValid()&&(td(document,"touchend",tC),td(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",t))},this),600),td(document,"touchend touchcancel contextmenu",this._cancel,this),td(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function e(){tp(document,"touchend",tC),tp(document,"touchend touchcancel",e)},_cancel:function(){clearTimeout(this._holdTimeout),tp(document,"touchend touchcancel contextmenu",this._cancel,this),tp(document,"touchmove",this._onMove,this)},_onMove:function(e){var t=e.touches[0];this._newPos=new B(t.clientX,t.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(e,t){var i=new MouseEvent(e,{bubbles:!0,cancelable:!0,view:window,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY});i._simulated=!0,t.target.dispatchEvent(i)}});tR.addInitHook("addHandler","tapHold",iV),tR.mergeOptions({touchZoom:eI.touch,bounceAtZoomLimits:!0});var iW=tF.extend({addHooks:function(){e5(this._map._container,"leaflet-touch-zoom"),td(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){e9(this._map._container,"leaflet-touch-zoom"),tp(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(e){var t=this._map;if(e.touches&&2===e.touches.length&&!t._animatingZoom&&!this._zooming){var i=t.mouseEventToContainerPoint(e.touches[0]),n=t.mouseEventToContainerPoint(e.touches[1]);this._centerPoint=t.getSize()._divideBy(2),this._startLatLng=t.containerPointToLatLng(this._centerPoint),"center"!==t.options.touchZoom&&(this._pinchStartLatLng=t.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=t.getZoom(),this._moved=!1,this._zooming=!0,t._stop(),td(document,"touchmove",this._onTouchMove,this),td(document,"touchend touchcancel",this._onTouchEnd,this),tC(e)}},_onTouchMove:function(e){if(e.touches&&2===e.touches.length&&this._zooming){var t=this._map,i=t.mouseEventToContainerPoint(e.touches[0]),n=t.mouseEventToContainerPoint(e.touches[1]),s=i.distanceTo(n)/this._startDist;if(this._zoom=t.getScaleZoom(s,this._startZoom),!t.options.bounceAtZoomLimits&&(this._zoomt.getMaxZoom()&&s>1)&&(this._zoom=t._limitZoom(this._zoom)),"center"===t.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var o=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===o.x&&0===o.y)return;this._center=t.unproject(t.project(this._pinchStartLatLng,this._zoom).subtract(o),this._zoom)}this._moved||(t._moveStart(!0,!1),this._moved=!0),I(this._animRequest);var r=m(t._move,t,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=A(r,this,!0),tC(e)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,I(this._animRequest),tp(document,"touchmove",this._onTouchMove,this),tp(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});tR.addInitHook("addHandler","touchZoom",iW),tR.BoxZoom=iF,tR.DoubleClickZoom=iN,tR.Drag=iH,tR.Keyboard=iB,tR.ScrollWheelZoom=ij,tR.TapHold=iV,tR.TouchZoom=iW,e.Bounds=W,e.Browser=eI,e.CRS=Y,e.Canvas=iR,e.Circle=ii,e.CircleMarker=it,e.Class=F,e.Control=tP,e.DivIcon=ix,e.DivOverlay=i_,e.DomEvent={__proto__:null,on:td,off:tp,stopPropagation:ty,disableScrollPropagation:tw,disableClickPropagation:t_,preventDefault:tC,stop:tE,getPropagationPath:tx,getMousePosition:tT,getWheelDelta:tS,isExternalTarget:tL,addListener:td,removeListener:tp},e.DomUtil={__proto__:null,TRANSFORM:eY,TRANSITION:e$,TRANSITION_END:eJ,get:eX,getStyle:eQ,create:e0,remove:e1,empty:e2,toFront:e3,toBack:e4,hasClass:e6,addClass:e5,removeClass:e9,setClass:e7,getClass:e8,setOpacity:te,testProp:tt,setTransform:ti,setPosition:tn,getPosition:ts,get disableTextSelection(){return i},get enableTextSelection(){return n},disableImageDrag:tr,enableImageDrag:ta,preventOutline:tl,restoreOutline:th,getSizedParentNode:tc,getScale:tu},e.Draggable=tH,e.Evented=H,e.FeatureGroup=t6,e.GeoJSON=ir,e.GridLayer=iT,e.Handler=tF,e.Icon=t5,e.ImageOverlay=iv,e.LatLng=q,e.LatLngBounds=G,e.Layer=t3,e.LayerGroup=t4,e.LineUtil={__proto__:null,simplify:tW,pointToSegmentDistance:tZ,closestPointOnSegment:function(e,t,i){return tK(e,t,i)},clipSegment:tG,_getEdgeIntersection:tU,_getBitCode:tq,_sqClosestPointOnSegment:tK,isFlat:tY,_flat:t$,polylineCenter:tJ},e.Map=tR,e.Marker=t8,e.Mixin={Events:N},e.Path=ie,e.Point=B,e.PolyUtil={__proto__:null,clipPolygon:tB,polygonCenter:tj,centroid:tV},e.Polygon=io,e.Polyline=is,e.Popup=iC,e.PosAnimation=tM,e.Projection={__proto__:null,LonLat:tX,Mercator:tQ,SphericalMercator:J},e.Rectangle=iI,e.Renderer=iM,e.SVG=iz,e.SVGOverlay=iw,e.TileLayer=ik,e.Tooltip=iE,e.Transformation=X,e.Util={__proto__:null,extend:t,create:d,bind:m,get lastId(){return p},stamp:f,throttle:g,wrapNum:b,falseFn:v,formatNum:y,trim:w,splitWords:_,setOptions:C,getParamString:E,template:T,isArray:k,indexOf:S,emptyImageUrl:M,requestFn:D,cancelFn:z,requestAnimFrame:A,cancelAnimFrame:I},e.VideoOverlay=iy,e.bind=m,e.bounds=Z,e.canvas=iP,e.circle=function(e,t,i){return new ii(e,t,i)},e.circleMarker=function(e,t){return new it(e,t)},e.control=tO,e.divIcon=function(e){return new ix(e)},e.extend=t,e.featureGroup=function(e,t){return new t6(e,t)},e.geoJSON=ib,e.geoJson=ib,e.gridLayer=function(e){return new iT(e)},e.icon=function(e){return new t5(e)},e.imageOverlay=function(e,t,i){return new iv(e,t,i)},e.latLng=K,e.latLngBounds=U,e.layerGroup=function(e,t){return new t4(e,t)},e.map=function(e,t){return new tR(e,t)},e.marker=function(e,t){return new t8(e,t)},e.point=V,e.polygon=function(e,t){return new io(e,t)},e.polyline=function(e,t){return new is(e,t)},e.popup=function(e,t){return new iC(e,t)},e.rectangle=function(e,t){return new iI(e,t)},e.setOptions=C,e.stamp=f,e.svg=iA,e.svgOverlay=function(e,t,i){return new iw(e,t,i)},e.tileLayer=iS,e.tooltip=function(e,t){return new iE(e,t)},e.transformation=Q,e.version="1.9.4",e.videoOverlay=function(e,t,i){return new iy(e,t,i)};var iZ=window.L;e.noConflict=function(){return window.L=iZ,this},window.L=e}(t3);const t4="noMandatesMarkers",t6=new t3.TileLayer("https://tiles.stadiamaps.com/tiles/stamen_toner_lite/{z}/{x}/{y}{r}.png",{attribution:`© OpenStreetMap
© OpenMapTiles
© Stadia Maps
© Stamen Design`,subdomains:"abcd",minZoom:3,maxZoom:10});class t5{id;value;subscribers=[];_isInitialized=!1;constructor(e,t){this.id=e,this.value=t}get isInitialized(){return this._isInitialized}getValue(){return this.value}setValue(e){this.value=e,this.notify()}subscribe(e,t){if(this.isInitialized)throw Error("Cannot add subscribers after initialization");this.subscribers.push({callback:e,id:t})}initialize(){if(this.isInitialized)throw Error("Observable is already initialized");this.notify(),this._isInitialized=!0}notify(){this.subscribers.forEach(({callback:e,id:t})=>{e(this.value)})}}function t9(e){let t=document.querySelector(".filter-popup"),i=document.querySelector(".header-filter-icon-container");t&&i&&(t.hidden=!e,i.ariaExpanded=e.toString())}function t7(e){let t=document.querySelector(".about-popup"),i=document.querySelector(".header-about-icon-container");t&&i&&(t.hidden=!e,i.setAttribute("aria-expanded",e.toString()))}var t8={};function ie(e,t){for(var i=0;i=0||(s[i]=e[i]);return s}function ic(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=Array(t);i=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}Object.defineProperty(t8,"__esModule",{value:!0});var id=function(e){function t(){return e.apply(this,arguments)||this}return is(t,e),t}(il(Error)),im=function(e){function t(t){return e.call(this,"Invalid DateTime: "+t.toMessage())||this}return is(t,e),t}(id),ip=function(e){function t(t){return e.call(this,"Invalid Interval: "+t.toMessage())||this}return is(t,e),t}(id),ig=function(e){function t(t){return e.call(this,"Invalid Duration: "+t.toMessage())||this}return is(t,e),t}(id),ib=function(e){function t(){return e.apply(this,arguments)||this}return is(t,e),t}(id),iv=function(e){function t(t){return e.call(this,"Invalid unit "+t)||this}return is(t,e),t}(id),iy=function(e){function t(){return e.apply(this,arguments)||this}return is(t,e),t}(id),iw=function(e){function t(){return e.call(this,"Zone is an abstract class")||this}return is(t,e),t}(id),i_="numeric",iC="short",iE="long",ix={year:i_,month:i_,day:i_},iT={year:i_,month:iC,day:i_},ik={year:i_,month:iC,day:i_,weekday:iC},iS={year:i_,month:iE,day:i_},iL={year:i_,month:iE,day:i_,weekday:iE},iM={hour:i_,minute:i_},iR={hour:i_,minute:i_,second:i_},iP={hour:i_,minute:i_,second:i_,timeZoneName:iC},iO={hour:i_,minute:i_,second:i_,timeZoneName:iE},iD={hour:i_,minute:i_,hourCycle:"h23"},iz={hour:i_,minute:i_,second:i_,hourCycle:"h23"},iA={hour:i_,minute:i_,second:i_,hourCycle:"h23",timeZoneName:iC},iI={hour:i_,minute:i_,second:i_,hourCycle:"h23",timeZoneName:iE},iF={year:i_,month:i_,day:i_,hour:i_,minute:i_},iN={year:i_,month:i_,day:i_,hour:i_,minute:i_,second:i_},iH={year:i_,month:iC,day:i_,hour:i_,minute:i_},iB={year:i_,month:iC,day:i_,hour:i_,minute:i_,second:i_},ij={year:i_,month:iC,day:i_,weekday:iC,hour:i_,minute:i_},iV={year:i_,month:iE,day:i_,hour:i_,minute:i_,timeZoneName:iC},iW={year:i_,month:iE,day:i_,hour:i_,minute:i_,second:i_,timeZoneName:iC},iZ={year:i_,month:iE,day:i_,weekday:iE,hour:i_,minute:i_,timeZoneName:iE},iG={year:i_,month:iE,day:i_,weekday:iE,hour:i_,minute:i_,second:i_,timeZoneName:iE},iU=function(){function e(){}var t=e.prototype;return t.offsetName=function(e,t){throw new iw},t.formatOffset=function(e,t){throw new iw},t.offset=function(e){throw new iw},t.equals=function(e){throw new iw},it(e,[{key:"type",get:function(){throw new iw}},{key:"name",get:function(){throw new iw}},{key:"ianaName",get:function(){return this.name}},{key:"isUniversal",get:function(){throw new iw}},{key:"isValid",get:function(){throw new iw}}]),e}(),iq=null,iK=function(e){function t(){return e.apply(this,arguments)||this}is(t,e);var i=t.prototype;return i.offsetName=function(e,t){return n4(e,t.format,t.locale)},i.formatOffset=function(e,t){return n7(this.offset(e),t)},i.offset=function(e){return-new Date(e).getTimezoneOffset()},i.equals=function(e){return"system"===e.type},it(t,[{key:"type",get:function(){return"system"}},{key:"name",get:function(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}},{key:"isUniversal",get:function(){return!1}},{key:"isValid",get:function(){return!0}}],[{key:"instance",get:function(){return null===iq&&(iq=new t),iq}}]),t}(iU),iY={},i$={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6},iJ={},iX=function(e){function t(i){var n;return(n=e.call(this)||this).zoneName=i,n.valid=t.isValidZone(i),n}is(t,e),t.create=function(e){return iJ[e]||(iJ[e]=new t(e)),iJ[e]},t.resetCache=function(){iJ={},iY={}},t.isValidSpecifier=function(e){return this.isValidZone(e)},t.isValidZone=function(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch(e){return!1}};var i=t.prototype;return i.offsetName=function(e,t){return n4(e,t.format,t.locale,this.name)},i.formatOffset=function(e,t){return n7(this.offset(e),t)},i.offset=function(e){var t,i,n,s,o,r=new Date(e);if(isNaN(r))return NaN;var a=(iY[t=this.name]||(iY[t]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),iY[t]),l=a.formatToParts?function(e,t){for(var i=e.formatToParts(t),n=[],s=0;s=0?v:1e3+v))/6e4},i.equals=function(e){return"iana"===e.type&&e.name===this.name},it(t,[{key:"type",get:function(){return"iana"}},{key:"name",get:function(){return this.zoneName}},{key:"isUniversal",get:function(){return!1}},{key:"isValid",get:function(){return this.valid}}]),t}(iU),iQ=["base"],i0=["padTo","floor"],i1={},i2={};function i3(e,t){void 0===t&&(t={});var i=JSON.stringify([e,t]),n=i2[i];return n||(n=new Intl.DateTimeFormat(e,t),i2[i]=n),n}var i4={},i6={},i5=null,i9={};function i7(e,t,i,n){var s=e.listingMode();return"error"===s?null:"en"===s?i(t):n(t)}var i8=function(){function e(e,t,i){this.padTo=i.padTo||0,this.floor=i.floor||!1,i.padTo,i.floor;var n=ih(i,i0);if(!t||Object.keys(n).length>0){var s,o,r,a=ii({useGrouping:!1},i);i.padTo>0&&(a.minimumIntegerDigits=i.padTo),this.inf=(void 0===(s=a)&&(s={}),(r=i4[o=JSON.stringify([e,s])])||(r=new Intl.NumberFormat(e,s),i4[o]=r),r)}}return e.prototype.format=function(e){if(!this.inf)return nU(this.floor?Math.floor(e):n$(e,3),this.padTo);var t=this.floor?Math.floor(e):e;return this.inf.format(t)},e}(),ne=function(){function e(e,t,i){this.opts=i,this.originalZone=void 0;var n=void 0;if(this.opts.timeZone)this.dt=e;else if("fixed"===e.zone.type){var s=-1*(e.offset/60),o=s>=0?"Etc/GMT+"+s:"Etc/GMT"+s;0!==e.offset&&iX.create(o).valid?(n=o,this.dt=e):(n="UTC",this.dt=0===e.offset?e:e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone)}else"system"===e.zone.type?this.dt=e:"iana"===e.zone.type?(this.dt=e,n=e.zone.name):(n="UTC",this.dt=e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone);var r=ii({},this.opts);r.timeZone=r.timeZone||n,this.dtf=i3(t,r)}var t=e.prototype;return t.format=function(){return this.originalZone?this.formatToParts().map(function(e){return e.value}).join(""):this.dtf.format(this.dt.toJSDate())},t.formatToParts=function(){var e=this,t=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?t.map(function(t){if("timeZoneName"!==t.type)return t;var i=e.originalZone.offsetName(e.dt.ts,{locale:e.dt.locale,format:e.opts.timeZoneName});return ii({},t,{value:i})}):t},t.resolvedOptions=function(){return this.dtf.resolvedOptions()},e}(),nt=function(){function e(e,t,i){if(this.opts=ii({style:"long"},i),!t&&nB()){var n,s,o,r;this.rtf=(void 0===(n=i)&&(n={}),(s=n).base,(r=i6[o=JSON.stringify([e,ih(s,iQ)])])||(r=new Intl.RelativeTimeFormat(e,n),i6[o]=r),r)}}var t=e.prototype;return t.format=function(e,t){return this.rtf?this.rtf.format(e,t):function(e,t,i,n){void 0===i&&(i="always"),void 0===n&&(n=!1);var s={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},o=-1===["hours","minutes","seconds"].indexOf(e);if("auto"===i&&o){var r="days"===e;switch(t){case 1:return r?"tomorrow":"next "+s[e][0];case -1:return r?"yesterday":"last "+s[e][0];case 0:return r?"today":"this "+s[e][0]}}var a=Object.is(t,-0)||t<0,l=Math.abs(t),h=1===l,c=s[e],u=n?h?c[1]:c[2]||c[1]:h?s[e][0]:e;return a?l+" "+u+" ago":"in "+l+" "+u}(t,e,this.opts.numeric,"long"!==this.opts.style)},t.formatToParts=function(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]},e}(),ni={firstDay:1,minimalDays:4,weekend:[6,7]},nn=function(){function e(e,t,i,n,s){var o,r,a,l=function(e){var t=e.indexOf("-x-");-1!==t&&(e=e.substring(0,t));var i=e.indexOf("-u-");if(-1===i)return[e];try{n=i3(e).resolvedOptions(),s=e}catch(t){var n,s,o=e.substring(0,i);n=i3(o).resolvedOptions(),s=o}var r=n;return[s,r.numberingSystem,r.calendar]}(e),h=l[0],c=l[1],u=l[2];this.locale=h,this.numberingSystem=t||c||null,this.outputCalendar=i||u||null,this.weekSettings=n,this.intl=(o=this.locale,r=this.numberingSystem,((a=this.outputCalendar)||r)&&(o.includes("-u-")||(o+="-u"),a&&(o+="-ca-"+a),r&&(o+="-nu-"+r)),o),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=s,this.fastNumbersCached=null}e.fromOpts=function(t){return e.create(t.locale,t.numberingSystem,t.outputCalendar,t.weekSettings,t.defaultToEN)},e.create=function(t,i,n,s,o){void 0===o&&(o=!1);var r=t||nC.defaultLocale;return new e(r||(o?"en-US":i5||(i5=new Intl.DateTimeFormat().resolvedOptions().locale)),i||nC.defaultNumberingSystem,n||nC.defaultOutputCalendar,nZ(s)||nC.defaultWeekSettings,r)},e.resetCache=function(){i5=null,i2={},i4={},i6={}},e.fromObject=function(t){var i=void 0===t?{}:t,n=i.locale,s=i.numberingSystem,o=i.outputCalendar,r=i.weekSettings;return e.create(n,s,o,r)};var t=e.prototype;return t.listingMode=function(){var e=this.isEnglish(),t=(null===this.numberingSystem||"latn"===this.numberingSystem)&&(null===this.outputCalendar||"gregory"===this.outputCalendar);return e&&t?"en":"intl"},t.clone=function(t){return t&&0!==Object.getOwnPropertyNames(t).length?e.create(t.locale||this.specifiedLocale,t.numberingSystem||this.numberingSystem,t.outputCalendar||this.outputCalendar,nZ(t.weekSettings)||this.weekSettings,t.defaultToEN||!1):this},t.redefaultToEN=function(e){return void 0===e&&(e={}),this.clone(ii({},e,{defaultToEN:!0}))},t.redefaultToSystem=function(e){return void 0===e&&(e={}),this.clone(ii({},e,{defaultToEN:!1}))},t.months=function(e,t){var i=this;return void 0===t&&(t=!1),i7(this,e,sn,function(){var n=t?{month:e,day:"numeric"}:{month:e},s=t?"format":"standalone";return i.monthsCache[s][e]||(i.monthsCache[s][e]=function(e){for(var t=[],i=1;i<=12;i++){var n=oZ.utc(2009,i,1);t.push(e(n))}return t}(function(e){return i.extract(e,n,"month")})),i.monthsCache[s][e]})},t.weekdays=function(e,t){var i=this;return void 0===t&&(t=!1),i7(this,e,sa,function(){var n=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},s=t?"format":"standalone";return i.weekdaysCache[s][e]||(i.weekdaysCache[s][e]=function(e){for(var t=[],i=1;i<=7;i++){var n=oZ.utc(2016,11,13+i);t.push(e(n))}return t}(function(e){return i.extract(e,n,"weekday")})),i.weekdaysCache[s][e]})},t.meridiems=function(){var e=this;return i7(this,void 0,function(){return sl},function(){if(!e.meridiemCache){var t={hour:"numeric",hourCycle:"h12"};e.meridiemCache=[oZ.utc(2016,11,13,9),oZ.utc(2016,11,13,19)].map(function(i){return e.extract(i,t,"dayperiod")})}return e.meridiemCache})},t.eras=function(e){var t=this;return i7(this,e,sd,function(){var i={era:e};return t.eraCache[e]||(t.eraCache[e]=[oZ.utc(-40,1,1),oZ.utc(2017,1,1)].map(function(e){return t.extract(e,i,"era")})),t.eraCache[e]})},t.extract=function(e,t,i){var n=this.dtFormatter(e,t).formatToParts().find(function(e){return e.type.toLowerCase()===i});return n?n.value:null},t.numberFormatter=function(e){return void 0===e&&(e={}),new i8(this.intl,e.forceSimple||this.fastNumbers,e)},t.dtFormatter=function(e,t){return void 0===t&&(t={}),new ne(e,this.intl,t)},t.relFormatter=function(e){return void 0===e&&(e={}),new nt(this.intl,this.isEnglish(),e)},t.listFormatter=function(e){var t,i,n,s;return void 0===e&&(e={}),t=this.intl,void 0===(i=e)&&(i={}),(s=i1[n=JSON.stringify([t,i])])||(s=new Intl.ListFormat(t,i),i1[n]=s),s},t.isEnglish=function(){return"en"===this.locale||"en-us"===this.locale.toLowerCase()||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")},t.getWeekSettings=function(){return this.weekSettings?this.weekSettings:nj()?function(e){var t=i9[e];if(!t){var i=new Intl.Locale(e);t="getWeekInfo"in i?i.getWeekInfo():i.weekInfo,i9[e]=t}return t}(this.locale):ni},t.getStartOfWeek=function(){return this.getWeekSettings().firstDay},t.getMinDaysInFirstWeek=function(){return this.getWeekSettings().minimalDays},t.getWeekendDays=function(){return this.getWeekSettings().weekend},t.equals=function(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar},t.toString=function(){return"Locale("+this.locale+", "+this.numberingSystem+", "+this.outputCalendar+")"},it(e,[{key:"fastNumbers",get:function(){return null==this.fastNumbersCached&&(this.fastNumbersCached=(!this.numberingSystem||"latn"===this.numberingSystem)&&("latn"===this.numberingSystem||!this.locale||this.locale.startsWith("en")||"latn"===new Intl.DateTimeFormat(this.intl).resolvedOptions().numberingSystem)),this.fastNumbersCached}}]),e}(),ns=null,no=function(e){function t(t){var i;return(i=e.call(this)||this).fixed=t,i}is(t,e),t.instance=function(e){return 0===e?t.utcInstance:new t(e)},t.parseSpecifier=function(e){if(e){var i=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(i)return new t(n6(i[1],i[2]))}return null};var i=t.prototype;return i.offsetName=function(){return this.name},i.formatOffset=function(e,t){return n7(this.fixed,t)},i.offset=function(){return this.fixed},i.equals=function(e){return"fixed"===e.type&&e.fixed===this.fixed},it(t,[{key:"type",get:function(){return"fixed"}},{key:"name",get:function(){return 0===this.fixed?"UTC":"UTC"+n7(this.fixed,"narrow")}},{key:"ianaName",get:function(){return 0===this.fixed?"Etc/UTC":"Etc/GMT"+n7(-this.fixed,"narrow")}},{key:"isUniversal",get:function(){return!0}},{key:"isValid",get:function(){return!0}}],[{key:"utcInstance",get:function(){return null===ns&&(ns=new t(0)),ns}}]),t}(iU),nr=function(e){function t(t){var i;return(i=e.call(this)||this).zoneName=t,i}is(t,e);var i=t.prototype;return i.offsetName=function(){return null},i.formatOffset=function(){return""},i.offset=function(){return NaN},i.equals=function(){return!1},it(t,[{key:"type",get:function(){return"invalid"}},{key:"name",get:function(){return this.zoneName}},{key:"isUniversal",get:function(){return!1}},{key:"isValid",get:function(){return!1}}]),t}(iU);function na(e,t){if(nF(e)||null===e)return t;if(e instanceof iU)return e;if("string"==typeof e){var i=e.toLowerCase();return"default"===i?t:"local"===i||"system"===i?iK.instance:"utc"===i||"gmt"===i?no.utcInstance:no.parseSpecifier(i)||iX.create(e)}return nN(e)?no.instance(e):"object"==typeof e&&"offset"in e&&"function"==typeof e.offset?e:new nr(e)}var nl={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},nh={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},nc=nl.hanidec.replace(/[\[|\]]/g,"").split(""),nu={};function nd(e,t){var i=e.numberingSystem;void 0===t&&(t="");var n=i||"latn";return nu[n]||(nu[n]={}),nu[n][t]||(nu[n][t]=RegExp(""+nl[n]+t)),nu[n][t]}var nm,np,nf=function(){return Date.now()},ng="system",nb=null,nv=null,ny=null,nw=60,n_=null,nC=function(){function e(){}return e.resetCaches=function(){nn.resetCache(),iX.resetCache(),oZ.resetCache(),nu={}},it(e,null,[{key:"now",get:function(){return nf},set:function(e){nf=e}},{key:"defaultZone",get:function(){return na(ng,iK.instance)},set:function(e){ng=e}},{key:"defaultLocale",get:function(){return nb},set:function(e){nb=e}},{key:"defaultNumberingSystem",get:function(){return nv},set:function(e){nv=e}},{key:"defaultOutputCalendar",get:function(){return ny},set:function(e){ny=e}},{key:"defaultWeekSettings",get:function(){return n_},set:function(e){n_=nZ(e)}},{key:"twoDigitCutoffYear",get:function(){return nw},set:function(e){nw=e%100}},{key:"throwOnInvalid",get:function(){return np},set:function(e){np=e}}]),e}(),nE=function(){function e(e,t){this.reason=e,this.explanation=t}return e.prototype.toMessage=function(){return this.explanation?this.reason+": "+this.explanation:this.reason},e}(),nx=[0,31,59,90,120,151,181,212,243,273,304,334],nT=[0,31,60,91,121,152,182,213,244,274,305,335];function nk(e,t){return new nE("unit out of range","you specified "+t+" (of type "+typeof t+") as a "+e+", which is invalid")}function nS(e,t,i){var n=new Date(Date.UTC(e,t-1,i));e<100&&e>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);var s=n.getUTCDay();return 0===s?7:s}function nL(e,t){var i=nJ(e)?nT:nx,n=i.findIndex(function(e){return en2(s,t,i)?(n=s+1,h=1):n=s,ii({weekYear:n,weekNumber:h,weekday:l},n8(e))}function nP(e,t,i){void 0===t&&(t=4),void 0===i&&(i=1);var n,s=e.weekYear,o=e.weekNumber,r=e.weekday,a=nM(nS(s,1,t),i),l=nX(s),h=7*o+r-a-7+t;h<1?h+=nX(n=s-1):h>l?(n=s+1,h-=nX(s)):n=s;var c=nL(n,h),u=c.month,d=c.day;return ii({year:n,month:u,day:d},n8(e))}function nO(e){var t=e.year,i=e.month,n=e.day+(nJ(t)?nT:nx)[i-1];return ii({year:t,ordinal:n},n8(e))}function nD(e){var t=e.year,i=nL(t,e.ordinal),n=i.month,s=i.day;return ii({year:t,month:n,day:s},n8(e))}function nz(e,t){if(!(!nF(e.localWeekday)||!nF(e.localWeekNumber)||!nF(e.localWeekYear)))return{minDaysInFirstWeek:4,startOfWeek:1};if(!nF(e.weekday)||!nF(e.weekNumber)||!nF(e.weekYear))throw new ib("Cannot mix locale-based week fields with ISO-based week fields");return nF(e.localWeekday)||(e.weekday=e.localWeekday),nF(e.localWeekNumber)||(e.weekNumber=e.localWeekNumber),nF(e.localWeekYear)||(e.weekYear=e.localWeekYear),delete e.localWeekday,delete e.localWeekNumber,delete e.localWeekYear,{minDaysInFirstWeek:t.getMinDaysInFirstWeek(),startOfWeek:t.getStartOfWeek()}}function nA(e){var t=nH(e.year),i=nG(e.month,1,12),n=nG(e.day,1,nQ(e.year,e.month));return t?i?!n&&nk("day",e.day):nk("month",e.month):nk("year",e.year)}function nI(e){var t=e.hour,i=e.minute,n=e.second,s=e.millisecond,o=nG(t,0,23)||24===t&&0===i&&0===n&&0===s,r=nG(i,0,59),a=nG(n,0,59),l=nG(s,0,999);return o?r?a?!l&&nk("millisecond",s):nk("second",n):nk("minute",i):nk("hour",t)}function nF(e){return void 0===e}function nN(e){return"number"==typeof e}function nH(e){return"number"==typeof e&&e%1==0}function nB(){try{return"undefined"!=typeof Intl&&!!Intl.RelativeTimeFormat}catch(e){return!1}}function nj(){try{return"undefined"!=typeof Intl&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch(e){return!1}}function nV(e,t,i){if(0!==e.length)return e.reduce(function(e,n){var s=[t(n),n];return e&&i(e[0],s[0])===e[0]?e:s},null)[1]}function nW(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function nZ(e){if(null==e)return null;if("object"!=typeof e)throw new iy("Week settings must be an object");if(!nG(e.firstDay,1,7)||!nG(e.minimalDays,1,7)||!Array.isArray(e.weekend)||e.weekend.some(function(e){return!nG(e,1,7)}))throw new iy("Invalid week settings");return{firstDay:e.firstDay,minimalDays:e.minimalDays,weekend:Array.from(e.weekend)}}function nG(e,t,i){return nH(e)&&e>=t&&e<=i}function nU(e,t){return void 0===t&&(t=2),e<0?"-"+(""+-e).padStart(t,"0"):(""+e).padStart(t,"0")}function nq(e){if(!nF(e)&&null!==e&&""!==e)return parseInt(e,10)}function nK(e){if(!nF(e)&&null!==e&&""!==e)return parseFloat(e)}function nY(e){if(!nF(e)&&null!==e&&""!==e)return Math.floor(1e3*parseFloat("0."+e))}function n$(e,t,i){void 0===i&&(i=!1);var n=Math.pow(10,t);return(i?Math.trunc:Math.round)(e*n)/n}function nJ(e){return e%4==0&&(e%100!=0||e%400==0)}function nX(e){return nJ(e)?366:365}function nQ(e,t){var i,n=(i=t-1)-12*Math.floor(i/12)+1;return 2===n?nJ(e+(t-n)/12)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][n-1]}function n0(e){var t=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond);return e.year<100&&e.year>=0&&(t=new Date(t)).setUTCFullYear(e.year,e.month-1,e.day),+t}function n1(e,t,i){return-nM(nS(e,1,t),i)+t-1}function n2(e,t,i){void 0===t&&(t=4),void 0===i&&(i=1);var n=n1(e,t,i),s=n1(e+1,t,i);return(nX(e)-n+s)/7}function n3(e){return e>99?e:e>nC.twoDigitCutoffYear?1900+e:2e3+e}function n4(e,t,i,n){void 0===n&&(n=null);var s=new Date(e),o={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(o.timeZone=n);var r=ii({timeZoneName:t},o),a=new Intl.DateTimeFormat(i,r).formatToParts(s).find(function(e){return"timezonename"===e.type.toLowerCase()});return a?a.value:null}function n6(e,t){var i=parseInt(e,10);Number.isNaN(i)&&(i=0);var n=parseInt(t,10)||0,s=i<0||Object.is(i,-0)?-n:n;return 60*i+s}function n5(e){var t=Number(e);if("boolean"==typeof e||""===e||Number.isNaN(t))throw new iy("Invalid unit value "+e);return t}function n9(e,t){var i={};for(var n in e)if(nW(e,n)){var s=e[n];if(null==s)continue;i[t(n)]=n5(s)}return i}function n7(e,t){var i=Math.trunc(Math.abs(e/60)),n=Math.trunc(Math.abs(e%60)),s=e>=0?"+":"-";switch(t){case"short":return""+s+nU(i,2)+":"+nU(n,2);case"narrow":return""+s+i+(n>0?":"+n:"");case"techie":return""+s+nU(i,2)+nU(n,2);default:throw RangeError("Value format "+t+" is out of range for property format")}}function n8(e){return["hour","minute","second","millisecond"].reduce(function(t,i){return t[i]=e[i],t},{})}var se=["January","February","March","April","May","June","July","August","September","October","November","December"],st=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],si=["J","F","M","A","M","J","J","A","S","O","N","D"];function sn(e){switch(e){case"narrow":return[].concat(si);case"short":return[].concat(st);case"long":return[].concat(se);case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var ss=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],so=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],sr=["M","T","W","T","F","S","S"];function sa(e){switch(e){case"narrow":return[].concat(sr);case"short":return[].concat(so);case"long":return[].concat(ss);case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var sl=["AM","PM"],sh=["Before Christ","Anno Domini"],sc=["BC","AD"],su=["B","A"];function sd(e){switch(e){case"narrow":return[].concat(su);case"short":return[].concat(sc);case"long":return[].concat(sh);default:return null}}function sm(e,t){for(var i,n="",s=iu(e);!(i=s()).done;){var o=i.value;o.literal?n+=o.val:n+=t(o.val)}return n}var sp={D:ix,DD:iT,DDD:iS,DDDD:iL,t:iM,tt:iR,ttt:iP,tttt:iO,T:iD,TT:iz,TTT:iA,TTTT:iI,f:iF,ff:iH,fff:iV,ffff:iZ,F:iN,FF:iB,FFF:iW,FFFF:iG},sf=function(){function e(e,t){this.opts=t,this.loc=e,this.systemLoc=null}e.create=function(t,i){return void 0===i&&(i={}),new e(t,i)},e.parseFormat=function(e){for(var t=null,i="",n=!1,s=[],o=0;o0&&s.push({literal:n||/^\s+$/.test(i),val:i}),t=null,i="",n=!n):n?i+=r:r===t?i+=r:(i.length>0&&s.push({literal:/^\s+$/.test(i),val:i}),i=r,t=r)}return i.length>0&&s.push({literal:n||/^\s+$/.test(i),val:i}),s},e.macroTokenToFormatOpts=function(e){return sp[e]};var t=e.prototype;return t.formatWithSystemDefault=function(e,t){return null===this.systemLoc&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,ii({},this.opts,t)).format()},t.dtFormatter=function(e,t){return void 0===t&&(t={}),this.loc.dtFormatter(e,ii({},this.opts,t))},t.formatDateTime=function(e,t){return this.dtFormatter(e,t).format()},t.formatDateTimeParts=function(e,t){return this.dtFormatter(e,t).formatToParts()},t.formatInterval=function(e,t){return this.dtFormatter(e.start,t).dtf.formatRange(e.start.toJSDate(),e.end.toJSDate())},t.resolvedOptions=function(e,t){return this.dtFormatter(e,t).resolvedOptions()},t.num=function(e,t){if(void 0===t&&(t=0),this.opts.forceSimple)return nU(e,t);var i=ii({},this.opts);return t>0&&(i.padTo=t),this.loc.numberFormatter(i).format(e)},t.formatDateTimeFromString=function(t,i){var n=this,s="en"===this.loc.listingMode(),o=this.loc.outputCalendar&&"gregory"!==this.loc.outputCalendar,r=function(e,i){return n.loc.extract(t,e,i)},a=function(e){return t.isOffsetFixed&&0===t.offset&&e.allowZ?"Z":t.isValid?t.zone.formatOffset(t.ts,e.format):""},l=function(e,i){return s?sn(e)[t.month-1]:r(i?{month:e}:{month:e,day:"numeric"},"month")},h=function(e,i){return s?sa(e)[t.weekday-1]:r(i?{weekday:e}:{weekday:e,month:"long",day:"numeric"},"weekday")},c=function(i){var s=e.macroTokenToFormatOpts(i);return s?n.formatWithSystemDefault(t,s):i},u=function(e){return s?sd(e)[t.year<0?0:1]:r({era:e},"era")};return sm(e.parseFormat(i),function(e){switch(e){case"S":return n.num(t.millisecond);case"u":case"SSS":return n.num(t.millisecond,3);case"s":return n.num(t.second);case"ss":return n.num(t.second,2);case"uu":return n.num(Math.floor(t.millisecond/10),2);case"uuu":return n.num(Math.floor(t.millisecond/100));case"m":return n.num(t.minute);case"mm":return n.num(t.minute,2);case"h":return n.num(t.hour%12==0?12:t.hour%12);case"hh":return n.num(t.hour%12==0?12:t.hour%12,2);case"H":return n.num(t.hour);case"HH":return n.num(t.hour,2);case"Z":return a({format:"narrow",allowZ:n.opts.allowZ});case"ZZ":return a({format:"short",allowZ:n.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:n.opts.allowZ});case"ZZZZ":return t.zone.offsetName(t.ts,{format:"short",locale:n.loc.locale});case"ZZZZZ":return t.zone.offsetName(t.ts,{format:"long",locale:n.loc.locale});case"z":return t.zoneName;case"a":return s?sl[t.hour<12?0:1]:r({hour:"numeric",hourCycle:"h12"},"dayperiod");case"d":return o?r({day:"numeric"},"day"):n.num(t.day);case"dd":return o?r({day:"2-digit"},"day"):n.num(t.day,2);case"c":case"E":return n.num(t.weekday);case"ccc":return h("short",!0);case"cccc":return h("long",!0);case"ccccc":return h("narrow",!0);case"EEE":return h("short",!1);case"EEEE":return h("long",!1);case"EEEEE":return h("narrow",!1);case"L":return o?r({month:"numeric",day:"numeric"},"month"):n.num(t.month);case"LL":return o?r({month:"2-digit",day:"numeric"},"month"):n.num(t.month,2);case"LLL":return l("short",!0);case"LLLL":return l("long",!0);case"LLLLL":return l("narrow",!0);case"M":return o?r({month:"numeric"},"month"):n.num(t.month);case"MM":return o?r({month:"2-digit"},"month"):n.num(t.month,2);case"MMM":return l("short",!1);case"MMMM":return l("long",!1);case"MMMMM":return l("narrow",!1);case"y":return o?r({year:"numeric"},"year"):n.num(t.year);case"yy":return o?r({year:"2-digit"},"year"):n.num(t.year.toString().slice(-2),2);case"yyyy":return o?r({year:"numeric"},"year"):n.num(t.year,4);case"yyyyyy":return o?r({year:"numeric"},"year"):n.num(t.year,6);case"G":return u("short");case"GG":return u("long");case"GGGGG":return u("narrow");case"kk":return n.num(t.weekYear.toString().slice(-2),2);case"kkkk":return n.num(t.weekYear,4);case"W":return n.num(t.weekNumber);case"WW":return n.num(t.weekNumber,2);case"n":return n.num(t.localWeekNumber);case"nn":return n.num(t.localWeekNumber,2);case"ii":return n.num(t.localWeekYear.toString().slice(-2),2);case"iiii":return n.num(t.localWeekYear,4);case"o":return n.num(t.ordinal);case"ooo":return n.num(t.ordinal,3);case"q":return n.num(t.quarter);case"qq":return n.num(t.quarter,2);case"X":return n.num(Math.floor(t.ts/1e3));case"x":return n.num(t.ts);default:return c(e)}})},t.formatDurationFromString=function(t,i){var n,s=this,o=function(e){switch(e[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},r=e.parseFormat(i),a=r.reduce(function(e,t){var i=t.literal,n=t.val;return i?e:e.concat(n)},[]);return sm(r,(n=t.shiftTo.apply(t,a.map(o).filter(function(e){return e})),function(e){var t=o(e);return t?s.num(n.get(t),e.length):e}))},e}(),sg=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function sb(){for(var e=arguments.length,t=Array(e),i=0;i1?t-1:0),n=1;n3?ss.indexOf(e)+1:so.indexOf(e)+1),a}var sN=/^(?:(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\d)(\d\d)))$/;function sH(e){var t=e[1],i=e[2],n=e[3],s=e[4],o=e[5],r=e[6],a=e[7],l=e[8],h=e[9],c=e[10],u=e[11];return[sF(t,s,n,i,o,r,a),new no(l?sI[l]:h?0:n6(c,u))]}var sB=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,sj=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,sV=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function sW(e){var t=e[1],i=e[2],n=e[3];return[sF(t,e[4],n,i,e[5],e[6],e[7]),no.utcInstance]}function sZ(e){var t=e[1],i=e[2],n=e[3],s=e[4],o=e[5],r=e[6];return[sF(t,e[7],i,n,s,o,r),no.utcInstance]}var sG=sb(/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,sx),sU=sb(/(\d{4})-?W(\d\d)(?:-?(\d))?/,sx),sq=sb(/(\d{4})-?(\d{3})/,sx),sK=sb(sE),sY=sv(function(e,t){return[{year:sM(e,t),month:sM(e,t+1,1),day:sM(e,t+2,1)},null,t+3]},sR,sP,sO),s$=sv(sT,sR,sP,sO),sJ=sv(sk,sR,sP,sO),sX=sv(sR,sP,sO),sQ=sv(sR),s0=sb(/(\d{4})-(\d\d)-(\d\d)/,sL),s1=sb(sS),s2=sv(sR,sP,sO),s3="Invalid Duration",s4={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:6048e5},days:{hours:24,minutes:1440,seconds:86400,milliseconds:864e5},hours:{minutes:60,seconds:3600,milliseconds:36e5},minutes:{seconds:60,milliseconds:6e4},seconds:{milliseconds:1e3}},s6=ii({years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536e3,milliseconds:31536e6},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:78624e5},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592e3,milliseconds:2592e6}},s4),s5=ii({years:{quarters:4,months:12,weeks:52.1775,days:365.2425,hours:8765.82,minutes:525949.2,seconds:0x1e18558,milliseconds:31556952e3},quarters:{months:3,weeks:13.044375,days:91.310625,hours:2191.455,minutes:131487.3,seconds:7889238,milliseconds:7889238e3},months:{weeks:30.436875/7,days:30.436875,hours:730.485,minutes:43829.1,seconds:2629746,milliseconds:2629746e3}},s4),s9=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],s7=s9.slice(0).reverse();function s8(e,t,i){return void 0===i&&(i=!1),new oi({values:i?t.values:ii({},e.values,t.values||{}),loc:e.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||e.conversionAccuracy,matrix:t.matrix||e.matrix})}function oe(e,t){for(var i,n,s=null!=(i=t.milliseconds)?i:0,o=iu(s7.slice(1));!(n=o()).done;){var r=n.value;t[r]&&(s+=t[r]*e[r].milliseconds)}return s}function ot(e,t){var i=0>oe(e,t)?-1:1;s9.reduceRight(function(n,s){if(nF(t[s]))return n;if(n){var o=t[n]*i,r=e[s][n],a=Math.floor(o/r);t[s]+=a*i,t[n]-=a*r*i}return s},null),s9.reduce(function(i,n){if(nF(t[n]))return i;if(i){var s=t[i]%1;t[i]-=s,t[n]+=s*e[i][n]}return n},null)}var oi=function(e){function t(e){var t="longterm"===e.conversionAccuracy,i=t?s5:s6;e.matrix&&(i=e.matrix),this.values=e.values,this.loc=e.loc||nn.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=i,this.isLuxonDuration=!0}t.fromMillis=function(e,i){return t.fromObject({milliseconds:e},i)},t.fromObject=function(e,i){if(void 0===i&&(i={}),null==e||"object"!=typeof e)throw new iy("Duration.fromObject: argument expected to be an object, got "+(null===e?"null":typeof e));return new t({values:n9(e,t.normalizeUnit),loc:nn.fromObject(i),conversionAccuracy:i.conversionAccuracy,matrix:i.matrix})},t.fromDurationLike=function(e){if(nN(e))return t.fromMillis(e);if(t.isDuration(e))return e;if("object"==typeof e)return t.fromObject(e);throw new iy("Unknown duration argument "+e+" of type "+typeof e)},t.fromISO=function(e,i){var n=sy(e,[sz,sA])[0];return n?t.fromObject(n,i):t.invalid("unparsable",'the input "'+e+"\" can't be parsed as ISO 8601")},t.fromISOTime=function(e,i){var n=sy(e,[sD,sQ])[0];return n?t.fromObject(n,i):t.invalid("unparsable",'the input "'+e+"\" can't be parsed as ISO 8601")},t.invalid=function(e,i){if(void 0===i&&(i=null),!e)throw new iy("need to specify a reason the Duration is invalid");var n=e instanceof nE?e:new nE(e,i);if(!nC.throwOnInvalid)return new t({invalid:n});throw new ig(n)},t.normalizeUnit=function(e){var t={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e?e.toLowerCase():e];if(!t)throw new iv(e);return t},t.isDuration=function(e){return e&&e.isLuxonDuration||!1};var i=t.prototype;return i.toFormat=function(e,t){void 0===t&&(t={});var i=ii({},t,{floor:!1!==t.round&&!1!==t.floor});return this.isValid?sf.create(this.loc,i).formatDurationFromString(this,e):s3},i.toHuman=function(e){var t=this;if(void 0===e&&(e={}),!this.isValid)return s3;var i=s9.map(function(i){var n=t.values[i];return nF(n)?null:t.loc.numberFormatter(ii({style:"unit",unitDisplay:"long"},e,{unit:i.slice(0,-1)})).format(n)}).filter(function(e){return e});return this.loc.listFormatter(ii({type:"conjunction",style:e.listStyle||"narrow"},e)).format(i)},i.toObject=function(){return this.isValid?ii({},this.values):{}},i.toISO=function(){if(!this.isValid)return null;var e="P";return 0!==this.years&&(e+=this.years+"Y"),(0!==this.months||0!==this.quarters)&&(e+=this.months+3*this.quarters+"M"),0!==this.weeks&&(e+=this.weeks+"W"),0!==this.days&&(e+=this.days+"D"),(0!==this.hours||0!==this.minutes||0!==this.seconds||0!==this.milliseconds)&&(e+="T"),0!==this.hours&&(e+=this.hours+"H"),0!==this.minutes&&(e+=this.minutes+"M"),(0!==this.seconds||0!==this.milliseconds)&&(e+=n$(this.seconds+this.milliseconds/1e3,3)+"S"),"P"===e&&(e+="T0S"),e},i.toISOTime=function(e){if(void 0===e&&(e={}),!this.isValid)return null;var t=this.toMillis();return t<0||t>=864e5?null:(e=ii({suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended"},e,{includeOffset:!1}),oZ.fromMillis(t,{zone:"UTC"}).toISOTime(e))},i.toJSON=function(){return this.toISO()},i.toString=function(){return this.toISO()},i[e]=function(){return this.isValid?"Duration { values: "+JSON.stringify(this.values)+" }":"Duration { Invalid, reason: "+this.invalidReason+" }"},i.toMillis=function(){return this.isValid?oe(this.matrix,this.values):NaN},i.valueOf=function(){return this.toMillis()},i.plus=function(e){if(!this.isValid)return this;for(var i=t.fromDurationLike(e),n={},s=0;s=0){e=h;var c=0;for(var u in r)c+=this.matrix[u][h]*r[u],r[u]=0;nN(a[h])&&(c+=a[h]);var d=Math.trunc(c);o[h]=d,r[h]=(1e3*c-1e3*d)/1e3}else nN(a[h])&&(r[h]=a[h])}for(var m in r)0!==r[m]&&(o[e]+=m===e?r[m]:r[m]/this.matrix[e][m]);return ot(this.matrix,o),s8(this,{values:o},!0)},i.shiftToAll=function(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this},i.negate=function(){if(!this.isValid)return this;for(var e={},t=0,i=Object.keys(this.values);te},i.isBefore=function(e){return!!this.isValid&&this.e<=e},i.contains=function(e){return!!this.isValid&&this.s<=e&&this.e>e},i.set=function(e){var i=void 0===e?{}:e,n=i.start,s=i.end;return this.isValid?t.fromDateTimes(n||this.s,s||this.e):this},i.splitAt=function(){var e=this;if(!this.isValid)return[];for(var i=arguments.length,n=Array(i),s=0;s+this.e?this.e:h;r.push(t.fromDateTimes(a,c)),a=c,l+=1}return r},i.splitBy=function(e){var i=oi.fromDurationLike(e);if(!this.isValid||!i.isValid||0===i.as("milliseconds"))return[];for(var n,s=this.s,o=1,r=[];s+this.e?this.e:a,r.push(t.fromDateTimes(s,n)),s=n,o+=1}return r},i.divideEqually=function(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]},i.overlaps=function(e){return this.e>e.s&&this.s=e.e},i.equals=function(e){return!!this.isValid&&!!e.isValid&&this.s.equals(e.s)&&this.e.equals(e.e)},i.intersection=function(e){if(!this.isValid)return this;var i=this.s>e.s?this.s:e.s,n=this.e=n?null:t.fromDateTimes(i,n)},i.union=function(e){if(!this.isValid)return this;var i=this.se.e?this.e:e.e;return t.fromDateTimes(i,n)},t.merge=function(e){var t=e.sort(function(e,t){return e.s-t.s}).reduce(function(e,t){var i=e[0],n=e[1];return n?n.overlaps(t)||n.abutsStart(t)?[i,n.union(t)]:[i.concat([n]),t]:[i,t]},[[],null]),i=t[0],n=t[1];return n&&i.push(n),i},t.xor=function(e){for(var i,n,s=null,o=0,r=[],a=e.map(function(e){return[{time:e.s,type:"s"},{time:e.e,type:"e"}]}),l=(i=Array.prototype).concat.apply(i,a).sort(function(e,t){return e.time-t.time}),h=iu(l);!(n=h()).done;){var c=n.value;1===(o+="s"===c.type?1:-1)?s=c.time:(s&&+s!=+c.time&&r.push(t.fromDateTimes(s,c.time)),s=null)}return t.merge(r)},i.difference=function(){for(var e=this,i=arguments.length,n=Array(i),s=0;s=r&&n<=a&&(t+=n-r)}}return parseInt(t,10)}(i))}}}var ol="[ "+String.fromCharCode(160)+"]",oh=RegExp(ol,"g");function oc(e){return e.replace(/\./g,"\\.?").replace(oh,ol)}function ou(e){return e.replace(/\./g,"").replace(oh," ").toLowerCase()}function od(e,t){return null===e?null:{regex:RegExp(e.map(oc).join("|")),deser:function(i){var n=i[0];return e.findIndex(function(e){return ou(n)===ou(e)})+t}}}function om(e,t){return{regex:e,deser:function(e){return n6(e[1],e[2])},groups:t}}function op(e){return{regex:e,deser:function(e){return e[0]}}}var of={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}},og=null;function ob(e,t){var i;return(i=Array.prototype).concat.apply(i,e.map(function(e){return function(e,t){if(e.literal)return e;var i=ow(sf.macroTokenToFormatOpts(e.val),t);return null==i||i.includes(void 0)?e:i}(e,t)}))}var ov=function(){function e(e,t){if(this.locale=e,this.format=t,this.tokens=ob(sf.parseFormat(t),e),this.units=this.tokens.map(function(t){var i,n,s,o,r,a,l,h,c,u,d,m,p;return i=nd(e),n=nd(e,"{2}"),s=nd(e,"{3}"),o=nd(e,"{4}"),r=nd(e,"{6}"),a=nd(e,"{1,2}"),l=nd(e,"{1,3}"),h=nd(e,"{1,6}"),c=nd(e,"{1,9}"),u=nd(e,"{2,4}"),d=nd(e,"{4,6}"),m=function(e){return{regex:RegExp(e.val.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")),deser:function(e){return e[0]},literal:!0}},(p=function(p){if(t.literal)return m(p);switch(p.val){case"G":return od(e.eras("short"),0);case"GG":return od(e.eras("long"),0);case"y":return oa(h);case"yy":case"kk":return oa(u,n3);case"yyyy":case"kkkk":return oa(o);case"yyyyy":return oa(d);case"yyyyyy":return oa(r);case"M":case"L":case"d":case"H":case"h":case"m":case"q":case"s":case"W":return oa(a);case"MM":case"LL":case"dd":case"HH":case"hh":case"mm":case"qq":case"ss":case"WW":return oa(n);case"MMM":return od(e.months("short",!0),1);case"MMMM":return od(e.months("long",!0),1);case"LLL":return od(e.months("short",!1),1);case"LLLL":return od(e.months("long",!1),1);case"o":case"S":return oa(l);case"ooo":case"SSS":return oa(s);case"u":return op(c);case"uu":return op(a);case"uuu":case"E":case"c":return oa(i);case"a":return od(e.meridiems(),0);case"EEE":return od(e.weekdays("short",!1),1);case"EEEE":return od(e.weekdays("long",!1),1);case"ccc":return od(e.weekdays("short",!0),1);case"cccc":return od(e.weekdays("long",!0),1);case"Z":case"ZZ":return om(RegExp("([+-]"+a.source+")(?::("+n.source+"))?"),2);case"ZZZ":return om(RegExp("([+-]"+a.source+")("+n.source+")?"),2);case"z":return op(/[a-z_+-/]{1,256}?/i);case" ":return op(/[^\S\n\r]/);default:return m(p)}}(t)||{invalidReason:"missing Intl.DateTimeFormat.formatToParts support"}).token=t,p}),this.disqualifyingUnit=this.units.find(function(e){return e.invalidReason}),!this.disqualifyingUnit){var i,n=["^"+(i=this.units).map(function(e){return e.regex}).reduce(function(e,t){return e+"("+t.source+")"},"")+"$",i],s=n[0],o=n[1];this.regex=RegExp(s,"i"),this.handlers=o}}return e.prototype.explainFromTokens=function(e){if(!this.isValid)return{input:e,tokens:this.tokens,invalidReason:this.invalidReason};var t,i,n,s=function(e,t,i){var n=e.match(t);if(!n)return[n,{}];var s={},o=1;for(var r in i)if(nW(i,r)){var a=i[r],l=a.groups?a.groups+1:1;!a.literal&&a.token&&(s[a.token.val[0]]=a.deser(n.slice(o,o+l))),o+=l}return[n,s]}(e,this.regex,this.handlers),o=s[0],r=s[1],a=r?(i=function(e){switch(e){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},n=null,nF(r.z)||(n=iX.create(r.z)),nF(r.Z)||(n||(n=new no(r.Z)),t=r.Z),nF(r.q)||(r.M=(r.q-1)*3+1),nF(r.h)||(r.h<12&&1===r.a?r.h+=12:12!==r.h||0!==r.a||(r.h=0)),0===r.G&&r.y&&(r.y=-r.y),nF(r.u)||(r.S=nY(r.u)),[Object.keys(r).reduce(function(e,t){var n=i(t);return n&&(e[n]=r[t]),e},{}),n,t]):[null,null,void 0],l=a[0],h=a[1],c=a[2];if(nW(r,"a")&&nW(r,"H"))throw new ib("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:this.tokens,regex:this.regex,rawMatches:o,matches:r,result:l,zone:h,specificOffset:c}},it(e,[{key:"isValid",get:function(){return!this.disqualifyingUnit}},{key:"invalidReason",get:function(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}}]),e}();function oy(e,t,i){return new ov(e,i).explainFromTokens(t)}function ow(e,t){if(!e)return null;var i=sf.create(t,e).dtFormatter((og||(og=oZ.fromMillis(0x16a2e5618e3)),og)),n=i.formatToParts(),s=i.resolvedOptions();return n.map(function(t){return function(e,t,i){var n=e.type,s=e.value;if("literal"===n){var o=/^\s+$/.test(s);return{literal:!o,val:o?" ":s}}var r=t[n],a=n;"hour"===n&&(a=null!=t.hour12?t.hour12?"hour12":"hour24":null!=t.hourCycle?"h11"===t.hourCycle||"h12"===t.hourCycle?"hour12":"hour24":i.hour12?"hour12":"hour24");var l=of[a];if("object"==typeof l&&(l=l[r]),l)return{literal:!1,val:l}}(t,e,s)})}var o_="Invalid DateTime";function oC(e){return new nE("unsupported zone",'the zone "'+e.name+'" is not supported')}function oE(e){return null===e.weekData&&(e.weekData=nR(e.c)),e.weekData}function ox(e){return null===e.localWeekData&&(e.localWeekData=nR(e.c,e.loc.getMinDaysInFirstWeek(),e.loc.getStartOfWeek())),e.localWeekData}function oT(e,t){var i={ts:e.ts,zone:e.zone,c:e.c,o:e.o,loc:e.loc,invalid:e.invalid};return new oZ(ii({},i,t,{old:i}))}function ok(e,t,i){var n=e-6e4*t,s=i.offset(n);if(t===s)return[n,t];n-=(s-t)*6e4;var o=i.offset(n);return s===o?[n,s]:[e-6e4*Math.min(s,o),Math.max(s,o)]}function oS(e,t){var i=new Date(e+=6e4*t);return{year:i.getUTCFullYear(),month:i.getUTCMonth()+1,day:i.getUTCDate(),hour:i.getUTCHours(),minute:i.getUTCMinutes(),second:i.getUTCSeconds(),millisecond:i.getUTCMilliseconds()}}function oL(e,t){var i=e.o,n=e.c.year+Math.trunc(t.years),s=e.c.month+Math.trunc(t.months)+3*Math.trunc(t.quarters),o=ii({},e.c,{year:n,month:s,day:Math.min(e.c.day,nQ(n,s))+Math.trunc(t.days)+7*Math.trunc(t.weeks)}),r=oi.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),a=ok(n0(o),i,e.zone),l=a[0],h=a[1];return 0!==r&&(l+=r,h=e.zone.offset(l)),{ts:l,o:h}}function oM(e,t,i,n,s,o){var r=i.setZone,a=i.zone;if((!e||0===Object.keys(e).length)&&!t)return oZ.invalid(new nE("unparsable",'the input "'+s+"\" can't be parsed as "+n));var l=oZ.fromObject(e,ii({},i,{zone:t||a,specificOffset:o}));return r?l:l.setZone(a)}function oR(e,t,i){return void 0===i&&(i=!0),e.isValid?sf.create(nn.create("en-US"),{allowZ:i,forceSimple:!0}).formatDateTimeFromString(e,t):null}function oP(e,t){var i=e.c.year>9999||e.c.year<0,n="";return i&&e.c.year>=0&&(n+="+"),n+=nU(e.c.year,i?6:4),t?(n+="-",n+=nU(e.c.month),n+="-"):n+=nU(e.c.month),n+=nU(e.c.day)}function oO(e,t,i,n,s,o){var r=nU(e.c.hour);return t?(r+=":",r+=nU(e.c.minute),0===e.c.millisecond&&0===e.c.second&&i||(r+=":")):r+=nU(e.c.minute),0===e.c.millisecond&&0===e.c.second&&i||(r+=nU(e.c.second),0===e.c.millisecond&&n||(r+=".",r+=nU(e.c.millisecond,3))),s&&(e.isOffsetFixed&&0===e.offset&&!o?r+="Z":e.o<0?(r+="-",r+=nU(Math.trunc(-e.o/60)),r+=":",r+=nU(Math.trunc(-e.o%60))):(r+="+",r+=nU(Math.trunc(e.o/60)),r+=":",r+=nU(Math.trunc(e.o%60)))),o&&(r+="["+e.zone.ianaName+"]"),r}var oD={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},oz={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},oA={ordinal:1,hour:0,minute:0,second:0,millisecond:0},oI=["year","month","day","hour","minute","second","millisecond"],oF=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],oN=["year","ordinal","hour","minute","second","millisecond"];function oH(e){switch(e.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return function(e){var t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[e.toLowerCase()];if(!t)throw new iv(e);return t}(e)}}function oB(e,t){var i,n,o=na(t.zone,nC.defaultZone);if(!o.isValid)return oZ.invalid(oC(o));var r=nn.fromObject(t);if(nF(e.year))i=nC.now();else{for(var a=0;a=1)return s(h,l)}return s(e>t?-0:0,i.units[i.units.length-1])}function oV(e){var t,i={};return e.length>0&&"object"==typeof e[e.length-1]?(i=e[e.length-1],t=Array.from(e).slice(0,e.length-1)):t=Array.from(e),[i,t]}var oW={},oZ=function(e){function t(e){var t=e.zone||nC.defaultZone,i=e.invalid||(Number.isNaN(e.ts)?new nE("invalid input"):null)||(t.isValid?null:oC(t));this.ts=nF(e.ts)?nC.now():e.ts;var n=null,s=null;if(!i){if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t)){var o=[e.old.c,e.old.o];n=o[0],s=o[1]}else{var r=nN(e.o)&&!e.old?e.o:t.offset(this.ts);n=(i=Number.isNaN((n=oS(this.ts,r)).year)?new nE("invalid input"):null)?null:n,s=i?null:r}}this._zone=t,this.loc=e.loc||nn.create(),this.invalid=i,this.weekData=null,this.localWeekData=null,this.c=n,this.o=s,this.isLuxonDateTime=!0}t.now=function(){return new t({})},t.local=function(){var e=oV(arguments),t=e[0],i=e[1];return oB({year:i[0],month:i[1],day:i[2],hour:i[3],minute:i[4],second:i[5],millisecond:i[6]},t)},t.utc=function(){var e=oV(arguments),t=e[0],i=e[1],n=i[0],s=i[1],o=i[2],r=i[3],a=i[4],l=i[5],h=i[6];return t.zone=no.utcInstance,oB({year:n,month:s,day:o,hour:r,minute:a,second:l,millisecond:h},t)},t.fromJSDate=function(e,i){void 0===i&&(i={});var n="[object Date]"===Object.prototype.toString.call(e)?e.valueOf():NaN;if(Number.isNaN(n))return t.invalid("invalid input");var s=na(i.zone,nC.defaultZone);return s.isValid?new t({ts:n,zone:s,loc:nn.fromObject(i)}):t.invalid(oC(s))},t.fromMillis=function(e,i){if(void 0===i&&(i={}),nN(e))return e<-864e13||e>864e13?t.invalid("Timestamp out of range"):new t({ts:e,zone:na(i.zone,nC.defaultZone),loc:nn.fromObject(i)});throw new iy("fromMillis requires a numerical input, but received a "+typeof e+" with value "+e)},t.fromSeconds=function(e,i){if(void 0===i&&(i={}),nN(e))return new t({ts:1e3*e,zone:na(i.zone,nC.defaultZone),loc:nn.fromObject(i)});throw new iy("fromSeconds requires a numerical input")},t.fromObject=function(e,i){void 0===i&&(i={}),e=e||{};var n,s,o,r,a,l,h,c=na(i.zone,nC.defaultZone);if(!c.isValid)return t.invalid(oC(c));var u=nn.fromObject(i),d=n9(e,oH),m=nz(d,u),p=m.minDaysInFirstWeek,f=m.startOfWeek,g=nC.now(),b=nF(i.specificOffset)?c.offset(g):i.specificOffset,v=!nF(d.ordinal),y=!nF(d.year),w=!nF(d.month)||!nF(d.day),_=y||w,C=d.weekYear||d.weekNumber;if((_||v)&&C)throw new ib("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(w&&v)throw new ib("Can't mix ordinal dates with month/day");var E,x,T=C||d.weekday&&!_,k=oS(g,b);T?(E=oF,x=oz,k=nR(k,p,f)):v?(E=oN,x=oA,k=nO(k)):(E=oI,x=oD);for(var S,M=!1,R=iu(E);!(S=R()).done;){var P=S.value;nF(d[P])?M?d[P]=x[P]:d[P]=k[P]:M=!0}var O=(T?(void 0===(n=p)&&(n=4),void 0===(s=f)&&(s=1),o=nH(d.weekYear),r=nG(d.weekNumber,1,n2(d.weekYear,n,s)),a=nG(d.weekday,1,7),o?r?!a&&nk("weekday",d.weekday):nk("week",d.weekNumber):nk("weekYear",d.weekYear)):v?(l=nH(d.year),h=nG(d.ordinal,1,nX(d.year)),l?!h&&nk("ordinal",d.ordinal):nk("year",d.year)):nA(d))||nI(d);if(O)return t.invalid(O);var D=ok(n0(T?nP(d,p,f):v?nD(d):d),b,c),z=new t({ts:D[0],zone:c,o:D[1],loc:u});return d.weekday&&_&&e.weekday!==z.weekday?t.invalid("mismatched weekday","you can't specify both a weekday of "+d.weekday+" and a date of "+z.toISO()):z.isValid?z:t.invalid(z.invalid)},t.fromISO=function(e,t){void 0===t&&(t={});var i=sy(e,[sG,sY],[sU,s$],[sq,sJ],[sK,sX]);return oM(i[0],i[1],t,"ISO 8601",e)},t.fromRFC2822=function(e,t){void 0===t&&(t={});var i=sy(e.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim(),[sN,sH]);return oM(i[0],i[1],t,"RFC 2822",e)},t.fromHTTP=function(e,t){void 0===t&&(t={});var i=sy(e,[sB,sW],[sj,sW],[sV,sZ]);return oM(i[0],i[1],t,"HTTP",t)},t.fromFormat=function(e,i,n){if(void 0===n&&(n={}),nF(e)||nF(i))throw new iy("fromFormat requires an input string and a format");var s,o=n,r=o.locale,a=o.numberingSystem,l=[(s=oy(nn.fromOpts({locale:void 0===r?null:r,numberingSystem:void 0===a?null:a,defaultToEN:!0}),e,i)).result,s.zone,s.specificOffset,s.invalidReason],h=l[0],c=l[1],u=l[2],d=l[3];return d?t.invalid(d):oM(h,c,n,"format "+i,e,u)},t.fromString=function(e,i,n){return void 0===n&&(n={}),t.fromFormat(e,i,n)},t.fromSQL=function(e,t){void 0===t&&(t={});var i=sy(e,[s0,sY],[s1,s2]);return oM(i[0],i[1],t,"SQL",e)},t.invalid=function(e,i){if(void 0===i&&(i=null),!e)throw new iy("need to specify a reason the DateTime is invalid");var n=e instanceof nE?e:new nE(e,i);if(!nC.throwOnInvalid)return new t({invalid:n});throw new im(n)},t.isDateTime=function(e){return e&&e.isLuxonDateTime||!1},t.parseFormatForOpts=function(e,t){void 0===t&&(t={});var i=ow(e,nn.fromObject(t));return i?i.map(function(e){return e?e.val:null}).join(""):null},t.expandFormat=function(e,t){return void 0===t&&(t={}),ob(sf.parseFormat(e),nn.fromObject(t)).map(function(e){return e.val}).join("")},t.resetCache=function(){s=void 0,oW={}};var i=t.prototype;return i.get=function(e){return this[e]},i.getPossibleOffsets=function(){if(!this.isValid||this.isOffsetFixed)return[this];var e=n0(this.c),t=this.zone.offset(e-864e5),i=this.zone.offset(e+864e5),n=this.zone.offset(e-6e4*t),s=this.zone.offset(e-6e4*i);if(n===s)return[this];var o=e-6e4*n,r=e-6e4*s,a=oS(o,n),l=oS(r,s);return a.hour===l.hour&&a.minute===l.minute&&a.second===l.second&&a.millisecond===l.millisecond?[oT(this,{ts:o}),oT(this,{ts:r})]:[this]},i.resolvedLocaleOptions=function(e){void 0===e&&(e={});var t=sf.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t.locale,numberingSystem:t.numberingSystem,outputCalendar:t.calendar}},i.toUTC=function(e,t){return void 0===e&&(e=0),void 0===t&&(t={}),this.setZone(no.instance(e),t)},i.toLocal=function(){return this.setZone(nC.defaultZone)},i.setZone=function(e,i){var n=void 0===i?{}:i,s=n.keepLocalTime,o=n.keepCalendarTime;if((e=na(e,nC.defaultZone)).equals(this.zone))return this;if(!e.isValid)return t.invalid(oC(e));var r=this.ts;if(void 0!==s&&s||void 0!==o&&o){var a,l,h=e.offset(this.ts);r=(a=this.toObject(),l=e,ok(n0(a),h,l))[0]}return oT(this,{ts:r,zone:e})},i.reconfigure=function(e){var t=void 0===e?{}:e,i=t.locale,n=t.numberingSystem,s=t.outputCalendar;return oT(this,{loc:this.loc.clone({locale:i,numberingSystem:n,outputCalendar:s})})},i.setLocale=function(e){return this.reconfigure({locale:e})},i.set=function(e){if(!this.isValid)return this;var t,i,n,s,o=n9(e,oH),r=nz(o,this.loc),a=r.minDaysInFirstWeek,l=r.startOfWeek,h=!nF(o.weekYear)||!nF(o.weekNumber)||!nF(o.weekday),c=!nF(o.ordinal),u=!nF(o.year),d=!nF(o.month)||!nF(o.day),m=o.weekYear||o.weekNumber;if((u||d||c)&&m)throw new ib("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(d&&c)throw new ib("Can't mix ordinal dates with month/day");h?s=nP(ii({},nR(this.c,a,l),o),a,l):nF(o.ordinal)?(s=ii({},this.toObject(),o),nF(o.day)&&(s.day=Math.min(nQ(s.year,s.month),s.day))):s=nD(ii({},nO(this.c),o));var p=(t=s,i=this.o,n=this.zone,ok(n0(t),i,n));return oT(this,{ts:p[0],o:p[1]})},i.plus=function(e){return this.isValid?oT(this,oL(this,oi.fromDurationLike(e))):this},i.minus=function(e){return this.isValid?oT(this,oL(this,oi.fromDurationLike(e).negate())):this},i.startOf=function(e,t){var i=(void 0===t?{}:t).useLocaleWeeks;if(!this.isValid)return this;var n={},s=oi.normalizeUnit(e);switch(s){case"years":n.month=1;case"quarters":case"months":n.day=1;case"weeks":case"days":n.hour=0;case"hours":n.minute=0;case"minutes":n.second=0;case"seconds":n.millisecond=0}if("weeks"===s){if(void 0!==i&&i){var o=this.loc.getStartOfWeek();this.weekdaythis.valueOf(),b=g?this:e,v=g?e:this,y=(a=(r=function(e,t,i){for(var n,s,o=[["years",function(e,t){return t.year-e.year}],["quarters",function(e,t){return t.quarter-e.quarter+(t.year-e.year)*4}],["months",function(e,t){return t.month-e.month+(t.year-e.year)*12}],["weeks",function(e,t){var i=or(e,t);return(i-i%7)/7}],["days",or]],r={},a=e,l=0;l=0&&(n=c,r[c]=u(e,t),(s=a.plus(r))>t?(r[c]--,(e=a.plus(r))>t&&(s=e,r[c]--,e=a.plus(r))):e=s)}return[e,r,s,n]}(b,v,f))[0],l=r[1],h=r[2],c=r[3],u=v-a,0===(d=f.filter(function(e){return["hours","minutes","seconds","milliseconds"].indexOf(e)>=0})).length&&(h0?(o=oi.fromMillis(u,p)).shiftTo.apply(o,d).plus(m):m);return g?y.negate():y},i.diffNow=function(e,i){return void 0===e&&(e="milliseconds"),void 0===i&&(i={}),this.diff(t.now(),e,i)},i.until=function(e){return this.isValid?os.fromDateTimes(this,e):this},i.hasSame=function(e,t,i){if(!this.isValid)return!1;var n=e.valueOf(),s=this.setZone(e.zone,{keepLocalTime:!0});return s.startOf(t,i)<=n&&n<=s.endOf(t,i)},i.equals=function(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)},i.toRelative=function(e){if(void 0===e&&(e={}),!this.isValid)return null;var i=e.base||t.fromObject({},{zone:this.zone}),n=e.padding?thisthis.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset)}},{key:"isInLeapYear",get:function(){return nJ(this.year)}},{key:"daysInMonth",get:function(){return nQ(this.year,this.month)}},{key:"daysInYear",get:function(){return this.isValid?nX(this.year):NaN}},{key:"weeksInWeekYear",get:function(){return this.isValid?n2(this.weekYear):NaN}},{key:"weeksInLocalWeekYear",get:function(){return this.isValid?n2(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}}],[{key:"DATE_SHORT",get:function(){return ix}},{key:"DATE_MED",get:function(){return iT}},{key:"DATE_MED_WITH_WEEKDAY",get:function(){return ik}},{key:"DATE_FULL",get:function(){return iS}},{key:"DATE_HUGE",get:function(){return iL}},{key:"TIME_SIMPLE",get:function(){return iM}},{key:"TIME_WITH_SECONDS",get:function(){return iR}},{key:"TIME_WITH_SHORT_OFFSET",get:function(){return iP}},{key:"TIME_WITH_LONG_OFFSET",get:function(){return iO}},{key:"TIME_24_SIMPLE",get:function(){return iD}},{key:"TIME_24_WITH_SECONDS",get:function(){return iz}},{key:"TIME_24_WITH_SHORT_OFFSET",get:function(){return iA}},{key:"TIME_24_WITH_LONG_OFFSET",get:function(){return iI}},{key:"DATETIME_SHORT",get:function(){return iF}},{key:"DATETIME_SHORT_WITH_SECONDS",get:function(){return iN}},{key:"DATETIME_MED",get:function(){return iH}},{key:"DATETIME_MED_WITH_SECONDS",get:function(){return iB}},{key:"DATETIME_MED_WITH_WEEKDAY",get:function(){return ij}},{key:"DATETIME_FULL",get:function(){return iV}},{key:"DATETIME_FULL_WITH_SECONDS",get:function(){return iW}},{key:"DATETIME_HUGE",get:function(){return iZ}},{key:"DATETIME_HUGE_WITH_SECONDS",get:function(){return iG}}]),t}(Symbol.for("nodejs.util.inspect.custom"));function oG(e){if(oZ.isDateTime(e))return e;if(e&&e.valueOf&&nN(e.valueOf()))return oZ.fromJSDate(e);if(e&&"object"==typeof e)return oZ.fromObject(e);throw new iy("Unknown datetime argument: "+e+", of type "+typeof e)}t8.DateTime=oZ,t8.Duration=oi,t8.FixedOffsetZone=no,t8.IANAZone=iX,t8.Info=oo,t8.Interval=os,t8.InvalidZone=nr,t8.Settings=nC,t8.SystemZone=iK,t8.VERSION="3.5.0",t8.Zone=iU;class oU{raw;parsed;constructor(e){this.raw=e;let t=(0,t8.DateTime).fromISO(e);if(!t.isValid)throw Error(`Invalid date string: ${e}`);this.parsed=t}static fromNullable(e){return e?new this(e):null}format(){return 4===this.raw.length?this.raw:7===this.raw.length?this.parsed.toFormat("LLL yyyy"):this.parsed.toFormat("LLL d, yyyy")}preposition(){return 10===this.raw.length?"on":"in"}}const oq=["add parking maximums","reduce parking minimums","remove parking minimums"],oK=["adopted","proposed","repealed"],oY=new Set(["United States","United Kingdom","Netherlands"]),o$={AU:"Australia",AT:"Austria",BR:"Brazil",CA:"Canada",CH:"Switzerland",CK:"Cook Islands",CN:"China",DE:"Germany",DK:"Denmark",FI:"Finland",FR:"France",IE:"Ireland",IN:"India",IL:"Israel",IS:"Iceland",KR:"Korea",MX:"Mexico",NL:"Netherlands",NZ:"New Zealand",SE:"Sweden",SG:"Singapore",UK:"United Kingdom",US:"United States",ZA:"South Africa"};function oJ(e){return`https://parkingreform.org/mandates-map/city_detail/${e.replace(/ /g,"").replace(",","_")}.html`}function oX(e,t){let i=e=>!!e?.filter(e=>e.status===t).length,n=[];return i(e.add_max)&&n.push("add parking maximums"),i(e.reduce_min)&&n.push("reduce parking minimums"),i(e.rm_min)&&n.push("remove parking minimums"),n}function oQ(e){return{...e,date:oU.fromNullable(e.date)}}async function o0(){return Object.fromEntries(Object.entries(await h("55rID")).map(([e,t])=>[e,function(e,t){var i;let n={place:{...i=t.place,country:o$[i.country]??i.country,url:oJ(e)}};return t.add_max&&(n.add_max=t.add_max.map(oQ)),t.reduce_min&&(n.reduce_min=t.reduce_min.map(oQ)),t.rm_min&&(n.rm_min=t.rm_min.map(oQ)),n}(e,t)]))}function o1(e,t){return e.reduce((e,i,n)=>(t(i)&&e.push(n),e),[])}var o2=function(e,t){return e===t||e!=e&&t!=t},o3=function(e,t){for(var i=e.length;i--;)if(o2(e[i][0],t))return i;return -1},o4=Array.prototype.splice;function o6(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t-1},o6.prototype.set=function(e,t){var i=this.__data__,n=o3(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this};var o5=h("2mpFt"),o9=o5.default.Symbol,o7=Object.prototype,o8=o7.hasOwnProperty,re=o7.toString,rt=o9?o9.toStringTag:void 0,ri=function(e){var t=o8.call(e,rt),i=e[rt];try{e[rt]=void 0;var n=!0}catch(e){}var s=re.call(e);return n&&(t?e[rt]=i:delete e[rt]),s},rn=Object.prototype.toString,rs=o9?o9.toStringTag:void 0,ro=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":rs&&rs in Object(e)?ri(e):rn.call(e)},rr=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},ra=function(e){if(!rr(e))return!1;var t=ro(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},o5=h("2mpFt"),rl=o5.default["__core-js_shared__"],rh=(t=/[^.]+$/.exec(rl&&rl.keys&&rl.keys.IE_PROTO||""))?"Symbol(src)_1."+t:"",rc=Function.prototype.toString,ru=function(e){if(null!=e){try{return rc.call(e)}catch(e){}try{return e+""}catch(e){}}return""},rd=/^\[object .+?Constructor\]$/,rm=Object.prototype,rp=Function.prototype.toString,rf=rm.hasOwnProperty,rg=RegExp("^"+rp.call(rf).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),rb=function(e,t){var i,n=null==e?void 0:e[t];return rr(i=n)&&(!rh||!(rh in i))&&(ra(i)?rg:rd).test(ru(i))?n:void 0},o5=h("2mpFt"),rv=rb(o5.default,"Map"),ry=rb(Object,"create"),rw=Object.prototype.hasOwnProperty,r_=Object.prototype.hasOwnProperty;function rC(e){var t=-1,i=null==e?0:e.length;for(this.clear();++ta))return!1;var h=o.get(e),c=o.get(t);if(h&&c)return h==t&&c==e;var u=-1,d=!0,m=2&i?new rS:void 0;for(o.set(e,t),o.set(t,e);++u-1&&e%1==0&&e-1&&e%1==0&&e<=0x1fffffffffffff},r0={};r0["[object Float32Array]"]=r0["[object Float64Array]"]=r0["[object Int8Array]"]=r0["[object Int16Array]"]=r0["[object Int32Array]"]=r0["[object Uint8Array]"]=r0["[object Uint8ClampedArray]"]=r0["[object Uint16Array]"]=r0["[object Uint32Array]"]=!0,r0["[object Arguments]"]=r0["[object Array]"]=r0["[object ArrayBuffer]"]=r0["[object Boolean]"]=r0["[object DataView]"]=r0["[object Date]"]=r0["[object Error]"]=r0["[object Function]"]=r0["[object Map]"]=r0["[object Number]"]=r0["[object Object]"]=r0["[object RegExp]"]=r0["[object Set]"]=r0["[object String]"]=r0["[object WeakMap]"]=!1;var r1=h("lFXqE"),r2=r1.default&&r1.default.isTypedArray,r3=r2?function(e){return r2(e)}:function(e){return rZ(e)&&rQ(e.length)&&!!r0[ro(e)]},r4=Object.prototype.hasOwnProperty,r6=function(e,t){var i=rF(e),n=!i&&rY(e),s=!i&&!n&&(0,r$.default)(e),o=!i&&!n&&!s&&r3(e),r=i||n||s||o,a=r?rW(e.length,String):[],l=a.length;for(var h in e)(t||r4.call(e,h))&&!(r&&("length"==h||s&&("offset"==h||"parent"==h)||o&&("buffer"==h||"byteLength"==h||"byteOffset"==h)||rX(h,l)))&&a.push(h);return a},r5=Object.prototype,r9=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||r5)},r7=(i=Object.keys,n=Object,function(e){return i(n(e))}),r8=Object.prototype.hasOwnProperty,ae=function(e){if(!r9(e))return r7(e);var t=[];for(var i in Object(e))r8.call(e,i)&&"constructor"!=i&&t.push(i);return t},at=function(e){return null!=e&&rQ(e.length)&&!ra(e)?r6(e):ae(e)},ai=function(e){return rN(e,at,rV)},an=Object.prototype.hasOwnProperty,as=function(e,t,i,n,s,o){var r=1&i,a=ai(e),l=a.length;if(l!=ai(t).length&&!r)return!1;for(var h=l;h--;){var c=a[h];if(!(r?c in t:an.call(t,c)))return!1}var u=o.get(e),d=o.get(t);if(u&&d)return u==t&&d==e;var m=!0;o.set(e,t),o.set(t,e);for(var p=r;++h=aS[i][1]&&e.pop<=aS[n][1]}matchesLandUsePolicy(e,t){let i=this.state.getValue();return!!(e.status===i.status&&i.year.has(e.date?.parsed.year.toString()||"unknown")&&(t.ignoreScope||e.scope.some(e=>i.scope.has(e)))&&(t.ignoreLand||e.land.some(e=>i.landUse.has(e))))}getPlaceMatch(e){let t=this.state.getValue(),i=this.entries[e];if(t.searchInput)return t.searchInput===e?{type:"search"}:null;if(!this.matchesPlace(i.place))return null;if("any parking reform"===t.policyTypeFilter){let e=oX(i,t.status);return e.some(e=>t.includedPolicyChanges.has(e))?{type:"any",hasAddMax:e.includes("add parking maximums"),hasReduceMin:e.includes("reduce parking minimums"),hasRmMin:e.includes("remove parking minimums")}:null}if("add parking maximums"===t.policyTypeFilter){let e=o1(i.add_max??[],e=>this.matchesLandUsePolicy(e,{}));return e.length?{type:"single policy",policyType:"add parking maximums",matchingIndexes:e}:null}if("reduce parking minimums"===t.policyTypeFilter){let e=o1(i.reduce_min??[],e=>this.matchesLandUsePolicy(e,{}));return e.length?{type:"single policy",policyType:"reduce parking minimums",matchingIndexes:e}:null}if("remove parking minimums"===t.policyTypeFilter){let e=aR(t),n={ignoreScope:e,ignoreLand:e},s=o1(i.rm_min??[],e=>this.matchesLandUsePolicy(e,n));return s.length?{type:"single policy",policyType:"remove parking minimums",matchingIndexes:s}:null}throw Error("Unreachable code")}}function aO(e,t){e.outerContainer.hidden=t.hidden,e.accordionTitle.textContent=`${t.title}${t.supplementalTitle??""}`;let i=e.accordionButton.querySelector(".fa-chevron-up"),n=e.accordionButton.querySelector(".fa-chevron-down");i&&n&&(e.accordionButton.setAttribute("aria-expanded",t.expanded.toString()),e.contentContainer.hidden=!t.expanded,i.style.display=t.expanded?"block":"none",n.style.display=t.expanded?"none":"block")}function aD(e,t,i,n){let s=document.createElement("label");s.className="filter-checkbox",s.htmlFor=e;let o=document.createElement("input");o.type="checkbox",o.name=t,o.id=e,o.checked=i;let r=document.createElement("i");r.className="fa-regular fa-square",r.ariaHidden="true";let a=document.createElement("i");a.className="fa-solid fa-square-check",a.ariaHidden="true";let l=document.createElement("span");return l.textContent=n,s.appendChild(o),s.appendChild(r),s.appendChild(a),s.appendChild(l),[s,o]}function az(e){let t=document.createElement("div");t.className="filter-accordion";let i=`filter-accordion-toggle-${e}`,n=`filter-accordion-content-${e}`,s=`filter-accordion-title-${e}`,o=document.createElement("button");o.type="button",o.id=i,o.className="filter-accordion-toggle",o.ariaExpanded="false",o.setAttribute("aria-controls",n);let r=document.createElement("span");r.id=s,r.className="filter-accordion-title",o.appendChild(r);let a=document.createElement("div");a.className="filter-accordion-icon-container",a.ariaHidden="true";let l=document.createElement("i");l.className="fa-solid fa-chevron-down",l.title="expand option checkboxes";let h=document.createElement("i");h.className="fa-solid fa-chevron-up",h.title="collapse option checkboxes",a.appendChild(l),a.appendChild(h),o.appendChild(a),t.appendChild(o);let c=document.createElement("div");return c.id=n,c.className="filter-accordion-content",c.setAttribute("aria-describedby",s),t.appendChild(c),{outerContainer:t,accordionTitle:r,accordionButton:o,contentContainer:c}}const aA=aS.length-1;function aI(e){let[t,i]=e,n=aS[t][0],s=aS[i][0];return` (${n}-${s})`}function aF(e,t){let[i,n]=e;t.left.value=i.toString(),t.right.value=n.toString(),t.left.setAttribute("value",i.toString()),t.right.setAttribute("value",n.toString());let s=(n-i)/2,o=i+s,r=n-s;t.left.setAttribute("max",o.toString()),t.right.setAttribute("min",r.toString());let a=Math.round((t.controls.offsetWidth+12)/aS.length),l=o*a,h=(aA-r)*a;t.left.style.width=`${l+12}px`,t.right.style.width=`${h+12}px`,t.right.style.left=`${l+24}px`;let c=aS[i][0],u=aS[n][0];t.label.innerHTML=`${c} - ${u} residents`}var aN=function(e,t){for(var i=-1,n=null==e?0:e.length,s=Array(n);++is?0:s+t),(i=i>s?s:i)<0&&(i+=s),s=t>i?0:i-t>>>0,t>>>=0;for(var o=Array(s);++n=n?e:aZ(e,t,i)},aU=RegExp("[\\u200d\ud800-\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),aq=function(e){return aU.test(e)},aK="\ud800-\udfff",aY="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",a$="\ud83c[\udffb-\udfff]",aJ="[^"+aK+"]",aX="(?:\ud83c[\udde6-\uddff]){2}",aQ="[\ud800-\udbff][\udc00-\udfff]",a0="(?:"+aY+"|"+a$+")?",a1="[\\ufe0e\\ufe0f]?",a2="(?:\\u200d(?:"+[aJ,aX,aQ].join("|")+")"+a1+a0+")*",a3=RegExp(a$+"(?="+a$+")|(?:"+[aJ+aY+"?",aY,aX,aQ,"["+aK+"]"].join("|")+")"+(a1+a0+a2),"g"),a4=function(e){var t,i=aq(e=aW(e))?aq(t=e)?t.match(a3)||[]:t.split(""):void 0,n=i?i[0]:e.charAt(0),s=i?aG(i,1).join(""):e.slice(1);return n.toUpperCase()+s},a6=function(e){return a4(aW(e).toLowerCase())},a5={};a5=JSON.parse('{"merged":{"placeType":["city","country","county","state"],"country":["United States","Australia","Austria","Brazil","Canada","China","Cook Islands","Denmark","Finland","France","Germany","Iceland","India","Ireland","Israel","Korea","Mexico","Netherlands","New Zealand","Singapore","South Africa","Sweden","Switzerland","United Kingdom"],"scope":["city center / business district","citywide","main street / special","regional","transit-oriented"],"landUse":["all uses","commercial","industrial","medical","other","residential, all uses","residential, low-density","residential, multi-family"],"year":["unknown","2025","2024","2023","2022","2021","2020","2019","2018","2017","2016","2015","2014","2013","2012","2011","2010","2009","2008","2007","2006","2005","2004","2003","2002","2001","2000","1999","1998","1997","1995","1994","1989","1988","1986","1985","1984","1982","1980","1979","1976","1970","1967","1966","1964","1962","1960","1958","1957","1952","1940"]},"anyAdopted":{"placeType":["city","country","county","state"],"country":["United States","Australia","Austria","Brazil","Canada","China","Denmark","France","Germany","Iceland","India","Ireland","Israel","Korea","Mexico","Netherlands","New Zealand","Singapore","South Africa","Sweden","Switzerland","United Kingdom"],"scope":["city center / business district","citywide","main street / special","regional","transit-oriented"],"landUse":["all uses","commercial","industrial","medical","other","residential, all uses","residential, low-density","residential, multi-family"],"year":["unknown","2025","2024","2023","2022","2021","2020","2019","2018","2017","2016","2015","2014","2013","2012","2011","2010","2009","2008","2007","2006","2005","2004","2003","2002","2001","2000","1999","1998","1997","1995","1994","1989","1988","1986","1985","1984","1982","1980","1979","1976","1970","1967","1966","1964","1962","1960","1958","1957","1952","1940"]},"anyProposed":{"placeType":["city","country","state"],"country":["United States","Australia","Canada","Cook Islands","Finland"],"scope":["city center / business district","citywide","main street / special","regional","transit-oriented"],"landUse":["all uses","commercial","other","residential, all uses","residential, multi-family"],"year":["unknown","2025","2024","2023","2022","2021","2020","2019","2018","2017","2011"]},"anyRepealed":{"placeType":["city","state"],"country":["United States","China"],"scope":["city center / business district","citywide","main street / special","transit-oriented"],"landUse":["all uses","residential, all uses"],"year":["unknown","2023"]},"addMaxAdopted":{"placeType":["city","country","county","state"],"country":["United States","Australia","Austria","Brazil","Canada","China","Denmark","Germany","Iceland","India","Ireland","Israel","Korea","Mexico","Netherlands","Singapore","Sweden","Switzerland","United Kingdom"],"scope":["city center / business district","citywide","main street / special","regional","transit-oriented"],"landUse":["all uses","commercial","industrial","medical","other","residential, all uses","residential, low-density","residential, multi-family"],"year":["unknown","2025","2024","2023","2022","2021","2020","2019","2018","2017","2015","2013","2009","2008","2007","2006","2003","2000","1997","1995","1967","1964","1958"]},"addMaxProposed":{"placeType":["city"],"country":["United States"],"scope":["city center / business district","citywide","main street / special","transit-oriented"],"landUse":["all uses","commercial","residential, all uses"],"year":["2025","2024","2023","2022","2021","2020","2018","2011"]},"addMaxRepealed":{"placeType":["city","state"],"country":["United States","China"],"scope":["citywide"],"landUse":["all uses","residential, all uses"],"year":["unknown"]},"reduceMinAdopted":{"placeType":["city","country","county","state"],"country":["United States","Australia","Austria","Canada","Denmark","France","Germany","Iceland","Ireland","Israel","Singapore","South Africa","Sweden","Switzerland"],"scope":["city center / business district","citywide","main street / special","regional","transit-oriented"],"landUse":["all uses","commercial","industrial","medical","other","residential, all uses","residential, low-density","residential, multi-family"],"year":["unknown","2025","2024","2023","2022","2021","2020","2019","2018","2017","2016","2014","2013","2011","2010","2008","2007","2006","2004","2003","2000","1999","1998","1997","1994","1984","1982","1970","1960","1957"]},"reduceMinProposed":{"placeType":["city","country"],"country":["United States","Australia","Canada","Cook Islands"],"scope":["city center / business district","citywide","main street / special","regional"],"landUse":["all uses","commercial","residential, all uses","residential, multi-family"],"year":["2024","2022","2017"]},"reduceMinRepealed":{"placeType":["city"],"country":["United States"],"scope":["city center / business district","transit-oriented"],"landUse":["all uses"],"year":["unknown"]},"rmMinAdopted":{"placeType":["city","country","county","state"],"country":["United States","Australia","Brazil","Canada","China","France","Germany","India","Ireland","Israel","Mexico","New Zealand","Singapore","South Africa","Sweden","Switzerland","United Kingdom"],"scope":["city center / business district","citywide","main street / special","regional","transit-oriented"],"landUse":["all uses","commercial","industrial","medical","other","residential, all uses","residential, low-density","residential, multi-family"],"year":["unknown","2025","2024","2023","2022","2021","2020","2019","2018","2017","2016","2015","2014","2013","2012","2011","2010","2009","2008","2007","2006","2005","2002","2001","2000","1999","1998","1997","1995","1989","1988","1986","1985","1984","1980","1979","1976","1970","1966","1962","1957","1952","1940"]},"rmMinProposed":{"placeType":["city","state"],"country":["United States","Canada","Finland"],"scope":["city center / business district","citywide","main street / special","regional","transit-oriented"],"landUse":["all uses","commercial","other","residential, all uses"],"year":["unknown","2025","2024","2023","2022","2021","2019"]},"rmMinRepealed":{"placeType":["city"],"country":["United States"],"scope":["citywide","main street / special"],"landUse":["all uses","residential, all uses"],"year":["unknown","2023"]}}');class a9{merged;datasets;constructor(){this.merged={includedPolicyChanges:oq,...r(a5).merged},this.datasets={"any parking reform":{adopted:{includedPolicyChanges:oq,...r(a5).anyAdopted},proposed:{includedPolicyChanges:oq,...r(a5).anyProposed},repealed:{includedPolicyChanges:oq,...r(a5).anyRepealed}},"add parking maximums":{adopted:{includedPolicyChanges:[],...r(a5).addMaxAdopted},proposed:{includedPolicyChanges:[],...r(a5).addMaxProposed},repealed:{includedPolicyChanges:[],...r(a5).addMaxRepealed}},"reduce parking minimums":{adopted:{includedPolicyChanges:[],...r(a5).reduceMinAdopted},proposed:{includedPolicyChanges:[],...r(a5).reduceMinProposed},repealed:{includedPolicyChanges:[],...r(a5).reduceMinRepealed}},"remove parking minimums":{adopted:{includedPolicyChanges:[],...r(a5).rmMinAdopted},proposed:{includedPolicyChanges:[],...r(a5).rmMinProposed},repealed:{includedPolicyChanges:[],...r(a5).rmMinRepealed}}}}getOptions(e,t){return this.datasets[e][t]}enabled(e,t){return this.datasets[e][t].placeType.length>0}}function a7(e){return Array.from(e.querySelectorAll('input[type="checkbox"]')).filter(e=>!e.parentElement?.hidden)}function a8(e,t){let i=e.parentElement?.textContent?.trim();return t?i:i?.toLowerCase()}function le(e,t){return new Set(Array.from(e.querySelectorAll('input[type="checkbox"]:checked')).map(e=>a8(e,t)).filter(e=>void 0!==e))}function lt(e){let t=a7(e),i=t.length,n=t.filter(e=>e.checked).length;return` (${n}/${i})`}function li(e,t){let i=e.getValue();e.setValue({...i,supplementalTitle:lt(t)})}function ln(e,t,i,n){let[s,o]=function(e,t,i){let n=az(t.htmlName),s=document.createElement("fieldset");s.className=`filter-${t.htmlName}`,n.contentContainer.appendChild(s);let o=document.createElement("div");o.className="filter-group-selectors-container",s.appendChild(o);let r=document.createElement("button");r.type="button",r.textContent="Check all",r.id=`filter-${t.htmlName}-check-all`,o.appendChild(r);let a=document.createElement("button");a.type="button",a.textContent="Uncheck all",a.id=`filter-${t.htmlName}-uncheck-all`,o.appendChild(a);let l=document.createElement("div");l.className="filter-checkbox-options-container",t.useTwoColumns&&(l.className="filter-checkbox-options-two-columns"),s.appendChild(l),i.merged[t.filterStateKey].forEach((e,i)=>{let n=`filter-${t.htmlName}-option-${i}`,s=t.preserveCapitalization?e:a6(e),[o]=aD(n,t.htmlName,!0,s);l.appendChild(o)});let h={...n,fieldSet:s,checkAllButton:r,uncheckAllButton:a},c=new t5(`filter accordion ${t.htmlName}`,{hidden:!1,expanded:!1,title:"string"==typeof t.legend?t.legend:t.legend(e),supplementalTitle:lt(s)});return c.subscribe(e=>aO(h,e)),n.accordionButton.addEventListener("click",()=>{let e=c.getValue();c.setValue({...e,expanded:!e.expanded})}),c.initialize(),[h,c]}(e.getState(),n,t);i.appendChild(s.outerContainer),s.fieldSet.addEventListener("change",()=>{li(o,s.fieldSet);let t=le(s.fieldSet,n.preserveCapitalization);e.update({[n.filterStateKey]:t})}),s.checkAllButton.addEventListener("click",()=>{a7(s.fieldSet).forEach(e=>{e.checked=!0}),li(o,s.fieldSet);let t=le(s.fieldSet,n.preserveCapitalization);e.update({[n.filterStateKey]:t})}),s.uncheckAllButton.addEventListener("click",()=>{a7(s.fieldSet).forEach(e=>{e.checked=!1}),li(o,s.fieldSet);let t=le(s.fieldSet,n.preserveCapitalization);e.update({[n.filterStateKey]:t})}),e.subscribe(`possibly update ${n.htmlName} filter UI`,e=>{(function(e,t,i){let n=new Set(e);t.querySelectorAll('input[type="checkbox"]').forEach(e=>{let t=a8(e,i);e.parentElement.hidden=!t||!n.has(t)})})(t.getOptions(e.policyTypeFilter,e.status)[n.filterStateKey],s.fieldSet,n.preserveCapitalization),li(o,s.fieldSet);let i=o.getValue(),r=!!n.hide&&n.hide(e),a="string"==typeof n.legend?n.legend:n.legend(e);o.setValue({...i,title:a,hidden:r})})}const ls='reset search';function lo(e,t,i,n,s,o){var r,a;let l;if(!i)return"No places selected — use the filter or search icons";if(t.searchInput)return function(e,t,i,n){let s=`${t} `;if("map"===e)return`Showing ${s} \u{2014} ${ls}`;let o=`in ${s} \u{2014} ${ls}`;switch(i){case"any parking reform":return`Showing an overview of ${n} parking reforms ${o}`;case"add parking maximums":return`Showing details about ${n} parking maximums ${o}`;case"reduce parking minimums":return`Showing details about ${n} parking minimum reductions ${o}`;case"remove parking minimums":return`Showing details about ${n} parking minimum removals ${o}`;default:throw Error(`Unexpected policy type: ${i}`)}}(e,t.searchInput,t.policyTypeFilter,t.status);let h=(l=1===s.size?Array.from(s)[0]:`${s.size} countries`,(oY.has(l)&&(l=`the ${l}`),ak(o,new Set(["city"])))?`${i} ${1===i?"city":"cities"} in ${l}`:ak(o,new Set(["county"]))?`${i} ${1===i?"county":"counties"} in ${l}`:ak(o,new Set(["state"]))?`${i} ${1===i?"state":"states"} in ${l}`:ak(o,new Set(["country"]))?1===i?"1 country":`${i} countries`:`${i} ${1===i?"place":"places"} in ${l}`);switch(t.policyTypeFilter){case"any parking reform":return function(e,t,i,n,s){if("table"===e)return`Showing an overview of ${s} parking reforms in ${t}`;let o=`Showing ${t} with`,r={"add parking maximums":{singlePolicy:"parking maximums",multiplePolicies:"maximums"},"reduce parking minimums":{singlePolicy:"parking minimum reductions",multiplePolicies:"minimum reductions"},"remove parking minimums":{singlePolicy:"parking minimum removals",multiplePolicies:"minimum removals"}},a=Array.from(n).filter(e=>i.has(e)).map(e=>r[e]);if(!a.length)throw Error("Expected state.includedPolicyChanges to be set");if(1===a.length)return`${o} ${s} ${a[0].singlePolicy}`;let l=a.map(e=>`${e.multiplePolicies}`).sort().join("");return`${o} 1+ ${s} parking reforms:`}(e,h,n,t.includedPolicyChanges,t.status);case"reduce parking minimums":return r=t.status,"map"===e?`Showing ${h} with ${r} parking minimum reductions`:`Showing details about ${r} parking minimum reductions for ${h}`;case"add parking maximums":return a=t.status,"map"===e?`Showing ${h} with ${a} parking maximums`:`Showing details about ${a} parking maximums for ${h}`;case"remove parking minimums":return function(e,t,i,n){let s=aR({policyTypeFilter:"remove parking minimums",status:n,allMinimumsRemovedToggle:i});if("map"===e){let e=s?"all parking minimums removed":`${n} parking minimum removals`;return`Showing ${t} with ${e}`}let o=`Showing details about ${n} parking minimum removals for ${t}`;return s?`${o} that removed all parking minimums`:o}(e,h,t.allMinimumsRemovedToggle,t.status);default:throw Error(`Unexpected policy type: ${t.policyTypeFilter}`)}}function lr(e,t){e.addEventListener("click",e=>{e.target instanceof Element&&e.target.matches(".counter-search-reset")&&t.update({searchInput:null})})}const la={weight:1,color:"white",fillColor:"#d7191c",fillOpacity:1,pane:t4},ll={weight:1,color:"white",fillColor:"#fdae61",fillOpacity:1};function lh(e){let{zoom:t,isPrimary:i}=e,n=Math.round(2.37*t-2.29);return i?n+2:n}function lc(e,t,i,n){for(let s of e)t.has(s)||i[s].removeFrom(n);for(let s of t)e.has(s)||i[s].addTo(n)}var lu={};function ld(e){let t=document.querySelector("#search-popup"),i=document.querySelector(".header-search-icon-container");t&&i&&(t.hidden=!e,i.ariaExpanded=e.toString())}window,lu=function(){var e,t,i={282:function(e,t,i){Object.defineProperty(t,"__esModule",{value:!0}),t.clearChoices=t.activateChoices=t.filterChoices=t.addChoice=void 0;var n=i(883);t.addChoice=function(e){var t=e.value,i=e.label,s=e.id,o=e.groupId,r=e.disabled,a=e.elementId,l=e.customProperties,h=e.placeholder,c=e.keyCode;return{type:n.ACTION_TYPES.ADD_CHOICE,value:t,label:i,id:s,groupId:o,disabled:r,elementId:a,customProperties:l,placeholder:h,keyCode:c}},t.filterChoices=function(e){return{type:n.ACTION_TYPES.FILTER_CHOICES,results:e}},t.activateChoices=function(e){return void 0===e&&(e=!0),{type:n.ACTION_TYPES.ACTIVATE_CHOICES,active:e}},t.clearChoices=function(){return{type:n.ACTION_TYPES.CLEAR_CHOICES}}},783:function(e,t,i){Object.defineProperty(t,"__esModule",{value:!0}),t.addGroup=void 0;var n=i(883);t.addGroup=function(e){var t=e.value,i=e.id,s=e.active,o=e.disabled;return{type:n.ACTION_TYPES.ADD_GROUP,value:t,id:i,active:s,disabled:o}}},464:function(e,t,i){Object.defineProperty(t,"__esModule",{value:!0}),t.highlightItem=t.removeItem=t.addItem=void 0;var n=i(883);t.addItem=function(e){var t=e.value,i=e.label,s=e.id,o=e.choiceId,r=e.groupId,a=e.customProperties,l=e.placeholder,h=e.keyCode;return{type:n.ACTION_TYPES.ADD_ITEM,value:t,label:i,id:s,choiceId:o,groupId:r,customProperties:a,placeholder:l,keyCode:h}},t.removeItem=function(e,t){return{type:n.ACTION_TYPES.REMOVE_ITEM,id:e,choiceId:t}},t.highlightItem=function(e,t){return{type:n.ACTION_TYPES.HIGHLIGHT_ITEM,id:e,highlighted:t}}},137:function(e,t,i){Object.defineProperty(t,"__esModule",{value:!0}),t.setIsLoading=t.resetTo=t.clearAll=void 0;var n=i(883);t.clearAll=function(){return{type:n.ACTION_TYPES.CLEAR_ALL}},t.resetTo=function(e){return{type:n.ACTION_TYPES.RESET_TO,state:e}},t.setIsLoading=function(e){return{type:n.ACTION_TYPES.SET_IS_LOADING,isLoading:e}}},373:function(e,t,i){var n=this&&this.__spreadArray||function(e,t,i){if(i||2==arguments.length)for(var n,s=0,o=t.length;s=0?this._store.getGroupById(s):null;return this._store.dispatch((0,h.highlightItem)(i,!0)),t&&this.passedElement.triggerEvent(d.EVENTS.highlightItem,{id:i,value:void 0===o?"":o,label:void 0===r?"":r,groupValue:a&&a.value?a.value:null}),this},e.prototype.unhighlightItem=function(e){if(!e||!e.id)return this;var t=e.id,i=e.groupId,n=void 0===i?-1:i,s=e.value,o=e.label,r=n>=0?this._store.getGroupById(n):null;return this._store.dispatch((0,h.highlightItem)(t,!1)),this.passedElement.triggerEvent(d.EVENTS.highlightItem,{id:t,value:void 0===s?"":s,label:void 0===o?"":o,groupValue:r&&r.value?r.value:null}),this},e.prototype.highlightAll=function(){var e=this;return this._store.items.forEach(function(t){return e.highlightItem(t)}),this},e.prototype.unhighlightAll=function(){var e=this;return this._store.items.forEach(function(t){return e.unhighlightItem(t)}),this},e.prototype.removeActiveItemsByValue=function(e){var t=this;return this._store.activeItems.filter(function(t){return t.value===e}).forEach(function(e){return t._removeItem(e)}),this},e.prototype.removeActiveItems=function(e){var t=this;return this._store.activeItems.filter(function(t){return t.id!==e}).forEach(function(e){return t._removeItem(e)}),this},e.prototype.removeHighlightedItems=function(e){var t=this;return void 0===e&&(e=!1),this._store.highlightedActiveItems.forEach(function(i){t._removeItem(i),e&&t._triggerChange(i.value)}),this},e.prototype.showDropdown=function(e){var t=this;return this.dropdown.isActive||requestAnimationFrame(function(){t.dropdown.show(),t.containerOuter.open(t.dropdown.distanceFromTopWindow),!e&&t._canSearch&&t.input.focus(),t.passedElement.triggerEvent(d.EVENTS.showDropdown,{})}),this},e.prototype.hideDropdown=function(e){var t=this;return this.dropdown.isActive&&requestAnimationFrame(function(){t.dropdown.hide(),t.containerOuter.close(),!e&&t._canSearch&&(t.input.removeActiveDescendant(),t.input.blur()),t.passedElement.triggerEvent(d.EVENTS.hideDropdown,{})}),this},e.prototype.getValue=function(e){void 0===e&&(e=!1);var t=this._store.activeItems.reduce(function(t,i){var n=e?i.value:i;return t.push(n),t},[]);return this._isSelectOneElement?t[0]:t},e.prototype.setValue=function(e){var t=this;return this.initialised&&e.forEach(function(e){return t._setChoiceOrItem(e)}),this},e.prototype.setChoiceByValue=function(e){var t=this;return!this.initialised||this._isTextElement||(Array.isArray(e)?e:[e]).forEach(function(e){return t._findAndSelectChoiceByValue(e)}),this},e.prototype.setChoices=function(e,t,i,n){var s=this;if(void 0===e&&(e=[]),void 0===t&&(t="value"),void 0===i&&(i="label"),void 0===n&&(n=!1),!this.initialised)throw ReferenceError("setChoices was called on a non-initialized instance of Choices");if(!this._isSelectElement)throw TypeError("setChoices can't be used with INPUT based Choices");if("string"!=typeof t||!t)throw TypeError("value parameter must be a name of 'value' field in passed objects");if(n&&this.clearChoices(),"function"==typeof e){var o=e(this);if("function"==typeof Promise&&o instanceof Promise)return new Promise(function(e){return requestAnimationFrame(e)}).then(function(){return s._handleLoadingState(!0)}).then(function(){return o}).then(function(e){return s.setChoices(e,t,i,n)}).catch(function(e){s.config.silent||console.error(e)}).then(function(){return s._handleLoadingState(!1)}).then(function(){return s});if(!Array.isArray(o))throw TypeError(".setChoices first argument function must return either array of choices or Promise, got: ".concat(typeof o));return this.setChoices(o,t,i,!1)}if(!Array.isArray(e))throw TypeError(".setChoices must be called either with array of choices with a function resulting into Promise of array of choices");return this.containerOuter.removeLoadingState(),this._startLoading(),e.forEach(function(e){e.choices?s._addGroup({id:e.id?parseInt("".concat(e.id),10):null,group:e,valueKey:t,labelKey:i}):s._addChoice({value:e[t],label:e[i],isSelected:!!e.selected,isDisabled:!!e.disabled,placeholder:!!e.placeholder,customProperties:e.customProperties})}),this._stopLoading(),this},e.prototype.clearChoices=function(){return this._store.dispatch((0,a.clearChoices)()),this},e.prototype.clearStore=function(){return this._store.dispatch((0,c.clearAll)()),this},e.prototype.clearInput=function(){var e=!this._isSelectOneElement;return this.input.clear(e),!this._isTextElement&&this._canSearch&&(this._isSearching=!1,this._store.dispatch((0,a.activateChoices)(!0))),this},e.prototype._render=function(){if(!this._store.isLoading()){this._currentState=this._store.state;var e=this._currentState.choices!==this._prevState.choices||this._currentState.groups!==this._prevState.groups||this._currentState.items!==this._prevState.items,t=this._isSelectElement,i=this._currentState.items!==this._prevState.items;e&&(t&&this._renderChoices(),i&&this._renderItems(),this._prevState=this._currentState)}},e.prototype._renderChoices=function(){var e=this,t=this._store,i=t.activeGroups,n=t.activeChoices,s=document.createDocumentFragment();if(this.choiceList.clear(),this.config.resetScrollPosition&&requestAnimationFrame(function(){return e.choiceList.scrollToTop()}),i.length>=1&&!this._isSearching){var o=n.filter(function(e){return!0===e.placeholder&&-1===e.groupId});o.length>=1&&(s=this._createChoicesFragment(o,s)),s=this._createGroupsFragment(i,n,s)}else n.length>=1&&(s=this._createChoicesFragment(n,s));if(s.childNodes&&s.childNodes.length>0){var r=this._store.activeItems,a=this._canAddItem(r,this.input.value);if(a.response)this.choiceList.append(s),this._highlightChoice();else{var l=this._getTemplate("notice",a.notice);this.choiceList.append(l)}}else{var h=void 0,l=void 0;this._isSearching?(l="function"==typeof this.config.noResultsText?this.config.noResultsText():this.config.noResultsText,h=this._getTemplate("notice",l,"no-results")):(l="function"==typeof this.config.noChoicesText?this.config.noChoicesText():this.config.noChoicesText,h=this._getTemplate("notice",l,"no-choices")),this.choiceList.append(h)}},e.prototype._renderItems=function(){var e=this._store.activeItems||[];this.itemList.clear();var t=this._createItemsFragment(e);t.childNodes&&this.itemList.append(t)},e.prototype._createGroupsFragment=function(e,t,i){var n=this;return void 0===i&&(i=document.createDocumentFragment()),this.config.shouldSort&&e.sort(this.config.sorter),e.forEach(function(e){var s=t.filter(function(t){return n._isSelectOneElement?t.groupId===e.id:t.groupId===e.id&&("always"===n.config.renderSelectedChoices||!t.selected)});if(s.length>=1){var o=n._getTemplate("choiceGroup",e);i.appendChild(o),n._createChoicesFragment(s,i,!0)}}),i},e.prototype._createChoicesFragment=function(e,t,i){var s=this;void 0===t&&(t=document.createDocumentFragment()),void 0===i&&(i=!1);var o=this.config,r=o.renderSelectedChoices,a=o.searchResultLimit,l=o.renderChoiceLimit,h=this._isSearching?p.sortByScore:this.config.sorter,c=e;"auto"!==r||this._isSelectOneElement||(c=e.filter(function(e){return!e.selected}));var u=c.reduce(function(e,t){return t.placeholder?e.placeholderChoices.push(t):e.normalChoices.push(t),e},{placeholderChoices:[],normalChoices:[]}),d=u.placeholderChoices,m=u.normalChoices;(this.config.shouldSort||this._isSearching)&&m.sort(h);var f=c.length,g=this._isSelectOneElement?n(n([],d,!0),m,!0):m;this._isSearching?f=a:l&&l>0&&!i&&(f=l);for(var b=0;b=n){var r=s?this._searchChoices(e):0;this.passedElement.triggerEvent(d.EVENTS.search,{value:e,resultCount:r})}else o&&(this._isSearching=!1,this._store.dispatch((0,a.activateChoices)(!0)))}},e.prototype._canAddItem=function(e,t){var i=!0,n="function"==typeof this.config.addItemText?this.config.addItemText(t):this.config.addItemText;if(!this._isSelectOneElement){var s=(0,p.existsInArray)(e,t);this.config.maxItemCount>0&&this.config.maxItemCount<=e.length&&(i=!1,n="function"==typeof this.config.maxItemText?this.config.maxItemText(this.config.maxItemCount):this.config.maxItemText),!this.config.duplicateItemsAllowed&&s&&i&&(i=!1,n="function"==typeof this.config.uniqueItemText?this.config.uniqueItemText(t):this.config.uniqueItemText),this._isTextElement&&this.config.addItems&&i&&"function"==typeof this.config.addItemFilter&&!this.config.addItemFilter(t)&&(i=!1,n="function"==typeof this.config.customAddItemText?this.config.customAddItemText(t):this.config.customAddItemText)}return{response:i,notice:n}},e.prototype._searchChoices=function(e){var t="string"==typeof e?e.trim():e,i="string"==typeof this._currentValue?this._currentValue.trim():this._currentValue;if(t.length<1&&t==="".concat(i," "))return 0;var s=this._store.searchableChoices,o=Object.assign(this.config.fuseOptions,{keys:n([],this.config.searchFields,!0),includeMatches:!0}),l=new r.default(s,o).search(t);return this._currentValue=t,this._highlightPosition=0,this._isSearching=!0,this._store.dispatch((0,a.filterChoices)(l)),l.length},e.prototype._addEventListeners=function(){var e=document.documentElement;e.addEventListener("touchend",this._onTouchEnd,!0),this.containerOuter.element.addEventListener("keydown",this._onKeyDown,!0),this.containerOuter.element.addEventListener("mousedown",this._onMouseDown,!0),e.addEventListener("click",this._onClick,{passive:!0}),e.addEventListener("touchmove",this._onTouchMove,{passive:!0}),this.dropdown.element.addEventListener("mouseover",this._onMouseOver,{passive:!0}),this._isSelectOneElement&&(this.containerOuter.element.addEventListener("focus",this._onFocus,{passive:!0}),this.containerOuter.element.addEventListener("blur",this._onBlur,{passive:!0})),this.input.element.addEventListener("keyup",this._onKeyUp,{passive:!0}),this.input.element.addEventListener("focus",this._onFocus,{passive:!0}),this.input.element.addEventListener("blur",this._onBlur,{passive:!0}),this.input.element.form&&this.input.element.form.addEventListener("reset",this._onFormReset,{passive:!0}),this.input.addEventListeners()},e.prototype._removeEventListeners=function(){var e=document.documentElement;e.removeEventListener("touchend",this._onTouchEnd,!0),this.containerOuter.element.removeEventListener("keydown",this._onKeyDown,!0),this.containerOuter.element.removeEventListener("mousedown",this._onMouseDown,!0),e.removeEventListener("click",this._onClick),e.removeEventListener("touchmove",this._onTouchMove),this.dropdown.element.removeEventListener("mouseover",this._onMouseOver),this._isSelectOneElement&&(this.containerOuter.element.removeEventListener("focus",this._onFocus),this.containerOuter.element.removeEventListener("blur",this._onBlur)),this.input.element.removeEventListener("keyup",this._onKeyUp),this.input.element.removeEventListener("focus",this._onFocus),this.input.element.removeEventListener("blur",this._onBlur),this.input.element.form&&this.input.element.form.removeEventListener("reset",this._onFormReset),this.input.removeEventListeners()},e.prototype._onKeyDown=function(e){var t=e.keyCode,i=this._store.activeItems,n=this.input.isFocussed,s=this.dropdown.isActive,o=this.itemList.hasChildren(),r=String.fromCharCode(t),a=/[^\x00-\x1F]/.test(r),l=d.KEY_CODES.BACK_KEY,h=d.KEY_CODES.DELETE_KEY,c=d.KEY_CODES.ENTER_KEY,u=d.KEY_CODES.A_KEY,m=d.KEY_CODES.ESC_KEY,p=d.KEY_CODES.UP_KEY,f=d.KEY_CODES.DOWN_KEY,g=d.KEY_CODES.PAGE_UP_KEY,b=d.KEY_CODES.PAGE_DOWN_KEY;switch(this._isTextElement||s||!a||(this.showDropdown(),this.input.isFocussed||(this.input.value+=e.key.toLowerCase())),t){case u:return this._onSelectKey(e,o);case c:return this._onEnterKey(e,i,s);case m:return this._onEscapeKey(s);case p:case g:case f:case b:return this._onDirectionKey(e,s);case h:case l:return this._onDeleteKey(e,i,n)}},e.prototype._onKeyUp=function(e){var t=e.target,i=e.keyCode,n=this.input.value,s=this._store.activeItems,o=this._canAddItem(s,n),r=d.KEY_CODES.BACK_KEY,l=d.KEY_CODES.DELETE_KEY;if(this._isTextElement){if(o.notice&&n){var h=this._getTemplate("notice",o.notice);this.dropdown.element.innerHTML=h.outerHTML,this.showDropdown(!0)}else this.hideDropdown(!0)}else{var c=(i===r||i===l)&&t&&!t.value,u=!this._isTextElement&&this._isSearching,m=this._canSearch&&o.response;c&&u?(this._isSearching=!1,this._store.dispatch((0,a.activateChoices)(!0))):m&&this._handleSearch(this.input.rawValue)}this._canSearch=this.config.searchEnabled},e.prototype._onSelectKey=function(e,t){var i=e.ctrlKey,n=e.metaKey;(i||n)&&t&&(this._canSearch=!1,this.config.removeItems&&!this.input.value&&this.input.element===document.activeElement&&this.highlightAll())},e.prototype._onEnterKey=function(e,t,i){var n=e.target,s=d.KEY_CODES.ENTER_KEY,o=n&&n.hasAttribute("data-button");if(this._isTextElement&&n&&n.value){var r=this.input.value;this._canAddItem(t,r).response&&(this.hideDropdown(!0),this._addItem({value:r}),this._triggerChange(r),this.clearInput())}if(o&&(this._handleButtonAction(t,n),e.preventDefault()),i){var a=this.dropdown.getChild(".".concat(this.config.classNames.highlightedState));a&&(t[0]&&(t[0].keyCode=s),this._handleChoiceAction(t,a)),e.preventDefault()}else this._isSelectOneElement&&(this.showDropdown(),e.preventDefault())},e.prototype._onEscapeKey=function(e){e&&(this.hideDropdown(!0),this.containerOuter.focus())},e.prototype._onDirectionKey=function(e,t){var i=e.keyCode,n=e.metaKey,s=d.KEY_CODES.DOWN_KEY,o=d.KEY_CODES.PAGE_UP_KEY,r=d.KEY_CODES.PAGE_DOWN_KEY;if(t||this._isSelectOneElement){this.showDropdown(),this._canSearch=!1;var a=i===s||i===r?1:-1,l="[data-choice-selectable]",h=void 0;if(n||i===r||i===o)h=a>0?this.dropdown.element.querySelector("".concat(l,":last-of-type")):this.dropdown.element.querySelector(l);else{var c=this.dropdown.element.querySelector(".".concat(this.config.classNames.highlightedState));h=c?(0,p.getAdjacentEl)(c,l,a):this.dropdown.element.querySelector(l)}h&&((0,p.isScrolledIntoView)(h,this.choiceList.element,a)||this.choiceList.scrollToChildElement(h,a),this._highlightChoice(h)),e.preventDefault()}},e.prototype._onDeleteKey=function(e,t,i){var n=e.target;this._isSelectOneElement||n.value||!i||(this._handleBackspace(t),e.preventDefault())},e.prototype._onTouchMove=function(){this._wasTap&&(this._wasTap=!1)},e.prototype._onTouchEnd=function(e){var t=(e||e.touches[0]).target;this._wasTap&&this.containerOuter.element.contains(t)&&((t===this.containerOuter.element||t===this.containerInner.element)&&(this._isTextElement?this.input.focus():this._isSelectMultipleElement&&this.showDropdown()),e.stopPropagation()),this._wasTap=!0},e.prototype._onMouseDown=function(e){var t=e.target;if(t instanceof HTMLElement){if(v&&this.choiceList.element.contains(t)){var i=this.choiceList.element.firstElementChild,n="ltr"===this._direction?e.offsetX>=i.offsetWidth:e.offsetX0&&this.unhighlightAll(),this.containerOuter.removeFocusState(),this.hideDropdown(!0))},e.prototype._onFocus=function(e){var t,i=this,n=e.target;n&&this.containerOuter.element.contains(n)&&((t={})[d.TEXT_TYPE]=function(){n===i.input.element&&i.containerOuter.addFocusState()},t[d.SELECT_ONE_TYPE]=function(){i.containerOuter.addFocusState(),n===i.input.element&&i.showDropdown(!0)},t[d.SELECT_MULTIPLE_TYPE]=function(){n===i.input.element&&(i.showDropdown(!0),i.containerOuter.addFocusState())},t)[this.passedElement.element.type]()},e.prototype._onBlur=function(e){var t,i=this,n=e.target;if(n&&this.containerOuter.element.contains(n)&&!this._isScrollingOnIe){var s=this._store.activeItems.some(function(e){return e.highlighted});((t={})[d.TEXT_TYPE]=function(){n===i.input.element&&(i.containerOuter.removeFocusState(),s&&i.unhighlightAll(),i.hideDropdown(!0))},t[d.SELECT_ONE_TYPE]=function(){i.containerOuter.removeFocusState(),n!==i.input.element&&(n!==i.containerOuter.element||i._canSearch)||i.hideDropdown(!0)},t[d.SELECT_MULTIPLE_TYPE]=function(){n===i.input.element&&(i.containerOuter.removeFocusState(),i.hideDropdown(!0),s&&i.unhighlightAll())},t)[this.passedElement.element.type]()}else this._isScrollingOnIe=!1,this.input.element.focus()},e.prototype._onFormReset=function(){this._store.dispatch((0,c.resetTo)(this._initialState))},e.prototype._highlightChoice=function(e){var t=this;void 0===e&&(e=null);var i=Array.from(this.dropdown.element.querySelectorAll("[data-choice-selectable]"));if(i.length){var n=e;Array.from(this.dropdown.element.querySelectorAll(".".concat(this.config.classNames.highlightedState))).forEach(function(e){e.classList.remove(t.config.classNames.highlightedState),e.setAttribute("aria-selected","false")}),n?this._highlightPosition=i.indexOf(n):(n=i.length>this._highlightPosition?i[this._highlightPosition]:i[i.length-1])||(n=i[0]),n.classList.add(this.config.classNames.highlightedState),n.setAttribute("aria-selected","true"),this.passedElement.triggerEvent(d.EVENTS.highlightChoice,{el:n}),this.dropdown.isActive&&(this.input.setActiveDescendant(n.id),this.containerOuter.setActiveDescendant(n.id))}},e.prototype._addItem=function(e){var t=e.value,i=e.label,n=e.choiceId,s=e.groupId,o=void 0===s?-1:s,r=e.customProperties,a=void 0===r?{}:r,l=e.placeholder,c=e.keyCode,u=void 0===c?-1:c,m="string"==typeof t?t.trim():t,p=this._store.items,f=(void 0===i?null:i)||m,g=o>=0?this._store.getGroupById(o):null,b=p?p.length+1:1;this.config.prependValue&&(m=this.config.prependValue+m.toString()),this.config.appendValue&&(m+=this.config.appendValue.toString()),this._store.dispatch((0,h.addItem)({value:m,label:f,id:b,choiceId:(void 0===n?-1:n)||-1,groupId:o,customProperties:a,placeholder:void 0!==l&&l,keyCode:u})),this._isSelectOneElement&&this.removeActiveItems(b),this.passedElement.triggerEvent(d.EVENTS.addItem,{id:b,value:m,label:f,customProperties:a,groupValue:g&&g.value?g.value:null,keyCode:u})},e.prototype._removeItem=function(e){var t=e.id,i=e.value,n=e.label,s=e.customProperties,o=e.choiceId,r=e.groupId,a=r&&r>=0?this._store.getGroupById(r):null;t&&o&&(this._store.dispatch((0,h.removeItem)(t,o)),this.passedElement.triggerEvent(d.EVENTS.removeItem,{id:t,value:i,label:n,customProperties:s,groupValue:a&&a.value?a.value:null}))},e.prototype._addChoice=function(e){var t=e.value,i=e.label,n=e.isSelected,s=e.isDisabled,o=e.groupId,r=e.customProperties,l=void 0===r?{}:r,h=e.placeholder,c=void 0!==h&&h,u=e.keyCode,d=void 0===u?-1:u;if(null!=t){var m=this._store.choices,p=(void 0===i?null:i)||t,f=m?m.length+1:1,g="".concat(this._baseId,"-").concat(this._idNames.itemChoice,"-").concat(f);this._store.dispatch((0,a.addChoice)({id:f,groupId:void 0===o?-1:o,elementId:g,value:t,label:p,disabled:void 0!==s&&s,customProperties:l,placeholder:c,keyCode:d})),void 0!==n&&n&&this._addItem({value:t,label:p,choiceId:f,customProperties:l,placeholder:c,keyCode:d})}},e.prototype._addGroup=function(e){var t=this,i=e.group,n=e.id,s=e.valueKey,o=void 0===s?"value":s,r=e.labelKey,a=void 0===r?"label":r,h=(0,p.isType)("Object",i)?i.choices:Array.from(i.getElementsByTagName("OPTION")),c=n||Math.floor(new Date().valueOf()*Math.random()),u=!!i.disabled&&i.disabled;h?(this._store.dispatch((0,l.addGroup)({value:i.label,id:c,active:!0,disabled:u})),h.forEach(function(e){var i=e.disabled||e.parentNode&&e.parentNode.disabled;t._addChoice({value:e[o],label:(0,p.isType)("Object",e)?e[a]:e.innerHTML,isSelected:e.selected,isDisabled:i,groupId:c,customProperties:e.customProperties,placeholder:e.placeholder})})):this._store.dispatch((0,l.addGroup)({value:i.label,id:i.id,active:!1,disabled:i.disabled}))},e.prototype._getTemplate=function(e){for(var t,i=[],s=1;s0?this.element.scrollTop+r-s:e.offsetTop;requestAnimationFrame(function(){i._animateScroll(a,t)})}},e.prototype._scrollDown=function(e,t,i){var n=(i-e)/t;this.element.scrollTop=e+(n>1?n:1)},e.prototype._scrollUp=function(e,t,i){var n=(e-i)/t;this.element.scrollTop=e-(n>1?n:1)},e.prototype._animateScroll=function(e,t){var i=this,s=n.SCROLLING_SPEED,o=this.element.scrollTop,r=!1;t>0?(this._scrollDown(o,s,e),oe&&(r=!0)),r&&requestAnimationFrame(function(){i._animateScroll(e,t)})},e}();t.default=s},730:function(e,t,i){Object.defineProperty(t,"__esModule",{value:!0});var n=i(799),s=function(){function e(e){var t=e.element,i=e.classNames;if(this.element=t,this.classNames=i,!(t instanceof HTMLInputElement)&&!(t instanceof HTMLSelectElement))throw TypeError("Invalid element passed");this.isDisabled=!1}return Object.defineProperty(e.prototype,"isActive",{get:function(){return"active"===this.element.dataset.choice},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dir",{get:function(){return this.element.dir},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this.element.value},set:function(e){this.element.value=e},enumerable:!1,configurable:!0}),e.prototype.conceal=function(){this.element.classList.add(this.classNames.input),this.element.hidden=!0,this.element.tabIndex=-1;var e=this.element.getAttribute("style");e&&this.element.setAttribute("data-choice-orig-style",e),this.element.setAttribute("data-choice","active")},e.prototype.reveal=function(){this.element.classList.remove(this.classNames.input),this.element.hidden=!1,this.element.removeAttribute("tabindex");var e=this.element.getAttribute("data-choice-orig-style");e?(this.element.removeAttribute("data-choice-orig-style"),this.element.setAttribute("style",e)):this.element.removeAttribute("style"),this.element.removeAttribute("data-choice"),this.element.value=this.element.value},e.prototype.enable=function(){this.element.removeAttribute("disabled"),this.element.disabled=!1,this.isDisabled=!1},e.prototype.disable=function(){this.element.setAttribute("disabled",""),this.element.disabled=!0,this.isDisabled=!0},e.prototype.triggerEvent=function(e,t){(0,n.dispatchEvent)(this.element,e,t)},e}();t.default=s},541:function(e,t,i){var n,s=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){var i=t.element,n=t.classNames,s=t.delimiter,o=e.call(this,{element:i,classNames:n})||this;return o.delimiter=s,o}return s(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.element.value},set:function(e){this.element.setAttribute("value",e),this.element.value=e},enumerable:!1,configurable:!0}),t}(o(i(730)).default);t.default=r},982:function(e,t,i){var n,s=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){var i=t.element,n=t.classNames,s=t.template,o=e.call(this,{element:i,classNames:n})||this;return o.template=s,o}return s(t,e),Object.defineProperty(t.prototype,"placeholderOption",{get:function(){return this.element.querySelector('option[value=""]')||this.element.querySelector("option[placeholder]")},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"optionGroups",{get:function(){return Array.from(this.element.getElementsByTagName("OPTGROUP"))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"options",{get:function(){return Array.from(this.element.options)},set:function(e){var t=this,i=document.createDocumentFragment(),n=function(e){var n=t.template(e);i.appendChild(n)};e.forEach(function(e){return n(e)}),this.appendDocFragment(i)},enumerable:!1,configurable:!0}),t.prototype.appendDocFragment=function(e){this.element.innerHTML="",this.element.appendChild(e)},t}(o(i(730)).default);t.default=r},883:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SCROLLING_SPEED=t.SELECT_MULTIPLE_TYPE=t.SELECT_ONE_TYPE=t.TEXT_TYPE=t.KEY_CODES=t.ACTION_TYPES=t.EVENTS=void 0,t.EVENTS={showDropdown:"showDropdown",hideDropdown:"hideDropdown",change:"change",choice:"choice",search:"search",addItem:"addItem",removeItem:"removeItem",highlightItem:"highlightItem",highlightChoice:"highlightChoice",unhighlightItem:"unhighlightItem"},t.ACTION_TYPES={ADD_CHOICE:"ADD_CHOICE",FILTER_CHOICES:"FILTER_CHOICES",ACTIVATE_CHOICES:"ACTIVATE_CHOICES",CLEAR_CHOICES:"CLEAR_CHOICES",ADD_GROUP:"ADD_GROUP",ADD_ITEM:"ADD_ITEM",REMOVE_ITEM:"REMOVE_ITEM",HIGHLIGHT_ITEM:"HIGHLIGHT_ITEM",CLEAR_ALL:"CLEAR_ALL",RESET_TO:"RESET_TO",SET_IS_LOADING:"SET_IS_LOADING"},t.KEY_CODES={BACK_KEY:46,DELETE_KEY:8,ENTER_KEY:13,A_KEY:65,ESC_KEY:27,UP_KEY:38,DOWN_KEY:40,PAGE_UP_KEY:33,PAGE_DOWN_KEY:34},t.TEXT_TYPE="text",t.SELECT_ONE_TYPE="select-one",t.SELECT_MULTIPLE_TYPE="select-multiple",t.SCROLLING_SPEED=4},789:function(e,t,i){Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_CONFIG=t.DEFAULT_CLASSNAMES=void 0;var n=i(799);t.DEFAULT_CLASSNAMES={containerOuter:"choices",containerInner:"choices__inner",input:"choices__input",inputCloned:"choices__input--cloned",list:"choices__list",listItems:"choices__list--multiple",listSingle:"choices__list--single",listDropdown:"choices__list--dropdown",item:"choices__item",itemSelectable:"choices__item--selectable",itemDisabled:"choices__item--disabled",itemChoice:"choices__item--choice",placeholder:"choices__placeholder",group:"choices__group",groupHeading:"choices__heading",button:"choices__button",activeState:"is-active",focusState:"is-focused",openState:"is-open",disabledState:"is-disabled",highlightedState:"is-highlighted",selectedState:"is-selected",flippedState:"is-flipped",loadingState:"is-loading",noResults:"has-no-results",noChoices:"has-no-choices"},t.DEFAULT_CONFIG={items:[],choices:[],silent:!1,renderChoiceLimit:-1,maxItemCount:-1,addItems:!0,addItemFilter:null,removeItems:!0,removeItemButton:!1,editItems:!1,allowHTML:!0,duplicateItemsAllowed:!0,delimiter:",",paste:!0,searchEnabled:!0,searchChoices:!0,searchFloor:1,searchResultLimit:4,searchFields:["label","value"],position:"auto",resetScrollPosition:!0,shouldSort:!0,shouldSortItems:!1,sorter:n.sortByAlpha,placeholder:!0,placeholderValue:null,searchPlaceholderValue:null,prependValue:null,appendValue:null,renderSelectedChoices:"auto",loadingText:"Loading...",noResultsText:"No results found",noChoicesText:"No choices to choose from",itemSelectText:"Press to select",uniqueItemText:"Only unique values can be added",customAddItemText:"Only values matching specific conditions can be added",addItemText:function(e){return'Press Enter to add "'.concat((0,n.sanitise)(e),'"')},maxItemText:function(e){return"Only ".concat(e," values can be added")},valueComparer:function(e,t){return e===t},fuseOptions:{includeScore:!0},labelId:"",callbackOnInit:null,callbackOnCreateTemplates:null,classNames:t.DEFAULT_CLASSNAMES}},18:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},978:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},948:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},359:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},285:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},533:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},187:function(e,t,i){var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var s=Object.getOwnPropertyDescriptor(t,i);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,s)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),s=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||n(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),s(i(18),t),s(i(978),t),s(i(948),t),s(i(359),t),s(i(285),t),s(i(533),t),s(i(287),t),s(i(132),t),s(i(837),t),s(i(598),t),s(i(369),t),s(i(37),t),s(i(47),t),s(i(923),t),s(i(876),t)},287:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},132:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},837:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},598:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},37:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},369:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},47:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},923:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},876:function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},799:function(e,t){var i;Object.defineProperty(t,"__esModule",{value:!0}),t.parseCustomProperties=t.diff=t.cloneObject=t.existsInArray=t.dispatchEvent=t.sortByScore=t.sortByAlpha=t.strToEl=t.sanitise=t.isScrolledIntoView=t.getAdjacentEl=t.wrap=t.isType=t.getType=t.generateId=t.generateChars=t.getRandomNumber=void 0,t.getRandomNumber=function(e,t){return Math.floor(Math.random()*(t-e)+e)},t.generateChars=function(e){return Array.from({length:e},function(){return(0,t.getRandomNumber)(0,36).toString(36)}).join("")},t.generateId=function(e,i){var n=e.id||e.name&&"".concat(e.name,"-").concat((0,t.generateChars)(2))||(0,t.generateChars)(4);return n=n.replace(/(:|\.|\[|\]|,)/g,""),n="".concat(i,"-").concat(n)},t.getType=function(e){return Object.prototype.toString.call(e).slice(8,-1)},t.isType=function(e,i){return null!=i&&(0,t.getType)(i)===e},t.wrap=function(e,t){return void 0===t&&(t=document.createElement("div")),e.parentNode&&(e.nextSibling?e.parentNode.insertBefore(t,e.nextSibling):e.parentNode.appendChild(t)),t.appendChild(e)},t.getAdjacentEl=function(e,t,i){void 0===i&&(i=1);for(var n="".concat(i>0?"next":"previous","ElementSibling"),s=e[n];s&&!s.matches(t);)s=s[n];return s},t.isScrolledIntoView=function(e,t,i){return void 0===i&&(i=1),!!e&&(i>0?t.scrollTop+t.offsetHeight>=e.offsetTop+e.offsetHeight:e.offsetTop>=t.scrollTop)},t.sanitise=function(e){return"string"!=typeof e?e:e.replace(/&/g,"&").replace(/>/g,">").replace(/n.indexOf(e)})},t.parseCustomProperties=function(e){if(void 0!==e)try{return JSON.parse(e)}catch(t){return e}return{}}},273:function(e,t){var i=this&&this.__spreadArray||function(e,t,i){if(i||2==arguments.length)for(var n,s=0,o=t.length;s-1)return e.map(function(e){return e.id===parseInt("".concat(r.choiceId),10)&&(e.selected=!0),e});return e;case"REMOVE_ITEM":var a=n;if(a.choiceId&&a.choiceId>-1)return e.map(function(e){return e.id===parseInt("".concat(a.choiceId),10)&&(e.selected=!1),e});return e;case"FILTER_CHOICES":var l=n;return e.map(function(e){return e.active=l.results.some(function(t){var i=t.item,n=t.score;return i.id===e.id&&(e.score=n,!0)}),e});case"ACTIVATE_CHOICES":var h=n;return e.map(function(e){return e.active=h.active,e});case"CLEAR_CHOICES":return t.defaultState;default:return e}}},871:function(e,t){var i=this&&this.__spreadArray||function(e,t,i){if(i||2==arguments.length)for(var n,s=0,o=t.length;s0?"treeitem":"option"),Object.assign(w.dataset,{choice:"",id:d,value:m,selectText:i}),b?(w.classList.add(c),w.dataset.choiceDisabled="",w.setAttribute("aria-disabled","true")):(w.classList.add(l),w.dataset.choiceSelectable=""),w},input:function(e,t){var i=e.classNames,n=i.input,s=i.inputCloned,o=Object.assign(document.createElement("input"),{type:"search",name:"search_terms",className:"".concat(n," ").concat(s),autocomplete:"off",autocapitalize:"off",spellcheck:!1});return o.setAttribute("role","textbox"),o.setAttribute("aria-autocomplete","list"),o.setAttribute("aria-label",t),o},dropdown:function(e){var t=e.classNames,i=t.list,n=t.listDropdown,s=document.createElement("div");return s.classList.add(i,n),s.setAttribute("aria-expanded","false"),s},notice:function(e,t,i){var n,s=e.allowHTML,o=e.classNames,r=o.item,a=o.itemChoice,l=o.noResults,h=o.noChoices;void 0===i&&(i="");var c=[r,a];return"no-choices"===i?c.push(h):"no-results"===i&&c.push(l),Object.assign(document.createElement("div"),((n={})[s?"innerHTML":"innerText"]=t,n.className=c.join(" "),n))},option:function(e){var t=e.label,i=e.value,n=e.customProperties,s=e.active,o=e.disabled,r=new Option(t,i,!1,s);return n&&(r.dataset.customProperties="".concat(n)),r.disabled=!!o,r}}},996:function(e){var t=function(e){var t;return!!e&&"object"==typeof e&&"[object RegExp]"!==(t=Object.prototype.toString.call(e))&&"[object Date]"!==t&&e.$$typeof!==i},i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?a(Array.isArray(e)?[]:{},e,t):e}function s(e,t,i){return e.concat(t).map(function(e){return n(e,i)})}function o(e){return Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return e.propertyIsEnumerable(t)}):[])}function r(e,t){try{return t in e}catch(e){return!1}}function a(e,i,l){(l=l||{}).arrayMerge=l.arrayMerge||s,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=n;var h,c,u=Array.isArray(i);return u!==Array.isArray(e)?n(i,l):u?l.arrayMerge(e,i,l):(c={},(h=l).isMergeableObject(e)&&o(e).forEach(function(t){c[t]=n(e[t],h)}),o(i).forEach(function(t){r(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))||(r(e,t)&&h.isMergeableObject(i[t])?c[t]=(function(e,t){if(!t.customMerge)return a;var i=t.customMerge(e);return"function"==typeof i?i:a})(t,h)(e[t],i[t],h):c[t]=n(i[t],h))}),c)}a.all=function(e,t){if(!Array.isArray(e))throw Error("first argument should be an array");return e.reduce(function(e,i){return a(e,i,t)},{})},e.exports=a},221:function(e,t,i){function n(e){return Array.isArray?Array.isArray(e):"[object Array]"===c(e)}i.r(t),i.d(t,{default:function(){return U}});let s=1/0;function o(e){return"string"==typeof e}function r(e){return"number"==typeof e}function a(e){return"object"==typeof e}function l(e){return null!=e}function h(e){return!e.trim().length}function c(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let u=e=>`Invalid value for key ${e}`,d=e=>`Pattern length exceeds max of ${e}.`,m=e=>`Missing ${e} property in key`,p=e=>`Property 'weight' in key '${e}' must be a positive integer`,f=Object.prototype.hasOwnProperty;class g{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let i=b(e);t+=i.weight,this._keys.push(i),this._keyMap[i.id]=i,t+=i.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function b(e){let t=null,i=null,s=null,r=1,a=null;if(o(e)||n(e))s=e,t=v(e),i=y(e);else{if(!f.call(e,"name"))throw Error(m("name"));let n=e.name;if(s=n,f.call(e,"weight")&&(r=e.weight)<=0)throw Error(p(n));t=v(n),i=y(n),a=e.getFn}return{path:t,id:i,weight:r,src:s,getFn:a}}function v(e){return n(e)?e:e.split(".")}function y(e){return n(e)?e.join("."):e}var w={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx{if(l(e)){if(t[d]){var m,p;let f=e[t[d]];if(l(f)){if(d===t.length-1&&(o(f)||r(f)||!0===(m=f)||!1===m||a(p=m)&&null!==p&&"[object Boolean]"==c(m)))i.push(null==f?"":function(e){if("string"==typeof e)return e;let t=e+"";return"0"==t&&1/e==-s?"-0":t}(f));else if(n(f)){h=!0;for(let e=0,i=f.length;e{this._keysMap[e.id]=t})}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,o(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){let t=this.size();o(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,i=this.size();t{let r=t.getFn?t.getFn(e):this.getFn(e,t.path);if(l(r)){if(n(r)){let e=[],t=[{nestedArrIndex:-1,value:r}];for(;t.length;){let{nestedArrIndex:i,value:s}=t.pop();if(l(s)){if(o(s)&&!h(s)){let t={v:s,i:i,n:this.norm.get(s)};e.push(t)}else n(s)&&s.forEach((e,i)=>{t.push({nestedArrIndex:i,value:e})})}}i.$[s]=e}else if(o(r)&&!h(r)){let e={v:r,n:this.norm.get(r)};i.$[s]=e}}}),this.records.push(i)}toJSON(){return{keys:this.keys,records:this.records}}}function E(e,t,{getFn:i=w.getFn,fieldNormWeight:n=w.fieldNormWeight}={}){let s=new C({getFn:i,fieldNormWeight:n});return s.setKeys(e.map(b)),s.setSources(t),s.create(),s}function x(e,{errors:t=0,currentLocation:i=0,expectedLocation:n=0,distance:s=w.distance,ignoreLocation:o=w.ignoreLocation}={}){let r=t/e.length;if(o)return r;let a=Math.abs(n-i);return s?r+a/s:a?1:r}class T{constructor(e,{location:t=w.location,threshold:i=w.threshold,distance:n=w.distance,includeMatches:s=w.includeMatches,findAllMatches:o=w.findAllMatches,minMatchCharLength:r=w.minMatchCharLength,isCaseSensitive:a=w.isCaseSensitive,ignoreLocation:l=w.ignoreLocation}={}){if(this.options={location:t,threshold:i,distance:n,includeMatches:s,findAllMatches:o,minMatchCharLength:r,isCaseSensitive:a,ignoreLocation:l},this.pattern=a?e:e.toLowerCase(),this.chunks=[],!this.pattern.length)return;let h=(e,t)=>{this.chunks.push({pattern:e,alphabet:function(e){let t={};for(let i=0,n=e.length;i32){let e=0,t=c%32,i=c-t;for(;e{let{isMatch:f,score:g,indices:b}=function(e,t,i,{location:n=w.location,distance:s=w.distance,threshold:o=w.threshold,findAllMatches:r=w.findAllMatches,minMatchCharLength:a=w.minMatchCharLength,includeMatches:l=w.includeMatches,ignoreLocation:h=w.ignoreLocation}={}){let c;if(t.length>32)throw Error(d(32));let u=t.length,m=e.length,p=Math.max(0,Math.min(n,m)),f=o,g=p,b=a>1||l,v=b?Array(m):[];for(;(c=e.indexOf(t,g))>-1;)if(f=Math.min(x(t,{currentLocation:c,expectedLocation:p,distance:s,ignoreLocation:h}),f),g=c+u,b){let e=0;for(;e=l;o-=1){let r=o-1,a=i[e.charAt(r)];if(b&&(v[r]=+!!a),d[o]=(d[o+1]<<1|1)&a,n&&(d[o]|=(y[o+1]|y[o])<<1|1|y[o+1]),d[o]&E&&(_=x(t,{errors:n,currentLocation:r,expectedLocation:p,distance:s,ignoreLocation:h}))<=f){if(f=_,(g=r)<=p)break;l=Math.max(1,2*p-g)}}if(x(t,{errors:n+1,currentLocation:p,expectedLocation:p,distance:s,ignoreLocation:h})>f)break;y=d}let T={isMatch:g>=0,score:Math.max(.001,_)};if(b){let e=function(e=[],t=w.minMatchCharLength){let i=[],n=-1,s=-1,o=0;for(let r=e.length;o=t&&i.push([n,s]),n=-1)}return e[o-1]&&o-n>=t&&i.push([n,o-1]),i}(v,a);e.length?l&&(T.indices=e):T.isMatch=!1}return T}(e,t,m,{location:n+p,distance:s,threshold:o,findAllMatches:r,minMatchCharLength:a,includeMatches:i,ignoreLocation:l});f&&(u=!0),c+=g,f&&b&&(h=[...h,...b])});let m={isMatch:u,score:u?c/this.chunks.length:1};return u&&i&&(m.indices=h),m}}class k{constructor(e){this.pattern=e}static isMultiMatch(e){return S(e,this.multiRegex)}static isSingleMatch(e){return S(e,this.singleRegex)}search(){}}function S(e,t){let i=e.match(t);return i?i[1]:null}class M extends k{constructor(e,{location:t=w.location,threshold:i=w.threshold,distance:n=w.distance,includeMatches:s=w.includeMatches,findAllMatches:o=w.findAllMatches,minMatchCharLength:r=w.minMatchCharLength,isCaseSensitive:a=w.isCaseSensitive,ignoreLocation:l=w.ignoreLocation}={}){super(e),this._bitapSearch=new T(e,{location:t,threshold:i,distance:n,includeMatches:s,findAllMatches:o,minMatchCharLength:r,isCaseSensitive:a,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class R extends k{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,i=0,n=[],s=this.pattern.length;for(;(t=e.indexOf(this.pattern,i))>-1;)i=t+s,n.push([t,i-1]);let o=!!n.length;return{isMatch:o,score:o?0:1,indices:n}}}let P=[class extends k{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){let t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},R,class extends k{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){let t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},class extends k{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){let t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends k{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){let t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends k{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){let t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}},class extends k{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){let t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},M],O=P.length,D=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,z=new Set([M.type,R.type]),A=[];function I(e,t){for(let i=0,n=A.length;i!!(e[F.AND]||e[F.OR]),B=e=>!!e[N.PATH],j=e=>!n(e)&&a(e)&&!H(e),V=e=>({[F.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function W(e,t,{auto:i=!0}={}){let s=e=>{let r=Object.keys(e),a=B(e);if(!a&&r.length>1&&!H(e))return s(V(e));if(j(e)){let n=a?e[N.PATH]:r[0],s=a?e[N.PATTERN]:e[n];if(!o(s))throw Error(u(n));let l={keyId:y(n),pattern:s};return i&&(l.searcher=I(s,t)),l}let l={children:[],operator:r[0]};return r.forEach(t=>{let i=e[t];n(i)&&i.forEach(e=>{l.children.push(s(e))})}),l};return H(e)||(e=V(e)),s(e)}function Z(e,t){let i=e.matches;t.matches=[],l(i)&&i.forEach(e=>{if(!l(e.indices)||!e.indices.length)return;let{indices:i,value:n}=e,s={indices:i,value:n};e.key&&(s.key=e.key.src),e.idx>-1&&(s.refIndex=e.idx),t.matches.push(s)})}function G(e,t){t.score=e.score}class U{constructor(e,t={},i){this.options={...w,...t},this.options.useExtendedSearch,this._keyStore=new g(this.options.keys),this.setCollection(e,i)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof C))throw Error("Incorrect 'index' type");this._myIndex=t||E(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){l(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=()=>!1){let t=[];for(let i=0,n=this._docs.length;i{let i=1;e.matches.forEach(({key:e,norm:n,score:s})=>{let o=e?e.weight:null;i*=Math.pow(0===s&&o?Number.EPSILON:s,(o||1)*(t?1:n))}),e.score=i})}(h,{ignoreFieldNorm:l}),s&&h.sort(a),r(t)&&t>-1&&(h=h.slice(0,t)),function(e,t,{includeMatches:i=w.includeMatches,includeScore:n=w.includeScore}={}){let s=[];return i&&s.push(Z),n&&s.push(G),e.map(e=>{let{idx:i}=e,n={item:t[i],refIndex:i};return s.length&&s.forEach(t=>{t(e,n)}),n})}(h,this._docs,{includeMatches:i,includeScore:n})}_searchStringList(e){let t=I(e,this.options),{records:i}=this._myIndex,n=[];return i.forEach(({v:e,i:i,n:s})=>{if(!l(e))return;let{isMatch:o,score:r,indices:a}=t.searchIn(e);o&&n.push({item:e,idx:i,matches:[{score:r,value:e,norm:s,indices:a}]})}),n}_searchLogical(e){let t=W(e,this.options),i=(e,t,n)=>{if(!e.children){let{keyId:i,searcher:s}=e,o=this._findMatches({key:this._keyStore.get(i),value:this._myIndex.getValueForItemAtKeyId(t,i),searcher:s});return o&&o.length?[{idx:n,item:t,matches:o}]:[]}let s=[];for(let o=0,r=e.children.length;o{if(l(e)){let r=i(t,e,n);r.length&&(s[n]||(s[n]={idx:n,item:e,matches:[]},o.push(s[n])),r.forEach(({matches:e})=>{s[n].matches.push(...e)}))}}),o}_searchObjectList(e){let t=I(e,this.options),{keys:i,records:n}=this._myIndex,s=[];return n.forEach(({$:e,i:n})=>{if(!l(e))return;let o=[];i.forEach((i,n)=>{o.push(...this._findMatches({key:i,value:e[n],searcher:t}))}),o.length&&s.push({idx:n,item:e,matches:o})}),s}_findMatches({key:e,value:t,searcher:i}){if(!l(t))return[];let s=[];if(n(t))t.forEach(({v:t,i:n,n:o})=>{if(!l(t))return;let{isMatch:r,score:a,indices:h}=i.searchIn(t);r&&s.push({score:a,key:e,value:t,idx:n,norm:o,indices:h})});else{let{v:n,n:o}=t,{isMatch:r,score:a,indices:l}=i.searchIn(n);r&&s.push({score:a,key:e,value:n,norm:o,indices:l})}return s}}U.version="6.6.2",U.createIndex=E,U.parseIndex=function(e,{getFn:t=w.getFn,fieldNormWeight:i=w.fieldNormWeight}={}){let{keys:n,records:s}=e,o=new C({getFn:t,fieldNormWeight:i});return o.setKeys(n),o.setIndexRecords(s),o},U.config=w,U.parseQuery=W,function(...e){A.push(...e)}(class{constructor(e,{isCaseSensitive:t=w.isCaseSensitive,includeMatches:i=w.includeMatches,minMatchCharLength:n=w.minMatchCharLength,ignoreLocation:s=w.ignoreLocation,findAllMatches:o=w.findAllMatches,location:r=w.location,threshold:a=w.threshold,distance:l=w.distance}={}){this.query=null,this.options={isCaseSensitive:t,includeMatches:i,minMatchCharLength:n,findAllMatches:o,ignoreLocation:s,location:r,threshold:a,distance:l},this.pattern=t?e:e.toLowerCase(),this.query=function(e,t={}){return e.split("|").map(e=>{let i=e.trim().split(D).filter(e=>e&&!!e.trim()),n=[];for(let e=0,s=i.length;ee.subject===r))>-1?t[o]=i[a].copy:(l=Object.assign(Array.isArray(r)?[]:{},r),i.unshift({subject:r,copy:l}),t[o]=this.deepClone(r,l,i)))}return t}}let lf=class e extends lm{constructor(e,t,i){super(e),this.element=t,this.container=this._lookupContainer(),this.parent=i,this.reversedX=!1,this.childPopup=null,this.blurable=!1,this.blurCallback=null,this.blurEventsBound=!1,this.renderedCallback=null,this.visible=!1,this.hideable=!0,this.element.classList.add("tabulator-popup-container"),this.blurEvent=this.hide.bind(this,!1),this.escEvent=this._escapeCheck.bind(this),this.destroyBinding=this.tableDestroyed.bind(this),this.destroyed=!1}tableDestroyed(){this.destroyed=!0,this.hide(!0)}_lookupContainer(){var e=this.table.options.popupContainer;return"string"==typeof e?(e=document.querySelector(e))||console.warn("Menu Error - no container element found matching selector:",this.table.options.popupContainer,"(defaulting to document body)"):!0===e&&(e=this.table.element),e&&!this._checkContainerIsParent(e)&&(e=!1,console.warn("Menu Error - container element does not contain this table:",this.table.options.popupContainer,"(defaulting to document body)")),e||(e=document.body),e}_checkContainerIsParent(e,t=this.table.element){return e===t||!!t.parentNode&&this._checkContainerIsParent(e,t.parentNode)}renderCallback(e){this.renderedCallback=e}containerEventCoords(e){var t=!(e instanceof MouseEvent),i=t?e.touches[0].pageX:e.pageX,n=t?e.touches[0].pageY:e.pageY;if(this.container!==document.body){let e=lp.elOffset(this.container);i-=e.left,n-=e.top}return{x:i,y:n}}elementPositionCoords(e,t="right"){var i,n,s,o=lp.elOffset(e);switch(this.container!==document.body&&(i=lp.elOffset(this.container),o.left-=i.left,o.top-=i.top),t){case"right":n=o.left+e.offsetWidth,s=o.top-1;break;case"bottom":n=o.left,s=o.top+e.offsetHeight;break;case"left":n=o.left,s=o.top-1;break;case"top":n=o.left,s=o.top;break;case"center":n=o.left+e.offsetWidth/2,s=o.top+e.offsetHeight/2}return{x:n,y:s,offset:o}}show(e,t){var i,n,s,o,r;return this.destroyed||this.table.destroyed||(e instanceof HTMLElement?(s=e,o=(r=this.elementPositionCoords(e,t)).offset,i=r.x,n=r.y):"number"==typeof e?(o={top:0,left:0},i=e,n=t):(i=(r=this.containerEventCoords(e)).x,n=r.y,this.reversedX=!1),this.element.style.top=n+"px",this.element.style.left=i+"px",this.container.appendChild(this.element),"function"==typeof this.renderedCallback&&this.renderedCallback(),this._fitToScreen(i,n,s,o,t),this.visible=!0,this.subscribe("table-destroy",this.destroyBinding),this.element.addEventListener("mousedown",e=>{e.stopPropagation()})),this}_fitToScreen(e,t,i,n,s){var o=this.container===document.body?document.documentElement.scrollTop:this.container.scrollTop;(e+this.element.offsetWidth>=this.container.offsetWidth||this.reversedX)&&(this.element.style.left="",i?this.element.style.right=this.container.offsetWidth-n.left+"px":this.element.style.right=this.container.offsetWidth-e+"px",this.reversedX=!0);let r=Math.max(this.container.offsetHeight,o?this.container.scrollHeight:0);t+this.element.offsetHeight>r&&(i?"bottom"===s?this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight-i.offsetHeight-1+"px":this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight+i.offsetHeight+1+"px":this.element.style.height=r+"px")}isVisible(){return this.visible}hideOnBlur(e){return this.blurable=!0,this.visible&&(setTimeout(()=>{this.visible&&(this.table.rowManager.element.addEventListener("scroll",this.blurEvent),this.subscribe("cell-editing",this.blurEvent),document.body.addEventListener("click",this.blurEvent),document.body.addEventListener("contextmenu",this.blurEvent),document.body.addEventListener("mousedown",this.blurEvent),window.addEventListener("resize",this.blurEvent),document.body.addEventListener("keydown",this.escEvent),this.blurEventsBound=!0)},100),this.blurCallback=e),this}_escapeCheck(e){27==e.keyCode&&this.hide()}blockHide(){this.hideable=!1}restoreHide(){this.hideable=!0}hide(e=!1){return this.visible&&this.hideable&&(this.blurable&&this.blurEventsBound&&(document.body.removeEventListener("keydown",this.escEvent),document.body.removeEventListener("click",this.blurEvent),document.body.removeEventListener("contextmenu",this.blurEvent),document.body.removeEventListener("mousedown",this.blurEvent),window.removeEventListener("resize",this.blurEvent),this.table.rowManager.element.removeEventListener("scroll",this.blurEvent),this.unsubscribe("cell-editing",this.blurEvent),this.blurEventsBound=!1),this.childPopup&&this.childPopup.hide(),this.parent&&(this.parent.childPopup=null),this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.visible=!1,this.blurCallback&&!e&&this.blurCallback(),this.unsubscribe("table-destroy",this.destroyBinding)),this}child(t){return this.childPopup&&this.childPopup.hide(),this.childPopup=new e(this.table,t,this),this.childPopup}};class lg extends lm{constructor(e,t){super(e),this._handler=null}initialize(){}registerTableOption(e,t){this.table.optionsList.register(e,t)}registerColumnOption(e,t){this.table.columnManager.optionsList.register(e,t)}registerTableFunction(e,t){void 0===this.table[e]?this.table[e]=(...i)=>(this.table.initGuard(e),t(...i)):console.warn("Unable to bind table function, name already in use",e)}registerComponentFunction(e,t,i){return this.table.componentFunctionBinder.bind(e,t,i)}registerDataHandler(e,t){this.table.rowManager.registerDataPipelineHandler(e,t),this._handler=e}registerDisplayHandler(e,t){this.table.rowManager.registerDisplayPipelineHandler(e,t),this._handler=e}displayRows(e){var t,i=this.table.rowManager.displayRows.length-1;if(this._handler&&(t=this.table.rowManager.displayPipeline.findIndex(e=>e.handler===this._handler))>-1&&(i=t),e&&(i+=e),this._handler)return i>-1?this.table.rowManager.getDisplayRows(i):this.activeRows()}activeRows(){return this.table.rowManager.activeRows}refreshData(e,t){t||(t=this._handler),t&&this.table.rowManager.refreshActiveData(t,!1,e)}footerAppend(e){return this.table.footerManager.append(e)}footerPrepend(e){return this.table.footerManager.prepend(e)}footerRemove(e){return this.table.footerManager.remove(e)}popup(e,t){return new lf(this.table,e,t)}alert(e,t){return this.table.alertManager.alert(e,t)}clearAlert(){return this.table.alertManager.clear()}}var lb={rownum:function(e,t,i,n,s,o){return o.getPosition()}};class lv extends lg{static moduleName="accessor";static accessors=lb;constructor(e){super(e),this.allowedTypes=["","data","download","clipboard","print","htmlOutput"],this.registerColumnOption("accessor"),this.registerColumnOption("accessorParams"),this.registerColumnOption("accessorData"),this.registerColumnOption("accessorDataParams"),this.registerColumnOption("accessorDownload"),this.registerColumnOption("accessorDownloadParams"),this.registerColumnOption("accessorClipboard"),this.registerColumnOption("accessorClipboardParams"),this.registerColumnOption("accessorPrint"),this.registerColumnOption("accessorPrintParams"),this.registerColumnOption("accessorHtmlOutput"),this.registerColumnOption("accessorHtmlOutputParams")}initialize(){this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("row-data-retrieve",this.transformRow.bind(this))}initializeColumn(e){var t=!1,i={};this.allowedTypes.forEach(n=>{var s,o="accessor"+(n.charAt(0).toUpperCase()+n.slice(1));e.definition[o]&&(s=this.lookupAccessor(e.definition[o]))&&(t=!0,i[o]={accessor:s,params:e.definition[o+"Params"]||{}})}),t&&(e.modules.accessor=i)}lookupAccessor(e){var t=!1;switch(typeof e){case"string":lv.accessors[e]?t=lv.accessors[e]:console.warn("Accessor Error - No such accessor found, ignoring: ",e);break;case"function":t=e}return t}transformRow(e,t){var i="accessor"+(t.charAt(0).toUpperCase()+t.slice(1)),n=e.getComponent(),s=lp.deepClone(e.data||{});return this.table.columnManager.traverse(function(e){var o,r,a,l;e.modules.accessor&&(r=e.modules.accessor[i]||e.modules.accessor.accessor||!1)&&"undefined"!=(o=e.getFieldValue(s))&&(l=e.getComponent(),a="function"==typeof r.params?r.params(o,s,t,l,n):r.params,e.setFieldValue(s,r.accessor(o,s,t,a,l,n)))}),s}}var ly={method:"GET"};function lw(e,t,i){if(e&&i&&Object.keys(i).length&&(!t.method||"get"==t.method.toLowerCase())){var n,s;t.method="get",e+=(e.includes("?")?"&":"?")+(n=function e(t,i){var n=[];if(i=i||"",Array.isArray(t))t.forEach((t,s)=>{n=n.concat(e(t,i?i+"["+s+"]":s))});else if("object"==typeof t)for(var s in t)n=n.concat(e(t[s],i?i+"["+s+"]":s));else n.push({key:i,value:t});return n}(i),s=[],n.forEach(function(e){s.push(encodeURIComponent(e.key)+"="+encodeURIComponent(e.value))}),s.join("&"))}return e}function l_(e,t,i){var n;return new Promise((s,o)=>{if(e=this.urlGenerator.call(this.table,e,t,i),"GET"!=t.method.toUpperCase()){if(n="object"==typeof this.table.options.ajaxContentType?this.table.options.ajaxContentType:this.contentTypeFormatters[this.table.options.ajaxContentType]){for(var r in n.headers)t.headers||(t.headers={}),void 0===t.headers[r]&&(t.headers[r]=n.headers[r]);t.body=n.body.call(this,e,t,i)}else console.warn("Ajax Error - Invalid ajaxContentType value:",this.table.options.ajaxContentType)}e?(void 0===t.headers&&(t.headers={}),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),void 0===t.headers["X-Requested-With"]&&(t.headers["X-Requested-With"]="XMLHttpRequest"),void 0===t.mode&&(t.mode="cors"),"cors"==t.mode?(void 0===t.headers.Origin&&(t.headers.Origin=window.location.origin),void 0===t.credentials&&(t.credentials="same-origin")):void 0===t.credentials&&(t.credentials="include"),fetch(e,t).then(e=>{e.ok?e.json().then(e=>{s(e)}).catch(e=>{o(e),console.warn("Ajax Load Error - Invalid JSON returned",e)}):(console.error("Ajax Load Error - Connection Error: "+e.status,e.statusText),o(e))}).catch(e=>{console.error("Ajax Load Error - Connection Error: ",e),o(e)})):(console.warn("Ajax Load Error - No URL Set"),s([]))})}var lC={json:{headers:{"Content-Type":"application/json"},body:function(e,t,i){return JSON.stringify(i)}},form:{headers:{},body:function(e,t,i){var n=function e(t,i){var n=[];if(i=i||"",Array.isArray(t))t.forEach((t,s)=>{n=n.concat(e(t,i?i+"["+s+"]":s))});else if("object"==typeof t)for(var s in t)n=n.concat(e(t[s],i?i+"["+s+"]":s));else n.push({key:i,value:t});return n}(i),s=new FormData;return n.forEach(function(e){s.append(e.key,e.value)}),s}}};class lE extends lg{static moduleName="ajax";static defaultConfig=ly;static defaultURLGenerator=lw;static defaultLoaderPromise=l_;static contentTypeFormatters=lC;constructor(e){super(e),this.config={},this.url="",this.urlGenerator=!1,this.params=!1,this.loaderPromise=!1,this.registerTableOption("ajaxURL",!1),this.registerTableOption("ajaxURLGenerator",!1),this.registerTableOption("ajaxParams",{}),this.registerTableOption("ajaxConfig","get"),this.registerTableOption("ajaxContentType","form"),this.registerTableOption("ajaxRequestFunc",!1),this.registerTableOption("ajaxRequesting",function(){}),this.registerTableOption("ajaxResponse",!1),this.contentTypeFormatters=lE.contentTypeFormatters}initialize(){this.loaderPromise=this.table.options.ajaxRequestFunc||lE.defaultLoaderPromise,this.urlGenerator=this.table.options.ajaxURLGenerator||lE.defaultURLGenerator,this.table.options.ajaxURL&&this.setUrl(this.table.options.ajaxURL),this.setDefaultConfig(this.table.options.ajaxConfig),this.registerTableFunction("getAjaxUrl",this.getUrl.bind(this)),this.subscribe("data-loading",this.requestDataCheck.bind(this)),this.subscribe("data-params",this.requestParams.bind(this)),this.subscribe("data-load",this.requestData.bind(this))}requestParams(e,t,i,n){var s=this.table.options.ajaxParams;return s&&("function"==typeof s&&(s=s.call(this.table)),n=Object.assign(Object.assign({},s),n)),n}requestDataCheck(e,t,i,n){return!!(!e&&this.url||"string"==typeof e)}requestData(e,t,i,n,s){var o;return!s&&this.requestDataCheck(e)?(e&&this.setUrl(e),o=this.generateConfig(i),this.sendRequest(this.url,t,o)):s}setDefaultConfig(e={}){this.config=Object.assign({},lE.defaultConfig),"string"==typeof e?this.config.method=e:Object.assign(this.config,e)}generateConfig(e={}){var t=Object.assign({},this.config);return"string"==typeof e?t.method=e:Object.assign(t,e),t}setUrl(e){this.url=e}getUrl(){return this.url}sendRequest(e,t,i){return!1!==this.table.options.ajaxRequesting.call(this.table,e,t)?this.loaderPromise(e,i,t).then(i=>(this.table.options.ajaxResponse&&(i=this.table.options.ajaxResponse.call(this.table,e,t,i)),i)):Promise.reject()}}var lx={replace:function(e){return this.table.setData(e)},update:function(e){return this.table.updateOrAddData(e)},insert:function(e){return this.table.addData(e)}},lT={table:function(e){var t=[],i=!0,n=this.table.columnManager.columns,s=[],o=[];return(e=e.split("\n")).forEach(function(e){t.push(e.split(" "))}),!!t.length&&!(1===t.length&&t[0].length<2)&&(t[0].forEach(function(e){var t=n.find(function(t){return e&&t.definition.title&&e.trim()&&t.definition.title.trim()===e.trim()});t?s.push(t):i=!1}),i||(i=!0,s=[],t[0].forEach(function(e){var t=n.find(function(t){return e&&t.field&&e.trim()&&t.field.trim()===e.trim()});t?s.push(t):i=!1}),i||(s=this.table.columnManager.columnsByIndex)),i&&t.shift(),t.forEach(function(e){var t={};e.forEach(function(e,i){s[i]&&(t[s[i].field]=e)}),o.push(t)}),o)}},lk={keybindings:{bindings:{copyToClipboard:["ctrl + 67","meta + 67"]},actions:{copyToClipboard:function(e){!this.table.modules.edit.currentCell&&this.table.modExists("clipboard",!0)&&this.table.modules.clipboard.copy(!1,!0)}}}};class lS extends lg{static moduleName="clipboard";static moduleExtensions=lk;static pasteActions=lx;static pasteParsers=lT;constructor(e){super(e),this.mode=!0,this.pasteParser=function(){},this.pasteAction=function(){},this.customSelection=!1,this.rowRange=!1,this.blocked=!0,this.registerTableOption("clipboard",!1),this.registerTableOption("clipboardCopyStyled",!0),this.registerTableOption("clipboardCopyConfig",!1),this.registerTableOption("clipboardCopyFormatter",!1),this.registerTableOption("clipboardCopyRowRange","active"),this.registerTableOption("clipboardPasteParser","table"),this.registerTableOption("clipboardPasteAction","insert"),this.registerColumnOption("clipboard"),this.registerColumnOption("titleClipboard")}initialize(){this.mode=this.table.options.clipboard,this.rowRange=this.table.options.clipboardCopyRowRange,(!0===this.mode||"copy"===this.mode)&&this.table.element.addEventListener("copy",e=>{var t,i,n;this.blocked||(e.preventDefault(),this.customSelection?(t=this.customSelection,this.table.options.clipboardCopyFormatter&&(t=this.table.options.clipboardCopyFormatter("plain",t))):(n=this.table.modules.export.generateExportList(this.table.options.clipboardCopyConfig,this.table.options.clipboardCopyStyled,this.rowRange,"clipboard"),t=(i=this.table.modules.export.generateHTMLTable(n))?this.generatePlainContent(n):"",this.table.options.clipboardCopyFormatter&&(t=this.table.options.clipboardCopyFormatter("plain",t),i=this.table.options.clipboardCopyFormatter("html",i))),window.clipboardData&&window.clipboardData.setData?window.clipboardData.setData("Text",t):e.clipboardData&&e.clipboardData.setData?(e.clipboardData.setData("text/plain",t),i&&e.clipboardData.setData("text/html",i)):e.originalEvent&&e.originalEvent.clipboardData.setData&&(e.originalEvent.clipboardData.setData("text/plain",t),i&&e.originalEvent.clipboardData.setData("text/html",i)),this.dispatchExternal("clipboardCopied",t,i),this.reset())}),(!0===this.mode||"paste"===this.mode)&&this.table.element.addEventListener("paste",e=>{this.paste(e)}),this.setPasteParser(this.table.options.clipboardPasteParser),this.setPasteAction(this.table.options.clipboardPasteAction),this.registerTableFunction("copyToClipboard",this.copy.bind(this))}reset(){this.blocked=!0,this.customSelection=!1}generatePlainContent(e){var t=[];return e.forEach(e=>{var i=[];e.columns.forEach(t=>{var n="";if(t){if("group"===e.type&&(t.value=t.component.getKey()),null===t.value)n="";else switch(typeof t.value){case"object":n=JSON.stringify(t.value);break;case"undefined":n="";break;default:n=t.value}}i.push(n)}),t.push(i.join(" "))}),t.join("\n")}copy(e,t){var i,n;this.blocked=!1,this.customSelection=!1,(!0===this.mode||"copy"===this.mode)&&(this.rowRange=e||this.table.options.clipboardCopyRowRange,void 0!==window.getSelection&&void 0!==document.createRange?((e=document.createRange()).selectNodeContents(this.table.element),(i=window.getSelection()).toString()&&t&&(this.customSelection=i.toString()),i.removeAllRanges(),i.addRange(e)):void 0!==document.selection&&void 0!==document.body.createTextRange&&((n=document.body.createTextRange()).moveToElementText(this.table.element),n.select()),document.execCommand("copy"),i&&i.removeAllRanges())}setPasteAction(e){switch(typeof e){case"string":this.pasteAction=lS.pasteActions[e],this.pasteAction||console.warn("Clipboard Error - No such paste action found:",e);break;case"function":this.pasteAction=e}}setPasteParser(e){switch(typeof e){case"string":this.pasteParser=lS.pasteParsers[e],this.pasteParser||console.warn("Clipboard Error - No such paste parser found:",e);break;case"function":this.pasteParser=e}}paste(e){var t,i,n;this.checkPasteOrigin(e)&&(t=this.getPasteData(e),(i=this.pasteParser.call(this,t))?(e.preventDefault(),this.table.modExists("mutator")&&(i=this.mutateData(i)),n=this.pasteAction.call(this,i),this.dispatchExternal("clipboardPasted",t,i,n)):this.dispatchExternal("clipboardPasteError",t))}mutateData(e){var t=[];return Array.isArray(e)?e.forEach(e=>{t.push(this.table.modules.mutator.transformRow(e,"clipboard"))}):t=e,t}checkPasteOrigin(e){var t=!0;return(this.confirm("clipboard-paste",[e])||!["DIV","SPAN"].includes(e.target.tagName))&&(t=!1),t}getPasteData(e){var t;return window.clipboardData&&window.clipboardData.getData?t=window.clipboardData.getData("Text"):e.clipboardData&&e.clipboardData.getData?t=e.clipboardData.getData("text/plain"):e.originalEvent&&e.originalEvent.clipboardData.getData&&(t=e.originalEvent.clipboardData.getData("text/plain")),t}}class lL{constructor(e){return this._row=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._row.table.componentFunctionBinder.handle("row",e._row,t)}})}getData(e){return this._row.getData(e)}getElement(){return this._row.getElement()}getTable(){return this._row.table}getCells(){var e=[];return this._row.getCells().forEach(function(t){e.push(t.getComponent())}),e}getCell(e){var t=this._row.getCell(e);return!!t&&t.getComponent()}_getSelf(){return this._row}}class lM{constructor(e){return this._cell=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._cell.table.componentFunctionBinder.handle("cell",e._cell,t)}})}getValue(){return this._cell.getValue()}getOldValue(){return this._cell.getOldValue()}getInitialValue(){return this._cell.initialValue}getElement(){return this._cell.getElement()}getRow(){return this._cell.row.getComponent()}getData(e){return this._cell.row.getData(e)}getType(){return"cell"}getField(){return this._cell.column.getField()}getColumn(){return this._cell.column.getComponent()}setValue(e,t){void 0===t&&(t=!0),this._cell.setValue(e,t)}restoreOldValue(){this._cell.setValueActual(this._cell.getOldValue())}restoreInitialValue(){this._cell.setValueActual(this._cell.initialValue)}checkHeight(){this._cell.checkHeight()}getTable(){return this._cell.table}_getSelf(){return this._cell}}class lR extends lm{constructor(e,t){super(e.table),this.table=e.table,this.column=e,this.row=t,this.element=null,this.value=null,this.initialValue,this.oldValue=null,this.modules={},this.height=null,this.width=null,this.minWidth=null,this.component=null,this.loaded=!1,this.build()}build(){this.generateElement(),this.setWidth(),this._configureCell(),this.setValueActual(this.column.getFieldValue(this.row.data)),this.initialValue=this.value}generateElement(){this.element=document.createElement("div"),this.element.className="tabulator-cell",this.element.setAttribute("role","gridcell"),this.column.isRowHeader&&this.element.classList.add("tabulator-row-header")}_configureCell(){var e=this.element,t=this.column.getField();e.style.textAlign=this.column.hozAlign,this.column.vertAlign&&(e.style.display="inline-flex",e.style.alignItems=({top:"flex-start",bottom:"flex-end",middle:"center"})[this.column.vertAlign]||"",this.column.hozAlign&&(e.style.justifyContent=({left:"flex-start",right:"flex-end",center:"center"})[this.column.hozAlign]||"")),t&&e.setAttribute("tabulator-field",t),this.column.definition.cssClass&&this.column.definition.cssClass.split(" ").forEach(t=>{e.classList.add(t)}),this.dispatch("cell-init",this),this.column.visible||this.hide()}_generateContents(){var e;switch(typeof(e=this.chain("cell-format",this,null,()=>this.element.innerHTML=this.value))){case"object":if(e instanceof Node){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.element.appendChild(e)}else this.element.innerHTML="",null!=e&&console.warn("Format Error - Formatter has returned a type of object, the only valid formatter object return is an instance of Node, the formatter returned:",e);break;case"undefined":this.element.innerHTML="";break;default:this.element.innerHTML=e}}cellRendered(){this.dispatch("cell-rendered",this)}getElement(e){return this.loaded||(this.loaded=!0,e||this.layoutElement()),this.element}getValue(){return this.value}getOldValue(){return this.oldValue}setValue(e,t,i){this.setValueProcessData(e,t,i)&&(this.dispatch("cell-value-updated",this),this.cellRendered(),this.column.definition.cellEdited&&this.column.definition.cellEdited.call(this.table,this.getComponent()),this.dispatchExternal("cellEdited",this.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()))}setValueProcessData(e,t,i){var n=!1;return(this.value!==e||i)&&(n=!0,t&&(e=this.chain("cell-value-changing",[this,e],null,e))),this.setValueActual(e),n&&this.dispatch("cell-value-changed",this),n}setValueActual(e){this.oldValue=this.value,this.value=e,this.dispatch("cell-value-save-before",this),this.column.setFieldValue(this.row.data,e),this.dispatch("cell-value-save-after",this),this.loaded&&this.layoutElement()}layoutElement(){this._generateContents(),this.dispatch("cell-layout",this)}setWidth(){this.width=this.column.width,this.element.style.width=this.column.widthStyled}clearWidth(){this.width="",this.element.style.width=""}getWidth(){return this.width||this.element.offsetWidth}setMinWidth(){this.minWidth=this.column.minWidth,this.element.style.minWidth=this.column.minWidthStyled}setMaxWidth(){this.maxWidth=this.column.maxWidth,this.element.style.maxWidth=this.column.maxWidthStyled}checkHeight(){this.row.reinitializeHeight()}clearHeight(){this.element.style.height="",this.height=null,this.dispatch("cell-height",this,"")}setHeight(){this.height=this.row.height,this.element.style.height=this.row.heightStyled,this.dispatch("cell-height",this,this.row.heightStyled)}getHeight(){return this.height||this.element.offsetHeight}show(){this.element.style.display=this.column.vertAlign?"inline-flex":""}hide(){this.element.style.display="none"}delete(){this.dispatch("cell-delete",this),!this.table.rowManager.redrawBlock&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=!1,this.column.deleteCell(this),this.row.deleteCell(this),this.calcs={}}getIndex(){return this.row.getCellIndex(this)}getComponent(){return this.component||(this.component=new lM(this)),this.component}}class lP{constructor(e){return this._column=e,this.type="ColumnComponent",new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._column.table.componentFunctionBinder.handle("column",e._column,t)}})}getElement(){return this._column.getElement()}getDefinition(){return this._column.getDefinition()}getField(){return this._column.getField()}getTitleDownload(){return this._column.getTitleDownload()}getCells(){var e=[];return this._column.cells.forEach(function(t){e.push(t.getComponent())}),e}isVisible(){return this._column.visible}show(){this._column.isGroup?this._column.columns.forEach(function(e){e.show()}):this._column.show()}hide(){this._column.isGroup?this._column.columns.forEach(function(e){e.hide()}):this._column.hide()}toggle(){this._column.visible?this.hide():this.show()}delete(){return this._column.delete()}getSubColumns(){var e=[];return this._column.columns.length&&this._column.columns.forEach(function(t){e.push(t.getComponent())}),e}getParentColumn(){return this._column.getParentComponent()}_getSelf(){return this._column}scrollTo(e,t){return this._column.table.columnManager.scrollToColumn(this._column,e,t)}getTable(){return this._column.table}move(e,t){var i=this._column.table.columnManager.findColumn(e);i?this._column.table.columnManager.moveColumn(this._column,i,t):console.warn("Move Error - No matching column found:",i)}getNextColumn(){var e=this._column.nextColumn();return!!e&&e.getComponent()}getPrevColumn(){var e=this._column.prevColumn();return!!e&&e.getComponent()}updateDefinition(e){return this._column.updateDefinition(e)}getWidth(){return this._column.getWidth()}setWidth(e){var t;return t=!0===e?this._column.reinitializeWidth(!0):this._column.setWidth(e),this._column.table.columnManager.rerenderColumns(!0),t}}var lO={title:void 0,field:void 0,columns:void 0,visible:void 0,hozAlign:void 0,vertAlign:void 0,width:void 0,minWidth:40,maxWidth:void 0,maxInitialWidth:void 0,cssClass:void 0,variableHeight:void 0,headerVertical:void 0,headerHozAlign:void 0,headerWordWrap:!1,editableTitle:void 0};class lD extends lm{static defaultOptionList=lO;constructor(e,t,i){super(t.table),this.definition=e,this.parent=t,this.type="column",this.columns=[],this.cells=[],this.isGroup=!1,this.isRowHeader=i,this.element=this.createElement(),this.contentElement=!1,this.titleHolderElement=!1,this.titleElement=!1,this.groupElement=this.createGroupElement(),this.hozAlign="",this.vertAlign="",this.field="",this.fieldStructure="",this.getFieldValue="",this.setFieldValue="",this.titleDownload=null,this.titleFormatterRendered=!1,this.mapDefinitions(),this.setField(this.definition.field),this.modules={},this.width=null,this.widthStyled="",this.maxWidth=null,this.maxWidthStyled="",this.maxInitialWidth=null,this.minWidth=null,this.minWidthStyled="",this.widthFixed=!1,this.visible=!0,this.component=null,this.definition.columns?(this.isGroup=!0,this.definition.columns.forEach((e,t)=>{var i=new lD(e,this);this.attachColumn(i)}),this.checkColumnVisibility()):t.registerColumnField(this),this._initialize()}createElement(){var e=document.createElement("div");switch(e.classList.add("tabulator-col"),e.setAttribute("role","columnheader"),e.setAttribute("aria-sort","none"),this.isRowHeader&&e.classList.add("tabulator-row-header"),this.table.options.columnHeaderVertAlign){case"middle":e.style.justifyContent="center";break;case"bottom":e.style.justifyContent="flex-end"}return e}createGroupElement(){var e=document.createElement("div");return e.classList.add("tabulator-col-group-cols"),e}mapDefinitions(){var e=this.table.options.columnDefaults;if(e)for(let t in e)void 0===this.definition[t]&&(this.definition[t]=e[t]);this.definition=this.table.columnManager.optionsList.generate(lD.defaultOptionList,this.definition)}checkDefinition(){Object.keys(this.definition).forEach(e=>{-1===lD.defaultOptionList.indexOf(e)&&console.warn("Invalid column definition option in '"+(this.field||this.definition.title)+"' column:",e)})}setField(e){this.field=e,this.fieldStructure=e?this.table.options.nestedFieldSeparator?e.split(this.table.options.nestedFieldSeparator):[e]:[],this.getFieldValue=this.fieldStructure.length>1?this._getNestedData:this._getFlatData,this.setFieldValue=this.fieldStructure.length>1?this._setNestedData:this._setFlatData}registerColumnPosition(e){this.parent.registerColumnPosition(e)}registerColumnField(e){this.parent.registerColumnField(e)}reRegisterPosition(){this.isGroup?this.columns.forEach(function(e){e.reRegisterPosition()}):this.registerColumnPosition(this)}_initialize(){for(var e=this.definition;this.element.firstChild;)this.element.removeChild(this.element.firstChild);e.headerVertical&&(this.element.classList.add("tabulator-col-vertical"),"flip"===e.headerVertical&&this.element.classList.add("tabulator-col-vertical-flip")),this.contentElement=this._buildColumnHeaderContent(),this.element.appendChild(this.contentElement),this.isGroup?this._buildGroupHeader():this._buildColumnHeader(),this.dispatch("column-init",this)}_buildColumnHeader(){var e=this.definition;this.dispatch("column-layout",this),void 0!==e.visible&&(e.visible?this.show(!0):this.hide(!0)),e.cssClass&&e.cssClass.split(" ").forEach(e=>{this.element.classList.add(e)}),e.field&&this.element.setAttribute("tabulator-field",e.field),this.setMinWidth(parseInt(e.minWidth)),e.maxInitialWidth&&(this.maxInitialWidth=parseInt(e.maxInitialWidth)),e.maxWidth&&this.setMaxWidth(parseInt(e.maxWidth)),this.reinitializeWidth(),this.hozAlign=this.definition.hozAlign,this.vertAlign=this.definition.vertAlign,this.titleElement.style.textAlign=this.definition.headerHozAlign}_buildColumnHeaderContent(){var e=document.createElement("div");return e.classList.add("tabulator-col-content"),this.titleHolderElement=document.createElement("div"),this.titleHolderElement.classList.add("tabulator-col-title-holder"),e.appendChild(this.titleHolderElement),this.titleElement=this._buildColumnHeaderTitle(),this.titleHolderElement.appendChild(this.titleElement),e}_buildColumnHeaderTitle(){var e=this.definition,t=document.createElement("div");if(t.classList.add("tabulator-col-title"),e.headerWordWrap&&t.classList.add("tabulator-col-title-wrap"),e.editableTitle){var i=document.createElement("input");i.classList.add("tabulator-title-editor"),i.addEventListener("click",e=>{e.stopPropagation(),i.focus()}),i.addEventListener("mousedown",e=>{e.stopPropagation()}),i.addEventListener("change",()=>{e.title=i.value,this.dispatchExternal("columnTitleChanged",this.getComponent())}),t.appendChild(i),e.field?this.langBind("columns|"+e.field,t=>{i.value=t||e.title||" "}):i.value=e.title||" "}else e.field?this.langBind("columns|"+e.field,i=>{this._formatColumnHeaderTitle(t,i||e.title||" ")}):this._formatColumnHeaderTitle(t,e.title||" ");return t}_formatColumnHeaderTitle(e,t){var i=this.chain("column-format",[this,t,e],null,()=>t);switch(typeof i){case"object":i instanceof Node?e.appendChild(i):(e.innerHTML="",console.warn("Format Error - Title formatter has returned a type of object, the only valid formatter object return is an instance of Node, the formatter returned:",i));break;case"undefined":e.innerHTML="";break;default:e.innerHTML=i}}_buildGroupHeader(){this.element.classList.add("tabulator-col-group"),this.element.setAttribute("role","columngroup"),this.element.setAttribute("aria-title",this.definition.title),this.definition.cssClass&&this.definition.cssClass.split(" ").forEach(e=>{this.element.classList.add(e)}),this.titleElement.style.textAlign=this.definition.headerHozAlign,this.element.appendChild(this.groupElement)}_getFlatData(e){return e[this.field]}_getNestedData(e){var t,i=e,n=this.fieldStructure,s=n.length;for(let e=0;e{t.push(e),t=t.concat(e.getColumns(!0))}):t=this.columns,t}getCells(){return this.cells}getTopColumn(){return this.parent.isGroup?this.parent.getTopColumn():this}getDefinition(e){var t=[];return this.isGroup&&e&&(this.columns.forEach(function(e){t.push(e.getDefinition(!0))}),this.definition.columns=t),this.definition}checkColumnVisibility(){var e=!1;this.columns.forEach(function(t){t.visible&&(e=!0)}),e?(this.show(),this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!1)):this.hide()}show(e,t){this.visible||(this.visible=!0,this.element.style.display="",this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach(function(e){e.show()}),this.isGroup||null!==this.width||this.reinitializeWidth(),this.table.columnManager.verticalAlignHeaders(),this.dispatch("column-show",this,t),e||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!0),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}hide(e,t){this.visible&&(this.visible=!1,this.element.style.display="none",this.table.columnManager.verticalAlignHeaders(),this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach(function(e){e.hide()}),this.dispatch("column-hide",this,t),e||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!1),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}matchChildWidths(){var e=0;this.contentElement&&this.columns.length&&(this.columns.forEach(function(t){t.visible&&(e+=t.getWidth())}),this.contentElement.style.maxWidth=e-1+"px",this.table.initialized&&(this.element.style.width=e+"px"),this.parent.isGroup&&this.parent.matchChildWidths())}removeChild(e){var t=this.columns.indexOf(e);t>-1&&this.columns.splice(t,1),this.columns.length||this.delete()}setWidth(e){this.widthFixed=!0,this.setWidthActual(e)}setWidthActual(e){isNaN(e)&&(e=Math.floor(this.table.element.clientWidth/100*parseInt(e))),e=Math.max(this.minWidth,e),this.maxWidth&&(e=Math.min(this.maxWidth,e)),this.width=e,this.widthStyled=e?e+"px":"",this.element.style.width=this.widthStyled,this.isGroup||this.cells.forEach(function(e){e.setWidth()}),this.parent.isGroup&&this.parent.matchChildWidths(),this.dispatch("column-width",this),this.subscribedExternal("columnWidth")&&this.dispatchExternal("columnWidth",this.getComponent())}checkCellHeights(){var e=[];this.cells.forEach(function(t){t.row.heightInitialized&&(null!==t.row.getElement().offsetParent?(e.push(t.row),t.row.clearCellHeight()):t.row.heightInitialized=!1)}),e.forEach(function(e){e.calcHeight()}),e.forEach(function(e){e.setCellHeight()})}getWidth(){var e=0;return this.isGroup?this.columns.forEach(function(t){t.visible&&(e+=t.getWidth())}):e=this.width,e}getLeftOffset(){var e=this.element.offsetLeft;return this.parent.isGroup&&(e+=this.parent.getLeftOffset()),e}getHeight(){return Math.ceil(this.element.getBoundingClientRect().height)}setMinWidth(e){this.maxWidth&&e>this.maxWidth&&console.warn("the minWidth ("+(e=this.maxWidth)+"px) for column '"+this.field+"' cannot be bigger that its maxWidth ("+this.maxWidthStyled+")"),this.minWidth=e,this.minWidthStyled=e?e+"px":"",this.element.style.minWidth=this.minWidthStyled,this.cells.forEach(function(e){e.setMinWidth()})}setMaxWidth(e){this.minWidth&&e{this.isGroup&&this.columns.forEach(function(e){e.delete()}),this.dispatch("column-delete",this);var i=this.cells.length;for(let e=0;e-1&&this._nextVisibleColumn(e+1)}_nextVisibleColumn(e){var t=this.table.columnManager.getColumnByIndex(e);return!t||t.visible?t:this._nextVisibleColumn(e+1)}prevColumn(){var e=this.table.columnManager.findColumnIndex(this);return e>-1&&this._prevVisibleColumn(e-1)}_prevVisibleColumn(e){var t=this.table.columnManager.getColumnByIndex(e);return!t||t.visible?t:this._prevVisibleColumn(e-1)}reinitializeWidth(e){this.widthFixed=!1,void 0===this.definition.width||e||this.setWidth(this.definition.width),this.dispatch("column-width-fit-before",this),this.fitToData(e),this.dispatch("column-width-fit-after",this)}fitToData(e){if(!this.isGroup){this.widthFixed||(this.element.style.width="",this.cells.forEach(e=>{e.clearWidth()}));var t=this.element.offsetWidth;if((!this.width||!this.widthFixed)&&(this.cells.forEach(e=>{var i=e.getWidth();i>t&&(t=i)}),t)){var i=t+1;this.maxInitialWidth&&!e&&(i=Math.min(i,this.maxInitialWidth)),this.setWidthActual(i)}}}updateDefinition(e){var t;return this.isGroup?(console.error("Column Update Error - The updateDefinition function is only available on ungrouped columns"),Promise.reject("Column Update Error - The updateDefinition function is only available on columns, not column groups")):this.parent.isGroup?(console.error("Column Update Error - The updateDefinition function is only available on ungrouped columns"),Promise.reject("Column Update Error - The updateDefinition function is only available on columns, not column groups")):(t=Object.assign(t=Object.assign({},this.getDefinition()),e),this.table.columnManager.addColumn(t,!1,this).then(e=>(t.field==this.field&&(this.field=!1),this.delete().then(()=>e.getComponent()))))}deleteCell(e){var t=this.cells.indexOf(e);t>-1&&this.cells.splice(t,1)}getComponent(){return this.component||(this.component=new lP(this)),this.component}getPosition(){return this.table.columnManager.getVisibleColumnsByIndex().indexOf(this)+1}getParentComponent(){return this.parent instanceof lD&&this.parent.getComponent()}}class lz{constructor(e){return this._row=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._row.table.componentFunctionBinder.handle("row",e._row,t)}})}getData(e){return this._row.getData(e)}getElement(){return this._row.getElement()}getCells(){var e=[];return this._row.getCells().forEach(function(t){e.push(t.getComponent())}),e}getCell(e){var t=this._row.getCell(e);return!!t&&t.getComponent()}getIndex(){return this._row.getData("data")[this._row.table.options.index]}getPosition(){return this._row.getPosition()}watchPosition(e){return this._row.watchPosition(e)}delete(){return this._row.delete()}scrollTo(e,t){return this._row.table.rowManager.scrollToRow(this._row,e,t)}move(e,t){this._row.moveToRow(e,t)}update(e){return this._row.updateData(e)}normalizeHeight(){this._row.normalizeHeight(!0)}_getSelf(){return this._row}reformat(){return this._row.reinitialize()}getTable(){return this._row.table}getNextRow(){var e=this._row.nextRow();return e?e.getComponent():e}getPrevRow(){var e=this._row.prevRow();return e?e.getComponent():e}}class lA extends lm{constructor(e,t,i="row"){super(t.table),this.parent=t,this.data={},this.type=i,this.element=!1,this.modules={},this.cells=[],this.height=0,this.heightStyled="",this.manualHeight=!1,this.outerHeight=0,this.initialized=!1,this.heightInitialized=!1,this.position=0,this.positionWatchers=[],this.component=null,this.created=!1,this.setData(e)}create(){this.created||(this.created=!0,this.generateElement())}createElement(){var e=document.createElement("div");e.classList.add("tabulator-row"),e.setAttribute("role","row"),this.element=e}getElement(){return this.create(),this.element}detachElement(){this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)}generateElement(){this.createElement(),this.dispatch("row-init",this)}generateCells(){this.cells=this.table.columnManager.generateCells(this)}initialize(e,t){if(this.create(),!this.initialized||e){for(this.deleteCells();this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.dispatch("row-layout-before",this),this.generateCells(),this.initialized=!0,this.table.columnManager.renderer.renderRowCells(this,t),e&&this.normalizeHeight(),this.dispatch("row-layout",this),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent()),this.dispatch("row-layout-after",this)}else this.table.columnManager.renderer.rerenderRowCells(this,t)}rendered(){this.cells.forEach(e=>{e.cellRendered()})}reinitializeHeight(){this.heightInitialized=!1,this.element&&null!==this.element.offsetParent&&this.normalizeHeight(!0)}deinitialize(){this.initialized=!1}deinitializeHeight(){this.heightInitialized=!1}reinitialize(e){this.initialized=!1,this.heightInitialized=!1,this.manualHeight||(this.height=0,this.heightStyled=""),this.element&&null!==this.element.offsetParent&&this.initialize(!0),this.dispatch("row-relayout",this)}calcHeight(e){var t=0,i=0;this.table.options.rowHeight?this.height=this.table.options.rowHeight:(i=this.calcMinHeight(),t=this.calcMaxHeight(),e?this.height=Math.max(t,i):this.height=this.manualHeight?this.height:Math.max(t,i)),this.heightStyled=this.height?this.height+"px":"",this.outerHeight=this.element.offsetHeight}calcMinHeight(){return this.table.options.resizableRows?this.element.clientHeight:0}calcMaxHeight(){var e=0;return this.cells.forEach(function(t){var i=t.getHeight();i>e&&(e=i)}),e}setCellHeight(){this.cells.forEach(function(e){e.setHeight()}),this.heightInitialized=!0}clearCellHeight(){this.cells.forEach(function(e){e.clearHeight()})}normalizeHeight(e){e&&!this.table.options.rowHeight&&this.clearCellHeight(),this.calcHeight(e),this.setCellHeight()}setHeight(e,t){(this.height!=e||t)&&(this.manualHeight=!0,this.height=e,this.heightStyled=e?e+"px":"",this.setCellHeight(),this.outerHeight=this.element.offsetHeight,this.subscribedExternal("rowHeight")&&this.dispatchExternal("rowHeight",this.getComponent()))}getHeight(){return this.outerHeight}getWidth(){return this.element.offsetWidth}deleteCell(e){var t=this.cells.indexOf(e);t>-1&&this.cells.splice(t,1)}setData(e){this.data=this.chain("row-data-init-before",[this,e],void 0,e),this.dispatch("row-data-init-after",this)}updateData(e){var t,i=this.element&&lp.elVisible(this.element),n={};return new Promise((s,o)=>{for(let i in"string"==typeof e&&(e=JSON.parse(e)),this.dispatch("row-data-save-before",this),this.subscribed("row-data-changing")&&(n=Object.assign(n=Object.assign(n,this.data),e)),t=this.chain("row-data-changing",[this,n,e],null,e))this.data[i]=t[i];for(let n in this.dispatch("row-data-save-after",this),e)this.table.columnManager.getColumnsByFieldRoot(n).forEach(e=>{let n=this.getCell(e.getField());if(n){let s=e.getFieldValue(t);n.getValue()!==s&&(n.setValueProcessData(s),i&&n.cellRendered())}});i?(this.normalizeHeight(!0),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent())):(this.initialized=!1,this.height=0,this.heightStyled=""),this.dispatch("row-data-changed",this,i,e),this.dispatchExternal("rowUpdated",this.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),s()})}getData(e){return e?this.chain("row-data-retrieve",[this,e],null,this.data):this.data}getCell(e){return e=this.table.columnManager.findColumn(e),this.initialized||0!==this.cells.length||this.generateCells(),this.cells.find(function(t){return t.column===e})}getCellIndex(e){return this.cells.findIndex(function(t){return t===e})}findCell(e){return this.cells.find(t=>t.element===e)}getCells(){return this.initialized||0!==this.cells.length||this.generateCells(),this.cells}nextRow(){return this.table.rowManager.nextDisplayRow(this,!0)||!1}prevRow(){return this.table.rowManager.prevDisplayRow(this,!0)||!1}moveToRow(e,t){var i=this.table.rowManager.findRow(e);i?(this.table.rowManager.moveRowActual(this,i,!t),this.table.rowManager.refreshActiveData("display",!1,!0)):console.warn("Move Error - No matching row found:",e)}delete(){return this.dispatch("row-delete",this),this.deleteActual(),Promise.resolve()}deleteActual(e){this.detachModules(),this.table.rowManager.deleteRow(this,e),this.deleteCells(),this.initialized=!1,this.heightInitialized=!1,this.element=!1,this.dispatch("row-deleted",this)}detachModules(){this.dispatch("row-deleting",this)}deleteCells(){var e=this.cells.length;for(let t=0;t{e(this.position)}))}watchPosition(e){this.positionWatchers.push(e),e(this.position)}getGroup(){return this.modules.group||!1}getComponent(){return this.component||(this.component=new lz(this)),this.component}}var lI={avg:function(e,t,i){var n=0,s=void 0!==i.precision?i.precision:2;return e.length&&(n=e.reduce(function(e,t){return Number(e)+Number(t)})/e.length,n=!1!==s?n.toFixed(s):n),parseFloat(n).toString()},max:function(e,t,i){var n=null,s=void 0!==i.precision&&i.precision;return e.forEach(function(e){((e=Number(e))>n||null===n)&&(n=e)}),null!==n?!1!==s?n.toFixed(s):n:""},min:function(e,t,i){var n=null,s=void 0!==i.precision&&i.precision;return e.forEach(function(e){((e=Number(e))(e||0===t)&&e.indexOf(t)===i).length}};class lF extends lg{static moduleName="columnCalcs";static calculations=lI;constructor(e){super(e),this.topCalcs=[],this.botCalcs=[],this.genColumn=!1,this.topElement=this.createElement(),this.botElement=this.createElement(),this.topRow=!1,this.botRow=!1,this.topInitialized=!1,this.botInitialized=!1,this.blocked=!1,this.recalcAfterBlock=!1,this.registerTableOption("columnCalcs",!0),this.registerColumnOption("topCalc"),this.registerColumnOption("topCalcParams"),this.registerColumnOption("topCalcFormatter"),this.registerColumnOption("topCalcFormatterParams"),this.registerColumnOption("bottomCalc"),this.registerColumnOption("bottomCalcParams"),this.registerColumnOption("bottomCalcFormatter"),this.registerColumnOption("bottomCalcFormatterParams")}createElement(){var e=document.createElement("div");return e.classList.add("tabulator-calcs-holder"),e}initialize(){this.genColumn=new lD({field:"value"},this),this.subscribe("cell-value-changed",this.cellValueChanged.bind(this)),this.subscribe("column-init",this.initializeColumnCheck.bind(this)),this.subscribe("row-deleted",this.rowsUpdated.bind(this)),this.subscribe("scroll-horizontal",this.scrollHorizontal.bind(this)),this.subscribe("row-added",this.rowsUpdated.bind(this)),this.subscribe("column-moved",this.recalcActiveRows.bind(this)),this.subscribe("column-add",this.recalcActiveRows.bind(this)),this.subscribe("data-refreshed",this.recalcActiveRowsRefresh.bind(this)),this.subscribe("table-redraw",this.tableRedraw.bind(this)),this.subscribe("rows-visible",this.visibleRows.bind(this)),this.subscribe("scrollbar-vertical",this.adjustForScrollbar.bind(this)),this.subscribe("redraw-blocked",this.blockRedraw.bind(this)),this.subscribe("redraw-restored",this.restoreRedraw.bind(this)),this.subscribe("table-redrawing",this.resizeHolderWidth.bind(this)),this.subscribe("column-resized",this.resizeHolderWidth.bind(this)),this.subscribe("column-show",this.resizeHolderWidth.bind(this)),this.subscribe("column-hide",this.resizeHolderWidth.bind(this)),this.registerTableFunction("getCalcResults",this.getResults.bind(this)),this.registerTableFunction("recalc",this.userRecalc.bind(this)),this.resizeHolderWidth()}resizeHolderWidth(){this.topElement.style.minWidth=this.table.columnManager.headersElement.offsetWidth+"px"}tableRedraw(e){this.recalc(this.table.rowManager.activeRows),e&&this.redraw()}blockRedraw(){this.blocked=!0,this.recalcAfterBlock=!1}restoreRedraw(){this.blocked=!1,this.recalcAfterBlock&&(this.recalcAfterBlock=!1,this.recalcActiveRowsRefresh())}userRecalc(){this.recalc(this.table.rowManager.activeRows)}blockCheck(){return this.blocked&&(this.recalcAfterBlock=!0),this.blocked}visibleRows(e,t){return this.topRow&&t.unshift(this.topRow),this.botRow&&t.push(this.botRow),t}rowsUpdated(e){this.table.options.groupBy?this.recalcRowGroup(e):this.recalcActiveRows()}recalcActiveRowsRefresh(){this.table.options.groupBy&&this.table.options.dataTreeStartExpanded&&this.table.options.dataTree?this.recalcAll():this.recalcActiveRows()}recalcActiveRows(){this.recalc(this.table.rowManager.activeRows)}cellValueChanged(e){(e.column.definition.topCalc||e.column.definition.bottomCalc)&&(this.table.options.groupBy?(("table"==this.table.options.columnCalcs||"both"==this.table.options.columnCalcs)&&this.recalcActiveRows(),"table"!=this.table.options.columnCalcs&&this.recalcRowGroup(e.row)):this.recalcActiveRows())}initializeColumnCheck(e){(e.definition.topCalc||e.definition.bottomCalc)&&this.initializeColumn(e)}initializeColumn(e){var t=e.definition,i={topCalcParams:t.topCalcParams||{},botCalcParams:t.bottomCalcParams||{}};if(t.topCalc){switch(typeof t.topCalc){case"string":lF.calculations[t.topCalc]?i.topCalc=lF.calculations[t.topCalc]:console.warn("Column Calc Error - No such calculation found, ignoring: ",t.topCalc);break;case"function":i.topCalc=t.topCalc}i.topCalc&&(e.modules.columnCalcs=i,this.topCalcs.push(e),"group"!=this.table.options.columnCalcs&&this.initializeTopRow())}if(t.bottomCalc){switch(typeof t.bottomCalc){case"string":lF.calculations[t.bottomCalc]?i.botCalc=lF.calculations[t.bottomCalc]:console.warn("Column Calc Error - No such calculation found, ignoring: ",t.bottomCalc);break;case"function":i.botCalc=t.bottomCalc}i.botCalc&&(e.modules.columnCalcs=i,this.botCalcs.push(e),"group"!=this.table.options.columnCalcs&&this.initializeBottomRow())}}registerColumnField(){}removeCalcs(){var e=!1;this.topInitialized&&(this.topInitialized=!1,this.topElement.parentNode.removeChild(this.topElement),e=!0),this.botInitialized&&(this.botInitialized=!1,this.footerRemove(this.botElement),e=!0),e&&this.table.rowManager.adjustTableSize()}reinitializeCalcs(){this.topCalcs.length&&this.initializeTopRow(),this.botCalcs.length&&this.initializeBottomRow()}initializeTopRow(){var e=document.createDocumentFragment();this.topInitialized||(e.appendChild(document.createElement("br")),e.appendChild(this.topElement),this.table.columnManager.getContentsElement().insertBefore(e,this.table.columnManager.headersElement.nextSibling),this.topInitialized=!0)}initializeBottomRow(){this.botInitialized||(this.footerPrepend(this.botElement),this.botInitialized=!0)}scrollHorizontal(e){this.botInitialized&&this.botRow&&(this.botElement.scrollLeft=e)}recalc(e){var t,i;if(!this.blockCheck()&&(this.topInitialized||this.botInitialized)){if(t=this.rowsToData(e),this.topInitialized){for(this.topRow&&this.topRow.deleteCells(),i=this.generateRow("top",t),this.topRow=i;this.topElement.firstChild;)this.topElement.removeChild(this.topElement.firstChild);this.topElement.appendChild(i.getElement()),i.initialize(!0)}if(this.botInitialized){for(this.botRow&&this.botRow.deleteCells(),i=this.generateRow("bottom",t),this.botRow=i;this.botElement.firstChild;)this.botElement.removeChild(this.botElement.firstChild);this.botElement.appendChild(i.getElement()),i.initialize(!0)}this.table.rowManager.adjustTableSize(),this.table.modExists("frozenColumns")&&this.table.modules.frozenColumns.layout()}}recalcRowGroup(e){this.recalcGroup(this.table.modules.groupRows.getRowGroup(e))}recalcAll(){(this.topCalcs.length||this.botCalcs.length)&&("group"!==this.table.options.columnCalcs&&this.recalcActiveRows(),this.table.options.groupBy&&"table"!==this.table.options.columnCalcs&&this.table.modules.groupRows.getChildGroups().forEach(e=>{this.recalcGroup(e)}))}recalcGroup(e){var t,i;!this.blockCheck()&&e&&e.calcs&&(e.calcs.bottom&&(t=this.rowsToData(e.rows),i=this.generateRowData("bottom",t),e.calcs.bottom.updateData(i),e.calcs.bottom.reinitialize()),e.calcs.top&&(t=this.rowsToData(e.rows),i=this.generateRowData("top",t),e.calcs.top.updateData(i),e.calcs.top.reinitialize()))}generateTopRow(e){return this.generateRow("top",this.rowsToData(e))}generateBottomRow(e){return this.generateRow("bottom",this.rowsToData(e))}rowsToData(e){var t=[],i=this.table.options.dataTree&&this.table.options.dataTreeChildColumnCalcs,n=this.table.modules.dataTree;return e.forEach(e=>{t.push(e.getData()),i&&e.modules.dataTree?.open&&this.rowsToData(n.getFilteredTreeChildren(e)).forEach(i=>{t.push(e)})}),t}generateRow(e,t){var i,n=this.generateRowData(e,t);return this.table.modExists("mutator")&&this.table.modules.mutator.disable(),i=new lA(n,this,"calc"),this.table.modExists("mutator")&&this.table.modules.mutator.enable(),i.getElement().classList.add("tabulator-calcs","tabulator-calcs-"+e),i.component=!1,i.getComponent=()=>(i.component||(i.component=new lL(i)),i.component),i.generateCells=()=>{var t=[];this.table.columnManager.columnsByIndex.forEach(n=>{this.genColumn.setField(n.getField()),this.genColumn.hozAlign=n.hozAlign,n.definition[e+"CalcFormatter"]&&this.table.modExists("format")?this.genColumn.modules.format={formatter:this.table.modules.format.lookupFormatter(n.definition[e+"CalcFormatter"]),params:n.definition[e+"CalcFormatterParams"]||{}}:this.genColumn.modules.format={formatter:this.table.modules.format.lookupFormatter("plaintext"),params:{}},this.genColumn.definition.cssClass=n.definition.cssClass;var s=new lR(this.genColumn,i);s.getElement(),s.column=n,s.setWidth(),n.cells.push(s),t.push(s),n.visible||s.hide()}),i.cells=t},i}generateRowData(e,t){var i,n,s={},o="top"==e?this.topCalcs:this.botCalcs,r="top"==e?"topCalc":"botCalc";return o.forEach(function(e){var o=[];e.modules.columnCalcs&&e.modules.columnCalcs[r]&&(t.forEach(function(t){o.push(e.getFieldValue(t))}),n=r+"Params",i="function"==typeof e.modules.columnCalcs[n]?e.modules.columnCalcs[n](o,t):e.modules.columnCalcs[n],e.setFieldValue(s,e.modules.columnCalcs[r](o,t,i)))}),s}hasTopCalcs(){return!!this.topCalcs.length}hasBottomCalcs(){return!!this.botCalcs.length}redraw(){this.topRow&&this.topRow.normalizeHeight(!0),this.botRow&&this.botRow.normalizeHeight(!0)}getResults(){var e={};return this.table.options.groupBy&&this.table.modExists("groupRows")?this.table.modules.groupRows.getGroups(!0).forEach(t=>{e[t.getKey()]=this.getGroupResults(t)}):e={top:this.topRow?this.topRow.getData():{},bottom:this.botRow?this.botRow.getData():{}},e}getGroupResults(e){var t=e._getSelf(),i=e.getSubGroups(),n={};return i.forEach(e=>{n[e.getKey()]=this.getGroupResults(e)}),{top:t.calcs.top?t.calcs.top.getData():{},bottom:t.calcs.bottom?t.calcs.bottom.getData():{},groups:n}}adjustForScrollbar(e){this.botRow&&(this.table.rtl?this.botElement.style.paddingLeft=e+"px":this.botElement.style.paddingRight=e+"px")}}class lN extends lg{static moduleName="dataTree";constructor(e){super(e),this.indent=10,this.field="",this.collapseEl=null,this.expandEl=null,this.branchEl=null,this.elementField=!1,this.startOpen=function(){},this.registerTableOption("dataTree",!1),this.registerTableOption("dataTreeFilter",!0),this.registerTableOption("dataTreeSort",!0),this.registerTableOption("dataTreeElementColumn",!1),this.registerTableOption("dataTreeBranchElement",!0),this.registerTableOption("dataTreeChildIndent",9),this.registerTableOption("dataTreeChildField","_children"),this.registerTableOption("dataTreeCollapseElement",!1),this.registerTableOption("dataTreeExpandElement",!1),this.registerTableOption("dataTreeStartExpanded",!1),this.registerTableOption("dataTreeChildColumnCalcs",!1),this.registerTableOption("dataTreeSelectPropagate",!1),this.registerComponentFunction("row","treeCollapse",this.collapseRow.bind(this)),this.registerComponentFunction("row","treeExpand",this.expandRow.bind(this)),this.registerComponentFunction("row","treeToggle",this.toggleRow.bind(this)),this.registerComponentFunction("row","getTreeParent",this.getTreeParent.bind(this)),this.registerComponentFunction("row","getTreeChildren",this.getRowChildren.bind(this)),this.registerComponentFunction("row","addTreeChild",this.addTreeChildRow.bind(this)),this.registerComponentFunction("row","isTreeExpanded",this.isRowExpanded.bind(this))}initialize(){if(this.table.options.dataTree){var e=null,t=this.table.options;switch(this.field=t.dataTreeChildField,this.indent=t.dataTreeChildIndent,this.options("movableRows")&&console.warn("The movableRows option is not available with dataTree enabled, moving of child rows could result in unpredictable behavior"),t.dataTreeBranchElement?!0===t.dataTreeBranchElement?(this.branchEl=document.createElement("div"),this.branchEl.classList.add("tabulator-data-tree-branch")):"string"==typeof t.dataTreeBranchElement?((e=document.createElement("div")).innerHTML=t.dataTreeBranchElement,this.branchEl=e.firstChild):this.branchEl=t.dataTreeBranchElement:(this.branchEl=document.createElement("div"),this.branchEl.classList.add("tabulator-data-tree-branch-empty")),t.dataTreeCollapseElement?"string"==typeof t.dataTreeCollapseElement?((e=document.createElement("div")).innerHTML=t.dataTreeCollapseElement,this.collapseEl=e.firstChild):this.collapseEl=t.dataTreeCollapseElement:(this.collapseEl=document.createElement("div"),this.collapseEl.classList.add("tabulator-data-tree-control"),this.collapseEl.tabIndex=0,this.collapseEl.innerHTML=""),t.dataTreeExpandElement?"string"==typeof t.dataTreeExpandElement?((e=document.createElement("div")).innerHTML=t.dataTreeExpandElement,this.expandEl=e.firstChild):this.expandEl=t.dataTreeExpandElement:(this.expandEl=document.createElement("div"),this.expandEl.classList.add("tabulator-data-tree-control"),this.expandEl.tabIndex=0,this.expandEl.innerHTML=""),typeof t.dataTreeStartExpanded){case"boolean":this.startOpen=function(e,i){return t.dataTreeStartExpanded};break;case"function":this.startOpen=t.dataTreeStartExpanded;break;default:this.startOpen=function(e,i){return t.dataTreeStartExpanded[i]}}this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-layout-after",this.layoutRow.bind(this)),this.subscribe("row-deleted",this.rowDelete.bind(this),0),this.subscribe("row-data-changed",this.rowDataChanged.bind(this),10),this.subscribe("cell-value-updated",this.cellValueChanged.bind(this)),this.subscribe("edit-cancelled",this.cellValueChanged.bind(this)),this.subscribe("column-moving-rows",this.columnMoving.bind(this)),this.subscribe("table-built",this.initializeElementField.bind(this)),this.subscribe("table-redrawing",this.tableRedrawing.bind(this)),this.registerDisplayHandler(this.getRows.bind(this),30)}}tableRedrawing(e){e&&this.table.rowManager.getRows().forEach(e=>{this.reinitializeRowChildren(e)})}initializeElementField(){var e=this.table.columnManager.getFirstVisibleColumn();this.elementField=this.table.options.dataTreeElementColumn||!!e&&e.field}getRowChildren(e){return this.getTreeChildren(e,!0)}columnMoving(){var e=[];return this.table.rowManager.rows.forEach(t=>{e=e.concat(this.getTreeChildren(t,!1,!0))}),e}rowDataChanged(e,t,i){this.redrawNeeded(i)&&(this.initializeRow(e),t&&(this.layoutRow(e),this.refreshData(!0)))}cellValueChanged(e){e.column.getField()===this.elementField&&this.layoutRow(e.row)}initializeRow(e){var t=e.getData()[this.field],i=Array.isArray(t),n=i||!i&&"object"==typeof t&&null!==t;!n&&e.modules.dataTree&&e.modules.dataTree.branchEl&&e.modules.dataTree.branchEl.parentNode.removeChild(e.modules.dataTree.branchEl),!n&&e.modules.dataTree&&e.modules.dataTree.controlEl&&e.modules.dataTree.controlEl.parentNode.removeChild(e.modules.dataTree.controlEl),e.modules.dataTree={index:e.modules.dataTree?e.modules.dataTree.index:0,open:!!n&&(e.modules.dataTree?e.modules.dataTree.open:this.startOpen(e.getComponent(),0)),controlEl:!!e.modules.dataTree&&!!n&&e.modules.dataTree.controlEl,branchEl:!!e.modules.dataTree&&!!n&&e.modules.dataTree.branchEl,parent:!!e.modules.dataTree&&e.modules.dataTree.parent,children:n}}reinitializeRowChildren(e){this.getTreeChildren(e,!1,!0).forEach(function(e){e.reinitialize(!0)})}layoutRow(e){var t=(this.elementField?e.getCell(this.elementField):e.getCells()[0]).getElement(),i=e.modules.dataTree;i.branchEl&&(i.branchEl.parentNode&&i.branchEl.parentNode.removeChild(i.branchEl),i.branchEl=!1),i.controlEl&&(i.controlEl.parentNode&&i.controlEl.parentNode.removeChild(i.controlEl),i.controlEl=!1),this.generateControlElement(e,t),e.getElement().classList.add("tabulator-tree-level-"+i.index),i.index&&(this.branchEl?(i.branchEl=this.branchEl.cloneNode(!0),t.insertBefore(i.branchEl,t.firstChild),this.table.rtl?i.branchEl.style.marginRight=(i.branchEl.offsetWidth+i.branchEl.style.marginLeft)*(i.index-1)+i.index*this.indent+"px":i.branchEl.style.marginLeft=(i.branchEl.offsetWidth+i.branchEl.style.marginRight)*(i.index-1)+i.index*this.indent+"px"):this.table.rtl?t.style.paddingRight=parseInt(window.getComputedStyle(t,null).getPropertyValue("padding-right"))+i.index*this.indent+"px":t.style.paddingLeft=parseInt(window.getComputedStyle(t,null).getPropertyValue("padding-left"))+i.index*this.indent+"px")}generateControlElement(e,t){var i=e.modules.dataTree,n=i.controlEl;t=t||e.getCells()[0].getElement(),!1!==i.children&&(i.open?(i.controlEl=this.collapseEl.cloneNode(!0),i.controlEl.addEventListener("click",t=>{t.stopPropagation(),this.collapseRow(e)})):(i.controlEl=this.expandEl.cloneNode(!0),i.controlEl.addEventListener("click",t=>{t.stopPropagation(),this.expandRow(e)})),i.controlEl.addEventListener("mousedown",e=>{e.stopPropagation()}),n&&n.parentNode===t?n.parentNode.replaceChild(i.controlEl,n):t.insertBefore(i.controlEl,t.firstChild))}getRows(e){var t=[];return e.forEach((e,i)=>{var n;t.push(e),e instanceof lA&&(e.create(),(n=e.modules.dataTree).index||!1===n.children||this.getChildren(e,!1,!0).forEach(e=>{e.create(),t.push(e)}))}),t}getChildren(e,t,i){var n=e.modules.dataTree,s=[],o=[];return!1!==n.children&&(n.open||t)&&(Array.isArray(n.children)||(n.children=this.generateChildren(e)),s=this.table.modExists("filter")&&this.table.options.dataTreeFilter?this.table.modules.filter.filter(n.children):n.children,this.table.modExists("sort")&&this.table.options.dataTreeSort&&this.table.modules.sort.sort(s,i),s.forEach(e=>{o.push(e),this.getChildren(e,!1,!0).forEach(e=>{o.push(e)})})),o}generateChildren(e){var t=[],i=e.getData()[this.field];return Array.isArray(i)||(i=[i]),i.forEach(i=>{var n=new lA(i||{},this.table.rowManager);n.create(),n.modules.dataTree.index=e.modules.dataTree.index+1,n.modules.dataTree.parent=e,n.modules.dataTree.children&&(n.modules.dataTree.open=this.startOpen(n.getComponent(),n.modules.dataTree.index)),t.push(n)}),t}expandRow(e,t){var i=e.modules.dataTree;!1!==i.children&&(i.open=!0,e.reinitialize(),this.refreshData(!0),this.dispatchExternal("dataTreeRowExpanded",e.getComponent(),e.modules.dataTree.index))}collapseRow(e){var t=e.modules.dataTree;!1!==t.children&&(t.open=!1,e.reinitialize(),this.refreshData(!0),this.dispatchExternal("dataTreeRowCollapsed",e.getComponent(),e.modules.dataTree.index))}toggleRow(e){var t=e.modules.dataTree;!1!==t.children&&(t.open?this.collapseRow(e):this.expandRow(e))}isRowExpanded(e){return e.modules.dataTree.open}getTreeParent(e){return!!e.modules.dataTree.parent&&e.modules.dataTree.parent.getComponent()}getTreeParentRoot(e){return e.modules.dataTree&&e.modules.dataTree.parent?this.getTreeParentRoot(e.modules.dataTree.parent):e}getFilteredTreeChildren(e){var t=e.modules.dataTree,i=[];return t.children&&(Array.isArray(t.children)||(t.children=this.generateChildren(e)),(this.table.modExists("filter")&&this.table.options.dataTreeFilter?this.table.modules.filter.filter(t.children):t.children).forEach(e=>{e instanceof lA&&i.push(e)})),i}rowDelete(e){var t,i=e.modules.dataTree.parent;i&&(!1!==(t=this.findChildIndex(e,i))&&i.data[this.field].splice(t,1),i.data[this.field].length||delete i.data[this.field],this.initializeRow(i),this.layoutRow(i)),this.refreshData(!0)}addTreeChildRow(e,t,i,n){var s=!1;"string"==typeof t&&(t=JSON.parse(t)),Array.isArray(e.data[this.field])||(e.data[this.field]=[],e.modules.dataTree.open=this.startOpen(e.getComponent(),e.modules.dataTree.index)),void 0!==n&&!1!==(s=this.findChildIndex(n,e))&&e.data[this.field].splice(i?s:s+1,0,t),!1===s&&(i?e.data[this.field].unshift(t):e.data[this.field].push(t)),this.initializeRow(e),this.layoutRow(e),this.refreshData(!0)}findChildIndex(e,t){var i=!1;return"object"==typeof e?e instanceof lA?i=e.data:e instanceof lz?i=e._getSelf().data:"undefined"!=typeof HTMLElement&&e instanceof HTMLElement?t.modules.dataTree&&(i=t.modules.dataTree.children.find(t=>t instanceof lA&&t.element===e))&&(i=i.data):null===e&&(i=!1):i=void 0!==e&&t.data[this.field].find(t=>t.data[this.table.options.index]==e),i&&(Array.isArray(t.data[this.field])&&(i=t.data[this.field].indexOf(i)),-1==i&&(i=!1)),i}getTreeChildren(e,t,i){var n=e.modules.dataTree,s=[];return n&&n.children&&(Array.isArray(n.children)||(n.children=this.generateChildren(e)),n.children.forEach(e=>{e instanceof lA&&(s.push(t?e.getComponent():e),i&&this.getTreeChildren(e,t,i).forEach(e=>{s.push(e)}))})),s}getChildField(){return this.field}redrawNeeded(e){return!!this.field&&void 0!==e[this.field]||!!this.elementField&&void 0!==e[this.elementField]}}var lH={csv:function(e,t={},i){var n=t.delimiter?t.delimiter:",",s=[],o=[];e.forEach(e=>{var t=[];switch(e.type){case"group":console.warn("Download Warning - CSV downloader cannot process row groups");break;case"calc":console.warn("Download Warning - CSV downloader cannot process column calculations");break;case"header":e.columns.forEach((e,t)=>{e&&1===e.depth&&(o[t]=void 0===e.value||null===e.value?"":'"'+String(e.value).split('"').join('""')+'"')});break;case"row":e.columns.forEach(e=>{if(e){switch(typeof e.value){case"object":e.value=null!==e.value?JSON.stringify(e.value):"";break;case"undefined":e.value=""}t.push('"'+String(e.value).split('"').join('""')+'"')}}),s.push(t.join(n))}}),o.length&&s.unshift(o.join(n)),s=s.join("\n"),t.bom&&(s="\uFEFF"+s),i(s,"text/csv")},json:function(e,t,i){var n=[];e.forEach(e=>{var t={};switch(e.type){case"header":break;case"group":console.warn("Download Warning - JSON downloader cannot process row groups");break;case"calc":console.warn("Download Warning - JSON downloader cannot process column calculations");break;case"row":e.columns.forEach(e=>{e&&(t[e.component.getTitleDownload()||e.component.getField()]=e.value)}),n.push(t)}}),i(n=JSON.stringify(n,null," "),"application/json")},jsonLines:function(e,t,i){let n=[];e.forEach(e=>{let t={};switch(e.type){case"header":break;case"group":console.warn("Download Warning - JSON downloader cannot process row groups");break;case"calc":console.warn("Download Warning - JSON downloader cannot process column calculations");break;case"row":e.columns.forEach(e=>{e&&(t[e.component.getTitleDownload()||e.component.getField()]=e.value)}),n.push(JSON.stringify(t))}}),i(n.join("\n"),"application/x-ndjson")},pdf:function(e,t={},i){var n,s=[],o=[],r={},a=t.rowGroupStyles||{fontStyle:"bold",fontSize:12,cellPadding:6,fillColor:220},l=t.rowCalcStyles||{fontStyle:"bold",fontSize:10,cellPadding:4,fillColor:232},h=t.jsPDF||{},c=t.title?t.title:"";function u(e,t){var i=[];return e.columns.forEach(e=>{var n;if(e){switch(typeof e.value){case"object":e.value=null!==e.value?JSON.stringify(e.value):"";break;case"undefined":e.value=""}n={content:e.value,colSpan:e.width,rowSpan:e.height},t&&(n.styles=t),i.push(n)}}),i}h.orientation||(h.orientation=t.orientation||"landscape"),h.unit||(h.unit="pt"),e.forEach(e=>{switch(e.type){case"header":s.push(u(e));break;case"group":o.push(u(e,a));break;case"calc":o.push(u(e,l));break;case"row":o.push(u(e))}}),n=new(this.dependencyRegistry.lookup("jspdf","jsPDF"))(h),t.autoTable&&(r="function"==typeof t.autoTable?t.autoTable(n)||{}:t.autoTable),c&&(r.didDrawPage=function(e){n.text(c,40,30)}),r.head=s,r.body=o,n.autoTable(r),t.documentProcessing&&t.documentProcessing(n),i(n.output("arraybuffer"),"application/pdf")},xlsx:function(e,t,i){var n=t.sheetName||"Sheet1",s=this.dependencyRegistry.lookup("XLSX"),o=s.utils.book_new(),r=new lm(this),a=!("compress"in t)||t.compress,l=t.writeOptions||{bookType:"xlsx",bookSST:!0,compression:a};function h(){var t=[],i=[],n={},o={s:{c:0,r:0},e:{c:e[0]?e[0].columns.reduce((e,t)=>e+(t&&t.width?t.width:1),0):0,r:e.length}};return e.forEach((e,n)=>{var s=[];e.columns.forEach(function(e,t){e?(s.push(e.value instanceof Date||"object"!=typeof e.value?e.value:JSON.stringify(e.value)),(e.width>1||e.height>-1)&&(e.height>1||e.width>1)&&i.push({s:{r:n,c:t},e:{r:n+e.height-1,c:t+e.width-1}})):s.push("")}),t.push(s)}),s.utils.sheet_add_aoa(n,t),n["!ref"]=s.utils.encode_range(o),i.length&&(n["!merges"]=i),n}if(l.type="binary",o.SheetNames=[],o.Sheets={},t.sheetOnly){i(h());return}if(t.sheets)for(var c in t.sheets)!0===t.sheets[c]?(o.SheetNames.push(c),o.Sheets[c]=h()):(o.SheetNames.push(c),r.commsSend(t.sheets[c],"download","intercept",{type:"xlsx",options:{sheetOnly:!0},active:this.active,intercept:function(e){o.Sheets[c]=e}}));else o.SheetNames.push(n),o.Sheets[n]=h();t.documentProcessing&&(o=t.documentProcessing(o)),i(function(e){for(var t=new ArrayBuffer(e.length),i=new Uint8Array(t),n=0;n!=e.length;++n)i[n]=255&e.charCodeAt(n);return t}(s.write(o,l)),"application/octet-stream")},html:function(e,t,i){this.modExists("export",!0)&&i(this.modules.export.generateHTMLTable(e),"text/html")}};class lB extends lg{static moduleName="download";static downloaders=lH;constructor(e){super(e),this.registerTableOption("downloadEncoder",function(e,t){return new Blob([e],{type:t})}),this.registerTableOption("downloadConfig",{}),this.registerTableOption("downloadRowRange","active"),this.registerColumnOption("download"),this.registerColumnOption("titleDownload")}initialize(){this.deprecatedOptionsCheck(),this.registerTableFunction("download",this.download.bind(this)),this.registerTableFunction("downloadToTab",this.downloadToTab.bind(this))}deprecatedOptionsCheck(){}downloadToTab(e,t,i,n){this.download(e,t,i,n,!0)}download(e,t,i,n,s){var o=!1;if("function"==typeof e?o=e:lB.downloaders[e]?o=lB.downloaders[e]:console.warn("Download Error - No such download type found: ",e),o){var r=this.generateExportList(n);o.call(this.table,r,i||{},(function(i,n){s?!0===s?this.triggerDownload(i,n,e,t,!0):s(i):this.triggerDownload(i,n,e,t)}).bind(this))}}generateExportList(e){var t=this.table.modules.export.generateExportList(this.table.options.downloadConfig,!1,e||this.table.options.downloadRowRange,"download"),i=this.table.options.groupHeaderDownload;return i&&!Array.isArray(i)&&(i=[i]),t.forEach(e=>{var t;"group"===e.type&&(t=e.columns[0],i&&i[e.indent]&&(t.value=i[e.indent](t.value,e.component._group.getRowCount(),e.component._group.getData(),e.component)))}),t}triggerDownload(e,t,i,n,s){var o=document.createElement("a"),r=this.table.options.downloadEncoder(e,t);r&&(s?window.open(window.URL.createObjectURL(r)):(n=n||"Tabulator."+("function"==typeof i?"txt":i),navigator.msSaveOrOpenBlob?navigator.msSaveOrOpenBlob(r,n):(o.setAttribute("href",window.URL.createObjectURL(r)),o.setAttribute("download",n),o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o))),this.dispatchExternal("downloadComplete"))}commsReceived(e,t,i){"intercept"===t&&this.download(i.type,"",i.options,i.active,i.intercept)}}function lj(e,t){var i=t.mask,n=void 0!==t.maskLetterChar?t.maskLetterChar:"A",s=void 0!==t.maskNumberChar?t.maskNumberChar:"9",o=void 0!==t.maskWildcardChar?t.maskWildcardChar:"*";function r(t){var a=i[t];void 0!==a&&a!==o&&a!==n&&a!==s&&(e.value=e.value+""+a,r(t+1))}e.addEventListener("keydown",t=>{var r=e.value.length,a=t.key;if(t.keyCode>46&&!t.ctrlKey&&!t.metaKey){if(r>=i.length)return t.preventDefault(),t.stopPropagation(),!1;switch(i[r]){case n:if(a.toUpperCase()==a.toLowerCase())return t.preventDefault(),t.stopPropagation(),!1;break;case s:if(isNaN(a))return t.preventDefault(),t.stopPropagation(),!1;break;case o:break;default:if(a!==i[r])return t.preventDefault(),t.stopPropagation(),!1}}}),e.addEventListener("keyup",i=>{i.keyCode>46&&t.maskAutoFill&&r(e.value.length)}),e.placeholder||(e.placeholder=i),t.maskAutoFill&&r(e.value.length)}let lV=class{constructor(e,t,i,n,s,o){this.edit=e,this.table=e.table,this.cell=t,this.params=this._initializeParams(o),this.data=[],this.displayItems=[],this.currentItems=[],this.focusedItem=null,this.input=this._createInputElement(),this.listEl=this._createListElement(),this.initialValues=null,this.isFilter="header"===t.getType(),this.filterTimeout=null,this.filtered=!1,this.typing=!1,this.values=[],this.popup=null,this.listIteration=0,this.lastAction="",this.filterTerm="",this.blurable=!0,this.actions={success:n,cancel:s},this._deprecatedOptionsCheck(),this._initializeValue(),i(this._onRendered.bind(this))}_deprecatedOptionsCheck(){}_initializeValue(){var e=this.cell.getValue();void 0===e&&void 0!==this.params.defaultValue&&(e=this.params.defaultValue),this.initialValues=this.params.multiselect?e:[e],this.isFilter&&(this.input.value=this.initialValues?this.initialValues.join(","):"",this.headerFilterInitialListGen())}_onRendered(){var e=this.cell.getElement();function t(e){e.stopPropagation()}this.isFilter||(this.input.style.height="100%",this.input.focus({preventScroll:!0})),e.addEventListener("click",t),setTimeout(()=>{e.removeEventListener("click",t)},1e3),this.input.addEventListener("mousedown",this._preventPopupBlur.bind(this))}_createListElement(){var e=document.createElement("div");return e.classList.add("tabulator-edit-list"),e.addEventListener("mousedown",this._preventBlur.bind(this)),e.addEventListener("keydown",this._inputKeyDown.bind(this)),e}_setListWidth(){var e=this.isFilter?this.input:this.cell.getElement();this.listEl.style.minWidth=e.offsetWidth+"px",this.params.maxWidth&&(!0===this.params.maxWidth?this.listEl.style.maxWidth=e.offsetWidth+"px":"number"==typeof this.params.maxWidth?this.listEl.style.maxWidth=this.params.maxWidth+"px":this.listEl.style.maxWidth=this.params.maxWidth)}_createInputElement(){var e=this.params.elementAttributes,t=document.createElement("input");if(t.setAttribute("type",this.params.clearable?"search":"text"),t.style.padding="4px",t.style.width="100%",t.style.boxSizing="border-box",this.params.autocomplete||(t.style.cursor="default",t.style.caretColor="transparent"),e&&"object"==typeof e)for(let i in e)"+"==i.charAt(0)?(i=i.slice(1),t.setAttribute(i,t.getAttribute(i)+e["+"+i])):t.setAttribute(i,e[i]);return this.params.mask&&lj(t,this.params),this._bindInputEvents(t),t}_initializeParams(e){var t,i=["values","valuesURL","valuesLookup"];return(e=Object.assign({},e)).verticalNavigation=e.verticalNavigation||"editor",e.placeholderLoading=void 0===e.placeholderLoading?"Searching ...":e.placeholderLoading,e.placeholderEmpty=void 0===e.placeholderEmpty?"No Results Found":e.placeholderEmpty,e.filterDelay=void 0===e.filterDelay?300:e.filterDelay,e.emptyValue=Object.keys(e).includes("emptyValue")?e.emptyValue:"",(t=Object.keys(e).filter(e=>i.includes(e)).length)?t>1&&console.warn("list editor config error - only one of the values, valuesURL, or valuesLookup options can be set on the same editor"):console.warn("list editor config error - either the values, valuesURL, or valuesLookup option must be set"),e.autocomplete?e.multiselect&&(e.multiselect=!1,console.warn("list editor config error - multiselect option is not available when autocomplete is enabled")):(e.freetext&&(e.freetext=!1,console.warn("list editor config error - freetext option is only available when autocomplete is enabled")),e.filterFunc&&(e.filterFunc=!1,console.warn("list editor config error - filterFunc option is only available when autocomplete is enabled")),e.filterRemote&&(e.filterRemote=!1,console.warn("list editor config error - filterRemote option is only available when autocomplete is enabled")),e.mask&&(e.mask=!1,console.warn("list editor config error - mask option is only available when autocomplete is enabled")),e.allowEmpty&&(e.allowEmpty=!1,console.warn("list editor config error - allowEmpty option is only available when autocomplete is enabled")),e.listOnEmpty&&(e.listOnEmpty=!1,console.warn("list editor config error - listOnEmpty option is only available when autocomplete is enabled"))),e.filterRemote&&!("function"==typeof e.valuesLookup||e.valuesURL)&&(e.filterRemote=!1,console.warn("list editor config error - filterRemote option should only be used when values list is populated from a remote source")),e}_bindInputEvents(e){e.addEventListener("focus",this._inputFocus.bind(this)),e.addEventListener("click",this._inputClick.bind(this)),e.addEventListener("blur",this._inputBlur.bind(this)),e.addEventListener("keydown",this._inputKeyDown.bind(this)),e.addEventListener("search",this._inputSearch.bind(this)),this.params.autocomplete&&e.addEventListener("keyup",this._inputKeyUp.bind(this))}_inputFocus(e){this.rebuildOptionsList()}_filter(){this.params.filterRemote?(clearTimeout(this.filterTimeout),this.filterTimeout=setTimeout(()=>{this.rebuildOptionsList()},this.params.filterDelay)):this._filterList()}_inputClick(e){e.stopPropagation()}_inputBlur(e){this.blurable&&(this.popup?this.popup.hide():this._resolveValue(!0))}_inputSearch(){this._clearChoices()}_inputKeyDown(e){switch(e.keyCode){case 38:this._keyUp(e);break;case 40:this._keyDown(e);break;case 37:case 39:this._keySide(e);break;case 13:this._keyEnter();break;case 27:this._keyEsc();break;case 36:case 35:this._keyHomeEnd(e);break;case 9:this._keyTab(e);break;default:this._keySelectLetter(e)}}_inputKeyUp(e){switch(e.keyCode){case 38:case 37:case 39:case 40:case 13:case 27:break;default:this._keyAutoCompLetter(e)}}_preventPopupBlur(){this.popup&&this.popup.blockHide(),setTimeout(()=>{this.popup&&this.popup.restoreHide()},10)}_preventBlur(){this.blurable=!1,setTimeout(()=>{this.blurable=!0},10)}_keyTab(e){this.params.autocomplete&&"typing"===this.lastAction?this._resolveValue(!0):this.focusedItem&&this._chooseItem(this.focusedItem,!0)}_keyUp(e){var t=this.displayItems.indexOf(this.focusedItem);("editor"==this.params.verticalNavigation||"hybrid"==this.params.verticalNavigation&&t)&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault(),t>0&&this._focusItem(this.displayItems[t-1]))}_keyDown(e){var t=this.displayItems.indexOf(this.focusedItem);("editor"==this.params.verticalNavigation||"hybrid"==this.params.verticalNavigation&&t=38&&e.keyCode<=90&&this._scrollToValue(e.keyCode))}_keyAutoCompLetter(e){this._filter(),this.lastAction="typing",this.typing=!0}_scrollToValue(e){clearTimeout(this.filterTimeout);var t=String.fromCharCode(e).toLowerCase();this.filterTerm+=t.toLowerCase();var i=this.displayItems.find(e=>void 0!==e.label&&e.label.toLowerCase().startsWith(this.filterTerm));i&&this._focusItem(i),this.filterTimeout=setTimeout(()=>{this.filterTerm=""},800)}_focusItem(e){this.lastAction="focus",this.focusedItem&&this.focusedItem.element&&this.focusedItem.element.classList.remove("focused"),this.focusedItem=e,e&&e.element&&(e.element.classList.add("focused"),e.element.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"}))}headerFilterInitialListGen(){this._generateOptions(!0)}rebuildOptionsList(){this._generateOptions().then(this._sortOptions.bind(this)).then(this._buildList.bind(this)).then(this._showList.bind(this)).catch(e=>{Number.isInteger(e)||console.error("List generation error",e)})}_filterList(){this._buildList(this._filterOptions()),this._showList()}_generateOptions(e){var t=[],i=++this.listIteration;return(this.filtered=!1,this.params.values?t=this.params.values:this.params.valuesURL?t=this._ajaxRequest(this.params.valuesURL,this.input.value):"function"==typeof this.params.valuesLookup?t=this.params.valuesLookup(this.cell,this.input.value):this.params.valuesLookup&&(t=this._uniqueColumnValues(this.params.valuesLookupField)),t instanceof Promise)?(e||this._addPlaceholder(this.params.placeholderLoading),t.then().then(e=>this.listIteration===i?this._parseList(e):Promise.reject(i))):Promise.resolve(this._parseList(t))}_addPlaceholder(e){var t=document.createElement("div");"function"==typeof e&&(e=e(this.cell.getComponent(),this.listEl)),e&&(this._clearList(),e instanceof HTMLElement?t=e:(t.classList.add("tabulator-edit-list-placeholder"),t.innerHTML=e),this.listEl.appendChild(t),this._showList())}_ajaxRequest(e,t){var i=this.params.filterRemote?{term:t}:{};return fetch(e=lw(e,{},i)).then(e=>e.ok?e.json().catch(e=>(console.warn("List Ajax Load Error - Invalid JSON returned",e),Promise.reject(e))):(console.error("List Ajax Load Error - Connection Error: "+e.status,e.statusText),Promise.reject(e))).catch(e=>(console.error("List Ajax Load Error - Connection Error: ",e),Promise.reject(e)))}_uniqueColumnValues(e){var t,i={},n=this.table.getData(this.params.valuesLookup);return(t=e?this.table.columnManager.getColumnByField(e):this.cell.getColumn()._getSelf())?n.forEach(e=>{var n=t.getFieldValue(e);this._emptyValueCheck(n)||(this.params.multiselect&&Array.isArray(n)?n.forEach(e=>{this._emptyValueCheck(e)||(i[e]=!0)}):i[n]=!0)}):(console.warn("unable to find matching column to create select lookup list:",e),i=[]),Object.keys(i)}_emptyValueCheck(e){return null==e||""===e}_parseList(e){var t=[];return Array.isArray(e)||(e=Object.entries(e).map(([e,t])=>({label:t,value:e}))),e.forEach(e=>{"object"!=typeof e&&(e={label:e,value:e}),this._parseListItem(e,t,0)}),!this.currentItems.length&&this.params.freetext&&(this.input.value=this.initialValues,this.typing=!0,this.lastAction="typing"),this.data=t,t}_parseListItem(e,t,i){var n={};e.options?n=this._parseListGroup(e,i+1):(n={label:e.label,value:e.value,itemParams:e.itemParams,elementAttributes:e.elementAttributes,element:!1,selected:!1,visible:!0,level:i,original:e},this.initialValues&&this.initialValues.indexOf(e.value)>-1&&this._chooseItem(n,!0)),t.push(n)}_parseListGroup(e,t){var i={label:e.label,group:!0,itemParams:e.itemParams,elementAttributes:e.elementAttributes,element:!1,visible:!0,level:t,options:[],original:e};return e.options.forEach(e=>{this._parseListItem(e,i.options,t)}),i}_sortOptions(e){var t;return this.params.sort&&(t="function"==typeof this.params.sort?this.params.sort:this._defaultSortFunction.bind(this),this._sortGroup(t,e)),e}_sortGroup(e,t){t.sort((t,i)=>e(t.label,i.label,t.value,i.value,t.original,i.original)),t.forEach(t=>{t.group&&this._sortGroup(e,t.options)})}_defaultSortFunction(e,t){var i,n,s,o,r,a=0,l=/(\d+)|(\D+)/g,h=/\d/,c=0;if("desc"===this.params.sort&&([e,t]=[t,e]),e||0===e){if(t||0===t){if(isFinite(e)&&isFinite(t))return e-t;if((i=String(e).toLowerCase())===(n=String(t).toLowerCase()))return 0;if(!(h.test(i)&&h.test(n)))return i>n?1:-1;for(i=i.match(l),n=n.match(l),r=i.length>n.length?n.length:i.length;ao?1:-1}return i.length>n.length}c=1}else c=t||0===t?-1:0;return c}_filterOptions(){var e=this.params.filterFunc||this._defaultFilterFunc,t=this.input.value;return t?(this.filtered=!0,this.data.forEach(i=>{this._filterItem(e,t,i)})):this.filtered=!1,this.data}_filterItem(e,t,i){var n=!1;return i.group?(i.options.forEach(i=>{this._filterItem(e,t,i)&&(n=!0)}),i.visible=n):i.visible=e(t,i.label,i.value,i.original),i.visible}_defaultFilterFunc(e,t,i,n){return e=String(e).toLowerCase(),!!(null!=t&&(String(t).toLowerCase().indexOf(e)>-1||String(i).toLowerCase().indexOf(e)>-1))}_clearList(){for(;this.listEl.firstChild;)this.listEl.removeChild(this.listEl.firstChild);this.displayItems=[]}_buildList(e){this._clearList(),e.forEach(e=>{this._buildItem(e)}),this.displayItems.length||this._addPlaceholder(this.params.placeholderEmpty)}_buildItem(e){var t,i=e.element;if(!this.filtered||e.visible){if(!i){if((i=document.createElement("div")).tabIndex=0,(t=this.params.itemFormatter?this.params.itemFormatter(e.label,e.value,e.original,i):e.label)instanceof HTMLElement?i.appendChild(t):i.innerHTML=t,e.group?i.classList.add("tabulator-edit-list-group"):i.classList.add("tabulator-edit-list-item"),i.classList.add("tabulator-edit-list-group-level-"+e.level),e.elementAttributes&&"object"==typeof e.elementAttributes)for(let t in e.elementAttributes)"+"==t.charAt(0)?(t=t.slice(1),i.setAttribute(t,this.input.getAttribute(t)+e.elementAttributes["+"+t])):i.setAttribute(t,e.elementAttributes[t]);e.group?i.addEventListener("click",this._groupClick.bind(this,e)):i.addEventListener("click",this._itemClick.bind(this,e)),i.addEventListener("mousedown",this._preventBlur.bind(this)),e.element=i}this._styleItem(e),this.listEl.appendChild(i),e.group?e.options.forEach(e=>{this._buildItem(e)}):this.displayItems.push(e)}}_showList(){var e=this.popup&&this.popup.isVisible();if(this.input.parentNode){if(this.params.autocomplete&&""===this.input.value&&!this.params.listOnEmpty){this.popup&&this.popup.hide(!0);return}this._setListWidth(),this.popup||(this.popup=this.edit.popup(this.listEl)),this.popup.show(this.cell.getElement(),"bottom"),e||setTimeout(()=>{this.popup.hideOnBlur(this._resolveValue.bind(this,!0))},10)}}_styleItem(e){e&&e.element&&(e.selected?e.element.classList.add("active"):e.element.classList.remove("active"))}_itemClick(e,t){t.stopPropagation(),this._chooseItem(e)}_groupClick(e,t){t.stopPropagation()}_cancel(){this.popup.hide(!0),this.actions.cancel()}_clearChoices(){this.typing=!0,this.currentItems.forEach(e=>{e.selected=!1,this._styleItem(e)}),this.currentItems=[],this.focusedItem=null}_chooseItem(e,t){var i;this.typing=!1,this.params.multiselect?((i=this.currentItems.indexOf(e))>-1?(this.currentItems.splice(i,1),e.selected=!1):(this.currentItems.push(e),e.selected=!0),this.input.value=this.currentItems.map(e=>e.label).join(","),this._styleItem(e)):(this.currentItems=[e],e.selected=!0,this.input.value=e.label,this._styleItem(e),t||this._resolveValue()),this._focusItem(e)}_resolveValue(e){var t,i;if(this.popup&&this.popup.hide(!0),this.params.multiselect)t=this.currentItems.map(e=>e.value);else if(e&&this.params.autocomplete&&this.typing){if(this.params.freetext||this.params.allowEmpty&&""===this.input.value)t=this.input.value;else{this.actions.cancel();return}}else t=this.currentItems[0]?this.currentItems[0].value:null==(i=Array.isArray(this.initialValues)?this.initialValues[0]:this.initialValues)||""===i?i:this.params.emptyValue;""===t&&(t=this.params.emptyValue),this.actions.success(t),this.isFilter&&(this.initialValues=t&&!Array.isArray(t)?[t]:t,this.currentItems=[])}};var lW={input:function(e,t,i,n,s){var o=e.getValue(),r=document.createElement("input");if(r.setAttribute("type",s.search?"search":"text"),r.style.padding="4px",r.style.width="100%",r.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),r.setAttribute(e,r.getAttribute(e)+s.elementAttributes["+"+e])):r.setAttribute(e,s.elementAttributes[e]);function a(e){null==o&&""!==r.value||r.value!==o?i(r.value)&&(o=r.value):n()}return r.value=void 0!==o?o:"",t(function(){"cell"===e.getType()&&(r.focus({preventScroll:!0}),r.style.height="100%",s.selectContents&&r.select())}),r.addEventListener("change",a),r.addEventListener("blur",a),r.addEventListener("keydown",function(e){switch(e.keyCode){case 13:a();break;case 27:n();break;case 35:case 36:e.stopPropagation()}}),s.mask&&lj(r,s),r},textarea:function(e,t,i,n,s){var o=e.getValue(),r=s.verticalNavigation||"hybrid",a=String(null!=o?o:""),l=document.createElement("textarea"),h=0;if(l.style.display="block",l.style.padding="2px",l.style.height="100%",l.style.width="100%",l.style.boxSizing="border-box",l.style.whiteSpace="pre-wrap",l.style.resize="none",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),l.setAttribute(e,l.getAttribute(e)+s.elementAttributes["+"+e])):l.setAttribute(e,s.elementAttributes[e]);function c(t){null==o&&""!==l.value||l.value!==o?(i(l.value)&&(o=l.value),setTimeout(function(){e.getRow().normalizeHeight()},300)):n()}return l.value=a,t(function(){"cell"===e.getType()&&(l.focus({preventScroll:!0}),l.style.height="100%",l.scrollHeight,l.style.height=l.scrollHeight+"px",e.getRow().normalizeHeight(),s.selectContents&&l.select())}),l.addEventListener("change",c),l.addEventListener("blur",c),l.addEventListener("keyup",function(){l.style.height="";var t=l.scrollHeight;l.style.height=t+"px",t!=h&&(h=t,e.getRow().normalizeHeight())}),l.addEventListener("keydown",function(e){switch(e.keyCode){case 13:e.shiftKey&&s.shiftEnterSubmit&&c();break;case 27:n();break;case 38:("editor"==r||"hybrid"==r&&l.selectionStart)&&(e.stopImmediatePropagation(),e.stopPropagation());break;case 40:("editor"==r||"hybrid"==r&&l.selectionStart!==l.value.length)&&(e.stopImmediatePropagation(),e.stopPropagation());break;case 35:case 36:e.stopPropagation()}}),s.mask&&lj(l,s),l},number:function(e,t,i,n,s){var o=e.getValue(),r=s.verticalNavigation||"editor",a=document.createElement("input");if(a.setAttribute("type","number"),void 0!==s.max&&a.setAttribute("max",s.max),void 0!==s.min&&a.setAttribute("min",s.min),void 0!==s.step&&a.setAttribute("step",s.step),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),a.setAttribute(e,a.getAttribute(e)+s.elementAttributes["+"+e])):a.setAttribute(e,s.elementAttributes[e]);a.value=o;var l=function(e){h()};function h(){var e=a.value;isNaN(e)||""===e||(e=Number(e)),e!==o?i(e)&&(o=e):n()}return t(function(){"cell"===e.getType()&&(a.removeEventListener("blur",l),a.focus({preventScroll:!0}),a.style.height="100%",a.addEventListener("blur",l),s.selectContents&&a.select())}),a.addEventListener("keydown",function(e){switch(e.keyCode){case 13:h();break;case 27:n();break;case 38:case 40:"editor"==r&&(e.stopImmediatePropagation(),e.stopPropagation());break;case 35:case 36:e.stopPropagation()}}),s.mask&&lj(a,s),a},range:function(e,t,i,n,s){var o=e.getValue(),r=document.createElement("input");if(r.setAttribute("type","range"),void 0!==s.max&&r.setAttribute("max",s.max),void 0!==s.min&&r.setAttribute("min",s.min),void 0!==s.step&&r.setAttribute("step",s.step),r.style.padding="4px",r.style.width="100%",r.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),r.setAttribute(e,r.getAttribute(e)+s.elementAttributes["+"+e])):r.setAttribute(e,s.elementAttributes[e]);function a(){var e=r.value;isNaN(e)||""===e||(e=Number(e)),e!=o?i(e)&&(o=e):n()}return r.value=o,t(function(){"cell"===e.getType()&&(r.focus({preventScroll:!0}),r.style.height="100%")}),r.addEventListener("blur",function(e){a()}),r.addEventListener("keydown",function(e){switch(e.keyCode){case 13:a();break;case 27:n()}}),r},date:function(e,t,i,n,s){var o=s.format,r=s.verticalNavigation||"editor",a=o?window.DateTime||luxon.DateTime:null,l=e.getValue(),h=document.createElement("input");function c(e){return(a.isDateTime(e)?e:"iso"===o?a.fromISO(String(e)):a.fromFormat(String(e),o)).toFormat("yyyy-MM-dd")}if(h.type="date",h.style.padding="4px",h.style.width="100%",h.style.boxSizing="border-box",s.max&&h.setAttribute("max",o?c(s.max):s.max),s.min&&h.setAttribute("min",o?c(s.min):s.min),s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),h.setAttribute(e,h.getAttribute(e)+s.elementAttributes["+"+e])):h.setAttribute(e,s.elementAttributes[e]);function u(){var e,t=h.value;if(null==l&&""!==t||t!==l){if(t&&o)switch(e=a.fromFormat(String(t),"yyyy-MM-dd"),o){case!0:t=e;break;case"iso":t=e.toISO();break;default:t=e.toFormat(o)}i(t)&&(l=h.value)}else n()}return l=void 0!==l?l:"",o&&(a?l=c(l):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),h.value=l,t(function(){"cell"===e.getType()&&(h.focus({preventScroll:!0}),h.style.height="100%",s.selectContents&&h.select())}),h.addEventListener("blur",function(e){(e.relatedTarget||e.rangeParent||e.explicitOriginalTarget!==h)&&u()}),h.addEventListener("keydown",function(e){switch(e.keyCode){case 13:u();break;case 27:n();break;case 35:case 36:e.stopPropagation();break;case 38:case 40:"editor"==r&&(e.stopImmediatePropagation(),e.stopPropagation())}}),h},time:function(e,t,i,n,s){var o=s.format,r=s.verticalNavigation||"editor",a=o?window.DateTime||luxon.DateTime:null,l=e.getValue(),h=document.createElement("input");if(h.type="time",h.style.padding="4px",h.style.width="100%",h.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),h.setAttribute(e,h.getAttribute(e)+s.elementAttributes["+"+e])):h.setAttribute(e,s.elementAttributes[e]);function c(){var e,t=h.value;if(null==l&&""!==t||t!==l){if(t&&o)switch(e=a.fromFormat(String(t),"hh:mm"),o){case!0:t=e;break;case"iso":t=e.toISO();break;default:t=e.toFormat(o)}i(t)&&(l=h.value)}else n()}return l=void 0!==l?l:"",o&&(a?l=(a.isDateTime(l)?l:"iso"===o?a.fromISO(String(l)):a.fromFormat(String(l),o)).toFormat("HH:mm"):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),h.value=l,t(function(){"cell"==e.getType()&&(h.focus({preventScroll:!0}),h.style.height="100%",s.selectContents&&h.select())}),h.addEventListener("blur",function(e){(e.relatedTarget||e.rangeParent||e.explicitOriginalTarget!==h)&&c()}),h.addEventListener("keydown",function(e){switch(e.keyCode){case 13:c();break;case 27:n();break;case 35:case 36:e.stopPropagation();break;case 38:case 40:"editor"==r&&(e.stopImmediatePropagation(),e.stopPropagation())}}),h},datetime:function(e,t,i,n,s){var o,r=s.format,a=s.verticalNavigation||"editor",l=r?this.table.dependencyRegistry.lookup(["luxon","DateTime"],"DateTime"):null,h=e.getValue(),c=document.createElement("input");if(c.type="datetime-local",c.style.padding="4px",c.style.width="100%",c.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),c.setAttribute(e,c.getAttribute(e)+s.elementAttributes["+"+e])):c.setAttribute(e,s.elementAttributes[e]);function u(){var e,t=c.value;if(null==h&&""!==t||t!==h){if(t&&r)switch(e=l.fromISO(String(t)),r){case!0:t=e;break;case"iso":t=e.toISO();break;default:t=e.toFormat(r)}i(t)&&(h=c.value)}else n()}return h=void 0!==h?h:"",r&&(l?h=(o=l.isDateTime(h)?h:"iso"===r?l.fromISO(String(h)):l.fromFormat(String(h),r)).toFormat("yyyy-MM-dd")+"T"+o.toFormat("HH:mm"):console.error("Editor Error - 'date' editor 'format' param is dependant on luxon.js")),c.value=h,t(function(){"cell"===e.getType()&&(c.focus({preventScroll:!0}),c.style.height="100%",s.selectContents&&c.select())}),c.addEventListener("blur",function(e){(e.relatedTarget||e.rangeParent||e.explicitOriginalTarget!==c)&&u()}),c.addEventListener("keydown",function(e){switch(e.keyCode){case 13:u();break;case 27:n();break;case 35:case 36:e.stopPropagation();break;case 38:case 40:"editor"==a&&(e.stopImmediatePropagation(),e.stopPropagation())}}),c},list:function(e,t,i,n,s){return new lV(this,e,t,i,n,s).input},star:function(e,t,i,n,s){var o=this,r=e.getElement(),a=e.getValue(),l=r.getElementsByTagName("svg").length||5,h=r.getElementsByTagName("svg")[0]?r.getElementsByTagName("svg")[0].getAttribute("width"):14,c=[],u=document.createElement("div"),d=document.createElementNS("http://www.w3.org/2000/svg","svg");function m(e){c.forEach(function(t,i){i'):("ie"==o.table.browser?t.setAttribute("class","tabulator-star-inactive"):t.classList.replace("tabulator-star-active","tabulator-star-inactive"),t.innerHTML='')})}if(r.style.whiteSpace="nowrap",r.style.overflow="hidden",r.style.textOverflow="ellipsis",u.style.verticalAlign="middle",u.style.display="inline-block",u.style.padding="4px",d.setAttribute("width",h),d.setAttribute("height",h),d.setAttribute("viewBox","0 0 512 512"),d.setAttribute("xml:space","preserve"),d.style.padding="0 1px",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),u.setAttribute(e,u.getAttribute(e)+s.elementAttributes["+"+e])):u.setAttribute(e,s.elementAttributes[e]);for(var p=1;p<=l;p++)!function(e){var t=document.createElement("span"),n=d.cloneNode(!0);c.push(n),t.addEventListener("mouseenter",function(t){t.stopPropagation(),t.stopImmediatePropagation(),m(e)}),t.addEventListener("mousemove",function(e){e.stopPropagation(),e.stopImmediatePropagation()}),t.addEventListener("click",function(t){t.stopPropagation(),t.stopImmediatePropagation(),i(e),r.blur()}),t.appendChild(n),u.appendChild(t)}(p);return m(a=Math.min(parseInt(a),l)),u.addEventListener("mousemove",function(e){m(0)}),u.addEventListener("click",function(e){i(0)}),r.addEventListener("blur",function(e){n()}),r.addEventListener("keydown",function(e){var t,s;switch(e.keyCode){case 39:a=t=a+1,m(t);break;case 37:a=s=a-1,m(s);break;case 13:i(a);break;case 27:n()}}),u},progress:function(e,t,i,n,s){var o,r,a=e.getElement(),l=void 0===s.max?a.getElementsByTagName("div")[0]&&a.getElementsByTagName("div")[0].getAttribute("max")||100:s.max,h=void 0===s.min?a.getElementsByTagName("div")[0]&&a.getElementsByTagName("div")[0].getAttribute("min")||0:s.min,c=(l-h)/100,u=e.getValue()||0,d=document.createElement("div"),m=document.createElement("div");function p(){var e=window.getComputedStyle(a,null),t=c*Math.round(m.offsetWidth/((a.clientWidth-parseInt(e.getPropertyValue("padding-left"))-parseInt(e.getPropertyValue("padding-right")))/100))+h;i(t),a.setAttribute("aria-valuenow",t),a.setAttribute("aria-label",u)}if(d.style.position="absolute",d.style.right="0",d.style.top="0",d.style.bottom="0",d.style.width="5px",d.classList.add("tabulator-progress-handle"),m.style.display="inline-block",m.style.position="relative",m.style.height="100%",m.style.backgroundColor="#488CE9",m.style.maxWidth="100%",m.style.minWidth="0%",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),m.setAttribute(e,m.getAttribute(e)+s.elementAttributes["+"+e])):m.setAttribute(e,s.elementAttributes[e]);return a.style.padding="4px 4px",u=Math.round(((u=Math.max(parseFloat(u=Math.min(parseFloat(u),l)),h))-h)/c),m.style.width=u+"%",a.setAttribute("aria-valuemin",h),a.setAttribute("aria-valuemax",l),m.appendChild(d),d.addEventListener("mousedown",function(e){o=e.screenX,r=m.offsetWidth}),d.addEventListener("mouseover",function(){d.style.cursor="ew-resize"}),a.addEventListener("mousemove",function(e){o&&(m.style.width=r+e.screenX-o+"px")}),a.addEventListener("mouseup",function(e){o&&(e.stopPropagation(),e.stopImmediatePropagation(),o=!1,r=!1,p())}),a.addEventListener("keydown",function(e){switch(e.keyCode){case 39:e.preventDefault(),m.style.width=m.clientWidth+a.clientWidth/100+"px";break;case 37:e.preventDefault(),m.style.width=m.clientWidth-a.clientWidth/100+"px";break;case 9:case 13:p();break;case 27:n()}}),a.addEventListener("blur",function(){n()}),m},tickCross:function(e,t,i,n,s){var o=e.getValue(),r=document.createElement("input"),a=s.tristate,l=void 0===s.indeterminateValue?null:s.indeterminateValue,h=!1,c=Object.keys(s).includes("trueValue"),u=Object.keys(s).includes("falseValue");if(r.setAttribute("type","checkbox"),r.style.marginTop="5px",r.style.boxSizing="border-box",s.elementAttributes&&"object"==typeof s.elementAttributes)for(let e in s.elementAttributes)"+"==e.charAt(0)?(e=e.slice(1),r.setAttribute(e,r.getAttribute(e)+s.elementAttributes["+"+e])):r.setAttribute(e,s.elementAttributes[e]);function d(e){var t=r.checked;return(c&&t?t=s.trueValue:u&&!t&&(t=s.falseValue),a)?e?h?l:t:r.checked&&!h?(r.checked=!1,r.indeterminate=!0,h=!0,l):(h=!1,t):t}return r.value=o,a&&(void 0===o||o===l||""===o)&&(h=!0,r.indeterminate=!0),"firefox"!=this.table.browser&&"safari"!=this.table.browser&&t(function(){"cell"===e.getType()&&r.focus({preventScroll:!0})}),r.checked=c?o===s.trueValue:!0===o||"true"===o||"True"===o||1===o,r.addEventListener("change",function(e){i(d())}),r.addEventListener("blur",function(e){i(d(!0))}),r.addEventListener("keydown",function(e){13==e.keyCode&&i(d()),27==e.keyCode&&n()}),r},adaptable:function(e,t,i,n,s){var o,r,a=e._getSelf().column;return o=s.editorLookup?s.editorLookup(e):function(e){var t=e.getValue(),i="input";switch(typeof t){case"number":i="number";break;case"boolean":i="tickCross";break;case"string":t.includes("\n")&&(i="textarea")}return i}(e),s.paramsLookup&&(r="function"==typeof s.paramsLookup?s.paramsLookup(o,e):s.paramsLookup[o]),this.table.modules.edit.lookupEditor(o,a).call(this,e,t,i,n,r||{})}};class lZ extends lg{static moduleName="edit";static editors=lW;constructor(e){super(e),this.currentCell=!1,this.mouseClick=!1,this.recursionBlock=!1,this.invalidEdit=!1,this.editedCells=[],this.convertEmptyValues=!1,this.editors=lZ.editors,this.registerTableOption("editTriggerEvent","focus"),this.registerTableOption("editorEmptyValue"),this.registerTableOption("editorEmptyValueFunc",this.emptyValueCheck.bind(this)),this.registerColumnOption("editable"),this.registerColumnOption("editor"),this.registerColumnOption("editorParams"),this.registerColumnOption("editorEmptyValue"),this.registerColumnOption("editorEmptyValueFunc"),this.registerColumnOption("cellEditing"),this.registerColumnOption("cellEdited"),this.registerColumnOption("cellEditCancelled"),this.registerTableFunction("getEditedCells",this.getEditedCells.bind(this)),this.registerTableFunction("clearCellEdited",this.clearCellEdited.bind(this)),this.registerTableFunction("navigatePrev",this.navigatePrev.bind(this)),this.registerTableFunction("navigateNext",this.navigateNext.bind(this)),this.registerTableFunction("navigateLeft",this.navigateLeft.bind(this)),this.registerTableFunction("navigateRight",this.navigateRight.bind(this)),this.registerTableFunction("navigateUp",this.navigateUp.bind(this)),this.registerTableFunction("navigateDown",this.navigateDown.bind(this)),this.registerComponentFunction("cell","isEdited",this.cellIsEdited.bind(this)),this.registerComponentFunction("cell","clearEdited",this.clearEdited.bind(this)),this.registerComponentFunction("cell","edit",this.editCell.bind(this)),this.registerComponentFunction("cell","cancelEdit",this.cellCancelEdit.bind(this)),this.registerComponentFunction("cell","navigatePrev",this.navigatePrev.bind(this)),this.registerComponentFunction("cell","navigateNext",this.navigateNext.bind(this)),this.registerComponentFunction("cell","navigateLeft",this.navigateLeft.bind(this)),this.registerComponentFunction("cell","navigateRight",this.navigateRight.bind(this)),this.registerComponentFunction("cell","navigateUp",this.navigateUp.bind(this)),this.registerComponentFunction("cell","navigateDown",this.navigateDown.bind(this))}initialize(){this.subscribe("cell-init",this.bindEditor.bind(this)),this.subscribe("cell-delete",this.clearEdited.bind(this)),this.subscribe("cell-value-changed",this.updateCellClass.bind(this)),this.subscribe("column-layout",this.initializeColumnCheck.bind(this)),this.subscribe("column-delete",this.columnDeleteCheck.bind(this)),this.subscribe("row-deleting",this.rowDeleteCheck.bind(this)),this.subscribe("row-layout",this.rowEditableCheck.bind(this)),this.subscribe("data-refreshing",this.cancelEdit.bind(this)),this.subscribe("clipboard-paste",this.pasteBlocker.bind(this)),this.subscribe("keybinding-nav-prev",this.navigatePrev.bind(this,void 0)),this.subscribe("keybinding-nav-next",this.keybindingNavigateNext.bind(this)),this.subscribe("keybinding-nav-up",this.navigateUp.bind(this,void 0)),this.subscribe("keybinding-nav-down",this.navigateDown.bind(this,void 0)),Object.keys(this.table.options).includes("editorEmptyValue")&&(this.convertEmptyValues=!0)}pasteBlocker(e){if(this.currentCell)return!0}keybindingNavigateNext(e){var t=this.currentCell,i=this.options("tabEndNewRow");t&&!this.navigateNext(t,e)&&i&&(t.getElement().firstChild.blur(),this.invalidEdit||(i=!0===i?this.table.addRow({}):"function"==typeof i?this.table.addRow(i(t.row.getComponent())):this.table.addRow(Object.assign({},i))).then(()=>{setTimeout(()=>{t.getComponent().navigateNext()})}))}cellIsEdited(e){return!!e.modules.edit&&e.modules.edit.edited}cellCancelEdit(e){e===this.currentCell?this.table.modules.edit.cancelEdit():console.warn("Cancel Editor Error - This cell is not currently being edited ")}updateCellClass(e){this.allowEdit(e)?e.getElement().classList.add("tabulator-editable"):e.getElement().classList.remove("tabulator-editable")}clearCellEdited(e){e||(e=this.table.modules.edit.getEditedCells()),Array.isArray(e)||(e=[e]),e.forEach(e=>{this.table.modules.edit.clearEdited(e._getSelf())})}navigatePrev(e=this.currentCell,t){var i,n;if(e){if(t&&t.preventDefault(),i=this.navigateLeft())return!0;if((n=this.table.rowManager.prevDisplayRow(e.row,!0))&&(i=this.findPrevEditableCell(n,n.cells.length)))return i.getComponent().edit(),!0}return!1}navigateNext(e=this.currentCell,t){var i,n;if(e){if(t&&t.preventDefault(),i=this.navigateRight())return!0;if((n=this.table.rowManager.nextDisplayRow(e.row,!0))&&(i=this.findNextEditableCell(n,-1)))return i.getComponent().edit(),!0}return!1}navigateLeft(e=this.currentCell,t){var i,n;return!!(e&&(t&&t.preventDefault(),i=e.getIndex(),n=this.findPrevEditableCell(e.row,i)))&&(n.getComponent().edit(),!0)}navigateRight(e=this.currentCell,t){var i,n;return!!(e&&(t&&t.preventDefault(),i=e.getIndex(),n=this.findNextEditableCell(e.row,i)))&&(n.getComponent().edit(),!0)}navigateUp(e=this.currentCell,t){var i,n;return!!(e&&(t&&t.preventDefault(),i=e.getIndex(),n=this.table.rowManager.prevDisplayRow(e.row,!0)))&&(n.cells[i].getComponent().edit(),!0)}navigateDown(e=this.currentCell,t){var i,n;return!!(e&&(t&&t.preventDefault(),i=e.getIndex(),n=this.table.rowManager.nextDisplayRow(e.row,!0)))&&(n.cells[i].getComponent().edit(),!0)}findNextEditableCell(e,t){var i=!1;if(t0)for(var n=t-1;n>=0;n--){let t=e.cells[n];if(t.column.modules.edit&&lp.elVisible(t.getElement())&&this.allowEdit(t)){i=t;break}}return i}initializeColumnCheck(e){void 0!==e.definition.editor&&this.initializeColumn(e)}columnDeleteCheck(e){this.currentCell&&this.currentCell.column===e&&this.cancelEdit()}rowDeleteCheck(e){this.currentCell&&this.currentCell.row===e&&this.cancelEdit()}rowEditableCheck(e){e.getCells().forEach(e=>{e.column.modules.edit&&"function"==typeof e.column.modules.edit.check&&this.updateCellClass(e)})}initializeColumn(e){var t=Object.keys(e.definition).includes("editorEmptyValue"),i={editor:!1,blocked:!1,check:e.definition.editable,params:e.definition.editorParams||{},convertEmptyValues:t,editorEmptyValue:e.definition.editorEmptyValue,editorEmptyValueFunc:e.definition.editorEmptyValueFunc};i.editor=this.lookupEditor(e.definition.editor,e),i.editor&&(e.modules.edit=i)}lookupEditor(e,t){var i;switch(typeof e){case"string":this.editors[e]?i=this.editors[e]:console.warn("Editor Error - No such editor found: ",e);break;case"function":i=e;break;case"boolean":!0===e&&("function"!=typeof t.definition.formatter?i=this.editors[t.definition.formatter]?this.editors[t.definition.formatter]:this.editors.input:console.warn("Editor Error - Cannot auto lookup editor for a custom formatter: ",t.definition.formatter))}return i}getCurrentCell(){return!!this.currentCell&&this.currentCell.getComponent()}clearEditor(e){var t,i=this.currentCell;if(this.invalidEdit=!1,i){for(this.currentCell=!1,t=i.getElement(),this.dispatch("edit-editor-clear",i,e),t.classList.remove("tabulator-editing");t.firstChild;)t.removeChild(t.firstChild);i.row.getElement().classList.remove("tabulator-editing"),i.table.element.classList.remove("tabulator-editing")}}cancelEdit(){if(this.currentCell){var e=this.currentCell,t=this.currentCell.getComponent();this.clearEditor(!0),e.setValueActual(e.getValue()),e.cellRendered(),("textarea"==e.column.definition.editor||e.column.definition.variableHeight)&&e.row.normalizeHeight(!0),e.column.definition.cellEditCancelled&&e.column.definition.cellEditCancelled.call(this.table,t),this.dispatch("edit-cancelled",e),this.dispatchExternal("cellEditCancelled",t)}}bindEditor(e){if(e.column.modules.edit){var t=this,i=e.getElement(!0);this.updateCellClass(e),i.setAttribute("tabindex",0),i.addEventListener("mousedown",function(e){2===e.button?e.preventDefault():t.mouseClick=!0}),"dblclick"===this.options("editTriggerEvent")&&i.addEventListener("dblclick",function(n){i.classList.contains("tabulator-editing")||(i.focus({preventScroll:!0}),t.edit(e,n,!1))}),("focus"===this.options("editTriggerEvent")||"click"===this.options("editTriggerEvent"))&&i.addEventListener("click",function(n){i.classList.contains("tabulator-editing")||(i.focus({preventScroll:!0}),t.edit(e,n,!1))}),"focus"===this.options("editTriggerEvent")&&i.addEventListener("focus",function(i){t.recursionBlock||t.edit(e,i,!1)})}}focusCellNoEvent(e,t){this.recursionBlock=!0,t&&"ie"===this.table.browser||e.getElement().focus({preventScroll:!0}),this.recursionBlock=!1}editCell(e,t){this.focusCellNoEvent(e),this.edit(e,!1,t)}focusScrollAdjust(e){if("virtual"==this.table.rowManager.getRenderMode()){var t=this.table.rowManager.element.scrollTop,i=this.table.rowManager.element.clientHeight+this.table.rowManager.element.scrollTop,n=e.row.getElement();n.offsetTopi&&(this.table.rowManager.element.scrollTop+=n.offsetTop+n.offsetHeight-i);var s=this.table.rowManager.element.scrollLeft,o=this.table.rowManager.element.clientWidth+this.table.rowManager.element.scrollLeft,r=e.getElement();this.table.modExists("frozenColumns")&&(s+=parseInt(this.table.modules.frozenColumns.leftMargin||0),o-=parseInt(this.table.modules.frozenColumns.rightMargin||0)),"virtual"===this.table.options.renderHorizontal&&(s-=parseInt(this.table.columnManager.renderer.vDomPadLeft),o-=parseInt(this.table.columnManager.renderer.vDomPadLeft)),r.offsetLefto&&(this.table.rowManager.element.scrollLeft+=r.offsetLeft+r.offsetWidth-o)}}allowEdit(e){var t=!!e.column.modules.edit;if(e.column.modules.edit)switch(typeof e.column.modules.edit.check){case"function":e.row.initialized&&(t=e.column.modules.edit.check(e.getComponent()));break;case"string":t=!!e.row.data[e.column.modules.edit.check];break;case"boolean":t=e.column.modules.edit.check}return t}edit(e,t,i){var n,s,o,r=this,a=function(){},l=e.getElement(),h=!1;if(this.currentCell){this.invalidEdit||this.currentCell===e||this.cancelEdit();return}if(e.column.modules.edit.blocked||(t&&t.stopPropagation(),!this.allowEdit(e)&&!i))return this.mouseClick=!1,this.blur(l),!1;if(r.cancelEdit(),r.currentCell=e,this.focusScrollAdjust(e),s=e.getComponent(),this.mouseClick&&(this.mouseClick=!1,e.column.definition.cellClick&&e.column.definition.cellClick.call(this.table,t,s)),e.column.definition.cellEditing&&e.column.definition.cellEditing.call(this.table,s),this.dispatch("cell-editing",e),this.dispatchExternal("cellEditing",s),o="function"==typeof e.column.modules.edit.params?e.column.modules.edit.params(s):e.column.modules.edit.params,n=e.column.modules.edit.editor.call(r,s,function(e){a=e},function(t){if(r.currentCell===e&&!h){var i=r.chain("edit-success",[e,t],!0,!0);return!0===i||"highlight"===r.table.options.validationMode?(h=!0,r.clearEditor(),e.modules.edit||(e.modules.edit={}),e.modules.edit.edited=!0,-1==r.editedCells.indexOf(e)&&r.editedCells.push(e),t=r.transformEmptyValues(t,e),e.setValue(t,!0),!0===i):(h=!0,r.invalidEdit=!0,r.focusCellNoEvent(e,!0),a(),setTimeout(()=>{h=!1},10),!1)}},function(){r.currentCell!==e||h||r.cancelEdit()},o),!this.currentCell||!1===n)return this.blur(l),!1;if(!(n instanceof Node))return console.warn("Edit Error - Editor should return an instance of Node, the editor returned:",n),this.blur(l),!1;for(l.classList.add("tabulator-editing"),e.row.getElement().classList.add("tabulator-editing"),e.table.element.classList.add("tabulator-editing");l.firstChild;)l.removeChild(l.firstChild);l.appendChild(n),a();for(var c=l.children,u=0;u{e.push(t.getComponent())}),e}clearEdited(e){var t;e.modules.edit&&e.modules.edit.edited&&(e.modules.edit.edited=!1,this.dispatch("edit-edited-clear",e)),(t=this.editedCells.indexOf(e))>-1&&this.editedCells.splice(t,1)}}class lG{constructor(e,t,i,n){this.type=e,this.columns=t,this.component=i||!1,this.indent=n||0}}class lU{constructor(e,t,i,n,s){this.value=e,this.component=t||!1,this.width=i,this.height=n,this.depth=s}}var lq={},lK={visible:function(){return this.rowManager.getVisibleRows(!1,!0)},all:function(){return this.rowManager.rows},selected:function(){return this.modules.selectRow.selectedRows},active:function(){return this.options.pagination?this.rowManager.getDisplayRows(this.rowManager.displayRows.length-2):this.rowManager.getDisplayRows()}};class lY extends lg{static moduleName="export";static columnLookups=lq;static rowLookups=lK;constructor(e){super(e),this.config={},this.cloneTableStyle=!0,this.colVisProp="",this.colVisPropAttach="",this.registerTableOption("htmlOutputConfig",!1),this.registerColumnOption("htmlOutput"),this.registerColumnOption("titleHtmlOutput")}initialize(){this.registerTableFunction("getHtml",this.getHtml.bind(this))}generateExportList(e,t,i,n){var s,o,r,a;return this.cloneTableStyle=t,this.config=e||{},this.colVisProp=n,this.colVisPropAttach=this.colVisProp.charAt(0).toUpperCase()+this.colVisProp.slice(1),(a=lY.columnLookups[i])&&(r=(r=a.call(this.table)).filter(e=>this.columnVisCheck(e))),s=!1!==this.config.columnHeaders?this.headersToExportRows(this.generateColumnGroupHeaders(r)):[],r&&(r=r.map(e=>e.getComponent())),o=this.bodyToExportRows(this.rowLookup(i),r),s.concat(o)}generateTable(e,t,i,n){var s=this.generateExportList(e,t,i,n);return this.generateTableElement(s)}rowLookup(e){var t=[];return"function"==typeof e?e.call(this.table).forEach(e=>{(e=this.table.rowManager.findRow(e))&&t.push(e)}):t=(lY.rowLookups[e]||lY.rowLookups.active).call(this.table),Object.assign([],t)}generateColumnGroupHeaders(e){var t=[];return e||(e=!1!==this.config.columnGroups?this.table.columnManager.columns:this.table.columnManager.columnsByIndex),e.forEach(e=>{var i=this.processColumnGroup(e);i&&t.push(i)}),t}processColumnGroup(e){var t=e.columns,i=0,n={title:e.definition["title"+this.colVisPropAttach]||e.definition.title,column:e,depth:1};if(t.length){if(n.subGroups=[],n.width=0,t.forEach(e=>{var t=this.processColumnGroup(e);t&&(n.width+=t.width,n.subGroups.push(t),t.depth>i&&(i=t.depth))}),n.depth+=i,!n.width)return!1}else{if(!this.columnVisCheck(e))return!1;n.width=1}return n}columnVisCheck(e){var t=e.definition[this.colVisProp];return(!1!==this.config.rowHeaders||!e.isRowHeader)&&(("function"==typeof t&&(t=t.call(this.table,e.getComponent())),!1===t||!0===t)?t:e.visible&&e.field)}headersToExportRows(e){var t=[],i=0,n=[];return e.forEach(function(e){e.depth>i&&(i=e.depth)}),e.forEach(function(e){!function e(n,s){var o=i-s;if(void 0===t[s]&&(t[s]=[]),n.height=n.subGroups?1:o-n.depth+1,t[s].push(n),n.height>1)for(let e=1;e1)for(let e=1;e{var t=[];e.forEach(e=>{if(e){let i=void 0===e.title?"":e.title;t.push(new lU(i,e.column.getComponent(),e.width,e.height,e.depth))}else t.push(null)}),n.push(new lG("header",t))}),n}bodyToExportRows(e,t=[]){var i=[];return 0===t.length&&this.table.columnManager.columnsByIndex.forEach(e=>{this.columnVisCheck(e)&&t.push(e.getComponent())}),!1!==this.config.columnCalcs&&this.table.modExists("columnCalcs")&&(this.table.modules.columnCalcs.topInitialized&&e.unshift(this.table.modules.columnCalcs.topRow),this.table.modules.columnCalcs.botInitialized&&e.push(this.table.modules.columnCalcs.botRow)),(e=e.filter(e=>{switch(e.type){case"group":return!1!==this.config.rowGroups;case"calc":return!1!==this.config.columnCalcs;case"row":return!(this.table.options.dataTree&&!1===this.config.dataTree&&e.modules.dataTree.parent)}return!0})).forEach((e,n)=>{var s=e.getData(this.colVisProp),o=[],r=0;switch(e.type){case"group":r=e.level,o.push(new lU(e.key,e.getComponent(),t.length,1));break;case"calc":case"row":t.forEach(e=>{o.push(new lU(e._column.getFieldValue(s),e,1,1))}),this.table.options.dataTree&&!1!==this.config.dataTree&&(r=e.modules.dataTree.index)}i.push(new lG(e.type,o,e.getComponent(),r))}),i}generateTableElement(e){var t=document.createElement("table"),i=document.createElement("thead"),n=document.createElement("tbody"),s=this.lookupTableStyles(),o=this.table.options["rowFormatter"+this.colVisPropAttach],r={};return r.rowFormatter=null!==o?o:this.table.options.rowFormatter,this.table.options.dataTree&&!1!==this.config.dataTree&&this.table.modExists("columnCalcs")&&(r.treeElementField=this.table.modules.dataTree.elementField),r.groupHeader=this.table.options["groupHeader"+this.colVisPropAttach],r.groupHeader&&!Array.isArray(r.groupHeader)&&(r.groupHeader=[r.groupHeader]),t.classList.add("tabulator-print-table"),this.mapElementStyles(this.table.columnManager.getHeadersElement(),i,["border-top","border-left","border-right","border-bottom","background-color","color","font-weight","font-family","font-size"]),e.length>1e3&&console.warn("It may take a long time to render an HTML table with more than 1000 rows"),e.forEach((e,t)=>{let o;switch(e.type){case"header":i.appendChild(this.generateHeaderElement(e,r,s));break;case"group":n.appendChild(this.generateGroupElement(e,r,s));break;case"calc":n.appendChild(this.generateCalcElement(e,r,s));break;case"row":o=this.generateRowElement(e,r,s),this.mapElementStyles(t%2&&s.evenRow?s.evenRow:s.oddRow,o,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),n.appendChild(o)}}),i.innerHTML&&t.appendChild(i),t.appendChild(n),this.mapElementStyles(this.table.element,t,["border-top","border-left","border-right","border-bottom"]),t}lookupTableStyles(){var e={};return this.cloneTableStyle&&window.getComputedStyle&&(e.oddRow=this.table.element.querySelector(".tabulator-row-odd:not(.tabulator-group):not(.tabulator-calcs)"),e.evenRow=this.table.element.querySelector(".tabulator-row-even:not(.tabulator-group):not(.tabulator-calcs)"),e.calcRow=this.table.element.querySelector(".tabulator-row.tabulator-calcs"),e.firstRow=this.table.element.querySelector(".tabulator-row:not(.tabulator-group):not(.tabulator-calcs)"),e.firstGroup=this.table.element.getElementsByClassName("tabulator-group")[0],e.firstRow&&(e.styleCells=e.firstRow.getElementsByClassName("tabulator-cell"),e.styleRowHeader=e.firstRow.getElementsByClassName("tabulator-row-header")[0],e.firstCell=e.styleCells[0],e.lastCell=e.styleCells[e.styleCells.length-1])),e}generateHeaderElement(e,t,i){var n=document.createElement("tr");return e.columns.forEach(e=>{if(e){var t=document.createElement("th"),i=e.component._column.definition.cssClass?e.component._column.definition.cssClass.split(" "):[];t.colSpan=e.width,t.rowSpan=e.height,t.innerHTML=e.value,this.cloneTableStyle&&(t.style.boxSizing="border-box"),i.forEach(function(e){t.classList.add(e)}),this.mapElementStyles(e.component.getElement(),t,["text-align","border-left","border-right","background-color","color","font-weight","font-family","font-size"]),this.mapElementStyles(e.component._column.contentElement,t,["padding-top","padding-left","padding-right","padding-bottom"]),e.component._column.visible?this.mapElementStyles(e.component.getElement(),t,["width"]):e.component._column.definition.width&&(t.style.width=e.component._column.definition.width+"px"),e.component._column.parent&&e.component._column.parent.isGroup?this.mapElementStyles(e.component._column.parent.groupElement,t,["border-top"]):this.mapElementStyles(e.component.getElement(),t,["border-top"]),e.component._column.isGroup?this.mapElementStyles(e.component.getElement(),t,["border-bottom"]):this.mapElementStyles(this.table.columnManager.getElement(),t,["border-bottom"]),n.appendChild(t)}}),n}generateGroupElement(e,t,i){var n=document.createElement("tr"),s=document.createElement("td"),o=e.columns[0];return n.classList.add("tabulator-print-table-row"),t.groupHeader&&t.groupHeader[e.indent]?o.value=t.groupHeader[e.indent](o.value,e.component._group.getRowCount(),e.component._group.getData(),e.component):!1!==t.groupHeader&&(o.value=e.component._group.generator(o.value,e.component._group.getRowCount(),e.component._group.getData(),e.component)),s.colSpan=o.width,s.innerHTML=o.value,n.classList.add("tabulator-print-table-group"),n.classList.add("tabulator-group-level-"+e.indent),o.component.isVisible()&&n.classList.add("tabulator-group-visible"),this.mapElementStyles(i.firstGroup,n,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),this.mapElementStyles(i.firstGroup,s,["padding-top","padding-left","padding-right","padding-bottom"]),n.appendChild(s),n}generateCalcElement(e,t,i){var n=this.generateRowElement(e,t,i);return n.classList.add("tabulator-print-table-calcs"),this.mapElementStyles(i.calcRow,n,["border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","background-color"]),n}generateRowElement(e,t,i){var n=document.createElement("tr");return n.classList.add("tabulator-print-table-row"),e.columns.forEach((s,o)=>{if(s){var r,a,l=document.createElement("td"),h=s.component._column,c=this.table,u=c.columnManager.findColumnIndex(h),d=s.value,m={modules:{},getValue:function(){return d},getField:function(){return h.definition.field},getElement:function(){return l},getType:function(){return"cell"},getColumn:function(){return h.getComponent()},getData:function(){return e.component.getData()},getRow:function(){return e.component},getTable:function(){return c},getComponent:function(){return m},column:h};if((h.definition.cssClass?h.definition.cssClass.split(" "):[]).forEach(function(e){l.classList.add(e)}),this.table.modExists("format")&&!1!==this.config.formatCells)d=this.table.modules.format.formatExportValue(m,this.colVisProp);else switch(typeof d){case"object":d=null!==d?JSON.stringify(d):"";break;case"undefined":d=""}d instanceof Node?l.appendChild(d):l.innerHTML=d,a=["padding-top","padding-left","padding-right","padding-bottom","border-top","border-left","border-right","border-bottom","color","font-weight","font-family","font-size","text-align"],h.isRowHeader?(r=i.styleRowHeader,a.push("background-color")):r=i.styleCells&&i.styleCells[u]?i.styleCells[u]:i.firstCell,r&&(this.mapElementStyles(r,l,a),h.definition.align&&(l.style.textAlign=h.definition.align)),this.table.options.dataTree&&!1!==this.config.dataTree&&(t.treeElementField&&t.treeElementField==h.field||!t.treeElementField&&0==o)&&(e.component._row.modules.dataTree.controlEl&&l.insertBefore(e.component._row.modules.dataTree.controlEl.cloneNode(!0),l.firstChild),e.component._row.modules.dataTree.branchEl&&l.insertBefore(e.component._row.modules.dataTree.branchEl.cloneNode(!0),l.firstChild)),n.appendChild(l),m.modules.format&&m.modules.format.renderedCallback&&m.modules.format.renderedCallback()}}),t.rowFormatter&&"row"===e.type&&!1!==this.config.formatCells&&(Object.assign(e.component).getElement=function(){return n},t.rowFormatter(e.component)),n}generateHTMLTable(e){var t=document.createElement("div");return t.appendChild(this.generateTableElement(e)),t.innerHTML}getHtml(e,t,i,n){var s=this.generateExportList(i||this.table.options.htmlOutputConfig,t,e,n||"htmlOutput");return this.generateHTMLTable(s)}mapElementStyles(e,t,i){if(this.cloneTableStyle&&e&&t){var n={"background-color":"backgroundColor",color:"fontColor",width:"width","font-weight":"fontWeight","font-family":"fontFamily","font-size":"fontSize","text-align":"textAlign","border-top":"borderTop","border-left":"borderLeft","border-right":"borderRight","border-bottom":"borderBottom","padding-top":"paddingTop","padding-left":"paddingLeft","padding-right":"paddingRight","padding-bottom":"paddingBottom"};if(window.getComputedStyle){var s=window.getComputedStyle(e);i.forEach(function(e){t.style[n[e]]||(t.style[n[e]]=s.getPropertyValue(e))})}}}}var l$={"=":function(e,t,i,n){return t==e},"<":function(e,t,i,n){return t":function(e,t,i,n){return t>e},">=":function(e,t,i,n){return t>=e},"!=":function(e,t,i,n){return t!=e},regex:function(e,t,i,n){return"string"==typeof e&&(e=new RegExp(e)),e.test(t)},like:function(e,t,i,n){return null==e?t===e:null!=t&&String(t).toLowerCase().indexOf(e.toLowerCase())>-1},keywords:function(e,t,i,n){var s=e.toLowerCase().split(void 0===n.separator?" ":n.separator),o=String(null==t?"":t).toLowerCase(),r=[];return s.forEach(e=>{o.includes(e)&&r.push(!0)}),n.matchAll?r.length===s.length:!!r.length},starts:function(e,t,i,n){return null==e?t===e:null!=t&&String(t).toLowerCase().startsWith(e.toLowerCase())},ends:function(e,t,i,n){return null==e?t===e:null!=t&&String(t).toLowerCase().endsWith(e.toLowerCase())},in:function(e,t,i,n){return Array.isArray(e)?!e.length||e.indexOf(t)>-1:(console.warn("Filter Error - filter value is not an array:",e),!1)}};class lJ extends lg{static moduleName="filter";static filters=l$;constructor(e){super(e),this.filterList=[],this.headerFilters={},this.headerFilterColumns=[],this.prevHeaderFilterChangeCheck="",this.prevHeaderFilterChangeCheck="{}",this.changed=!1,this.tableInitialized=!1,this.registerTableOption("filterMode","local"),this.registerTableOption("initialFilter",!1),this.registerTableOption("initialHeaderFilter",!1),this.registerTableOption("headerFilterLiveFilterDelay",300),this.registerTableOption("placeholderHeaderFilter",!1),this.registerColumnOption("headerFilter"),this.registerColumnOption("headerFilterPlaceholder"),this.registerColumnOption("headerFilterParams"),this.registerColumnOption("headerFilterEmptyCheck"),this.registerColumnOption("headerFilterFunc"),this.registerColumnOption("headerFilterFuncParams"),this.registerColumnOption("headerFilterLiveFilter"),this.registerTableFunction("searchRows",this.searchRows.bind(this)),this.registerTableFunction("searchData",this.searchData.bind(this)),this.registerTableFunction("setFilter",this.userSetFilter.bind(this)),this.registerTableFunction("refreshFilter",this.userRefreshFilter.bind(this)),this.registerTableFunction("addFilter",this.userAddFilter.bind(this)),this.registerTableFunction("getFilters",this.getFilters.bind(this)),this.registerTableFunction("setHeaderFilterFocus",this.userSetHeaderFilterFocus.bind(this)),this.registerTableFunction("getHeaderFilterValue",this.userGetHeaderFilterValue.bind(this)),this.registerTableFunction("setHeaderFilterValue",this.userSetHeaderFilterValue.bind(this)),this.registerTableFunction("getHeaderFilters",this.getHeaderFilters.bind(this)),this.registerTableFunction("removeFilter",this.userRemoveFilter.bind(this)),this.registerTableFunction("clearFilter",this.userClearFilter.bind(this)),this.registerTableFunction("clearHeaderFilter",this.userClearHeaderFilter.bind(this)),this.registerComponentFunction("column","headerFilterFocus",this.setHeaderFilterFocus.bind(this)),this.registerComponentFunction("column","reloadHeaderFilter",this.reloadHeaderFilter.bind(this)),this.registerComponentFunction("column","getHeaderFilterValue",this.getHeaderFilterValue.bind(this)),this.registerComponentFunction("column","setHeaderFilterValue",this.setHeaderFilterValue.bind(this))}initialize(){this.subscribe("column-init",this.initializeColumnHeaderFilter.bind(this)),this.subscribe("column-width-fit-before",this.hideHeaderFilterElements.bind(this)),this.subscribe("column-width-fit-after",this.showHeaderFilterElements.bind(this)),this.subscribe("table-built",this.tableBuilt.bind(this)),this.subscribe("placeholder",this.generatePlaceholder.bind(this)),"remote"===this.table.options.filterMode&&this.subscribe("data-params",this.remoteFilterParams.bind(this)),this.registerDataHandler(this.filter.bind(this),10)}tableBuilt(){this.table.options.initialFilter&&this.setFilter(this.table.options.initialFilter),this.table.options.initialHeaderFilter&&this.table.options.initialHeaderFilter.forEach(e=>{var t=this.table.columnManager.findColumn(e.field);if(!t)return console.warn("Column Filter Error - No matching column found:",e.field),!1;this.setHeaderFilterValue(t,e.value)}),this.tableInitialized=!0}remoteFilterParams(e,t,i,n){return n.filter=this.getFilters(!0,!0),n}generatePlaceholder(e){if(this.table.options.placeholderHeaderFilter&&Object.keys(this.headerFilters).length)return this.table.options.placeholderHeaderFilter}userSetFilter(e,t,i,n){this.setFilter(e,t,i,n),this.refreshFilter()}userRefreshFilter(){this.refreshFilter()}userAddFilter(e,t,i,n){this.addFilter(e,t,i,n),this.refreshFilter()}userSetHeaderFilterFocus(e){var t=this.table.columnManager.findColumn(e);if(!t)return console.warn("Column Filter Focus Error - No matching column found:",e),!1;this.setHeaderFilterFocus(t)}userGetHeaderFilterValue(e){var t=this.table.columnManager.findColumn(e);if(t)return this.getHeaderFilterValue(t);console.warn("Column Filter Error - No matching column found:",e)}userSetHeaderFilterValue(e,t){var i=this.table.columnManager.findColumn(e);if(!i)return console.warn("Column Filter Error - No matching column found:",e),!1;this.setHeaderFilterValue(i,t)}userRemoveFilter(e,t,i){this.removeFilter(e,t,i),this.refreshFilter()}userClearFilter(e){this.clearFilter(e),this.refreshFilter()}userClearHeaderFilter(){this.clearHeaderFilter(),this.refreshFilter()}searchRows(e,t,i){return this.search("rows",e,t,i)}searchData(e,t,i){return this.search("data",e,t,i)}initializeColumnHeaderFilter(e){e.definition.headerFilter&&this.initializeColumn(e)}initializeColumn(e,t){var i=this,n=e.getField();e.modules.filter={success:function(t){var s,o="input"==e.modules.filter.tagType&&"text"==e.modules.filter.attrType||"textarea"==e.modules.filter.tagType?"partial":"match",r="",a="";if(void 0===e.modules.filter.prevSuccess||e.modules.filter.prevSuccess!==t){if(e.modules.filter.prevSuccess=t,e.modules.filter.emptyFunc(t))delete i.headerFilters[n];else{switch(e.modules.filter.value=t,typeof e.definition.headerFilterFunc){case"string":lJ.filters[e.definition.headerFilterFunc]?(r=e.definition.headerFilterFunc,s=function(i){var n=e.definition.headerFilterFuncParams||{},s=e.getFieldValue(i);return n="function"==typeof n?n(t,s,i):n,lJ.filters[e.definition.headerFilterFunc](t,s,i,n)}):console.warn("Header Filter Error - Matching filter function not found: ",e.definition.headerFilterFunc);break;case"function":r=s=function(i){var n=e.definition.headerFilterFuncParams||{},s=e.getFieldValue(i);return n="function"==typeof n?n(t,s,i):n,e.definition.headerFilterFunc(t,s,i,n)}}s||("partial"===o?(s=function(i){var n=e.getFieldValue(i);return null!=n&&String(n).toLowerCase().indexOf(String(t).toLowerCase())>-1},r="like"):(s=function(i){return e.getFieldValue(i)==t},r="=")),i.headerFilters[n]={value:t,func:s,type:r}}e.modules.filter.value=t,a=JSON.stringify(i.headerFilters),i.prevHeaderFilterChangeCheck!==a&&(i.prevHeaderFilterChangeCheck=a,i.trackChanges(),i.refreshFilter())}return!0},attrType:!1,tagType:!1,emptyFunc:!1},this.generateHeaderFilterElement(e)}generateHeaderFilterElement(e,t,i){var n,s,o,r,a,l,h,c,u=this,d=e.modules.filter.success,m=e.getField();if(e.modules.filter.value=t,e.modules.filter.headerElement&&e.modules.filter.headerElement.parentNode&&e.contentElement.removeChild(e.modules.filter.headerElement.parentNode),m){switch(e.modules.filter.emptyFunc=e.definition.headerFilterEmptyCheck||function(e){return!e&&0!==e},(n=document.createElement("div")).classList.add("tabulator-header-filter"),typeof e.definition.headerFilter){case"string":u.table.modules.edit.editors[e.definition.headerFilter]?(s=u.table.modules.edit.editors[e.definition.headerFilter],"tick"!==e.definition.headerFilter&&"tickCross"!==e.definition.headerFilter||e.definition.headerFilterEmptyCheck||(e.modules.filter.emptyFunc=function(e){return!0!==e&&!1!==e})):console.warn("Filter Error - Cannot build header filter, No such editor found: ",e.definition.editor);break;case"function":s=e.definition.headerFilter;break;case"boolean":e.modules.edit&&e.modules.edit.editor?s=e.modules.edit.editor:e.definition.formatter&&u.table.modules.edit.editors[e.definition.formatter]?(s=u.table.modules.edit.editors[e.definition.formatter],"tick"!==e.definition.formatter&&"tickCross"!==e.definition.formatter||e.definition.headerFilterEmptyCheck||(e.modules.filter.emptyFunc=function(e){return!0!==e&&!1!==e})):s=u.table.modules.edit.editors.input}if(s){if(r={getValue:function(){return void 0!==t?t:""},getField:function(){return e.definition.field},getElement:function(){return n},getColumn:function(){return e.getComponent()},getTable:()=>this.table,getType:()=>"header",getRow:function(){return{normalizeHeight:function(){}}}},h="function"==typeof(h=e.definition.headerFilterParams||{})?h.call(u.table,r):h,!(o=s.call(this.table.modules.edit,r,function(e){c=e},d,function(){},h))){console.warn("Filter Error - Cannot add filter to "+m+" column, editor returned a value of false");return}if(!(o instanceof Node)){console.warn("Filter Error - Cannot add filter to "+m+" column, editor should return an instance of Node, the editor returned:",o);return}u.langBind("headerFilters|columns|"+e.definition.field,function(t){o.setAttribute("placeholder",void 0!==t&&t?t:e.definition.headerFilterPlaceholder||u.langText("headerFilters|default"))}),o.addEventListener("click",function(e){e.stopPropagation(),o.focus()}),o.addEventListener("focus",e=>{var t=this.table.columnManager.contentsElement.scrollLeft;t!==this.table.rowManager.element.scrollLeft&&(this.table.rowManager.scrollHorizontal(t),this.table.columnManager.scrollHorizontal(t))}),a=!1,l=function(e){a&&clearTimeout(a),a=setTimeout(function(){d(o.value)},u.table.options.headerFilterLiveFilterDelay)},e.modules.filter.headerElement=o,e.modules.filter.attrType=o.hasAttribute("type")?o.getAttribute("type").toLowerCase():"",e.modules.filter.tagType=o.tagName.toLowerCase(),!1!==e.definition.headerFilterLiveFilter&&("autocomplete"===e.definition.headerFilter||"tickCross"===e.definition.headerFilter||("autocomplete"===e.definition.editor||"tickCross"===e.definition.editor)&&!0===e.definition.headerFilter||(o.addEventListener("keyup",l),o.addEventListener("search",l),"number"==e.modules.filter.attrType&&o.addEventListener("change",function(e){d(o.value)}),"text"==e.modules.filter.attrType&&"ie"!==this.table.browser&&o.setAttribute("type","search")),("input"==e.modules.filter.tagType||"select"==e.modules.filter.tagType||"textarea"==e.modules.filter.tagType)&&o.addEventListener("mousedown",function(e){e.stopPropagation()})),n.appendChild(o),e.contentElement.appendChild(n),i||u.headerFilterColumns.push(e),c&&c()}}else console.warn("Filter Error - Cannot add header filter, column has no field set:",e.definition.title)}hideHeaderFilterElements(){this.headerFilterColumns.forEach(function(e){e.modules.filter&&e.modules.filter.headerElement&&(e.modules.filter.headerElement.style.display="none")})}showHeaderFilterElements(){this.headerFilterColumns.forEach(function(e){e.modules.filter&&e.modules.filter.headerElement&&(e.modules.filter.headerElement.style.display="")})}setHeaderFilterFocus(e){e.modules.filter&&e.modules.filter.headerElement?e.modules.filter.headerElement.focus():console.warn("Column Filter Focus Error - No header filter set on column:",e.getField())}getHeaderFilterValue(e){if(e.modules.filter&&e.modules.filter.headerElement)return e.modules.filter.value;console.warn("Column Filter Error - No header filter set on column:",e.getField())}setHeaderFilterValue(e,t){e&&(e.modules.filter&&e.modules.filter.headerElement?(this.generateHeaderFilterElement(e,t,!0),e.modules.filter.success(t)):console.warn("Column Filter Error - No header filter set on column:",e.getField()))}reloadHeaderFilter(e){e&&(e.modules.filter&&e.modules.filter.headerElement?this.generateHeaderFilterElement(e,e.modules.filter.value,!0):console.warn("Column Filter Error - No header filter set on column:",e.getField()))}refreshFilter(){this.tableInitialized&&("remote"===this.table.options.filterMode?this.reloadData(null,!1,!1):this.refreshData(!0))}trackChanges(){this.changed=!0,this.dispatch("filter-changed")}hasChanged(){var e=this.changed;return this.changed=!1,e}setFilter(e,t,i,n){this.filterList=[],Array.isArray(e)||(e=[{field:e,type:t,value:i,params:n}]),this.addFilter(e)}addFilter(e,t,i,n){var s=!1;Array.isArray(e)||(e=[{field:e,type:t,value:i,params:n}]),e.forEach(e=>{(e=this.findFilter(e))&&(this.filterList.push(e),s=!0)}),s&&this.trackChanges()}findFilter(e){if(Array.isArray(e))return this.findSubFilters(e);var t,i=!1;return"function"==typeof e.field?i=function(t){return e.field(t,e.type||{})}:lJ.filters[e.type]?i=(t=this.table.columnManager.getColumnByField(e.field))?function(i){return lJ.filters[e.type](e.value,t.getFieldValue(i),i,e.params||{})}:function(t){return lJ.filters[e.type](e.value,t[e.field],t,e.params||{})}:console.warn("Filter Error - No such filter type found, ignoring: ",e.type),e.func=i,!!e.func&&e}findSubFilters(e){var t=[];return e.forEach(e=>{(e=this.findFilter(e))&&t.push(e)}),!!t.length&&t}getFilters(e,t){var i=[];return e&&(i=this.getHeaderFilters()),t&&i.forEach(function(e){"function"==typeof e.type&&(e.type="function")}),i=i.concat(this.filtersToArray(this.filterList,t))}filtersToArray(e,t){var i=[];return e.forEach(e=>{var n;Array.isArray(e)?i.push(this.filtersToArray(e,t)):(n={field:e.field,type:e.type,value:e.value},t&&"function"==typeof n.type&&(n.type="function"),i.push(n))}),i}getHeaderFilters(){var e=[];for(var t in this.headerFilters)e.push({field:t,type:this.headerFilters[t].type,value:this.headerFilters[t].value});return e}removeFilter(e,t,i){Array.isArray(e)||(e=[{field:e,type:t,value:i}]),e.forEach(e=>{var t=-1;(t="object"==typeof e.field?this.filterList.findIndex(t=>e===t):this.filterList.findIndex(t=>e.field===t.field&&e.type===t.type&&e.value===t.value))>-1?this.filterList.splice(t,1):console.warn("Filter Error - No matching filter type found, ignoring: ",e.type)}),this.trackChanges()}clearFilter(e){this.filterList=[],e&&this.clearHeaderFilter(),this.trackChanges()}clearHeaderFilter(){this.headerFilters={},this.prevHeaderFilterChangeCheck="{}",this.headerFilterColumns.forEach(e=>{void 0!==e.modules.filter.value&&delete e.modules.filter.value,e.modules.filter.prevSuccess=void 0,this.reloadHeaderFilter(e)}),this.trackChanges()}search(e,t,i,n){var s=[],o=[];return Array.isArray(t)||(t=[{field:t,type:i,value:n}]),t.forEach(e=>{(e=this.findFilter(e))&&o.push(e)}),this.table.rowManager.rows.forEach(t=>{var i=!0;o.forEach(e=>{this.filterRecurse(e,t.getData())||(i=!1)}),i&&s.push("data"===e?t.getData("data"):t.getComponent())}),s}filter(e,t){var i=[],n=[];return this.subscribedExternal("dataFiltering")&&this.dispatchExternal("dataFiltering",this.getFilters(!0)),"remote"!==this.table.options.filterMode&&(this.filterList.length||Object.keys(this.headerFilters).length)?e.forEach(e=>{this.filterRow(e)&&i.push(e)}):i=e.slice(0),this.subscribedExternal("dataFiltered")&&(i.forEach(e=>{n.push(e.getComponent())}),this.dispatchExternal("dataFiltered",this.getFilters(!0),n)),i}filterRow(e,t){var i=!0,n=e.getData();for(var s in this.filterList.forEach(e=>{this.filterRecurse(e,n)||(i=!1)}),this.headerFilters)this.headerFilters[s].func(n)||(i=!1);return i}filterRecurse(e,t){var i=!1;return Array.isArray(e)?e.forEach(e=>{this.filterRecurse(e,t)&&(i=!0)}):i=e.func(t),i}}var lX={plaintext:function(e,t,i){return this.emptyToSpace(this.sanitizeHTML(e.getValue()))},html:function(e,t,i){return e.getValue()},textarea:function(e,t,i){return e.getElement().style.whiteSpace="pre-wrap",this.emptyToSpace(this.sanitizeHTML(e.getValue()))},money:function(e,t,i){var n,s,o,r,a,l=parseFloat(e.getValue()),h="",c=t.decimal||".",u=t.thousand||",",d=t.negativeSign||"-",m=t.symbol||"",p=!!t.symbolAfter,f=void 0!==t.precision?t.precision:2;if(isNaN(l))return this.emptyToSpace(this.sanitizeHTML(e.getValue()));if(l<0&&(l=Math.abs(l),h=d),s=(n=String(n=!1!==f?l.toFixed(f):l).split("."))[0],o=n.length>1?c+n[1]:"",!1!==t.thousand)for(r=/(\d+)(\d{3})/;r.test(s);)s=s.replace(r,"$1"+u+"$2");return(a=s+o,!0===h)?(a="("+a+")",p?a+m:m+a):p?h+a+m:h+m+a},link:function(e,t,i){var n,s=e.getValue(),o=t.urlPrefix||"",r=t.download,a=s,l=document.createElement("a");if(t.labelField&&(n=e.getData(),a=function e(t,i){var n=i[t.shift()];return t.length&&"object"==typeof n?e(t,n):n}(t.labelField.split(this.table.options.nestedFieldSeparator),n)),t.label)switch(typeof t.label){case"string":a=t.label;break;case"function":a=t.label(e)}if(!a)return" ";if(t.urlField&&(n=e.getData(),s=lp.retrieveNestedData(this.table.options.nestedFieldSeparator,t.urlField,n)),t.url)switch(typeof t.url){case"string":s=t.url;break;case"function":s=t.url(e)}return l.setAttribute("href",o+s),t.target&&l.setAttribute("target",t.target),t.download&&(r="function"==typeof r?r(e):!0===r?"":r,l.setAttribute("download",r)),l.innerHTML=this.emptyToSpace(this.sanitizeHTML(a)),l},image:function(e,t,i){var n=document.createElement("img"),s=e.getValue();switch(t.urlPrefix&&(s=t.urlPrefix+e.getValue()),t.urlSuffix&&(s+=t.urlSuffix),n.setAttribute("src",s),typeof t.height){case"number":n.style.height=t.height+"px";break;case"string":n.style.height=t.height}switch(typeof t.width){case"number":n.style.width=t.width+"px";break;case"string":n.style.width=t.width}return n.addEventListener("load",function(){e.getRow().normalizeHeight()}),n},tickCross:function(e,t,i){var n=e.getValue(),s=e.getElement(),o=t.allowEmpty,r=t.allowTruthy,a=Object.keys(t).includes("trueValue"),l=void 0!==t.tickElement?t.tickElement:'',h=void 0!==t.crossElement?t.crossElement:'';return a&&n===t.trueValue||!a&&(r&&n||!0===n||"true"===n||"True"===n||1===n||"1"===n)?(s.setAttribute("aria-checked",!0),l||""):o&&("null"===n||""===n||null==n)?(s.setAttribute("aria-checked","mixed"),""):(s.setAttribute("aria-checked",!1),h||"")},datetime:function(e,t,i){var n,s=this.table.dependencyRegistry.lookup(["luxon","DateTime"],"DateTime"),o=t.inputFormat||"yyyy-MM-dd HH:mm:ss",r=t.outputFormat||"dd/MM/yyyy HH:mm:ss",a=void 0!==t.invalidPlaceholder?t.invalidPlaceholder:"",l=e.getValue();if(void 0!==s)return(n=s.isDateTime(l)?l:"iso"===o?s.fromISO(String(l)):s.fromFormat(String(l),o)).isValid?(t.timezone&&(n=n.setZone(t.timezone)),n.toFormat(r)):!0!==a&&l?"function"==typeof a?a(l):a:l;console.error("Format Error - 'datetime' formatter is dependant on luxon.js")},datetimediff:function(e,t,i){var n,s=this.table.dependencyRegistry.lookup(["luxon","DateTime"],"DateTime"),o=t.inputFormat||"yyyy-MM-dd HH:mm:ss",r=void 0!==t.invalidPlaceholder?t.invalidPlaceholder:"",a=void 0!==t.suffix&&t.suffix,l=void 0!==t.unit?t.unit:"days",h=void 0!==t.humanize&&t.humanize,c=void 0!==t.date?t.date:s.now(),u=e.getValue();if(void 0!==s)return(n=s.isDateTime(u)?u:"iso"===o?s.fromISO(String(u)):s.fromFormat(String(u),o)).isValid?h?n.diff(c,l).toHuman()+(a?" "+a:""):parseInt(n.diff(c,l)[l])+(a?" "+a:""):!0===r?u:"function"==typeof r?r(u):r;console.error("Format Error - 'datetimediff' formatter is dependant on luxon.js")},lookup:function(e,t,i){var n=e.getValue();return void 0===t[n]?(console.warn("Missing display value for "+n),n):t[n]},star:function(e,t,i){var n=e.getValue(),s=e.getElement(),o=t&&t.stars?t.stars:5,r=document.createElement("span"),a=document.createElementNS("http://www.w3.org/2000/svg","svg");r.style.verticalAlign="middle",a.setAttribute("width","14"),a.setAttribute("height","14"),a.setAttribute("viewBox","0 0 512 512"),a.setAttribute("xml:space","preserve"),a.style.padding="0 1px",n=Math.max(0,Math.min(n=n&&!isNaN(n)?parseInt(n):0,o));for(var l=1;l<=o;l++){var h=a.cloneNode(!0);h.innerHTML=l<=n?'':'',r.appendChild(h)}return s.style.whiteSpace="nowrap",s.style.overflow="hidden",s.style.textOverflow="ellipsis",s.setAttribute("aria-label",n),r},traffic:function(e,t,i){var n,s,o=this.sanitizeHTML(e.getValue())||0,r=document.createElement("span"),a=t&&t.max?t.max:100,l=t&&t.min?t.min:0,h=t&&void 0!==t.color?t.color:["red","orange","green"],c="#666666";if(!isNaN(o)&&void 0!==e.getValue()){switch(r.classList.add("tabulator-traffic-light"),s=parseFloat(s=parseFloat(o)<=a?parseFloat(o):a)>=l?parseFloat(s):l,n=(a-l)/100,s=Math.round((s-l)/n),typeof h){case"string":c=h;break;case"function":c=h(o);break;case"object":if(Array.isArray(h)){var u=Math.floor(s/(100/h.length));u=Math.max(u=Math.min(u,h.length-1),0),c=h[u]}}return r.style.backgroundColor=c,r}},progress:function(e,t={},i){var n,s,o,r,a,l=this.sanitizeHTML(e.getValue())||0,h=e.getElement(),c=t.max?t.max:100,u=t.min?t.min:0,d=t.legendAlign?t.legendAlign:"center";switch(s=parseFloat(s=parseFloat(l)<=c?parseFloat(l):c)>=u?parseFloat(s):u,n=(c-u)/100,s=Math.round((s-u)/n),typeof t.color){case"string":o=t.color;break;case"function":o=t.color(l);break;case"object":if(Array.isArray(t.color)){let e=Math.floor(s/(100/t.color.length));e=Math.max(e=Math.min(e,t.color.length-1),0),o=t.color[e];break}default:o="#2DC214"}switch(typeof t.legend){case"string":r=t.legend;break;case"function":r=t.legend(l);break;case"boolean":r=l;break;default:r=!1}switch(typeof t.legendColor){case"string":a=t.legendColor;break;case"function":a=t.legendColor(l);break;case"object":if(Array.isArray(t.legendColor)){let e=Math.floor(s/(100/t.legendColor.length));e=Math.max(e=Math.min(e,t.legendColor.length-1),0),a=t.legendColor[e]}break;default:a="#000"}h.style.minWidth="30px",h.style.position="relative",h.setAttribute("aria-label",s);var m=document.createElement("div");m.style.display="inline-block",m.style.width=s+"%",m.style.backgroundColor=o,m.style.height="100%",m.setAttribute("data-max",c),m.setAttribute("data-min",u);var p=document.createElement("div");if(p.style.position="relative",p.style.width="100%",p.style.height="100%",r){var f=document.createElement("div");f.style.position="absolute",f.style.top=0,f.style.left=0,f.style.textAlign=d,f.style.width="100%",f.style.color=a,f.innerHTML=r}return i(function(){if(!(e instanceof lM)){var t=document.createElement("div");t.style.position="absolute",t.style.top="4px",t.style.bottom="4px",t.style.left="4px",t.style.right="4px",h.appendChild(t),h=t}h.appendChild(p),p.appendChild(m),r&&p.appendChild(f)}),""},color:function(e,t,i){return e.getElement().style.backgroundColor=this.sanitizeHTML(e.getValue()),""},buttonTick:function(e,t,i){return''},buttonCross:function(e,t,i){return''},toggle:function(e,t,i){var n,s,o=e.getValue(),r=t.size||15,a=r+"px",l=!t.hasOwnProperty("onValue")||t.onValue,h=!!t.hasOwnProperty("offValue")&&t.offValue,c=t.onTruthy?o:o===l;return(n=document.createElement("div")).classList.add("tabulator-toggle"),c?(n.classList.add("tabulator-toggle-on"),n.style.flexDirection="row-reverse",t.onColor&&(n.style.background=t.onColor)):t.offColor&&(n.style.background=t.offColor),n.style.width=2.5*r+"px",n.style.borderRadius=a,t.clickable&&n.addEventListener("click",t=>{e.setValue(c?h:l)}),(s=document.createElement("div")).classList.add("tabulator-toggle-switch"),s.style.height=a,s.style.width=a,s.style.borderRadius=a,n.appendChild(s),n},rownum:function(e,t,i){var n=document.createElement("span"),s=e.getRow(),o=e.getTable();return s.watchPosition(e=>{t.relativeToPage&&(e+=o.modules.page.getPageSize()*(o.modules.page.getPage()-1)),n.innerText=e}),n},handle:function(e,t,i){return e.getElement().classList.add("tabulator-row-handle"),""},adaptable:function(e,t,i){var n,s;return n=t.formatterLookup?t.formatterLookup(e):function(e){var t=e.getValue(),i="plaintext";switch(typeof t){case"boolean":i="tickCross";break;case"string":t.includes("\n")&&(i="textarea")}return i}(e),t.paramsLookup&&(s="function"==typeof t.paramsLookup?t.paramsLookup(n,e):t.paramsLookup[n]),this.table.modules.format.lookupFormatter(n).call(this,e,s||{},i)},array:function(e,t,i){var n,s=t.delimiter||",",o=e.getValue(),r=this.table;return(t.valueMap&&(n="string"==typeof t.valueMap?function(e){return e.map(e=>lp.retrieveNestedData(r.options.nestedFieldSeparator,t.valueMap,e))}:t.valueMap),Array.isArray(o))?(n&&(o=n(o)),o.join(s)):o},json:function(e,t,i){var n=t.indent||" ",s=void 0===t.multiline||t.multiline,o=t.replacer||null,r=e.getValue();return s&&(e.getElement().style.whiteSpace="pre-wrap"),JSON.stringify(r,o,n)}};class lQ extends lg{static moduleName="format";static formatters=lX;constructor(e){super(e),this.registerColumnOption("formatter"),this.registerColumnOption("formatterParams"),this.registerColumnOption("formatterPrint"),this.registerColumnOption("formatterPrintParams"),this.registerColumnOption("formatterClipboard"),this.registerColumnOption("formatterClipboardParams"),this.registerColumnOption("formatterHtmlOutput"),this.registerColumnOption("formatterHtmlOutputParams"),this.registerColumnOption("titleFormatter"),this.registerColumnOption("titleFormatterParams")}initialize(){this.subscribe("cell-format",this.formatValue.bind(this)),this.subscribe("cell-rendered",this.cellRendered.bind(this)),this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("column-format",this.formatHeader.bind(this))}initializeColumn(e){e.modules.format=this.lookupTypeFormatter(e,""),void 0!==e.definition.formatterPrint&&(e.modules.format.print=this.lookupTypeFormatter(e,"Print")),void 0!==e.definition.formatterClipboard&&(e.modules.format.clipboard=this.lookupTypeFormatter(e,"Clipboard")),void 0!==e.definition.formatterHtmlOutput&&(e.modules.format.htmlOutput=this.lookupTypeFormatter(e,"HtmlOutput"))}lookupTypeFormatter(e,t){var i={params:e.definition["formatter"+t+"Params"]||{}},n=e.definition["formatter"+t];return i.formatter=this.lookupFormatter(n),i}lookupFormatter(e){var t;switch(typeof e){case"string":lQ.formatters[e]?t=lQ.formatters[e]:(console.warn("Formatter Error - No such formatter found: ",e),t=lQ.formatters.plaintext);break;case"function":t=e;break;default:t=lQ.formatters.plaintext}return t}cellRendered(e){e.modules.format&&e.modules.format.renderedCallback&&!e.modules.format.rendered&&(e.modules.format.renderedCallback(),e.modules.format.rendered=!0)}formatHeader(e,t,i){var n,s,o,r;return e.definition.titleFormatter?(n=this.lookupFormatter(e.definition.titleFormatter),o=t=>{e.titleFormatterRendered=t},r={getValue:function(){return t},getElement:function(){return i},getType:function(){return"header"},getColumn:function(){return e.getComponent()},getTable:()=>this.table},s="function"==typeof(s=e.definition.titleFormatterParams||{})?s():s,n.call(this,r,s,o)):t}formatValue(e){var t=e.getComponent(),i="function"==typeof e.column.modules.format.params?e.column.modules.format.params(t):e.column.modules.format.params;return e.column.modules.format.formatter.call(this,t,i,function(t){e.modules.format||(e.modules.format={}),e.modules.format.renderedCallback=t,e.modules.format.rendered=!1})}formatExportValue(e,t){var i,n=e.column.modules.format[t];return n?(i="function"==typeof n.params?n.params(e.getComponent()):n.params,n.formatter.call(this,e.getComponent(),i,function(t){e.modules.format||(e.modules.format={}),e.modules.format.renderedCallback=t,e.modules.format.rendered=!1})):this.formatValue(e)}sanitizeHTML(e){if(!e)return e;var t={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(e).replace(/[&<>"'`=/]/g,function(e){return t[e]})}emptyToSpace(e){return null==e||""===e?" ":e}}class l0 extends lg{static moduleName="frozenColumns";constructor(e){super(e),this.leftColumns=[],this.rightColumns=[],this.initializationMode="left",this.active=!1,this.blocked=!0,this.registerColumnOption("frozen")}reset(){this.initializationMode="left",this.leftColumns=[],this.rightColumns=[],this.active=!1}initialize(){this.subscribe("cell-layout",this.layoutCell.bind(this)),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-width",this.layout.bind(this)),this.subscribe("row-layout-after",this.layoutRow.bind(this)),this.subscribe("table-layout",this.layout.bind(this)),this.subscribe("columns-loading",this.reset.bind(this)),this.subscribe("column-add",this.reinitializeColumns.bind(this)),this.subscribe("column-deleted",this.reinitializeColumns.bind(this)),this.subscribe("column-hide",this.reinitializeColumns.bind(this)),this.subscribe("column-show",this.reinitializeColumns.bind(this)),this.subscribe("columns-loaded",this.reinitializeColumns.bind(this)),this.subscribe("table-redraw",this.layout.bind(this)),this.subscribe("layout-refreshing",this.blockLayout.bind(this)),this.subscribe("layout-refreshed",this.unblockLayout.bind(this)),this.subscribe("scrollbar-vertical",this.adjustForScrollbar.bind(this))}blockLayout(){this.blocked=!0}unblockLayout(){this.blocked=!1}layoutCell(e){this.layoutElement(e.element,e.column)}reinitializeColumns(){this.reset(),this.table.columnManager.columnsByIndex.forEach(e=>{this.initializeColumn(e)}),this.layout()}initializeColumn(e){var t={margin:0,edge:!1};e.isGroup||(this.frozenCheck(e)?(t.position=this.initializationMode,"left"==this.initializationMode?this.leftColumns.push(e):this.rightColumns.unshift(e),this.active=!0,e.modules.frozen=t):this.initializationMode="right")}frozenCheck(e){return(e.parent.isGroup&&e.definition.frozen&&console.warn("Frozen Column Error - Parent column group must be frozen, not individual columns or sub column groups"),e.parent.isGroup)?this.frozenCheck(e.parent):e.definition.frozen}layoutCalcRows(){this.table.modExists("columnCalcs")&&(this.table.modules.columnCalcs.topInitialized&&this.table.modules.columnCalcs.topRow&&this.layoutRow(this.table.modules.columnCalcs.topRow),this.table.modules.columnCalcs.botInitialized&&this.table.modules.columnCalcs.botRow&&this.layoutRow(this.table.modules.columnCalcs.botRow),this.table.modExists("groupRows")&&this.layoutGroupCalcs(this.table.modules.groupRows.getGroups()))}layoutGroupCalcs(e){e.forEach(e=>{e.calcs.top&&this.layoutRow(e.calcs.top),e.calcs.bottom&&this.layoutRow(e.calcs.bottom),e.groupList&&e.groupList.length&&this.layoutGroupCalcs(e.groupList)})}layoutColumnPosition(e){var t=[],i=0,n=0;this.leftColumns.forEach((n,s)=>{if(n.modules.frozen.marginValue=i,n.modules.frozen.margin=n.modules.frozen.marginValue+"px",n.visible&&(i+=n.getWidth()),s==this.leftColumns.length-1?n.modules.frozen.edge=!0:n.modules.frozen.edge=!1,n.parent.isGroup){var o=this.getColGroupParentElement(n);t.includes(o)||(this.layoutElement(o,n),t.push(o)),o.classList.toggle("tabulator-frozen-left",n.modules.frozen.edge&&"left"===n.modules.frozen.position),o.classList.toggle("tabulator-frozen-right",n.modules.frozen.edge&&"right"===n.modules.frozen.position)}else this.layoutElement(n.getElement(),n);e&&n.cells.forEach(e=>{this.layoutElement(e.getElement(!0),n)})}),this.rightColumns.forEach((t,i)=>{t.modules.frozen.marginValue=n,t.modules.frozen.margin=t.modules.frozen.marginValue+"px",t.visible&&(n+=t.getWidth()),i==this.rightColumns.length-1?t.modules.frozen.edge=!0:t.modules.frozen.edge=!1,t.parent.isGroup?this.layoutElement(this.getColGroupParentElement(t),t):this.layoutElement(t.getElement(),t),e&&t.cells.forEach(e=>{this.layoutElement(e.getElement(!0),t)})})}getColGroupParentElement(e){return e.parent.isGroup?this.getColGroupParentElement(e.parent):e.getElement()}layout(){this.active&&!this.blocked&&(this.layoutColumnPosition(),this.reinitializeRows(),this.layoutCalcRows())}reinitializeRows(){var e=this.table.rowManager.getVisibleRows(!0);this.table.rowManager.getRows().filter(t=>!e.includes(t)).forEach(e=>{e.deinitialize()}),e.forEach(e=>{"row"===e.type&&this.layoutRow(e)})}layoutRow(e){"fitDataFill"===this.table.options.layout&&this.rightColumns.length&&(this.table.rowManager.getTableElement().style.minWidth="calc(100% - "+this.rightMargin+")"),this.leftColumns.forEach(t=>{var i=e.getCell(t);i&&this.layoutElement(i.getElement(!0),t)}),this.rightColumns.forEach(t=>{var i=e.getCell(t);i&&this.layoutElement(i.getElement(!0),t)})}layoutElement(e,t){var i;t.modules.frozen&&e&&(e.style.position="sticky",i=this.table.rtl?"left"===t.modules.frozen.position?"right":"left":t.modules.frozen.position,e.style[i]=t.modules.frozen.margin,e.classList.add("tabulator-frozen"),e.classList.toggle("tabulator-frozen-left",t.modules.frozen.edge&&"left"===t.modules.frozen.position),e.classList.toggle("tabulator-frozen-right",t.modules.frozen.edge&&"right"===t.modules.frozen.position))}adjustForScrollbar(e){this.rightColumns.length&&(this.table.columnManager.getContentsElement().style.width="calc(100% - "+e+"px)")}getFrozenColumns(){return this.leftColumns.concat(this.rightColumns)}_calcSpace(e,t){var i=0;for(let n=0;n{this.initializeRow(e)})}initializeRow(e){var t=this.table.options.frozenRows,i=typeof t;"number"===i?e.getPosition()&&e.getPosition()+this.rows.length<=t&&this.freezeRow(e):"function"===i?t.call(this.table,e.getComponent())&&this.freezeRow(e):Array.isArray(t)&&t.includes(e.data[this.options("frozenRowsField")])&&this.freezeRow(e)}isRowFrozen(e){return this.rows.indexOf(e)>-1}isFrozen(){return!!this.rows.length}visibleRows(e,t){return this.rows.forEach(e=>{t.push(e)}),t}getRows(e){var t=e.slice(0);return this.rows.forEach(function(e){var i=t.indexOf(e);i>-1&&t.splice(i,1)}),t}freezeRow(e){e.modules.frozen?console.warn("Freeze Error - Row is already frozen"):(e.modules.frozen=!0,this.topElement.appendChild(e.getElement()),e.initialize(),e.normalizeHeight(),this.rows.push(e),this.refreshData(!1,"display"),this.table.rowManager.adjustTableSize(),this.styleRows())}unfreezeRow(e){e.modules.frozen?(e.modules.frozen=!1,this.detachRow(e),this.table.rowManager.adjustTableSize(),this.refreshData(!1,"display"),this.rows.length&&this.styleRows()):console.warn("Freeze Error - Row is already unfrozen")}detachRow(e){var t=this.rows.indexOf(e);if(t>-1){var i=e.getElement();i.parentNode&&i.parentNode.removeChild(i),this.rows.splice(t,1)}}styleRows(e){this.rows.forEach((e,t)=>{this.table.rowManager.styleRow(e,t)})}}class l2{constructor(e){return this._group=e,this.type="GroupComponent",new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._group.groupManager.table.componentFunctionBinder.handle("group",e._group,t)}})}getKey(){return this._group.key}getField(){return this._group.field}getElement(){return this._group.element}getRows(){return this._group.getRows(!0)}getSubGroups(){return this._group.getSubGroups(!0)}getParentGroup(){return!!this._group.parent&&this._group.parent.getComponent()}isVisible(){return this._group.visible}show(){this._group.show()}hide(){this._group.hide()}toggle(){this._group.toggleVisibility()}scrollTo(e,t){return this._group.groupManager.table.rowManager.scrollToRow(this._group,e,t)}_getSelf(){return this._group}getTable(){return this._group.groupManager.table}}class l3{constructor(e,t,i,n,s,o,r){this.groupManager=e,this.parent=t,this.key=n,this.level=i,this.field=s,this.hasSubGroups=i{e.modules&&delete e.modules.group})),this.element=!1,this.arrowElement=!1,this.elementContents=!1}createElements(){var e=document.createElement("div");e.classList.add("tabulator-arrow"),this.element=document.createElement("div"),this.element.classList.add("tabulator-row"),this.element.classList.add("tabulator-group"),this.element.classList.add("tabulator-group-level-"+this.level),this.element.setAttribute("role","rowgroup"),this.arrowElement=document.createElement("div"),this.arrowElement.classList.add("tabulator-group-toggle"),this.arrowElement.appendChild(e),!1!==this.groupManager.table.options.movableRows&&this.groupManager.table.modExists("moveRow")&&this.groupManager.table.modules.moveRow.initializeGroupHeader(this)}createValueGroups(){var e=this.level+1;this.groupManager.allowedValues&&this.groupManager.allowedValues[e]&&this.groupManager.allowedValues[e].forEach(t=>{this._createGroup(t,e)})}addBindings(){this.groupManager.table.options.groupToggleElement&&("arrow"==this.groupManager.table.options.groupToggleElement?this.arrowElement:this.element).addEventListener("click",e=>{"arrow"===this.groupManager.table.options.groupToggleElement&&(e.stopPropagation(),e.stopImmediatePropagation()),setTimeout(()=>{this.toggleVisibility()})})}_createGroup(e,t){var i=t+"_"+e,n=new l3(this.groupManager,this,t,e,this.groupManager.groupIDLookups[t].field,this.groupManager.headerGenerator[t]||this.groupManager.headerGenerator[0],!!this.old&&this.old.groups[i]);this.groups[i]=n,this.groupList.push(n)}_addRowToGroup(e){var t=this.level+1;if(this.hasSubGroups){var i=this.groupManager.groupIDLookups[t].func(e.getData()),n=t+"_"+i;this.groupManager.allowedValues&&this.groupManager.allowedValues[t]?this.groups[n]&&this.groups[n].addRow(e):(this.groups[n]||this._createGroup(i,t),this.groups[n].addRow(e))}}_addRow(e){this.rows.push(e),e.modules.group=this}insertRow(e,t,i){var n=this.conformRowData({});e.updateData(n);var s=this.rows.indexOf(t);s>-1?i?this.rows.splice(s+1,0,e):this.rows.splice(s,0,e):i?this.rows.push(e):this.rows.unshift(e),e.modules.group=this,this.groupManager.table.modExists("columnCalcs")&&"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modules.columnCalcs.recalcGroup(this),this.groupManager.updateGroupRows(!0)}scrollHeader(e){this.arrowElement&&(this.arrowElement.style.marginLeft=e,this.groupList.forEach(function(t){t.scrollHeader(e)}))}getRowIndex(e){}conformRowData(e){return this.field?e[this.field]=this.key:console.warn("Data Conforming Error - Cannot conform row data to match new group as groupBy is a function"),this.parent&&(e=this.parent.conformRowData(e)),e}removeRow(e){var t=this.rows.indexOf(e),i=e.getElement();t>-1&&this.rows.splice(t,1),this.groupManager.table.options.groupValues||this.rows.length?(i.parentNode&&i.parentNode.removeChild(i),!this.groupManager.blockRedraw&&(this.generateGroupHeaderContents(),this.groupManager.table.modExists("columnCalcs")&&"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modules.columnCalcs.recalcGroup(this))):(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this),this.groupManager.updateGroupRows(!0))}removeGroup(e){var t,i=e.level+"_"+e.key;this.groups[i]&&(delete this.groups[i],(t=this.groupList.indexOf(e))>-1&&this.groupList.splice(t,1),this.groupList.length||(this.parent?this.parent.removeGroup(this):this.groupManager.removeGroup(this)))}getHeadersAndRows(){var e=[];return e.push(this),this._visSet(),this.calcs.top&&(this.calcs.top.detachElement(),this.calcs.top.deleteCells()),this.calcs.bottom&&(this.calcs.bottom.detachElement(),this.calcs.bottom.deleteCells()),this.visible?this.groupList.length?this.groupList.forEach(function(t){e=e.concat(t.getHeadersAndRows())}):("table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.modules.columnCalcs.hasTopCalcs()&&(this.calcs.top=this.groupManager.table.modules.columnCalcs.generateTopRow(this.rows),e.push(this.calcs.top)),e=e.concat(this.rows),"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modExists("columnCalcs")&&this.groupManager.table.modules.columnCalcs.hasBottomCalcs()&&(this.calcs.bottom=this.groupManager.table.modules.columnCalcs.generateBottomRow(this.rows),e.push(this.calcs.bottom))):!this.groupList.length&&"table"!=this.groupManager.table.options.columnCalcs&&this.groupManager.table.modExists("columnCalcs")&&(this.groupManager.table.modules.columnCalcs.hasTopCalcs()&&this.groupManager.table.options.groupClosedShowCalcs&&(this.calcs.top=this.groupManager.table.modules.columnCalcs.generateTopRow(this.rows),e.push(this.calcs.top)),this.groupManager.table.modules.columnCalcs.hasBottomCalcs()&&this.groupManager.table.options.groupClosedShowCalcs&&(this.calcs.bottom=this.groupManager.table.modules.columnCalcs.generateBottomRow(this.rows),e.push(this.calcs.bottom))),e}getData(e,t){var i=[];return this._visSet(),(!e||e&&this.visible)&&this.rows.forEach(e=>{i.push(e.getData(t||"data"))}),i}getRowCount(){var e=0;return this.groupList.length?this.groupList.forEach(t=>{e+=t.getRowCount()}):e=this.rows.length,e}toggleVisibility(){this.visible?this.hide():this.show()}hide(){this.visible=!1,"basic"!=this.groupManager.table.rowManager.getRenderMode()||this.groupManager.table.options.pagination||(this.element.classList.remove("tabulator-group-visible"),this.groupList.length?this.groupList.forEach(e=>{e.getHeadersAndRows().forEach(e=>{e.detachElement()})}):this.rows.forEach(e=>{var t=e.getElement();t.parentNode.removeChild(t)})),this.groupManager.updateGroupRows(!0),this.groupManager.table.externalEvents.dispatch("groupVisibilityChanged",this.getComponent(),!1)}show(){if(this.visible=!0,"basic"!=this.groupManager.table.rowManager.getRenderMode()||this.groupManager.table.options.pagination)this.groupManager.updateGroupRows(!0);else{this.element.classList.add("tabulator-group-visible");var e=this.generateElement();this.groupList.length?this.groupList.forEach(t=>{t.getHeadersAndRows().forEach(t=>{var i=t.getElement();e.parentNode.insertBefore(i,e.nextSibling),t.initialize(),e=i})}):this.rows.forEach(t=>{var i=t.getElement();e.parentNode.insertBefore(i,e.nextSibling),t.initialize(),e=i}),this.groupManager.updateGroupRows(!0)}this.groupManager.table.externalEvents.dispatch("groupVisibilityChanged",this.getComponent(),!0)}_visSet(){var e=[];"function"==typeof this.visible&&(this.rows.forEach(function(t){e.push(t.getData())}),this.visible=this.visible(this.key,this.getRowCount(),e,this.getComponent()))}getRowGroup(e){var t=!1;return this.groupList.length?this.groupList.forEach(function(i){var n=i.getRowGroup(e);n&&(t=n)}):this.rows.find(function(t){return t===e})&&(t=this),t}getSubGroups(e){var t=[];return this.groupList.forEach(function(i){t.push(e?i.getComponent():i)}),t}getRows(e,t){var i=[];return t&&this.groupList.length?this.groupList.forEach(n=>{i=i.concat(n.getRows(e,t))}):this.rows.forEach(function(t){i.push(e?t.getComponent():t)}),i}generateGroupHeaderContents(){var e=[];for(this.getRows(!1,!0).forEach(function(t){e.push(t.getData())}),this.elementContents=this.generator(this.key,this.getRowCount(),e,this.getComponent());this.element.firstChild;)this.element.removeChild(this.element.firstChild);"string"==typeof this.elementContents?this.element.innerHTML=this.elementContents:this.element.appendChild(this.elementContents),this.element.insertBefore(this.arrowElement,this.element.firstChild)}getPath(e=[]){return e.unshift(this.key),this.parent&&this.parent.getPath(e),e}getElement(){return this.elementContents?this.element:this.generateElement()}generateElement(){this.addBindings=!1,this._visSet(),this.visible?this.element.classList.add("tabulator-group-visible"):this.element.classList.remove("tabulator-group-visible");for(var e=0;ei.length&&console.warn("Error creating group headers, groupHeader array is shorter than groupBy array"),this.headerGenerator=[function(){return""}],this.startOpen=[function(){return!1}],this.langBind("groups|item",(e,t)=>{this.headerGenerator[0]=(i,n,s)=>(void 0===i?"":i)+"("+n+" "+(1===n?e:t.groups.items)+")"}),this.groupIDLookups=[],e?this.table.modExists("columnCalcs")&&"table"!=this.table.options.columnCalcs&&"both"!=this.table.options.columnCalcs&&this.table.modules.columnCalcs.removeCalcs():this.table.modExists("columnCalcs")&&"group"!=this.table.options.columnCalcs&&this.table.columnManager.getRealColumns().forEach(e=>{e.definition.topCalc&&this.table.modules.columnCalcs.initializeTopRow(),e.definition.bottomCalc&&this.table.modules.columnCalcs.initializeBottomRow()}),Array.isArray(e)||(e=[e]),e.forEach((e,t)=>{var i,n;i="function"==typeof e?e:(n=this.table.columnManager.getColumnByField(e))?function(e){return n.getFieldValue(e)}:function(t){return t[e]},this.groupIDLookups.push({field:"function"!=typeof e&&e,func:i,values:!!this.allowedValues&&this.allowedValues[t]})}),t&&(Array.isArray(t)||(t=[t]),t.forEach(e=>{}),this.startOpen=t),i&&(this.headerGenerator=Array.isArray(i)?i:[i])}else this.groupList=[],this.groups={}}rowSample(e,t){if(this.table.options.groupBy){var i=this.getGroups(!1)[0];t.push(i.getRows(!1)[0])}return t}virtualRenderFill(){var e=this.table.rowManager.tableElement,t=this.table.rowManager.getVisibleRows();if(!this.table.options.groupBy)return t;t=t.filter(e=>"group"!==e.type),e.style.minWidth=t.length?"":this.table.columnManager.getWidth()+"px"}rowAddingIndex(e,t,i){if(this.table.options.groupBy){this.assignRowToGroup(e);var n=e.modules.group.rows;return n.length>1&&(!t||t&&-1==n.indexOf(t)?i?n[0]!==e&&(t=n[0],this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)):n[n.length-1]!==e&&(t=n[n.length-1],this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)):this.table.rowManager.moveRowInArray(e.modules.group.rows,e,t,!i)),t}}trackChanges(){this.dispatch("group-changed")}setGroupBy(e){this.table.options.groupBy=e,this.initialized||this.initialize(),this.configureGroupSetup(),!e&&this.table.modExists("columnCalcs")&&!0===this.table.options.columnCalcs&&this.table.modules.columnCalcs.reinitializeCalcs(),this.refreshData(),this.trackChanges()}setGroupValues(e){this.table.options.groupValues=e,this.configureGroupSetup(),this.refreshData(),this.trackChanges()}setGroupStartOpen(e){this.table.options.groupStartOpen=e,this.configureGroupSetup(),this.table.options.groupBy?(this.refreshData(),this.trackChanges()):console.warn("Grouping Update - cant refresh view, no groups have been set")}setGroupHeader(e){this.table.options.groupHeader=e,this.configureGroupSetup(),this.table.options.groupBy?(this.refreshData(),this.trackChanges()):console.warn("Grouping Update - cant refresh view, no groups have been set")}userGetGroups(e){return this.getGroups(!0)}userGetGroupedData(){return this.table.options.groupBy?this.getGroupedData():this.getData()}rowGetGroup(e){return!!e.modules.group&&e.modules.group.getComponent()}rowMoving(e,t,i){if(this.table.options.groupBy){!i&&t instanceof l3&&(t=this.table.rowManager.prevDisplayRow(e)||t);var n=t instanceof l3?t:t.modules.group,s=e instanceof l3?e:e.modules.group;n===s?this.table.rowManager.moveRowInArray(n.rows,e,t,i):(s&&s.removeRow(e),n.insertRow(e,t,i))}}rowDeleting(e){this.table.options.groupBy&&e.modules.group&&e.modules.group.removeRow(e)}rowsUpdated(e){this.table.options.groupBy&&this.updateGroupRows(!0)}cellUpdated(e){this.table.options.groupBy&&this.reassignRowToGroup(e.row)}getRows(e){return this.table.options.groupBy&&this.groupIDLookups.length?(this.dispatchExternal("dataGrouping"),this.generateGroups(e),this.subscribedExternal("dataGrouped")&&this.dispatchExternal("dataGrouped",this.getGroups(!0)),this.updateGroupRows()):e.slice(0)}getGroups(e){var t=[];return this.groupList.forEach(function(i){t.push(e?i.getComponent():i)}),t}getChildGroups(e){var t=[];return e||(e=this),e.groupList.forEach(e=>{e.groupList.length?t=t.concat(this.getChildGroups(e)):t.push(e)}),t}wipe(){this.table.options.groupBy&&(this.groupList.forEach(function(e){e.wipe()}),this.groupList=[],this.groups={})}pullGroupListData(e){var t=[];return e.forEach(e=>{var i={};i.level=0,i.rowCount=0,i.headerContent="";var n=[];e.hasSubGroups?(n=this.pullGroupListData(e.groupList),i.level=e.level,i.rowCount=n.length-e.groupList.length,i.headerContent=e.generator(e.key,i.rowCount,e.rows,e),t.push(i),t=t.concat(n)):(i.level=e.level,i.headerContent=e.generator(e.key,e.rows.length,e.rows,e),i.rowCount=e.getRows().length,t.push(i),e.getRows().forEach(e=>{t.push(e.getData("data"))}))}),t}getGroupedData(){return this.pullGroupListData(this.groupList)}getRowGroup(e){var t=!1;return this.options("dataTree")&&(e=this.table.modules.dataTree.getTreeParentRoot(e)),this.groupList.forEach(i=>{var n=i.getRowGroup(e);n&&(t=n)}),t}countGroups(){return this.groupList.length}generateGroups(e){var t=this.groups;this.groups={},this.groupList=[],this.allowedValues&&this.allowedValues[0]?(this.allowedValues[0].forEach(e=>{this.createGroup(e,0,t)}),e.forEach(e=>{this.assignRowToExistingGroup(e,t)})):e.forEach(e=>{this.assignRowToGroup(e,t)}),Object.values(t).forEach(e=>{e.wipe(!0)})}createGroup(e,t,i){var n,s=t+"_"+e;i=i||[],n=new l3(this,!1,t,e,this.groupIDLookups[0].field,this.headerGenerator[0],i[s]),this.groups[s]=n,this.groupList.push(n)}assignRowToExistingGroup(e,t){var i="0_"+this.groupIDLookups[0].func(e.getData());this.groups[i]&&this.groups[i].addRow(e)}assignRowToGroup(e,t){var i=this.groupIDLookups[0].func(e.getData()),n=!this.groups["0_"+i];return n&&this.createGroup(i,0,t),this.groups["0_"+i].addRow(e),!n}reassignRowToGroup(e){if("row"===e.type){var t=e.modules.group,i=t.getPath(),n=this.getExpectedPath(e);i.length==n.length&&i.every((e,t)=>e===n[t])||(t.removeRow(e),this.assignRowToGroup(e,this.groups),this.refreshData(!0))}}getExpectedPath(e){var t=[],i=e.getData();return this.groupIDLookups.forEach(e=>{t.push(e.func(i))}),t}updateGroupRows(e){var t=[];return!this.blockRedraw&&(this.groupList.forEach(e=>{t=t.concat(e.getHeadersAndRows())}),e&&this.refreshData(!0)),t}scrollHeaders(e){this.table.options.groupBy&&("virtual"===this.table.options.renderHorizontal&&(e-=this.table.columnManager.renderer.vDomPadLeft),e+="px",this.groupList.forEach(t=>{t.scrollHeader(e)}))}removeGroup(e){var t,i=e.level+"_"+e.key;this.groups[i]&&(delete this.groups[i],(t=this.groupList.indexOf(e))>-1&&this.groupList.splice(t,1))}checkBasicModeGroupHeaderWidth(){var e=this.table.rowManager.tableElement,t=!0;this.table.rowManager.getDisplayRows().forEach((i,n)=>{this.table.rowManager.styleRow(i,n),e.appendChild(i.getElement()),i.initialize(!0),"group"!==i.type&&(t=!1)}),t?e.style.minWidth=this.table.columnManager.getWidth()+"px":e.style.minWidth=""}}var l6={cellEdit:function(e){e.component.setValueProcessData(e.data.oldValue),e.component.cellRendered()},rowAdd:function(e){e.component.deleteActual(),this.table.rowManager.checkPlaceholder()},rowDelete:function(e){var t=this.table.rowManager.addRowActual(e.data.data,e.data.pos,e.data.index);this.table.options.groupBy&&this.table.modExists("groupRows")&&this.table.modules.groupRows.updateGroupRows(!0),this._rebindRow(e.component,t),this.table.rowManager.checkPlaceholder()},rowMove:function(e){var t=e.data.posFrom-e.data.posTo>0;this.table.rowManager.moveRowActual(e.component,this.table.rowManager.getRowFromPosition(e.data.posFrom),t),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition()}},l5={cellEdit:function(e){e.component.setValueProcessData(e.data.newValue),e.component.cellRendered()},rowAdd:function(e){var t=this.table.rowManager.addRowActual(e.data.data,e.data.pos,e.data.index);this.table.options.groupBy&&this.table.modExists("groupRows")&&this.table.modules.groupRows.updateGroupRows(!0),this._rebindRow(e.component,t),this.table.rowManager.checkPlaceholder()},rowDelete:function(e){e.component.deleteActual(),this.table.rowManager.checkPlaceholder()},rowMove:function(e){this.table.rowManager.moveRowActual(e.component,this.table.rowManager.getRowFromPosition(e.data.posTo),e.data.after),this.table.rowManager.regenerateRowPositions(),this.table.rowManager.reRenderInPosition()}},l9={keybindings:{bindings:{undo:["ctrl + 90","meta + 90"],redo:["ctrl + 89","meta + 89"]},actions:{undo:function(e){this.table.options.history&&this.table.modExists("history")&&this.table.modExists("edit")&&!this.table.modules.edit.currentCell&&(e.preventDefault(),this.table.modules.history.undo())},redo:function(e){this.table.options.history&&this.table.modExists("history")&&this.table.modExists("edit")&&!this.table.modules.edit.currentCell&&(e.preventDefault(),this.table.modules.history.redo())}}}};class l7 extends lg{static moduleName="history";static moduleExtensions=l9;static undoers=l6;static redoers=l5;constructor(e){super(e),this.history=[],this.index=-1,this.registerTableOption("history",!1)}initialize(){this.table.options.history&&(this.subscribe("cell-value-updated",this.cellUpdated.bind(this)),this.subscribe("cell-delete",this.clearComponentHistory.bind(this)),this.subscribe("row-delete",this.rowDeleted.bind(this)),this.subscribe("rows-wipe",this.clear.bind(this)),this.subscribe("row-added",this.rowAdded.bind(this)),this.subscribe("row-move",this.rowMoved.bind(this))),this.registerTableFunction("undo",this.undo.bind(this)),this.registerTableFunction("redo",this.redo.bind(this)),this.registerTableFunction("getHistoryUndoSize",this.getHistoryUndoSize.bind(this)),this.registerTableFunction("getHistoryRedoSize",this.getHistoryRedoSize.bind(this)),this.registerTableFunction("clearHistory",this.clear.bind(this))}rowMoved(e,t,i){this.action("rowMove",e,{posFrom:e.getPosition(),posTo:t.getPosition(),to:t,after:i})}rowAdded(e,t,i,n){this.action("rowAdd",e,{data:t,pos:i,index:n})}rowDeleted(e){var t,i;this.table.options.groupBy?(t=(i=e.getComponent().getGroup()._getSelf().rows).indexOf(e))&&(t=i[t-1]):(t=e.table.rowManager.getRowIndex(e))&&(t=e.table.rowManager.rows[t-1]),this.action("rowDelete",e,{data:e.getData(),pos:!t,index:t})}cellUpdated(e){this.action("cellEdit",e,{oldValue:e.oldValue,newValue:e.value})}clear(){this.history=[],this.index=-1}action(e,t,i){this.history=this.history.slice(0,this.index+1),this.history.push({type:e,component:t,data:i}),this.index++}getHistoryUndoSize(){return this.index+1}getHistoryRedoSize(){return this.history.length-(this.index+1)}clearComponentHistory(e){var t=this.history.findIndex(function(t){return t.component===e});t>-1&&(this.history.splice(t,1),t<=this.index&&this.index--,this.clearComponentHistory(e))}undo(){if(!(this.index>-1))return console.warn(this.options("history")?"History Undo Error - No more history to undo":"History module not enabled"),!1;{let e=this.history[this.index];return l7.undoers[e.type].call(this,e),this.index--,this.dispatchExternal("historyUndo",e.type,e.component.getComponent(),e.data),!0}}redo(){if(!(this.history.length-1>this.index))return console.warn(this.options("history")?"History Redo Error - No more history to redo":"History module not enabled"),!1;{this.index++;let e=this.history[this.index];return l7.redoers[e.type].call(this,e),this.dispatchExternal("historyRedo",e.type,e.component.getComponent(),e.data),!0}}_rebindRow(e,t){this.history.forEach(function(i){if(i.component instanceof lA)i.component===e&&(i.component=t);else if(i.component instanceof lR&&i.component.row===e){var n=i.component.column.getField();n&&(i.component=t.getCell(n))}})}}class l8 extends lg{static moduleName="htmlTableImport";constructor(e){super(e),this.fieldIndex=[],this.hasIndex=!1}initialize(){this.tableElementCheck()}tableElementCheck(){this.table.originalElement&&"TABLE"===this.table.originalElement.tagName&&(this.table.originalElement.childNodes.length?this.parseTable():console.warn("Unable to parse data from empty table tag, Tabulator should be initialized on a div tag unless importing data from a table element."))}parseTable(){var e=this.table.originalElement,t=this.table.options,i=e.getElementsByTagName("th"),n=e.getElementsByTagName("tbody")[0],s=[];this.hasIndex=!1,this.dispatchExternal("htmlImporting"),n=n?n.getElementsByTagName("tr"):[],this._extractOptions(e,t),i.length?this._extractHeaders(i,n):this._generateBlankHeaders(i,n);for(var o=0;o{o[e.toLowerCase()]=e}),n){var a,l=n[r];l&&"object"==typeof l&&l.name&&0===l.name.indexOf("tabulator-")&&void 0!==o[a=l.name.replace("tabulator-","")]&&(t[o[a]]=this._attribValue(l.value))}}_attribValue(e){return"true"===e||"false"!==e&&e}_findCol(e){return this.table.options.columns.find(t=>t.title===e)||!1}_extractHeaders(e,t){for(var i=0;i(console.error("Import Error:",e||"Unable to import data"),Promise.reject(e)))}lookupImporter(e){var t;return e||(e=this.table.options.importFormat),(t="string"==typeof e?ht.importers[e]:e)||console.error("Import Error - Importer not found:",e),t}importFromFile(e,t,i){var n=this.lookupImporter(e);if(n)return this.pickFile(t,i).then(this.importData.bind(this,n)).then(this.structureData.bind(this)).then(this.mutateData.bind(this)).then(this.validateData.bind(this)).then(this.setData.bind(this)).catch(e=>(this.dispatch("import-error",e),this.dispatchExternal("importError",e),console.error("Import Error:",e||"Unable to import file"),this.table.dataLoader.alertError(),setTimeout(()=>{this.table.dataLoader.clearAlert()},3e3),Promise.reject(e)))}pickFile(e,t){return new Promise((i,n)=>{var s=document.createElement("input");s.type="file",s.accept=e,s.addEventListener("change",e=>{var o=s.files[0],r=new FileReader,a=this.validateFile(o);if(!0===a){switch(this.dispatch("import-importing",s.files),this.dispatchExternal("importImporting",s.files),t||this.table.options.importReader){case"buffer":r.readAsArrayBuffer(o);break;case"binary":r.readAsBinaryString(o);break;case"url":r.readAsDataURL(o);break;default:r.readAsText(o)}r.onload=e=>{i(r.result)},r.onerror=e=>{console.warn("File Load Error - Unable to read file"),n(e)}}else n(a)}),this.dispatch("import-choose"),this.dispatchExternal("importChoose"),s.click()})}importData(e,t){var i;return this.table.dataLoader.alertLoader(),new Promise((n,s)=>{setTimeout(()=>{(i=e.call(this.table,t))instanceof Promise?n(i):i?n(i):s()},10)})}structureData(e){return Array.isArray(e)&&e.length&&Array.isArray(e[0])?this.table.options.autoColumns?this.structureArrayToObject(e):this.structureArrayToColumns(e):e}mutateData(e){var t=[];return Array.isArray(e)?e.forEach(e=>{t.push(this.table.modules.mutator.transformRow(e,"import"))}):t=e,t}transformHeader(e){var t=[];return this.table.options.importHeaderTransform?(e.forEach(i=>{t.push(this.table.options.importHeaderTransform.call(this.table,i,e))}),t):e}transformData(e){var t=[];return this.table.options.importValueTransform?(e.forEach(i=>{t.push(this.table.options.importValueTransform.call(this.table,i,e))}),t):e}structureArrayToObject(e){var t=this.transformHeader(e.shift());return e.map(e=>{var i={};return e=this.transformData(e),t.forEach((t,n)=>{i[t]=e[n]}),i})}structureArrayToColumns(e){var t=[],i=this.transformHeader(e[0]),n=this.table.getColumns();return n[0]&&i[0]&&n[0].getDefinition().title===i[0]&&e.shift(),e.forEach(e=>{var i={};(e=this.transformData(e)).forEach((e,t)=>{var s=n[t];s&&(i[s.getField()]=e)}),t.push(i)}),t}validateFile(e){return!this.table.options.importFileValidator||this.table.options.importFileValidator.call(this.table,e)}validateData(e){var t;return this.table.options.importDataValidator&&!0!==(t=this.table.options.importDataValidator.call(this.table,e))?Promise.reject(t):e}setData(e){return this.dispatch("import-imported",e),this.dispatchExternal("importImported",e),this.table.dataLoader.clearAlert(),this.table.setData(e)}}class hi extends lg{static moduleName="interaction";constructor(e){super(e),this.eventMap={rowClick:"row-click",rowDblClick:"row-dblclick",rowContext:"row-contextmenu",rowMouseEnter:"row-mouseenter",rowMouseLeave:"row-mouseleave",rowMouseOver:"row-mouseover",rowMouseOut:"row-mouseout",rowMouseMove:"row-mousemove",rowMouseDown:"row-mousedown",rowMouseUp:"row-mouseup",rowTap:"row",rowDblTap:"row",rowTapHold:"row",cellClick:"cell-click",cellDblClick:"cell-dblclick",cellContext:"cell-contextmenu",cellMouseEnter:"cell-mouseenter",cellMouseLeave:"cell-mouseleave",cellMouseOver:"cell-mouseover",cellMouseOut:"cell-mouseout",cellMouseMove:"cell-mousemove",cellMouseDown:"cell-mousedown",cellMouseUp:"cell-mouseup",cellTap:"cell",cellDblTap:"cell",cellTapHold:"cell",headerClick:"column-click",headerDblClick:"column-dblclick",headerContext:"column-contextmenu",headerMouseEnter:"column-mouseenter",headerMouseLeave:"column-mouseleave",headerMouseOver:"column-mouseover",headerMouseOut:"column-mouseout",headerMouseMove:"column-mousemove",headerMouseDown:"column-mousedown",headerMouseUp:"column-mouseup",headerTap:"column",headerDblTap:"column",headerTapHold:"column",groupClick:"group-click",groupDblClick:"group-dblclick",groupContext:"group-contextmenu",groupMouseEnter:"group-mouseenter",groupMouseLeave:"group-mouseleave",groupMouseOver:"group-mouseover",groupMouseOut:"group-mouseout",groupMouseMove:"group-mousemove",groupMouseDown:"group-mousedown",groupMouseUp:"group-mouseup",groupTap:"group",groupDblTap:"group",groupTapHold:"group"},this.subscribers={},this.touchSubscribers={},this.columnSubscribers={},this.touchWatchers={row:{tap:null,tapDbl:null,tapHold:null},cell:{tap:null,tapDbl:null,tapHold:null},column:{tap:null,tapDbl:null,tapHold:null},group:{tap:null,tapDbl:null,tapHold:null}},this.registerColumnOption("headerClick"),this.registerColumnOption("headerDblClick"),this.registerColumnOption("headerContext"),this.registerColumnOption("headerMouseEnter"),this.registerColumnOption("headerMouseLeave"),this.registerColumnOption("headerMouseOver"),this.registerColumnOption("headerMouseOut"),this.registerColumnOption("headerMouseMove"),this.registerColumnOption("headerMouseDown"),this.registerColumnOption("headerMouseUp"),this.registerColumnOption("headerTap"),this.registerColumnOption("headerDblTap"),this.registerColumnOption("headerTapHold"),this.registerColumnOption("cellClick"),this.registerColumnOption("cellDblClick"),this.registerColumnOption("cellContext"),this.registerColumnOption("cellMouseEnter"),this.registerColumnOption("cellMouseLeave"),this.registerColumnOption("cellMouseOver"),this.registerColumnOption("cellMouseOut"),this.registerColumnOption("cellMouseMove"),this.registerColumnOption("cellMouseDown"),this.registerColumnOption("cellMouseUp"),this.registerColumnOption("cellTap"),this.registerColumnOption("cellDblTap"),this.registerColumnOption("cellTapHold")}initialize(){this.initializeExternalEvents(),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("cell-dblclick",this.cellContentsSelectionFixer.bind(this)),this.subscribe("scroll-horizontal",this.clearTouchWatchers.bind(this)),this.subscribe("scroll-vertical",this.clearTouchWatchers.bind(this))}clearTouchWatchers(){Object.values(this.touchWatchers).forEach(e=>{for(let t in e)e[t]=null})}cellContentsSelectionFixer(e,t){var i;if(!this.table.modExists("edit")||this.table.modules.edit.currentCell!==t){e.preventDefault();try{document.selection?((i=document.body.createTextRange()).moveToElementText(t.getElement()),i.select()):window.getSelection&&((i=document.createRange()).selectNode(t.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(i))}catch(e){}}}initializeExternalEvents(){for(let e in this.eventMap)this.subscriptionChangeExternal(e,this.subscriptionChanged.bind(this,e))}subscriptionChanged(e,t){t?this.subscribers[e]||(this.eventMap[e].includes("-")?(this.subscribers[e]=this.handle.bind(this,e),this.subscribe(this.eventMap[e],this.subscribers[e])):this.subscribeTouchEvents(e)):this.eventMap[e].includes("-")?!this.subscribers[e]||this.columnSubscribers[e]||this.subscribedExternal(e)||(this.unsubscribe(this.eventMap[e],this.subscribers[e]),delete this.subscribers[e]):this.unsubscribeTouchEvents(e)}subscribeTouchEvents(e){var t=this.eventMap[e];this.touchSubscribers[t+"-touchstart"]||(this.touchSubscribers[t+"-touchstart"]=this.handleTouch.bind(this,t,"start"),this.touchSubscribers[t+"-touchend"]=this.handleTouch.bind(this,t,"end"),this.subscribe(t+"-touchstart",this.touchSubscribers[t+"-touchstart"]),this.subscribe(t+"-touchend",this.touchSubscribers[t+"-touchend"])),this.subscribers[e]=!0}unsubscribeTouchEvents(e){var t=!0,i=this.eventMap[e];if(this.subscribers[e]&&!this.subscribedExternal(e)){for(let n in delete this.subscribers[e],this.eventMap)this.eventMap[n]===i&&this.subscribers[n]&&(t=!1);t&&(this.unsubscribe(i+"-touchstart",this.touchSubscribers[i+"-touchstart"]),this.unsubscribe(i+"-touchend",this.touchSubscribers[i+"-touchend"]),delete this.touchSubscribers[i+"-touchstart"],delete this.touchSubscribers[i+"-touchend"])}}initializeColumn(e){var t=e.definition;for(let i in this.eventMap)t[i]&&(this.subscriptionChanged(i,!0),this.columnSubscribers[i]||(this.columnSubscribers[i]=[]),this.columnSubscribers[i].push(e))}handle(e,t,i){this.dispatchEvent(e,t,i)}handleTouch(e,t,i,n){var s=this.touchWatchers[e];switch("column"===e&&(e="header"),t){case"start":s.tap=!0,clearTimeout(s.tapHold),s.tapHold=setTimeout(()=>{clearTimeout(s.tapHold),s.tapHold=null,s.tap=null,clearTimeout(s.tapDbl),s.tapDbl=null,this.dispatchEvent(e+"TapHold",i,n)},1e3);break;case"end":s.tap&&(s.tap=null,this.dispatchEvent(e+"Tap",i,n)),s.tapDbl?(clearTimeout(s.tapDbl),s.tapDbl=null,this.dispatchEvent(e+"DblTap",i,n)):s.tapDbl=setTimeout(()=>{clearTimeout(s.tapDbl),s.tapDbl=null},300),clearTimeout(s.tapHold),s.tapHold=null}}dispatchEvent(e,t,i){var n,s=i.getComponent();this.columnSubscribers[e]&&(i instanceof lR?n=i.column.definition[e]:i instanceof lD&&(n=i.definition[e]),n&&n(t,s)),this.dispatchExternal(e,t,s)}}var hn={navPrev:"shift + 9",navNext:9,navUp:38,navDown:40,navLeft:37,navRight:39,scrollPageUp:33,scrollPageDown:34,scrollToStart:36,scrollToEnd:35},hs={keyBlock:function(e){e.stopPropagation(),e.preventDefault()},scrollPageUp:function(e){var t=this.table.rowManager,i=t.scrollTop-t.element.clientHeight;e.preventDefault(),t.displayRowsCount&&(i>=0?t.element.scrollTop=i:t.scrollToRow(t.getDisplayRows()[0])),this.table.element.focus()},scrollPageDown:function(e){var t=this.table.rowManager,i=t.scrollTop+t.element.clientHeight,n=t.element.scrollHeight;e.preventDefault(),t.displayRowsCount&&(i<=n?t.element.scrollTop=i:t.scrollToRow(t.getDisplayRows()[t.displayRowsCount-1])),this.table.element.focus()},scrollToStart:function(e){var t=this.table.rowManager;e.preventDefault(),t.displayRowsCount&&t.scrollToRow(t.getDisplayRows()[0]),this.table.element.focus()},scrollToEnd:function(e){var t=this.table.rowManager;e.preventDefault(),t.displayRowsCount&&t.scrollToRow(t.getDisplayRows()[t.displayRowsCount-1]),this.table.element.focus()},navPrev:function(e){this.dispatch("keybinding-nav-prev",e)},navNext:function(e){this.dispatch("keybinding-nav-next",e)},navLeft:function(e){this.dispatch("keybinding-nav-left",e)},navRight:function(e){this.dispatch("keybinding-nav-right",e)},navUp:function(e){this.dispatch("keybinding-nav-up",e)},navDown:function(e){this.dispatch("keybinding-nav-down",e)}};class ho extends lg{static moduleName="keybindings";static bindings=hn;static actions=hs;constructor(e){super(e),this.watchKeys=null,this.pressedKeys=null,this.keyupBinding=!1,this.keydownBinding=!1,this.registerTableOption("keybindings",{}),this.registerTableOption("tabEndNewRow",!1)}initialize(){var e=this.table.options.keybindings,t={};this.watchKeys={},this.pressedKeys=[],!1!==e&&(Object.assign(t,ho.bindings),Object.assign(t,e),this.mapBindings(t),this.bindEvents()),this.subscribe("table-destroy",this.clearBindings.bind(this))}mapBindings(e){for(let t in e)ho.actions[t]?e[t]&&("object"!=typeof e[t]&&(e[t]=[e[t]]),e[t].forEach(e=>{(Array.isArray(e)?e:[e]).forEach(e=>{this.mapBinding(t,e)})})):console.warn("Key Binding Error - no such action:",t)}mapBinding(e,t){var i={action:ho.actions[e],keys:[],ctrl:!1,shift:!1,meta:!1};t.toString().toLowerCase().split(" ").join("").split("+").forEach(e=>{switch(e){case"ctrl":i.ctrl=!0;break;case"shift":i.shift=!0;break;case"meta":i.meta=!0;break;default:e=isNaN(e)?e.toUpperCase().charCodeAt(0):parseInt(e),i.keys.push(e),this.watchKeys[e]||(this.watchKeys[e]=[]),this.watchKeys[e].push(i)}})}bindEvents(){var e=this;this.keyupBinding=function(t){var i=t.keyCode,n=e.watchKeys[i];n&&(e.pressedKeys.push(i),n.forEach(function(i){e.checkBinding(t,i)}))},this.keydownBinding=function(t){var i=t.keyCode;if(e.watchKeys[i]){var n=e.pressedKeys.indexOf(i);n>-1&&e.pressedKeys.splice(n,1)}},this.table.element.addEventListener("keydown",this.keyupBinding),this.table.element.addEventListener("keyup",this.keydownBinding)}clearBindings(){this.keyupBinding&&this.table.element.removeEventListener("keydown",this.keyupBinding),this.keydownBinding&&this.table.element.removeEventListener("keyup",this.keydownBinding)}checkBinding(e,t){var i=!0;return e.ctrlKey==t.ctrl&&e.shiftKey==t.shift&&e.metaKey==t.meta&&(t.keys.forEach(e=>{-1==this.pressedKeys.indexOf(e)&&(i=!1)}),i&&t.action.call(this,e),!0)}}class hr extends lg{static moduleName="menu";constructor(e){super(e),this.menuContainer=null,this.nestedMenuBlock=!1,this.currentComponent=null,this.rootPopup=null,this.columnSubscribers={},this.registerTableOption("rowContextMenu",!1),this.registerTableOption("rowClickMenu",!1),this.registerTableOption("rowDblClickMenu",!1),this.registerTableOption("groupContextMenu",!1),this.registerTableOption("groupClickMenu",!1),this.registerTableOption("groupDblClickMenu",!1),this.registerColumnOption("headerContextMenu"),this.registerColumnOption("headerClickMenu"),this.registerColumnOption("headerDblClickMenu"),this.registerColumnOption("headerMenu"),this.registerColumnOption("headerMenuIcon"),this.registerColumnOption("contextMenu"),this.registerColumnOption("clickMenu"),this.registerColumnOption("dblClickMenu")}initialize(){this.deprecatedOptionsCheck(),this.initializeRowWatchers(),this.initializeGroupWatchers(),this.subscribe("column-init",this.initializeColumn.bind(this))}deprecatedOptionsCheck(){}initializeRowWatchers(){this.table.options.rowContextMenu&&(this.subscribe("row-contextmenu",this.loadMenuEvent.bind(this,this.table.options.rowContextMenu)),this.table.on("rowTapHold",this.loadMenuEvent.bind(this,this.table.options.rowContextMenu))),this.table.options.rowClickMenu&&this.subscribe("row-click",this.loadMenuEvent.bind(this,this.table.options.rowClickMenu)),this.table.options.rowDblClickMenu&&this.subscribe("row-dblclick",this.loadMenuEvent.bind(this,this.table.options.rowDblClickMenu))}initializeGroupWatchers(){this.table.options.groupContextMenu&&(this.subscribe("group-contextmenu",this.loadMenuEvent.bind(this,this.table.options.groupContextMenu)),this.table.on("groupTapHold",this.loadMenuEvent.bind(this,this.table.options.groupContextMenu))),this.table.options.groupClickMenu&&this.subscribe("group-click",this.loadMenuEvent.bind(this,this.table.options.groupClickMenu)),this.table.options.groupDblClickMenu&&this.subscribe("group-dblclick",this.loadMenuEvent.bind(this,this.table.options.groupDblClickMenu))}initializeColumn(e){var t=e.definition;t.headerContextMenu&&!this.columnSubscribers.headerContextMenu&&(this.columnSubscribers.headerContextMenu=this.loadMenuTableColumnEvent.bind(this,"headerContextMenu"),this.subscribe("column-contextmenu",this.columnSubscribers.headerContextMenu),this.table.on("headerTapHold",this.loadMenuTableColumnEvent.bind(this,"headerContextMenu"))),t.headerClickMenu&&!this.columnSubscribers.headerClickMenu&&(this.columnSubscribers.headerClickMenu=this.loadMenuTableColumnEvent.bind(this,"headerClickMenu"),this.subscribe("column-click",this.columnSubscribers.headerClickMenu)),t.headerDblClickMenu&&!this.columnSubscribers.headerDblClickMenu&&(this.columnSubscribers.headerDblClickMenu=this.loadMenuTableColumnEvent.bind(this,"headerDblClickMenu"),this.subscribe("column-dblclick",this.columnSubscribers.headerDblClickMenu)),t.headerMenu&&this.initializeColumnHeaderMenu(e),t.contextMenu&&!this.columnSubscribers.contextMenu&&(this.columnSubscribers.contextMenu=this.loadMenuTableCellEvent.bind(this,"contextMenu"),this.subscribe("cell-contextmenu",this.columnSubscribers.contextMenu),this.table.on("cellTapHold",this.loadMenuTableCellEvent.bind(this,"contextMenu"))),t.clickMenu&&!this.columnSubscribers.clickMenu&&(this.columnSubscribers.clickMenu=this.loadMenuTableCellEvent.bind(this,"clickMenu"),this.subscribe("cell-click",this.columnSubscribers.clickMenu)),t.dblClickMenu&&!this.columnSubscribers.dblClickMenu&&(this.columnSubscribers.dblClickMenu=this.loadMenuTableCellEvent.bind(this,"dblClickMenu"),this.subscribe("cell-dblclick",this.columnSubscribers.dblClickMenu))}initializeColumnHeaderMenu(e){var t,i=e.definition.headerMenuIcon;(t=document.createElement("span")).classList.add("tabulator-header-popup-button"),i?("function"==typeof i&&(i=i(e.getComponent())),i instanceof HTMLElement?t.appendChild(i):t.innerHTML=i):t.innerHTML="⋮",t.addEventListener("click",t=>{t.stopPropagation(),t.preventDefault(),this.loadMenuEvent(e.definition.headerMenu,t,e)}),e.titleElement.insertBefore(t,e.titleElement.firstChild)}loadMenuTableCellEvent(e,t,i){i._cell&&(i=i._cell),i.column.definition[e]&&this.loadMenuEvent(i.column.definition[e],t,i)}loadMenuTableColumnEvent(e,t,i){i._column&&(i=i._column),i.definition[e]&&this.loadMenuEvent(i.definition[e],t,i)}loadMenuEvent(e,t,i){i._group?i=i._group:i._row&&(i=i._row),e="function"==typeof e?e.call(this.table,t,i.getComponent()):e,this.loadMenu(t,i,e)}loadMenu(e,t,i,n,s){var o,r=!(e instanceof MouseEvent),a=document.createElement("div");if(a.classList.add("tabulator-menu"),r||e.preventDefault(),i&&i.length){if(n)o=s.child(a);else{if(this.nestedMenuBlock){if(this.rootPopup)return}else this.nestedMenuBlock=setTimeout(()=>{this.nestedMenuBlock=!1},100);this.rootPopup&&this.rootPopup.hide(),this.rootPopup=o=this.popup(a)}i.forEach(e=>{var i=document.createElement("div"),n=e.label,s=e.disabled;e.separator?i.classList.add("tabulator-menu-separator"):(i.classList.add("tabulator-menu-item"),"function"==typeof n&&(n=n.call(this.table,t.getComponent())),n instanceof Node?i.appendChild(n):i.innerHTML=n,"function"==typeof s&&(s=s.call(this.table,t.getComponent())),s?(i.classList.add("tabulator-menu-item-disabled"),i.addEventListener("click",e=>{e.stopPropagation()})):e.menu&&e.menu.length?i.addEventListener("click",n=>{n.stopPropagation(),this.loadMenu(n,t,e.menu,i,o)}):e.action&&i.addEventListener("click",i=>{e.action(i,t.getComponent())}),e.menu&&e.menu.length&&i.classList.add("tabulator-menu-item-submenu")),a.appendChild(i)}),a.addEventListener("click",e=>{this.rootPopup&&this.rootPopup.hide()}),o.show(n||e),o===this.rootPopup&&(this.rootPopup.hideOnBlur(()=>{this.rootPopup=null,this.currentComponent&&(this.dispatch("menu-closed",i,o),this.dispatchExternal("menuClosed",this.currentComponent.getComponent()),this.currentComponent=null)}),this.currentComponent=t,this.dispatch("menu-opened",i,o),this.dispatchExternal("menuOpened",t.getComponent()))}}}class ha extends lg{static moduleName="moveColumn";constructor(e){super(e),this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=!1,this.checkTimeout=!1,this.checkPeriod=250,this.moving=!1,this.toCol=!1,this.toColAfter=!1,this.startX=0,this.autoScrollMargin=40,this.autoScrollStep=5,this.autoScrollTimeout=!1,this.touchMove=!1,this.moveHover=this.moveHover.bind(this),this.endMove=this.endMove.bind(this),this.registerTableOption("movableColumns",!1)}createPlaceholderElement(){var e=document.createElement("div");return e.classList.add("tabulator-col"),e.classList.add("tabulator-col-placeholder"),e}initialize(){this.table.options.movableColumns&&(this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("alert-show",this.abortMove.bind(this)))}abortMove(){clearTimeout(this.checkTimeout)}initializeColumn(e){var t,i=this,n={};e.modules.frozen||e.isGroup||e.isRowHeader||(t=e.getElement(),n.mousemove=(function(n){e.parent===i.moving.parent&&((i.touchMove?n.touches[0].pageX:n.pageX)-lp.elOffset(t).left+i.table.columnManager.contentsElement.scrollLeft>e.getWidth()/2?i.toCol===e&&i.toColAfter||(t.parentNode.insertBefore(i.placeholderElement,t.nextSibling),i.moveColumn(e,!0)):(i.toCol!==e||i.toColAfter)&&(t.parentNode.insertBefore(i.placeholderElement,t),i.moveColumn(e,!1)))}).bind(i),t.addEventListener("mousedown",function(t){i.touchMove=!1,1===t.which&&(i.checkTimeout=setTimeout(function(){i.startMove(t,e)},i.checkPeriod))}),t.addEventListener("mouseup",function(e){1===e.which&&i.checkTimeout&&clearTimeout(i.checkTimeout)}),i.bindTouchEvents(e)),e.modules.moveColumn=n}bindTouchEvents(e){var t,i,n,s,o,r,a=e.getElement(),l=!1;a.addEventListener("touchstart",a=>{this.checkTimeout=setTimeout(()=>{this.touchMove=!0,n=(t=e.nextColumn())?t.getWidth()/2:0,s=(i=e.prevColumn())?i.getWidth()/2:0,o=0,r=0,l=!1,this.startMove(a,e)},this.checkPeriod)},{passive:!0}),a.addEventListener("touchmove",a=>{var h,c;this.moving&&(this.moveHover(a),l||(l=a.touches[0].pageX),(h=a.touches[0].pageX-l)>0?t&&h-o>n&&(c=t)!==e&&(l=a.touches[0].pageX,c.getElement().parentNode.insertBefore(this.placeholderElement,c.getElement().nextSibling),this.moveColumn(c,!0)):i&&-h-r>s&&(c=i)!==e&&(l=a.touches[0].pageX,c.getElement().parentNode.insertBefore(this.placeholderElement,c.getElement()),this.moveColumn(c,!1)),c&&(t=c.nextColumn(),o=n,n=t?t.getWidth()/2:0,i=c.prevColumn(),r=s,s=i?i.getWidth()/2:0))},{passive:!0}),a.addEventListener("touchend",e=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&this.endMove(e)})}startMove(e,t){var i=t.getElement(),n=this.table.columnManager.getContentsElement(),s=this.table.columnManager.getHeadersElement();this.table.modules.selectRange&&this.table.modules.selectRange.columnSelection&&this.table.modules.selectRange.mousedown&&"column"===this.table.modules.selectRange.selecting||(this.moving=t,this.startX=(this.touchMove?e.touches[0].pageX:e.pageX)-lp.elOffset(i).left,this.table.element.classList.add("tabulator-block-select"),this.placeholderElement.style.width=t.getWidth()+"px",this.placeholderElement.style.height=t.getHeight()+"px",i.parentNode.insertBefore(this.placeholderElement,i),i.parentNode.removeChild(i),this.hoverElement=i.cloneNode(!0),this.hoverElement.classList.add("tabulator-moving"),n.appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.bottom=n.clientHeight-s.offsetHeight+"px",this.touchMove||(this._bindMouseMove(),document.body.addEventListener("mousemove",this.moveHover),document.body.addEventListener("mouseup",this.endMove)),this.moveHover(e),this.dispatch("column-moving",e,this.moving))}_bindMouseMove(){this.table.columnManager.columnsByIndex.forEach(function(e){e.modules.moveColumn.mousemove&&e.getElement().addEventListener("mousemove",e.modules.moveColumn.mousemove)})}_unbindMouseMove(){this.table.columnManager.columnsByIndex.forEach(function(e){e.modules.moveColumn.mousemove&&e.getElement().removeEventListener("mousemove",e.modules.moveColumn.mousemove)})}moveColumn(e,t){var i=this.moving.getCells();this.toCol=e,this.toColAfter=t,t?e.getCells().forEach(function(e,t){var n=e.getElement(!0);n.parentNode&&i[t]&&n.parentNode.insertBefore(i[t].getElement(),n.nextSibling)}):e.getCells().forEach(function(e,t){var n=e.getElement(!0);n.parentNode&&i[t]&&n.parentNode.insertBefore(i[t].getElement(),n)})}endMove(e){(1===e.which||this.touchMove)&&(this._unbindMouseMove(),this.placeholderElement.parentNode.insertBefore(this.moving.getElement(),this.placeholderElement.nextSibling),this.placeholderElement.parentNode.removeChild(this.placeholderElement),this.hoverElement.parentNode.removeChild(this.hoverElement),this.table.element.classList.remove("tabulator-block-select"),this.toCol&&this.table.columnManager.moveColumnActual(this.moving,this.toCol,this.toColAfter),this.moving=!1,this.toCol=!1,this.toColAfter=!1,this.touchMove||(document.body.removeEventListener("mousemove",this.moveHover),document.body.removeEventListener("mouseup",this.endMove)))}moveHover(e){var t,i=this.table.columnManager.getContentsElement(),n=i.scrollLeft,s=(this.touchMove?e.touches[0].pageX:e.pageX)-lp.elOffset(i).left+n;this.hoverElement.style.left=s-this.startX+"px",s-n{t=Math.max(0,n-5),this.table.rowManager.getElement().scrollLeft=t,this.autoScrollTimeout=!1},1)),n+i.clientWidth-s{t=Math.min(i.clientWidth,n+5),this.table.rowManager.getElement().scrollLeft=t,this.autoScrollTimeout=!1},1))}}var hl={delete:function(e,t,i){e.delete()}},hh={insert:function(e,t,i){return this.table.addRow(e.getData(),void 0,t),!0},add:function(e,t,i){return this.table.addRow(e.getData()),!0},update:function(e,t,i){return!!t&&(t.update(e.getData()),!0)},replace:function(e,t,i){return!!t&&(this.table.addRow(e.getData(),void 0,t),t.delete(),!0)}};class hc extends lg{static moduleName="moveRow";static senders=hl;static receivers=hh;constructor(e){super(e),this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=!1,this.checkTimeout=!1,this.checkPeriod=150,this.moving=!1,this.toRow=!1,this.toRowAfter=!1,this.hasHandle=!1,this.startY=0,this.startX=0,this.moveHover=this.moveHover.bind(this),this.endMove=this.endMove.bind(this),this.tableRowDropEvent=!1,this.touchMove=!1,this.connection=!1,this.connectionSelectorsTables=!1,this.connectionSelectorsElements=!1,this.connectionElements=[],this.connections=[],this.connectedTable=!1,this.connectedRow=!1,this.registerTableOption("movableRows",!1),this.registerTableOption("movableRowsConnectedTables",!1),this.registerTableOption("movableRowsConnectedElements",!1),this.registerTableOption("movableRowsSender",!1),this.registerTableOption("movableRowsReceiver","insert"),this.registerColumnOption("rowHandle")}createPlaceholderElement(){var e=document.createElement("div");return e.classList.add("tabulator-row"),e.classList.add("tabulator-row-placeholder"),e}initialize(){this.table.options.movableRows&&(this.connectionSelectorsTables=this.table.options.movableRowsConnectedTables,this.connectionSelectorsElements=this.table.options.movableRowsConnectedElements,this.connection=this.connectionSelectorsTables||this.connectionSelectorsElements,this.subscribe("cell-init",this.initializeCell.bind(this)),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("row-init",this.initializeRow.bind(this)))}initializeGroupHeader(e){var t=this,i={};i.mouseup=(function(i){t.tableRowDrop(i,e)}).bind(t),i.mousemove=(function(i){var n;i.pageY-lp.elOffset(e.element).top+t.table.rowManager.element.scrollTop>e.getHeight()/2?t.toRow===e&&t.toRowAfter||((n=e.getElement()).parentNode.insertBefore(t.placeholderElement,n.nextSibling),t.moveRow(e,!0)):(t.toRow!==e||t.toRowAfter)&&(n=e.getElement()).previousSibling&&(n.parentNode.insertBefore(t.placeholderElement,n),t.moveRow(e,!1))}).bind(t),e.modules.moveRow=i}initializeRow(e){var t,i=this,n={};n.mouseup=(function(t){i.tableRowDrop(t,e)}).bind(i),n.mousemove=(function(t){var n=e.getElement();t.pageY-lp.elOffset(n).top+i.table.rowManager.element.scrollTop>e.getHeight()/2?i.toRow===e&&i.toRowAfter||(n.parentNode.insertBefore(i.placeholderElement,n.nextSibling),i.moveRow(e,!0)):(i.toRow!==e||i.toRowAfter)&&(n.parentNode.insertBefore(i.placeholderElement,n),i.moveRow(e,!1))}).bind(i),this.hasHandle||((t=e.getElement()).addEventListener("mousedown",function(t){1===t.which&&(i.checkTimeout=setTimeout(function(){i.startMove(t,e)},i.checkPeriod))}),t.addEventListener("mouseup",function(e){1===e.which&&i.checkTimeout&&clearTimeout(i.checkTimeout)}),this.bindTouchEvents(e,e.getElement())),e.modules.moveRow=n}initializeColumn(e){e.definition.rowHandle&&!1!==this.table.options.movableRows&&(this.hasHandle=!0)}initializeCell(e){if(e.column.definition.rowHandle&&!1!==this.table.options.movableRows){var t=this,i=e.getElement(!0);i.addEventListener("mousedown",function(i){1===i.which&&(t.checkTimeout=setTimeout(function(){t.startMove(i,e.row)},t.checkPeriod))}),i.addEventListener("mouseup",function(e){1===e.which&&t.checkTimeout&&clearTimeout(t.checkTimeout)}),this.bindTouchEvents(e.row,i)}}bindTouchEvents(e,t){var i,n,s,o,r,a,l=!1;t.addEventListener("touchstart",t=>{this.checkTimeout=setTimeout(()=>{this.touchMove=!0,s=(i=e.nextRow())?i.getHeight()/2:0,o=(n=e.prevRow())?n.getHeight()/2:0,r=0,a=0,l=!1,this.startMove(t,e)},this.checkPeriod)},{passive:!0}),this.moving,this.toRow,this.toRowAfter,t.addEventListener("touchmove",t=>{var h,c;this.moving&&(t.preventDefault(),this.moveHover(t),l||(l=t.touches[0].pageY),(h=t.touches[0].pageY-l)>0?i&&h-r>s&&(c=i)!==e&&(l=t.touches[0].pageY,c.getElement().parentNode.insertBefore(this.placeholderElement,c.getElement().nextSibling),this.moveRow(c,!0)):n&&-h-a>o&&(c=n)!==e&&(l=t.touches[0].pageY,c.getElement().parentNode.insertBefore(this.placeholderElement,c.getElement()),this.moveRow(c,!1)),c&&(i=c.nextRow(),r=s,s=i?i.getHeight()/2:0,n=c.prevRow(),a=o,o=n?n.getHeight()/2:0))}),t.addEventListener("touchend",e=>{this.checkTimeout&&clearTimeout(this.checkTimeout),this.moving&&(this.endMove(e),this.touchMove=!1)})}_bindMouseMove(){this.table.rowManager.getDisplayRows().forEach(e=>{("row"===e.type||"group"===e.type)&&e.modules.moveRow&&e.modules.moveRow.mousemove&&e.getElement().addEventListener("mousemove",e.modules.moveRow.mousemove)})}_unbindMouseMove(){this.table.rowManager.getDisplayRows().forEach(e=>{("row"===e.type||"group"===e.type)&&e.modules.moveRow&&e.modules.moveRow.mousemove&&e.getElement().removeEventListener("mousemove",e.modules.moveRow.mousemove)})}startMove(e,t){var i=t.getElement();this.setStartPosition(e,t),this.moving=t,this.table.element.classList.add("tabulator-block-select"),this.placeholderElement.style.width=t.getWidth()+"px",this.placeholderElement.style.height=t.getHeight()+"px",this.connection?(this.table.element.classList.add("tabulator-movingrow-sending"),this.connectToTables(t)):(i.parentNode.insertBefore(this.placeholderElement,i),i.parentNode.removeChild(i)),this.hoverElement=i.cloneNode(!0),this.hoverElement.classList.add("tabulator-moving"),this.connection?(document.body.appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.top="0",this.hoverElement.style.width=this.table.element.clientWidth+"px",this.hoverElement.style.whiteSpace="nowrap",this.hoverElement.style.overflow="hidden",this.hoverElement.style.pointerEvents="none"):(this.table.rowManager.getTableElement().appendChild(this.hoverElement),this.hoverElement.style.left="0",this.hoverElement.style.top="0",this._bindMouseMove()),document.body.addEventListener("mousemove",this.moveHover),document.body.addEventListener("mouseup",this.endMove),this.dispatchExternal("rowMoving",t.getComponent()),this.moveHover(e)}setStartPosition(e,t){var i,n,s=this.touchMove?e.touches[0].pageX:e.pageX,o=this.touchMove?e.touches[0].pageY:e.pageY;i=t.getElement(),this.connection?(n=i.getBoundingClientRect(),this.startX=n.left-s+window.pageXOffset,this.startY=n.top-o+window.pageYOffset):this.startY=o-i.getBoundingClientRect().top}endMove(e){(!e||1===e.which||this.touchMove)&&(this._unbindMouseMove(),this.connection||(this.placeholderElement.parentNode.insertBefore(this.moving.getElement(),this.placeholderElement.nextSibling),this.placeholderElement.parentNode.removeChild(this.placeholderElement)),this.hoverElement.parentNode.removeChild(this.hoverElement),this.table.element.classList.remove("tabulator-block-select"),this.toRow?this.table.rowManager.moveRow(this.moving,this.toRow,this.toRowAfter):this.dispatchExternal("rowMoveCancelled",this.moving.getComponent()),this.moving=!1,this.toRow=!1,this.toRowAfter=!1,document.body.removeEventListener("mousemove",this.moveHover),document.body.removeEventListener("mouseup",this.endMove),this.connection&&(this.table.element.classList.remove("tabulator-movingrow-sending"),this.disconnectFromTables()))}moveRow(e,t){this.toRow=e,this.toRowAfter=t}moveHover(e){this.connection?this.moveHoverConnections.call(this,e):this.moveHoverTable.call(this,e)}moveHoverTable(e){var t=this.table.rowManager.getElement(),i=t.scrollTop,n=(this.touchMove?e.touches[0].pageY:e.pageY)-t.getBoundingClientRect().top+i;this.hoverElement.style.top=Math.min(n-this.startY,this.table.rowManager.element.scrollHeight-this.hoverElement.offsetHeight)+"px"}moveHoverConnections(e){this.hoverElement.style.left=this.startX+(this.touchMove?e.touches[0].pageX:e.pageX)+"px",this.hoverElement.style.top=this.startY+(this.touchMove?e.touches[0].pageY:e.pageY)+"px"}elementRowDrop(e,t,i){this.dispatchExternal("movableRowsElementDrop",e,t,!!i&&i.getComponent())}connectToTables(e){var t;this.connectionSelectorsTables&&(t=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal("movableRowsSendingStart",t),this.commsSend(this.connectionSelectorsTables,"moveRow","connect",{row:e})),this.connectionSelectorsElements&&(this.connectionElements=[],Array.isArray(this.connectionSelectorsElements)||(this.connectionSelectorsElements=[this.connectionSelectorsElements]),this.connectionSelectorsElements.forEach(e=>{"string"==typeof e?this.connectionElements=this.connectionElements.concat(Array.prototype.slice.call(document.querySelectorAll(e))):this.connectionElements.push(e)}),this.connectionElements.forEach(e=>{var t=t=>{this.elementRowDrop(t,e,this.moving)};e.addEventListener("mouseup",t),e.tabulatorElementDropEvent=t,e.classList.add("tabulator-movingrow-receiving")}))}disconnectFromTables(){var e;this.connectionSelectorsTables&&(e=this.commsConnections(this.connectionSelectorsTables),this.dispatchExternal("movableRowsSendingStop",e),this.commsSend(this.connectionSelectorsTables,"moveRow","disconnect")),this.connectionElements.forEach(e=>{e.classList.remove("tabulator-movingrow-receiving"),e.removeEventListener("mouseup",e.tabulatorElementDropEvent),delete e.tabulatorElementDropEvent})}connect(e,t){return this.connectedTable?(console.warn("Move Row Error - Table cannot accept connection, already connected to table:",this.connectedTable),!1):(this.connectedTable=e,this.connectedRow=t,this.table.element.classList.add("tabulator-movingrow-receiving"),this.table.rowManager.getDisplayRows().forEach(e=>{"row"===e.type&&e.modules.moveRow&&e.modules.moveRow.mouseup&&e.getElement().addEventListener("mouseup",e.modules.moveRow.mouseup)}),this.tableRowDropEvent=this.tableRowDrop.bind(this),this.table.element.addEventListener("mouseup",this.tableRowDropEvent),this.dispatchExternal("movableRowsReceivingStart",t,e),!0)}disconnect(e){e===this.connectedTable?(this.connectedTable=!1,this.connectedRow=!1,this.table.element.classList.remove("tabulator-movingrow-receiving"),this.table.rowManager.getDisplayRows().forEach(e=>{"row"===e.type&&e.modules.moveRow&&e.modules.moveRow.mouseup&&e.getElement().removeEventListener("mouseup",e.modules.moveRow.mouseup)}),this.table.element.removeEventListener("mouseup",this.tableRowDropEvent),this.dispatchExternal("movableRowsReceivingStop",e)):console.warn("Move Row Error - trying to disconnect from non connected table")}dropComplete(e,t,i){var n=!1;if(i){switch(typeof this.table.options.movableRowsSender){case"string":n=hc.senders[this.table.options.movableRowsSender];break;case"function":n=this.table.options.movableRowsSender}n?n.call(this,this.moving?this.moving.getComponent():void 0,t?t.getComponent():void 0,e):this.table.options.movableRowsSender&&console.warn("Mover Row Error - no matching sender found:",this.table.options.movableRowsSender),this.dispatchExternal("movableRowsSent",this.moving.getComponent(),t?t.getComponent():void 0,e)}else this.dispatchExternal("movableRowsSentFailed",this.moving.getComponent(),t?t.getComponent():void 0,e);this.endMove()}tableRowDrop(e,t){var i=!1,n=!1;switch(e.stopImmediatePropagation(),typeof this.table.options.movableRowsReceiver){case"string":i=hc.receivers[this.table.options.movableRowsReceiver];break;case"function":i=this.table.options.movableRowsReceiver}i?n=i.call(this,this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable):console.warn("Mover Row Error - no matching receiver found:",this.table.options.movableRowsReceiver),n?this.dispatchExternal("movableRowsReceived",this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable):this.dispatchExternal("movableRowsReceivedFailed",this.connectedRow.getComponent(),t?t.getComponent():void 0,this.connectedTable),this.commsSend(this.connectedTable,"moveRow","dropcomplete",{row:t,success:n})}commsReceived(e,t,i){switch(t){case"connect":return this.connect(e,i.row);case"disconnect":return this.disconnect(e);case"dropcomplete":return this.dropComplete(e,i.row,i.success)}}}var hu={};class hd extends lg{static moduleName="mutator";static mutators=hu;constructor(e){super(e),this.allowedTypes=["","data","edit","clipboard","import"],this.enabled=!0,this.registerColumnOption("mutator"),this.registerColumnOption("mutatorParams"),this.registerColumnOption("mutatorData"),this.registerColumnOption("mutatorDataParams"),this.registerColumnOption("mutatorEdit"),this.registerColumnOption("mutatorEditParams"),this.registerColumnOption("mutatorClipboard"),this.registerColumnOption("mutatorClipboardParams"),this.registerColumnOption("mutatorImport"),this.registerColumnOption("mutatorImportParams"),this.registerColumnOption("mutateLink")}initialize(){this.subscribe("cell-value-changing",this.transformCell.bind(this)),this.subscribe("cell-value-changed",this.mutateLink.bind(this)),this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("row-data-init-before",this.rowDataChanged.bind(this)),this.subscribe("row-data-changing",this.rowDataChanged.bind(this))}rowDataChanged(e,t,i){return this.transformRow(t,"data",i)}initializeColumn(e){var t=!1,i={};this.allowedTypes.forEach(n=>{var s,o="mutator"+(n.charAt(0).toUpperCase()+n.slice(1));e.definition[o]&&(s=this.lookupMutator(e.definition[o]))&&(t=!0,i[o]={mutator:s,params:e.definition[o+"Params"]||{}})}),t&&(e.modules.mutate=i)}lookupMutator(e){var t=!1;switch(typeof e){case"string":hd.mutators[e]?t=hd.mutators[e]:console.warn("Mutator Error - No such mutator found, ignoring: ",e);break;case"function":t=e}return t}transformRow(e,t,i){var n,s="mutator"+(t.charAt(0).toUpperCase()+t.slice(1));return this.enabled&&this.table.columnManager.traverse(o=>{var r,a,l;o.modules.mutate&&(r=o.modules.mutate[s]||o.modules.mutate.mutator||!1)&&(n=o.getFieldValue(void 0!==i?i:e),("data"!=t||i)&&void 0===n||(l=o.getComponent(),a="function"==typeof r.params?r.params(n,e,t,l):r.params,o.setFieldValue(e,r.mutator(n,e,t,a,l))))}),e}transformCell(e,t){if(e.column.modules.mutate){var i=e.column.modules.mutate.mutatorEdit||e.column.modules.mutate.mutator||!1,n={};if(i)return n=Object.assign(n,e.row.getData()),e.column.setFieldValue(n,t),i.mutator(t,n,"edit",i.params,e.getComponent())}return t}mutateLink(e){var t=e.column.definition.mutateLink;t&&(Array.isArray(t)||(t=[t]),t.forEach(t=>{var i=e.row.getCell(t);i&&i.setValue(i.getValue(),!0,!0)}))}enable(){this.enabled=!0}disable(){this.enabled=!1}}var hm={rows:function(e,t,i,n,s){var o=document.createElement("span"),r=document.createElement("span"),a=document.createElement("span"),l=document.createElement("span"),h=document.createElement("span"),c=document.createElement("span");return this.table.modules.localize.langBind("pagination|counter|showing",e=>{r.innerHTML=e}),this.table.modules.localize.langBind("pagination|counter|of",e=>{l.innerHTML=e}),this.table.modules.localize.langBind("pagination|counter|rows",e=>{c.innerHTML=e}),n?(a.innerHTML=" "+t+"-"+Math.min(t+e-1,n)+" ",h.innerHTML=" "+n+" ",o.appendChild(r),o.appendChild(a),o.appendChild(l),o.appendChild(h)):(a.innerHTML=" 0 ",o.appendChild(r),o.appendChild(a)),o.appendChild(c),o},pages:function(e,t,i,n,s){var o=document.createElement("span"),r=document.createElement("span"),a=document.createElement("span"),l=document.createElement("span"),h=document.createElement("span"),c=document.createElement("span");return this.table.modules.localize.langBind("pagination|counter|showing",e=>{r.innerHTML=e}),a.innerHTML=" "+i+" ",this.table.modules.localize.langBind("pagination|counter|of",e=>{l.innerHTML=e}),h.innerHTML=" "+s+" ",this.table.modules.localize.langBind("pagination|counter|pages",e=>{c.innerHTML=e}),o.appendChild(r),o.appendChild(a),o.appendChild(l),o.appendChild(h),o.appendChild(c),o}};class hp extends lg{static moduleName="page";static pageCounters=hm;constructor(e){super(e),this.mode="local",this.progressiveLoad=!1,this.element=null,this.pageCounterElement=null,this.pageCounter=null,this.size=0,this.page=1,this.count=5,this.max=1,this.remoteRowCountEstimate=null,this.initialLoad=!0,this.dataChanging=!1,this.pageSizes=[],this.registerTableOption("pagination",!1),this.registerTableOption("paginationMode","local"),this.registerTableOption("paginationSize",!1),this.registerTableOption("paginationInitialPage",1),this.registerTableOption("paginationCounter",!1),this.registerTableOption("paginationCounterElement",!1),this.registerTableOption("paginationButtonCount",5),this.registerTableOption("paginationSizeSelector",!1),this.registerTableOption("paginationElement",!1),this.registerTableOption("paginationAddRow","page"),this.registerTableOption("paginationOutOfRange",!1),this.registerTableOption("progressiveLoad",!1),this.registerTableOption("progressiveLoadDelay",0),this.registerTableOption("progressiveLoadScrollMargin",0),this.registerTableFunction("setMaxPage",this.setMaxPage.bind(this)),this.registerTableFunction("setPage",this.setPage.bind(this)),this.registerTableFunction("setPageToRow",this.userSetPageToRow.bind(this)),this.registerTableFunction("setPageSize",this.userSetPageSize.bind(this)),this.registerTableFunction("getPageSize",this.getPageSize.bind(this)),this.registerTableFunction("previousPage",this.previousPage.bind(this)),this.registerTableFunction("nextPage",this.nextPage.bind(this)),this.registerTableFunction("getPage",this.getPage.bind(this)),this.registerTableFunction("getPageMax",this.getPageMax.bind(this)),this.registerComponentFunction("row","pageTo",this.setPageToRow.bind(this))}initialize(){this.table.options.pagination?(this.subscribe("row-deleted",this.rowsUpdated.bind(this)),this.subscribe("row-added",this.rowsUpdated.bind(this)),this.subscribe("data-processed",this.initialLoadComplete.bind(this)),this.subscribe("table-built",this.calculatePageSizes.bind(this)),this.subscribe("footer-redraw",this.footerRedraw.bind(this)),"page"==this.table.options.paginationAddRow&&this.subscribe("row-adding-position",this.rowAddingPosition.bind(this)),"remote"===this.table.options.paginationMode&&(this.subscribe("data-params",this.remotePageParams.bind(this)),this.subscribe("data-loaded",this._parseRemoteData.bind(this))),this.table.options.progressiveLoad&&console.error("Progressive Load Error - Pagination and progressive load cannot be used at the same time"),this.registerDisplayHandler(this.restOnRenderBefore.bind(this),40),this.registerDisplayHandler(this.getRows.bind(this),50),this.createElements(),this.initializePageCounter(),this.initializePaginator()):this.table.options.progressiveLoad&&(this.subscribe("data-params",this.remotePageParams.bind(this)),this.subscribe("data-loaded",this._parseRemoteData.bind(this)),this.subscribe("table-built",this.calculatePageSizes.bind(this)),this.subscribe("data-processed",this.initialLoadComplete.bind(this)),this.initializeProgressive(this.table.options.progressiveLoad),"scroll"===this.table.options.progressiveLoad&&this.subscribe("scroll-vertical",this.scrollVertical.bind(this)))}rowAddingPosition(e,t){var i,n=this.table.rowManager,s=n.getDisplayRows();return t?s.length?i=s[0]:n.activeRows.length&&(i=n.activeRows[n.activeRows.length-1],t=!1):s.length&&(i=s[s.length-1],t=!(s.length{})}restOnRenderBefore(e,t){return t||"local"!==this.mode||this.reset(),e}rowsUpdated(){this.refreshData(!0,"all")}createElements(){var e;this.element=document.createElement("span"),this.element.classList.add("tabulator-paginator"),this.pagesElement=document.createElement("span"),this.pagesElement.classList.add("tabulator-pages"),(e=document.createElement("button")).classList.add("tabulator-page"),e.setAttribute("type","button"),e.setAttribute("role","button"),e.setAttribute("aria-label",""),e.setAttribute("title",""),this.firstBut=e.cloneNode(!0),this.firstBut.setAttribute("data-page","first"),this.prevBut=e.cloneNode(!0),this.prevBut.setAttribute("data-page","prev"),this.nextBut=e.cloneNode(!0),this.nextBut.setAttribute("data-page","next"),this.lastBut=e.cloneNode(!0),this.lastBut.setAttribute("data-page","last"),this.table.options.paginationSizeSelector&&(this.pageSizeSelect=document.createElement("select"),this.pageSizeSelect.classList.add("tabulator-page-size"))}generatePageSizeSelectList(){var e=[];if(this.pageSizeSelect){if(Array.isArray(this.table.options.paginationSizeSelector))e=this.table.options.paginationSizeSelector,this.pageSizes=e,-1==this.pageSizes.indexOf(this.size)&&e.unshift(this.size);else if(-1==this.pageSizes.indexOf(this.size)){e=[];for(let t=1;t<5;t++)e.push(this.size*t);this.pageSizes=e}else e=this.pageSizes;for(;this.pageSizeSelect.firstChild;)this.pageSizeSelect.removeChild(this.pageSizeSelect.firstChild);e.forEach(e=>{var t=document.createElement("option");t.value=e,!0===e?this.langBind("pagination|all",function(e){t.innerHTML=e}):t.innerHTML=e,this.pageSizeSelect.appendChild(t)}),this.pageSizeSelect.value=this.size}}initializePageCounter(){var e=this.table.options.paginationCounter,t=null;e&&((t="function"==typeof e?e:hp.pageCounters[e])?(this.pageCounter=t,this.pageCounterElement=document.createElement("span"),this.pageCounterElement.classList.add("tabulator-page-counter")):console.warn("Pagination Error - No such page counter found: ",e))}initializePaginator(e){var t,i;e||(this.langBind("pagination|first",e=>{this.firstBut.innerHTML=e}),this.langBind("pagination|first_title",e=>{this.firstBut.setAttribute("aria-label",e),this.firstBut.setAttribute("title",e)}),this.langBind("pagination|prev",e=>{this.prevBut.innerHTML=e}),this.langBind("pagination|prev_title",e=>{this.prevBut.setAttribute("aria-label",e),this.prevBut.setAttribute("title",e)}),this.langBind("pagination|next",e=>{this.nextBut.innerHTML=e}),this.langBind("pagination|next_title",e=>{this.nextBut.setAttribute("aria-label",e),this.nextBut.setAttribute("title",e)}),this.langBind("pagination|last",e=>{this.lastBut.innerHTML=e}),this.langBind("pagination|last_title",e=>{this.lastBut.setAttribute("aria-label",e),this.lastBut.setAttribute("title",e)}),this.firstBut.addEventListener("click",()=>{this.setPage(1)}),this.prevBut.addEventListener("click",()=>{this.previousPage()}),this.nextBut.addEventListener("click",()=>{this.nextPage()}),this.lastBut.addEventListener("click",()=>{this.setPage(this.max)}),this.table.options.paginationElement&&(this.element=this.table.options.paginationElement),this.pageSizeSelect&&(t=document.createElement("label"),this.langBind("pagination|page_size",e=>{this.pageSizeSelect.setAttribute("aria-label",e),this.pageSizeSelect.setAttribute("title",e),t.innerHTML=e}),this.element.appendChild(t),this.element.appendChild(this.pageSizeSelect),this.pageSizeSelect.addEventListener("change",e=>{this.setPageSize("true"==this.pageSizeSelect.value||this.pageSizeSelect.value),this.setPage(1)})),this.element.appendChild(this.firstBut),this.element.appendChild(this.prevBut),this.element.appendChild(this.pagesElement),this.element.appendChild(this.nextBut),this.element.appendChild(this.lastBut),this.table.options.paginationElement||(this.table.options.paginationCounter&&(this.table.options.paginationCounterElement?this.table.options.paginationCounterElement instanceof HTMLElement?this.table.options.paginationCounterElement.appendChild(this.pageCounterElement):"string"==typeof this.table.options.paginationCounterElement&&((i=document.querySelector(this.table.options.paginationCounterElement))?i.appendChild(this.pageCounterElement):console.warn("Pagination Error - Unable to find element matching paginationCounterElement selector:",this.table.options.paginationCounterElement)):this.footerAppend(this.pageCounterElement)),this.footerAppend(this.element)),this.page=this.table.options.paginationInitialPage,this.count=this.table.options.paginationButtonCount),this.mode=this.table.options.paginationMode}initializeProgressive(e){this.initializePaginator(!0),this.mode="progressive_"+e,this.progressiveLoad=!0}trackChanges(){this.dispatch("page-changed")}setMaxRows(e){e?this.max=!0===this.size?1:Math.ceil(e/this.size):this.max=1,this.page>this.max&&(this.page=this.max)}reset(e){!this.initialLoad&&("local"==this.mode||e)&&(this.page=1,this.trackChanges())}setMaxPage(e){e=parseInt(e),this.max=e||1,this.page>this.max&&(this.page=this.max,this.trigger())}setPage(e){switch(e){case"first":return this.setPage(1);case"prev":return this.previousPage();case"next":return this.nextPage();case"last":return this.setPage(this.max)}return(e=parseInt(e))>0&&e<=this.max||"local"!==this.mode?(this.page=e,this.trackChanges(),this.trigger()):(console.warn("Pagination Error - Requested page is out of range of 1 - "+this.max+":",e),Promise.reject())}setPageToRow(e){var t=this.displayRows(-1).indexOf(e);if(!(t>-1))return console.warn("Pagination Error - Requested row is not visible"),Promise.reject();var i=!0===this.size?1:Math.ceil((t+1)/this.size);return this.setPage(i)}setPageSize(e){!0!==e&&(e=parseInt(e)),e>0&&(this.size=e,this.dispatchExternal("pageSizeChanged",e)),this.pageSizeSelect&&this.generatePageSizeSelectList(),this.trackChanges()}_setPageCounter(e,t,i){var n;if(this.pageCounter)switch("remote"===this.mode&&(t=this.size,i=(this.page-1)*this.size+1,e=this.remoteRowCountEstimate),typeof(n=this.pageCounter.call(this,t,i,this.page,e,this.max))){case"object":if(n instanceof Node){for(;this.pageCounterElement.firstChild;)this.pageCounterElement.removeChild(this.pageCounterElement.firstChild);this.pageCounterElement.appendChild(n)}else this.pageCounterElement.innerHTML="",null!=n&&console.warn("Page Counter Error - Page Counter has returned a type of object, the only valid page counter object return is an instance of Node, the page counter returned:",n);break;case"undefined":this.pageCounterElement.innerHTML="";break;default:this.pageCounterElement.innerHTML=n}}_setPageButtons(){let e=Math.floor((this.count-1)/2),t=Math.ceil((this.count-1)/2),i=this.max-this.page+e+10&&e<=this.max&&this.pagesElement.appendChild(this._generatePageButton(e));this.footerRedraw()}_generatePageButton(e){var t=document.createElement("button");return t.classList.add("tabulator-page"),e==this.page&&t.classList.add("active"),t.setAttribute("type","button"),t.setAttribute("role","button"),this.langBind("pagination|page_title",i=>{t.setAttribute("aria-label",i+" "+e),t.setAttribute("title",i+" "+e)}),t.setAttribute("data-page",e),t.textContent=e,t.addEventListener("click",t=>{this.setPage(e)}),t}previousPage(){return this.page>1?(this.page--,this.trackChanges(),this.trigger()):(console.warn("Pagination Error - Previous page would be less than page 1:",0),Promise.reject())}nextPage(){return this.page"row"===e.type);if("local"!=this.mode)return this._setPageButtons(),this._setPageCounter(r.length),e.slice(0);t=[],this.setMaxRows(e.length),!0===this.size?(i=0,n=e.length):n=(i=this.size*(this.page-1))+parseInt(this.size),this._setPageButtons();for(let r=i;r{this.dataChanging=!1});case"progressive_load":case"progressive_scroll":return this.reloadData(null,!0);default:return console.warn("Pagination Error - no such pagination mode:",this.mode),Promise.reject()}}_parseRemoteData(e){var t,i;if(void 0===e.last_page&&console.warn("Remote Pagination Error - Server response missing '"+(this.options("dataReceiveParams").last_page||"last_page")+"' property"),e.data){if(this.max=parseInt(e.last_page)||1,this.remoteRowCountEstimate=void 0!==e.last_row?e.last_row:e.last_page*this.size-(this.page==e.last_page?this.size-e.data.length:0),this.progressiveLoad){switch(this.mode){case"progressive_load":1==this.page?this.table.rowManager.setData(e.data,!1,1==this.page):this.table.rowManager.addRows(e.data),this.page{this.nextPage()},this.table.options.progressiveLoadDelay);break;case"progressive_scroll":e=1===this.page?e.data:this.table.rowManager.getData().concat(e.data),this.table.rowManager.setData(e,1!==this.page,1==this.page),t=this.table.options.progressiveLoadScrollMargin||2*this.table.rowManager.element.clientHeight,this.table.rowManager.element.scrollHeight<=this.table.rowManager.element.clientHeight+t&&this.page{this.nextPage()})}return!1}if(this.page>this.max&&(console.warn("Remote Pagination Error - Server returned last page value lower than the current page"),i=this.options("paginationOutOfRange")))return this.setPage("function"==typeof i?i.call(this,this.page,this.max):i);this.dispatchExternal("pageLoaded",this.getPage())}else console.warn("Remote Pagination Error - Server response missing '"+(this.options("dataReceiveParams").data||"data")+"' property");return e.data}footerRedraw(){var e=this.table.footerManager.containerElement;Math.ceil(e.clientWidth)-e.scrollWidth<0?this.pagesElement.style.display="none":(this.pagesElement.style.display="",Math.ceil(e.clientWidth)-e.scrollWidth<0&&(this.pagesElement.style.display="none"))}}var hf={local:function(e,t){var i=localStorage.getItem(e+"-"+t);return!!i&&JSON.parse(i)},cookie:function(e,t){var i,n,s=document.cookie,o=e+"-"+t,r=s.indexOf(o+"=");return r>-1&&((i=(s=s.slice(r)).indexOf(";"))>-1&&(s=s.slice(0,i)),n=s.replace(o+"=","")),!!n&&JSON.parse(n)}},hg={local:function(e,t,i){localStorage.setItem(e+"-"+t,JSON.stringify(i))},cookie:function(e,t,i){var n=new Date;n.setDate(n.getDate()+1e4),document.cookie=e+"-"+t+"="+JSON.stringify(i)+"; expires="+n.toUTCString()}};class hb extends lg{static moduleName="persistence";static moduleInitOrder=-10;static readers=hf;static writers=hg;constructor(e){super(e),this.mode="",this.id="",this.defWatcherBlock=!1,this.config={},this.readFunc=!1,this.writeFunc=!1,this.registerTableOption("persistence",!1),this.registerTableOption("persistenceID",""),this.registerTableOption("persistenceMode",!0),this.registerTableOption("persistenceReaderFunc",!1),this.registerTableOption("persistenceWriterFunc",!1)}localStorageTest(){var e="_tabulator_test";try{return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch(e){return!1}}initialize(){if(this.table.options.persistence){var e,t=this.table.options.persistenceMode,i=this.table.options.persistenceID;this.mode=!0!==t?t:this.localStorageTest()?"local":"cookie",this.table.options.persistenceReaderFunc?"function"==typeof this.table.options.persistenceReaderFunc?this.readFunc=this.table.options.persistenceReaderFunc:hb.readers[this.table.options.persistenceReaderFunc]?this.readFunc=hb.readers[this.table.options.persistenceReaderFunc]:console.warn("Persistence Read Error - invalid reader set",this.table.options.persistenceReaderFunc):hb.readers[this.mode]?this.readFunc=hb.readers[this.mode]:console.warn("Persistence Read Error - invalid reader set",this.mode),this.table.options.persistenceWriterFunc?"function"==typeof this.table.options.persistenceWriterFunc?this.writeFunc=this.table.options.persistenceWriterFunc:hb.writers[this.table.options.persistenceWriterFunc]?this.writeFunc=hb.writers[this.table.options.persistenceWriterFunc]:console.warn("Persistence Write Error - invalid reader set",this.table.options.persistenceWriterFunc):hb.writers[this.mode]?this.writeFunc=hb.writers[this.mode]:console.warn("Persistence Write Error - invalid writer set",this.mode),this.id="tabulator-"+(i||this.table.element.getAttribute("id")||""),this.config={sort:!0===this.table.options.persistence||this.table.options.persistence.sort,filter:!0===this.table.options.persistence||this.table.options.persistence.filter,headerFilter:!0===this.table.options.persistence||this.table.options.persistence.headerFilter,group:!0===this.table.options.persistence||this.table.options.persistence.group,page:!0===this.table.options.persistence||this.table.options.persistence.page,columns:!0===this.table.options.persistence?["title","width","visible"]:this.table.options.persistence.columns},this.config.page&&(e=this.retrieveData("page"))&&(void 0!==e.paginationSize&&(!0===this.config.page||this.config.page.size)&&(this.table.options.paginationSize=e.paginationSize),void 0!==e.paginationInitialPage&&(!0===this.config.page||this.config.page.page)&&(this.table.options.paginationInitialPage=e.paginationInitialPage)),this.config.group&&(e=this.retrieveData("group"))&&(void 0!==e.groupBy&&(!0===this.config.group||this.config.group.groupBy)&&(this.table.options.groupBy=e.groupBy),void 0!==e.groupStartOpen&&(!0===this.config.group||this.config.group.groupStartOpen)&&(this.table.options.groupStartOpen=e.groupStartOpen),void 0!==e.groupHeader&&(!0===this.config.group||this.config.group.groupHeader)&&(this.table.options.groupHeader=e.groupHeader)),this.config.columns&&(this.table.options.columns=this.load("columns",this.table.options.columns),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-show",this.save.bind(this,"columns")),this.subscribe("column-hide",this.save.bind(this,"columns")),this.subscribe("column-moved",this.save.bind(this,"columns"))),this.subscribe("table-built",this.tableBuilt.bind(this),0),this.subscribe("table-redraw",this.tableRedraw.bind(this)),this.subscribe("filter-changed",this.eventSave.bind(this,"filter")),this.subscribe("filter-changed",this.eventSave.bind(this,"headerFilter")),this.subscribe("sort-changed",this.eventSave.bind(this,"sort")),this.subscribe("group-changed",this.eventSave.bind(this,"group")),this.subscribe("page-changed",this.eventSave.bind(this,"page")),this.subscribe("column-resized",this.eventSave.bind(this,"columns")),this.subscribe("column-width",this.eventSave.bind(this,"columns")),this.subscribe("layout-refreshed",this.eventSave.bind(this,"columns"))}this.registerTableFunction("getColumnLayout",this.getColumnLayout.bind(this)),this.registerTableFunction("setColumnLayout",this.setColumnLayout.bind(this))}eventSave(e){this.config[e]&&this.save(e)}tableBuilt(){var e,t,i;this.config.sort&&!1==!(e=this.load("sort"))&&(this.table.options.initialSort=e),this.config.filter&&!1==!(t=this.load("filter"))&&(this.table.options.initialFilter=t),this.config.headerFilter&&!1==!(i=this.load("headerFilter"))&&(this.table.options.initialHeaderFilter=i)}tableRedraw(e){e&&this.config.columns&&this.save("columns")}getColumnLayout(){return this.parseColumns(this.table.columnManager.getColumns())}setColumnLayout(e){return this.table.columnManager.setColumns(this.mergeDefinition(this.table.options.columns,e,!0)),!0}initializeColumn(e){var t;this.config.columns&&(this.defWatcherBlock=!0,t=e.getDefinition(),(!0===this.config.columns?Object.keys(t):this.config.columns).forEach(e=>{var i=Object.getOwnPropertyDescriptor(t,e),n=t[e];i&&Object.defineProperty(t,e,{set:e=>{n=e,this.defWatcherBlock||this.save("columns"),i.set&&i.set(e)},get:()=>(i.get&&i.get(),n)})}),this.defWatcherBlock=!1)}load(e,t){var i=this.retrieveData(e);return t&&(i=i?this.mergeDefinition(t,i):t),i}retrieveData(e){return!!this.readFunc&&this.readFunc(this.id,e)}mergeDefinition(e,t,i){var n=[];return(t=t||[]).forEach((t,s)=>{var o,r=this._findColumn(e,t);r&&(i?o=Object.keys(t):!0===this.config.columns||void 0==this.config.columns?(o=Object.keys(r)).push("width"):o=this.config.columns,o.forEach(e=>{"columns"!==e&&void 0!==t[e]&&(r[e]=t[e])}),r.columns&&(r.columns=this.mergeDefinition(r.columns,t.columns)),n.push(r))}),e.forEach((e,i)=>{this._findColumn(t,e)||(n.length>i?n.splice(i,0,e):n.push(e))}),n}_findColumn(e,t){var i=t.columns?"group":t.field?"field":"object";return e.find(function(e){switch(i){case"group":return e.title===t.title&&e.columns.length===t.columns.length;case"field":return e.field===t.field;case"object":return e===t}})}save(e){var t={};switch(e){case"columns":t=this.parseColumns(this.table.columnManager.getColumns());break;case"filter":t=this.table.modules.filter.getFilters();break;case"headerFilter":t=this.table.modules.filter.getHeaderFilters();break;case"sort":t=this.validateSorters(this.table.modules.sort.getSort());break;case"group":t=this.getGroupConfig();break;case"page":t=this.getPageConfig()}this.writeFunc&&this.writeFunc(this.id,e,t)}validateSorters(e){return e.forEach(function(e){e.column=e.field,delete e.field}),e}getGroupConfig(){var e={};return this.config.group&&((!0===this.config.group||this.config.group.groupBy)&&(e.groupBy=this.table.options.groupBy),(!0===this.config.group||this.config.group.groupStartOpen)&&(e.groupStartOpen=this.table.options.groupStartOpen),(!0===this.config.group||this.config.group.groupHeader)&&(e.groupHeader=this.table.options.groupHeader)),e}getPageConfig(){var e={};return this.config.page&&((!0===this.config.page||this.config.page.size)&&(e.paginationSize=this.table.modules.page.getPageSize()),(!0===this.config.page||this.config.page.page)&&(e.paginationInitialPage=this.table.modules.page.getPage())),e}parseColumns(e){var t=[],i=["headerContextMenu","headerMenu","contextMenu","clickMenu"];return e.forEach(e=>{var n,s={},o=e.getDefinition();e.isGroup?(s.title=o.title,s.columns=this.parseColumns(e.getColumns())):(s.field=e.getField(),!0===this.config.columns||void 0==this.config.columns?((n=Object.keys(o)).push("width"),n.push("visible")):n=this.config.columns,n.forEach(t=>{switch(t){case"width":s.width=e.getWidth();break;case"visible":s.visible=e.visible;break;default:"function"!=typeof o[t]&&-1===i.indexOf(t)&&(s[t]=o[t])}})),t.push(s)}),t}}class hv extends lg{static moduleName="popup";constructor(e){super(e),this.columnSubscribers={},this.registerTableOption("rowContextPopup",!1),this.registerTableOption("rowClickPopup",!1),this.registerTableOption("rowDblClickPopup",!1),this.registerTableOption("groupContextPopup",!1),this.registerTableOption("groupClickPopup",!1),this.registerTableOption("groupDblClickPopup",!1),this.registerColumnOption("headerContextPopup"),this.registerColumnOption("headerClickPopup"),this.registerColumnOption("headerDblClickPopup"),this.registerColumnOption("headerPopup"),this.registerColumnOption("headerPopupIcon"),this.registerColumnOption("contextPopup"),this.registerColumnOption("clickPopup"),this.registerColumnOption("dblClickPopup"),this.registerComponentFunction("cell","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("column","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("row","popup",this._componentPopupCall.bind(this)),this.registerComponentFunction("group","popup",this._componentPopupCall.bind(this))}initialize(){this.initializeRowWatchers(),this.initializeGroupWatchers(),this.subscribe("column-init",this.initializeColumn.bind(this))}_componentPopupCall(e,t,i){this.loadPopupEvent(t,null,e,i)}initializeRowWatchers(){this.table.options.rowContextPopup&&(this.subscribe("row-contextmenu",this.loadPopupEvent.bind(this,this.table.options.rowContextPopup)),this.table.on("rowTapHold",this.loadPopupEvent.bind(this,this.table.options.rowContextPopup))),this.table.options.rowClickPopup&&this.subscribe("row-click",this.loadPopupEvent.bind(this,this.table.options.rowClickPopup)),this.table.options.rowDblClickPopup&&this.subscribe("row-dblclick",this.loadPopupEvent.bind(this,this.table.options.rowDblClickPopup))}initializeGroupWatchers(){this.table.options.groupContextPopup&&(this.subscribe("group-contextmenu",this.loadPopupEvent.bind(this,this.table.options.groupContextPopup)),this.table.on("groupTapHold",this.loadPopupEvent.bind(this,this.table.options.groupContextPopup))),this.table.options.groupClickPopup&&this.subscribe("group-click",this.loadPopupEvent.bind(this,this.table.options.groupClickPopup)),this.table.options.groupDblClickPopup&&this.subscribe("group-dblclick",this.loadPopupEvent.bind(this,this.table.options.groupDblClickPopup))}initializeColumn(e){var t=e.definition;t.headerContextPopup&&!this.columnSubscribers.headerContextPopup&&(this.columnSubscribers.headerContextPopup=this.loadPopupTableColumnEvent.bind(this,"headerContextPopup"),this.subscribe("column-contextmenu",this.columnSubscribers.headerContextPopup),this.table.on("headerTapHold",this.loadPopupTableColumnEvent.bind(this,"headerContextPopup"))),t.headerClickPopup&&!this.columnSubscribers.headerClickPopup&&(this.columnSubscribers.headerClickPopup=this.loadPopupTableColumnEvent.bind(this,"headerClickPopup"),this.subscribe("column-click",this.columnSubscribers.headerClickPopup)),t.headerDblClickPopup&&!this.columnSubscribers.headerDblClickPopup&&(this.columnSubscribers.headerDblClickPopup=this.loadPopupTableColumnEvent.bind(this,"headerDblClickPopup"),this.subscribe("column-dblclick",this.columnSubscribers.headerDblClickPopup)),t.headerPopup&&this.initializeColumnHeaderPopup(e),t.contextPopup&&!this.columnSubscribers.contextPopup&&(this.columnSubscribers.contextPopup=this.loadPopupTableCellEvent.bind(this,"contextPopup"),this.subscribe("cell-contextmenu",this.columnSubscribers.contextPopup),this.table.on("cellTapHold",this.loadPopupTableCellEvent.bind(this,"contextPopup"))),t.clickPopup&&!this.columnSubscribers.clickPopup&&(this.columnSubscribers.clickPopup=this.loadPopupTableCellEvent.bind(this,"clickPopup"),this.subscribe("cell-click",this.columnSubscribers.clickPopup)),t.dblClickPopup&&!this.columnSubscribers.dblClickPopup&&(this.columnSubscribers.dblClickPopup=this.loadPopupTableCellEvent.bind(this,"dblClickPopup"),this.subscribe("cell-click",this.columnSubscribers.dblClickPopup))}initializeColumnHeaderPopup(e){var t,i=e.definition.headerPopupIcon;(t=document.createElement("span")).classList.add("tabulator-header-popup-button"),i?("function"==typeof i&&(i=i(e.getComponent())),i instanceof HTMLElement?t.appendChild(i):t.innerHTML=i):t.innerHTML="⋮",t.addEventListener("click",t=>{t.stopPropagation(),t.preventDefault(),this.loadPopupEvent(e.definition.headerPopup,t,e)}),e.titleElement.insertBefore(t,e.titleElement.firstChild)}loadPopupTableCellEvent(e,t,i){i._cell&&(i=i._cell),i.column.definition[e]&&this.loadPopupEvent(i.column.definition[e],t,i)}loadPopupTableColumnEvent(e,t,i){i._column&&(i=i._column),i.definition[e]&&this.loadPopupEvent(i.definition[e],t,i)}loadPopupEvent(e,t,i,n){var s;i._group?i=i._group:i._row&&(i=i._row),e="function"==typeof e?e.call(this.table,t,i.getComponent(),function(e){s=e}):e,this.loadPopup(t,i,e,s,n)}loadPopup(e,t,i,n,s){var o,r,a=!(e instanceof MouseEvent);i instanceof HTMLElement?o=i:(o=document.createElement("div")).innerHTML=i,o.classList.add("tabulator-popup"),o.addEventListener("click",e=>{e.stopPropagation()}),a||e.preventDefault(),r=this.popup(o),"function"==typeof n&&r.renderCallback(n),e?r.show(e):r.show(t.getElement(),s||"center"),r.hideOnBlur(()=>{this.dispatchExternal("popupClosed",t.getComponent())}),this.dispatchExternal("popupOpened",t.getComponent())}}class hy extends lg{static moduleName="print";constructor(e){super(e),this.element=!1,this.manualBlock=!1,this.beforeprintEventHandler=null,this.afterprintEventHandler=null,this.registerTableOption("printAsHtml",!1),this.registerTableOption("printFormatter",!1),this.registerTableOption("printHeader",!1),this.registerTableOption("printFooter",!1),this.registerTableOption("printStyled",!0),this.registerTableOption("printRowRange","visible"),this.registerTableOption("printConfig",{}),this.registerColumnOption("print"),this.registerColumnOption("titlePrint")}initialize(){this.table.options.printAsHtml&&(this.beforeprintEventHandler=this.replaceTable.bind(this),this.afterprintEventHandler=this.cleanup.bind(this),window.addEventListener("beforeprint",this.beforeprintEventHandler),window.addEventListener("afterprint",this.afterprintEventHandler),this.subscribe("table-destroy",this.destroy.bind(this))),this.registerTableFunction("print",this.printFullscreen.bind(this))}destroy(){this.table.options.printAsHtml&&(window.removeEventListener("beforeprint",this.beforeprintEventHandler),window.removeEventListener("afterprint",this.afterprintEventHandler))}replaceTable(){this.manualBlock||(this.element=document.createElement("div"),this.element.classList.add("tabulator-print-table"),this.element.appendChild(this.table.modules.export.generateTable(this.table.options.printConfig,this.table.options.printStyled,this.table.options.printRowRange,"print")),this.table.element.style.display="none",this.table.element.parentNode.insertBefore(this.element,this.table.element))}cleanup(){document.body.classList.remove("tabulator-print-fullscreen-hide"),this.element&&this.element.parentNode&&(this.element.parentNode.removeChild(this.element),this.table.element.style.display="")}printFullscreen(e,t,i){var n,s,o=window.scrollX,r=window.scrollY,a=document.createElement("div"),l=document.createElement("div"),h=this.table.modules.export.generateTable(void 0!==i?i:this.table.options.printConfig,void 0!==t?t:this.table.options.printStyled,e||this.table.options.printRowRange,"print");this.manualBlock=!0,this.element=document.createElement("div"),this.element.classList.add("tabulator-print-fullscreen"),this.table.options.printHeader&&(a.classList.add("tabulator-print-header"),"string"==typeof(n="function"==typeof this.table.options.printHeader?this.table.options.printHeader.call(this.table):this.table.options.printHeader)?a.innerHTML=n:a.appendChild(n),this.element.appendChild(a)),this.element.appendChild(h),this.table.options.printFooter&&(l.classList.add("tabulator-print-footer"),"string"==typeof(s="function"==typeof this.table.options.printFooter?this.table.options.printFooter.call(this.table):this.table.options.printFooter)?l.innerHTML=s:l.appendChild(s),this.element.appendChild(l)),document.body.classList.add("tabulator-print-fullscreen-hide"),document.body.appendChild(this.element),this.table.options.printFormatter&&this.table.options.printFormatter(this.element,h),window.print(),this.cleanup(),window.scrollTo(o,r),this.manualBlock=!1}}class hw extends lg{static moduleName="reactiveData";constructor(e){super(e),this.data=!1,this.blocked=!1,this.origFuncs={},this.currentVersion=0,this.registerTableOption("reactiveData",!1)}initialize(){this.table.options.reactiveData&&(this.subscribe("cell-value-save-before",this.block.bind(this,"cellsave")),this.subscribe("cell-value-save-after",this.unblock.bind(this,"cellsave")),this.subscribe("row-data-save-before",this.block.bind(this,"rowsave")),this.subscribe("row-data-save-after",this.unblock.bind(this,"rowsave")),this.subscribe("row-data-init-after",this.watchRow.bind(this)),this.subscribe("data-processing",this.watchData.bind(this)),this.subscribe("table-destroy",this.unwatchData.bind(this)))}watchData(e){var t,i=this;this.currentVersion++,t=this.currentVersion,this.unwatchData(),this.data=e,this.origFuncs.push=e.push,Object.defineProperty(this.data,"push",{enumerable:!1,configurable:!0,value:function(){var n,s=Array.from(arguments);return i.blocked||t!==i.currentVersion||(i.block("data-push"),s.forEach(e=>{i.table.rowManager.addRowActual(e,!1)}),n=i.origFuncs.push.apply(e,arguments),i.unblock("data-push")),n}}),this.origFuncs.unshift=e.unshift,Object.defineProperty(this.data,"unshift",{enumerable:!1,configurable:!0,value:function(){var n,s=Array.from(arguments);return i.blocked||t!==i.currentVersion||(i.block("data-unshift"),s.forEach(e=>{i.table.rowManager.addRowActual(e,!0)}),n=i.origFuncs.unshift.apply(e,arguments),i.unblock("data-unshift")),n}}),this.origFuncs.shift=e.shift,Object.defineProperty(this.data,"shift",{enumerable:!1,configurable:!0,value:function(){var n,s;return i.blocked||t!==i.currentVersion||(i.block("data-shift"),i.data.length&&(n=i.table.rowManager.getRowFromDataObject(i.data[0]))&&n.deleteActual(),s=i.origFuncs.shift.call(e),i.unblock("data-shift")),s}}),this.origFuncs.pop=e.pop,Object.defineProperty(this.data,"pop",{enumerable:!1,configurable:!0,value:function(){var n,s;return i.blocked||t!==i.currentVersion||(i.block("data-pop"),i.data.length&&(n=i.table.rowManager.getRowFromDataObject(i.data[i.data.length-1]))&&n.deleteActual(),s=i.origFuncs.pop.call(e),i.unblock("data-pop")),s}}),this.origFuncs.splice=e.splice,Object.defineProperty(this.data,"splice",{enumerable:!1,configurable:!0,value:function(){var n,s,o=Array.from(arguments),r=o[0]<0?e.length+o[0]:o[0],a=o[1],l=!!o[2]&&o.slice(2);if(!i.blocked&&t===i.currentVersion){if(i.block("data-splice"),l&&((n=!!e[r]&&i.table.rowManager.getRowFromDataObject(e[r]))?l.forEach(e=>{i.table.rowManager.addRowActual(e,!0,n,!0)}):(l=l.slice().reverse()).forEach(e=>{i.table.rowManager.addRowActual(e,!0,!1,!0)})),0!==a){var h=e.slice(r,void 0===o[1]?o[1]:r+a);h.forEach((e,t)=>{var n=i.table.rowManager.getRowFromDataObject(e);n&&n.deleteActual(t!==h.length-1)})}(l||0!==a)&&i.table.rowManager.reRenderInPosition(),s=i.origFuncs.splice.apply(e,arguments),i.unblock("data-splice")}return s}})}unwatchData(){if(!1!==this.data)for(var e in this.origFuncs)Object.defineProperty(this.data,e,{enumerable:!0,configurable:!0,writable:!0,value:this.origFuncs.key})}watchRow(e){var t=e.getData();for(var i in t)this.watchKey(e,t,i);this.table.options.dataTree&&this.watchTreeChildren(e)}watchTreeChildren(e){var t=this,i=e.getData()[this.table.options.dataTreeChildField],n={};i&&(n.push=i.push,Object.defineProperty(i,"push",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-push");var s=n.push.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-push")}return s}}),n.unshift=i.unshift,Object.defineProperty(i,"unshift",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-unshift");var s=n.unshift.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-unshift")}return s}}),n.shift=i.shift,Object.defineProperty(i,"shift",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-shift");var s=n.shift.call(i);this.rebuildTree(e),t.unblock("tree-shift")}return s}}),n.pop=i.pop,Object.defineProperty(i,"pop",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-pop");var s=n.pop.call(i);this.rebuildTree(e),t.unblock("tree-pop")}return s}}),n.splice=i.splice,Object.defineProperty(i,"splice",{enumerable:!1,configurable:!0,value:()=>{if(!t.blocked){t.block("tree-splice");var s=n.splice.apply(i,arguments);this.rebuildTree(e),t.unblock("tree-splice")}return s}}))}rebuildTree(e){this.table.modules.dataTree.initializeRow(e),this.table.modules.dataTree.layoutRow(e),this.table.rowManager.refreshActiveData("tree",!1,!0)}watchKey(e,t,i){var n=this,s=Object.getOwnPropertyDescriptor(t,i),o=t[i],r=this.currentVersion;Object.defineProperty(t,i,{set:t=>{if(o=t,!n.blocked&&r===n.currentVersion){n.block("key");var a={};a[i]=t,e.updateData(a),n.unblock("key")}s.set&&s.set(t)},get:()=>(s.get&&s.get(),o)})}unwatchRow(e){var t=e.getData();for(var i in t)Object.defineProperty(t,i,{value:t[i]})}block(e){this.blocked||(this.blocked=e)}unblock(e){this.blocked===e&&(this.blocked=!1)}}class h_ extends lg{static moduleName="resizeColumns";constructor(e){super(e),this.startColumn=!1,this.startX=!1,this.startWidth=!1,this.latestX=!1,this.handle=null,this.initialNextColumn=null,this.nextColumn=null,this.initialized=!1,this.registerColumnOption("resizable",!0),this.registerTableOption("resizableColumnFit",!1),this.registerTableOption("resizableColumnGuide",!1)}initialize(){this.subscribe("column-rendered",this.layoutColumnHeader.bind(this))}initializeEventWatchers(){this.initialized||(this.subscribe("cell-rendered",this.layoutCellHandles.bind(this)),this.subscribe("cell-delete",this.deInitializeComponent.bind(this)),this.subscribe("cell-height",this.resizeHandle.bind(this)),this.subscribe("column-moved",this.columnLayoutUpdated.bind(this)),this.subscribe("column-hide",this.deInitializeColumn.bind(this)),this.subscribe("column-show",this.columnLayoutUpdated.bind(this)),this.subscribe("column-width",this.columnWidthUpdated.bind(this)),this.subscribe("column-delete",this.deInitializeComponent.bind(this)),this.subscribe("column-height",this.resizeHandle.bind(this)),this.initialized=!0)}layoutCellHandles(e){"row"===e.row.type&&(this.deInitializeComponent(e),this.initializeColumn("cell",e,e.column,e.element))}layoutColumnHeader(e){e.definition.resizable&&(this.initializeEventWatchers(),this.deInitializeComponent(e),this.initializeColumn("header",e,e,e.element))}columnLayoutUpdated(e){var t=e.prevColumn();this.reinitializeColumn(e),t&&this.reinitializeColumn(t)}columnWidthUpdated(e){e.modules.frozen&&(this.table.modules.frozenColumns.leftColumns.includes(e)?this.table.modules.frozenColumns.leftColumns.forEach(e=>{this.reinitializeColumn(e)}):this.table.modules.frozenColumns.rightColumns.includes(e)&&this.table.modules.frozenColumns.rightColumns.forEach(e=>{this.reinitializeColumn(e)}))}frozenColumnOffset(e){var t=!1;return e.modules.frozen&&(t=e.modules.frozen.marginValue,"left"===e.modules.frozen.position?t+=e.getWidth()-3:t&&(t-=3)),!1!==t&&t+"px"}reinitializeColumn(e){var t=this.frozenColumnOffset(e);e.cells.forEach(i=>{i.modules.resize&&i.modules.resize.handleEl&&(t&&(i.modules.resize.handleEl.style[e.modules.frozen.position]=t,i.modules.resize.handleEl.style["z-index"]=11),i.element.after(i.modules.resize.handleEl))}),e.modules.resize&&e.modules.resize.handleEl&&(t&&(e.modules.resize.handleEl.style[e.modules.frozen.position]=t),e.element.after(e.modules.resize.handleEl))}initializeColumn(e,t,i,n){var s=this,o=i.definition.resizable,r={},a=i.getLastColumn();if("header"===e&&(r={variableHeight:"textarea"==i.definition.formatter||i.definition.variableHeight}),(!0===o||o==e)&&this._checkResizability(a)){var l=document.createElement("span");l.className="tabulator-col-resize-handle",l.addEventListener("click",function(e){e.stopPropagation()});var h=function(e){s.startColumn=i,s.initialNextColumn=s.nextColumn=a.nextColumn(),s._mouseDown(e,a,l)};l.addEventListener("mousedown",h),l.addEventListener("touchstart",h,{passive:!0}),l.addEventListener("dblclick",e=>{var t=a.getWidth();e.stopPropagation(),a.reinitializeWidth(!0),t!==a.getWidth()&&(s.dispatch("column-resized",a),s.dispatchExternal("columnResized",a.getComponent()))}),i.modules.frozen&&(l.style.position="sticky",l.style[i.modules.frozen.position]=this.frozenColumnOffset(i)),r.handleEl=l,n.parentNode&&i.visible&&n.after(l)}t.modules.resize=r}deInitializeColumn(e){this.deInitializeComponent(e),e.cells.forEach(e=>{this.deInitializeComponent(e)})}deInitializeComponent(e){var t;e.modules.resize&&(t=e.modules.resize.handleEl)&&t.parentElement&&t.parentElement.removeChild(t)}resizeHandle(e,t){e.modules.resize&&e.modules.resize.handleEl&&(e.modules.resize.handleEl.style.height=t)}resize(e,t){var i,n,s=void 0===e.clientX?e.touches[0].clientX:e.clientX,o=s-this.startX,r=s-this.latestX;if(this.latestX=s,this.table.rtl&&(o=-o,r=-r),i=t.width==t.minWidth||t.width==t.maxWidth,t.setWidth(this.startWidth+o),n=t.width==t.minWidth||t.width==t.maxWidth,r<0&&(this.nextColumn=this.initialNextColumn),this.table.options.resizableColumnFit&&this.nextColumn&&!(i&&n)){let e=this.nextColumn.getWidth();r>0&&e<=this.nextColumn.minWidth&&(this.nextColumn=this.nextColumn.nextColumn()),this.nextColumn&&this.nextColumn.setWidth(this.nextColumn.getWidth()-r)}this.table.columnManager.rerenderColumns(!0),!this.table.browserSlow&&t.modules.resize&&t.modules.resize.variableHeight&&t.checkCellHeights()}calcGuidePosition(e,t,i){var n=void 0===e.clientX?e.touches[0].clientX:e.clientX,s=i.getBoundingClientRect().x-this.table.element.getBoundingClientRect().x,o=this.table.element.getBoundingClientRect().x,r=t.element.getBoundingClientRect().left-o,a=Math.max(s+(n-this.startX),r+t.minWidth);return t.maxWidth&&(a=Math.min(a,r+t.maxWidth)),a}_checkResizability(e){return e.definition.resizable}_mouseDown(e,t,i){var n,s=this;function o(e){s.table.options.resizableColumnGuide?n.style.left=s.calcGuidePosition(e,t,i)+"px":s.resize(e,t)}function r(e){s.table.options.resizableColumnGuide&&(s.resize(e,t),n.remove()),s.startColumn.modules.edit&&(s.startColumn.modules.edit.blocked=!1),s.table.browserSlow&&t.modules.resize&&t.modules.resize.variableHeight&&t.checkCellHeights(),document.body.removeEventListener("mouseup",r),document.body.removeEventListener("mousemove",o),i.removeEventListener("touchmove",o),i.removeEventListener("touchend",r),s.table.element.classList.remove("tabulator-block-select"),s.startWidth!==t.getWidth()&&(s.table.columnManager.verticalAlignHeaders(),s.dispatch("column-resized",t),s.dispatchExternal("columnResized",t.getComponent()))}this.dispatchExternal("columnResizing",t.getComponent()),s.table.options.resizableColumnGuide&&((n=document.createElement("span")).classList.add("tabulator-col-resize-guide"),s.table.element.appendChild(n),setTimeout(()=>{n.style.left=s.calcGuidePosition(e,t,i)+"px"})),s.table.element.classList.add("tabulator-block-select"),e.stopPropagation(),s.startColumn.modules.edit&&(s.startColumn.modules.edit.blocked=!0),s.startX=void 0===e.clientX?e.touches[0].clientX:e.clientX,s.latestX=s.startX,s.startWidth=t.getWidth(),document.body.addEventListener("mousemove",o),document.body.addEventListener("mouseup",r),i.addEventListener("touchmove",o,{passive:!0}),i.addEventListener("touchend",r)}}class hC extends lg{static moduleName="resizeRows";constructor(e){super(e),this.startColumn=!1,this.startY=!1,this.startHeight=!1,this.handle=null,this.prevHandle=null,this.registerTableOption("resizableRows",!1),this.registerTableOption("resizableRowGuide",!1)}initialize(){this.table.options.resizableRows&&this.subscribe("row-layout-after",this.initializeRow.bind(this))}initializeRow(e){var t=this,i=e.getElement(),n=document.createElement("div");n.className="tabulator-row-resize-handle";var s=document.createElement("div");s.className="tabulator-row-resize-handle prev",n.addEventListener("click",function(e){e.stopPropagation()});var o=function(i){t.startRow=e,t._mouseDown(i,e,n)};n.addEventListener("mousedown",o),n.addEventListener("touchstart",o,{passive:!0}),s.addEventListener("click",function(e){e.stopPropagation()});var r=function(i){var n=t.table.rowManager.prevDisplayRow(e);n&&(t.startRow=n,t._mouseDown(i,n,s))};s.addEventListener("mousedown",r),s.addEventListener("touchstart",r,{passive:!0}),i.appendChild(n),i.appendChild(s)}resize(e,t){t.setHeight(this.startHeight+((void 0===e.screenY?e.touches[0].screenY:e.screenY)-this.startY))}calcGuidePosition(e,t,i){var n=void 0===e.screenY?e.touches[0].screenY:e.screenY,s=i.getBoundingClientRect().y-this.table.element.getBoundingClientRect().y,o=this.table.element.getBoundingClientRect().y,r=t.element.getBoundingClientRect().top-o;return Math.max(s+(n-this.startY),r)}_mouseDown(e,t,i){var n,s=this;function o(e){s.table.options.resizableRowGuide?n.style.top=s.calcGuidePosition(e,t,i)+"px":s.resize(e,t)}function r(e){s.table.options.resizableRowGuide&&(s.resize(e,t),n.remove()),document.body.removeEventListener("mouseup",o),document.body.removeEventListener("mousemove",o),i.removeEventListener("touchmove",o),i.removeEventListener("touchend",r),s.table.element.classList.remove("tabulator-block-select"),s.dispatchExternal("rowResized",t.getComponent())}s.dispatchExternal("rowResizing",t.getComponent()),s.table.options.resizableRowGuide&&((n=document.createElement("span")).classList.add("tabulator-row-resize-guide"),s.table.element.appendChild(n),setTimeout(()=>{n.style.top=s.calcGuidePosition(e,t,i)+"px"})),s.table.element.classList.add("tabulator-block-select"),e.stopPropagation(),s.startY=void 0===e.screenY?e.touches[0].screenY:e.screenY,s.startHeight=t.getHeight(),document.body.addEventListener("mousemove",o),document.body.addEventListener("mouseup",r),i.addEventListener("touchmove",o,{passive:!0}),i.addEventListener("touchend",r)}}class hE extends lg{static moduleName="resizeTable";constructor(e){super(e),this.binding=!1,this.visibilityObserver=!1,this.resizeObserver=!1,this.containerObserver=!1,this.tableHeight=0,this.tableWidth=0,this.containerHeight=0,this.containerWidth=0,this.autoResize=!1,this.visible=!1,this.initialized=!1,this.initialRedraw=!1,this.registerTableOption("autoResize",!0)}initialize(){if(this.table.options.autoResize){var e,t=this.table;this.tableHeight=t.element.clientHeight,this.tableWidth=t.element.clientWidth,t.element.parentNode&&(this.containerHeight=t.element.parentNode.clientHeight,this.containerWidth=t.element.parentNode.clientWidth),"undefined"!=typeof IntersectionObserver&&"undefined"!=typeof ResizeObserver&&"virtual"===t.rowManager.getRenderMode()?(this.initializeVisibilityObserver(),this.autoResize=!0,this.resizeObserver=new ResizeObserver(e=>{if(!t.browserMobile||t.browserMobile&&(!t.modules.edit||t.modules.edit&&!t.modules.edit.currentCell)){var i=Math.floor(e[0].contentRect.height),n=Math.floor(e[0].contentRect.width);(this.tableHeight!=i||this.tableWidth!=n)&&(this.tableHeight=i,this.tableWidth=n,t.element.parentNode&&(this.containerHeight=t.element.parentNode.clientHeight,this.containerWidth=t.element.parentNode.clientWidth),this.redrawTable())}}),this.resizeObserver.observe(t.element),e=window.getComputedStyle(t.element),this.table.element.parentNode&&!this.table.rowManager.fixedHeight&&(e.getPropertyValue("max-height")||e.getPropertyValue("min-height"))&&(this.containerObserver=new ResizeObserver(e=>{if(!t.browserMobile||t.browserMobile&&(!t.modules.edit||t.modules.edit&&!t.modules.edit.currentCell)){var i=Math.floor(e[0].contentRect.height),n=Math.floor(e[0].contentRect.width);(this.containerHeight!=i||this.containerWidth!=n)&&(this.containerHeight=i,this.containerWidth=n,this.tableHeight=t.element.clientHeight,this.tableWidth=t.element.clientWidth),this.redrawTable()}}),this.containerObserver.observe(this.table.element.parentNode)),this.subscribe("table-resize",this.tableResized.bind(this))):(this.binding=function(){t.browserMobile&&(!t.browserMobile||t.modules.edit&&(!t.modules.edit||t.modules.edit.currentCell))||(t.columnManager.rerenderColumns(!0),t.redraw())},window.addEventListener("resize",this.binding)),this.subscribe("table-destroy",this.clearBindings.bind(this))}}initializeVisibilityObserver(){this.visibilityObserver=new IntersectionObserver(e=>{this.visible=e[0].isIntersecting,this.initialized?this.visible&&(this.redrawTable(this.initialRedraw),this.initialRedraw=!1):(this.initialized=!0,this.initialRedraw=!this.visible)}),this.visibilityObserver.observe(this.table.element)}redrawTable(e){this.initialized&&this.visible&&(this.table.columnManager.rerenderColumns(!0),this.table.redraw(e))}tableResized(){this.table.rowManager.redraw()}clearBindings(){this.binding&&window.removeEventListener("resize",this.binding),this.resizeObserver&&this.resizeObserver.unobserve(this.table.element),this.visibilityObserver&&this.visibilityObserver.unobserve(this.table.element),this.containerObserver&&this.containerObserver.unobserve(this.table.element.parentNode)}}var hx={format:{formatters:{responsiveCollapse:function(e,t,i){var n=document.createElement("div"),s=e.getRow()._row.modules.responsiveLayout;function o(e){var t=s.element;s.open=e,t&&(s.open?(n.classList.add("open"),t.style.display=""):(n.classList.remove("open"),t.style.display="none"))}return n.classList.add("tabulator-responsive-collapse-toggle"),n.innerHTML=`
`,e.getElement().classList.add("tabulator-row-handle"),n.addEventListener("click",function(t){t.stopImmediatePropagation(),o(!s.open),e.getTable().rowManager.adjustTableSize()}),o(s.open),n}}}};class hT extends lg{static moduleName="responsiveLayout";static moduleExtensions=hx;constructor(e){super(e),this.columns=[],this.hiddenColumns=[],this.mode="",this.index=0,this.collapseFormatter=[],this.collapseStartOpen=!0,this.collapseHandleColumn=!1,this.registerTableOption("responsiveLayout",!1),this.registerTableOption("responsiveLayoutCollapseStartOpen",!0),this.registerTableOption("responsiveLayoutCollapseUseFormatters",!0),this.registerTableOption("responsiveLayoutCollapseFormatter",!1),this.registerColumnOption("responsive")}initialize(){this.table.options.responsiveLayout&&(this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("column-show",this.updateColumnVisibility.bind(this)),this.subscribe("column-hide",this.updateColumnVisibility.bind(this)),this.subscribe("columns-loaded",this.initializeResponsivity.bind(this)),this.subscribe("column-moved",this.initializeResponsivity.bind(this)),this.subscribe("column-add",this.initializeResponsivity.bind(this)),this.subscribe("column-delete",this.initializeResponsivity.bind(this)),this.subscribe("table-redrawing",this.tableRedraw.bind(this)),"collapse"===this.table.options.responsiveLayout&&(this.subscribe("row-data-changed",this.generateCollapsedRowContent.bind(this)),this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-layout",this.layoutRow.bind(this))))}tableRedraw(e){-1!==["fitColumns","fitDataStretch"].indexOf(this.layoutMode())||e||this.update()}initializeResponsivity(){var e=[];for(let t of(this.mode=this.table.options.responsiveLayout,this.collapseFormatter=this.table.options.responsiveLayoutCollapseFormatter||this.formatCollapsedData,this.collapseStartOpen=this.table.options.responsiveLayoutCollapseStartOpen,this.hiddenColumns=[],this.collapseFormatter&&(this.collapseFormatter=this.collapseFormatter.bind(this.table)),this.table.columnManager.columnsByIndex.forEach((t,i)=>{t.modules.responsive&&t.modules.responsive.order&&t.modules.responsive.visible&&(t.modules.responsive.index=i,e.push(t),t.visible||"collapse"!==this.mode||this.hiddenColumns.push(t))}),e=(e=e.reverse()).sort((e,t)=>t.modules.responsive.order-e.modules.responsive.order||t.modules.responsive.index-e.modules.responsive.index),this.columns=e,"collapse"===this.mode&&this.generateCollapsedContent(),this.table.columnManager.columnsByIndex))if("responsiveCollapse"==t.definition.formatter){this.collapseHandleColumn=t;break}this.collapseHandleColumn&&(this.hiddenColumns.length?this.collapseHandleColumn.show():this.collapseHandleColumn.hide())}initializeColumn(e){var t=e.getDefinition();e.modules.responsive={order:void 0===t.responsive?1:t.responsive,visible:!1!==t.visible}}initializeRow(e){var t;"calc"===e.type||((t=document.createElement("div")).classList.add("tabulator-responsive-collapse"),e.modules.responsiveLayout={element:t,open:this.collapseStartOpen},this.collapseStartOpen||(t.style.display="none"))}layoutRow(e){var t=e.getElement();e.modules.responsiveLayout&&(t.appendChild(e.modules.responsiveLayout.element),this.generateCollapsedRowContent(e))}updateColumnVisibility(e,t){!t&&e.modules.responsive&&(e.modules.responsive.visible=e.visible,this.initializeResponsivity())}hideColumn(e){var t=this.hiddenColumns.length;e.hide(!1,!0),"collapse"===this.mode&&(this.hiddenColumns.unshift(e),this.generateCollapsedContent(),this.collapseHandleColumn&&!t&&this.collapseHandleColumn.show())}showColumn(e){var t;e.show(!1,!0),e.setWidth(e.getWidth()),"collapse"===this.mode&&((t=this.hiddenColumns.indexOf(e))>-1&&this.hiddenColumns.splice(t,1),this.generateCollapsedContent(),this.collapseHandleColumn&&!this.hiddenColumns.length&&this.collapseHandleColumn.hide())}update(){for(var e=!0;e;){let t="fitColumns"==this.table.modules.layout.getMode()?this.table.columnManager.getFlexBaseWidth():this.table.columnManager.getWidth(),i=(this.table.options.headerVisible?this.table.columnManager.element.clientWidth:this.table.element.clientWidth)-t;if(i<0){let t=this.columns[this.index];t?(this.hideColumn(t),this.index++):e=!1}else{let t=this.columns[this.index-1];t&&i>0&&i>=t.getWidth()?(this.showColumn(t),this.index--):e=!1}this.table.rowManager.activeRowsCount||this.table.rowManager.renderEmptyScroll()}}generateCollapsedContent(){this.table.rowManager.getDisplayRows().forEach(e=>{this.generateCollapsedRowContent(e)})}generateCollapsedRowContent(e){var t,i;if(e.modules.responsiveLayout){for(t=e.modules.responsiveLayout.element;t.firstChild;)t.removeChild(t.firstChild);(i=this.collapseFormatter(this.generateCollapsedRowData(e)))&&t.appendChild(i),e.calcHeight(!0)}}generateCollapsedRowData(e){var t,i=e.getData(),n=[];return this.hiddenColumns.forEach(s=>{var o=s.getFieldValue(i);s.definition.title&&s.field&&(s.modules.format&&this.table.options.responsiveLayoutCollapseUseFormatters?(t={value:!1,data:{},getValue:function(){return o},getData:function(){return i},getType:function(){return"cell"},getElement:function(){return document.createElement("div")},getRow:function(){return e.getComponent()},getColumn:function(){return s.getComponent()},getTable:()=>this.table},n.push({field:s.field,title:s.definition.title,value:s.modules.format.formatter.call(this.table.modules.format,t,s.modules.format.params,function(e){e()})})):n.push({field:s.field,title:s.definition.title,value:o}))}),n}formatCollapsedData(e){var t=document.createElement("table");return e.forEach(e=>{var i,n=document.createElement("tr"),s=document.createElement("td"),o=document.createElement("td"),r=document.createElement("strong");s.appendChild(r),this.modules.localize.bind("columns|"+e.field,function(t){r.innerHTML=t||e.title}),e.value instanceof Node?((i=document.createElement("div")).appendChild(e.value),o.appendChild(i)):o.innerHTML=e.value,n.appendChild(s),n.appendChild(o),t.appendChild(n)}),Object.keys(e).length?t:""}}var hk={format:{formatters:{rowSelection:function(e,t,i){var n=document.createElement("input"),s=!1;if(n.type="checkbox",n.setAttribute("aria-label","Select Row"),this.table.modExists("selectRow",!0)){if(n.addEventListener("click",e=>{e.stopPropagation()}),"function"==typeof e.getRow){var o=e.getRow();o instanceof lz?(n.addEventListener("change",e=>{"click"===this.table.options.selectableRowsRangeMode&&s?s=!1:o.toggleSelect()}),"click"===this.table.options.selectableRowsRangeMode&&n.addEventListener("click",e=>{s=!0,this.table.modules.selectRow.handleComplexRowClick(o._row,e)}),n.checked=o.isSelected&&o.isSelected(),this.table.modules.selectRow.registerRowSelectCheckbox(o,n)):n=""}else n.addEventListener("change",e=>{this.table.modules.selectRow.selectedRows.length?this.table.deselectRow():this.table.selectRow(t.rowRange)}),this.table.modules.selectRow.registerHeaderSelectCheckbox(n)}return n}}}};class hS extends lg{static moduleName="selectRow";static moduleExtensions=hk;constructor(e){super(e),this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],this.headerCheckboxElement=null,this.registerTableOption("selectableRows","highlight"),this.registerTableOption("selectableRowsRangeMode","drag"),this.registerTableOption("selectableRowsRollingSelection",!0),this.registerTableOption("selectableRowsPersistence",!0),this.registerTableOption("selectableRowsCheck",function(e,t){return!0}),this.registerTableFunction("selectRow",this.selectRows.bind(this)),this.registerTableFunction("deselectRow",this.deselectRows.bind(this)),this.registerTableFunction("toggleSelectRow",this.toggleRow.bind(this)),this.registerTableFunction("getSelectedRows",this.getSelectedRows.bind(this)),this.registerTableFunction("getSelectedData",this.getSelectedData.bind(this)),this.registerComponentFunction("row","select",this.selectRows.bind(this)),this.registerComponentFunction("row","deselect",this.deselectRows.bind(this)),this.registerComponentFunction("row","toggleSelect",this.toggleRow.bind(this)),this.registerComponentFunction("row","isSelected",this.isRowSelected.bind(this))}initialize(){this.deprecatedOptionsCheck(),"highlight"===this.table.options.selectableRows&&this.table.options.selectableRange&&(this.table.options.selectableRows=!1),!1!==this.table.options.selectableRows&&(this.subscribe("row-init",this.initializeRow.bind(this)),this.subscribe("row-deleting",this.rowDeleted.bind(this)),this.subscribe("rows-wipe",this.clearSelectionData.bind(this)),this.subscribe("rows-retrieve",this.rowRetrieve.bind(this)),this.table.options.selectableRows&&!this.table.options.selectableRowsPersistence&&this.subscribe("data-refreshing",this.deselectRows.bind(this)))}deprecatedOptionsCheck(){}rowRetrieve(e,t){return"selected"===e?this.selectedRows:t}rowDeleted(e){this._deselectRow(e,!0)}clearSelectionData(e){var t=this.selectedRows.length;this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],t&&!0!==e&&this._rowSelectionChanged()}initializeRow(e){var t=this,i=t.checkRowSelectability(e),n=e.getElement(),s=function(){setTimeout(function(){t.selecting=!1},50),document.body.removeEventListener("mouseup",s)};e.modules.select={selected:!1},n.classList.toggle("tabulator-selectable",i),n.classList.toggle("tabulator-unselectable",!i),t.checkRowSelectability(e)&&t.table.options.selectableRows&&"highlight"!=t.table.options.selectableRows&&("click"===t.table.options.selectableRowsRangeMode?n.addEventListener("click",this.handleComplexRowClick.bind(this,e)):(n.addEventListener("click",function(i){t.table.modExists("edit")&&t.table.modules.edit.getCurrentCell()||t.table._clearSelection(),t.selecting||t.toggleRow(e)}),n.addEventListener("mousedown",function(i){if(i.shiftKey)return t.table._clearSelection(),t.selecting=!0,t.selectPrev=[],document.body.addEventListener("mouseup",s),document.body.addEventListener("keyup",s),t.toggleRow(e),!1}),n.addEventListener("mouseenter",function(i){t.selecting&&(t.table._clearSelection(),t.toggleRow(e),t.selectPrev[1]==e&&t.toggleRow(t.selectPrev[0]))}),n.addEventListener("mouseout",function(i){t.selecting&&(t.table._clearSelection(),t.selectPrev.unshift(e))})))}handleComplexRowClick(e,t){if(t.shiftKey){this.table._clearSelection(),this.lastClickedRow=this.lastClickedRow||e;var i=this.table.rowManager.getDisplayRowIndex(this.lastClickedRow),n=this.table.rowManager.getDisplayRowIndex(e),s=i<=n?i:n,o=this.table.rowManager.getDisplayRows().slice(0).splice(s,(i>=n?i:n)-s+1);t.ctrlKey||t.metaKey?(o.forEach(t=>{t!==this.lastClickedRow&&(!0===this.table.options.selectableRows||this.isRowSelected(e)?this.toggleRow(t):this.selectedRows.lengththis.table.options.selectableRows&&(o=o.slice(0,this.table.options.selectableRows)),this.selectRows(o)),this.table._clearSelection()}else t.ctrlKey||t.metaKey?this.toggleRow(e):(this.deselectRows(void 0,!0),this.selectRows(e)),this.lastClickedRow=e}checkRowSelectability(e){return!!e&&"row"===e.type&&this.table.options.selectableRowsCheck.call(this.table,e.getComponent())}toggleRow(e){this.checkRowSelectability(e)&&(e.modules.select&&e.modules.select.selected?this._deselectRow(e):this._selectRow(e))}selectRows(e){var t,i,n=[];switch(typeof e){case"undefined":t=this.table.rowManager.rows;break;case"number":t=this.table.rowManager.findRow(e);break;case"string":(t=this.table.rowManager.findRow(e))||(t=this.table.rowManager.getRows(e));break;default:t=e}Array.isArray(t)?t.length&&(t.forEach(e=>{(i=this._selectRow(e,!0,!0))&&n.push(i)}),this._rowSelectionChanged(!1,n)):t&&this._selectRow(t,!1,!0)}_selectRow(e,t,i){if(!isNaN(this.table.options.selectableRows)&&!0!==this.table.options.selectableRows&&!i&&this.selectedRows.length>=this.table.options.selectableRows){if(!this.table.options.selectableRowsRollingSelection)return!1;this._deselectRow(this.selectedRows[0])}var n=this.table.rowManager.findRow(e);if(n){if(-1==this.selectedRows.indexOf(n))return n.getElement().classList.add("tabulator-selected"),n.modules.select||(n.modules.select={}),n.modules.select.selected=!0,n.modules.select.checkboxEl&&(n.modules.select.checkboxEl.checked=!0),this.selectedRows.push(n),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(n,!0),this.dispatchExternal("rowSelected",n.getComponent()),this._rowSelectionChanged(t,n),n}else t||console.warn("Selection Error - No such row found, ignoring selection:"+e)}isRowSelected(e){return -1!==this.selectedRows.indexOf(e)}deselectRows(e,t){var i,n,s=[];switch(typeof e){case"undefined":i=Object.assign([],this.selectedRows);break;case"number":i=this.table.rowManager.findRow(e);break;case"string":(i=this.table.rowManager.findRow(e))||(i=this.table.rowManager.getRows(e));break;default:i=e}Array.isArray(i)?i.length&&(i.forEach(e=>{(n=this._deselectRow(e,!0,!0))&&s.push(n)}),this._rowSelectionChanged(t,[],s)):i&&this._deselectRow(i,t,!0)}_deselectRow(e,t){var i,n,s=this.table.rowManager.findRow(e);if(s){if((i=this.selectedRows.findIndex(function(e){return e==s}))>-1)return(n=s.getElement())&&n.classList.remove("tabulator-selected"),s.modules.select||(s.modules.select={}),s.modules.select.selected=!1,s.modules.select.checkboxEl&&(s.modules.select.checkboxEl.checked=!1),this.selectedRows.splice(i,1),this.table.options.dataTreeSelectPropagate&&this.childRowSelection(s,!1),this.dispatchExternal("rowDeselected",s.getComponent()),this._rowSelectionChanged(t,void 0,s),s}else t||console.warn("Deselection Error - No such row found, ignoring selection:"+e)}getSelectedData(){var e=[];return this.selectedRows.forEach(function(t){e.push(t.getData())}),e}getSelectedRows(){var e=[];return this.selectedRows.forEach(function(t){e.push(t.getComponent())}),e}_rowSelectionChanged(e,t=[],i=[]){this.headerCheckboxElement&&(0===this.selectedRows.length?(this.headerCheckboxElement.checked=!1,this.headerCheckboxElement.indeterminate=!1):this.table.rowManager.rows.length===this.selectedRows.length?(this.headerCheckboxElement.checked=!0,this.headerCheckboxElement.indeterminate=!1):(this.headerCheckboxElement.indeterminate=!0,this.headerCheckboxElement.checked=!1)),e||(Array.isArray(t)||(t=[t]),t=t.map(e=>e.getComponent()),Array.isArray(i)||(i=[i]),i=i.map(e=>e.getComponent()),this.dispatchExternal("rowSelectionChanged",this.getSelectedData(),this.getSelectedRows(),t,i))}registerRowSelectCheckbox(e,t){e._row.modules.select||(e._row.modules.select={}),e._row.modules.select.checkboxEl=t}registerHeaderSelectCheckbox(e){this.headerCheckboxElement=e}childRowSelection(e,t){var i=this.table.modules.dataTree.getChildren(e,!0,!0);if(t)for(let e of i)this._selectRow(e,!0);else for(let e of i)this._deselectRow(e,!0)}}class hL{constructor(e){return this._range=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._range.table.componentFunctionBinder.handle("range",e._range,t)}})}getElement(){return this._range.element}getData(){return this._range.getData()}getCells(){return this._range.getCells(!0,!0)}getStructuredCells(){return this._range.getStructuredCells()}getRows(){return this._range.getRows().map(e=>e.getComponent())}getColumns(){return this._range.getColumns().map(e=>e.getComponent())}getBounds(){return this._range.getBounds()}getTopEdge(){return this._range.top}getBottomEdge(){return this._range.bottom}getLeftEdge(){return this._range.left}getRightEdge(){return this._range.right}setBounds(e,t){this._range.destroyedGuard("setBounds")&&this._range.setBounds(e?e._cell:e,t?t._cell:t)}setStartBound(e){this._range.destroyedGuard("setStartBound")&&(this._range.setEndBound(e?e._cell:e),this._range.rangeManager.layoutElement())}setEndBound(e){this._range.destroyedGuard("setEndBound")&&(this._range.setEndBound(e?e._cell:e),this._range.rangeManager.layoutElement())}clearValues(){this._range.destroyedGuard("clearValues")&&this._range.clearValues()}remove(){this._range.destroyedGuard("remove")&&this._range.destroy(!0)}}class hM extends lm{constructor(e,t,i,n){super(e),this.rangeManager=t,this.element=null,this.initialized=!1,this.initializing={start:!1,end:!1},this.destroyed=!1,this.top=0,this.bottom=0,this.left=0,this.right=0,this.table=e,this.start={row:0,col:0},this.end={row:0,col:0},this.rangeManager.rowHeader&&(this.left=1,this.right=1,this.start.col=1,this.end.col=1),this.initElement(),setTimeout(()=>{this.initBounds(i,n)})}initElement(){this.element=document.createElement("div"),this.element.classList.add("tabulator-range")}initBounds(e,t){this._updateMinMax(),e&&this.setBounds(e,t||e)}setStart(e,t){(this.start.row!==e||this.start.col!==t)&&(this.start.row=e,this.start.col=t,this.initializing.start=!0,this._updateMinMax())}setEnd(e,t){(this.end.row!==e||this.end.col!==t)&&(this.end.row=e,this.end.col=t,this.initializing.end=!0,this._updateMinMax())}setBounds(e,t,i){e&&this.setStartBound(e),this.setEndBound(t||e),this.rangeManager.layoutElement(i)}setStartBound(e){var t,i;"column"===e.type?this.rangeManager.columnSelection&&this.setStart(0,e.getPosition()-1):(t=e.row.position-1,i=e.column.getPosition()-1,e.column===this.rangeManager.rowHeader?this.setStart(t,1):this.setStart(t,i))}setEndBound(e){var t,i,n,s=this._getTableRows().length;"column"===e.type?this.rangeManager.columnSelection&&("column"===this.rangeManager.selecting?this.setEnd(s-1,e.getPosition()-1):"cell"===this.rangeManager.selecting&&this.setEnd(0,e.getPosition()-1)):(t=e.row.position-1,i=e.column.getPosition()-1,n=e.column===this.rangeManager.rowHeader,"row"===this.rangeManager.selecting?this.setEnd(t,this._getTableColumns().length-1):"row"!==this.rangeManager.selecting&&n?this.setEnd(t,0):"column"===this.rangeManager.selecting?this.setEnd(s-1,i):this.setEnd(t,i))}_updateMinMax(){this.top=Math.min(this.start.row,this.end.row),this.bottom=Math.max(this.start.row,this.end.row),this.left=Math.min(this.start.col,this.end.col),this.right=Math.max(this.start.col,this.end.col),this.initialized?this.dispatchExternal("rangeChanged",this.getComponent()):this.initializing.start&&this.initializing.end&&(this.initialized=!0,this.dispatchExternal("rangeAdded",this.getComponent()))}_getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}_getTableRows(){return this.table.rowManager.getDisplayRows().filter(e=>"row"===e.type)}layout(){var e,t,i,n,s,o,r,a,l,h,c=this.table.rowManager.renderer.vDomTop,u=this.table.rowManager.renderer.vDomBottom,d=this.table.columnManager.renderer.leftCol,m=this.table.columnManager.renderer.rightCol;"virtual"===this.table.options.renderHorizontal&&this.rangeManager.rowHeader&&(m+=1),null==c&&(c=0),null==u&&(u=1/0),null==d&&(d=0),null==m&&(m=1/0),this.overlaps(d,c,m,u)&&(e=Math.max(this.top,c),t=Math.min(this.bottom,u),i=Math.max(this.left,d),n=Math.min(this.right,m),s=this.rangeManager.getCell(e,i),o=this.rangeManager.getCell(t,n),r=s.getElement(),a=o.getElement(),l=s.row.getElement(),h=o.row.getElement(),this.element.classList.add("tabulator-range-active"),this.table.rtl?(this.element.style.right=l.offsetWidth-r.offsetLeft-r.offsetWidth+"px",this.element.style.width=r.offsetLeft+r.offsetWidth-a.offsetLeft+"px"):(this.element.style.left=l.offsetLeft+r.offsetLeft+"px",this.element.style.width=a.offsetLeft+a.offsetWidth-r.offsetLeft+"px"),this.element.style.top=l.offsetTop+"px",this.element.style.height=h.offsetTop+h.offsetHeight-l.offsetTop+"px")}atTopLeft(e){return e.row.position-1===this.top&&e.column.getPosition()-1===this.left}atBottomRight(e){return e.row.position-1===this.bottom&&e.column.getPosition()-1===this.right}occupies(e){return this.occupiesRow(e.row)&&this.occupiesColumn(e.column)}occupiesRow(e){return this.top<=e.position-1&&e.position-1<=this.bottom}occupiesColumn(e){return this.left<=e.getPosition()-1&&e.getPosition()-1<=this.right}overlaps(e,t,i,n){return!(this.left>i)&&!(e>this.right)&&!(this.top>n)&&!(t>this.bottom)}getData(){var e=[],t=this.getRows(),i=this.getColumns();return t.forEach(t=>{var n=t.getData(),s={};i.forEach(e=>{s[e.field]=n[e.field]}),e.push(s)}),e}getCells(e,t){var i=[],n=this.getRows(),s=this.getColumns();return e?i=n.map(e=>{var i=[];return e.getCells().forEach(e=>{s.includes(e.column)&&i.push(t?e.getComponent():e)}),i}):n.forEach(e=>{e.getCells().forEach(e=>{s.includes(e.column)&&i.push(t?e.getComponent():e)})}),i}getStructuredCells(){return this.getCells(!0,!0)}getRows(){return this._getTableRows().slice(this.top,this.bottom+1)}getColumns(){return this._getTableColumns().slice(this.left,this.right+1)}clearValues(){var e=this.getCells(),t=this.table.options.selectableRangeClearCellsValue;this.table.blockRedraw(),e.forEach(e=>{e.setValue(t)}),this.table.restoreRedraw()}getBounds(e){var t=this.getCells(!1,e),i={start:null,end:null};return t.length?(i.start=t[0],i.end=t[t.length-1]):console.warn("No bounds defined on range"),i}getComponent(){return this.component||(this.component=new hL(this)),this.component}destroy(e){this.destroyed=!0,this.element.remove(),e&&this.rangeManager.rangeRemoved(this),this.initialized&&this.dispatchExternal("rangeRemoved",this.getComponent())}destroyedGuard(e){return this.destroyed&&console.warn("You cannot call the "+e+" function on a destroyed range"),!this.destroyed}}var hR={keybindings:{bindings:{rangeJumpUp:["ctrl + 38","meta + 38"],rangeJumpDown:["ctrl + 40","meta + 40"],rangeJumpLeft:["ctrl + 37","meta + 37"],rangeJumpRight:["ctrl + 39","meta + 39"],rangeExpandUp:"shift + 38",rangeExpandDown:"shift + 40",rangeExpandLeft:"shift + 37",rangeExpandRight:"shift + 39",rangeExpandJumpUp:["ctrl + shift + 38","meta + shift + 38"],rangeExpandJumpDown:["ctrl + shift + 40","meta + shift + 40"],rangeExpandJumpLeft:["ctrl + shift + 37","meta + shift + 37"],rangeExpandJumpRight:["ctrl + shift + 39","meta + shift + 39"]},actions:{rangeJumpLeft:function(e){this.dispatch("keybinding-nav-range",e,"left",!0,!1)},rangeJumpRight:function(e){this.dispatch("keybinding-nav-range",e,"right",!0,!1)},rangeJumpUp:function(e){this.dispatch("keybinding-nav-range",e,"up",!0,!1)},rangeJumpDown:function(e){this.dispatch("keybinding-nav-range",e,"down",!0,!1)},rangeExpandLeft:function(e){this.dispatch("keybinding-nav-range",e,"left",!1,!0)},rangeExpandRight:function(e){this.dispatch("keybinding-nav-range",e,"right",!1,!0)},rangeExpandUp:function(e){this.dispatch("keybinding-nav-range",e,"up",!1,!0)},rangeExpandDown:function(e){this.dispatch("keybinding-nav-range",e,"down",!1,!0)},rangeExpandJumpLeft:function(e){this.dispatch("keybinding-nav-range",e,"left",!0,!0)},rangeExpandJumpRight:function(e){this.dispatch("keybinding-nav-range",e,"right",!0,!0)},rangeExpandJumpUp:function(e){this.dispatch("keybinding-nav-range",e,"up",!0,!0)},rangeExpandJumpDown:function(e){this.dispatch("keybinding-nav-range",e,"down",!0,!0)}}},clipboard:{pasteActions:{range:function(e){var t,i,n,s,o,r=[],a=this.table.modules.selectRange.activeRange,l=!1;return o=e.length,a&&(i=(t=a.getBounds()).start,t.start===t.end&&(l=!0),i&&(n=(r=this.table.rowManager.activeRows.slice()).indexOf(i.row),s=l?e.length:r.indexOf(t.end.row)-n+1,n>-1&&(this.table.blockRedraw(),(r=r.slice(n,n+s)).forEach((t,i)=>{t.updateData(e[i%o])}),this.table.restoreRedraw()))),r}},pasteParsers:{range:function(e){var t,i,n,s,o,r=[],a=[],l=this.table.modules.selectRange.activeRange,h=!1;return!!(l&&(i=(t=l.getBounds()).start,t.start===t.end&&(h=!0),i&&((e=e.split("\n")).forEach(function(e){r.push(e.split(" "))}),r.length&&(o=(s=this.table.columnManager.getVisibleColumnsByIndex()).indexOf(i.column))>-1)))&&(n=h?r[0].length:s.indexOf(t.end.column)-o+1,s=s.slice(o,o+n),r.forEach(e=>{var t={},i=e.length;s.forEach(function(n,s){t[n.field]=e[s%i]}),a.push(t)}),a)}}},export:{columnLookups:{range:function(){var e=this.modules.selectRange.selectedColumns();return this.columnManager.rowHeader&&e.unshift(this.columnManager.rowHeader),e}},rowLookups:{range:function(){return this.modules.selectRange.selectedRows()}}}};class hP extends lg{static moduleName="selectRange";static moduleInitOrder=1;static moduleExtensions=hR;constructor(e){super(e),this.selecting="cell",this.mousedown=!1,this.ranges=[],this.overlay=null,this.rowHeader=null,this.layoutChangeTimeout=null,this.columnSelection=!1,this.rowSelection=!1,this.maxRanges=0,this.activeRange=!1,this.blockKeydown=!1,this.keyDownEvent=this._handleKeyDown.bind(this),this.mouseUpEvent=this._handleMouseUp.bind(this),this.registerTableOption("selectableRange",!1),this.registerTableOption("selectableRangeColumns",!1),this.registerTableOption("selectableRangeRows",!1),this.registerTableOption("selectableRangeClearCells",!1),this.registerTableOption("selectableRangeClearCellsValue",void 0),this.registerTableOption("selectableRangeAutoFocus",!0),this.registerTableFunction("getRangesData",this.getRangesData.bind(this)),this.registerTableFunction("getRanges",this.getRanges.bind(this)),this.registerTableFunction("addRange",this.addRangeFromComponent.bind(this)),this.registerComponentFunction("cell","getRanges",this.cellGetRanges.bind(this)),this.registerComponentFunction("row","getRanges",this.rowGetRanges.bind(this)),this.registerComponentFunction("column","getRanges",this.colGetRanges.bind(this))}initialize(){this.options("selectableRange")&&(this.options("selectableRows")?console.warn("SelectRange functionality cannot be used in conjunction with row selection"):(this.maxRanges=this.options("selectableRange"),this.initializeTable(),this.initializeWatchers()),this.options("columns").findIndex(e=>e.frozen)>0&&console.warn("Having frozen column in arbitrary position with selectRange option may result in unpredictable behavior."),this.options("columns").filter(e=>e.frozen)>1&&console.warn("Having multiple frozen columns with selectRange option may result in unpredictable behavior."))}initializeTable(){this.overlay=document.createElement("div"),this.overlay.classList.add("tabulator-range-overlay"),this.rangeContainer=document.createElement("div"),this.rangeContainer.classList.add("tabulator-range-container"),this.activeRangeCellElement=document.createElement("div"),this.activeRangeCellElement.classList.add("tabulator-range-cell-active"),this.overlay.appendChild(this.rangeContainer),this.overlay.appendChild(this.activeRangeCellElement),this.table.rowManager.element.addEventListener("keydown",this.keyDownEvent),this.resetRanges(),this.table.rowManager.element.appendChild(this.overlay),this.table.columnManager.element.setAttribute("tabindex",0),this.table.element.classList.add("tabulator-ranges")}initializeWatchers(){this.columnSelection=this.options("selectableRangeColumns"),this.rowSelection=this.options("selectableRangeRows"),this.subscribe("column-init",this.initializeColumn.bind(this)),this.subscribe("column-mousedown",this.handleColumnMouseDown.bind(this)),this.subscribe("column-mousemove",this.handleColumnMouseMove.bind(this)),this.subscribe("column-resized",this.handleColumnResized.bind(this)),this.subscribe("column-moving",this.handleColumnMoving.bind(this)),this.subscribe("column-moved",this.handleColumnMoved.bind(this)),this.subscribe("column-width",this.layoutChange.bind(this)),this.subscribe("column-height",this.layoutChange.bind(this)),this.subscribe("column-resized",this.layoutChange.bind(this)),this.subscribe("columns-loaded",this.updateHeaderColumn.bind(this)),this.subscribe("cell-height",this.layoutChange.bind(this)),this.subscribe("cell-rendered",this.renderCell.bind(this)),this.subscribe("cell-mousedown",this.handleCellMouseDown.bind(this)),this.subscribe("cell-mousemove",this.handleCellMouseMove.bind(this)),this.subscribe("cell-click",this.handleCellClick.bind(this)),this.subscribe("cell-editing",this.handleEditingCell.bind(this)),this.subscribe("page-changed",this.redraw.bind(this)),this.subscribe("scroll-vertical",this.layoutChange.bind(this)),this.subscribe("scroll-horizontal",this.layoutChange.bind(this)),this.subscribe("data-destroy",this.tableDestroyed.bind(this)),this.subscribe("data-processed",this.resetRanges.bind(this)),this.subscribe("table-layout",this.layoutElement.bind(this)),this.subscribe("table-redraw",this.redraw.bind(this)),this.subscribe("table-destroy",this.tableDestroyed.bind(this)),this.subscribe("edit-editor-clear",this.finishEditingCell.bind(this)),this.subscribe("edit-blur",this.restoreFocus.bind(this)),this.subscribe("keybinding-nav-prev",this.keyNavigate.bind(this,"left")),this.subscribe("keybinding-nav-next",this.keyNavigate.bind(this,"right")),this.subscribe("keybinding-nav-left",this.keyNavigate.bind(this,"left")),this.subscribe("keybinding-nav-right",this.keyNavigate.bind(this,"right")),this.subscribe("keybinding-nav-up",this.keyNavigate.bind(this,"up")),this.subscribe("keybinding-nav-down",this.keyNavigate.bind(this,"down")),this.subscribe("keybinding-nav-range",this.keyNavigateRange.bind(this))}initializeColumn(e){this.columnSelection&&e.definition.headerSort&&"icon"!==this.options("headerSortClickElement")&&console.warn("Using column headerSort with selectableRangeColumns option may result in unpredictable behavior. Consider using headerSortClickElement: 'icon'."),e.modules.edit}updateHeaderColumn(){var e;this.rowSelection&&(this.rowHeader=this.table.columnManager.getVisibleColumnsByIndex()[0],this.rowHeader&&(this.rowHeader.definition.cssClass=this.rowHeader.definition.cssClass+" tabulator-range-row-header",this.rowHeader.definition.headerSort&&console.warn("Using column headerSort with selectableRangeRows option may result in unpredictable behavior"),this.rowHeader.definition.editor&&console.warn("Using column editor with selectableRangeRows option may result in unpredictable behavior"))),this.table.modules.frozenColumns&&this.table.modules.frozenColumns.active&&((e=this.table.modules.frozenColumns.getFrozenColumns()).length>1||1===e.length&&e[0]!==this.rowHeader)&&console.warn("Using frozen columns that are not the range header in combination with the selectRange option may result in unpredictable behavior")}getRanges(){return this.ranges.map(e=>e.getComponent())}getRangesData(){return this.ranges.map(e=>e.getData())}addRangeFromComponent(e,t){return e=e?e._cell:null,t=t?t._cell:null,this.addRange(e,t)}cellGetRanges(e){return(e.column===this.rowHeader?this.ranges.filter(t=>t.occupiesRow(e.row)):this.ranges.filter(t=>t.occupies(e))).map(e=>e.getComponent())}rowGetRanges(e){return this.ranges.filter(t=>t.occupiesRow(e)).map(e=>e.getComponent())}colGetRanges(e){return this.ranges.filter(t=>t.occupiesColumn(e)).map(e=>e.getComponent())}_handleMouseUp(e){this.mousedown=!1,document.removeEventListener("mouseup",this.mouseUpEvent)}_handleKeyDown(e){if(!this.blockKeydown&&(!this.table.modules.edit||this.table.modules.edit&&!this.table.modules.edit.currentCell)){if("Enter"===e.key){if(this.table.modules.edit&&this.table.modules.edit.currentCell)return;this.table.modules.edit.editCell(this.getActiveCell()),e.preventDefault()}("Backspace"===e.key||"Delete"===e.key)&&this.options("selectableRangeClearCells")&&this.activeRange&&this.activeRange.clearValues()}}initializeFocus(e){var t;this.restoreFocus();try{document.selection?((t=document.body.createTextRange()).moveToElementText(e.getElement()),t.select()):window.getSelection&&((t=document.createRange()).selectNode(e.getElement()),window.getSelection().removeAllRanges(),window.getSelection().addRange(t))}catch(e){}}restoreFocus(e){return this.table.rowManager.element.focus(),!0}handleColumnResized(e){("column"===this.selecting||"all"===this.selecting)&&this.ranges.some(t=>t.occupiesColumn(e))&&this.ranges.forEach(t=>{t.getColumns(!0).forEach(t=>{t!==e&&t.setWidth(e.width)})})}handleColumnMoving(e,t){this.resetRanges().setBounds(t),this.overlay.style.visibility="hidden"}handleColumnMoved(e,t,i){this.activeRange.setBounds(e),this.layoutElement()}handleColumnMouseDown(e,t){!(2===e.button&&("column"===this.selecting||"all"===this.selecting)&&this.activeRange.occupiesColumn(t))&&(this.table.options.movableColumns&&"column"===this.selecting&&this.activeRange.occupiesColumn(t)||(this.mousedown=!0,document.addEventListener("mouseup",this.mouseUpEvent),this.newSelection(e,t)))}handleColumnMouseMove(e,t){t!==this.rowHeader&&this.mousedown&&"all"!==this.selecting&&this.activeRange.setBounds(!1,t,!0)}renderCell(e){var t=e.getElement(),i=this.ranges.findIndex(t=>t.occupies(e));t.classList.toggle("tabulator-range-selected",-1!==i),t.classList.toggle("tabulator-range-only-cell-selected",1===this.ranges.length&&this.ranges[0].atTopLeft(e)&&this.ranges[0].atBottomRight(e)),t.dataset.range=i}handleCellMouseDown(e,t){2===e.button&&(this.activeRange.occupies(t)||("row"===this.selecting||"all"===this.selecting)&&this.activeRange.occupiesRow(t.row))||(this.mousedown=!0,document.addEventListener("mouseup",this.mouseUpEvent),this.newSelection(e,t))}handleCellMouseMove(e,t){this.mousedown&&"all"!==this.selecting&&this.activeRange.setBounds(!1,t,!0)}handleCellClick(e,t){this.initializeFocus(t)}handleEditingCell(e){this.activeRange&&this.activeRange.setBounds(e)}finishEditingCell(){this.blockKeydown=!0,this.table.rowManager.element.focus(),setTimeout(()=>{this.blockKeydown=!1},10)}keyNavigate(e,t){this.navigate(!1,!1,e),t.preventDefault()}keyNavigateRange(e,t,i,n){this.navigate(i,n,t),e.preventDefault()}navigate(e,t,i){var n,s,o,r,a,l,h,c,u,d,m;if(this.table.modules.edit&&this.table.modules.edit.currentCell)return!1;if(this.ranges.length>1&&(this.ranges=this.ranges.filter(e=>e===this.activeRange?(e.setEnd(e.start.row,e.start.col),!0):(e.destroy(),!1))),o={top:(n=this.activeRange).top,bottom:n.bottom,left:n.left,right:n.right},r=(s=t?n.end:n.start).row,a=s.col,e)switch(i){case"left":a=this.findJumpCellLeft(n.start.row,s.col);break;case"right":a=this.findJumpCellRight(n.start.row,s.col);break;case"up":r=this.findJumpCellUp(s.row,n.start.col);break;case"down":r=this.findJumpCellDown(s.row,n.start.col)}else{if(t&&("row"===this.selecting&&("left"===i||"right"===i)||"column"===this.selecting&&("up"===i||"down"===i)))return;switch(i){case"left":a=Math.max(a-1,0);break;case"right":a=Math.min(a+1,this.getTableColumns().length-1);break;case"up":r=Math.max(r-1,0);break;case"down":r=Math.min(r+1,this.getTableRows().length-1)}}if(this.rowHeader&&0===a&&(a=1),t||n.setStart(r,a),n.setEnd(r,a),t||(this.selecting="cell"),o.top!==n.top||o.bottom!==n.bottom||o.left!==n.left||o.right!==n.right)return l=this.getRowByRangePos(n.end.row),h=this.getColumnByRangePos(n.end.col),c=l.getElement().getBoundingClientRect(),d=h.getElement().getBoundingClientRect(),u=this.table.rowManager.getElement().getBoundingClientRect(),m=this.table.columnManager.getElement().getBoundingClientRect(),c.top>=u.top&&c.bottom<=u.bottom||(l.getElement().parentNode&&h.getElement().parentNode?this.autoScroll(n,l.getElement(),h.getElement()):l.getComponent().scrollTo(void 0,!1)),d.left>=m.left+this.getRowHeaderWidth()&&d.right<=m.right||(l.getElement().parentNode&&h.getElement().parentNode?this.autoScroll(n,l.getElement(),h.getElement()):h.getComponent().scrollTo(void 0,!1)),this.layoutElement(),!0}rangeRemoved(e){this.ranges=this.ranges.filter(t=>t!==e),this.activeRange===e&&(this.ranges.length?this.activeRange=this.ranges[this.ranges.length-1]:this.addRange()),this.layoutElement()}findJumpRow(e,t,i,n,s){return i&&(t=t.reverse()),this.findJumpItem(n,s,t,function(t){return t.getData()[e.getField()]})}findJumpCol(e,t,i,n,s){return i&&(t=t.reverse()),this.findJumpItem(n,s,t,function(t){return e.getData()[t.getField()]})}findJumpItem(e,t,i,n){var s;for(let o of i){let i=n(o);if(e){if(s=o,i)break}else if(t){if(s=o,i)break}else if(i)s=o;else break}return s}findJumpCellLeft(e,t){var i=this.getRowByRangePos(e),n=this.getTableColumns(),s=this.isEmpty(i.getData()[n[t].getField()]),o=!!n[t-1]&&this.isEmpty(i.getData()[n[t-1].getField()]),r=this.rowHeader?n.slice(1,t):n.slice(0,t),a=this.findJumpCol(i,r,!0,s,o);return a?a.getPosition()-1:t}findJumpCellRight(e,t){var i=this.getRowByRangePos(e),n=this.getTableColumns(),s=this.isEmpty(i.getData()[n[t].getField()]),o=!!n[t+1]&&this.isEmpty(i.getData()[n[t+1].getField()]),r=this.findJumpCol(i,n.slice(t+1,n.length),!1,s,o);return r?r.getPosition()-1:t}findJumpCellUp(e,t){var i=this.getColumnByRangePos(t),n=this.getTableRows(),s=this.isEmpty(n[e].getData()[i.getField()]),o=!!n[e-1]&&this.isEmpty(n[e-1].getData()[i.getField()]),r=this.findJumpRow(i,n.slice(0,e),!0,s,o);return r?r.position-1:e}findJumpCellDown(e,t){var i=this.getColumnByRangePos(t),n=this.getTableRows(),s=this.isEmpty(n[e].getData()[i.getField()]),o=!!n[e+1]&&this.isEmpty(n[e+1].getData()[i.getField()]),r=this.findJumpRow(i,n.slice(e+1,n.length),!1,s,o);return r?r.position-1:e}newSelection(e,t){var i;if("column"===t.type){if(!this.columnSelection)return;if(t===this.rowHeader){i=this.resetRanges(),this.selecting="all";var n,s=this.getCell(-1,-1);n=this.rowHeader?this.getCell(0,1):this.getCell(0,0),i.setBounds(n,s);return}this.selecting="column"}else t.column===this.rowHeader?this.selecting="row":this.selecting="cell";e.shiftKey?this.activeRange.setBounds(!1,t):e.ctrlKey?this.addRange().setBounds(t):this.resetRanges().setBounds(t)}autoScroll(e,t,i){var n,s,o,r,a=this.table.rowManager.element;void 0===t&&(t=this.getRowByRangePos(e.end.row).getElement()),void 0===i&&(i=this.getColumnByRangePos(e.end.col).getElement()),n={left:i.offsetLeft,right:i.offsetLeft+i.offsetWidth,top:t.offsetTop,bottom:t.offsetTop+t.offsetHeight},o=(s={left:a.scrollLeft+this.getRowHeaderWidth(),right:Math.ceil(a.scrollLeft+a.clientWidth),top:a.scrollTop,bottom:a.scrollTop+a.offsetHeight-this.table.rowManager.scrollbarWidth}).lefts.right&&(a.scrollLeft=Math.min(n.right-a.clientWidth,n.left-this.getRowHeaderWidth()))),!r&&(n.tops.bottom&&(a.scrollTop=n.bottom-a.clientHeight))}layoutChange(){this.overlay.style.visibility="hidden",clearTimeout(this.layoutChangeTimeout),this.layoutChangeTimeout=setTimeout(this.layoutRanges.bind(this),200)}redraw(e){e&&(this.selecting="cell",this.resetRanges(),this.layoutElement())}layoutElement(e){(e?this.table.rowManager.getVisibleRows(!0):this.table.rowManager.getRows()).forEach(e=>{"row"===e.type&&(this.layoutRow(e),e.cells.forEach(e=>this.renderCell(e)))}),this.getTableColumns().forEach(e=>{this.layoutColumn(e)}),this.layoutRanges()}layoutRow(e){var t=e.getElement(),i=!1,n=this.ranges.some(t=>t.occupiesRow(e));"row"===this.selecting?i=n:"all"===this.selecting&&(i=!0),t.classList.toggle("tabulator-range-selected",i),t.classList.toggle("tabulator-range-highlight",n)}layoutColumn(e){var t=e.getElement(),i=!1,n=this.ranges.some(t=>t.occupiesColumn(e));"column"===this.selecting?i=n:"all"===this.selecting&&(i=!0),t.classList.toggle("tabulator-range-selected",i),t.classList.toggle("tabulator-range-highlight",n)}layoutRanges(){var e,t,i;this.table.initialized&&(e=this.getActiveCell())&&(t=e.getElement(),i=e.row.getElement(),this.table.rtl?this.activeRangeCellElement.style.right=i.offsetWidth-t.offsetLeft-t.offsetWidth+"px":this.activeRangeCellElement.style.left=i.offsetLeft+t.offsetLeft+"px",this.activeRangeCellElement.style.top=i.offsetTop+"px",this.activeRangeCellElement.style.width=t.offsetWidth+"px",this.activeRangeCellElement.style.height=i.offsetHeight+"px",this.ranges.forEach(e=>e.layout()),this.overlay.style.visibility="visible")}getCell(e,t){var i;return t<0&&(t=this.getTableColumns().length+t)<0?null:(e<0&&(e=this.getTableRows().length+e),(i=this.table.rowManager.getRowFromPosition(e+1))?i.getCells(!1,!0).filter(e=>e.column.visible)[t]:null)}getActiveCell(){return this.getCell(this.activeRange.start.row,this.activeRange.start.col)}getRowByRangePos(e){return this.getTableRows()[e]}getColumnByRangePos(e){return this.getTableColumns()[e]}getTableRows(){return this.table.rowManager.getDisplayRows().filter(e=>"row"===e.type)}getTableColumns(){return this.table.columnManager.getVisibleColumnsByIndex()}addRange(e,t){var i;return!0!==this.maxRanges&&this.ranges.length>=this.maxRanges&&this.ranges.shift().destroy(),i=new hM(this.table,this,e,t),this.activeRange=i,this.ranges.push(i),this.rangeContainer.appendChild(i.element),i}resetRanges(){var e,t;return this.ranges.forEach(e=>e.destroy()),this.ranges=[],e=this.addRange(),this.table.rowManager.activeRows.length&&(t=this.table.rowManager.activeRows[0].cells.filter(e=>e.column.visible)[this.rowHeader?1:0])&&(e.setBounds(t),this.options("selectableRangeAutoFocus")&&this.initializeFocus(t)),e}tableDestroyed(){document.removeEventListener("mouseup",this.mouseUpEvent),this.table.rowManager.element.removeEventListener("keydown",this.keyDownEvent)}selectedRows(e){return e?this.activeRange.getRows().map(e=>e.getComponent()):this.activeRange.getRows()}selectedColumns(e){return e?this.activeRange.getColumns().map(e=>e.getComponent()):this.activeRange.getColumns()}getRowHeaderWidth(){return this.rowHeader?this.rowHeader.getElement().offsetWidth:0}isEmpty(e){return null==e||""===e}}function hO(e,t,i,n,s,o,r){var a=this.table.dependencyRegistry.lookup(["luxon","DateTime"],"DateTime"),l=r.format||"dd/MM/yyyy HH:mm:ss",h=r.alignEmptyValues,c=0;if(void 0!==a){if(a.isDateTime(e)||(e="iso"===l?a.fromISO(String(e)):a.fromFormat(String(e),l)),a.isDateTime(t)||(t="iso"===l?a.fromISO(String(t)):a.fromFormat(String(t),l)),e.isValid){if(t.isValid)return e-t;c=1}else c=t.isValid?-1:0;return("top"===h&&"desc"===o||"bottom"===h&&"asc"===o)&&(c*=-1),c}console.error("Sort Error - 'datetime' sorter is dependant on luxon.js")}var hD={number:function(e,t,i,n,s,o,r){var a=r.alignEmptyValues,l=r.decimalSeparator,h=r.thousandSeparator,c=0;if(e=String(e),t=String(t),h&&(e=e.split(h).join(""),t=t.split(h).join("")),l&&(e=e.split(l).join("."),t=t.split(l).join(".")),e=parseFloat(e),t=parseFloat(t),isNaN(e))c=isNaN(t)?0:-1;else{if(!isNaN(t))return e-t;c=1}return("top"===a&&"desc"===o||"bottom"===a&&"asc"===o)&&(c*=-1),c},string:function(e,t,i,n,s,o,r){var a,l=r.alignEmptyValues,h=0;if(e){if(t){switch(typeof r.locale){case"boolean":r.locale&&(a=this.langLocale());break;case"string":a=r.locale}return String(e).toLowerCase().localeCompare(String(t).toLowerCase(),a)}h=1}else h=t?-1:0;return("top"===l&&"desc"===o||"bottom"===l&&"asc"===o)&&(h*=-1),h},date:function(e,t,i,n,s,o,r){return r.format||(r.format="dd/MM/yyyy"),hO.call(this,e,t,i,n,s,o,r)},time:function(e,t,i,n,s,o,r){return r.format||(r.format="HH:mm"),hO.call(this,e,t,i,n,s,o,r)},datetime:hO,boolean:function(e,t,i,n,s,o,r){return(!0===e||"true"===e||"True"===e||1===e?1:0)-(!0===t||"true"===t||"True"===t||1===t?1:0)},array:function(e,t,i,n,s,o,r){var a,l=r.type||"length",h=r.alignEmptyValues,c=0,u=this.table;function d(e){var t;switch(a&&(e=a(e)),l){case"length":t=e.length;break;case"sum":t=e.reduce(function(e,t){return e+t});break;case"max":t=Math.max.apply(null,e);break;case"min":t=Math.min.apply(null,e);break;case"avg":t=e.reduce(function(e,t){return e+t})/e.length;break;case"string":t=e.join("")}return t}if(r.valueMap&&(a="string"==typeof r.valueMap?function(e){return e.map(e=>lp.retrieveNestedData(u.options.nestedFieldSeparator,r.valueMap,e))}:r.valueMap),Array.isArray(e)){if(Array.isArray(t))return"string"===l?String(d(e)).toLowerCase().localeCompare(String(d(t)).toLowerCase()):d(t)-d(e);c=1}else c=Array.isArray(t)?-1:0;return("top"===h&&"desc"===o||"bottom"===h&&"asc"===o)&&(c*=-1),c},exists:function(e,t,i,n,s,o,r){return(void 0===e?0:1)-(void 0===t?0:1)},alphanum:function(e,t,i,n,s,o,r){var a,l,h,c,u,d=0,m=/(\d+)|(\D+)/g,p=/\d/,f=r.alignEmptyValues,g=0;if(e||0===e){if(t||0===t){if(isFinite(e)&&isFinite(t))return e-t;if((a=String(e).toLowerCase())===(l=String(t).toLowerCase()))return 0;if(!(p.test(a)&&p.test(l)))return a>l?1:-1;for(a=a.match(m),l=l.match(m),u=a.length>l.length?l.length:a.length;dc?1:-1}return a.length>l.length}g=1}else g=t||0===t?-1:0;return("top"===f&&"desc"===o||"bottom"===f&&"asc"===o)&&(g*=-1),g}};class hz extends lg{static moduleName="sort";static sorters=hD;constructor(e){super(e),this.sortList=[],this.changed=!1,this.registerTableOption("sortMode","local"),this.registerTableOption("initialSort",!1),this.registerTableOption("columnHeaderSortMulti",!0),this.registerTableOption("sortOrderReverse",!1),this.registerTableOption("headerSortElement",""),this.registerTableOption("headerSortClickElement","header"),this.registerColumnOption("sorter"),this.registerColumnOption("sorterParams"),this.registerColumnOption("headerSort",!0),this.registerColumnOption("headerSortStartingDir"),this.registerColumnOption("headerSortTristate")}initialize(){this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("table-built",this.tableBuilt.bind(this)),this.registerDataHandler(this.sort.bind(this),20),this.registerTableFunction("setSort",this.userSetSort.bind(this)),this.registerTableFunction("getSorters",this.getSort.bind(this)),this.registerTableFunction("clearSort",this.clearSort.bind(this)),"remote"===this.table.options.sortMode&&this.subscribe("data-params",this.remoteSortParams.bind(this))}tableBuilt(){this.table.options.initialSort&&this.setSort(this.table.options.initialSort)}remoteSortParams(e,t,i,n){var s=this.getSort();return s.forEach(e=>{delete e.column}),n.sort=s,n}userSetSort(e,t){this.setSort(e,t),this.refreshSort()}clearSort(){this.clear(),this.refreshSort()}initializeColumn(e){var t,i,n=!1;switch(typeof e.definition.sorter){case"string":hz.sorters[e.definition.sorter]?n=hz.sorters[e.definition.sorter]:console.warn("Sort Error - No such sorter found: ",e.definition.sorter);break;case"function":n=e.definition.sorter}if(e.modules.sort={sorter:n,dir:"none",params:e.definition.sorterParams||{},startingDir:e.definition.headerSortStartingDir||"asc",tristate:e.definition.headerSortTristate},!1!==e.definition.headerSort){switch(((t=e.getElement()).classList.add("tabulator-sortable"),(i=document.createElement("div")).classList.add("tabulator-col-sorter"),"icon"===this.table.options.headerSortClickElement)?i.classList.add("tabulator-col-sorter-element"):t.classList.add("tabulator-col-sorter-element"),this.table.options.headerSortElement){case"function":break;case"object":i.appendChild(this.table.options.headerSortElement);break;default:i.innerHTML=this.table.options.headerSortElement}e.titleHolderElement.appendChild(i),e.modules.sort.element=i,this.setColumnHeaderSortIcon(e,"none"),"icon"===this.table.options.headerSortClickElement&&i.addEventListener("mousedown",e=>{e.stopPropagation()}),("icon"===this.table.options.headerSortClickElement?i:t).addEventListener("click",t=>{var i="",n=[],s=!1;if(e.modules.sort){if(e.modules.sort.tristate)i="none"==e.modules.sort.dir?e.modules.sort.startingDir:e.modules.sort.dir==e.modules.sort.startingDir?"asc"==e.modules.sort.dir?"desc":"asc":"none";else switch(e.modules.sort.dir){case"asc":i="desc";break;case"desc":i="asc";break;default:i=e.modules.sort.startingDir}this.table.options.columnHeaderSortMulti&&(t.shiftKey||t.ctrlKey)?((s=(n=this.getSort()).findIndex(t=>t.field===e.getField()))>-1?(n[s].dir=i,s=n.splice(s,1)[0],"none"!=i&&n.push(s)):"none"!=i&&n.push({column:e,dir:i}),this.setSort(n)):"none"==i?this.clear():this.setSort(e,i),this.refreshSort()}})}}refreshSort(){"remote"===this.table.options.sortMode?this.reloadData(null,!1,!1):this.refreshData(!0)}hasChanged(){var e=this.changed;return this.changed=!1,e}getSort(){var e=[];return this.sortList.forEach(function(t){t.column&&e.push({column:t.column.getComponent(),field:t.column.getField(),dir:t.dir})}),e}setSort(e,t){var i=this,n=[];Array.isArray(e)||(e=[{column:e,dir:t}]),e.forEach(function(e){var t;(t=i.table.columnManager.findColumn(e.column))?(e.column=t,n.push(e),i.changed=!0):console.warn("Sort Warning - Sort field does not exist and is being ignored: ",e.column)}),i.sortList=n,this.dispatch("sort-changed")}clear(){this.setSort([])}findSorter(e){var t,i=this.table.rowManager.activeRows[0],n="string";if(i&&(i=i.getData(),e.getField()))switch(typeof(t=e.getFieldValue(i))){case"undefined":n="string";break;case"boolean":n="boolean";break;default:isNaN(t)||""===t?t.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)&&(n="alphanum"):n="number"}return hz.sorters[n]}sort(e,t){var i=this,n=this.table.options.sortOrderReverse?i.sortList.slice().reverse():i.sortList,s=[],o=[];return this.subscribedExternal("dataSorting")&&this.dispatchExternal("dataSorting",i.getSort()),t||i.clearColumnHeaders(),"remote"!==this.table.options.sortMode?(n.forEach(function(e,n){var o;e.column&&((o=e.column.modules.sort)&&(o.sorter||(o.sorter=i.findSorter(e.column)),e.params="function"==typeof o.params?o.params(e.column.getComponent(),e.dir):o.params,s.push(e)),t||i.setColumnHeader(e.column,e.dir))}),s.length&&i._sortItems(e,s)):t||n.forEach(function(e,t){i.setColumnHeader(e.column,e.dir)}),this.subscribedExternal("dataSorted")&&(e.forEach(e=>{o.push(e.getComponent())}),this.dispatchExternal("dataSorted",i.getSort(),o)),e}clearColumnHeaders(){this.table.columnManager.getRealColumns().forEach(e=>{e.modules.sort&&(e.modules.sort.dir="none",e.getElement().setAttribute("aria-sort","none"),this.setColumnHeaderSortIcon(e,"none"))})}setColumnHeader(e,t){e.modules.sort.dir=t,e.getElement().setAttribute("aria-sort","asc"===t?"ascending":"descending"),this.setColumnHeaderSortIcon(e,t)}setColumnHeaderSortIcon(e,t){var i,n=e.modules.sort.element;if(e.definition.headerSort&&"function"==typeof this.table.options.headerSortElement){for(;n.firstChild;)n.removeChild(n.firstChild);"object"==typeof(i=this.table.options.headerSortElement.call(this.table,e.getComponent(),t))?n.appendChild(i):n.innerHTML=i}}_sortItems(e,t){var i=t.length-1;e.sort((e,n)=>{for(var s,o=i;o>=0;o--){let i=t[o];if(0!==(s=this._sortRow(e,n,i.column,i.dir,i.params)))break}return s})}_sortRow(e,t,i,n,s){var o,r,a="asc"==n?e:t,l="asc"==n?t:e;return e=i.getFieldValue(a.getData()),t=i.getFieldValue(l.getData()),e=void 0!==e?e:"",t=void 0!==t?t:"",o=a.getComponent(),r=l.getComponent(),i.modules.sort.sorter.call(this,e,t,o,r,i.getComponent(),n,s)}}class hA{constructor(e,t){this.columnCount=e,this.rowCount=t,this.columnString=[],this.columns=[],this.rows=[]}genColumns(e){var t=Math.max(this.columnCount,Math.max(...e.map(e=>e.length)));this.columnString=[],this.columns=[];for(let e=1;e<=t;e++)this.incrementChar(this.columnString.length-1),this.columns.push(this.columnString.join(""));return this.columns}genRows(e){var t=Math.max(this.rowCount,e.length);this.rows=[];for(let e=1;e<=t;e++)this.rows.push(e);return this.rows}incrementChar(e){let t=this.columnString[e];t?"Z"!==t?this.columnString[e]=String.fromCharCode(this.columnString[e].charCodeAt(0)+1):(this.columnString[e]="A",e?this.incrementChar(e-1):this.columnString.push("A")):this.columnString.push("A")}setRowCount(e){this.rowCount=e}setColumnCount(e){this.columnCount=e}}class hI{constructor(e){return this._sheet=e,new Proxy(this,{get:function(e,t,i){return void 0!==e[t]?e[t]:e._sheet.table.componentFunctionBinder.handle("sheet",e._sheet,t)}})}getTitle(){return this._sheet.title}getKey(){return this._sheet.key}getDefinition(){return this._sheet.getDefinition()}getData(){return this._sheet.getData()}setData(e){return this._sheet.setData(e)}clear(){return this._sheet.clear()}remove(){return this._sheet.remove()}active(){return this._sheet.active()}setTitle(e){return this._sheet.setTitle(e)}setRows(e){return this._sheet.setRows(e)}setColumns(e){return this._sheet.setColumns(e)}}class hF extends lm{constructor(e,t){super(e.table),this.spreadsheetManager=e,this.definition=t,this.title=this.definition.title||"",this.key=this.definition.key||this.definition.title,this.rowCount=this.definition.rows,this.columnCount=this.definition.columns,this.data=this.definition.data||[],this.element=null,this.isActive=!1,this.grid=new hA(this.columnCount,this.rowCount),this.defaultColumnDefinition={width:100,headerHozAlign:"center",headerSort:!1},this.columnDefinition=Object.assign(this.defaultColumnDefinition,this.options("spreadsheetColumnDefinition")),this.columnDefs=[],this.rowDefs=[],this.columnFields=[],this.columns=[],this.rows=[],this.scrollTop=null,this.scrollLeft=null,this.initialize(),this.dispatchExternal("sheetAdded",this.getComponent())}initialize(){this.initializeElement(),this.initializeColumns(),this.initializeRows()}reinitialize(){this.initializeColumns(),this.initializeRows()}initializeElement(){this.element=document.createElement("div"),this.element.classList.add("tabulator-spreadsheet-tab"),this.element.innerText=this.title,this.element.addEventListener("click",()=>{this.spreadsheetManager.loadSheet(this)})}initializeColumns(){this.grid.setColumnCount(this.columnCount),this.columnFields=this.grid.genColumns(this.data),this.columnDefs=[],this.columnFields.forEach(e=>{var t=Object.assign({},this.columnDefinition);t.field=e,t.title=e,this.columnDefs.push(t)})}initializeRows(){var e;this.grid.setRowCount(this.rowCount),e=this.grid.genRows(this.data),this.rowDefs=[],e.forEach((e,t)=>{var i={_id:e},n=this.data[t];n&&n.forEach((e,t)=>{var n=this.columnFields[t];n&&(i[n]=e)}),this.rowDefs.push(i)})}unload(){this.isActive=!1,this.scrollTop=this.table.rowManager.scrollTop,this.scrollLeft=this.table.rowManager.scrollLeft,this.data=this.getData(!0),this.element.classList.remove("tabulator-spreadsheet-tab-active")}load(){var e=!this.isActive;this.isActive=!0,this.table.blockRedraw(),this.table.setData([]),this.table.setColumns(this.columnDefs),this.table.setData(this.rowDefs),this.table.restoreRedraw(),e&&null!==this.scrollTop&&(this.table.rowManager.element.scrollLeft=this.scrollLeft,this.table.rowManager.element.scrollTop=this.scrollTop),this.element.classList.add("tabulator-spreadsheet-tab-active"),this.dispatchExternal("sheetLoaded",this.getComponent())}getComponent(){return new hI(this)}getDefinition(){return{title:this.title,key:this.key,rows:this.rowCount,columns:this.columnCount,data:this.getData()}}getData(e){var t,i,n,s=[];return this.rowDefs.forEach(e=>{var t=[];this.columnFields.forEach(i=>{t.push(e[i])}),s.push(t)}),e||this.options("spreadsheetOutputFull")||(i=Math.max(...t=s.map(e=>e.findLastIndex(e=>void 0!==e)+1)),n=t.findLastIndex(e=>e>0)+1,s=(s=s.slice(0,n)).map(e=>e.slice(0,i))),s}setData(e){this.data=e,this.reinitialize(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}clear(){this.setData([])}setTitle(e){this.title=e,this.element.innerText=e,this.dispatchExternal("sheetUpdated",this.getComponent())}setRows(e){this.rowCount=e,this.initializeRows(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}setColumns(e){this.columnCount=e,this.reinitialize(),this.dispatchExternal("sheetUpdated",this.getComponent()),this.isActive&&this.load()}remove(){this.spreadsheetManager.removeSheet(this)}destroy(){this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.dispatchExternal("sheetRemoved",this.getComponent())}active(){this.spreadsheetManager.loadSheet(this)}}class hN extends lg{static moduleName="spreadsheet";constructor(e){super(e),this.sheets=[],this.element=null,this.registerTableOption("spreadsheet",!1),this.registerTableOption("spreadsheetRows",50),this.registerTableOption("spreadsheetColumns",50),this.registerTableOption("spreadsheetColumnDefinition",{}),this.registerTableOption("spreadsheetOutputFull",!1),this.registerTableOption("spreadsheetData",!1),this.registerTableOption("spreadsheetSheets",!1),this.registerTableOption("spreadsheetSheetTabs",!1),this.registerTableOption("spreadsheetSheetTabsElement",!1),this.registerTableFunction("setSheets",this.setSheets.bind(this)),this.registerTableFunction("addSheet",this.addSheet.bind(this)),this.registerTableFunction("getSheets",this.getSheets.bind(this)),this.registerTableFunction("getSheetDefinitions",this.getSheetDefinitions.bind(this)),this.registerTableFunction("setSheetData",this.setSheetData.bind(this)),this.registerTableFunction("getSheet",this.getSheet.bind(this)),this.registerTableFunction("getSheetData",this.getSheetData.bind(this)),this.registerTableFunction("clearSheet",this.clearSheet.bind(this)),this.registerTableFunction("removeSheet",this.removeSheetFunc.bind(this)),this.registerTableFunction("activeSheet",this.activeSheetFunc.bind(this))}initialize(){this.options("spreadsheet")&&(this.subscribe("table-initialized",this.tableInitialized.bind(this)),this.subscribe("data-loaded",this.loadRemoteData.bind(this)),this.table.options.index="_id",this.options("spreadsheetData")&&this.options("spreadsheetSheets")&&(console.warn("You cannot use spreadsheetData and spreadsheetSheets at the same time, ignoring spreadsheetData"),this.table.options.spreadsheetData=!1),this.compatibilityCheck(),this.options("spreadsheetSheetTabs")&&this.initializeTabset())}compatibilityCheck(){this.options("data")&&console.warn("Do not use the data option when working with spreadsheets, use either spreadsheetData or spreadsheetSheets to pass data into the table"),this.options("pagination")&&console.warn("The spreadsheet module is not compatible with the pagination module"),this.options("groupBy")&&console.warn("The spreadsheet module is not compatible with the row grouping module"),this.options("responsiveCollapse")&&console.warn("The spreadsheet module is not compatible with the responsive collapse module")}initializeTabset(){this.element=document.createElement("div"),this.element.classList.add("tabulator-spreadsheet-tabs");var e=this.options("spreadsheetSheetTabsElement");!e||e instanceof HTMLElement||(e=document.querySelector(e))||console.warn("Unable to find element matching spreadsheetSheetTabsElement selector:",this.options("spreadsheetSheetTabsElement")),e?e.appendChild(this.element):this.footerAppend(this.element)}tableInitialized(){this.sheets.length?this.loadSheet(this.sheets[0]):this.options("spreadsheetSheets")?this.loadSheets(this.options("spreadsheetSheets")):this.options("spreadsheetData")&&this.loadData(this.options("spreadsheetData"))}loadRemoteData(e,t,i){return console.log("data",e,t,i),Array.isArray(e)?(this.table.dataLoader.clearAlert(),this.dispatchExternal("dataLoaded",e),!e.length||Array.isArray(e[0])?this.loadData(e):this.loadSheets(e)):console.error("Spreadsheet Loading Error - Unable to process remote data due to invalid data type \nExpecting: array \nReceived: ",typeof e,"\nData: ",e),!1}loadData(e){this.loadSheet(this.newSheet({data:e}))}destroySheets(){this.sheets.forEach(e=>{e.destroy()}),this.sheets=[],this.activeSheet=null}loadSheets(e){Array.isArray(e)||(e=[]),this.destroySheets(),e.forEach(e=>{this.newSheet(e)}),this.loadSheet(this.sheets[0])}loadSheet(e){this.activeSheet!==e&&(this.activeSheet&&this.activeSheet.unload(),this.activeSheet=e,e.load())}newSheet(e={}){var t;return e.rows||(e.rows=this.options("spreadsheetRows")),e.columns||(e.columns=this.options("spreadsheetColumns")),t=new hF(this,e),this.sheets.push(t),this.element&&this.element.appendChild(t.element),t}removeSheet(e){var t,i=this.sheets.indexOf(e);this.sheets.length>1?i>-1&&(this.sheets.splice(i,1),e.destroy(),this.activeSheet===e&&((t=this.sheets[i-1]||this.sheets[0])?this.loadSheet(t):this.activeSheet=null)):console.warn("Unable to remove sheet, at least one sheet must be active")}lookupSheet(e){return e?e instanceof hF?e:e instanceof hI?e._sheet:this.sheets.find(t=>t.key===e)||!1:this.activeSheet}setSheets(e){return this.loadSheets(e),this.getSheets()}addSheet(e){return this.newSheet(e).getComponent()}getSheetDefinitions(){return this.sheets.map(e=>e.getDefinition())}getSheets(){return this.sheets.map(e=>e.getComponent())}getSheet(e){var t=this.lookupSheet(e);return!!t&&t.getComponent()}setSheetData(e,t){e&&!t&&(t=e,e=!1);var i=this.lookupSheet(e);return!!i&&i.setData(t)}getSheetData(e){var t=this.lookupSheet(e);return!!t&&t.getData()}clearSheet(e){var t=this.lookupSheet(e);return!!t&&t.clear()}removeSheetFunc(e){var t=this.lookupSheet(e);t&&this.removeSheet(t)}activeSheetFunc(e){var t=this.lookupSheet(e);return!!t&&this.loadSheet(t)}}class hH extends lg{static moduleName="tooltip";constructor(e){super(e),this.tooltipSubscriber=null,this.headerSubscriber=null,this.timeout=null,this.popupInstance=null,this.registerTableOption("tooltipDelay",300),this.registerColumnOption("tooltip"),this.registerColumnOption("headerTooltip")}initialize(){this.deprecatedOptionsCheck(),this.subscribe("column-init",this.initializeColumn.bind(this))}deprecatedOptionsCheck(){}initializeColumn(e){e.definition.headerTooltip&&!this.headerSubscriber&&(this.headerSubscriber=!0,this.subscribe("column-mousemove",this.mousemoveCheck.bind(this,"headerTooltip")),this.subscribe("column-mouseout",this.mouseoutCheck.bind(this,"headerTooltip"))),e.definition.tooltip&&!this.tooltipSubscriber&&(this.tooltipSubscriber=!0,this.subscribe("cell-mousemove",this.mousemoveCheck.bind(this,"tooltip")),this.subscribe("cell-mouseout",this.mouseoutCheck.bind(this,"tooltip")))}mousemoveCheck(e,t,i){var n="tooltip"===e?i.column.definition.tooltip:i.definition.headerTooltip;n&&(this.clearPopup(),this.timeout=setTimeout(this.loadTooltip.bind(this,t,i,n),this.table.options.tooltipDelay))}mouseoutCheck(e,t,i){this.popupInstance||this.clearPopup()}clearPopup(e,t,i){clearTimeout(this.timeout),this.timeout=null,this.popupInstance&&this.popupInstance.hide()}loadTooltip(e,t,i){var n,s,o;"function"==typeof i&&(i=i(e,t.getComponent(),function(e){s=e})),i instanceof HTMLElement?n=i:(n=document.createElement("div"),!0===i&&(t instanceof lR?i=t.value:t.definition.field?this.langBind("columns|"+t.definition.field,e=>{n.innerHTML=i=e||t.definition.title}):i=t.definition.title),n.innerHTML=i),(i||0===i||!1===i)&&(n.classList.add("tabulator-tooltip"),n.addEventListener("mousemove",e=>e.preventDefault()),this.popupInstance=this.popup(n),"function"==typeof s&&this.popupInstance.renderCallback(s),o=this.popupInstance.containerEventCoords(e),this.popupInstance.show(o.x+15,o.y+15).hideOnBlur(()=>{this.dispatchExternal("TooltipClosed",t.getComponent()),this.popupInstance=null}),this.dispatchExternal("TooltipOpened",t.getComponent()))}}var hB={integer:function(e,t,i){return""===t||null==t||!isNaN(t=Number(t))&&isFinite(t)&&Math.floor(t)===t},float:function(e,t,i){return""===t||null==t||!isNaN(t=Number(t))&&isFinite(t)&&t%1!=0},numeric:function(e,t,i){return""===t||null==t||!isNaN(t)},string:function(e,t,i){return""===t||null==t||isNaN(t)},alphanumeric:function(e,t,i){return""===t||null==t||new RegExp(/^[a-z0-9]+$/i).test(t)},max:function(e,t,i){return""===t||null==t||parseFloat(t)<=i},min:function(e,t,i){return""===t||null==t||parseFloat(t)>=i},starts:function(e,t,i){return""===t||null==t||String(t).toLowerCase().startsWith(String(i).toLowerCase())},ends:function(e,t,i){return""===t||null==t||String(t).toLowerCase().endsWith(String(i).toLowerCase())},minLength:function(e,t,i){return""===t||null==t||String(t).length>=i},maxLength:function(e,t,i){return""===t||null==t||String(t).length<=i},in:function(e,t,i){return""===t||null==t||("string"==typeof i&&(i=i.split("|")),i.indexOf(t)>-1)},regex:function(e,t,i){return""===t||null==t||new RegExp(i).test(t)},unique:function(e,t,i){if(""===t||null==t)return!0;var n=!0,s=e.getData(),o=e.getColumn()._getSelf();return this.table.rowManager.rows.forEach(function(e){var i=e.getData();i!==s&&t==o.getFieldValue(i)&&(n=!1)}),n},required:function(e,t,i){return""!==t&&null!=t}};class hj extends lg{static moduleName="validate";static validators=hB;constructor(e){super(e),this.invalidCells=[],this.registerTableOption("validationMode","blocking"),this.registerColumnOption("validator"),this.registerTableFunction("getInvalidCells",this.getInvalidCells.bind(this)),this.registerTableFunction("clearCellValidation",this.userClearCellValidation.bind(this)),this.registerTableFunction("validate",this.userValidate.bind(this)),this.registerComponentFunction("cell","isValid",this.cellIsValid.bind(this)),this.registerComponentFunction("cell","clearValidation",this.clearValidation.bind(this)),this.registerComponentFunction("cell","validate",this.cellValidate.bind(this)),this.registerComponentFunction("column","validate",this.columnValidate.bind(this)),this.registerComponentFunction("row","validate",this.rowValidate.bind(this))}initialize(){this.subscribe("cell-delete",this.clearValidation.bind(this)),this.subscribe("column-layout",this.initializeColumnCheck.bind(this)),this.subscribe("edit-success",this.editValidate.bind(this)),this.subscribe("edit-editor-clear",this.editorClear.bind(this)),this.subscribe("edit-edited-clear",this.editedClear.bind(this))}editValidate(e,t,i){var n="manual"===this.table.options.validationMode||this.validate(e.column.modules.validate,e,t);return!0!==n&&setTimeout(()=>{e.getElement().classList.add("tabulator-validation-fail"),this.dispatchExternal("validationFailed",e.getComponent(),t,n)}),n}editorClear(e,t){t&&e.column.modules.validate&&this.cellValidate(e),e.getElement().classList.remove("tabulator-validation-fail")}editedClear(e){e.modules.validate&&(e.modules.validate.invalid=!1)}cellIsValid(e){return!e.modules.validate||e.modules.validate.invalid||!0}cellValidate(e){return this.validate(e.column.modules.validate,e,e.getValue())}columnValidate(e){var t=[];return e.cells.forEach(e=>{!0!==this.cellValidate(e)&&t.push(e.getComponent())}),!t.length||t}rowValidate(e){var t=[];return e.cells.forEach(e=>{!0!==this.cellValidate(e)&&t.push(e.getComponent())}),!t.length||t}userClearCellValidation(e){e||(e=this.getInvalidCells()),Array.isArray(e)||(e=[e]),e.forEach(e=>{this.clearValidation(e._getSelf())})}userValidate(e){var t=[];return this.table.rowManager.rows.forEach(e=>{var i=(e=e.getComponent()).validate();!0!==i&&(t=t.concat(i))}),!t.length||t}initializeColumnCheck(e){void 0!==e.definition.validator&&this.initializeColumn(e)}initializeColumn(e){var t,i=this,n=[];e.definition.validator&&(Array.isArray(e.definition.validator)?e.definition.validator.forEach(e=>{(t=i._extractValidator(e))&&n.push(t)}):(t=this._extractValidator(e.definition.validator))&&n.push(t),e.modules.validate=!!n.length&&n)}_extractValidator(e){var t,i,n;switch(typeof e){case"string":return(n=e.indexOf(":"))>-1?(t=e.substring(0,n),i=e.substring(n+1)):t=e,this._buildValidator(t,i);case"function":return this._buildValidator(e);case"object":return this._buildValidator(e.type,e.parameters)}}_buildValidator(e,t){var i="function"==typeof e?e:hj.validators[e];return i?{type:"function"==typeof e?"function":e,func:i,params:t}:(console.warn("Validator Setup Error - No matching validator found:",e),!1)}validate(e,t,i){var n=this,s=[],o=this.invalidCells.indexOf(t);return e&&e.forEach(e=>{e.func.call(n,t.getComponent(),i,e.params)||s.push({type:e.type,parameters:e.params})}),t.modules.validate||(t.modules.validate={}),s.length?(t.modules.validate.invalid=s,"manual"!==this.table.options.validationMode&&t.getElement().classList.add("tabulator-validation-fail"),-1==o&&this.invalidCells.push(t)):(t.modules.validate.invalid=!1,t.getElement().classList.remove("tabulator-validation-fail"),o>-1&&this.invalidCells.splice(o,1)),!s.length||s}getInvalidCells(){var e=[];return this.invalidCells.forEach(t=>{e.push(t.getComponent())}),e}clearValidation(e){var t;e.modules.validate&&e.modules.validate.invalid&&(e.getElement().classList.remove("tabulator-validation-fail"),e.modules.validate.invalid=!1,(t=this.invalidCells.indexOf(e))>-1&&this.invalidCells.splice(t,1))}}var hV={debugEventsExternal:!1,debugEventsInternal:!1,debugInvalidOptions:!0,debugInvalidComponentFuncs:!0,debugInitialization:!0,debugDeprecation:!0,height:!1,minHeight:!1,maxHeight:!1,columnHeaderVertAlign:"top",popupContainer:!1,columns:[],columnDefaults:{},rowHeader:!1,data:!1,autoColumns:!1,autoColumnsDefinitions:!1,nestedFieldSeparator:".",footerElement:!1,index:"id",textDirection:"auto",addRowPos:"bottom",headerVisible:!0,renderVertical:"virtual",renderHorizontal:"basic",renderVerticalBuffer:0,scrollToRowPosition:"top",scrollToRowIfVisible:!0,scrollToColumnPosition:"left",scrollToColumnIfVisible:!0,rowFormatter:!1,rowFormatterPrint:null,rowFormatterClipboard:null,rowFormatterHtmlOutput:null,rowHeight:null,placeholder:!1,dataLoader:!0,dataLoaderLoading:!1,dataLoaderError:!1,dataLoaderErrorTimeout:3e3,dataSendParams:{},dataReceiveParams:{},dependencies:{}};class hW{constructor(e,t,i={}){this.table=e,this.msgType=t,this.registeredDefaults=Object.assign({},i)}register(e,t){this.registeredDefaults[e]=t}generate(e,t={}){var i=Object.assign({},this.registeredDefaults),n=this.table.options.debugInvalidOptions||!0===t.debugInvalidOptions;for(let s in Object.assign(i,e),t)i.hasOwnProperty(s)||(n&&console.warn("Invalid "+this.msgType+" option:",s),i[s]=t.key);for(let e in i)e in t?i[e]=t[e]:Array.isArray(i[e])?i[e]=Object.assign([],i[e]):"object"==typeof i[e]&&null!==i[e]?i[e]=Object.assign({},i[e]):void 0===i[e]&&delete i[e];return i}}class hZ extends lm{constructor(e){super(e),this.elementVertical=e.rowManager.element,this.elementHorizontal=e.columnManager.element,this.tableElement=e.rowManager.tableElement,this.verticalFillMode="fit"}initialize(){}clearRows(){}clearColumns(){}reinitializeColumnWidths(e){}renderRows(){}renderColumns(){}rerenderRows(e){e&&e()}rerenderColumns(e,t){}renderRowCells(e){}rerenderRowCells(e,t){}scrollColumns(e,t){}scrollRows(e,t){}resize(){}scrollToRow(e){}scrollToRowNearestTop(e){}visibleRows(e){return[]}rows(){return this.table.rowManager.getDisplayRows()}styleRow(e,t){var i=e.getElement();t%2?(i.classList.add("tabulator-row-even"),i.classList.remove("tabulator-row-odd")):(i.classList.add("tabulator-row-odd"),i.classList.remove("tabulator-row-even"))}clear(){this.clearRows(),this.clearColumns()}render(){this.renderRows(),this.renderColumns()}rerender(e){this.rerenderRows(),this.rerenderColumns()}scrollToRowPosition(e,t,i){var n=this.rows().indexOf(e),s=e.getElement(),o=0;return new Promise((r,a)=>{if(n>-1){if(void 0===i&&(i=this.table.options.scrollToRowIfVisible),!i&&lp.elVisible(s)&&(o=lp.elOffset(s).top-lp.elOffset(this.elementVertical).top)>0&&o{i.appendChild(e.getElement())}),e.element.appendChild(i),t||e.cells.forEach(e=>{e.cellRendered()})}reinitializeColumnWidths(e){e.forEach(function(e){e.reinitializeWidth()})}}class hU extends hZ{constructor(e){super(e),this.leftCol=0,this.rightCol=0,this.scrollLeft=0,this.vDomScrollPosLeft=0,this.vDomScrollPosRight=0,this.vDomPadLeft=0,this.vDomPadRight=0,this.fitDataColAvg=0,this.windowBuffer=200,this.visibleRows=null,this.initialized=!1,this.isFitData=!1,this.columns=[]}initialize(){this.compatibilityCheck(),this.layoutCheck(),this.vertScrollListen()}compatibilityCheck(){"fitDataTable"==this.options("layout")&&console.warn("Horizontal Virtual DOM is not compatible with fitDataTable layout mode"),this.options("responsiveLayout")&&console.warn("Horizontal Virtual DOM is not compatible with responsive columns"),this.options("rtl")&&console.warn("Horizontal Virtual DOM is not currently compatible with RTL text direction")}layoutCheck(){this.isFitData=this.options("layout").startsWith("fitData")}vertScrollListen(){this.subscribe("scroll-vertical",this.clearVisRowCache.bind(this)),this.subscribe("data-refreshed",this.clearVisRowCache.bind(this))}clearVisRowCache(){this.visibleRows=null}renderColumns(e,t){this.dataChange()}scrollColumns(e,t){this.scrollLeft!=e&&(this.scrollLeft=e,this.scroll(e-(this.vDomScrollPosLeft+this.windowBuffer)))}calcWindowBuffer(){var e=this.elementVertical.clientWidth;this.table.columnManager.columnsByIndex.forEach(t=>{if(t.visible){var i=t.getWidth();i>e&&(e=i)}}),this.windowBuffer=2*e}rerenderColumns(e,t){var i={cols:this.columns,leftCol:this.leftCol,rightCol:this.rightCol},n=0;(!e||this.initialized)&&(this.clear(),this.calcWindowBuffer(),this.scrollLeft=this.elementVertical.scrollLeft,this.vDomScrollPosLeft=this.scrollLeft-this.windowBuffer,this.vDomScrollPosRight=this.scrollLeft+this.elementVertical.clientWidth+this.windowBuffer,this.table.columnManager.columnsByIndex.forEach(e=>{var t,i={};e.visible&&!e.modules.frozen&&(t=e.getWidth(),i.leftPos=n,i.rightPos=n+t,i.width=t,this.isFitData&&(i.fitDataCheck=!e.modules.vdomHoz||e.modules.vdomHoz.fitDataCheck),n+t>this.vDomScrollPosLeft&&n{t.appendChild(e.getElement())}),e.element.appendChild(t),e.cells.forEach(e=>{e.cellRendered()})}}rerenderRowCells(e,t){this.reinitializeRow(e,t)}reinitializeColumnWidths(e){for(let e=this.leftCol;e<=this.rightCol;e++)this.columns[e].reinitializeWidth()}deinitialize(){this.initialized=!1}clear(){this.columns=[],this.leftCol=-1,this.rightCol=0,this.vDomScrollPosLeft=0,this.vDomScrollPosRight=0,this.vDomPadLeft=0,this.vDomPadRight=0}dataChange(){var e,t,i=!1;if(this.isFitData){if(this.table.columnManager.columnsByIndex.forEach(e=>{!e.definition.width&&e.visible&&(i=!0)}),i&&this.table.rowManager.getDisplayRows().length&&(this.vDomScrollPosRight=this.scrollLeft+this.elementVertical.clientWidth+this.windowBuffer,e=this.chain("rows-sample",[1],[],()=>this.table.rowManager.getDisplayRows())[0])){t=e.getElement(),e.generateCells(),this.tableElement.appendChild(t);for(let i=0;i{e!==this.columns[i]&&(t=!1)}),!t)}reinitializeRows(){var e=this.getVisibleRows(),t=this.table.rowManager.getRows().filter(t=>!e.includes(t));e.forEach(e=>{this.reinitializeRow(e,!0)}),t.forEach(e=>{e.deinitialize()})}getVisibleRows(){return this.visibleRows||(this.visibleRows=this.table.rowManager.getVisibleRows()),this.visibleRows}scroll(e){this.vDomScrollPosLeft+=e,this.vDomScrollPosRight+=e,Math.abs(e)>this.windowBuffer/2?this.rerenderColumns():e>0?(this.addColRight(),this.removeColLeft()):(this.addColLeft(),this.removeColRight())}colPositionAdjust(e,t,i){for(let n=e;n{if("group"!==e.type){var t=e.getCell(i);e.getElement().insertBefore(t.getElement(),e.getCell(this.columns[this.rightCol]).getElement().nextSibling),t.cellRendered()}}),this.fitDataColActualWidthCheck(i),this.rightCol++,this.getVisibleRows().forEach(e=>{"group"!==e.type&&(e.modules.vdomHoz.rightCol=this.rightCol)}),this.rightCol>=this.columns.length-1?this.vDomPadRight=0:this.vDomPadRight-=i.getWidth()):t=!1}e&&(this.tableElement.style.paddingRight=this.vDomPadRight+"px")}addColLeft(){for(var e=!1,t=!0;t;){let i=this.columns[this.leftCol-1];if(i){if(i.modules.vdomHoz.rightPos>=this.vDomScrollPosLeft){e=!0,this.getVisibleRows().forEach(e=>{if("group"!==e.type){var t=e.getCell(i);e.getElement().insertBefore(t.getElement(),e.getCell(this.columns[this.leftCol]).getElement()),t.cellRendered()}}),this.leftCol--,this.getVisibleRows().forEach(e=>{"group"!==e.type&&(e.modules.vdomHoz.leftCol=this.leftCol)}),this.leftCol<=0?this.vDomPadLeft=0:this.vDomPadLeft-=i.getWidth();let t=this.fitDataColActualWidthCheck(i);t&&(this.scrollLeft=this.elementVertical.scrollLeft=this.elementVertical.scrollLeft+t,this.vDomPadRight-=t)}else t=!1}else t=!1}e&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+"px")}removeColRight(){for(var e=!1,t=!0;t;){let i=this.columns[this.rightCol];i&&i.modules.vdomHoz.leftPos>this.vDomScrollPosRight?(e=!0,this.getVisibleRows().forEach(e=>{if("group"!==e.type){var t=e.getCell(i);try{e.getElement().removeChild(t.getElement())}catch(e){console.warn("Could not removeColRight",e.message)}}}),this.vDomPadRight+=i.getWidth(),this.rightCol--,this.getVisibleRows().forEach(e=>{"group"!==e.type&&(e.modules.vdomHoz.rightCol=this.rightCol)})):t=!1}e&&(this.tableElement.style.paddingRight=this.vDomPadRight+"px")}removeColLeft(){for(var e=!1,t=!0;t;){let i=this.columns[this.leftCol];i&&i.modules.vdomHoz.rightPos{if("group"!==e.type){var t=e.getCell(i);try{e.getElement().removeChild(t.getElement())}catch(e){console.warn("Could not removeColLeft",e.message)}}}),this.vDomPadLeft+=i.getWidth(),this.leftCol++,this.getVisibleRows().forEach(e=>{"group"!==e.type&&(e.modules.vdomHoz.leftCol=this.leftCol)})):t=!1}e&&(this.tableElement.style.paddingLeft=this.vDomPadLeft+"px")}fitDataColActualWidthCheck(e){var t,i;return e.modules.vdomHoz.fitDataCheck&&(e.reinitializeWidth(),(i=(t=e.getWidth())-e.modules.vdomHoz.width)&&(e.modules.vdomHoz.rightPos+=i,e.modules.vdomHoz.width=t,this.colPositionAdjust(this.columns.indexOf(e)+1,this.columns.length,i)),e.modules.vdomHoz.fitDataCheck=!1),i}initializeRow(e){if("group"!==e.type){e.modules.vdomHoz={leftCol:this.leftCol,rightCol:this.rightCol},this.table.modules.frozenColumns&&this.table.modules.frozenColumns.leftColumns.forEach(t=>{this.appendCell(e,t)});for(let t=this.leftCol;t<=this.rightCol;t++)this.appendCell(e,this.columns[t]);this.table.modules.frozenColumns&&this.table.modules.frozenColumns.rightColumns.forEach(t=>{this.appendCell(e,t)})}}appendCell(e,t){if(t&&t.visible){let i=e.getCell(t);e.getElement().appendChild(i.getElement()),i.cellRendered()}}reinitializeRow(e,t){if("group"!==e.type&&(t||!e.modules.vdomHoz||e.modules.vdomHoz.leftCol!==this.leftCol||e.modules.vdomHoz.rightCol!==this.rightCol)){for(var i=e.getElement();i.firstChild;)i.removeChild(i.firstChild);this.initializeRow(e)}}}class hq extends lm{constructor(e){super(e),this.blockHozScrollEvent=!1,this.headersElement=null,this.contentsElement=null,this.rowHeader=null,this.element=null,this.columns=[],this.columnsByIndex=[],this.columnsByField={},this.scrollLeft=0,this.optionsList=new hW(this.table,"column definition",lO),this.redrawBlock=!1,this.redrawBlockUpdate=null,this.renderer=null}initialize(){this.initializeRenderer(),this.headersElement=this.createHeadersElement(),this.contentsElement=this.createHeaderContentsElement(),this.element=this.createHeaderElement(),this.contentsElement.insertBefore(this.headersElement,this.contentsElement.firstChild),this.element.insertBefore(this.contentsElement,this.element.firstChild),this.initializeScrollWheelWatcher(),this.subscribe("scroll-horizontal",this.scrollHorizontal.bind(this)),this.subscribe("scrollbar-vertical",this.padVerticalScrollbar.bind(this))}padVerticalScrollbar(e){this.table.rtl?this.headersElement.style.marginLeft=e+"px":this.headersElement.style.marginRight=e+"px"}initializeRenderer(){var e;(e="string"==typeof this.table.options.renderHorizontal?({virtual:hU,basic:hG})[this.table.options.renderHorizontal]:this.table.options.renderHorizontal)?(this.renderer=new e(this.table,this.element,this.tableElement),this.renderer.initialize()):console.error("Unable to find matching renderer:",this.table.options.renderHorizontal)}createHeadersElement(){var e=document.createElement("div");return e.classList.add("tabulator-headers"),e.setAttribute("role","row"),e}createHeaderContentsElement(){var e=document.createElement("div");return e.classList.add("tabulator-header-contents"),e.setAttribute("role","rowgroup"),e}createHeaderElement(){var e=document.createElement("div");return e.classList.add("tabulator-header"),e.setAttribute("role","rowgroup"),this.table.options.headerVisible||e.classList.add("tabulator-header-hidden"),e}getElement(){return this.element}getContentsElement(){return this.contentsElement}getHeadersElement(){return this.headersElement}scrollHorizontal(e){this.contentsElement.scrollLeft=e,this.scrollLeft=e,this.renderer.scrollColumns(e)}initializeScrollWheelWatcher(){this.contentsElement.addEventListener("wheel",e=>{var t;e.deltaX&&(t=this.contentsElement.scrollLeft+e.deltaX,this.table.rowManager.scrollHorizontal(t),this.table.columnManager.scrollHorizontal(t))})}generateColumnsFromRowData(e){var t=[],i={},n="full"===this.table.options.autoColumns?e:[e[0]],s=this.table.options.autoColumnsDefinitions;if(e&&e.length){if(n.forEach(e=>{Object.keys(e).forEach((n,s)=>{let o=e[n],r;i[n]?!0!==i[n]&&void 0!==o&&(i[n].sorter=this.calculateSorterFromValue(o),i[n]=!0):(r={field:n,title:n,sorter:this.calculateSorterFromValue(o)},t.splice(s,0,r),i[n]=void 0!==o||r)})}),s)switch(typeof s){case"function":this.table.options.columns=s.call(this.table,t);break;case"object":Array.isArray(s)?t.forEach(e=>{var t=s.find(t=>t.field===e.field);t&&Object.assign(e,t)}):t.forEach(e=>{s[e.field]&&Object.assign(e,s[e.field])}),this.table.options.columns=t}else this.table.options.columns=t;this.setColumns(this.table.options.columns)}}calculateSorterFromValue(e){var t;switch(typeof e){case"undefined":t="string";break;case"boolean":t="boolean";break;case"number":t="number";break;case"object":t=Array.isArray(e)?"array":"string";break;default:t=isNaN(e)||""===e?e.match(/((^[0-9]+[a-z]+)|(^[a-z]+[0-9]+))+$/i)?"alphanum":"string":"number"}return t}setColumns(e,t){for(;this.headersElement.firstChild;)this.headersElement.removeChild(this.headersElement.firstChild);this.columns=[],this.columnsByIndex=[],this.columnsByField={},this.dispatch("columns-loading"),this.dispatchExternal("columnsLoading"),this.table.options.rowHeader&&(this.rowHeader=new lD(!0===this.table.options.rowHeader?{}:this.table.options.rowHeader,this,!0),this.columns.push(this.rowHeader),this.headersElement.appendChild(this.rowHeader.getElement()),this.rowHeader.columnRendered()),e.forEach((e,t)=>{this._addColumn(e)}),this._reIndexColumns(),this.dispatch("columns-loaded"),this.subscribedExternal("columnsLoaded")&&this.dispatchExternal("columnsLoaded",this.getComponents()),this.rerenderColumns(!1,!0),this.redraw(!0)}_addColumn(e,t,i){var n=new lD(e,this),s=n.getElement(),o=i?this.findColumnIndex(i):i;if(t&&this.rowHeader&&(!i||i===this.rowHeader)&&(t=!1,i=this.rowHeader,o=0),i&&o>-1){var r=i.getTopColumn(),a=this.columns.indexOf(r),l=r.getElement();t?(this.columns.splice(a,0,n),l.parentNode.insertBefore(s,l)):(this.columns.splice(a+1,0,n),l.parentNode.insertBefore(s,l.nextSibling))}else t?(this.columns.unshift(n),this.headersElement.insertBefore(n.getElement(),this.headersElement.firstChild)):(this.columns.push(n),this.headersElement.appendChild(n.getElement()));return n.columnRendered(),n}registerColumnField(e){e.definition.field&&(this.columnsByField[e.definition.field]=e)}registerColumnPosition(e){this.columnsByIndex.push(e)}_reIndexColumns(){this.columnsByIndex=[],this.columns.forEach(function(e){e.reRegisterPosition()})}verticalAlignHeaders(){var e=0;this.redrawBlock||(this.headersElement.style.height="",this.columns.forEach(e=>{e.clearVerticalAlign()}),this.columns.forEach(t=>{var i=t.getHeight();i>e&&(e=i)}),this.headersElement.style.height=e+"px",this.columns.forEach(t=>{t.verticalAlign(this.table.options.columnHeaderVertAlign,e)}),this.table.rowManager.adjustTableSize())}findColumn(e){var t;return"object"!=typeof e?this.columnsByField[e]||!1:e instanceof lD?e:e instanceof lP?e._getSelf()||!1:!!("undefined"!=typeof HTMLElement&&e instanceof HTMLElement)&&(t=[],this.columns.forEach(e=>{t.push(e),t=t.concat(e.getColumns(!0))}),t.find(t=>t.element===e)||!1)}getColumnByField(e){return this.columnsByField[e]}getColumnsByFieldRoot(e){var t=[];return Object.keys(this.columnsByField).forEach(i=>{(this.table.options.nestedFieldSeparator?i.split(this.table.options.nestedFieldSeparator)[0]:i)===e&&t.push(this.columnsByField[i])}),t}getColumnByIndex(e){return this.columnsByIndex[e]}getFirstVisibleColumn(){var e=this.columnsByIndex.findIndex(e=>e.visible);return e>-1&&this.columnsByIndex[e]}getVisibleColumnsByIndex(){return this.columnsByIndex.filter(e=>e.visible)}getColumns(){return this.columns}findColumnIndex(e){return this.columnsByIndex.findIndex(t=>e===t)}getRealColumns(){return this.columnsByIndex}traverse(e){this.columnsByIndex.forEach((t,i)=>{e(t,i)})}getDefinitions(e){var t=[];return this.columnsByIndex.forEach(i=>{(!e||e&&i.visible)&&t.push(i.getDefinition())}),t}getDefinitionTree(){var e=[];return this.columns.forEach(t=>{e.push(t.getDefinition(!0))}),e}getComponents(e){var t=[];return(e?this.columns:this.columnsByIndex).forEach(e=>{t.push(e.getComponent())}),t}getWidth(){var e=0;return this.columnsByIndex.forEach(t=>{t.visible&&(e+=t.getWidth())}),e}moveColumn(e,t,i){t.element.parentNode.insertBefore(e.element,t.element),i&&t.element.parentNode.insertBefore(t.element,e.element),this.moveColumnActual(e,t,i),this.verticalAlignHeaders(),this.table.rowManager.reinitialize()}moveColumnActual(e,t,i){e.parent.isGroup?this._moveColumnInArray(e.parent.columns,e,t,i):this._moveColumnInArray(this.columns,e,t,i),this._moveColumnInArray(this.columnsByIndex,e,t,i,!0),this.rerenderColumns(!0),this.dispatch("column-moved",e,t,i),this.subscribedExternal("columnMoved")&&this.dispatchExternal("columnMoved",e.getComponent(),this.table.columnManager.getComponents())}_moveColumnInArray(e,t,i,n,s){var o,r=e.indexOf(t);r>-1&&(e.splice(r,1),(o=e.indexOf(i))>-1?n&&(o+=1):o=r,e.splice(o,0,t),s&&(this.chain("column-moving-rows",[t,i,n],null,[])||[]).concat(this.table.rowManager.rows).forEach(function(e){if(e.cells.length){var t=e.cells.splice(r,1)[0];e.cells.splice(o,0,t)}}))}scrollToColumn(e,t,i){var n=0,s=e.getLeftOffset(),o=0,r=e.getElement();return new Promise((a,l)=>{if(void 0===t&&(t=this.table.options.scrollToColumnPosition),void 0===i&&(i=this.table.options.scrollToColumnIfVisible),e.visible){switch(t){case"middle":case"center":o=-this.element.clientWidth/2;break;case"right":o=r.clientWidth-this.headersElement.clientWidth}if(!i&&s>0&&s+r.offsetWidth{t.push(i.generateCell(e))}),t}getFlexBaseWidth(){var e=this.table.element.clientWidth,t=0;return this.table.rowManager.element.scrollHeight>this.table.rowManager.element.clientHeight&&(e-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),this.columnsByIndex.forEach(function(i){var n,s,o;i.visible&&(n=i.definition.width||0,s=parseInt(i.minWidth),o="string"==typeof n?n.indexOf("%")>-1?e/100*parseInt(n):parseInt(n):n,t+=o>s?o:s)}),t}addColumn(e,t,i){return new Promise((n,s)=>{var o=this._addColumn(e,t,i);this._reIndexColumns(),this.dispatch("column-add",e,t,i),"fitColumns"!=this.layoutMode()&&o.reinitializeWidth(),this.redraw(!0),this.table.rowManager.reinitialize(),this.rerenderColumns(),n(o)})}deregisterColumn(e){var t,i=e.getField();i&&delete this.columnsByField[i],(t=this.columnsByIndex.indexOf(e))>-1&&this.columnsByIndex.splice(t,1),(t=this.columns.indexOf(e))>-1&&this.columns.splice(t,1),this.verticalAlignHeaders(),this.redraw()}rerenderColumns(e,t){this.redrawBlock?(!1===e||!0===e&&null===this.redrawBlockUpdate)&&(this.redrawBlockUpdate=e):this.renderer.rerenderColumns(e,t)}blockRedraw(){this.redrawBlock=!0,this.redrawBlockUpdate=null}restoreRedraw(){this.redrawBlock=!1,this.verticalAlignHeaders(),this.renderer.rerenderColumns(this.redrawBlockUpdate)}redraw(e){lp.elVisible(this.element)&&this.verticalAlignHeaders(),e&&(this.table.rowManager.resetScroll(),this.table.rowManager.reinitialize()),this.confirm("table-redrawing",e)||this.layoutRefresh(e),this.dispatch("table-redraw",e),this.table.footerManager.redraw()}}class hK extends hZ{constructor(e){super(e),this.verticalFillMode="fill",this.scrollTop=0,this.scrollLeft=0,this.scrollTop=0,this.scrollLeft=0}clearRows(){for(var e=this.tableElement;e.firstChild;)e.removeChild(e.firstChild);e.scrollTop=0,e.scrollLeft=0,e.style.minWidth="",e.style.minHeight="",e.style.display="",e.style.visibility=""}renderRows(){var e=this.tableElement,t=!0,i=document.createDocumentFragment(),n=this.rows();n.forEach((e,n)=>{this.styleRow(e,n),e.initialize(!1,!0),"group"!==e.type&&(t=!1),i.appendChild(e.getElement())}),e.appendChild(i),n.forEach(e=>{e.rendered(),e.heightInitialized||e.calcHeight(!0)}),n.forEach(e=>{e.heightInitialized||e.setCellHeight()}),t?e.style.minWidth=this.table.columnManager.getWidth()+"px":e.style.minWidth=""}rerenderRows(e){this.clearRows(),e&&e(),this.renderRows(),this.rows().length||this.table.rowManager.tableEmpty()}scrollToRowNearestTop(e){var t=lp.elOffset(e.getElement()).top;return!(Math.abs(this.elementVertical.scrollTop-t)>Math.abs(this.elementVertical.scrollTop+this.elementVertical.clientHeight-t))}scrollToRow(e){var t=e.getElement();this.elementVertical.scrollTop=lp.elOffset(t).top-lp.elOffset(this.elementVertical).top+this.elementVertical.scrollTop}visibleRows(e){return this.rows()}}class hY extends hZ{constructor(e){super(e),this.verticalFillMode="fill",this.scrollTop=0,this.scrollLeft=0,this.vDomRowHeight=20,this.vDomTop=0,this.vDomBottom=0,this.vDomScrollPosTop=0,this.vDomScrollPosBottom=0,this.vDomTopPad=0,this.vDomBottomPad=0,this.vDomMaxRenderChain=90,this.vDomWindowBuffer=0,this.vDomWindowMinTotalRows=20,this.vDomWindowMinMarginRows=5,this.vDomTopNewRows=[],this.vDomBottomNewRows=[]}clearRows(){for(var e=this.tableElement;e.firstChild;)e.removeChild(e.firstChild);e.style.paddingTop="",e.style.paddingBottom="",e.style.minHeight="",e.style.display="",e.style.visibility="",this.elementVertical.scrollTop=0,this.elementVertical.scrollLeft=0,this.scrollTop=0,this.scrollLeft=0,this.vDomTop=0,this.vDomBottom=0,this.vDomTopPad=0,this.vDomBottomPad=0,this.vDomScrollPosTop=0,this.vDomScrollPosBottom=0}renderRows(){this._virtualRenderFill()}rerenderRows(e){for(var t=this.elementVertical.scrollTop,i=!1,n=!1,s=this.table.rowManager.scrollLeft,o=this.rows(),r=this.vDomTop;r<=this.vDomBottom;r++)if(o[r]){var a=t-o[r].getElement().offsetTop;if(!1===n||Math.abs(a){e.deinitializeHeight()}),e&&e(),this.rows().length?this._virtualRenderFill(!1===i?this.rows.length-1:i,!0,n||0):(this.clear(),this.table.rowManager.tableEmpty()),this.scrollColumns(s)}scrollColumns(e){this.table.rowManager.scrollHorizontal(e)}scrollRows(e,t){var i=e-this.vDomScrollPosTop,n=e-this.vDomScrollPosBottom,s=2*this.vDomWindowBuffer,o=this.rows();if(this.scrollTop=e,-i>s||n>s){var r=this.table.rowManager.scrollLeft;this._virtualRenderFill(Math.floor(this.elementVertical.scrollTop/this.elementVertical.scrollHeight*o.length)),this.scrollColumns(r)}else t?(i<0&&this._addTopRow(o,-i),n<0&&(this.vDomScrollHeight-this.scrollTop>this.vDomWindowBuffer?this._removeBottomRow(o,-n):this.vDomScrollPosBottom=this.scrollTop)):(n>=0&&this._addBottomRow(o,n),i>=0&&(this.scrollTop>this.vDomWindowBuffer?this._removeTopRow(o,i):this.vDomScrollPosTop=this.scrollTop))}resize(){this.vDomWindowBuffer=this.table.options.renderVerticalBuffer||this.elementVertical.clientHeight}scrollToRowNearestTop(e){var t=this.rows().indexOf(e);return!(Math.abs(this.vDomTop-t)>Math.abs(this.vDomBottom-t))}scrollToRow(e){var t=this.rows().indexOf(e);t>-1&&this._virtualRenderFill(t,!0)}visibleRows(e){var t=this.elementVertical.scrollTop,i=this.elementVertical.clientHeight+t,n=!1,s=0,o=0,r=this.rows();if(e)s=this.vDomTop,o=this.vDomBottom;else for(var a=this.vDomTop;a<=this.vDomBottom;a++)if(r[a]){if(n){if(i-r[a].getElement().offsetTop>=0)o=a;else break}else if(t-r[a].getElement().offsetTop>=0)s=a;else if(n=!0,i-r[a].getElement().offsetTop>=0)o=a;else break}return r.slice(s,o+1)}_virtualRenderFill(e,t,i){var n,s,o=this.tableElement,r=this.elementVertical,a=0,l=0,h=0,c=0,u=0,d=0,m=this.rows(),p=m.length,f=0,g=[],b=0,v=0,y=this.table.rowManager.fixedHeight,w=this.elementVertical.clientHeight,_=this.table.options.rowHeight,C=!0;if(i=i||0,e=e||0){for(;o.firstChild;)o.removeChild(o.firstChild);(c=(p-e+1)*this.vDomRowHeight){e.rendered(),e.heightInitialized||e.calcHeight(!0)}),g.forEach(e=>{e.heightInitialized||e.setCellHeight()}),g.forEach(e=>{h=e.getHeight(),bthis.vDomWindowBuffer&&(this.vDomWindowBuffer=2*h),b++}),C=this.table.rowManager.adjustTableSize(),w=this.elementVertical.clientHeight,C&&(y||this.table.options.maxHeight)&&(_=l/b,v=Math.max(this.vDomWindowMinTotalRows,Math.ceil(w/_+this.vDomWindowBuffer/_)))}e?(this.vDomTopPad=t?this.vDomRowHeight*this.vDomTop+i:this.scrollTop-u,this.vDomBottomPad=this.vDomBottom==p-1?0:Math.max(this.vDomScrollHeight-this.vDomTopPad-l-u,0)):(this.vDomTopPad=0,this.vDomRowHeight=Math.floor((l+u)/b),this.vDomBottomPad=this.vDomRowHeight*(p-this.vDomBottom-1),this.vDomScrollHeight=u+l+this.vDomBottomPad-w),o.style.paddingTop=this.vDomTopPad+"px",o.style.paddingBottom=this.vDomBottomPad+"px",t&&(this.scrollTop=this.vDomTopPad+u+i-(this.elementVertical.scrollWidth>this.elementVertical.clientWidth?this.elementVertical.offsetHeight-w:0)),this.scrollTop=Math.min(this.scrollTop,this.elementVertical.scrollHeight-w),this.elementVertical.scrollWidth>this.elementVertical.clientWidth&&t&&(this.scrollTop+=this.elementVertical.offsetHeight-w),this.vDomScrollPosTop=this.scrollTop,this.vDomScrollPosBottom=this.scrollTop,r.scrollTop=this.scrollTop,this.dispatch("render-virtual-fill")}}_addTopRow(e,t){for(var i=this.tableElement,n=[],s=0,o=this.vDomTop-1,r=0,a=!0;a;)if(this.vDomTop){let l=e[o],h,c;l&&r=h?(this.styleRow(l,o),i.insertBefore(l.getElement(),i.firstChild),l.initialized&&l.heightInitialized||n.push(l),l.initialize(),!c&&(h=l.getElement().offsetHeight)>this.vDomWindowBuffer&&(this.vDomWindowBuffer=2*h),t-=h,s+=h,this.vDomTop--,o--,r++):a=!1):a=!1}else a=!1;for(let e of n)e.clearCellHeight();this._quickNormalizeRowHeight(n),s&&(this.vDomTopPad-=s,this.vDomTopPad<0&&(this.vDomTopPad=o*this.vDomRowHeight),o<1&&(this.vDomTopPad=0),i.style.paddingTop=this.vDomTopPad+"px",this.vDomScrollPosTop-=s)}_removeTopRow(e,t){for(var i=[],n=0,s=0,o=!0;o;){let r=e[this.vDomTop],a;r&&s=a?(this.vDomTop++,t-=a,n+=a,i.push(r),s++):o=!1):o=!1}for(let e of i){let t=e.getElement();t.parentNode&&t.parentNode.removeChild(t)}n&&(this.vDomTopPad+=n,this.tableElement.style.paddingTop=this.vDomTopPad+"px",this.vDomScrollPosTop+=this.vDomTop?n:n+this.vDomWindowBuffer)}_addBottomRow(e,t){for(var i=this.tableElement,n=[],s=0,o=this.vDomBottom+1,r=0,a=!0;a;){let l=e[o],h,c;l&&r=h?(this.styleRow(l,o),i.appendChild(l.getElement()),l.initialized&&l.heightInitialized||n.push(l),l.initialize(),!c&&(h=l.getElement().offsetHeight)>this.vDomWindowBuffer&&(this.vDomWindowBuffer=2*h),t-=h,s+=h,this.vDomBottom++,o++,r++):a=!1):a=!1}for(let e of n)e.clearCellHeight();this._quickNormalizeRowHeight(n),s&&(this.vDomBottomPad-=s,(this.vDomBottomPad<0||o==e.length-1)&&(this.vDomBottomPad=0),i.style.paddingBottom=this.vDomBottomPad+"px",this.vDomScrollPosBottom+=s)}_removeBottomRow(e,t){for(var i=[],n=0,s=0,o=!0;o;){let r=e[this.vDomBottom],a;r&&s=a?(this.vDomBottom--,t-=a,n+=a,i.push(r),s++):o=!1):o=!1}for(let e of i){let t=e.getElement();t.parentNode&&t.parentNode.removeChild(t)}n&&(this.vDomBottomPad+=n,this.vDomBottomPad<0&&(this.vDomBottomPad=0),this.tableElement.style.paddingBottom=this.vDomBottomPad+"px",this.vDomScrollPosBottom-=n)}_quickNormalizeRowHeight(e){for(let t of e)t.calcHeight();for(let t of e)t.setCellHeight()}}class h$ extends lm{constructor(e){super(e),this.element=this.createHolderElement(),this.tableElement=this.createTableElement(),this.heightFixer=this.createTableElement(),this.placeholder=null,this.placeholderContents=null,this.firstRender=!1,this.renderMode="virtual",this.fixedHeight=!1,this.rows=[],this.activeRowsPipeline=[],this.activeRows=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0,this.scrollTop=0,this.scrollLeft=0,this.redrawBlock=!1,this.redrawBlockRestoreConfig=!1,this.redrawBlockRenderInPosition=!1,this.dataPipeline=[],this.displayPipeline=[],this.scrollbarWidth=0,this.renderer=null}createHolderElement(){var e=document.createElement("div");return e.classList.add("tabulator-tableholder"),e.setAttribute("tabindex",0),e}createTableElement(){var e=document.createElement("div");return e.classList.add("tabulator-table"),e.setAttribute("role","rowgroup"),e}initializePlaceholder(){var e=this.table.options.placeholder;if("function"==typeof e&&(e=e.call(this.table)),e=this.chain("placeholder",[e],e,e)||e){let t=document.createElement("div");if(t.classList.add("tabulator-placeholder"),"string"==typeof e){let i=document.createElement("div");i.classList.add("tabulator-placeholder-contents"),i.innerHTML=e,t.appendChild(i),this.placeholderContents=i}else"undefined"!=typeof HTMLElement&&e instanceof HTMLElement?(t.appendChild(e),this.placeholderContents=e):(console.warn("Invalid placeholder provided, must be string or HTML Element",e),this.el=null);this.placeholder=t}}getElement(){return this.element}getTableElement(){return this.tableElement}initialize(){this.initializePlaceholder(),this.initializeRenderer(),this.element.appendChild(this.tableElement),this.firstRender=!0,this.element.addEventListener("scroll",()=>{var e=this.element.scrollLeft,t=this.scrollLeft>e,i=this.element.scrollTop,n=this.scrollTop>i;this.scrollLeft!=e&&(this.scrollLeft=e,this.dispatch("scroll-horizontal",e,t),this.dispatchExternal("scrollHorizontal",e,t),this._positionPlaceholder()),this.scrollTop!=i&&(this.scrollTop=i,this.renderer.scrollRows(i,n),this.dispatch("scroll-vertical",i,n),this.dispatchExternal("scrollVertical",i,n))})}findRow(e){return"object"!=typeof e?void 0!==e&&(this.rows.find(t=>t.data[this.table.options.index]==e)||!1):e instanceof lA?e:e instanceof lz?e._getSelf()||!1:!!("undefined"!=typeof HTMLElement&&e instanceof HTMLElement)&&(this.rows.find(t=>t.getElement()===e)||!1)}getRowFromDataObject(e){return this.rows.find(t=>t.data===e)||!1}getRowFromPosition(e){return this.getDisplayRows().find(t=>"row"===t.type&&t.getPosition()===e&&t.isDisplayed())}scrollToRow(e,t,i){return this.renderer.scrollToRowPosition(e,t,i)}setData(e,t,i){return new Promise((n,s)=>{t&&this.getDisplayRows().length?this.table.options.pagination?this._setDataActual(e,!0):this.reRenderInPosition(()=>{this._setDataActual(e)}):(this.table.options.autoColumns&&i&&this.table.initialized&&this.table.columnManager.generateColumnsFromRowData(e),this.resetScroll(),this._setDataActual(e)),n()})}_setDataActual(e,t){this.dispatchExternal("dataProcessing",e),this._wipeElements(),Array.isArray(e)?(this.dispatch("data-processing",e),e.forEach((e,t)=>{if(e&&"object"==typeof e){var i=new lA(e,this);this.rows.push(i)}else console.warn("Data Loading Warning - Invalid row data detected and ignored, expecting object but received:",e)}),this.refreshActiveData(!1,!1,t),this.dispatch("data-processed",e),this.dispatchExternal("dataProcessed",e)):console.error("Data Loading Error - Unable to process data due to invalid data type \nExpecting: array \nReceived: ",typeof e,"\nData: ",e)}_wipeElements(){this.dispatch("rows-wipe"),this.destroy(),this.adjustTableSize(),this.dispatch("rows-wiped")}destroy(){this.rows.forEach(e=>{e.wipe()}),this.rows=[],this.activeRows=[],this.activeRowsPipeline=[],this.activeRowsCount=0,this.displayRows=[],this.displayRowsCount=0}deleteRow(e,t){var i=this.rows.indexOf(e),n=this.activeRows.indexOf(e);n>-1&&this.activeRows.splice(n,1),i>-1&&this.rows.splice(i,1),this.setActiveRows(this.activeRows),this.displayRowIterator(t=>{var i=t.indexOf(e);i>-1&&t.splice(i,1)}),t||this.reRenderInPosition(),this.regenerateRowPositions(),this.dispatchExternal("rowDeleted",e.getComponent()),this.displayRowsCount||this.tableEmpty(),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.getData())}addRow(e,t,i,n){return this.addRowActual(e,t,i,n)}addRows(e,t,i,n){var s=[];return new Promise((o,r)=>{t=this.findAddRowPos(t),Array.isArray(e)||(e=[e]),(void 0===i&&t||void 0!==i&&!t)&&e.reverse(),e.forEach((e,n)=>{var o=this.addRow(e,t,i,!0);s.push(o),this.dispatch("row-added",o,e,t,i)}),this.refreshActiveData(!!n&&"displayPipeline",!1,!0),this.regenerateRowPositions(),this.displayRowsCount&&this._clearPlaceholder(),o(s)})}findAddRowPos(e){return void 0===e&&(e=this.table.options.addRowPos),"pos"===e&&(e=!0),"bottom"===e&&(e=!1),e}addRowActual(e,t,i,n){var s,o,r=e instanceof lA?e:new lA(e||{},this),a=this.findAddRowPos(t),l=-1;return i||(i=(o=this.chain("row-adding-position",[r,a],null,{index:i,top:a})).index,a=o.top),void 0!==i&&(i=this.findRow(i)),(i=this.chain("row-adding-index",[r,i,a],null,i))&&(l=this.rows.indexOf(i)),i&&l>-1?(s=this.activeRows.indexOf(i),this.displayRowIterator(function(e){var t=e.indexOf(i);t>-1&&e.splice(a?t:t+1,0,r)}),s>-1&&this.activeRows.splice(a?s:s+1,0,r),this.rows.splice(a?l:l+1,0,r)):a?(this.displayRowIterator(function(e){e.unshift(r)}),this.activeRows.unshift(r),this.rows.unshift(r)):(this.displayRowIterator(function(e){e.push(r)}),this.activeRows.push(r),this.rows.push(r)),this.setActiveRows(this.activeRows),this.dispatchExternal("rowAdded",r.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),n||this.reRenderInPosition(),r}moveRow(e,t,i){this.dispatch("row-move",e,t,i),this.moveRowActual(e,t,i),this.regenerateRowPositions(),this.dispatch("row-moved",e,t,i),this.dispatchExternal("rowMoved",e.getComponent())}moveRowActual(e,t,i){this.moveRowInArray(this.rows,e,t,i),this.moveRowInArray(this.activeRows,e,t,i),this.displayRowIterator(n=>{this.moveRowInArray(n,e,t,i)}),this.dispatch("row-moving",e,t,i)}moveRowInArray(e,t,i,n){var s,o,r,a;if(t!==i&&((s=e.indexOf(t))>-1&&(e.splice(s,1),(o=e.indexOf(i))>-1?n?e.splice(o+1,0,t):e.splice(o,0,t):e.splice(s,0,t)),e===this.getDisplayRows())){r=ss?o:s+1;for(let t=r;t<=a;t++)e[t]&&this.styleRow(e[t],t)}}clearData(){this.setData([])}getRowIndex(e){return this.findRowIndex(e,this.rows)}getDisplayRowIndex(e){var t=this.getDisplayRows().indexOf(e);return t>-1&&t}nextDisplayRow(e,t){var i=this.getDisplayRowIndex(e),n=!1;return(!1!==i&&i-1)&&i}getData(e,t){var i=[];return this.getRows(e).forEach(function(e){"row"==e.type&&i.push(e.getData(t||"data"))}),i}getComponents(e){var t=[];return this.getRows(e).forEach(function(e){t.push(e.getComponent())}),t}getDataCount(e){return this.getRows(e).length}scrollHorizontal(e){this.scrollLeft=e,this.element.scrollLeft=e,this.dispatch("scroll-horizontal",e)}registerDataPipelineHandler(e,t){void 0!==t?(this.dataPipeline.push({handler:e,priority:t}),this.dataPipeline.sort((e,t)=>e.priority-t.priority)):console.error("Data pipeline handlers must have a priority in order to be registered")}registerDisplayPipelineHandler(e,t){void 0!==t?(this.displayPipeline.push({handler:e,priority:t}),this.displayPipeline.sort((e,t)=>e.priority-t.priority)):console.error("Display pipeline handlers must have a priority in order to be registered")}refreshActiveData(e,t,i){var n=this.table,s="",o=0,r=["all","dataPipeline","display","displayPipeline","end"];if(!this.table.destroyed){if("function"==typeof e){if((o=this.dataPipeline.findIndex(t=>t.handler===e))>-1)s="dataPipeline",t&&(o==this.dataPipeline.length-1?s="display":o++);else if((o=this.displayPipeline.findIndex(t=>t.handler===e))>-1)s="displayPipeline",t&&(o==this.displayPipeline.length-1?s="end":o++);else{console.error("Unable to refresh data, invalid handler provided",e);return}}else s=e||"all",o=0;if(this.redrawBlock){(!this.redrawBlockRestoreConfig||this.redrawBlockRestoreConfig&&(this.redrawBlockRestoreConfig.stage===s&&o{"row"===e.type&&(e.setPosition(t),t++)})}setActiveRows(e){this.activeRows=this.activeRows=Object.assign([],e),this.activeRowsCount=this.activeRows.length}resetDisplayRows(){this.displayRows=[],this.displayRows.push(this.activeRows.slice(0)),this.displayRowsCount=this.displayRows[0].length}setDisplayRows(e,t){this.displayRows[t]=e,t==this.displayRows.length-1&&(this.displayRowsCount=this.displayRows[this.displayRows.length-1].length)}getDisplayRows(e){return void 0===e?this.displayRows.length?this.displayRows[this.displayRows.length-1]:[]:this.displayRows[e]||[]}getVisibleRows(e,t){var i=Object.assign([],this.renderer.visibleRows(!t));return e&&(i=this.chain("rows-visible",[t],i,i)),i}displayRowIterator(e){this.activeRowsPipeline.forEach(e),this.displayRows.forEach(e),this.displayRowsCount=this.displayRows[this.displayRows.length-1].length}getRows(e){var t=[];switch(e){case"active":t=this.activeRows;break;case"display":t=this.table.rowManager.getDisplayRows();break;case"visible":t=this.getVisibleRows(!1,!0);break;default:t=this.chain("rows-retrieve",e,null,this.rows)||this.rows}return t}reRenderInPosition(e){this.redrawBlock?e?e():this.redrawBlockRenderInPosition=!0:(this.dispatchExternal("renderStarted"),this.renderer.rerenderRows(e),this.fixedHeight||this.adjustTableSize(),this.scrollBarCheck(),this.dispatchExternal("renderComplete"))}scrollBarCheck(){var e=0;this.element.scrollHeight>this.element.clientHeight&&(e=this.element.offsetWidth-this.element.clientWidth),e!==this.scrollbarWidth&&(this.scrollbarWidth=e,this.dispatch("scrollbar-vertical",e))}initializeRenderer(){var e;(e="string"==typeof this.table.options.renderVertical?({virtual:hY,basic:hK})[this.table.options.renderVertical]:this.table.options.renderVertical)?(this.renderMode=this.table.options.renderVertical,this.renderer=new e(this.table,this.element,this.tableElement),this.renderer.initialize(),(this.table.element.clientHeight||this.table.options.height)&&!(this.table.options.minHeight&&this.table.options.maxHeight)?this.fixedHeight=!0:this.fixedHeight=!1):console.error("Unable to find matching renderer:",this.table.options.renderVertical)}getRenderMode(){return this.renderMode}renderTable(){this.dispatchExternal("renderStarted"),this.element.scrollTop=0,this._clearTable(),this.displayRowsCount?(this.renderer.renderRows(),this.firstRender&&(this.firstRender=!1,this.fixedHeight||this.adjustTableSize(),this.layoutRefresh(!0))):this.renderEmptyScroll(),this.fixedHeight||this.adjustTableSize(),this.dispatch("table-layout"),this.displayRowsCount||this._showPlaceholder(),this.scrollBarCheck(),this.dispatchExternal("renderComplete")}renderEmptyScroll(){this.placeholder?this.tableElement.style.display="none":this.tableElement.style.minWidth=this.table.columnManager.getWidth()+"px"}_clearTable(){this._clearPlaceholder(),this.scrollTop=0,this.scrollLeft=0,this.renderer.clearRows()}tableEmpty(){this.renderEmptyScroll(),this._showPlaceholder()}checkPlaceholder(){this.displayRowsCount?this._clearPlaceholder():this.tableEmpty()}_showPlaceholder(){this.placeholder&&(this.placeholder&&this.placeholder.parentNode&&this.placeholder.parentNode.removeChild(this.placeholder),this.initializePlaceholder(),this.placeholder.setAttribute("tabulator-render-mode",this.renderMode),this.getElement().appendChild(this.placeholder),this._positionPlaceholder(),this.adjustTableSize())}_clearPlaceholder(){this.placeholder&&this.placeholder.parentNode&&this.placeholder.parentNode.removeChild(this.placeholder),this.tableElement.style.minWidth="",this.tableElement.style.display=""}_positionPlaceholder(){this.placeholder&&this.placeholder.parentNode&&(this.placeholder.style.width=this.table.columnManager.getWidth()+"px",this.placeholderContents.style.width=this.table.rowManager.element.clientWidth+"px",this.placeholderContents.style.marginLeft=this.scrollLeft+"px")}styleRow(e,t){var i=e.getElement();t%2?(i.classList.add("tabulator-row-even"),i.classList.remove("tabulator-row-odd")):(i.classList.add("tabulator-row-odd"),i.classList.remove("tabulator-row-even"))}normalizeHeight(e){this.activeRows.forEach(function(t){t.normalizeHeight(e)})}adjustTableSize(){let e=this.element.clientHeight,t,i=!1;if("fill"===this.renderer.verticalFillMode){let n=Math.floor(this.table.columnManager.getElement().getBoundingClientRect().height+(this.table.footerManager&&this.table.footerManager.active&&!this.table.footerManager.external?this.table.footerManager.getElement().getBoundingClientRect().height:0));if(this.fixedHeight){t=isNaN(this.table.options.minHeight)?this.table.options.minHeight:this.table.options.minHeight+"px";let e="calc(100% - "+n+"px)";this.element.style.minHeight=t||"calc(100% - "+n+"px)",this.element.style.height=e,this.element.style.maxHeight=e}else this.element.style.height="",this.element.style.height=this.table.element.clientHeight-n+"px",this.element.scrollTop=this.scrollTop;this.renderer.resize(),this.fixedHeight||e==this.element.clientHeight||(i=!0,this.subscribed("table-resize")?this.dispatch("table-resize"):this.redraw()),this.scrollBarCheck()}return this._positionPlaceholder(),i}reinitialize(){this.rows.forEach(function(e){e.reinitialize(!0)})}blockRedraw(){this.redrawBlock=!0,this.redrawBlockRestoreConfig=!1}restoreRedraw(){this.redrawBlock=!1,this.redrawBlockRestoreConfig?(this.refreshActiveData(this.redrawBlockRestoreConfig.handler,this.redrawBlockRestoreConfig.skipStage,this.redrawBlockRestoreConfig.renderInPosition),this.redrawBlockRestoreConfig=!1):this.redrawBlockRenderInPosition&&this.reRenderInPosition(),this.redrawBlockRenderInPosition=!1}redraw(e){this.adjustTableSize(),this.table.tableWidth=this.table.element.clientWidth,e?this.renderTable():(this.reRenderInPosition(),this.scrollHorizontal(this.scrollLeft))}resetScroll(){if(this.element.scrollLeft=0,this.element.scrollTop=0,"ie"===this.table.browser){var e=document.createEvent("Event");e.initEvent("scroll",!1,!0),this.element.dispatchEvent(e)}else this.element.dispatchEvent(new Event("scroll"))}}class hJ extends lm{constructor(e){super(e),this.active=!1,this.element=this.createElement(),this.containerElement=this.createContainerElement(),this.external=!1}initialize(){this.initializeElement()}createElement(){var e=document.createElement("div");return e.classList.add("tabulator-footer"),e}createContainerElement(){var e=document.createElement("div");return e.classList.add("tabulator-footer-contents"),this.element.appendChild(e),e}initializeElement(){this.table.options.footerElement&&("string"==typeof this.table.options.footerElement?"<"===this.table.options.footerElement[0]?this.containerElement.innerHTML=this.table.options.footerElement:(this.external=!0,this.containerElement=document.querySelector(this.table.options.footerElement)):this.element=this.table.options.footerElement)}getElement(){return this.element}append(e){this.activate(),this.containerElement.appendChild(e),this.table.rowManager.adjustTableSize()}prepend(e){this.activate(),this.element.insertBefore(e,this.element.firstChild),this.table.rowManager.adjustTableSize()}remove(e){e.parentNode.removeChild(e),this.deactivate()}deactivate(e){(!this.element.firstChild||e)&&(this.external||this.element.parentNode.removeChild(this.element),this.active=!1)}activate(){this.active||(this.active=!0,this.external||(this.table.element.appendChild(this.getElement()),this.table.element.style.display=""))}redraw(){this.dispatch("footer-redraw")}}class hX extends lm{constructor(e){super(e),this.el=null,this.abortClasses=["tabulator-headers","tabulator-table"],this.previousTargets={},this.listeners=["click","dblclick","contextmenu","mouseenter","mouseleave","mouseover","mouseout","mousemove","mouseup","mousedown","touchstart","touchend"],this.componentMap={"tabulator-cell":"cell","tabulator-row":"row","tabulator-group":"group","tabulator-col":"column"},this.pseudoTrackers={row:{subscriber:null,target:null},cell:{subscriber:null,target:null},group:{subscriber:null,target:null},column:{subscriber:null,target:null}},this.pseudoTracking=!1}initialize(){this.el=this.table.element,this.buildListenerMap(),this.bindSubscriptionWatchers()}buildListenerMap(){var e={};this.listeners.forEach(t=>{e[t]={handler:null,components:[]}}),this.listeners=e}bindPseudoEvents(){Object.keys(this.pseudoTrackers).forEach(e=>{this.pseudoTrackers[e].subscriber=this.pseudoMouseEnter.bind(this,e),this.subscribe(e+"-mouseover",this.pseudoTrackers[e].subscriber)}),this.pseudoTracking=!0}pseudoMouseEnter(e,t,i){this.pseudoTrackers[e].target!==i&&(this.pseudoTrackers[e].target&&this.dispatch(e+"-mouseleave",t,this.pseudoTrackers[e].target),this.pseudoMouseLeave(e,t),this.pseudoTrackers[e].target=i,this.dispatch(e+"-mouseenter",t,i))}pseudoMouseLeave(e,t){var i=Object.keys(this.pseudoTrackers),n={row:["cell"],cell:["row"]};(i=i.filter(t=>{var i=n[e];return t!==e&&(!i||i&&!i.includes(t))})).forEach(e=>{var i=this.pseudoTrackers[e].target;this.pseudoTrackers[e].target&&(this.dispatch(e+"-mouseleave",t,i),this.pseudoTrackers[e].target=null)})}bindSubscriptionWatchers(){var e=Object.keys(this.listeners);for(let t of Object.values(this.componentMap))for(let i of e){let e=t+"-"+i;this.subscriptionChange(e,this.subscriptionChanged.bind(this,t,i))}this.subscribe("table-destroy",this.clearWatchers.bind(this))}subscriptionChanged(e,t,i){var n=this.listeners[t].components,s=n.indexOf(e),o=!1;i?-1===s&&(n.push(e),o=!0):!this.subscribed(e+"-"+t)&&s>-1&&(n.splice(s,1),o=!0),"mouseenter"!==t&&"mouseleave"!==t||this.pseudoTracking||this.bindPseudoEvents(),o&&this.updateEventListeners()}updateEventListeners(){for(let e in this.listeners){let t=this.listeners[e];t.components.length?t.handler||(t.handler=this.track.bind(this,e),this.el.addEventListener(e,t.handler)):t.handler&&(this.el.removeEventListener(e,t.handler),t.handler=null)}}track(e,t){var i=t.composedPath&&t.composedPath()||t.path,n=this.findTargets(i);n=this.bindComponents(e,n),this.triggerEvents(e,t,n),this.pseudoTracking&&("mouseover"==e||"mouseleave"==e)&&!Object.keys(n).length&&this.pseudoMouseLeave("none",t)}findTargets(e){var t={};let i=Object.keys(this.componentMap);for(let n of e){let e=n.classList?[...n.classList]:[];if(e.filter(e=>this.abortClasses.includes(e)).length)break;for(let s of e.filter(e=>i.includes(e)))t[this.componentMap[s]]||(t[this.componentMap[s]]=n)}return t.group&&t.group===t.row&&delete t.row,t}bindComponents(e,t){var i=Object.keys(t).reverse(),n=this.listeners[e],s={},o={};for(let e of i){let i,r=t[e],a=this.previousTargets[e];if(a&&a.target===r)i=a.component;else switch(e){case"row":case"group":(n.components.includes("row")||n.components.includes("cell")||n.components.includes("group"))&&(i=this.table.rowManager.getVisibleRows(!0).find(e=>e.getElement()===r),t.row&&t.row.parentNode&&t.row.parentNode.closest(".tabulator-row")&&(t[e]=!1));break;case"column":n.components.includes("column")&&(i=this.table.columnManager.findColumn(r));break;case"cell":n.components.includes("cell")&&(s.row instanceof lA?i=s.row.findCell(r):t.row&&console.warn("Event Target Lookup Error - The row this cell is attached to cannot be found, has the table been reinitialized without being destroyed first?"))}i&&(s[e]=i,o[e]={target:r,component:i})}return this.previousTargets=o,s}triggerEvents(e,t,i){var n=this.listeners[e];for(let s in i)i[s]&&n.components.includes(s)&&this.dispatch(s+"-"+e,t,i[s])}clearWatchers(){for(let e in this.listeners){let t=this.listeners[e];t.handler&&(this.el.removeEventListener(e,t.handler),t.handler=null)}}}class hQ{constructor(e){this.table=e,this.bindings={}}bind(e,t,i){this.bindings[e]||(this.bindings[e]={}),this.bindings[e][t]?console.warn("Unable to bind component handler, a matching function name is already bound",e,t,i):this.bindings[e][t]=i}handle(e,t,i){if(this.bindings[e]&&this.bindings[e][i]&&"function"==typeof this.bindings[e][i].bind)return this.bindings[e][i].bind(null,t);"then"!==i&&"string"==typeof i&&!i.startsWith("_")&&this.table.options.debugInvalidComponentFuncs&&console.error("The "+e+" component does not have a "+i+" function, have you checked that you have the correct Tabulator module installed?")}}class h0 extends lm{constructor(e){super(e),this.requestOrder=0,this.loading=!1}initialize(){}load(e,t,i,n,s,o){var r=++this.requestOrder;return this.table.destroyed?Promise.resolve():(this.dispatchExternal("dataLoading",e),e&&(0==e.indexOf("{")||0==e.indexOf("["))&&(e=JSON.parse(e)),this.confirm("data-loading",[e,t,i,s]))?(this.loading=!0,s||this.alertLoader(),t=this.chain("data-params",[e,i,s],t||{},t||{}),t=this.mapParams(t,this.table.options.dataSendParams),this.chain("data-load",[e,t,i,s],!1,Promise.resolve([])).then(e=>{if(this.table.destroyed)console.warn("Data Load Response Blocked - Table has been destroyed");else{Array.isArray(e)||"object"!=typeof e||(e=this.mapParams(e,this.objectInvert(this.table.options.dataReceiveParams)));var t=this.chain("data-loaded",[e],null,e);r==this.requestOrder?(this.clearAlert(),!1!==t&&(this.dispatchExternal("dataLoaded",t),this.table.rowManager.setData(t,n,void 0===o?!n:o))):console.warn("Data Load Response Blocked - An active data load request was blocked by an attempt to change table data while the request was being made")}}).catch(e=>{console.error("Data Load Error: ",e),this.dispatchExternal("dataLoadError",e),s||this.alertError(),setTimeout(()=>{this.clearAlert()},this.table.options.dataLoaderErrorTimeout)}).finally(()=>{this.loading=!1})):(this.dispatchExternal("dataLoaded",e),e||(e=[]),this.table.rowManager.setData(e,n,void 0===o?!n:o),Promise.resolve())}mapParams(e,t){var i={};for(let n in e)i[t.hasOwnProperty(n)?t[n]:n]=e[n];return i}objectInvert(e){var t={};for(let i in e)t[e[i]]=i;return t}blockActiveLoad(){this.requestOrder++}alertLoader(){("function"==typeof this.table.options.dataLoader?this.table.options.dataLoader():this.table.options.dataLoader)&&this.table.alertManager.alert(this.table.options.dataLoaderLoading||this.langText("data|loading"))}alertError(){this.table.alertManager.alert(this.table.options.dataLoaderError||this.langText("data|error"),"error")}clearAlert(){this.table.alertManager.clear()}}class h1{constructor(e,t,i){this.table=e,this.events={},this.optionsList=t||{},this.subscriptionNotifiers={},this.dispatch=i?this._debugDispatch.bind(this):this._dispatch.bind(this),this.debug=i}subscriptionChange(e,t){this.subscriptionNotifiers[e]||(this.subscriptionNotifiers[e]=[]),this.subscriptionNotifiers[e].push(t),this.subscribed(e)&&this._notifySubscriptionChange(e,!0)}subscribe(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t),this._notifySubscriptionChange(e,!0)}unsubscribe(e,t){var i;if(this.events[e]){if(t){if((i=this.events[e].findIndex(e=>e===t))>-1)this.events[e].splice(i,1);else{console.warn("Cannot remove event, no matching event found:",e,t);return}}else delete this.events[e]}else{console.warn("Cannot remove event, no events set on:",e);return}this._notifySubscriptionChange(e,!1)}subscribed(e){return this.events[e]&&this.events[e].length}_notifySubscriptionChange(e,t){var i=this.subscriptionNotifiers[e];i&&i.forEach(e=>{e(t)})}_dispatch(){var e,t=Array.from(arguments),i=t.shift();return this.events[i]&&this.events[i].forEach((i,n)=>{let s=i.apply(this.table,t);n||(e=s)}),e}_debugDispatch(){var e=Array.from(arguments),t=e[0];return e[0]="ExternalEvent:"+e[0],(!0===this.debug||this.debug.includes(t))&&console.log(...e),this._dispatch(...arguments)}}class h2{constructor(e){this.events={},this.subscriptionNotifiers={},this.dispatch=e?this._debugDispatch.bind(this):this._dispatch.bind(this),this.chain=e?this._debugChain.bind(this):this._chain.bind(this),this.confirm=e?this._debugConfirm.bind(this):this._confirm.bind(this),this.debug=e}subscriptionChange(e,t){this.subscriptionNotifiers[e]||(this.subscriptionNotifiers[e]=[]),this.subscriptionNotifiers[e].push(t),this.subscribed(e)&&this._notifySubscriptionChange(e,!0)}subscribe(e,t,i=1e4){this.events[e]||(this.events[e]=[]),this.events[e].push({callback:t,priority:i}),this.events[e].sort((e,t)=>e.priority-t.priority),this._notifySubscriptionChange(e,!0)}unsubscribe(e,t){var i;if(this.events[e]){if(t){if((i=this.events[e].findIndex(e=>e.callback===t))>-1)this.events[e].splice(i,1);else{console.warn("Cannot remove event, no matching event found:",e,t);return}}}else{console.warn("Cannot remove event, no events set on:",e);return}this._notifySubscriptionChange(e,!1)}subscribed(e){return this.events[e]&&this.events[e].length}_chain(e,t,i,n){var s=i;return(Array.isArray(t)||(t=[t]),this.subscribed(e))?(this.events[e].forEach((e,i)=>{s=e.callback.apply(this,t.concat([s]))}),s):"function"==typeof n?n():n}_confirm(e,t){var i=!1;return Array.isArray(t)||(t=[t]),this.subscribed(e)&&this.events[e].forEach((e,n)=>{e.callback.apply(this,t)&&(i=!0)}),i}_notifySubscriptionChange(e,t){var i=this.subscriptionNotifiers[e];i&&i.forEach(e=>{e(t)})}_dispatch(){var e=Array.from(arguments),t=e.shift();this.events[t]&&this.events[t].forEach(t=>{t.callback.apply(this,e)})}_debugDispatch(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,(!0===this.debug||this.debug.includes(t))&&console.log(...e),this._dispatch(...arguments)}_debugChain(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,(!0===this.debug||this.debug.includes(t))&&console.log(...e),this._chain(...arguments)}_debugConfirm(){var e=Array.from(arguments),t=e[0];return e[0]="InternalEvent:"+t,(!0===this.debug||this.debug.includes(t))&&console.log(...e),this._confirm(...arguments)}}class h3 extends lm{constructor(e){super(e)}_warnUser(){this.options("debugDeprecation")&&console.warn(...arguments)}check(e,t,i){var n="";return void 0===this.options(e)||(n="Deprecated Setup Option - Use of the %c"+e+"%c option is now deprecated",t?(n=n+", Please use the %c"+t+"%c option instead",this._warnUser(n,"font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;"),i&&(this.table.options[t]=this.table.options[e])):this._warnUser(n,"font-weight: bold;","font-weight: normal;"),!1)}checkMsg(e,t){return void 0===this.options(e)||(this._warnUser("%cDeprecated Setup Option - Use of the %c"+e+" %c option is now deprecated, "+t,"font-weight: normal;","font-weight: bold;","font-weight: normal;"),!1)}msg(e){this._warnUser(e)}}class h4 extends lm{constructor(e){super(e),this.deps={},this.props={}}initialize(){this.deps=Object.assign({},this.options("dependencies"))}lookup(e,t,i){if(!Array.isArray(e))return t?this.lookupProp(e,t,i):this.lookupKey(e,i);for(let i of e){var n=this.lookup(i,t,!0);if(n)break}if(n)return n;this.error(e)}lookupProp(e,t,i){var n;return this.props[e]&&this.props[e][t]?this.props[e][t]:(n=this.lookupKey(e,i))?(this.props[e]||(this.props[e]={}),this.props[e][t]=n[t]||n,this.props[e][t]):void 0}lookupKey(e,t){var i;return this.deps[e]?i=this.deps[e]:window[e]?(this.deps[e]=window[e],i=this.deps[e]):t||this.error(e),i}error(e){console.error("Unable to find dependency",e,"Please check documentation and ensure you have imported the required library into your project")}}function h6(e,t){e.forEach(function(e){e.reinitializeWidth()}),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()}var h5={fitData:function(e,t){t&&this.table.columnManager.renderer.reinitializeColumnWidths(e),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()},fitDataFill:h6,fitDataTable:h6,fitDataStretch:function(e,t){var i=0,n=this.table.rowManager.element.clientWidth,s=0,o=!1;e.forEach((e,t)=>{e.widthFixed||e.reinitializeWidth(),(this.table.options.responsiveLayout?e.modules.responsive.visible:e.visible)&&(o=e),e.visible&&(i+=e.getWidth())}),o?(s=n-i+o.getWidth(),this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&(o.setWidth(0),this.table.modules.responsiveLayout.update()),s>0?o.setWidth(s):o.reinitializeWidth()):this.table.options.responsiveLayout&&this.table.modExists("responsiveLayout",!0)&&this.table.modules.responsiveLayout.update()},fitColumns:function(e,t){var i=this.table.rowManager.element.getBoundingClientRect().width,n=0,s=0,o=0,r=0,a=[],l=[],h=0,c=0,u=0;function d(e){return"string"==typeof e?e.indexOf("%")>-1?i/100*parseInt(e):parseInt(e):e}function m(e,t,i,n){var s=[],r=0,a=0,l=0,h=o,c=0,u=0,p=[];function f(e){return i*(e.column.definition.widthGrow||1)}function g(e){return d(e.width)-i*(e.column.definition.widthShrink||0)}return e.forEach(function(e,o){var r=n?g(e):f(e);e.column.minWidth>=r?s.push(e):e.column.maxWidth&&e.column.maxWidththis.table.rowManager.element.clientHeight&&(i-=this.table.rowManager.element.offsetWidth-this.table.rowManager.element.clientWidth),e.forEach(function(e){var t,i,s;e.visible&&(t=e.definition.width,i=parseInt(e.minWidth),t?(s=d(t),n+=s>i?s:i,e.definition.widthShrink&&(l.push({column:e,width:s>i?s:i}),h+=e.definition.widthShrink)):(a.push({column:e,width:0}),o+=e.definition.widthGrow||1))}),r=Math.floor((s=i-n)/o),u=m(a,s,r,!1),a.length&&u>0&&(a[a.length-1].width+=u),a.forEach(function(e){s-=e.width}),(c=Math.abs(u)+s)>0&&h&&(u=m(l,c,Math.floor(c/h),!0)),u&&l.length&&(l[l.length-1].width-=u),a.forEach(function(e){e.column.setWidth(e.width)}),l.forEach(function(e){e.column.setWidth(e.width)})}};class h9 extends lg{static moduleName="layout";static modes=h5;constructor(e){super(e,"layout"),this.mode=null,this.registerTableOption("layout","fitData"),this.registerTableOption("layoutColumnsOnNewData",!1),this.registerColumnOption("widthGrow"),this.registerColumnOption("widthShrink")}initialize(){var e=this.table.options.layout;h9.modes[e]?this.mode=e:(console.warn("Layout Error - invalid mode set, defaulting to 'fitData' : "+e),this.mode="fitData"),this.table.element.setAttribute("tabulator-layout",this.mode),this.subscribe("column-init",this.initializeColumn.bind(this))}initializeColumn(e){e.definition.widthGrow&&(e.definition.widthGrow=Number(e.definition.widthGrow)),e.definition.widthShrink&&(e.definition.widthShrink=Number(e.definition.widthShrink))}getMode(){return this.mode}layout(e){var t=this.table.columnManager.columnsByIndex.find(e=>e.definition.variableHeight||"textarea"===e.definition.formatter);this.dispatch("layout-refreshing"),h9.modes[this.mode].call(this,this.table.columnManager.columnsByIndex,e),t&&this.table.rowManager.normalizeHeight(!0),this.dispatch("layout-refreshed")}}var h7={default:{groups:{item:"item",items:"items"},columns:{},data:{loading:"Loading",error:"Error"},pagination:{page_size:"Page Size",page_title:"Show Page",first:"First",first_title:"First Page",last:"Last",last_title:"Last Page",prev:"Prev",prev_title:"Prev Page",next:"Next",next_title:"Next Page",all:"All",counter:{showing:"Showing",of:"of",rows:"rows",pages:"pages"}},headerFilters:{default:"filter column...",columns:{}}}};class h8 extends lg{static moduleName="localize";static langs=h7;constructor(e){super(e),this.locale="default",this.lang=!1,this.bindings={},this.langList={},this.registerTableOption("locale",!1),this.registerTableOption("langs",{})}initialize(){for(let e in this.langList=lp.deepClone(h8.langs),!1!==this.table.options.columnDefaults.headerFilterPlaceholder&&this.setHeaderFilterPlaceholder(this.table.options.columnDefaults.headerFilterPlaceholder),this.table.options.langs)this.installLang(e,this.table.options.langs[e]);this.setLocale(this.table.options.locale),this.registerTableFunction("setLocale",this.setLocale.bind(this)),this.registerTableFunction("getLocale",this.getLocale.bind(this)),this.registerTableFunction("getLang",this.getLang.bind(this))}setHeaderFilterPlaceholder(e){this.langList.default.headerFilters.default=e}installLang(e,t){this.langList[e]?this._setLangProp(this.langList[e],t):this.langList[e]=t}_setLangProp(e,t){for(let i in t)e[i]&&"object"==typeof e[i]?this._setLangProp(e[i],t[i]):e[i]=t[i]}setLocale(e){if(!0===(e=e||"default")&&navigator.language&&(e=navigator.language.toLowerCase()),e&&!this.langList[e]){let t=e.split("-")[0];this.langList[t]?(console.warn("Localization Error - Exact matching locale not found, using closest match: ",e,t),e=t):(console.warn("Localization Error - Matching locale not found, using default: ",e),e="default")}this.locale=e,this.lang=lp.deepClone(this.langList.default||{}),"default"!=e&&function e(t,i){for(var n in t)"object"==typeof t[n]?(i[n]||(i[n]={}),e(t[n],i[n])):i[n]=t[n]}(this.langList[e],this.lang),this.dispatchExternal("localized",this.locale,this.lang),this._executeBindings()}getLocale(e){return this.locale}getLang(e){return e?this.langList[e]:this.lang}getText(e,t){var i=(t?e+"|"+t:e).split("|");return this._getLangElement(i,this.locale)||""}_getLangElement(e,t){var i=this.lang;return e.forEach(function(e){var t;i&&(i=void 0!==(t=i[e])&&t)}),i}bind(e,t){this.bindings[e]||(this.bindings[e]=[]),this.bindings[e].push(t),t(this.getText(e),this.lang)}_executeBindings(){for(let e in this.bindings)this.bindings[e].forEach(t=>{t(this.getText(e),this.lang)})}}var ce=Object.freeze({__proto__:null,CommsModule:class extends lg{static moduleName="comms";constructor(e){super(e)}initialize(){this.registerTableFunction("tableComms",this.receive.bind(this))}getConnections(e){var t=[];return this.table.constructor.registry.lookupTable(e).forEach(e=>{this.table!==e&&t.push(e)}),t}send(e,t,i,n){var s=this.getConnections(e);s.forEach(e=>{e.tableComms(this.table.element,t,i,n)}),!s.length&&e&&console.warn("Table Connection Error - No tables matching selector found",e)}receive(e,t,i,n){if(this.table.modExists(t))return this.table.modules[t].commsReceived(e,i,n);console.warn("Inter-table Comms Error - no such module:",t)}},LayoutModule:h9,LocalizeModule:h8});class ct{static registry={tables:[],register(e){ct.registry.tables.push(e)},deregister(e){var t=ct.registry.tables.indexOf(e);t>-1&&ct.registry.tables.splice(t,1)},lookupTable(e,t){var i,n,s=[];if("string"==typeof e){if((i=document.querySelectorAll(e)).length)for(var o=0;oct.registry.tables.find(function(t){return e instanceof ct?t===e:t.element===e})};static findTable(e){var t=ct.registry.lookupTable(e,!0);return(!Array.isArray(t)||!!t.length)&&t}}class ci extends ct{static moduleBindings={};static moduleExtensions={};static modulesRegistered=!1;static defaultModules=!1;constructor(){super()}static initializeModuleBinder(e){!ci.modulesRegistered&&(ci.modulesRegistered=!0,ci._registerModules(ce,!0),e&&ci._registerModules(e))}static _extendModule(e,t,i){if(ci.moduleBindings[e]){var n=ci.moduleBindings[e][t];if(n){if("object"==typeof i)for(let e in i)n[e]=i[e];else console.warn("Module Error - Invalid value type, it must be an object")}else console.warn("Module Error - property does not exist:",t)}else console.warn("Module Error - module does not exist:",e)}static _registerModules(e,t){var i=Object.values(e);t&&i.forEach(e=>{e.prototype.moduleCore=!0}),ci._registerModule(i)}static _registerModule(e){Array.isArray(e)||(e=[e]),e.forEach(e=>{ci._registerModuleBinding(e),ci._registerModuleExtensions(e)})}static _registerModuleBinding(e){e.moduleName?ci.moduleBindings[e.moduleName]=e:console.error("Unable to bind module, no moduleName defined",e.moduleName)}static _registerModuleExtensions(e){var t=e.moduleExtensions;if(e.moduleExtensions)for(let e in t){let i=t[e];if(ci.moduleBindings[e])for(let t in i)ci._extendModule(e,t,i[t]);else for(let t in ci.moduleExtensions[e]||(ci.moduleExtensions[e]={}),i)ci.moduleExtensions[e][t]||(ci.moduleExtensions[e][t]={}),Object.assign(ci.moduleExtensions[e][t],i[t])}ci._extendModuleFromQueue(e)}static _extendModuleFromQueue(e){var t=ci.moduleExtensions[e.moduleName];if(t)for(let i in t)ci._extendModule(e.moduleName,i,t[i])}_bindModules(){var e=[],t=[],i=[];for(var n in this.modules={},ci.moduleBindings){let s=ci.moduleBindings[n],o=new s(this);this.modules[n]=o,s.prototype.moduleCore?this.modulesCore.push(o):s.moduleInitOrder?s.moduleInitOrder<0?e.push(o):t.push(o):i.push(o)}e.sort((e,t)=>e.moduleInitOrder>t.moduleInitOrder?1:-1),t.sort((e,t)=>e.moduleInitOrder>t.moduleInitOrder?1:-1),this.modulesRegular=e.concat(i.concat(t))}}class cn extends lm{constructor(e){super(e),this.element=this._createAlertElement(),this.msgElement=this._createMsgElement(),this.type=null,this.element.appendChild(this.msgElement)}_createAlertElement(){var e=document.createElement("div");return e.classList.add("tabulator-alert"),e}_createMsgElement(){var e=document.createElement("div");return e.classList.add("tabulator-alert-msg"),e.setAttribute("role","alert"),e}_typeClass(){return"tabulator-alert-state-"+this.type}alert(e,t="msg"){if(e){for(this.clear(),this.dispatch("alert-show",t),this.type=t;this.msgElement.firstChild;)this.msgElement.removeChild(this.msgElement.firstChild);this.msgElement.classList.add(this._typeClass()),"function"==typeof e&&(e=e()),e instanceof HTMLElement?this.msgElement.appendChild(e):this.msgElement.innerHTML=e,this.table.element.appendChild(this.element)}}clear(){this.dispatch("alert-hide",this.type),this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.msgElement.classList.remove(this._typeClass())}}class cs extends ci{static defaultOptions=hV;static extendModule(){cs.initializeModuleBinder(),cs._extendModule(...arguments)}static registerModule(){cs.initializeModuleBinder(),cs._registerModule(...arguments)}constructor(e,t,i){super(),cs.initializeModuleBinder(i),this.options={},this.columnManager=null,this.rowManager=null,this.footerManager=null,this.alertManager=null,this.vdomHoz=null,this.externalEvents=null,this.eventBus=null,this.interactionMonitor=!1,this.browser="",this.browserSlow=!1,this.browserMobile=!1,this.rtl=!1,this.originalElement=null,this.componentFunctionBinder=new hQ(this),this.dataLoader=!1,this.modules={},this.modulesCore=[],this.modulesRegular=[],this.deprecationAdvisor=new h3(this),this.optionsList=new hW(this,"table constructor"),this.dependencyRegistry=new h4(this),this.initialized=!1,this.destroyed=!1,this.initializeElement(e)&&(this.initializeCoreSystems(t),setTimeout(()=>{this._create()})),this.constructor.registry.register(this)}initializeElement(e){return"undefined"!=typeof HTMLElement&&e instanceof HTMLElement?(this.element=e,!0):"string"!=typeof e?(console.error("Tabulator Creation Error - Invalid element provided:",e),!1):(this.element=document.querySelector(e),!!this.element||(console.error("Tabulator Creation Error - no element found matching selector: ",e),!1))}initializeCoreSystems(e){this.columnManager=new hq(this),this.rowManager=new h$(this),this.footerManager=new hJ(this),this.dataLoader=new h0(this),this.alertManager=new cn(this),this._bindModules(),this.options=this.optionsList.generate(cs.defaultOptions,e),this._clearObjectPointers(),this._mapDeprecatedFunctionality(),this.externalEvents=new h1(this,this.options,this.options.debugEventsExternal),this.eventBus=new h2(this.options.debugEventsInternal),this.interactionMonitor=new hX(this),this.dataLoader.initialize(),this.footerManager.initialize(),this.dependencyRegistry.initialize()}_mapDeprecatedFunctionality(){}_clearSelection(){this.element.classList.add("tabulator-block-select"),window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():document.selection&&document.selection.empty(),this.element.classList.remove("tabulator-block-select")}_create(){this.externalEvents.dispatch("tableBuilding"),this.eventBus.dispatch("table-building"),this._rtlCheck(),this._buildElement(),this._initializeTable(),this.initialized=!0,this._loadInitialData().finally(()=>{this.eventBus.dispatch("table-initialized"),this.externalEvents.dispatch("tableBuilt")})}_rtlCheck(){var e=window.getComputedStyle(this.element);switch(this.options.textDirection){case"auto":if("rtl"!==e.direction)break;case"rtl":this.element.classList.add("tabulator-rtl"),this.rtl=!0;break;case"ltr":this.element.classList.add("tabulator-ltr");default:this.rtl=!1}}_clearObjectPointers(){this.options.columns=this.options.columns.slice(0),Array.isArray(this.options.data)&&!this.options.reactiveData&&(this.options.data=this.options.data.slice(0))}_buildElement(){var e,t=this.element,i=this.options;if("TABLE"===t.tagName){this.originalElement=this.element,e=document.createElement("div");var n=t.attributes;for(var s in n)"object"==typeof n[s]&&e.setAttribute(n[s].name,n[s].value);t.parentNode.replaceChild(e,t),this.element=t=e}for(t.classList.add("tabulator"),t.setAttribute("role","grid");t.firstChild;)t.removeChild(t.firstChild);i.height&&(i.height=isNaN(i.height)?i.height:i.height+"px",t.style.height=i.height),!1!==i.minHeight&&(i.minHeight=isNaN(i.minHeight)?i.minHeight:i.minHeight+"px",t.style.minHeight=i.minHeight),!1!==i.maxHeight&&(i.maxHeight=isNaN(i.maxHeight)?i.maxHeight:i.maxHeight+"px",t.style.maxHeight=i.maxHeight)}_initializeTable(){var e=this.element,t=this.options;this.interactionMonitor.initialize(),this.columnManager.initialize(),this.rowManager.initialize(),this._detectBrowser(),this.modulesCore.forEach(e=>{e.initialize()}),e.appendChild(this.columnManager.getElement()),e.appendChild(this.rowManager.getElement()),t.footerElement&&this.footerManager.activate(),t.autoColumns&&t.data&&this.columnManager.generateColumnsFromRowData(this.options.data),this.modulesRegular.forEach(e=>{e.initialize()}),this.columnManager.setColumns(t.columns),this.eventBus.dispatch("table-built")}_loadInitialData(){return this.dataLoader.load(this.options.data).finally(()=>{this.columnManager.verticalAlignHeaders()})}destroy(){var e=this.element;for(this.destroyed=!0,this.constructor.registry.deregister(this),this.eventBus.dispatch("table-destroy"),this.rowManager.destroy();e.firstChild;)e.removeChild(e.firstChild);e.classList.remove("tabulator"),this.externalEvents.dispatch("tableDestroyed")}_detectBrowser(){var e=navigator.userAgent||navigator.vendor||window.opera;e.indexOf("Trident")>-1?(this.browser="ie",this.browserSlow=!0):e.indexOf("Edge")>-1?(this.browser="edge",this.browserSlow=!0):(e.indexOf("Firefox")>-1?this.browser="firefox":e.indexOf("Mac OS")>-1?this.browser="safari":this.browser="other",this.browserSlow=!1),this.browserMobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(e.slice(0,4))}initGuard(e,t){var i,n;return this.options.debugInitialization&&!this.initialized&&(e||(e=" "==(n="Error"==(i=Error().stack.split("\n"))[0]?i[2]:i[1])[0]?n.trim().split(" ")[1].split(".")[1]:n.trim().split("@")[0]),console.warn("Table Not Initialized - Calling the "+e+" function before the table is initialized may result in inconsistent behavior, Please wait for the `tableBuilt` event before calling this function."+(t?" "+t:""))),this.initialized}blockRedraw(){this.initGuard(),this.eventBus.dispatch("redraw-blocking"),this.rowManager.blockRedraw(),this.columnManager.blockRedraw(),this.eventBus.dispatch("redraw-blocked")}restoreRedraw(){this.initGuard(),this.eventBus.dispatch("redraw-restoring"),this.rowManager.restoreRedraw(),this.columnManager.restoreRedraw(),this.eventBus.dispatch("redraw-restored")}setData(e,t,i){return this.initGuard(!1,"To set initial data please use the 'data' property in the table constructor."),this.dataLoader.load(e,t,i,!1)}clearData(){this.initGuard(),this.dataLoader.blockActiveLoad(),this.rowManager.clearData()}getData(e){return this.rowManager.getData(e)}getDataCount(e){return this.rowManager.getDataCount(e)}replaceData(e,t,i){return this.initGuard(),this.dataLoader.load(e,t,i,!0,!0)}updateData(e){var t=0;return this.initGuard(),new Promise((i,n)=>{this.dataLoader.blockActiveLoad(),"string"==typeof e&&(e=JSON.parse(e)),e&&e.length>0?e.forEach(e=>{var s=this.rowManager.findRow(e[this.options.index]);s?(t++,s.updateData(e).then(()=>{--t||i()}).catch(t=>{n("Update Error - Unable to update row",e,t)})):n("Update Error - Unable to find row",e)}):(console.warn("Update Error - No data provided"),n("Update Error - No data provided"))})}addData(e,t,i){return this.initGuard(),new Promise((n,s)=>{this.dataLoader.blockActiveLoad(),"string"==typeof e&&(e=JSON.parse(e)),e?this.rowManager.addRows(e,t,i).then(e=>{var t=[];e.forEach(function(e){t.push(e.getComponent())}),n(t)}):(console.warn("Update Error - No data provided"),s("Update Error - No data provided"))})}updateOrAddData(e){var t=[],i=0;return this.initGuard(),new Promise((n,s)=>{this.dataLoader.blockActiveLoad(),"string"==typeof e&&(e=JSON.parse(e)),e&&e.length>0?e.forEach(e=>{var s=this.rowManager.findRow(e[this.options.index]);i++,s?s.updateData(e).then(()=>{i--,t.push(s.getComponent()),i||n(t)}):this.rowManager.addRows(e).then(e=>{i--,t.push(e[0].getComponent()),i||n(t)})}):(console.warn("Update Error - No data provided"),s("Update Error - No data provided"))})}getRow(e){var t=this.rowManager.findRow(e);return t?t.getComponent():(console.warn("Find Error - No matching row found:",e),!1)}getRowFromPosition(e){var t=this.rowManager.getRowFromPosition(e);return t?t.getComponent():(console.warn("Find Error - No matching row found:",e),!1)}deleteRow(e){var t=[];for(let i of(this.initGuard(),Array.isArray(e)||(e=[e]),e)){let e=this.rowManager.findRow(i,!0);if(!e)return console.error("Delete Error - No matching row found:",i),Promise.reject("Delete Error - No matching row found");t.push(e)}return t.sort((e,t)=>this.rowManager.rows.indexOf(e)>this.rowManager.rows.indexOf(t)?1:-1),t.forEach(e=>{e.delete()}),this.rowManager.reRenderInPosition(),Promise.resolve()}addRow(e,t,i){return this.initGuard(),"string"==typeof e&&(e=JSON.parse(e)),this.rowManager.addRows(e,t,i,!0).then(e=>e[0].getComponent())}updateOrAddRow(e,t){var i=this.rowManager.findRow(e);return(this.initGuard(),"string"==typeof t&&(t=JSON.parse(t)),i)?i.updateData(t).then(()=>i.getComponent()):this.rowManager.addRows(t).then(e=>e[0].getComponent())}updateRow(e,t){var i=this.rowManager.findRow(e);return(this.initGuard(),"string"==typeof t&&(t=JSON.parse(t)),i)?i.updateData(t).then(()=>Promise.resolve(i.getComponent())):(console.warn("Update Error - No matching row found:",e),Promise.reject("Update Error - No matching row found"))}scrollToRow(e,t,i){var n=this.rowManager.findRow(e);return n?this.rowManager.scrollToRow(n,t,i):(console.warn("Scroll Error - No matching row found:",e),Promise.reject("Scroll Error - No matching row found"))}moveRow(e,t,i){var n=this.rowManager.findRow(e);this.initGuard(),n?n.moveToRow(t,i):console.warn("Move Error - No matching row found:",e)}getRows(e){return this.rowManager.getComponents(e)}getRowPosition(e){var t=this.rowManager.findRow(e);return t?t.getPosition():(console.warn("Position Error - No matching row found:",e),!1)}setColumns(e){this.initGuard(!1,"To set initial columns please use the 'columns' property in the table constructor"),this.columnManager.setColumns(e)}getColumns(e){return this.columnManager.getComponents(e)}getColumn(e){var t=this.columnManager.findColumn(e);return t?t.getComponent():(console.warn("Find Error - No matching column found:",e),!1)}getColumnDefinitions(){return this.columnManager.getDefinitionTree()}showColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),!t)return console.warn("Column Show Error - No matching column found:",e),!1;t.show()}hideColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),!t)return console.warn("Column Hide Error - No matching column found:",e),!1;t.hide()}toggleColumn(e){var t=this.columnManager.findColumn(e);if(this.initGuard(),!t)return console.warn("Column Visibility Toggle Error - No matching column found:",e),!1;t.visible?t.hide():t.show()}addColumn(e,t,i){var n=this.columnManager.findColumn(i);return this.initGuard(),this.columnManager.addColumn(e,t,n).then(e=>e.getComponent())}deleteColumn(e){var t=this.columnManager.findColumn(e);return(this.initGuard(),t)?t.delete():(console.warn("Column Delete Error - No matching column found:",e),Promise.reject())}updateColumnDefinition(e,t){var i=this.columnManager.findColumn(e);return(this.initGuard(),i)?i.updateDefinition(t):(console.warn("Column Update Error - No matching column found:",e),Promise.reject())}moveColumn(e,t,i){var n=this.columnManager.findColumn(e),s=this.columnManager.findColumn(t);this.initGuard(),n?s?this.columnManager.moveColumn(n,s,i):console.warn("Move Error - No matching column found:",s):console.warn("Move Error - No matching column found:",e)}scrollToColumn(e,t,i){return new Promise((n,s)=>{var o=this.columnManager.findColumn(e);return o?this.columnManager.scrollToColumn(o,t,i):(console.warn("Scroll Error - No matching column found:",e),Promise.reject("Scroll Error - No matching column found"))})}redraw(e){this.initGuard(),this.columnManager.redraw(e),this.rowManager.redraw(e)}setHeight(e){this.options.height=isNaN(e)?e:e+"px",this.element.style.height=this.options.height,this.rowManager.initializeRenderer(),this.rowManager.redraw(!0)}on(e,t){this.externalEvents.subscribe(e,t)}off(e,t){this.externalEvents.unsubscribe(e,t)}dispatchEvent(){var e=Array.from(arguments);e.shift(),this.externalEvents.dispatch(...arguments)}alert(e,t){this.initGuard(),this.alertManager.alert(e,t)}clearAlert(){this.initGuard(),this.alertManager.clear()}modExists(e,t){return!!this.modules[e]||(t&&console.error("Tabulator Module Not Installed: "+e),!1)}module(e){var t=this.modules[e];return t||console.error("Tabulator module not installed: "+e),t}}function co(e){return e.getValue()?"✓":""}function cr(e,t){return e.join(",").localeCompare(t.join(","))}function ca(e){let t=e.getValue();return t?t.join("; "):""}const cl=[{title:"Place",field:"place",width:180,frozen:!0,formatter:"link",formatterParams:{urlField:"url",labelField:"place",target:"_blank"}},{title:"State",field:"state",width:70},{title:"Country",field:"country",width:110},{title:"Jurisdiction",field:"placeType",width:80},{title:"Population",field:"population",sorter:"number",sorterParams:{thousandSeparator:","},width:90}],ch=[...cl,{title:"Date",field:"date",width:110,formatter:function(e){let t=e.getValue();return t?t.format():""},sorter:function(e,t,i,n,s,o){if(e===t)return 0;if("asc"===o){if(!e)return 1;if(!t)return -1}else{if(!e)return -1;if(!t)return 1}return e.parsed.valueOf()-t.parsed.valueOf()}},{title:"Scope",field:"scope",width:260,formatter:ca,sorter:cr},{title:"Land use",field:"landUse",width:160,formatter:ca,sorter:cr}],cc=[...cl,{title:"Reduce minimums",field:"reduceMin",width:120,formatter:co,hozAlign:"center"},{title:"Remove minimums",field:"rmMin",width:120,formatter:co,hozAlign:"center"},{title:"Add maximums",field:"addMax",width:120,formatter:co,hozAlign:"center"}];async function cu(){tV.add(t$,tY,t1,tG,tJ,tU,t0,tZ,tK,tX,tq,tQ,t2),tW.watch(),function(){if(function(){try{return window.self!==window.top}catch(e){return!1}}())return;let e=document.querySelector(".header-full-screen-icon-container");e instanceof HTMLAnchorElement&&(e.style.display="none")}(),function(){let e=new t5("about popup",!1);e.subscribe(t7);let t=document.querySelector(".about-popup"),i=document.querySelector(".header-about-icon-container"),n=document.querySelector(".about-popup-close-icon-container");i?.addEventListener("click",()=>e.setValue(!e.getValue())),n?.addEventListener("click",()=>e.setValue(!1)),window.addEventListener("click",n=>{!0===e.getValue()&&n.target instanceof Element&&!i?.contains(n.target)&&!t?.contains(n.target)&&e.setValue(!1)}),e.initialize()}(),function(){let e=new t5("filter popup",!1);e.subscribe(t9,"toggle filter popup");let t=document.querySelector(".filter-popup"),i=document.querySelector(".header-filter-icon-container");if(!i)throw Error("icon not found");i.addEventListener("click",()=>{e.setValue(!e.getValue())}),window.addEventListener("click",n=>{!0===e.getValue()&&n.target instanceof Element&&!i?.contains(n.target)&&!t?.contains(n.target)&&e.setValue(!1)}),e.initialize()}();let e=function(){let e=new t5("view toggle","map");return!function(e){let t=document.querySelector(".header-table-icon-container"),i=document.querySelector(".header-map-icon-container");i&&t&&(t.addEventListener("click",()=>e.setValue("table")),i.addEventListener("click",()=>e.setValue("map")))}(e),e}(),t=new a9,i=function(){let e=new t3.Map("map",{layers:[t6],worldCopyJump:!0});return e.setView([40,-96],3),e.attributionControl.setPrefix('Parking Reform Network'),e.createPane(t4),e.getPane(t4).style.zIndex="900",e}(),n=await o0(),s=new aP(n,{searchInput:null,policyTypeFilter:"remove parking minimums",status:"adopted",allMinimumsRemovedToggle:!0,placeType:new Set(t.merged.placeType),includedPolicyChanges:new Set(t.merged.includedPolicyChanges),scope:new Set(t.merged.scope),landUse:new Set(t.merged.landUse),country:new Set(t.merged.country),year:new Set(t.merged.year),populationSliderIndexes:[0,aA]}),o=function(e,t,i){let n=Object.entries(e.entries).reduce((e,[i,n])=>{let[s,o]=n.place.coord,r=n.place.repeal,a=new t3.CircleMarker([o,s],{...r?la:ll,radius:lh({zoom:t.getZoom(),isPrimary:r})});return a.bindTooltip(i),e[i]=a,e},{}),s=new t3.FeatureGroup,o=new Set,r=!1;return e.subscribe("update map markers",()=>{if("table"===i.getValue()){r=!0;return}lc(o,e.placeIds,n,s),o=e.placeIds}),i.subscribe(t=>{"map"===t&&r&&(lc(o,e.placeIds,n,s),o=e.placeIds,r=!1)},"apply queued map data refresh"),t.addEventListener("zoomend",()=>{let i=t.getZoom();Object.entries(n).forEach(([t,n])=>{let s=lh({zoom:i,isPrimary:e.entries[t].place.repeal});n.setRadius(s)})}),s.addTo(t),s}(s,i,e);!function(e,t){e.subscribe("move map on search",({searchInput:i})=>{if(i){let[n,s]=e.entries[i].place.coord;t.setView([s,n],6)}})}(s,i),function(e){let t=document.getElementById("map-counter"),i=document.getElementById("table-counter");t&&i&&(lr(t,e),lr(i,e),e.subscribe("update counters",n=>{t.innerHTML=lo("map",n,e.placeIds.size,e.matchedPolicyTypes,e.matchedCountries,e.matchedPlaceTypes),i.innerHTML=lo("table",n,e.placeIds.size,e.matchedPolicyTypes,e.matchedCountries,e.matchedPlaceTypes)}))}(s),function(e){let t=Object.keys(e.entries).map(e=>({value:e,label:e})),i=document.querySelector(".search");if(!i)return;let n=new(r(lu))(i,{position:"bottom",choices:t,placeholderValue:"Search",removeItemButton:!0,allowHTML:!1,itemSelectText:"",searchEnabled:!0});n.setChoiceByValue(e.getState().searchInput||"");let s=function(){let e=new t5("search popup",!1);e.subscribe(ld);let t=document.querySelector("#search-popup"),i=document.querySelector("div.choices"),n=document.querySelector(".header-search-icon-container");if(!n)throw Error("icon not found");return n.addEventListener("click",()=>{e.setValue(!e.getValue()),setTimeout(()=>i?.click(),100)}),window.addEventListener("click",i=>{!0===e.getValue()&&i.target instanceof Element&&!n?.contains(i.target)&&!t?.contains(i.target)&&e.setValue(!1)}),e.initialize(),e}();e.subscribe("reset search UI when search is cleared",e=>{null===e.searchInput&&n.setChoiceByValue("")}),i.addEventListener("change",()=>{e.update({searchInput:n.getValue(!0)||null}),s.setValue(!1)})}(s),function(e,t){let i=document.querySelector("#filter-popup");if(!i)return;let{datasetDiv:n,optionsDiv:s}=function(e,t,i){let n=document.createElement("div"),s=document.createElement("div");s.classList.add("filter-illegal-dataset-container"),s.hidden=!0;let o=document.createElement("i");o.classList.add("fa-solid","fa-triangle-exclamation"),o.ariaHidden="true";let r=document.createElement("span");r.textContent=" This dataset has no entries. To fix, change either the 'reform type' or 'status'.",s.append(o),s.append(r);let a=document.createElement("div");return e.subscribe("possibly disable dataset",({policyTypeFilter:e,status:i})=>{let n=t.enabled(e,i);s.hidden=n,a.hidden=!n}),i.append(n),i.append(s),i.append(a),{datasetDiv:n,optionsDiv:a}}(e,t,i);(function(e,t){let i="filter-policy-type-dropdown",n=document.createElement("div");n.className="filter-policy-type-dropdown-container";let s=document.createElement("label");s.htmlFor=i,s.textContent="Reform type";let o=document.createElement("select");o.id=i,o.name=i,aL.forEach(e=>{let t=document.createElement("option");t.value=e,t.textContent=a6(e),o.append(t)}),o.value=e.getState().policyTypeFilter,o.addEventListener("change",()=>{let t=o.value;e.update({policyTypeFilter:t})}),n.append(s),n.append(o),t.append(n)})(e,n),function(e,t){let i="filter-status-dropdown",n=document.createElement("div");n.className="filter-status-dropdown-container";let s=document.createElement("label");s.htmlFor=i,s.textContent="Status";let o=document.createElement("select");o.id=i,o.name=i,oK.forEach(e=>{let t=document.createElement("option");t.value=e,t.textContent=a6(e),o.append(t)}),o.value=e.getState().status,o.addEventListener("change",()=>{let t=o.value;e.update({status:t})}),n.append(s),n.append(o),t.append(n)}(e,n),function(e,t){let i=document.createElement("div"),[n,s]=aD("filter-all-minimums-toggle","filter-all-minimums-toggle",e.getState().allMinimumsRemovedToggle,"Only places with all parking minimums removed");n.id="filter-all-minimums-toggle-label",i.append(n),t.append(i),s.addEventListener("change",()=>{e.update({allMinimumsRemovedToggle:s.checked})}),e.subscribe("possibly hide all minimums toggle",e=>{i.hidden=!aM(e)})}(e,s),ln(e,t,s,{htmlName:"policy-change",filterStateKey:"includedPolicyChanges",legend:"Reform types",hide:({policyTypeFilter:e})=>"any parking reform"!==e}),ln(e,t,s,{htmlName:"scope",filterStateKey:"scope",legend:"Reform scopes",hide:e=>"any parking reform"===e.policyTypeFilter||aR(e)}),ln(e,t,s,{htmlName:"land-use",filterStateKey:"landUse",legend:"Affected land uses",hide:e=>"any parking reform"===e.policyTypeFilter||aR(e)}),ln(e,t,s,{htmlName:"year",filterStateKey:"year",legend:({status:e})=>({adopted:"Adoption years",proposed:"Proposal years",repealed:"Repeal years"})[e],useTwoColumns:!0,hide:({policyTypeFilter:e})=>"any parking reform"===e}),ln(e,t,s,{htmlName:"country",filterStateKey:"country",legend:"Countries",preserveCapitalization:!0}),ln(e,t,s,{htmlName:"place-type",filterStateKey:"placeType",legend:"Jurisdictions",useTwoColumns:!0}),function(e,t){let{populationSliderIndexes:i}=e.getState(),[n,s]=function(e,t){let i=az("population-slider"),n=document.createElement("div");n.className="population-slider-container";let s=document.createElement("div");s.id="population-slider-label",n.append(s);let o=document.createElement("div");o.className="population-slider-controls",n.append(o);let r=document.createElement("input");r.setAttribute("aria-labelledby","population-slider-label"),r.className="population-slider-left",r.name="min",r.type="range",r.step="0.5",r.min="0",r.value="0",o.append(r);let a=document.createElement("input");a.setAttribute("aria-labelledby","population-slider-label"),a.className="population-slider-right",a.name="max",a.type="range",a.step="0.5",a.min="0",o.append(a);let l=new t5("filter accordion population",{hidden:!1,expanded:!1,title:"Population",supplementalTitle:aI(e)});return l.subscribe(e=>aO(i,e)),i.accordionButton.addEventListener("click",()=>{let e=l.getValue();l.setValue({...e,expanded:!e.expanded})}),i.contentContainer.append(n),t.append(i.outerContainer),[{controls:o,label:s,left:r,right:a},l]}(i,t),o=i[1].toString();n.left.setAttribute("max",o),n.right.setAttribute("max",o),n.right.setAttribute("value",o);let r=()=>{let t=Math.floor(parseFloat(n.left.value)),i=Math.ceil(parseFloat(n.right.value));e.update({populationSliderIndexes:[t,i]})};n.left.addEventListener("input",r),n.right.addEventListener("input",r),s.subscribe(({hidden:i})=>{i||t.hidden||aF(e.getState().populationSliderIndexes,n)},"render population slider"),e.subscribe("update population sliders",e=>{let i=s.getValue();s.setValue({...i,supplementalTitle:aI(e.populationSliderIndexes)}),s.getValue().hidden||t.hidden||aF(e.populationSliderIndexes,n)}),s.initialize()}(e,s)}(s,t);let a=function(e,t){cs.registerModule([lJ,lQ,l0,hz,h_,ha,hp]);let i=[],n=[],s=[],o=[],r=[],a=[];Object.entries(e.entries).forEach(([e,t])=>{let l={placeId:e,place:t.place.name,state:t.place.state,country:t.place.country,placeType:t.place.type,population:t.place.pop.toLocaleString("en-us"),url:t.place.url},h=oX(t,"adopted");i.push({...l,reduceMin:h.includes("reduce parking minimums"),rmMin:h.includes("remove parking minimums"),addMax:h.includes("add parking maximums")});let c=oX(t,"proposed");n.push({...l,reduceMin:c.includes("reduce parking minimums"),rmMin:c.includes("remove parking minimums"),addMax:c.includes("add parking maximums")});let u=oX(t,"repealed");s.push({...l,reduceMin:u.includes("reduce parking minimums"),rmMin:u.includes("remove parking minimums"),addMax:u.includes("add parking maximums")});let d=(e,t)=>t?.forEach((t,i)=>e.push({...l,policyIdx:i,date:t.date,status:t.status,landUse:t.land,scope:t.scope}));d(a,t.add_max),d(o,t.reduce_min),d(r,t.rm_min)});let l={"any parking reform":{adopted:[cc,i],proposed:[cc,n],repealed:[cc,s]},"reduce parking minimums":{adopted:[ch,o],proposed:[ch,o],repealed:[ch,o]},"remove parking minimums":{adopted:[ch,r],proposed:[ch,r],repealed:[ch,r]},"add parking maximums":{adopted:[ch,a],proposed:[ch,a],repealed:[ch,a]}},h=e.getState().policyTypeFilter,c=e.getState().status,[u,d]=l[h][c],m=new cs("#table",{data:d,columns:u,layout:"fitColumns",movableColumns:!0,pagination:!0,paginationSize:100,paginationCounter:(e,t,i,n,s)=>`Page ${i} of ${s}`}),p=!1;m.on("tableBuilt",()=>{p=!0,m.setFilter(t=>{let i=e.matchedPlaces[t.placeId];return!!i&&("any"===i.type||("search"===i.type?"any parking reform"===h||t.status===c:i.matchingIndexes.includes(t.policyIdx)))})});let f=(e,t)=>{if(e===h&&t===c)m.refreshFilter();else{h=e,c=t;let[i,n]=l[e][t];m.setColumns(i),m.setData(n)}},g=!1;return e.subscribe("update table's records",({policyTypeFilter:e,status:i})=>{if(p){if("map"===t.getValue()){g=!0;return}f(e,i)}}),t.subscribe(t=>{if("map"===t||!g)return;g=!1;let i=e.getState();f(i.policyTypeFilter,i.status)},"apply queued table data refresh"),m}(s,e);!function(e,t){e.subscribe(e=>(function(e,t){let i=document.querySelector(".header-table-icon-container"),n=document.querySelector(".header-map-icon-container"),s=document.querySelector("#table-view"),o=document.querySelector("#map"),r=document.querySelector("#map-counter"),a=document.querySelector(".prn-logo-map");n&&i&&s&&o&&r&&a&&("map"===t?(i.style.display="inline-flex",n.style.display="none",s.hidden=!0,o.hidden=!1,r.hidden=!1,a.hidden=!1):(i.style.display="none",n.style.display="inline-flex",s.hidden=!1,o.hidden=!0,r.hidden=!0,a.hidden=!0,e.redraw()))})(t,e),"switch app view")}(e,a),function(e,t,i,n){let s=new t5("scorecard",{type:"hidden"});s.subscribe(e=>(function(e){let t=document.querySelector("#scorecard-container");if(t)switch(e.type){case"hidden":t.hidden=!0;break;case"visible":t.innerHTML=function(e,t){let i=function(e){let t=e=>new Set(e?.map(e=>e.status)??[]);return{"add parking maximums":t(e.add_max),"reduce parking minimums":t(e.reduce_min),"remove parking minimums":t(e.rm_min)}}(e),n=Object.values(i).some(e=>e.has("proposed")||e.has("repealed")),s=Object.entries(i).filter(([,e])=>e.size).map(([e,t])=>{let i="";if(n){let e=new Intl.ListFormat("en").format(Array.from(t).sort());i=` (${e})`}let s=a6(`${e}${i}`);return`${s}`}).join(""),o=`Reform types:
`,r=e.place.repeal?"All parking minimums removed":"";return`
- ${e.place.pop.toLocaleString()} residents
${r}
${o}
Details and citations
`}(e.entry,e.placeId),t.hidden=!1;break;default:throw Error(`Unexpected state.type: ${e}`)}})(e));let o=document.querySelector("#scorecard-container"),r=document.querySelector(".top-header");i.on("click",e=>{let t=e.sourceTarget.getTooltip().getContent();s.setValue({type:"visible",placeId:t,entry:n[t]})}),e.subscribe("open scorecard on search",e=>{let i=e.searchInput;i&&"map"===t.getValue()&&s.setValue({type:"visible",placeId:i,entry:n[i]})}),window.addEventListener("click",e=>{!("visible"===s.getValue().type&&e.target instanceof Element)||e.target instanceof SVGPathElement||r?.contains(e.target)||o?.contains(e.target)||s.setValue({type:"hidden"})}),o?.addEventListener("click",e=>{let t=e.target;t instanceof Element&&t.closest(".scorecard-close-icon-container")&&s.setValue({type:"hidden"})}),s.subscribe(({type:t})=>{s.isInitialized&&"hidden"===t&&e.update({searchInput:null})},"reset search FilterState when scorecard closed"),s.initialize()}(s,e,o,n),e.initialize(),s.initialize()}window.onload=async()=>{await cu()};